@agimon-ai/po-voice 0.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE +13 -0
- package/README.md +249 -0
- package/dist/apiContracts.cjs +809 -0
- package/dist/apiContracts.cjs.map +1 -0
- package/dist/apiContracts.d.mts +53 -0
- package/dist/apiContracts.d.mts.map +1 -0
- package/dist/apiContracts.mjs +805 -0
- package/dist/apiContracts.mjs.map +1 -0
- package/dist/assets/browserCaptureWorklet-Droj0fW0.js +13 -0
- package/dist/assets/silero_vad_v6.2.1-SjbCxFXk.onnx +0 -0
- package/dist/clientCaptureActivity-DN4xQtmw.d.mts +234 -0
- package/dist/clientCaptureActivity-DN4xQtmw.d.mts.map +1 -0
- package/dist/clientMedia-CfTfc9_4.mjs +49 -0
- package/dist/clientMedia-CfTfc9_4.mjs.map +1 -0
- package/dist/clientMedia-DuA4aYhD.cjs +156 -0
- package/dist/clientMedia-DuA4aYhD.cjs.map +1 -0
- package/dist/clientMedia.cjs +134 -0
- package/dist/clientMedia.cjs.map +1 -0
- package/dist/clientMedia.d.mts +2 -0
- package/dist/clientMedia.mjs +114 -0
- package/dist/clientMedia.mjs.map +1 -0
- package/dist/extensions/server.cjs +8975 -0
- package/dist/extensions/server.cjs.map +1 -0
- package/dist/extensions/server.d.mts +5 -0
- package/dist/extensions/server.d.mts.map +1 -0
- package/dist/extensions/server.mjs +8968 -0
- package/dist/extensions/server.mjs.map +1 -0
- package/dist/extensions/web.mjs +4530 -0
- package/dist/extensions/web.mjs.map +1 -0
- package/dist/index-C95HCjmT.d.mts +212 -0
- package/dist/index-C95HCjmT.d.mts.map +1 -0
- package/dist/index.cjs +637 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.mts +603 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +557 -0
- package/dist/index.mjs.map +1 -0
- package/dist/narrationBargeIn-C_Po8fgw.mjs +62 -0
- package/dist/narrationBargeIn-C_Po8fgw.mjs.map +1 -0
- package/dist/narrationBargeIn-Dje82XOm.cjs +73 -0
- package/dist/narrationBargeIn-Dje82XOm.cjs.map +1 -0
- package/dist/sileroVadWorker-D894njUe.mjs +110 -0
- package/dist/sileroVadWorker-D894njUe.mjs.map +1 -0
- package/dist/vad-DDe4RIdW.mjs +315 -0
- package/dist/vad-DDe4RIdW.mjs.map +1 -0
- package/dist/vad-n2RlruzB.cjs +332 -0
- package/dist/vad-n2RlruzB.cjs.map +1 -0
- package/dist/voiceReloadHandoff.cjs +9 -0
- package/dist/voiceReloadHandoff.d.mts +1 -0
- package/dist/voiceReloadHandoff.mjs +2 -0
- package/dist/voiceTools-CRQHK_Uc.cjs +616 -0
- package/dist/voiceTools-CRQHK_Uc.cjs.map +1 -0
- package/dist/voiceTools-aCCREMjS.mjs +611 -0
- package/dist/voiceTools-aCCREMjS.mjs.map +1 -0
- package/dist/voiceTools.cjs +12 -0
- package/dist/voiceTools.d.mts +7 -0
- package/dist/voiceTools.d.mts.map +1 -0
- package/dist/voiceTools.mjs +3 -0
- package/dist/voiceWorker.cjs +1929 -0
- package/dist/voiceWorker.cjs.map +1 -0
- package/dist/voiceWorker.d.mts +200 -0
- package/dist/voiceWorker.d.mts.map +1 -0
- package/dist/voiceWorker.mjs +1925 -0
- package/dist/voiceWorker.mjs.map +1 -0
- package/dist/voiceWorkerProtocol-0H3czPjt.cjs +2385 -0
- package/dist/voiceWorkerProtocol-0H3czPjt.cjs.map +1 -0
- package/dist/voiceWorkerProtocol-B_4B2_fR.mjs +2085 -0
- package/dist/voiceWorkerProtocol-B_4B2_fR.mjs.map +1 -0
- package/dist/voiceWorkerSessionController-DaYemiL3.cjs +1800 -0
- package/dist/voiceWorkerSessionController-DaYemiL3.cjs.map +1 -0
- package/dist/voiceWorkerSessionController-GB3SJ6YE.mjs +1734 -0
- package/dist/voiceWorkerSessionController-GB3SJ6YE.mjs.map +1 -0
- package/licenses/Codex-Apache-2.0.txt +201 -0
- package/llms.txt +9 -0
- package/package.json +153 -0
- package/src/extensions/workspaces/sessions/(frontend)/lifecycle/_lib/models/README.md +11 -0
- package/src/extensions/workspaces/sessions/(frontend)/lifecycle/_lib/models/SILERO-LICENSE +21 -0
- package/src/prompts/po-use-voice/SKILL.md +35 -0
- package/src/types/clientCaptureActivity.ts +155 -0
- package/src/types/clientMedia.ts +226 -0
- package/src/types/manualTranscription.ts +53 -0
- package/src/types/realtime.ts +107 -0
- package/src/types/voiceOwnership.ts +315 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiContracts.cjs","names":["defineDoomPluginMethod","Type","Type","defineApiContract","jsonApiResponses"],"sources":["../src/schemas/voiceControl.ts","../src/schemas/apiContracts.ts"],"sourcesContent":["import { defineDoomPluginMethod } from '@agimon-ai/po-core/pluginProtocol';\nimport { Type } from 'typebox';\n\nexport const voiceControlMethod = defineDoomPluginMethod({\n service: 'voice',\n method: 'control',\n scope: 'session',\n direction: 'client-to-server',\n input: Type.Object(\n {\n action: Type.Union(\n ['status', 'manual', 'activate', 'deactivate', 'mute', 'unmute', 'interrupt', 'transfer'].map((value) =>\n Type.Literal(value),\n ),\n ),\n target: Type.Optional(Type.Integer({ minimum: 1 })),\n revision: Type.Optional(Type.String({ minLength: 1, maxLength: 128 })),\n },\n { additionalProperties: false },\n ),\n output: Type.Object(\n {\n state: Type.String(),\n mode: Type.String(),\n manual: Type.String(),\n muted: Type.Boolean(),\n error: Type.Optional(Type.String()),\n },\n { additionalProperties: false },\n ),\n});\n","import { defineApiContract, jsonApiResponses, type DoomHttpContract } from '@agimon-ai/po-core/apiContracts';\nimport { Type } from 'typebox';\n\nimport { voiceControlMethod } from './voiceControl';\n\nconst S = Type.String();\nconst N = Type.Number();\nconst B = Type.Boolean();\nconst O = Type.Optional;\nconst values = <T extends string>(items: T[]) => Type.Union(items.map((item) => Type.Literal(item)));\nconst Client = { clientId: S, connectionId: S };\nconst Configuration = Type.Object({\n mode: values(['manual', 'autonomous']),\n activityControl: values(['host', 'client']),\n endpointSilenceMs: O(Type.Integer({ minimum: 250 })),\n});\nconst Playback = { playbackId: S, outcome: values(['completed', 'stopped', 'aborted', 'failed']), error: O(S) };\nconst Sequence = { sequence: N };\nconst Control = values(['mute', 'unmute', 'interrupt']);\nconst Browser = Type.Object({\n connection: values(['connecting', 'connected', 'closed', 'failed']),\n listening: B,\n speaking: B,\n muted: B,\n error: O(S),\n});\nexport const VoiceMediaEventSchema = Type.Union([\n Type.Object({\n ...Sequence,\n type: Type.Literal('capture-start'),\n captureId: S,\n sampleRate: Type.Literal(16000),\n channels: Type.Literal(1),\n bitsPerSample: Type.Literal(16),\n configuration: Configuration,\n }),\n Type.Object({ ...Sequence, type: values(['capture-stop', 'capture-abort']), captureId: S }),\n Type.Object({\n ...Sequence,\n type: Type.Literal('playback-start'),\n playbackId: S,\n text: S,\n delivery: O(values(['client', 'streamed'])),\n voice: O(S),\n rate: O(N),\n }),\n Type.Object({ ...Sequence, type: values(['playback-stop', 'playback-abort']), playbackId: S }),\n Type.Object({ ...Sequence, type: values(['realtime-start', 'realtime-stop']), activationId: S }),\n Type.Object({ ...Sequence, type: Type.Literal('realtime-control'), activationId: S, action: Control }),\n Type.Object({ ...Sequence, type: Type.Literal('realtime-send'), activationId: S, messages: Type.Array(S) }),\n]);\nconst RealtimeEvent = Type.Union([\n Type.Object({ type: Type.Literal('ready') }),\n Type.Object({ type: Type.Literal('transcript'), role: values(['user', 'assistant']), text: S, complete: B }),\n Type.Object({ type: Type.Literal('request'), requestId: S, text: S }),\n Type.Object({ type: Type.Literal('error'), code: S }),\n]);\nconst RealtimeSnapshot = Type.Object({\n activationId: S,\n state: values(['connecting', 'active', 'closed', 'failed']),\n cursor: N,\n events: Type.Array(Type.Object({ sequence: N, event: RealtimeEvent })),\n browser: O(Browser),\n});\nconst Wake = Type.Object({ eventEpoch: S, sequence: N });\nconst GlobalLiveStatus = Type.Object({\n version: Type.Literal(1),\n state: values(['disabled', 'starting', 'active', 'draining', 'shuttingDown']),\n activeSessionId: Type.Union([S, Type.Null()]),\n muted: B,\n error: O(S),\n media: Type.Object({ client: B, realtime: B }),\n});\nconst Version = { version: Type.Literal(3) };\nconst Targets = Type.Array(Type.Object({ handle: S, label: S, order: N }), { maxItems: 32 });\nconst OwnershipAction = values(['catalog', 'prepare', 'activate', 'deactivate', 'readiness', 'fence']);\nconst Acknowledgement = Type.Object({\n ...Version,\n commandId: S,\n action: OwnershipAction,\n ok: B,\n active: B,\n error: O(S),\n});\nconst Command = Type.Object({\n ...Version,\n commandId: S,\n action: OwnershipAction,\n targets: O(Targets),\n catalogRevision: O(S),\n handoffId: O(S),\n controllerId: O(S),\n leaseId: O(S),\n revision: O(N),\n});\nconst Snapshot = Type.Object({\n registration: O(Type.Object({ ...Version, leaseId: S, revision: N, label: S, eligible: B, active: B })),\n targets: Targets,\n catalogRevision: O(S),\n activation: O(Type.Object({ ...Version, requestId: S })),\n handoff: O(Type.Object({ ...Version, requestId: S, handle: S, catalogRevision: S })),\n acknowledgement: O(Acknowledgement),\n});\nconst Errors = Object.fromEntries(\n [400, 404, 409, 410, 413, 415, 429, 500, 502, 503, 504].map((status) => [\n status,\n { description: 'Voice request failed.', schema: Type.Object({ error: S, code: O(S) }) },\n ]),\n);\nconst route = (\n path: string,\n method: 'GET' | 'POST',\n output?: object,\n input?: object,\n query: string[] = [],\n status = 200,\n): DoomHttpContract => ({\n id: `voice.${path.slice(1).replaceAll('/', '.')}`,\n scope: 'session',\n basePath: 'voice-media',\n path,\n method,\n authentication: 'owner',\n description: `Voice media ${path}.`,\n ...(path.startsWith('/host/') || path.startsWith('/hub/')\n ? { availability: 'Internal broker route; requires the host-issued bearer token for this route namespace.' }\n : {}),\n parameters: [\n ...query.map((name) => ({ name, in: 'query' as const, required: !['after', 'wait'].includes(name), schema: S })),\n ...(path.startsWith('/host/') || path.startsWith('/hub/')\n ? [\n {\n name: 'Authorization',\n in: 'header' as const,\n required: true,\n schema: Type.String({ pattern: '^Bearer .+' }),\n },\n ]\n : []),\n ],\n ...(input ? { body: { required: true, contentType: 'application/json', schema: input } } : {}),\n responses: {\n ...Errors,\n [output ? status : 204]: {\n description: output ? 'Voice response.' : 'Accepted with no response body.',\n ...(output ? { schema: output } : {}),\n },\n },\n});\nconst pcm = (path: string, method: 'GET' | 'POST', query: string[]): DoomHttpContract => {\n const result = route(path, method, undefined, undefined, query);\n result.description =\n 'PCM signed 16-bit little-endian, 16000 Hz, mono. Chunks contain complete samples. Activity headers carry state, level, elapsed time, epoch and speech duration. A 204 response carries x-po-capture-state or x-po-playback-state when applicable.';\n if (method === 'POST') result.body = { required: true, contentType: 'application/vnd.po.pcm-s16le', schema: S };\n else result.responses['200'] = { description: 'PCM bytes.', contentType: 'application/vnd.po.pcm-s16le', schema: S };\n return result;\n};\nexport const apiContracts = defineApiContract({\n version: 1,\n protocols: { 'voice-media': '6', 'voice-ownership': '3' },\n dynamic: ['Realtime event strings and SDP are provider-defined protocol documents passed through the media broker.'],\n http: [\n {\n id: 'voice.status',\n scope: 'session',\n basePath: 'voice',\n path: '/status',\n method: 'GET',\n authentication: 'owner',\n description: 'Voice session status and media readiness.',\n responses: jsonApiResponses(\n Type.Object({\n ...voiceControlMethod.output.properties,\n media: Type.Object({ closed: B, capture: B, playback: B, realtime: B }),\n readiness: Type.Object({\n configured: B,\n transcription: B,\n error: O(S),\n engine: O(S),\n mode: O(S),\n correctionModel: O(S),\n }),\n }),\n ),\n },\n {\n id: 'voice.control.http',\n scope: 'session',\n basePath: 'voice',\n path: '/control',\n method: 'POST',\n authentication: 'owner',\n description: 'Control the voice session.',\n body: { required: true, contentType: 'application/json', schema: voiceControlMethod.input },\n responses: jsonApiResponses(voiceControlMethod.output),\n },\n route(\n '/client/connect',\n 'POST',\n Type.Object({ version: Type.Literal(6), cursor: N, eventEpoch: O(S), heartbeatMs: O(N) }),\n Type.Object({\n version: Type.Literal(6),\n ...Client,\n clientKind: values(['browser', 'native']),\n controlLocation: values(['local', 'remote']),\n capabilities: Type.Object({\n capture: B,\n playback: B,\n captureActivity: B,\n autonomousOrchestration: B,\n playbackDucking: O(B),\n realtime: O(B),\n }),\n }),\n ),\n route('/client/disconnect', 'POST', undefined, Type.Object(Client)),\n route('/client/heartbeat', 'POST', Wake, Type.Object(Client)),\n {\n ...route('/client/events', 'GET', VoiceMediaEventSchema, undefined, [\n 'clientId',\n 'connectionId',\n 'after',\n 'wait',\n ]),\n responses: {\n ...Errors,\n '200': { description: 'Next event.', schema: VoiceMediaEventSchema },\n '204': { description: 'No pending event.' },\n },\n },\n pcm('/client/audio', 'POST', ['clientId', 'connectionId', 'captureId']),\n route('/client/capture-stopped', 'POST', undefined, Type.Object({ ...Client, captureId: S, error: O(S) })),\n pcm('/client/playback-audio', 'GET', ['clientId', 'connectionId', 'playbackId']),\n route('/client/playback-result', 'POST', undefined, Type.Object({ ...Client, ...Playback })),\n route(\n '/host/capture/start',\n 'POST',\n Type.Object({ configuration: Configuration }),\n Type.Object({ captureId: S, configuration: O(Configuration) }),\n [],\n 201,\n ),\n pcm('/host/capture/audio', 'GET', ['captureId']),\n ...['stop', 'abort'].map((action) =>\n route(`/host/capture/${action}`, 'POST', undefined, Type.Object({ captureId: S })),\n ),\n route(\n '/host/playback/start',\n 'POST',\n Type.Object({ delivery: values(['client', 'streamed']) }),\n Type.Object({ playbackId: S, text: S, voice: O(S), rate: O(N) }),\n [],\n 201,\n ),\n pcm('/host/playback/audio', 'POST', ['playbackId']),\n route('/host/playback/audio-end', 'POST', undefined, Type.Object({ playbackId: S, error: O(S) })),\n {\n ...route('/host/playback/result', 'GET', Type.Object(Playback), undefined, ['playbackId']),\n responses: {\n ...Errors,\n '200': { description: 'Playback outcome.', schema: Type.Object(Playback) },\n '204': { description: 'Playback is pending.' },\n },\n },\n ...['stop', 'abort'].map((action) =>\n route(`/host/playback/${action}`, 'POST', undefined, Type.Object({ playbackId: S })),\n ),\n route('/hub/ownership/state', 'GET', Snapshot),\n route('/hub/ownership/command', 'POST', Acknowledgement, Command),\n route('/host/ownership/sync', 'POST', Type.Object({ command: O(Command) }), Snapshot),\n route(\n '/host/realtime/start',\n 'POST',\n Type.Object({}),\n Type.Object({ activationId: S, instructions: Type.String({ maxLength: 16384 }) }),\n [],\n 201,\n ),\n route('/host/realtime/stop', 'POST', undefined, Type.Object({ activationId: S })),\n route('/host/realtime/poll', 'GET', RealtimeSnapshot, undefined, ['activationId', 'after']),\n route(\n '/host/realtime/send',\n 'POST',\n undefined,\n Type.Object({ activationId: S, messages: Type.Array(S, { maxItems: 64 }) }),\n ),\n route('/host/realtime/control', 'POST', undefined, Type.Object({ activationId: S, action: Control })),\n route(\n '/client/realtime/negotiate',\n 'POST',\n Type.Object({ sdp: S }),\n Type.Object({ ...Client, activationId: S, sdp: S }),\n ),\n route('/client/realtime/event', 'POST', undefined, Type.Object({ ...Client, activationId: S, event: S })),\n route('/client/realtime/state', 'POST', undefined, Type.Object({ ...Client, activationId: S, state: Browser })),\n {\n id: 'voice.manual',\n scope: 'session',\n basePath: 'voice-media',\n path: '/manual/transcribe',\n method: 'POST',\n authentication: 'owner',\n description: 'Transcribe at most 4 MiB of WebM/Opus or MP4/AAC audio, at most 300000 milliseconds.',\n parameters: [\n {\n name: 'x-doom-audio-duration-ms',\n in: 'header',\n required: true,\n schema: Type.Integer({ minimum: 0, maximum: 300000 }),\n },\n ],\n body: { required: true, contentType: 'audio/webm', contentTypes: ['audio/webm', 'audio/mp4'], schema: S },\n responses: { ...Errors, '200': { description: 'Transcript.', schema: Type.Object({ transcript: S }) } },\n },\n ...(\n [\n ['readiness', '/live/agent', 'GET'],\n ['prepare', '/live/agent/prepare', 'POST'],\n ['admit', '/live/agent/admit', 'POST'],\n ['results', '/live/agent/results', 'GET'],\n ['ack', '/live/agent/results/ack', 'POST'],\n ['fence', '/live/agent/fence', 'POST'],\n ['select', '/live/agent/select', 'POST'],\n ['revoke', '/live/agent/revoke', 'POST'],\n ] as const\n ).map(([name, path, method]): DoomHttpContract => ({\n id: `voice.agent.${name}`,\n scope: 'session',\n basePath: 'voice',\n path,\n method,\n authentication: 'owner',\n description: `Native Voice agent ${name}. Only the host-issued hub bearer can access this route.`,\n parameters: [\n { name: 'Authorization', in: 'header', required: true, schema: Type.String({ pattern: '^Bearer .+' }) },\n ...(name === 'results'\n ? ['activationId', 'routeGeneration', 'sessionIncarnation', 'after'].map((key) => ({\n name: key,\n in: 'query' as const,\n required: key !== 'after',\n schema: S,\n }))\n : []),\n ],\n ...(method === 'POST'\n ? {\n body: {\n required: true,\n contentType: 'application/json',\n schema:\n name === 'select'\n ? Type.Object({\n activationId: S,\n routeGeneration: Type.Integer({ minimum: 1 }),\n transactionId: S,\n sessionIncarnation: S,\n nativeTransferAllowed: B,\n catalog: Type.Object({\n revision: S,\n targets: Type.Array(Type.Object({ order: Type.Integer({ minimum: 1 }), label: S }), {\n maxItems: 256,\n }),\n }),\n })\n : name === 'revoke'\n ? Type.Object({\n activationId: S,\n routeGeneration: Type.Integer({ minimum: 1 }),\n transactionId: S,\n sessionIncarnation: S,\n })\n : Type.Unknown(),\n },\n }\n : {}),\n responses: {\n ...jsonApiResponses(Type.Unknown()),\n '204': { description: 'Agent result acknowledged or route fenced.' },\n },\n })),\n {\n id: 'voice.peer',\n scope: 'global',\n basePath: 'voice',\n path: '/peer',\n method: 'POST',\n authentication: 'none',\n description: 'Accept an HMAC-authenticated bounded Voice media relay request from a configured peer.',\n body: { required: true, contentType: 'application/json', schema: Type.Unknown() },\n responses: jsonApiResponses(Type.Unknown()),\n },\n {\n id: 'voice.peerOwnership',\n scope: 'global',\n basePath: 'voice',\n path: '/peer-ownership',\n method: 'POST',\n authentication: 'none',\n description: 'Discover and stage Voice ownership through an HMAC-authenticated paired host.',\n body: { required: true, contentType: 'application/json', schema: Type.Unknown() },\n responses: jsonApiResponses(Type.Unknown()),\n },\n {\n id: 'voice.peerAgent',\n scope: 'global',\n basePath: 'voice',\n path: '/peer-agent',\n method: 'POST',\n authentication: 'none',\n description: 'Accept a signed, replay-guarded, grant-scoped native Voice agent request from a configured peer.',\n body: { required: true, contentType: 'application/json', schema: Type.Unknown() },\n responses: jsonApiResponses(Type.Unknown()),\n },\n {\n id: 'voice.relayBinding',\n scope: 'global',\n basePath: 'voice',\n path: '/relay-binding',\n method: 'POST',\n authentication: 'owner',\n description: 'Issue an expiring controller-bound handle for a granted paired Voice session.',\n body: { required: true, contentType: 'application/json', schema: Type.Object({ target: S, connectionId: S }) },\n responses: jsonApiResponses(Type.Object({ binding: S, expiresAt: N })),\n },\n {\n id: 'voice.relay',\n scope: 'global',\n basePath: 'voice',\n path: '/relay',\n method: 'POST',\n authentication: 'owner',\n description: 'Relay a browser Voice media operation through an expiring controller-bound handle.',\n parameters: [{ name: 'binding', in: 'query', required: true, schema: S }],\n body: { required: true, contentType: 'application/json', schema: Type.Unknown() },\n responses: jsonApiResponses(Type.Unknown()),\n },\n {\n id: 'voice.nativeTransfer',\n scope: 'global',\n basePath: 'voice',\n path: '/live/native-transfer',\n method: 'POST',\n authentication: 'owner',\n description: 'Host-only revision-bound native Live transfer. Requires the host hub bearer.',\n parameters: [\n { name: 'Authorization', in: 'header', required: true, schema: Type.String({ pattern: '^Bearer .+' }) },\n ],\n body: {\n required: true,\n contentType: 'application/json',\n schema: Type.Object({\n sourceSessionId: S,\n activationId: S,\n routeGeneration: Type.Integer({ minimum: 0 }),\n sessionIncarnation: S,\n ordinal: Type.Integer({ minimum: 1 }),\n catalogRevision: S,\n }),\n },\n responses: {\n ...Errors,\n '202': {\n description: 'Transfer requested; source work drains before commit.',\n schema: Type.Object({ requested: Type.Literal(true) }),\n },\n },\n },\n {\n id: 'voice.liveStatus',\n scope: 'global',\n basePath: 'voice',\n path: '/live/status',\n method: 'GET',\n authentication: 'owner',\n description: 'Read the host-global live companion state without activating media.',\n responses: jsonApiResponses(GlobalLiveStatus),\n },\n {\n id: 'voice.liveControl',\n scope: 'global',\n basePath: 'voice',\n path: '/live/control',\n method: 'POST',\n authentication: 'owner',\n description: 'Explicitly activate, transfer, mute, interrupt or end the host-global live companion.',\n body: {\n required: true,\n contentType: 'application/json',\n schema: Type.Object({\n action: values(['activate', 'transfer', 'mute', 'unmute', 'interrupt', 'end']),\n sessionId: O(S),\n expectedSourceSessionId: O(S),\n }),\n },\n responses: jsonApiResponses(GlobalLiveStatus),\n },\n {\n id: 'voice.readiness',\n scope: 'global',\n basePath: 'voice',\n path: '/readiness',\n method: 'GET',\n authentication: 'owner',\n description: 'Read configured voice readiness.',\n responses: jsonApiResponses(\n Type.Object({\n configured: B,\n transcription: B,\n error: O(S),\n engine: O(S),\n mode: O(S),\n correctionModel: O(S),\n }),\n ),\n },\n ],\n sockets: [\n {\n id: 'voice.control',\n scope: 'session',\n service: voiceControlMethod.service,\n member: voiceControlMethod.method,\n kind: 'method',\n direction: 'client-to-server',\n description: 'Voice session control through the scoped plugin service.',\n input: voiceControlMethod.input,\n output: voiceControlMethod.output,\n },\n ...(['global', 'workspace'] as const).flatMap((scope) => [\n {\n id: 'voice.wake',\n scope,\n service: 'po.hub.v1',\n member: 'voice_media_wake',\n kind: 'channel' as const,\n direction: 'server-to-client' as const,\n description: 'Voice media wake channel payload.',\n input: Wake,\n },\n {\n id: 'voice.ownership',\n scope,\n service: 'po.hub.v1',\n member: 'voice_ownership',\n kind: 'channel' as const,\n direction: 'server-to-client' as const,\n description: 'Browser media ownership channel payload.',\n input: Type.Object({\n type: Type.Literal('browser-media-session'),\n ...Version,\n activeSessionId: Type.Union([S, Type.Null()]),\n }),\n },\n ]),\n ],\n});\nexport default apiContracts;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Type } from "typebox";
|
|
2
|
+
//#region src/schemas/apiContracts.d.ts
|
|
3
|
+
export declare const apiContracts: {
|
|
4
|
+
version: 1;
|
|
5
|
+
protocols?: Record<string, string> | undefined;
|
|
6
|
+
schemas?: Record<string, boolean | object> | undefined;
|
|
7
|
+
http: {
|
|
8
|
+
id: string;
|
|
9
|
+
scope: "global" | "session" | "workspace";
|
|
10
|
+
basePath?: string | undefined;
|
|
11
|
+
path: string;
|
|
12
|
+
method: "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | "PUT";
|
|
13
|
+
description: string;
|
|
14
|
+
availability?: string | undefined;
|
|
15
|
+
authentication: "device" | "none" | "owner";
|
|
16
|
+
parameters?: {
|
|
17
|
+
name: string;
|
|
18
|
+
in: "header" | "path" | "query";
|
|
19
|
+
required: boolean;
|
|
20
|
+
schema: boolean | object;
|
|
21
|
+
}[] | undefined;
|
|
22
|
+
body?: {
|
|
23
|
+
contentType: string;
|
|
24
|
+
contentTypes?: string[] | undefined;
|
|
25
|
+
required: boolean;
|
|
26
|
+
schema: boolean | object;
|
|
27
|
+
} | undefined;
|
|
28
|
+
responses: Record<string, {
|
|
29
|
+
description: string;
|
|
30
|
+
contentType?: string | undefined;
|
|
31
|
+
schema?: boolean | object | undefined;
|
|
32
|
+
events?: Record<string, boolean | object> | undefined;
|
|
33
|
+
}>;
|
|
34
|
+
}[];
|
|
35
|
+
sockets: {
|
|
36
|
+
id: string;
|
|
37
|
+
scope: "global" | "session" | "workspace";
|
|
38
|
+
description: string;
|
|
39
|
+
availability?: string | undefined;
|
|
40
|
+
service: string;
|
|
41
|
+
member: string;
|
|
42
|
+
direction: "client-to-server" | "server-to-client";
|
|
43
|
+
kind: "channel" | "method" | "state";
|
|
44
|
+
input: boolean | object;
|
|
45
|
+
output?: boolean | object | undefined;
|
|
46
|
+
errors?: boolean | object | undefined;
|
|
47
|
+
}[];
|
|
48
|
+
dynamic: string[];
|
|
49
|
+
gaps?: string[] | undefined;
|
|
50
|
+
};
|
|
51
|
+
//#endregion
|
|
52
|
+
export { apiContracts as default };
|
|
53
|
+
//# sourceMappingURL=apiContracts.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiContracts.d.mts","names":[],"sources":["../src/schemas/apiContracts.ts"],"mappings":";;qBA6Ja"}
|