task_id: task_create_component_audio_player entity_id: component_audio_player generated_at: '2025-12-19T06:08:12.196639' workflow_version: v001 target: type: component definition: id: component_audio_player name: AudioPlayer props: - name: audioUrl type: string required: true description: URL to audio file - name: duration type: integer required: true description: Duration in seconds events: - name: onPlayPause payload: boolean description: Fired when play/pause toggled, payload is isPlaying - name: onSeek payload: number description: Fired when user seeks, payload is new time in seconds uses_apis: [] uses_components: [] internal_state: - isPlaying - currentTime - audioElement variants: - default related: models: [] apis: [] components: [] dependencies: entity_ids: [] definitions: [] files: to_create: - app/components/AudioPlayer.tsx reference: [] acceptance: - criterion: Component renders without errors verification: Import and render in test - criterion: Props are typed correctly verification: TypeScript compilation - criterion: Events fire correctly verification: Test event handlers