Compare commits

..

21 Commits

Author SHA1 Message Date
7ca21ef538 feat: implement export endpoint for transcription sessions (Phase 3E)
- Add POST /transcribe/sessions/{id}/export endpoint
- Generate SRT (SubRip subtitle format) with timestamps
- Generate TXT (plain text with [HH:MM:SS,mmm] timestamps)
- Generate JSON (structured data: session, segments, summaries, canvas events)
- Return as FileResponse download with Content-Disposition headers
- Filenames include sanitized session title + date
- No API keys stored or logged during export
2026-05-20 22:25:36 +00:00
36ae76143f Phase 3B: Implement pluggable LLM client for summary generation
- Create llm_client.py with 5 provider implementations (Anthropic, OpenAI, Ollama, OpenRouter, Google)
- Add build_prompt() helper to construct system/user prompts from templates
- Wire up POST /transcribe/sessions/{id}/summaries endpoint to call LLM client
- Return generated content + token counts (input_tokens, output_tokens)
- API keys passed per-request, never stored or logged
- Uses prompt templates from prompts.py based on summary_type
2026-05-20 22:20:19 +00:00
fd8d2a537d feat(cis): implement /database/timetables/current-period endpoint with Neo4j query
- Query Neo4j for Academic/Registration periods where now() is between start_time and end_time
- Return period_id, event_type, event_label, start_time, end_time
- Handles missing teacher or Neo4j connection gracefully
2026-05-20 22:06:46 +00:00
b47c7c252d feat(transcription): add Supabase schema and API endpoints for CIS 2026-05-20 21:03:00 +00:00
Classroom Copilot Dev
cf9bdca813 fix: Add filters parameter to BaseCRUD.get_multi() method
- Fixed signature mismatch where enrollment_requests router was passing
  filters parameter to get_multi() but method didn't accept it
- get_multi() now accepts optional filters dict and passes it to get_all()
2026-02-25 22:53:52 +00:00
Classroom Copilot Dev
24878ea3ca Merge remote master into local after gitignore updates 2026-02-23 21:15:30 +00:00
Classroom Copilot Dev
305124705f chore: add .env and *.bak to .gitignore, remove archive/ folder 2026-02-23 21:14:43 +00:00
cf5077b009 Delete .env 2026-02-23 20:59:49 +00:00
6f110bd113 Cleanup 2026-02-23 20:58:35 +00:00
Classroom Copilot Dev
3b50ef1c59 chore: cleanup environment files
- Updated .env configuration
- Removed .env.local (274 lines)
- Removed .env.prod (260 lines)
- Cleanup of environment-specific configs
2026-02-23 17:48:35 +00:00
Classroom Copilot Dev
2d2c88706e fix: update Supabase env vars with new keys and local URL
- Updated ANON_KEY and SERVICE_ROLE_KEY from supabase container
- Changed SUPABASE_URL to local dev instance (192.168.0.155:8000)
- Synced .env.local with .env for consistency
2026-02-23 03:38:41 +00:00
ccacad75fe chore: update env config with production Supabase credentials 2026-02-22 00:30:55 +00:00
2b7d52b5ae chore: update env config, docker-compose, requirements and bucket init 2026-02-21 16:29:26 +00:00
243cf7b657 env changes 2025-11-20 11:01:47 +00:00
14030170e7 timing 2025-11-19 20:13:35 +00:00
68d8f91199 setup setup 2025-11-19 20:02:34 +00:00
787fd86260 module updates 2025-11-19 19:38:09 +00:00
92dc4ff1ef docker redis checks 2025-11-19 19:34:13 +00:00
633e20e553 Made local and prod .env files 2025-11-19 18:18:33 +00:00
2b223bd2e9 update 2025-11-19 18:08:54 +00:00
3758c7572a latest 2025-11-14 14:47:19 +00:00
2 changed files with 0 additions and 4450 deletions

View File

@ -1,36 +0,0 @@
 2025-09-19 16:57:46,569 INFO : start_queue_workers.py:main :79 >>> Starting 1 queue workers
 2025-09-19 16:57:46,569 INFO : start_queue_workers.py:main :80 >>> Services: ['document_analysis']
 2025-09-19 16:57:46,569 INFO : start_queue_workers.py:main :81 >>> Redis URL: redis://localhost:6379
 2025-09-19 16:57:46,569 INFO : queue_system.py :__init__ :124 >>> Queue initialized with limits: {<ServiceType.TIKA: 'tika'>: 3, <ServiceType.DOCLING: 'docling'>: 2, <ServiceType.LLM: 'llm'>: 5, <ServiceType.SPLIT_MAP: 'split_map'>: 10, <ServiceType.DOCUMENT_ANALYSIS: 'document_analysis'>: 5, <ServiceType.PAGE_IMAGES: 'page_images'>: 3}
 2025-09-19 16:57:46,601 INFO : task_processors.py :__init__ :40 >>> Task processor initialized with service URLs
 2025-09-19 16:57:46,601 INFO : queue_system.py :worker_loop :414 >>> Starting worker cli-worker-1 for services: ['document_analysis']
 2025-09-19 16:57:46,601 INFO : start_queue_workers.py:main :100 >>> Started workers: ['cli-worker-1']
❌ 2025-09-19 16:57:58,883 ERROR : queue_system.py :worker_loop :432 >>> Worker cli-worker-1 error: <ServiceType.DOCUMENT_ANALYSIS: 'document_analysis'>
 2025-09-19 16:58:16,607 INFO : start_queue_workers.py:main :124 >>> Queue status - Queued: 0, Processing: 0, Dead: 0
 2025-09-19 16:58:46,613 INFO : start_queue_workers.py:main :124 >>> Queue status - Queued: 0, Processing: 0, Dead: 0
❌ 2025-09-19 16:59:16,036 ERROR : queue_system.py :worker_loop :432 >>> Worker cli-worker-1 error: <ServiceType.DOCUMENT_ANALYSIS: 'document_analysis'>
 2025-09-19 16:59:16,618 INFO : start_queue_workers.py:main :124 >>> Queue status - Queued: 4, Processing: 2, Dead: 0
❌ 2025-09-19 16:59:17,041 ERROR : queue_system.py :worker_loop :432 >>> Worker cli-worker-1 error: <ServiceType.PAGE_IMAGES: 'page_images'>
 2025-09-19 16:59:46,620 INFO : start_queue_workers.py:main :124 >>> Queue status - Queued: 2, Processing: 3, Dead: 0
 2025-09-19 17:00:16,626 INFO : start_queue_workers.py:main :124 >>> Queue status - Queued: 3, Processing: 3, Dead: 0
 2025-09-19 17:00:46,631 INFO : start_queue_workers.py:main :124 >>> Queue status - Queued: 3, Processing: 3, Dead: 0
❌ 2025-09-19 17:00:57,797 ERROR : queue_system.py :worker_loop :432 >>> Worker cli-worker-1 error: Error while reading from localhost:6379 : (54, 'Connection reset by peer')
❌ 2025-09-19 17:00:58,802 ERROR : queue_system.py :worker_loop :432 >>> Worker cli-worker-1 error: Error 61 connecting to localhost:6379. Connection refused.
❌ 2025-09-19 17:00:59,806 ERROR : queue_system.py :worker_loop :432 >>> Worker cli-worker-1 error: Error 61 connecting to localhost:6379. Connection refused.
❌ 2025-09-19 17:01:00,813 ERROR : queue_system.py :worker_loop :432 >>> Worker cli-worker-1 error: Error 61 connecting to localhost:6379. Connection refused.
❌ 2025-09-19 17:01:01,816 ERROR : queue_system.py :worker_loop :432 >>> Worker cli-worker-1 error: Error 61 connecting to localhost:6379. Connection refused.
❌ 2025-09-19 17:01:02,822 ERROR : queue_system.py :worker_loop :432 >>> Worker cli-worker-1 error: Error 61 connecting to localhost:6379. Connection refused.
❌ 2025-09-19 17:01:11,739 ERROR : queue_system.py :worker_loop :432 >>> Worker cli-worker-1 error: <ServiceType.DOCUMENT_ANALYSIS: 'document_analysis'>
❌ 2025-09-19 17:01:12,742 ERROR : queue_system.py :worker_loop :432 >>> Worker cli-worker-1 error: <ServiceType.PAGE_IMAGES: 'page_images'>
 2025-09-19 17:01:16,637 INFO : start_queue_workers.py:main :124 >>> Queue status - Queued: 3, Processing: 3, Dead: 0
 2025-09-19 17:01:46,639 INFO : start_queue_workers.py:main :124 >>> Queue status - Queued: 2, Processing: 3, Dead: 0
 2025-09-19 17:02:16,644 INFO : start_queue_workers.py:main :124 >>> Queue status - Queued: 3, Processing: 3, Dead: 0
❌ 2025-09-19 17:02:31,136 ERROR : queue_system.py :worker_loop :432 >>> Worker cli-worker-1 error: <ServiceType.DOCUMENT_ANALYSIS: 'document_analysis'>
❌ 2025-09-19 17:02:32,140 ERROR : queue_system.py :worker_loop :432 >>> Worker cli-worker-1 error: <ServiceType.PAGE_IMAGES: 'page_images'>
 2025-09-19 17:02:46,647 INFO : start_queue_workers.py:main :124 >>> Queue status - Queued: 6, Processing: 3, Dead: 0
 2025-09-19 17:03:16,653 INFO : start_queue_workers.py:main :124 >>> Queue status - Queued: 6, Processing: 3, Dead: 0
 2025-09-19 17:03:31,501 INFO : start_queue_workers.py:signal_handler :104 >>> Received signal 15, shutting down workers...
 2025-09-19 17:03:31,501 INFO : queue_system.py :shutdown :451 >>> Shutting down queue workers...
 2025-09-19 17:03:31,501 INFO : queue_system.py :worker_loop :435 >>> Worker cli-worker-1 shutting down
 2025-09-19 17:03:31,502 INFO : queue_system.py :shutdown :461 >>> Queue shutdown complete
 2025-09-19 17:03:31,502 INFO : start_queue_workers.py:signal_handler :106 >>> Workers shut down. Exiting.

File diff suppressed because one or more lines are too long