voice
| Field | Value |
|---|---|
| Prefix | voice |
| Namespace constant | VoiceNamespace |
| Subjects constant | VoiceSubjects |
| Kind | bus |
| Schema record | VoiceSchemas |
| Tier | framework |
| Package | @makaio/contracts |
| Defined in | packages/contracts/src/capabilities/voice/namespace.ts |
Subjects
Section titled “Subjects”| Key | Wire | Type | Schema |
|---|---|---|---|
session.start | voice.session.start | rpc | schemas.ts |
session.stop | voice.session.stop | rpc | schemas.ts |
status | voice.status | event | schemas.ts |
synthesis.end | voice.synthesis.end | event | schemas.ts |
synthesis.start | voice.synthesis.start | event | schemas.ts |
transcription | voice.transcription | event | schemas.ts |
Subject Details
Section titled “Subject Details”voice.session.start (rpc)
Section titled “voice.session.start (rpc)”Start a voice session and receive the resolved pipeline strategy.
The response is a discriminated union on audioTransport:
'none'— all processing is client-side; no WebSocket is needed.'ws'— server-side audio transport; connect toaudioWsUrlusingbindToken.
Subject: voice.session.start
Type: Request (RPC)
Request:
| Field | Type | Required |
|---|---|---|
sessionId | string | yes |
Response:
| Field | Type | Required |
|---|---|---|
audioTransport | "none" | "ws" | yes |
strategy | { stt: { runtime: "server" | "client"; providerId: string; providerName: string; }; tts: { runtime: "server" | "client"; providerId: string; providerName: string; }; } | yes |
voice.session.stop (rpc)
Section titled “voice.session.stop (rpc)”Stop an active voice session.
Subject: voice.session.stop
Type: Request (RPC)
Request:
| Field | Type | Required |
|---|---|---|
sessionId | string | yes |
Response:
Empty object.
voice.status (event)
Section titled “voice.status (event)”Emitted when the voice pipeline state changes.
Subject: voice.status
Type: Event
| Field | Type | Required |
|---|---|---|
sessionId | string | yes |
state | "error" | "idle" | "recording" | "transcribing" | "synthesizing" | yes |
voice.synthesis.end (event)
Section titled “voice.synthesis.end (event)”Emitted when TTS synthesis completes for a message.
Subject: voice.synthesis.end
Type: Event
| Field | Type | Required |
|---|---|---|
messageId | string | undefined | no |
sessionId | string | yes |
voice.synthesis.start (event)
Section titled “voice.synthesis.start (event)”Emitted when TTS synthesis begins for a message.
Subject: voice.synthesis.start
Type: Event
| Field | Type | Required |
|---|---|---|
messageId | string | undefined | no |
sessionId | string | yes |
voice.transcription (event)
Section titled “voice.transcription (event)”Emitted when a complete transcription is available for a session.
Subject: voice.transcription
Type: Event
| Field | Type | Required |
|---|---|---|
confidence | number | undefined | no |
language | string | yes |
messageId | string | undefined | no |
sessionId | string | yes |
text | string | yes |
Auto-generated by yarn docs:bus. Do not edit manually.