task_id: task_create_component_avatar_upload entity_id: component_avatar_upload generated_at: '2025-12-18T15:16:50.327669' workflow_version: v001 target: type: component definition: id: component_avatar_upload name: AvatarUpload description: Avatar image upload component props: - name: currentAvatarUrl type: string required: false state: - name: file type: File - name: preview type: string events: - name: onUpload payload: file: File uses_apis: [] uses_components: [] related: models: [] apis: [] components: [] dependencies: entity_ids: [] definitions: [] files: to_create: - app/components/AvatarUpload.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