Skip to content

Commit f08acd5

Browse files
committed
circular import
1 parent 8ef5c71 commit f08acd5

File tree

2 files changed

+28
-19
lines changed

2 files changed

+28
-19
lines changed

backends/advanced/src/advanced_omi_backend/controllers/conversation_controller.py

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import logging
66
import time
7+
import uuid
78
from datetime import datetime
89
from pathlib import Path
910

@@ -13,9 +14,22 @@
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+
)
1724
from 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
1827
from 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

2034
logger = logging.getLogger(__name__)
2135
audio_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,

backends/advanced/src/advanced_omi_backend/services/plugin_service.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,19 @@
44
worker jobs to trigger plugins without accessing FastAPI app state directly.
55
"""
66

7+
import importlib
8+
import importlib.util
9+
import inspect
710
import logging
811
import os
912
import re
1013
from pathlib import Path
11-
from typing import Any, Optional
14+
from typing import Any, Dict, Optional, Type
1215

1316
import yaml
1417

1518
from advanced_omi_backend.config_loader import get_plugins_yml_path
16-
from advanced_omi_backend.plugins import PluginRouter
19+
from advanced_omi_backend.plugins import BasePlugin, PluginRouter
1720

1821
logger = logging.getLogger(__name__)
1922

0 commit comments

Comments
 (0)