xtalk.serving.module_types
OutputGateway
Defined in xtalk.serving.modules.output_gateway.
class OutputGateway(EventListenerMixin)
Forward backend events to the frontend WebSocket.
Parameters
event_bus(EventBus) Event bus used to subscribe to session events.session_id(str) Session identifier sent back to the frontend.websocket(WebSocket) Live WebSocket connection used for outbound messages.config(dict[str, Any] | None, optional) Service configuration relevant to output behavior.
Methods
init
Defined in xtalk.serving.modules.output_gateway.
def __init__(self, event_bus: EventBus, session_id: str, websocket: WebSocket, config: dict[str, Any] | None = None)
send_signal
Defined in xtalk.serving.modules.output_gateway.
async def send_signal(self, message: dict) -> None
Send a JSON payload to the frontend.
Parameters
message(dict) JSON-serializable payload to send over the WebSocket.
send_session_attached
Defined in xtalk.serving.modules.output_gateway.
async def send_session_attached(self) -> None
Send the attached session identifier to the frontend.
ASRManager
Defined in xtalk.serving.modules.asr_manager.
class ASRManager(Manager)
Methods
init
Defined in xtalk.serving.modules.asr_manager.
def __init__(self, event_bus: EventBus, session_id: str, pipeline: Pipeline, config: dict[str, Any] | None = None)
shutdown
Defined in xtalk.serving.modules.asr_manager.
async def shutdown(self)
DirectAudioManager
Defined in xtalk.serving.modules.direct_audio_manager.
class DirectAudioManager(Manager)
Forward direct_audio tool calls to the outbound audio stream.
Methods
init
Defined in xtalk.serving.modules.direct_audio_manager.
def __init__(self, event_bus: EventBus, session_id: str, config: dict[str, Any] | None = None) -> None
Initialize the direct-audio manager.
Parameters
event_bus(EventBus) Session-scoped event bus.session_id(str) Active session identifier.config(dict[str, Any] | None, optional) Session configuration shared with managers.
shutdown
Defined in xtalk.serving.modules.direct_audio_manager.
async def shutdown(self) -> None
Shut down the manager.
EmbeddingsManager
Defined in xtalk.serving.modules.embeddings_manager.
class EmbeddingsManager(Manager)
Methods
init
Defined in xtalk.serving.modules.embeddings_manager.
def __init__(self, event_bus: EventBus, session_id: str, pipeline: Pipeline, config: dict[str, Any] | None = None)
shutdown
Defined in xtalk.serving.modules.embeddings_manager.
async def shutdown(self) -> None
Remove per-session embedding directory on shutdown.
EnhancerManager
Defined in xtalk.serving.modules.enhancer_manager.
class EnhancerManager(Manager)
Backend speech enhancement manager.
Methods
init
Defined in xtalk.serving.modules.enhancer_manager.
def __init__(self, event_bus: EventBus, session_id: str, pipeline: Pipeline, config: Optional[dict[str, Any]] = None) -> None
shutdown
Defined in xtalk.serving.modules.enhancer_manager.
async def shutdown(self) -> None
Reset enhancer state on shutdown.
LatencyManager
Defined in xtalk.serving.modules.latency_manager.
class LatencyManager(EventListenerMixin)
Per-session latency tracker that listens to VAD/ASR/LLM/TTS events.
Methods
init
Defined in xtalk.serving.modules.latency_manager.
def __init__(self, event_bus: EventBus, session_id: str, config: dict[str, Any] | None = None) -> None
update_clock_offset
Defined in xtalk.serving.modules.latency_manager.
def update_clock_offset(self, client_send_ts: float, server_recv_ts: float, client_recv_ts: float) -> None
Update the clock offset estimate using an NTP-style ping/pong exchange.
client_send_ts = T1, server_recv_ts = T2, client_recv_ts = T4. Offset = T2 - (T1 + T4)/2 and we track a rolling median for stability.
shutdown
Defined in xtalk.serving.modules.latency_manager.
async def shutdown(self)
LLMAgentContextManager
Defined in xtalk.serving.modules.llm_agent_context_manager.
class LLMAgentContextManager(Manager)
Forward session context events into the configured LLM agent.
Parameters
event_bus(EventBus) Shared event bus for the current session.session_id(str) Current session identifier.pipeline(Pipeline) Session pipeline that owns the LLM agent.config(dict[str, Any] | None, optional) Unused manager config kept for interface consistency.
Methods
init
Defined in xtalk.serving.modules.llm_agent_context_manager.
def __init__(self, event_bus: EventBus, session_id: str, pipeline: Pipeline, config: dict[str, Any] | None = None) -> None
shutdown
Defined in xtalk.serving.modules.llm_agent_context_manager.
async def shutdown(self) -> None
Release manager resources.
LLMAgentConsumptionManager
Defined in xtalk.serving.modules.llm_agent_generation_manager.
class LLMAgentConsumptionManager(Manager)
Consume one or more agent streams and forward their output downstream.
Notes
Multiple agent streams may be active concurrently. Their text output is merged into one shared turn response and appended to the shared TTS queue in arrival order.
Methods
init
Defined in xtalk.serving.modules.llm_agent_generation_manager.
def __init__(self, event_bus: EventBus, session_id: str, pipeline: Pipeline, config: dict[str, Any] | None = None) -> None
shutdown
Defined in xtalk.serving.modules.llm_agent_generation_manager.
async def shutdown(self) -> None
Cancel all active streams during service shutdown.
SpeakerManager
Defined in xtalk.serving.modules.speaker_manager.
class SpeakerManager(Manager)
Session-scoped speaker identification manager.
Responsibilities:
- Collect enhanced audio frames per turn and extract embeddings.
- Compare against previously registered speakers.
- Recognize an existing speaker or register a new one.
- Emit SpeakerRecognized events for downstream consumers.
Methods
init
Defined in xtalk.serving.modules.speaker_manager.
def __init__(self, event_bus: EventBus, session_id: str, pipeline: Pipeline, config: dict[str, Any] | None = None)
Initialize the speaker manager.
Args: event_bus: shared event bus session_id: unique session identifier pipeline: pipeline providing a speaker encoder config: optional parameters - similarity_threshold: cosine threshold (default 0.4) - min_audio_length_sec: minimum audio length (default 0.5s) - embedding_update_alpha: EMA rate for embeddings (default 0.05)
shutdown
Defined in xtalk.serving.modules.speaker_manager.
async def shutdown(self) -> None
Stop buffering audio and persist debug summaries.
TTSPlaybackManager
Defined in xtalk.serving.modules.tts_playback_manager.
class TTSPlaybackManager(Manager)
Project confirmed TTS playback progress back onto response text.
Methods
init
Defined in xtalk.serving.modules.tts_playback_manager.
def __init__(self, event_bus: EventBus, session_id: str, config: dict[str, Any] | None = None) -> None
shutdown
Defined in xtalk.serving.modules.tts_playback_manager.
async def shutdown(self) -> None
TTSManager
Defined in xtalk.serving.modules.tts_manager.
class TTSManager(Manager)
Event-driven TTS manager handling streaming synthesis and control.
Class Fields
SENTENCE_DELIMITERS={'。', ',', '!', '!', '?', '?', '.', ',', ':', ':'}TTS_CHUNK_MS=100MAX_OUTSTANDING_MS=300
Methods
init
Defined in xtalk.serving.modules.tts_manager.
def __init__(self, event_bus: EventBus, session_id: str, pipeline: Pipeline, config: dict[str, Any] | None = None)
Initialize TTS manager.
Args: event_bus: shared event bus session_id: unique session identifier pipeline: pipeline providing TTS models/controllers
reset_tts
Defined in xtalk.serving.modules.tts_manager.
async def reset_tts(self) -> None
Reset all TTS state and cancel consumers.
shutdown
Defined in xtalk.serving.modules.tts_manager.
async def shutdown(self) -> None
Shut down TTS manager and reset state.
TurnTakingManager
Defined in xtalk.serving.modules.turn_taking_manager.
class TurnTakingManager(Manager)
Methods
init
Defined in xtalk.serving.modules.turn_taking_manager.
def __init__(self, event_bus: EventBus, session_id: str, pipeline: Pipeline, config: dict[str, Any] | None = None)
shutdown
Defined in xtalk.serving.modules.turn_taking_manager.
async def shutdown(self)
VADManager
Defined in xtalk.serving.modules.vad_manager.
class VADManager(Manager)
Backend VAD manager.
Methods
init
Defined in xtalk.serving.modules.vad_manager.
def __init__(self, event_bus: EventBus, session_id: str, pipeline: Pipeline, config: Optional[dict[str, Any]] = None) -> None
shutdown
Defined in xtalk.serving.modules.vad_manager.
async def shutdown(self) -> None
No-op shutdown hook (kept for extension).