feat: implement AI-curated playlist service and dashboard integration

- Added hierarchical AGENTS.md knowledge base
- Implemented PlaylistService with 6h themed and 24h devotion mix logic
- Integrated AI theme generation for 6h playlists via Gemini/OpenAI
- Added /playlists/refresh and metadata endpoints to API
- Updated background worker with scheduled playlist curation
- Created frontend PlaylistsSection, Tooltip components and integrated into Dashboard
- Added Alembic migration for playlist tracking columns
- Fixed Docker healthcheck with curl installation
This commit is contained in:
bnair123
2025-12-30 09:45:19 +04:00
parent fa28b98c1a
commit 93e7c13f3d
18 changed files with 1037 additions and 295 deletions

View File

@@ -118,3 +118,15 @@ class AnalysisSnapshot(Base):
narrative_report = Column(JSON) # The output from the LLM (NarrativeService output)
model_used = Column(String, nullable=True) # e.g. "gemini-1.5-flash"
playlist_theme = Column(
String, nullable=True
) # AI-generated theme name (e.g., "Morning Focus Mode")
playlist_theme_reasoning = Column(
Text, nullable=True
) # AI explanation for why this theme
six_hour_playlist_id = Column(
String, nullable=True
) # Spotify playlist ID for 6-hour playlist
daily_playlist_id = Column(
String, nullable=True
) # Spotify playlist ID for 24-hour playlist