feat(api): enhance task file management and download endpoints
liumaolin
8064340
- Update `/tasks/{task_id}/outputs` to include inference configuration details
- Replace `/tasks/{task_id}/outputs/{filename}` with `/tasks/{task_id}/outputs/{file_type}/{filename}` for flexible file downloads
- Support downloading inference outputs, reference audio, and model files
- Add `FileType` validation and path security checks in `TaskService`
- Implement `download_file` method to handle various file types securely
feat(api): add endpoints for inference output management
liumaolin
5357d86
- Add `/tasks/{task_id}/outputs` to fetch inference output files list
- Add `/tasks/{task_id}/outputs/{filename}` to download specific output file
- Extend `QuickModeOptions` with configurable inference options
- Update training pipeline to include optional inference stage
- Add `InferenceOutputsResponse` and related schemas to encapsulate inference outputs
- Implement methods in `TaskService` to handle output file retrieval and secure downloads
- Update `config` to support customizable experiment directories
feat(api): implement local training MVP with adapter pattern
liumaolin
e054d0c
- Add adapter base classes (TaskQueue, Progress, Storage, Database)
- Implement local adapters (AsyncTrainingManager, SQLite, LocalStorage)
- Add Pydantic schemas for tasks, experiments, files, and stages
- Implement service layer (TaskService, ExperimentService, FileService)
- Add API endpoints for Quick Mode (/tasks) and Advanced Mode (/experiments)
- Add adapter factory with dependency injection support
- Update architecture design document with implementation status