diff --git a/README.md b/README.md index b1385d6..8023c33 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ The primary configuration components are: | Typed configuration | `config/models.py` | | Provider catalog | `config/providers.yaml` | | Dynamic provider loading | `providers.py` | -| Session lifecycle | `audio_gateway/app/session.py` | +| Session lifecycle | `domain/session.py` | | Semantic turn lifecycle | `turn_manager.py` | | Execution orchestration | `voice_pipeline.py` | @@ -380,7 +380,8 @@ The script reads `audios/chafik_normalize.wav` (16 kHz, mono, 16-bit PCM), sends ```text config/ Environment YAML and provider catalog src/voice_assistant/ - audio_gateway/app/ WebSocket endpoint, protocol, session state + audio_gateway/app/ WebSocket endpoint and protocol + domain/ Session state and domain rules audio/ Canonical audio models stt/ STT contract, mock and NVIDIA adapter agent/ Agent contract and mock adapter diff --git a/src/voice_assistant/audio_gateway/app/main.py b/src/voice_assistant/audio_gateway/app/main.py index 2bc9c6c..bcf0f35 100644 --- a/src/voice_assistant/audio_gateway/app/main.py +++ b/src/voice_assistant/audio_gateway/app/main.py @@ -99,7 +99,7 @@ from voice_assistant.voice_pipeline import ( ) -from voice_assistant.audio_gateway.app.session import SessionState +from voice_assistant.domain.session import SessionState # logger configuration logger = logging.getLogger(__name__) diff --git a/src/voice_assistant/domain/__init__.py b/src/voice_assistant/domain/__init__.py new file mode 100644 index 0000000..4ddcb32 --- /dev/null +++ b/src/voice_assistant/domain/__init__.py @@ -0,0 +1 @@ +"""Domain models and rules independent of transport and providers.""" diff --git a/src/voice_assistant/audio_gateway/app/session.py b/src/voice_assistant/domain/session.py similarity index 100% rename from src/voice_assistant/audio_gateway/app/session.py rename to src/voice_assistant/domain/session.py diff --git a/src/voice_assistant/voice_pipeline.py b/src/voice_assistant/voice_pipeline.py index 54d69ae..8a4114b 100644 --- a/src/voice_assistant/voice_pipeline.py +++ b/src/voice_assistant/voice_pipeline.py @@ -46,7 +46,7 @@ from contextlib import aclosing from voice_assistant.agent.text_chunker import TextChunker from voice_assistant.turn_manager import TurnState from voice_assistant.agent.adapter import AgentAdapter -from voice_assistant.audio_gateway.app.session import SessionState +from voice_assistant.domain.session import SessionState from voice_assistant.turn_manager import Turn, TurnManager from voice_assistant.tts.adapter import TTSAdapter diff --git a/tests/test_session_turn_lifecycle.py b/tests/test_session_turn_lifecycle.py index 9e8a912..88309ce 100644 --- a/tests/test_session_turn_lifecycle.py +++ b/tests/test_session_turn_lifecycle.py @@ -19,7 +19,7 @@ Non-responsibilities: import pytest -from voice_assistant.audio_gateway.app.session import SessionState +from voice_assistant.domain.session import SessionState from voice_assistant.turn_manager import TurnManager, TurnState diff --git a/tests/test_voice_pipeline.py b/tests/test_voice_pipeline.py index 37f8ae3..8577b28 100644 --- a/tests/test_voice_pipeline.py +++ b/tests/test_voice_pipeline.py @@ -27,7 +27,7 @@ from voice_assistant.voice_pipeline import ( VoicePipeline, ) -from voice_assistant.audio_gateway.app.session import SessionState +from voice_assistant.domain.session import SessionState from voice_assistant.turn_manager import TurnManager, TurnState from voice_assistant.agent.mock import MockAgentAdapter from voice_assistant.tts.mock import MockTTSAdapter