Skip to content

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 = 100
  • MAX_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).