Compare commits

..

21 Commits

Author SHA1 Message Date
5bf9dda0d2 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
5e5ac52771 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
f4aa28005d 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
a746aed937 feat(transcription): add Supabase schema and API endpoints for CIS 2026-05-20 21:03:00 +00:00
Classroom Copilot Dev
d68b63cedb 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
f5eacab946 Merge remote master into local after gitignore updates 2026-02-23 21:15:30 +00:00
Classroom Copilot Dev
2436a00cac chore: add .env and *.bak to .gitignore, remove archive/ folder 2026-02-23 21:14:43 +00:00
e43db3167f Delete .env 2026-02-23 20:59:49 +00:00
b6c587e8b8 Cleanup 2026-02-23 20:58:35 +00:00
Classroom Copilot Dev
c92da048fd 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
c75fa1f6a2 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
ea8d702427 chore: update env config with production Supabase credentials 2026-02-22 00:30:55 +00:00
dc426774a1 chore: update env config, docker-compose, requirements and bucket init 2026-02-21 16:29:26 +00:00
3702088efb env changes 2025-11-20 11:01:47 +00:00
b975b98cc7 timing 2025-11-19 20:13:35 +00:00
a07626e422 setup setup 2025-11-19 20:02:34 +00:00
f4b433fbc1 module updates 2025-11-19 19:38:09 +00:00
a6289289ee docker redis checks 2025-11-19 19:34:13 +00:00
63b178d234 Made local and prod .env files 2025-11-19 18:18:33 +00:00
eb936925fb update 2025-11-19 18:08:54 +00:00
46b2319e2d latest 2025-11-14 14:47:19 +00:00
2 changed files with 4450 additions and 0 deletions

36
debug_worker.log Normal file
View File

@ -0,0 +1,36 @@
 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.

4414
queue_workers.log Normal file

File diff suppressed because one or more lines are too long