ppt-tool/backend/services
Vadym Samoilenko d3d1667a79 Phase 2: Admin panel, analytics, storage, template pipeline, multi-provider LLM
- Fix admin sidebar: remove duplicate Teams, add Storage nav item
- Analytics: client-scoped queries, super_admin sees all (including NULL client_id)
- Storage management: list/download/delete presentations with file metadata
- Settings page with brand config router
- AI usage tracking: new AIUsageModel, ai_usage_service, analytics endpoint
- Master deck → template bridge: _register_as_template creates TemplateModel
  + PresentationLayoutCodeModel so parsed layouts appear in template picker
- Multi-provider LLM vision in parser: Anthropic/Google/OpenAI with asyncio.to_thread
- Fix PPTX upload 400: accept by .pptx extension (browser sends octet-stream)
- Fix reparse FK violation: presentation_id=None for parse_master_deck jobs
- Worker job_timeout increased to 1800s for LLM-heavy master deck parsing
- PYTHONUNBUFFERED=1 in docker-compose worker for real-time log output
- Auth: clientId in /me response, dev-login cookie improvements
- Frontend: auth slice clientId, master-deck thumbnails, storage page

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 23:39:34 +00:00
..
__init__.py Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
access_service.py Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
ai_usage_service.py Phase 2: Admin panel, analytics, storage, template pipeline, multi-provider LLM 2026-02-26 23:39:34 +00:00
attachment_parser_service.py Phase 3: Content Pipeline — file parsing, content intelligence, slide mapping, native charts 2026-02-26 15:54:04 +00:00
audit_service.py Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
auth_service.py Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
brand_enforcement_service.py Phase 4: Generation Pipeline — brand enforcement, enhanced LLM calls, ARQ job queue 2026-02-26 16:15:25 +00:00
chart_data_extractor.py Phase 3: Content Pipeline — file parsing, content intelligence, slide mapping, native charts 2026-02-26 15:54:04 +00:00
concurrent_service.py Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
content_intelligence_service.py Phase 3: Content Pipeline — file parsing, content intelligence, slide mapping, native charts 2026-02-26 15:54:04 +00:00
database.py Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
docling_service.py Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
documents_loader.py Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
html_to_text_runs_service.py Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
icon_finder_service.py Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
image_generation_service.py Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
llm_client.py Phase 2: Admin panel, analytics, storage, template pipeline, multi-provider LLM 2026-02-26 23:39:34 +00:00
llm_tool_calls_handler.py Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
master_deck_parser_service.py Phase 2: Admin panel, analytics, storage, template pipeline, multi-provider LLM 2026-02-26 23:39:34 +00:00
native_chart_service.py Phase 3: Content Pipeline — file parsing, content intelligence, slide mapping, native charts 2026-02-26 15:54:04 +00:00
pptx_presentation_creator.py Phase 3: Content Pipeline — file parsing, content intelligence, slide mapping, native charts 2026-02-26 15:54:04 +00:00
redis_service.py Phase 4: Generation Pipeline — brand enforcement, enhanced LLM calls, ARQ job queue 2026-02-26 16:15:25 +00:00
retention_service.py Phase 6: Export & Polish — brand export, client dashboard, retention, analytics 2026-02-26 16:41:58 +00:00
score_based_chunker.py Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
slide_mapping_engine.py Phase 3: Content Pipeline — file parsing, content intelligence, slide mapping, native charts 2026-02-26 15:54:04 +00:00
temp_file_service.py Rebrand Presenton to Oliver DeckForge, pre-configure models, use NanoBanana Pro 2026-02-26 18:17:11 +00:00
webhook_service.py Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00