44
55import logging
66import time
7+ import uuid
78from datetime import datetime
89from pathlib import Path
910
1314 ClientManager ,
1415 client_belongs_to_user ,
1516)
16- from advanced_omi_backend .models .conversation import Conversation
17+ from advanced_omi_backend .config_loader import get_service_config
18+ from advanced_omi_backend .controllers .queue_controller import (
19+ JOB_RESULT_TTL ,
20+ default_queue ,
21+ memory_queue ,
22+ transcription_queue ,
23+ )
1724from advanced_omi_backend .models .audio_chunk import AudioChunkDocument
25+ from advanced_omi_backend .models .conversation import Conversation
26+ from advanced_omi_backend .models .job import JobPriority
1827from advanced_omi_backend .users import User
28+ from advanced_omi_backend .workers .memory_jobs import (
29+ enqueue_memory_processing ,
30+ process_memory_job ,
31+ )
32+ from advanced_omi_backend .workers .speaker_jobs import recognise_speakers_job
1933
2034logger = logging .getLogger (__name__ )
2135audio_logger = logging .getLogger ("audio_processing" )
@@ -137,10 +151,15 @@ async def get_conversations(user: User, include_deleted: bool = False):
137151 if not user .is_superuser :
138152 # Regular users can only see their own conversations
139153 # Filter by deleted status
140- query = Conversation .user_id == str (user .user_id )
141154 if not include_deleted :
142- query = query & (Conversation .deleted == False )
143- user_conversations = await Conversation .find (query ).sort (- Conversation .created_at ).to_list ()
155+ user_conversations = await Conversation .find (
156+ Conversation .user_id == str (user .user_id ),
157+ Conversation .deleted == False
158+ ).sort (- Conversation .created_at ).to_list ()
159+ else :
160+ user_conversations = await Conversation .find (
161+ Conversation .user_id == str (user .user_id )
162+ ).sort (- Conversation .created_at ).to_list ()
144163 else :
145164 # Admins see all conversations
146165 # Filter by deleted status
@@ -409,18 +428,9 @@ async def reprocess_transcript(conversation_id: str, user: User):
409428 )
410429
411430 # Create new transcript version ID
412- import uuid
413431 version_id = str (uuid .uuid4 ())
414432
415433 # Enqueue job chain with RQ (transcription -> speaker recognition -> memory)
416- from advanced_omi_backend .controllers .queue_controller import (
417- JOB_RESULT_TTL ,
418- default_queue ,
419- memory_queue ,
420- transcription_queue ,
421- )
422- from advanced_omi_backend .workers .memory_jobs import process_memory_job
423- from advanced_omi_backend .workers .speaker_jobs import recognise_speakers_job
424434 from advanced_omi_backend .workers .transcription_jobs import (
425435 transcribe_full_audio_job ,
426436 )
@@ -441,7 +451,6 @@ async def reprocess_transcript(conversation_id: str, user: User):
441451 logger .info (f"📥 RQ: Enqueued transcription job { transcript_job .id } " )
442452
443453 # Check if speaker recognition is enabled
444- from advanced_omi_backend .config_loader import get_service_config
445454 speaker_config = get_service_config ('speaker_recognition' )
446455 speaker_enabled = speaker_config .get ('enabled' , True ) # Default to True for backward compatibility
447456
@@ -534,12 +543,9 @@ async def reprocess_memory(conversation_id: str, transcript_version_id: str, use
534543 )
535544
536545 # Create new memory version ID
537- import uuid
538546 version_id = str (uuid .uuid4 ())
539547
540548 # Enqueue memory processing job with RQ (RQ handles job tracking)
541- from advanced_omi_backend .models .job import JobPriority
542- from advanced_omi_backend .workers .memory_jobs import enqueue_memory_processing
543549
544550 job = enqueue_memory_processing (
545551 client_id = conversation_model .client_id ,
0 commit comments