feat: import FIT activities into Garmin

Implement GarminUploader adapter around garminconnect library:
- Import activities using import_activity() not upload_activity()
- Treat duplicate activity responses as terminal success
- Raise GarminUploadBlocked for MFA to allow UI code collection
- Distinguish auth, transient, and other errors appropriately
- Helper functions for duplicate detection and activity ID extraction

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Bastian Wagner
2026-08-15 15:02:37 +02:00
parent 21074a35da
commit b48008c16e
5 changed files with 197 additions and 0 deletions

0
app/garmin/__init__.py Normal file
View File