@azure/ai-projects 2.6.0 → 2.7.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/README.md +62 -1
- package/dist/browser/aiProjectClient.d.ts +1 -0
- package/dist/browser/aiProjectClient.d.ts.map +1 -1
- package/dist/browser/aiProjectClient.js +16 -1
- package/dist/browser/aiProjectClient.js.map +1 -1
- package/dist/browser/api/agents/index.d.ts +1 -1
- package/dist/browser/api/agents/index.d.ts.map +1 -1
- package/dist/browser/api/agents/index.js.map +1 -1
- package/dist/browser/api/agents/options.d.ts +91 -1
- package/dist/browser/api/agents/options.d.ts.map +1 -1
- package/dist/browser/api/agents/options.js.map +1 -1
- package/dist/browser/api/aiProjectContext.d.ts +3 -0
- package/dist/browser/api/aiProjectContext.d.ts.map +1 -1
- package/dist/browser/api/aiProjectContext.js.map +1 -1
- package/dist/browser/api/beta/agents/index.d.ts +2 -2
- package/dist/browser/api/beta/agents/index.d.ts.map +1 -1
- package/dist/browser/api/beta/agents/index.js +1 -1
- package/dist/browser/api/beta/agents/index.js.map +1 -1
- package/dist/browser/api/beta/agents/operations.d.ts +9 -2
- package/dist/browser/api/beta/agents/operations.d.ts.map +1 -1
- package/dist/browser/api/beta/agents/operations.js +38 -1
- package/dist/browser/api/beta/agents/operations.js.map +1 -1
- package/dist/browser/api/beta/agents/options.d.ts +3 -0
- package/dist/browser/api/beta/agents/options.d.ts.map +1 -1
- package/dist/browser/api/beta/agents/options.js.map +1 -1
- package/dist/browser/api/beta/voiceAgents/conversations/index.d.ts +3 -0
- package/dist/browser/api/beta/voiceAgents/conversations/index.d.ts.map +1 -0
- package/dist/browser/api/beta/voiceAgents/conversations/index.js +4 -0
- package/dist/browser/api/beta/voiceAgents/conversations/index.js.map +1 -0
- package/dist/browser/api/beta/voiceAgents/conversations/operations.d.ts +140 -0
- package/dist/browser/api/beta/voiceAgents/conversations/operations.d.ts.map +1 -0
- package/dist/browser/api/beta/voiceAgents/conversations/operations.js +635 -0
- package/dist/browser/api/beta/voiceAgents/conversations/operations.js.map +1 -0
- package/dist/browser/api/beta/voiceAgents/conversations/options.d.ts +133 -0
- package/dist/browser/api/beta/voiceAgents/conversations/options.d.ts.map +1 -0
- package/dist/browser/api/beta/voiceAgents/conversations/options.js +4 -0
- package/dist/browser/api/beta/voiceAgents/conversations/options.js.map +1 -0
- package/dist/browser/api/beta/voiceAgents/telephony/index.d.ts +3 -0
- package/dist/browser/api/beta/voiceAgents/telephony/index.d.ts.map +1 -0
- package/dist/browser/api/beta/voiceAgents/telephony/index.js +4 -0
- package/dist/browser/api/beta/voiceAgents/telephony/index.js.map +1 -0
- package/dist/browser/api/beta/voiceAgents/telephony/operations.d.ts +62 -0
- package/dist/browser/api/beta/voiceAgents/telephony/operations.d.ts.map +1 -0
- package/dist/browser/api/beta/voiceAgents/telephony/operations.js +559 -0
- package/dist/browser/api/beta/voiceAgents/telephony/operations.js.map +1 -0
- package/dist/browser/api/beta/voiceAgents/telephony/options.d.ts +133 -0
- package/dist/browser/api/beta/voiceAgents/telephony/options.d.ts.map +1 -0
- package/dist/browser/api/beta/voiceAgents/telephony/options.js +4 -0
- package/dist/browser/api/beta/voiceAgents/telephony/options.js.map +1 -0
- package/dist/browser/api/datasets/operations.d.ts.map +1 -1
- package/dist/browser/api/datasets/operations.js +1 -3
- package/dist/browser/api/datasets/operations.js.map +1 -1
- package/dist/browser/api/toolboxes/index.d.ts +2 -2
- package/dist/browser/api/toolboxes/index.d.ts.map +1 -1
- package/dist/browser/api/toolboxes/index.js +1 -1
- package/dist/browser/api/toolboxes/index.js.map +1 -1
- package/dist/browser/api/toolboxes/operations.d.ts +6 -2
- package/dist/browser/api/toolboxes/operations.d.ts.map +1 -1
- package/dist/browser/api/toolboxes/operations.js +33 -0
- package/dist/browser/api/toolboxes/operations.js.map +1 -1
- package/dist/browser/api/toolboxes/options.d.ts +3 -0
- package/dist/browser/api/toolboxes/options.d.ts.map +1 -1
- package/dist/browser/api/toolboxes/options.js.map +1 -1
- package/dist/browser/classic/beta/agents/index.d.ts +8 -3
- package/dist/browser/classic/beta/agents/index.d.ts.map +1 -1
- package/dist/browser/classic/beta/agents/index.js +3 -4
- package/dist/browser/classic/beta/agents/index.js.map +1 -1
- package/dist/browser/classic/beta/index.d.ts +6 -1
- package/dist/browser/classic/beta/index.d.ts.map +1 -1
- package/dist/browser/classic/beta/index.js +4 -1
- package/dist/browser/classic/beta/index.js.map +1 -1
- package/dist/browser/classic/beta/voiceAgents/conversations/index.d.ts +115 -0
- package/dist/browser/classic/beta/voiceAgents/conversations/index.d.ts.map +1 -0
- package/dist/browser/classic/beta/voiceAgents/conversations/index.js +25 -0
- package/dist/browser/classic/beta/voiceAgents/conversations/index.js.map +1 -0
- package/dist/browser/classic/beta/voiceAgents/index.d.ts +16 -0
- package/dist/browser/classic/beta/voiceAgents/index.d.ts.map +1 -0
- package/dist/browser/classic/beta/voiceAgents/index.js +16 -0
- package/dist/browser/classic/beta/voiceAgents/index.js.map +1 -0
- package/dist/browser/classic/beta/voiceAgents/telephony/index.d.ts +37 -0
- package/dist/browser/classic/beta/voiceAgents/telephony/index.d.ts.map +1 -0
- package/dist/browser/classic/beta/voiceAgents/telephony/index.js +25 -0
- package/dist/browser/classic/beta/voiceAgents/telephony/index.js.map +1 -0
- package/dist/browser/classic/index.d.ts +3 -0
- package/dist/browser/classic/index.d.ts.map +1 -1
- package/dist/browser/classic/index.js.map +1 -1
- package/dist/browser/classic/toolboxes/index.d.ts +4 -2
- package/dist/browser/classic/toolboxes/index.d.ts.map +1 -1
- package/dist/browser/classic/toolboxes/index.js +2 -1
- package/dist/browser/classic/toolboxes/index.js.map +1 -1
- package/dist/browser/constants.d.ts +1 -1
- package/dist/browser/constants.js +1 -1
- package/dist/browser/constants.js.map +1 -1
- package/dist/browser/deprecate.interface.d.ts +16 -4
- package/dist/browser/deprecate.interface.d.ts.map +1 -1
- package/dist/browser/deprecate.interface.js.map +1 -1
- package/dist/browser/index.d.ts +15 -4
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +2 -0
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/models/index.d.ts +2 -1
- package/dist/browser/models/index.d.ts.map +1 -1
- package/dist/browser/models/index.js.map +1 -1
- package/dist/browser/models/models.d.ts +4198 -28
- package/dist/browser/models/models.d.ts.map +1 -1
- package/dist/browser/models/models.js +4881 -22
- package/dist/browser/models/models.js.map +1 -1
- package/dist/browser/package.json +1 -1
- package/dist/browser/realtime/asyncQueue.d.ts +29 -0
- package/dist/browser/realtime/asyncQueue.d.ts.map +1 -0
- package/dist/browser/realtime/asyncQueue.js +105 -0
- package/dist/browser/realtime/asyncQueue.js.map +1 -0
- package/dist/browser/realtime/errors.d.ts +34 -0
- package/dist/browser/realtime/errors.d.ts.map +1 -0
- package/dist/browser/realtime/errors.js +40 -0
- package/dist/browser/realtime/errors.js.map +1 -0
- package/dist/browser/realtime/events.d.ts +24 -0
- package/dist/browser/realtime/events.d.ts.map +1 -0
- package/dist/browser/realtime/events.js +4 -0
- package/dist/browser/realtime/events.js.map +1 -0
- package/dist/browser/realtime/protocol.d.ts +7 -0
- package/dist/browser/realtime/protocol.d.ts.map +1 -0
- package/dist/browser/realtime/protocol.js +262 -0
- package/dist/browser/realtime/protocol.js.map +1 -0
- package/dist/browser/realtime/voiceAgentRealtimeClient.d.ts +145 -0
- package/dist/browser/realtime/voiceAgentRealtimeClient.d.ts.map +1 -0
- package/dist/browser/realtime/voiceAgentRealtimeClient.js +376 -0
- package/dist/browser/realtime/voiceAgentRealtimeClient.js.map +1 -0
- package/dist/browser/realtime/webSocketTransportLike.d.ts +44 -0
- package/dist/browser/realtime/webSocketTransportLike.d.ts.map +1 -0
- package/dist/browser/realtime/webSocketTransportLike.js +4 -0
- package/dist/browser/realtime/webSocketTransportLike.js.map +1 -0
- package/dist/browser/webSocketTransport.d.ts +31 -0
- package/dist/browser/webSocketTransport.d.ts.map +1 -0
- package/dist/browser/webSocketTransport.js +218 -0
- package/dist/browser/webSocketTransport.js.map +1 -0
- package/dist/commonjs/aiProjectClient.d.ts +1 -0
- package/dist/commonjs/aiProjectClient.d.ts.map +1 -1
- package/dist/commonjs/aiProjectClient.js +16 -1
- package/dist/commonjs/aiProjectClient.js.map +2 -2
- package/dist/commonjs/api/agents/index.d.ts +1 -1
- package/dist/commonjs/api/agents/index.d.ts.map +1 -1
- package/dist/commonjs/api/agents/index.js.map +1 -1
- package/dist/commonjs/api/agents/options.d.ts +91 -1
- package/dist/commonjs/api/agents/options.d.ts.map +1 -1
- package/dist/commonjs/api/agents/options.js.map +1 -1
- package/dist/commonjs/api/aiProjectContext.d.ts +3 -0
- package/dist/commonjs/api/aiProjectContext.d.ts.map +1 -1
- package/dist/commonjs/api/aiProjectContext.js.map +2 -2
- package/dist/commonjs/api/beta/agents/index.d.ts +2 -2
- package/dist/commonjs/api/beta/agents/index.d.ts.map +1 -1
- package/dist/commonjs/api/beta/agents/index.js +2 -0
- package/dist/commonjs/api/beta/agents/index.js.map +2 -2
- package/dist/commonjs/api/beta/agents/operations.d.ts +9 -2
- package/dist/commonjs/api/beta/agents/operations.d.ts.map +1 -1
- package/dist/commonjs/api/beta/agents/operations.js +43 -0
- package/dist/commonjs/api/beta/agents/operations.js.map +2 -2
- package/dist/commonjs/api/beta/agents/options.d.ts +3 -0
- package/dist/commonjs/api/beta/agents/options.d.ts.map +1 -1
- package/dist/commonjs/api/beta/agents/options.js.map +1 -1
- package/dist/commonjs/api/beta/voiceAgents/conversations/index.d.ts +3 -0
- package/dist/commonjs/api/beta/voiceAgents/conversations/index.d.ts.map +1 -0
- package/dist/commonjs/api/beta/voiceAgents/conversations/index.js +54 -0
- package/dist/commonjs/api/beta/voiceAgents/conversations/index.js.map +7 -0
- package/dist/commonjs/api/beta/voiceAgents/conversations/operations.d.ts +140 -0
- package/dist/commonjs/api/beta/voiceAgents/conversations/operations.d.ts.map +1 -0
- package/dist/commonjs/api/beta/voiceAgents/conversations/operations.js +747 -0
- package/dist/commonjs/api/beta/voiceAgents/conversations/operations.js.map +7 -0
- package/dist/commonjs/api/beta/voiceAgents/conversations/options.d.ts +133 -0
- package/dist/commonjs/api/beta/voiceAgents/conversations/options.d.ts.map +1 -0
- package/dist/commonjs/api/beta/voiceAgents/conversations/options.js +16 -0
- package/dist/commonjs/api/beta/voiceAgents/conversations/options.js.map +7 -0
- package/dist/commonjs/api/beta/voiceAgents/telephony/index.d.ts +3 -0
- package/dist/commonjs/api/beta/voiceAgents/telephony/index.d.ts.map +1 -0
- package/dist/commonjs/api/beta/voiceAgents/telephony/index.js +54 -0
- package/dist/commonjs/api/beta/voiceAgents/telephony/index.js.map +7 -0
- package/dist/commonjs/api/beta/voiceAgents/telephony/operations.d.ts +62 -0
- package/dist/commonjs/api/beta/voiceAgents/telephony/operations.d.ts.map +1 -0
- package/dist/commonjs/api/beta/voiceAgents/telephony/operations.js +683 -0
- package/dist/commonjs/api/beta/voiceAgents/telephony/operations.js.map +7 -0
- package/dist/commonjs/api/beta/voiceAgents/telephony/options.d.ts +133 -0
- package/dist/commonjs/api/beta/voiceAgents/telephony/options.d.ts.map +1 -0
- package/dist/commonjs/api/beta/voiceAgents/telephony/options.js +16 -0
- package/dist/commonjs/api/beta/voiceAgents/telephony/options.js.map +7 -0
- package/dist/commonjs/api/datasets/operations.d.ts.map +1 -1
- package/dist/commonjs/api/datasets/operations.js +0 -6
- package/dist/commonjs/api/datasets/operations.js.map +2 -2
- package/dist/commonjs/api/toolboxes/index.d.ts +2 -2
- package/dist/commonjs/api/toolboxes/index.d.ts.map +1 -1
- package/dist/commonjs/api/toolboxes/index.js +2 -0
- package/dist/commonjs/api/toolboxes/index.js.map +2 -2
- package/dist/commonjs/api/toolboxes/operations.d.ts +6 -2
- package/dist/commonjs/api/toolboxes/operations.d.ts.map +1 -1
- package/dist/commonjs/api/toolboxes/operations.js +42 -0
- package/dist/commonjs/api/toolboxes/operations.js.map +2 -2
- package/dist/commonjs/api/toolboxes/options.d.ts +3 -0
- package/dist/commonjs/api/toolboxes/options.d.ts.map +1 -1
- package/dist/commonjs/api/toolboxes/options.js.map +1 -1
- package/dist/commonjs/classic/beta/agents/index.d.ts +8 -3
- package/dist/commonjs/classic/beta/agents/index.d.ts.map +1 -1
- package/dist/commonjs/classic/beta/agents/index.js +3 -4
- package/dist/commonjs/classic/beta/agents/index.js.map +2 -2
- package/dist/commonjs/classic/beta/index.d.ts +6 -1
- package/dist/commonjs/classic/beta/index.d.ts.map +1 -1
- package/dist/commonjs/classic/beta/index.js +5 -2
- package/dist/commonjs/classic/beta/index.js.map +2 -2
- package/dist/commonjs/classic/beta/voiceAgents/conversations/index.d.ts +115 -0
- package/dist/commonjs/classic/beta/voiceAgents/conversations/index.d.ts.map +1 -0
- package/dist/commonjs/classic/beta/voiceAgents/conversations/index.js +49 -0
- package/dist/commonjs/classic/beta/voiceAgents/conversations/index.js.map +7 -0
- package/dist/commonjs/classic/beta/voiceAgents/index.d.ts +16 -0
- package/dist/commonjs/classic/beta/voiceAgents/index.d.ts.map +1 -0
- package/dist/commonjs/classic/beta/voiceAgents/index.js +40 -0
- package/dist/commonjs/classic/beta/voiceAgents/index.js.map +7 -0
- package/dist/commonjs/classic/beta/voiceAgents/telephony/index.d.ts +37 -0
- package/dist/commonjs/classic/beta/voiceAgents/telephony/index.d.ts.map +1 -0
- package/dist/commonjs/classic/beta/voiceAgents/telephony/index.js +49 -0
- package/dist/commonjs/classic/beta/voiceAgents/telephony/index.js.map +7 -0
- package/dist/commonjs/classic/index.d.ts +3 -0
- package/dist/commonjs/classic/index.d.ts.map +1 -1
- package/dist/commonjs/classic/index.js.map +1 -1
- package/dist/commonjs/classic/toolboxes/index.d.ts +4 -2
- package/dist/commonjs/classic/toolboxes/index.d.ts.map +1 -1
- package/dist/commonjs/classic/toolboxes/index.js +1 -0
- package/dist/commonjs/classic/toolboxes/index.js.map +2 -2
- package/dist/commonjs/constants.d.ts +1 -1
- package/dist/commonjs/constants.js +1 -1
- package/dist/commonjs/constants.js.map +1 -1
- package/dist/commonjs/deprecate.interface.d.ts +16 -4
- package/dist/commonjs/deprecate.interface.d.ts.map +1 -1
- package/dist/commonjs/deprecate.interface.js.map +1 -1
- package/dist/commonjs/index.d.ts +15 -4
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +14 -0
- package/dist/commonjs/index.js.map +2 -2
- package/dist/commonjs/models/index.d.ts +2 -1
- package/dist/commonjs/models/index.d.ts.map +1 -1
- package/dist/commonjs/models/index.js.map +1 -1
- package/dist/commonjs/models/models.d.ts +4198 -28
- package/dist/commonjs/models/models.d.ts.map +1 -1
- package/dist/commonjs/models/models.js +5809 -32
- package/dist/commonjs/models/models.js.map +2 -2
- package/dist/commonjs/package.json +1 -1
- package/dist/commonjs/realtime/asyncQueue.d.ts +29 -0
- package/dist/commonjs/realtime/asyncQueue.d.ts.map +1 -0
- package/dist/commonjs/realtime/asyncQueue.js +127 -0
- package/dist/commonjs/realtime/asyncQueue.js.map +7 -0
- package/dist/commonjs/realtime/errors.d.ts +34 -0
- package/dist/commonjs/realtime/errors.d.ts.map +1 -0
- package/dist/commonjs/realtime/errors.js +66 -0
- package/dist/commonjs/realtime/errors.js.map +7 -0
- package/dist/commonjs/realtime/events.d.ts +24 -0
- package/dist/commonjs/realtime/events.d.ts.map +1 -0
- package/dist/commonjs/realtime/events.js +16 -0
- package/dist/commonjs/realtime/events.js.map +7 -0
- package/dist/commonjs/realtime/protocol.d.ts +7 -0
- package/dist/commonjs/realtime/protocol.d.ts.map +1 -0
- package/dist/commonjs/realtime/protocol.js +297 -0
- package/dist/commonjs/realtime/protocol.js.map +7 -0
- package/dist/commonjs/realtime/voiceAgentRealtimeClient.d.ts +145 -0
- package/dist/commonjs/realtime/voiceAgentRealtimeClient.d.ts.map +1 -0
- package/dist/commonjs/realtime/voiceAgentRealtimeClient.js +443 -0
- package/dist/commonjs/realtime/voiceAgentRealtimeClient.js.map +7 -0
- package/dist/commonjs/realtime/webSocketTransportLike.d.ts +44 -0
- package/dist/commonjs/realtime/webSocketTransportLike.d.ts.map +1 -0
- package/dist/commonjs/realtime/webSocketTransportLike.js +16 -0
- package/dist/commonjs/realtime/webSocketTransportLike.js.map +7 -0
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/commonjs/webSocketTransport.d.ts +15 -0
- package/dist/commonjs/webSocketTransport.d.ts.map +1 -0
- package/dist/commonjs/webSocketTransport.js +232 -0
- package/dist/commonjs/webSocketTransport.js.map +7 -0
- package/dist/esm/aiProjectClient.d.ts +1 -0
- package/dist/esm/aiProjectClient.d.ts.map +1 -1
- package/dist/esm/aiProjectClient.js +16 -1
- package/dist/esm/aiProjectClient.js.map +1 -1
- package/dist/esm/api/agents/index.d.ts +1 -1
- package/dist/esm/api/agents/index.d.ts.map +1 -1
- package/dist/esm/api/agents/index.js.map +1 -1
- package/dist/esm/api/agents/options.d.ts +91 -1
- package/dist/esm/api/agents/options.d.ts.map +1 -1
- package/dist/esm/api/agents/options.js.map +1 -1
- package/dist/esm/api/aiProjectContext.d.ts +3 -0
- package/dist/esm/api/aiProjectContext.d.ts.map +1 -1
- package/dist/esm/api/aiProjectContext.js.map +1 -1
- package/dist/esm/api/beta/agents/index.d.ts +2 -2
- package/dist/esm/api/beta/agents/index.d.ts.map +1 -1
- package/dist/esm/api/beta/agents/index.js +1 -1
- package/dist/esm/api/beta/agents/index.js.map +1 -1
- package/dist/esm/api/beta/agents/operations.d.ts +9 -2
- package/dist/esm/api/beta/agents/operations.d.ts.map +1 -1
- package/dist/esm/api/beta/agents/operations.js +38 -1
- package/dist/esm/api/beta/agents/operations.js.map +1 -1
- package/dist/esm/api/beta/agents/options.d.ts +3 -0
- package/dist/esm/api/beta/agents/options.d.ts.map +1 -1
- package/dist/esm/api/beta/agents/options.js.map +1 -1
- package/dist/esm/api/beta/voiceAgents/conversations/index.d.ts +3 -0
- package/dist/esm/api/beta/voiceAgents/conversations/index.d.ts.map +1 -0
- package/dist/esm/api/beta/voiceAgents/conversations/index.js +4 -0
- package/dist/esm/api/beta/voiceAgents/conversations/index.js.map +1 -0
- package/dist/esm/api/beta/voiceAgents/conversations/operations.d.ts +140 -0
- package/dist/esm/api/beta/voiceAgents/conversations/operations.d.ts.map +1 -0
- package/dist/esm/api/beta/voiceAgents/conversations/operations.js +635 -0
- package/dist/esm/api/beta/voiceAgents/conversations/operations.js.map +1 -0
- package/dist/esm/api/beta/voiceAgents/conversations/options.d.ts +133 -0
- package/dist/esm/api/beta/voiceAgents/conversations/options.d.ts.map +1 -0
- package/dist/esm/api/beta/voiceAgents/conversations/options.js +4 -0
- package/dist/esm/api/beta/voiceAgents/conversations/options.js.map +1 -0
- package/dist/esm/api/beta/voiceAgents/telephony/index.d.ts +3 -0
- package/dist/esm/api/beta/voiceAgents/telephony/index.d.ts.map +1 -0
- package/dist/esm/api/beta/voiceAgents/telephony/index.js +4 -0
- package/dist/esm/api/beta/voiceAgents/telephony/index.js.map +1 -0
- package/dist/esm/api/beta/voiceAgents/telephony/operations.d.ts +62 -0
- package/dist/esm/api/beta/voiceAgents/telephony/operations.d.ts.map +1 -0
- package/dist/esm/api/beta/voiceAgents/telephony/operations.js +559 -0
- package/dist/esm/api/beta/voiceAgents/telephony/operations.js.map +1 -0
- package/dist/esm/api/beta/voiceAgents/telephony/options.d.ts +133 -0
- package/dist/esm/api/beta/voiceAgents/telephony/options.d.ts.map +1 -0
- package/dist/esm/api/beta/voiceAgents/telephony/options.js +4 -0
- package/dist/esm/api/beta/voiceAgents/telephony/options.js.map +1 -0
- package/dist/esm/api/datasets/operations.d.ts.map +1 -1
- package/dist/esm/api/datasets/operations.js +1 -3
- package/dist/esm/api/datasets/operations.js.map +1 -1
- package/dist/esm/api/toolboxes/index.d.ts +2 -2
- package/dist/esm/api/toolboxes/index.d.ts.map +1 -1
- package/dist/esm/api/toolboxes/index.js +1 -1
- package/dist/esm/api/toolboxes/index.js.map +1 -1
- package/dist/esm/api/toolboxes/operations.d.ts +6 -2
- package/dist/esm/api/toolboxes/operations.d.ts.map +1 -1
- package/dist/esm/api/toolboxes/operations.js +33 -0
- package/dist/esm/api/toolboxes/operations.js.map +1 -1
- package/dist/esm/api/toolboxes/options.d.ts +3 -0
- package/dist/esm/api/toolboxes/options.d.ts.map +1 -1
- package/dist/esm/api/toolboxes/options.js.map +1 -1
- package/dist/esm/classic/beta/agents/index.d.ts +8 -3
- package/dist/esm/classic/beta/agents/index.d.ts.map +1 -1
- package/dist/esm/classic/beta/agents/index.js +3 -4
- package/dist/esm/classic/beta/agents/index.js.map +1 -1
- package/dist/esm/classic/beta/index.d.ts +6 -1
- package/dist/esm/classic/beta/index.d.ts.map +1 -1
- package/dist/esm/classic/beta/index.js +4 -1
- package/dist/esm/classic/beta/index.js.map +1 -1
- package/dist/esm/classic/beta/voiceAgents/conversations/index.d.ts +115 -0
- package/dist/esm/classic/beta/voiceAgents/conversations/index.d.ts.map +1 -0
- package/dist/esm/classic/beta/voiceAgents/conversations/index.js +25 -0
- package/dist/esm/classic/beta/voiceAgents/conversations/index.js.map +1 -0
- package/dist/esm/classic/beta/voiceAgents/index.d.ts +16 -0
- package/dist/esm/classic/beta/voiceAgents/index.d.ts.map +1 -0
- package/dist/esm/classic/beta/voiceAgents/index.js +16 -0
- package/dist/esm/classic/beta/voiceAgents/index.js.map +1 -0
- package/dist/esm/classic/beta/voiceAgents/telephony/index.d.ts +37 -0
- package/dist/esm/classic/beta/voiceAgents/telephony/index.d.ts.map +1 -0
- package/dist/esm/classic/beta/voiceAgents/telephony/index.js +25 -0
- package/dist/esm/classic/beta/voiceAgents/telephony/index.js.map +1 -0
- package/dist/esm/classic/index.d.ts +3 -0
- package/dist/esm/classic/index.d.ts.map +1 -1
- package/dist/esm/classic/index.js.map +1 -1
- package/dist/esm/classic/toolboxes/index.d.ts +4 -2
- package/dist/esm/classic/toolboxes/index.d.ts.map +1 -1
- package/dist/esm/classic/toolboxes/index.js +2 -1
- package/dist/esm/classic/toolboxes/index.js.map +1 -1
- package/dist/esm/constants.d.ts +1 -1
- package/dist/esm/constants.js +1 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/deprecate.interface.d.ts +16 -4
- package/dist/esm/deprecate.interface.d.ts.map +1 -1
- package/dist/esm/deprecate.interface.js.map +1 -1
- package/dist/esm/index.d.ts +15 -4
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models/index.d.ts +2 -1
- package/dist/esm/models/index.d.ts.map +1 -1
- package/dist/esm/models/index.js.map +1 -1
- package/dist/esm/models/models.d.ts +4198 -28
- package/dist/esm/models/models.d.ts.map +1 -1
- package/dist/esm/models/models.js +4881 -22
- package/dist/esm/models/models.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/realtime/asyncQueue.d.ts +29 -0
- package/dist/esm/realtime/asyncQueue.d.ts.map +1 -0
- package/dist/esm/realtime/asyncQueue.js +105 -0
- package/dist/esm/realtime/asyncQueue.js.map +1 -0
- package/dist/esm/realtime/errors.d.ts +34 -0
- package/dist/esm/realtime/errors.d.ts.map +1 -0
- package/dist/esm/realtime/errors.js +40 -0
- package/dist/esm/realtime/errors.js.map +1 -0
- package/dist/esm/realtime/events.d.ts +24 -0
- package/dist/esm/realtime/events.d.ts.map +1 -0
- package/dist/esm/realtime/events.js +4 -0
- package/dist/esm/realtime/events.js.map +1 -0
- package/dist/esm/realtime/protocol.d.ts +7 -0
- package/dist/esm/realtime/protocol.d.ts.map +1 -0
- package/dist/esm/realtime/protocol.js +262 -0
- package/dist/esm/realtime/protocol.js.map +1 -0
- package/dist/esm/realtime/voiceAgentRealtimeClient.d.ts +145 -0
- package/dist/esm/realtime/voiceAgentRealtimeClient.d.ts.map +1 -0
- package/dist/esm/realtime/voiceAgentRealtimeClient.js +376 -0
- package/dist/esm/realtime/voiceAgentRealtimeClient.js.map +1 -0
- package/dist/esm/realtime/webSocketTransportLike.d.ts +44 -0
- package/dist/esm/realtime/webSocketTransportLike.d.ts.map +1 -0
- package/dist/esm/realtime/webSocketTransportLike.js +4 -0
- package/dist/esm/realtime/webSocketTransportLike.js.map +1 -0
- package/dist/esm/webSocketTransport.d.ts +15 -0
- package/dist/esm/webSocketTransport.d.ts.map +1 -0
- package/dist/esm/webSocketTransport.js +220 -0
- package/dist/esm/webSocketTransport.js.map +1 -0
- package/dist/react-native/aiProjectClient.d.ts +1 -0
- package/dist/react-native/aiProjectClient.d.ts.map +1 -1
- package/dist/react-native/aiProjectClient.js +16 -1
- package/dist/react-native/aiProjectClient.js.map +1 -1
- package/dist/react-native/api/agents/index.d.ts +1 -1
- package/dist/react-native/api/agents/index.d.ts.map +1 -1
- package/dist/react-native/api/agents/index.js.map +1 -1
- package/dist/react-native/api/agents/options.d.ts +91 -1
- package/dist/react-native/api/agents/options.d.ts.map +1 -1
- package/dist/react-native/api/agents/options.js.map +1 -1
- package/dist/react-native/api/aiProjectContext.d.ts +3 -0
- package/dist/react-native/api/aiProjectContext.d.ts.map +1 -1
- package/dist/react-native/api/aiProjectContext.js.map +1 -1
- package/dist/react-native/api/beta/agents/index.d.ts +2 -2
- package/dist/react-native/api/beta/agents/index.d.ts.map +1 -1
- package/dist/react-native/api/beta/agents/index.js +1 -1
- package/dist/react-native/api/beta/agents/index.js.map +1 -1
- package/dist/react-native/api/beta/agents/operations.d.ts +9 -2
- package/dist/react-native/api/beta/agents/operations.d.ts.map +1 -1
- package/dist/react-native/api/beta/agents/operations.js +38 -1
- package/dist/react-native/api/beta/agents/operations.js.map +1 -1
- package/dist/react-native/api/beta/agents/options.d.ts +3 -0
- package/dist/react-native/api/beta/agents/options.d.ts.map +1 -1
- package/dist/react-native/api/beta/agents/options.js.map +1 -1
- package/dist/react-native/api/beta/voiceAgents/conversations/index.d.ts +3 -0
- package/dist/react-native/api/beta/voiceAgents/conversations/index.d.ts.map +1 -0
- package/dist/react-native/api/beta/voiceAgents/conversations/index.js +4 -0
- package/dist/react-native/api/beta/voiceAgents/conversations/index.js.map +1 -0
- package/dist/react-native/api/beta/voiceAgents/conversations/operations.d.ts +140 -0
- package/dist/react-native/api/beta/voiceAgents/conversations/operations.d.ts.map +1 -0
- package/dist/react-native/api/beta/voiceAgents/conversations/operations.js +635 -0
- package/dist/react-native/api/beta/voiceAgents/conversations/operations.js.map +1 -0
- package/dist/react-native/api/beta/voiceAgents/conversations/options.d.ts +133 -0
- package/dist/react-native/api/beta/voiceAgents/conversations/options.d.ts.map +1 -0
- package/dist/react-native/api/beta/voiceAgents/conversations/options.js +4 -0
- package/dist/react-native/api/beta/voiceAgents/conversations/options.js.map +1 -0
- package/dist/react-native/api/beta/voiceAgents/telephony/index.d.ts +3 -0
- package/dist/react-native/api/beta/voiceAgents/telephony/index.d.ts.map +1 -0
- package/dist/react-native/api/beta/voiceAgents/telephony/index.js +4 -0
- package/dist/react-native/api/beta/voiceAgents/telephony/index.js.map +1 -0
- package/dist/react-native/api/beta/voiceAgents/telephony/operations.d.ts +62 -0
- package/dist/react-native/api/beta/voiceAgents/telephony/operations.d.ts.map +1 -0
- package/dist/react-native/api/beta/voiceAgents/telephony/operations.js +559 -0
- package/dist/react-native/api/beta/voiceAgents/telephony/operations.js.map +1 -0
- package/dist/react-native/api/beta/voiceAgents/telephony/options.d.ts +133 -0
- package/dist/react-native/api/beta/voiceAgents/telephony/options.d.ts.map +1 -0
- package/dist/react-native/api/beta/voiceAgents/telephony/options.js +4 -0
- package/dist/react-native/api/beta/voiceAgents/telephony/options.js.map +1 -0
- package/dist/react-native/api/datasets/operations.d.ts.map +1 -1
- package/dist/react-native/api/datasets/operations.js +1 -3
- package/dist/react-native/api/datasets/operations.js.map +1 -1
- package/dist/react-native/api/toolboxes/index.d.ts +2 -2
- package/dist/react-native/api/toolboxes/index.d.ts.map +1 -1
- package/dist/react-native/api/toolboxes/index.js +1 -1
- package/dist/react-native/api/toolboxes/index.js.map +1 -1
- package/dist/react-native/api/toolboxes/operations.d.ts +6 -2
- package/dist/react-native/api/toolboxes/operations.d.ts.map +1 -1
- package/dist/react-native/api/toolboxes/operations.js +33 -0
- package/dist/react-native/api/toolboxes/operations.js.map +1 -1
- package/dist/react-native/api/toolboxes/options.d.ts +3 -0
- package/dist/react-native/api/toolboxes/options.d.ts.map +1 -1
- package/dist/react-native/api/toolboxes/options.js.map +1 -1
- package/dist/react-native/classic/beta/agents/index.d.ts +8 -3
- package/dist/react-native/classic/beta/agents/index.d.ts.map +1 -1
- package/dist/react-native/classic/beta/agents/index.js +3 -4
- package/dist/react-native/classic/beta/agents/index.js.map +1 -1
- package/dist/react-native/classic/beta/index.d.ts +6 -1
- package/dist/react-native/classic/beta/index.d.ts.map +1 -1
- package/dist/react-native/classic/beta/index.js +4 -1
- package/dist/react-native/classic/beta/index.js.map +1 -1
- package/dist/react-native/classic/beta/voiceAgents/conversations/index.d.ts +115 -0
- package/dist/react-native/classic/beta/voiceAgents/conversations/index.d.ts.map +1 -0
- package/dist/react-native/classic/beta/voiceAgents/conversations/index.js +25 -0
- package/dist/react-native/classic/beta/voiceAgents/conversations/index.js.map +1 -0
- package/dist/react-native/classic/beta/voiceAgents/index.d.ts +16 -0
- package/dist/react-native/classic/beta/voiceAgents/index.d.ts.map +1 -0
- package/dist/react-native/classic/beta/voiceAgents/index.js +16 -0
- package/dist/react-native/classic/beta/voiceAgents/index.js.map +1 -0
- package/dist/react-native/classic/beta/voiceAgents/telephony/index.d.ts +37 -0
- package/dist/react-native/classic/beta/voiceAgents/telephony/index.d.ts.map +1 -0
- package/dist/react-native/classic/beta/voiceAgents/telephony/index.js +25 -0
- package/dist/react-native/classic/beta/voiceAgents/telephony/index.js.map +1 -0
- package/dist/react-native/classic/index.d.ts +3 -0
- package/dist/react-native/classic/index.d.ts.map +1 -1
- package/dist/react-native/classic/index.js.map +1 -1
- package/dist/react-native/classic/toolboxes/index.d.ts +4 -2
- package/dist/react-native/classic/toolboxes/index.d.ts.map +1 -1
- package/dist/react-native/classic/toolboxes/index.js +2 -1
- package/dist/react-native/classic/toolboxes/index.js.map +1 -1
- package/dist/react-native/constants.d.ts +1 -1
- package/dist/react-native/constants.js +1 -1
- package/dist/react-native/constants.js.map +1 -1
- package/dist/react-native/deprecate.interface.d.ts +16 -4
- package/dist/react-native/deprecate.interface.d.ts.map +1 -1
- package/dist/react-native/deprecate.interface.js.map +1 -1
- package/dist/react-native/index.d.ts +15 -4
- package/dist/react-native/index.d.ts.map +1 -1
- package/dist/react-native/index.js +2 -0
- package/dist/react-native/index.js.map +1 -1
- package/dist/react-native/models/index.d.ts +2 -1
- package/dist/react-native/models/index.d.ts.map +1 -1
- package/dist/react-native/models/index.js.map +1 -1
- package/dist/react-native/models/models.d.ts +4198 -28
- package/dist/react-native/models/models.d.ts.map +1 -1
- package/dist/react-native/models/models.js +4881 -22
- package/dist/react-native/models/models.js.map +1 -1
- package/dist/react-native/package.json +1 -1
- package/dist/react-native/realtime/asyncQueue.d.ts +29 -0
- package/dist/react-native/realtime/asyncQueue.d.ts.map +1 -0
- package/dist/react-native/realtime/asyncQueue.js +105 -0
- package/dist/react-native/realtime/asyncQueue.js.map +1 -0
- package/dist/react-native/realtime/errors.d.ts +34 -0
- package/dist/react-native/realtime/errors.d.ts.map +1 -0
- package/dist/react-native/realtime/errors.js +40 -0
- package/dist/react-native/realtime/errors.js.map +1 -0
- package/dist/react-native/realtime/events.d.ts +24 -0
- package/dist/react-native/realtime/events.d.ts.map +1 -0
- package/dist/react-native/realtime/events.js +4 -0
- package/dist/react-native/realtime/events.js.map +1 -0
- package/dist/react-native/realtime/protocol.d.ts +7 -0
- package/dist/react-native/realtime/protocol.d.ts.map +1 -0
- package/dist/react-native/realtime/protocol.js +262 -0
- package/dist/react-native/realtime/protocol.js.map +1 -0
- package/dist/react-native/realtime/voiceAgentRealtimeClient.d.ts +145 -0
- package/dist/react-native/realtime/voiceAgentRealtimeClient.d.ts.map +1 -0
- package/dist/react-native/realtime/voiceAgentRealtimeClient.js +376 -0
- package/dist/react-native/realtime/voiceAgentRealtimeClient.js.map +1 -0
- package/dist/react-native/realtime/webSocketTransportLike.d.ts +44 -0
- package/dist/react-native/realtime/webSocketTransportLike.d.ts.map +1 -0
- package/dist/react-native/realtime/webSocketTransportLike.js +4 -0
- package/dist/react-native/realtime/webSocketTransportLike.js.map +1 -0
- package/dist/react-native/webSocketTransport-browser.d.mts +31 -0
- package/dist/react-native/webSocketTransport-browser.d.mts.map +1 -0
- package/dist/react-native/webSocketTransport-browser.mjs +218 -0
- package/dist/react-native/webSocketTransport-browser.mjs.map +1 -0
- package/dist/react-native/webSocketTransport.d.ts +2 -0
- package/dist/react-native/webSocketTransport.d.ts.map +1 -0
- package/dist/react-native/webSocketTransport.js +6 -0
- package/dist/react-native/webSocketTransport.js.map +1 -0
- package/package.json +8 -6
package/dist/esm/package.json
CHANGED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
interface AsyncQueueOptions {
|
|
2
|
+
onOverflow?: (error: Error) => void;
|
|
3
|
+
}
|
|
4
|
+
/** @internal */
|
|
5
|
+
export declare class AsyncQueue<T> implements AsyncIterator<T> {
|
|
6
|
+
private readonly capacity;
|
|
7
|
+
private readonly options;
|
|
8
|
+
private readonly values;
|
|
9
|
+
private readonly pendingReads;
|
|
10
|
+
private valueHead;
|
|
11
|
+
private pendingReadHead;
|
|
12
|
+
private terminalError?;
|
|
13
|
+
private isClosed;
|
|
14
|
+
/**
|
|
15
|
+
* @param capacity - Maximum number of buffered values before the queue fails with an overflow
|
|
16
|
+
* error. Realtime sessions can produce events faster than the consumer iterates (or the caller
|
|
17
|
+
* may never start iterating), so an unbounded buffer would otherwise grow without limit.
|
|
18
|
+
*/
|
|
19
|
+
constructor(capacity?: number, options?: AsyncQueueOptions);
|
|
20
|
+
enqueue(value: T): void;
|
|
21
|
+
close(): void;
|
|
22
|
+
fail(error: Error): void;
|
|
23
|
+
next(): Promise<IteratorResult<T>>;
|
|
24
|
+
private takePendingRead;
|
|
25
|
+
private compactValues;
|
|
26
|
+
private compactPendingReads;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=asyncQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncQueue.d.ts","sourceRoot":"","sources":["../../../src/realtime/asyncQueue.ts"],"names":[],"mappings":"AAQA,UAAU,iBAAiB;IACzB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACrC;AAED,gBAAgB;AAChB,qBAAa,UAAU,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAclD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAd1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;;OAIG;gBAEgB,QAAQ,SAAS,EACjB,OAAO,GAAE,iBAAsB;IAG3C,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAyBvB,KAAK,IAAI,IAAI;IAab,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAclB,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAmB/C,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,mBAAmB;CAM5B"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/** @internal */
|
|
4
|
+
export class AsyncQueue {
|
|
5
|
+
capacity;
|
|
6
|
+
options;
|
|
7
|
+
values = [];
|
|
8
|
+
pendingReads = [];
|
|
9
|
+
valueHead = 0;
|
|
10
|
+
pendingReadHead = 0;
|
|
11
|
+
terminalError;
|
|
12
|
+
isClosed = false;
|
|
13
|
+
/**
|
|
14
|
+
* @param capacity - Maximum number of buffered values before the queue fails with an overflow
|
|
15
|
+
* error. Realtime sessions can produce events faster than the consumer iterates (or the caller
|
|
16
|
+
* may never start iterating), so an unbounded buffer would otherwise grow without limit.
|
|
17
|
+
*/
|
|
18
|
+
constructor(capacity = 10_000, options = {}) {
|
|
19
|
+
this.capacity = capacity;
|
|
20
|
+
this.options = options;
|
|
21
|
+
}
|
|
22
|
+
enqueue(value) {
|
|
23
|
+
if (this.isClosed) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const pendingRead = this.takePendingRead();
|
|
27
|
+
if (pendingRead) {
|
|
28
|
+
pendingRead.resolve({ done: false, value });
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (this.values.length - this.valueHead >= this.capacity) {
|
|
32
|
+
const error = new Error(`The voice-agent event queue exceeded its capacity of ${this.capacity} buffered event(s); the consumer is not iterating events fast enough.`);
|
|
33
|
+
try {
|
|
34
|
+
// Let the owner fail the queue with its public error before applying the fallback.
|
|
35
|
+
this.options.onOverflow?.(error);
|
|
36
|
+
}
|
|
37
|
+
finally {
|
|
38
|
+
this.fail(error);
|
|
39
|
+
}
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
this.values.push(value);
|
|
43
|
+
}
|
|
44
|
+
close() {
|
|
45
|
+
if (this.isClosed) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
this.isClosed = true;
|
|
49
|
+
for (const pendingRead of this.pendingReads.slice(this.pendingReadHead)) {
|
|
50
|
+
pendingRead.resolve({ done: true, value: undefined });
|
|
51
|
+
}
|
|
52
|
+
this.pendingReads.length = 0;
|
|
53
|
+
this.pendingReadHead = 0;
|
|
54
|
+
}
|
|
55
|
+
fail(error) {
|
|
56
|
+
if (this.isClosed) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
this.isClosed = true;
|
|
60
|
+
this.terminalError = error;
|
|
61
|
+
for (const pendingRead of this.pendingReads.slice(this.pendingReadHead)) {
|
|
62
|
+
pendingRead.reject(error);
|
|
63
|
+
}
|
|
64
|
+
this.pendingReads.length = 0;
|
|
65
|
+
this.pendingReadHead = 0;
|
|
66
|
+
}
|
|
67
|
+
async next() {
|
|
68
|
+
if (this.valueHead < this.values.length) {
|
|
69
|
+
const value = this.values[this.valueHead++];
|
|
70
|
+
this.compactValues();
|
|
71
|
+
return { done: false, value };
|
|
72
|
+
}
|
|
73
|
+
if (this.terminalError) {
|
|
74
|
+
throw this.terminalError;
|
|
75
|
+
}
|
|
76
|
+
if (this.isClosed) {
|
|
77
|
+
return { done: true, value: undefined };
|
|
78
|
+
}
|
|
79
|
+
// Nothing buffered: park a read for `enqueue`/`close`/`fail` to settle.
|
|
80
|
+
return new Promise((resolve, reject) => {
|
|
81
|
+
this.pendingReads.push({ resolve, reject });
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
takePendingRead() {
|
|
85
|
+
if (this.pendingReadHead >= this.pendingReads.length) {
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
const pendingRead = this.pendingReads[this.pendingReadHead++];
|
|
89
|
+
this.compactPendingReads();
|
|
90
|
+
return pendingRead;
|
|
91
|
+
}
|
|
92
|
+
compactValues() {
|
|
93
|
+
if (this.valueHead > 64 && this.valueHead * 2 >= this.values.length) {
|
|
94
|
+
this.values.splice(0, this.valueHead);
|
|
95
|
+
this.valueHead = 0;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
compactPendingReads() {
|
|
99
|
+
if (this.pendingReadHead > 64 && this.pendingReadHead * 2 >= this.pendingReads.length) {
|
|
100
|
+
this.pendingReads.splice(0, this.pendingReadHead);
|
|
101
|
+
this.pendingReadHead = 0;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=asyncQueue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncQueue.js","sourceRoot":"","sources":["../../../src/realtime/asyncQueue.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAWlC,gBAAgB;AAChB,MAAM,OAAO,UAAU;IAcF;IACA;IAdF,MAAM,GAAQ,EAAE,CAAC;IACjB,YAAY,GAAqB,EAAE,CAAC;IAC7C,SAAS,GAAG,CAAC,CAAC;IACd,eAAe,GAAG,CAAC,CAAC;IACpB,aAAa,CAAS;IACtB,QAAQ,GAAG,KAAK,CAAC;IAEzB;;;;OAIG;IACH,YACmB,WAAW,MAAM,EACjB,UAA6B,EAAE;QAD/B,aAAQ,GAAR,QAAQ,CAAS;QACjB,YAAO,GAAP,OAAO,CAAwB;IAC/C,CAAC;IAEG,OAAO,CAAC,KAAQ;QACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,wDAAwD,IAAI,CAAC,QAAQ,uEAAuE,CAC7I,CAAC;YACF,IAAI,CAAC;gBACH,mFAAmF;gBACnF,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACxE,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;IAC3B,CAAC;IAEM,IAAI,CAAC,KAAY;QACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACxE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAChC,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,aAAa,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC1C,CAAC;QAED,wEAAwE;QACxE,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACrD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACtF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\ninterface PendingRead<T> {\n resolve: (result: IteratorResult<T>) => void;\n reject: (reason: unknown) => void;\n}\n\ninterface AsyncQueueOptions {\n onOverflow?: (error: Error) => void;\n}\n\n/** @internal */\nexport class AsyncQueue<T> implements AsyncIterator<T> {\n private readonly values: T[] = [];\n private readonly pendingReads: PendingRead<T>[] = [];\n private valueHead = 0;\n private pendingReadHead = 0;\n private terminalError?: Error;\n private isClosed = false;\n\n /**\n * @param capacity - Maximum number of buffered values before the queue fails with an overflow\n * error. Realtime sessions can produce events faster than the consumer iterates (or the caller\n * may never start iterating), so an unbounded buffer would otherwise grow without limit.\n */\n public constructor(\n private readonly capacity = 10_000,\n private readonly options: AsyncQueueOptions = {},\n ) {}\n\n public enqueue(value: T): void {\n if (this.isClosed) {\n return;\n }\n\n const pendingRead = this.takePendingRead();\n if (pendingRead) {\n pendingRead.resolve({ done: false, value });\n return;\n }\n if (this.values.length - this.valueHead >= this.capacity) {\n const error = new Error(\n `The voice-agent event queue exceeded its capacity of ${this.capacity} buffered event(s); the consumer is not iterating events fast enough.`,\n );\n try {\n // Let the owner fail the queue with its public error before applying the fallback.\n this.options.onOverflow?.(error);\n } finally {\n this.fail(error);\n }\n return;\n }\n this.values.push(value);\n }\n\n public close(): void {\n if (this.isClosed) {\n return;\n }\n\n this.isClosed = true;\n for (const pendingRead of this.pendingReads.slice(this.pendingReadHead)) {\n pendingRead.resolve({ done: true, value: undefined });\n }\n this.pendingReads.length = 0;\n this.pendingReadHead = 0;\n }\n\n public fail(error: Error): void {\n if (this.isClosed) {\n return;\n }\n\n this.isClosed = true;\n this.terminalError = error;\n for (const pendingRead of this.pendingReads.slice(this.pendingReadHead)) {\n pendingRead.reject(error);\n }\n this.pendingReads.length = 0;\n this.pendingReadHead = 0;\n }\n\n public async next(): Promise<IteratorResult<T>> {\n if (this.valueHead < this.values.length) {\n const value = this.values[this.valueHead++];\n this.compactValues();\n return { done: false, value };\n }\n if (this.terminalError) {\n throw this.terminalError;\n }\n if (this.isClosed) {\n return { done: true, value: undefined };\n }\n\n // Nothing buffered: park a read for `enqueue`/`close`/`fail` to settle.\n return new Promise<IteratorResult<T>>((resolve, reject) => {\n this.pendingReads.push({ resolve, reject });\n });\n }\n\n private takePendingRead(): PendingRead<T> | undefined {\n if (this.pendingReadHead >= this.pendingReads.length) {\n return undefined;\n }\n const pendingRead = this.pendingReads[this.pendingReadHead++];\n this.compactPendingReads();\n return pendingRead;\n }\n\n private compactValues(): void {\n if (this.valueHead > 64 && this.valueHead * 2 >= this.values.length) {\n this.values.splice(0, this.valueHead);\n this.valueHead = 0;\n }\n }\n\n private compactPendingReads(): void {\n if (this.pendingReadHead > 64 && this.pendingReadHead * 2 >= this.pendingReads.length) {\n this.pendingReads.splice(0, this.pendingReadHead);\n this.pendingReadHead = 0;\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/** Error codes raised by the Voice Agents realtime client. */
|
|
2
|
+
export type VoiceAgentRealtimeErrorCode = "authenticationFailed" | "connectionFailed" | "connectionClosed" | "invalidState" | "operationCancelled" | "protocolError" | "sendFailed";
|
|
3
|
+
/** Base error raised by the Voice Agents realtime client. */
|
|
4
|
+
export declare class VoiceAgentRealtimeError extends Error {
|
|
5
|
+
/** A stable code identifying the error category. */
|
|
6
|
+
readonly code: VoiceAgentRealtimeErrorCode;
|
|
7
|
+
/** The underlying error, when available. */
|
|
8
|
+
readonly cause?: unknown;
|
|
9
|
+
constructor(message: string, code: VoiceAgentRealtimeErrorCode, options?: {
|
|
10
|
+
cause?: unknown;
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
/** An error raised while acquiring a Microsoft Entra access token. */
|
|
14
|
+
export declare class VoiceAgentAuthenticationError extends VoiceAgentRealtimeError {
|
|
15
|
+
constructor(message: string, options?: {
|
|
16
|
+
cause?: unknown;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
/** An error raised by the WebSocket connection. */
|
|
20
|
+
export declare class VoiceAgentConnectionError extends VoiceAgentRealtimeError {
|
|
21
|
+
/** The WebSocket close code, when the error was caused by a close frame. */
|
|
22
|
+
readonly closeCode?: number;
|
|
23
|
+
constructor(message: string, code: Extract<VoiceAgentRealtimeErrorCode, "connectionFailed" | "connectionClosed" | "invalidState" | "operationCancelled" | "sendFailed">, options?: {
|
|
24
|
+
cause?: unknown;
|
|
25
|
+
closeCode?: number;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/** An error raised when a WebSocket message does not match the voice-agent protocol. */
|
|
29
|
+
export declare class VoiceAgentProtocolError extends VoiceAgentRealtimeError {
|
|
30
|
+
constructor(message: string, options?: {
|
|
31
|
+
cause?: unknown;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/realtime/errors.ts"],"names":[],"mappings":"AAGA,8DAA8D;AAC9D,MAAM,MAAM,2BAA2B,GACnC,sBAAsB,GACtB,kBAAkB,GAClB,kBAAkB,GAClB,cAAc,GACd,oBAAoB,GACpB,eAAe,GACf,YAAY,CAAC;AAEjB,6DAA6D;AAC7D,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,oDAAoD;IACpD,SAAgB,IAAI,EAAE,2BAA2B,CAAC;IAClD,4CAA4C;IAC5C,SAAyB,KAAK,CAAC,EAAE,OAAO,CAAC;gBAGvC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,2BAA2B,EACjC,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAOpC;AAED,sEAAsE;AACtE,qBAAa,6BAA8B,SAAQ,uBAAuB;gBACrD,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAItE;AAED,mDAAmD;AACnD,qBAAa,yBAA0B,SAAQ,uBAAuB;IACpE,4EAA4E;IAC5E,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAGjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,CACX,2BAA2B,EAC3B,kBAAkB,GAAG,kBAAkB,GAAG,cAAc,GAAG,oBAAoB,GAAG,YAAY,CAC/F,EACD,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO;CAMxD;AAED,wFAAwF;AACxF,qBAAa,uBAAwB,SAAQ,uBAAuB;gBAC/C,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAItE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/** Base error raised by the Voice Agents realtime client. */
|
|
4
|
+
export class VoiceAgentRealtimeError extends Error {
|
|
5
|
+
/** A stable code identifying the error category. */
|
|
6
|
+
code;
|
|
7
|
+
/** The underlying error, when available. */
|
|
8
|
+
cause;
|
|
9
|
+
constructor(message, code, options = {}) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.name = "VoiceAgentRealtimeError";
|
|
12
|
+
this.code = code;
|
|
13
|
+
this.cause = options.cause;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/** An error raised while acquiring a Microsoft Entra access token. */
|
|
17
|
+
export class VoiceAgentAuthenticationError extends VoiceAgentRealtimeError {
|
|
18
|
+
constructor(message, options = {}) {
|
|
19
|
+
super(message, "authenticationFailed", options);
|
|
20
|
+
this.name = "VoiceAgentAuthenticationError";
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/** An error raised by the WebSocket connection. */
|
|
24
|
+
export class VoiceAgentConnectionError extends VoiceAgentRealtimeError {
|
|
25
|
+
/** The WebSocket close code, when the error was caused by a close frame. */
|
|
26
|
+
closeCode;
|
|
27
|
+
constructor(message, code, options = {}) {
|
|
28
|
+
super(message, code, options);
|
|
29
|
+
this.name = "VoiceAgentConnectionError";
|
|
30
|
+
this.closeCode = options.closeCode;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** An error raised when a WebSocket message does not match the voice-agent protocol. */
|
|
34
|
+
export class VoiceAgentProtocolError extends VoiceAgentRealtimeError {
|
|
35
|
+
constructor(message, options = {}) {
|
|
36
|
+
super(message, "protocolError", options);
|
|
37
|
+
this.name = "VoiceAgentProtocolError";
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/realtime/errors.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAYlC,6DAA6D;AAC7D,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,oDAAoD;IACpC,IAAI,CAA8B;IAClD,4CAA4C;IACnB,KAAK,CAAW;IAEzC,YACE,OAAe,EACf,IAAiC,EACjC,UAA+B,EAAE;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7B,CAAC;CACF;AAED,sEAAsE;AACtE,MAAM,OAAO,6BAA8B,SAAQ,uBAAuB;IACxE,YAAmB,OAAe,EAAE,UAA+B,EAAE;QACnE,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED,mDAAmD;AACnD,MAAM,OAAO,yBAA0B,SAAQ,uBAAuB;IACpE,4EAA4E;IAC5D,SAAS,CAAU;IAEnC,YACE,OAAe,EACf,IAGC,EACD,UAAmD,EAAE;QAErD,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;CACF;AAED,wFAAwF;AACxF,MAAM,OAAO,uBAAwB,SAAQ,uBAAuB;IAClE,YAAmB,OAAe,EAAE,UAA+B,EAAE;QACnE,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/** Error codes raised by the Voice Agents realtime client. */\nexport type VoiceAgentRealtimeErrorCode =\n | \"authenticationFailed\"\n | \"connectionFailed\"\n | \"connectionClosed\"\n | \"invalidState\"\n | \"operationCancelled\"\n | \"protocolError\"\n | \"sendFailed\";\n\n/** Base error raised by the Voice Agents realtime client. */\nexport class VoiceAgentRealtimeError extends Error {\n /** A stable code identifying the error category. */\n public readonly code: VoiceAgentRealtimeErrorCode;\n /** The underlying error, when available. */\n public override readonly cause?: unknown;\n\n public constructor(\n message: string,\n code: VoiceAgentRealtimeErrorCode,\n options: { cause?: unknown } = {},\n ) {\n super(message);\n this.name = \"VoiceAgentRealtimeError\";\n this.code = code;\n this.cause = options.cause;\n }\n}\n\n/** An error raised while acquiring a Microsoft Entra access token. */\nexport class VoiceAgentAuthenticationError extends VoiceAgentRealtimeError {\n public constructor(message: string, options: { cause?: unknown } = {}) {\n super(message, \"authenticationFailed\", options);\n this.name = \"VoiceAgentAuthenticationError\";\n }\n}\n\n/** An error raised by the WebSocket connection. */\nexport class VoiceAgentConnectionError extends VoiceAgentRealtimeError {\n /** The WebSocket close code, when the error was caused by a close frame. */\n public readonly closeCode?: number;\n\n public constructor(\n message: string,\n code: Extract<\n VoiceAgentRealtimeErrorCode,\n \"connectionFailed\" | \"connectionClosed\" | \"invalidState\" | \"operationCancelled\" | \"sendFailed\"\n >,\n options: { cause?: unknown; closeCode?: number } = {},\n ) {\n super(message, code, options);\n this.name = \"VoiceAgentConnectionError\";\n this.closeCode = options.closeCode;\n }\n}\n\n/** An error raised when a WebSocket message does not match the voice-agent protocol. */\nexport class VoiceAgentProtocolError extends VoiceAgentRealtimeError {\n public constructor(message: string, options: { cause?: unknown } = {}) {\n super(message, \"protocolError\", options);\n this.name = \"VoiceAgentProtocolError\";\n }\n}\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { VoiceAgentServerEvent } from "../models/models.js";
|
|
2
|
+
/**
|
|
3
|
+
* A server event whose wire type is not recognized by this version of the SDK.
|
|
4
|
+
*
|
|
5
|
+
* The SDK delivers these events without closing the connection or applying known-event
|
|
6
|
+
* validation or normalization. Inspect and validate raw fields before using them.
|
|
7
|
+
*/
|
|
8
|
+
export interface VoiceAgentUnknownEvent {
|
|
9
|
+
/** SDK fallback discriminator, distinct from every known server event type. */
|
|
10
|
+
type: "unknown";
|
|
11
|
+
/** Original `type` discriminator received from the service. */
|
|
12
|
+
eventType: string;
|
|
13
|
+
/** Complete parsed JSON event, including its original `type` and all other wire fields. */
|
|
14
|
+
rawEvent: Record<string, unknown>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* An event received from a voice-agent realtime connection.
|
|
18
|
+
*
|
|
19
|
+
* Known events retain their generated types and normalization. Unrecognized wire types
|
|
20
|
+
* are wrapped in {@link VoiceAgentUnknownEvent}. Switch on `type` to narrow known events,
|
|
21
|
+
* or exclude `type === "unknown"` before passing an event to a known-event handler.
|
|
22
|
+
*/
|
|
23
|
+
export type VoiceAgentRealtimeEvent = VoiceAgentServerEvent | VoiceAgentUnknownEvent;
|
|
24
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/realtime/events.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,+EAA+E;IAC/E,IAAI,EAAE,SAAS,CAAC;IAChB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG,qBAAqB,GAAG,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/realtime/events.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { VoiceAgentServerEvent } from \"../models/models.js\";\n\n/**\n * A server event whose wire type is not recognized by this version of the SDK.\n *\n * The SDK delivers these events without closing the connection or applying known-event\n * validation or normalization. Inspect and validate raw fields before using them.\n */\nexport interface VoiceAgentUnknownEvent {\n /** SDK fallback discriminator, distinct from every known server event type. */\n type: \"unknown\";\n /** Original `type` discriminator received from the service. */\n eventType: string;\n /** Complete parsed JSON event, including its original `type` and all other wire fields. */\n rawEvent: Record<string, unknown>;\n}\n\n/**\n * An event received from a voice-agent realtime connection.\n *\n * Known events retain their generated types and normalization. Unrecognized wire types\n * are wrapped in {@link VoiceAgentUnknownEvent}. Switch on `type` to narrow known events,\n * or exclude `type === \"unknown\"` before passing an event to a known-event handler.\n */\nexport type VoiceAgentRealtimeEvent = VoiceAgentServerEvent | VoiceAgentUnknownEvent;\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { VoiceAgentClientEvent } from "../models/models.js";
|
|
2
|
+
import type { VoiceAgentRealtimeEvent } from "./events.js";
|
|
3
|
+
/** @internal */
|
|
4
|
+
export declare function serializeVoiceAgentClientEvent(event: VoiceAgentClientEvent): string;
|
|
5
|
+
/** @internal */
|
|
6
|
+
export declare function deserializeVoiceAgentServerEvent(data: string | ArrayBuffer): VoiceAgentRealtimeEvent;
|
|
7
|
+
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/realtime/protocol.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAyB,MAAM,qBAAqB,CAAC;AAGxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAiH3D,gBAAgB;AAChB,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAiBnF;AAeD,gBAAgB;AAChB,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,MAAM,GAAG,WAAW,GACzB,uBAAuB,CAuCzB"}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import * as models from "../models/models.js";
|
|
4
|
+
import { VoiceAgentProtocolError } from "./errors.js";
|
|
5
|
+
const clientEventSerializers = {
|
|
6
|
+
"conversation.item.create": models.realtimeClientEventConversationItemCreateSerializer,
|
|
7
|
+
"conversation.item.delete": models.realtimeClientEventConversationItemDeleteSerializer,
|
|
8
|
+
"conversation.item.retrieve": models.realtimeClientEventConversationItemRetrieveSerializer,
|
|
9
|
+
"conversation.item.truncate": models.realtimeClientEventConversationItemTruncateSerializer,
|
|
10
|
+
"input_audio_buffer.append": models.realtimeClientEventInputAudioBufferAppendSerializer,
|
|
11
|
+
"input_audio_buffer.clear": models.realtimeClientEventInputAudioBufferClearSerializer,
|
|
12
|
+
"input_audio_buffer.commit": models.realtimeClientEventInputAudioBufferCommitSerializer,
|
|
13
|
+
"output_audio_buffer.clear": models.realtimeClientEventOutputAudioBufferClearSerializer,
|
|
14
|
+
"response.cancel": models.realtimeClientEventResponseCancelSerializer,
|
|
15
|
+
"response.create": models.realtimeClientEventResponseCreateSerializer,
|
|
16
|
+
"rtc.call.sdp.create": models.voiceAgentClientEventRtcCallSdpCreateSerializer,
|
|
17
|
+
"session.update": models.voiceAgentClientEventSessionUpdateSerializer,
|
|
18
|
+
"session.avatar.connect": models.voiceAgentClientEventSessionAvatarConnectSerializer,
|
|
19
|
+
};
|
|
20
|
+
const serverEventDeserializers = {
|
|
21
|
+
"conversation.item.added": models.realtimeServerEventConversationItemAddedDeserializer,
|
|
22
|
+
"conversation.item.created": models.realtimeServerEventConversationItemCreatedDeserializer,
|
|
23
|
+
"conversation.item.deleted": models.realtimeServerEventConversationItemDeletedDeserializer,
|
|
24
|
+
"conversation.item.done": models.realtimeServerEventConversationItemDoneDeserializer,
|
|
25
|
+
"conversation.item.input_audio_transcription.completed": models.realtimeServerEventConversationItemInputAudioTranscriptionCompletedDeserializer,
|
|
26
|
+
"conversation.item.input_audio_transcription.delta": models.realtimeServerEventConversationItemInputAudioTranscriptionDeltaDeserializer,
|
|
27
|
+
"conversation.item.input_audio_transcription.failed": models.realtimeServerEventConversationItemInputAudioTranscriptionFailedDeserializer,
|
|
28
|
+
"conversation.item.input_audio_transcription.segment": models.realtimeServerEventConversationItemInputAudioTranscriptionSegmentDeserializer,
|
|
29
|
+
"conversation.item.retrieved": models.realtimeServerEventConversationItemRetrievedDeserializer,
|
|
30
|
+
"conversation.item.truncated": models.realtimeServerEventConversationItemTruncatedDeserializer,
|
|
31
|
+
"input_audio_buffer.cleared": models.realtimeServerEventInputAudioBufferClearedDeserializer,
|
|
32
|
+
"input_audio_buffer.committed": models.realtimeServerEventInputAudioBufferCommittedDeserializer,
|
|
33
|
+
"input_audio_buffer.speech_started": models.realtimeServerEventInputAudioBufferSpeechStartedDeserializer,
|
|
34
|
+
"input_audio_buffer.speech_stopped": models.realtimeServerEventInputAudioBufferSpeechStoppedDeserializer,
|
|
35
|
+
"input_audio_buffer.timeout_triggered": models.realtimeServerEventInputAudioBufferTimeoutTriggeredDeserializer,
|
|
36
|
+
"mcp_list_tools.completed": models.realtimeServerEventMCPListToolsCompletedDeserializer,
|
|
37
|
+
"mcp_list_tools.failed": models.realtimeServerEventMCPListToolsFailedDeserializer,
|
|
38
|
+
"mcp_list_tools.in_progress": models.realtimeServerEventMCPListToolsInProgressDeserializer,
|
|
39
|
+
"output_audio_buffer.cleared": models.realtimeServerEventOutputAudioBufferClearedDeserializer,
|
|
40
|
+
"rate_limits.updated": models.realtimeServerEventRateLimitsUpdatedDeserializer,
|
|
41
|
+
"response.output_audio.delta": models.realtimeServerEventResponseAudioDeltaDeserializer,
|
|
42
|
+
"response.output_audio.done": models.realtimeServerEventResponseAudioDoneDeserializer,
|
|
43
|
+
"response.output_audio_transcript.delta": models.realtimeServerEventResponseAudioTranscriptDeltaDeserializer,
|
|
44
|
+
"response.output_audio_transcript.done": models.realtimeServerEventResponseAudioTranscriptDoneDeserializer,
|
|
45
|
+
"response.content_part.added": models.realtimeServerEventResponseContentPartAddedDeserializer,
|
|
46
|
+
"response.content_part.done": models.realtimeServerEventResponseContentPartDoneDeserializer,
|
|
47
|
+
"response.created": models.realtimeServerEventResponseCreatedDeserializer,
|
|
48
|
+
"response.done": models.realtimeServerEventResponseDoneDeserializer,
|
|
49
|
+
"response.function_call_arguments.delta": models.realtimeServerEventResponseFunctionCallArgumentsDeltaDeserializer,
|
|
50
|
+
"response.function_call_arguments.done": models.realtimeServerEventResponseFunctionCallArgumentsDoneDeserializer,
|
|
51
|
+
"response.mcp_call_arguments.delta": models.realtimeServerEventResponseMCPCallArgumentsDeltaDeserializer,
|
|
52
|
+
"response.mcp_call_arguments.done": models.realtimeServerEventResponseMCPCallArgumentsDoneDeserializer,
|
|
53
|
+
"response.mcp_call.completed": models.realtimeServerEventResponseMCPCallCompletedDeserializer,
|
|
54
|
+
"response.mcp_call.failed": models.realtimeServerEventResponseMCPCallFailedDeserializer,
|
|
55
|
+
"response.mcp_call.in_progress": models.realtimeServerEventResponseMCPCallInProgressDeserializer,
|
|
56
|
+
"response.output_item.added": models.realtimeServerEventResponseOutputItemAddedDeserializer,
|
|
57
|
+
"response.output_item.done": models.realtimeServerEventResponseOutputItemDoneDeserializer,
|
|
58
|
+
"response.output_text.delta": models.realtimeServerEventResponseTextDeltaDeserializer,
|
|
59
|
+
"response.output_text.done": models.realtimeServerEventResponseTextDoneDeserializer,
|
|
60
|
+
"rtc.call.error": models.voiceAgentServerEventRtcCallErrorDeserializer,
|
|
61
|
+
"rtc.call.sdp.created": models.voiceAgentServerEventRtcCallSdpCreatedDeserializer,
|
|
62
|
+
"session.created": models.realtimeServerEventSessionCreatedDeserializer,
|
|
63
|
+
"session.subagent.aborted": models.voiceAgentServerEventSessionSubagentAbortedDeserializer,
|
|
64
|
+
"session.subagent.completed": models.voiceAgentServerEventSessionSubagentCompletedDeserializer,
|
|
65
|
+
"session.subagent.started": models.voiceAgentServerEventSessionSubagentStartedDeserializer,
|
|
66
|
+
"session.updated": models.realtimeServerEventSessionUpdatedDeserializer,
|
|
67
|
+
error: models.realtimeServerEventErrorDeserializer,
|
|
68
|
+
warning: models.voiceAgentServerEventWarningDeserializer,
|
|
69
|
+
"session.avatar.connecting": models.voiceAgentServerEventSessionAvatarConnectingDeserializer,
|
|
70
|
+
"session.avatar.switch_to_speaking": models.voiceAgentServerEventSessionAvatarSwitchToSpeakingDeserializer,
|
|
71
|
+
"session.avatar.switch_to_idle": models.voiceAgentServerEventSessionAvatarSwitchToIdleDeserializer,
|
|
72
|
+
"response.audio_timestamp.delta": models.voiceAgentServerEventResponseAudioTimestampDeltaDeserializer,
|
|
73
|
+
"response.audio_timestamp.done": models.voiceAgentServerEventResponseAudioTimestampDoneDeserializer,
|
|
74
|
+
"response.animation_blendshapes.delta": models.voiceAgentServerEventResponseAnimationBlendshapesDeltaDeserializer,
|
|
75
|
+
"response.animation_blendshapes.done": models.voiceAgentServerEventResponseAnimationBlendshapesDoneDeserializer,
|
|
76
|
+
"response.animation_viseme.delta": models.voiceAgentServerEventResponseAnimationVisemeDeltaDeserializer,
|
|
77
|
+
"response.animation_viseme.done": models.voiceAgentServerEventResponseAnimationVisemeDoneDeserializer,
|
|
78
|
+
"response.video.delta": models.voiceAgentServerEventResponseVideoDeltaDeserializer,
|
|
79
|
+
};
|
|
80
|
+
/** @internal */
|
|
81
|
+
export function serializeVoiceAgentClientEvent(event) {
|
|
82
|
+
const serializer = clientEventSerializers[event.type];
|
|
83
|
+
if (!serializer) {
|
|
84
|
+
throw new VoiceAgentProtocolError(`Unsupported client event type: ${event.type}`);
|
|
85
|
+
}
|
|
86
|
+
const serialized = serializer(event);
|
|
87
|
+
if (event.type === "session.update") {
|
|
88
|
+
normalizeSessionUnions(event.session, serialized["session"]);
|
|
89
|
+
}
|
|
90
|
+
else if (event.type === "rtc.call.sdp.create" && event.session) {
|
|
91
|
+
normalizeSessionUnions(event.session, serialized["session"]);
|
|
92
|
+
}
|
|
93
|
+
else if (event.type === "response.create" && event.response?.interim_response) {
|
|
94
|
+
const response = serialized["response"];
|
|
95
|
+
response["interim_response"] = serializeInterimResponse(event.response.interim_response);
|
|
96
|
+
}
|
|
97
|
+
else if (event.type === "conversation.item.create") {
|
|
98
|
+
restoreMessageItemFields(event.item, serialized["item"]);
|
|
99
|
+
}
|
|
100
|
+
return JSON.stringify(serialized);
|
|
101
|
+
}
|
|
102
|
+
// The generated `RealtimeConversationItemUnion` does not enumerate a "message" item variant, so
|
|
103
|
+
// `realtimeConversationItemUnionSerializer` falls back to `realtimeConversationItemSerializer`,
|
|
104
|
+
// which only emits `{ type }` and silently drops `role`/`content`. Restore those fields from the
|
|
105
|
+
// original (pre-serialization) item so the wire payload built by `sendText` is complete; see the
|
|
106
|
+
// TypeSpec regeneration report for details on this generated-model gap.
|
|
107
|
+
function restoreMessageItemFields(item, serializedItem) {
|
|
108
|
+
const source = item;
|
|
109
|
+
if (source?.type === "message") {
|
|
110
|
+
serializedItem["role"] = source.role;
|
|
111
|
+
serializedItem["content"] = source.content;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/** @internal */
|
|
115
|
+
export function deserializeVoiceAgentServerEvent(data) {
|
|
116
|
+
const text = typeof data === "string" ? data : new TextDecoder().decode(data);
|
|
117
|
+
let parsed;
|
|
118
|
+
try {
|
|
119
|
+
parsed = JSON.parse(text);
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
throw new VoiceAgentProtocolError("The service returned invalid JSON.", { cause: error });
|
|
123
|
+
}
|
|
124
|
+
if (!parsed || typeof parsed !== "object" || !("type" in parsed)) {
|
|
125
|
+
throw new VoiceAgentProtocolError("The service returned an event without a type discriminator.");
|
|
126
|
+
}
|
|
127
|
+
const eventType = parsed.type;
|
|
128
|
+
if (typeof eventType !== "string") {
|
|
129
|
+
throw new VoiceAgentProtocolError("The service returned an invalid event type discriminator.");
|
|
130
|
+
}
|
|
131
|
+
const deserializer = Object.prototype.hasOwnProperty.call(serverEventDeserializers, eventType)
|
|
132
|
+
? serverEventDeserializers[eventType]
|
|
133
|
+
: undefined;
|
|
134
|
+
if (!deserializer) {
|
|
135
|
+
return {
|
|
136
|
+
type: "unknown",
|
|
137
|
+
eventType,
|
|
138
|
+
rawEvent: parsed,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
const event = deserializer(parsed);
|
|
142
|
+
validateRequiredServerEventFields(eventType, event);
|
|
143
|
+
if (event.type === "response.output_audio.delta") {
|
|
144
|
+
return { ...event, delta: new Uint8Array(event.delta) };
|
|
145
|
+
}
|
|
146
|
+
if (event.type === "session.created" || event.type === "session.updated") {
|
|
147
|
+
normalizeSessionResponseUnions(event.session);
|
|
148
|
+
}
|
|
149
|
+
return event;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Per-type-required fields for the events the SDK and its samples actually dereference (deltas,
|
|
153
|
+
* ids, error details). Not an exhaustive schema for every event type — that belongs in the
|
|
154
|
+
* generator — but combined with the universal `event_id` check below it catches the reported class
|
|
155
|
+
* of bug: a minimal payload like `{"type":"response.output_text.delta"}` deserializing "successfully"
|
|
156
|
+
* with every other required property left `undefined`.
|
|
157
|
+
*
|
|
158
|
+
* Typed so each field name is checked against the real event interface for its type: a typo, or a
|
|
159
|
+
* field renamed/removed by a future regeneration, fails to compile here instead of silently
|
|
160
|
+
* no-op'ing at runtime.
|
|
161
|
+
*/
|
|
162
|
+
const requiredServerEventFields = {
|
|
163
|
+
"response.output_text.delta": ["delta", "item_id", "response_id"],
|
|
164
|
+
"response.output_audio.delta": ["delta", "item_id", "response_id"],
|
|
165
|
+
"response.output_audio_transcript.delta": ["delta", "item_id", "response_id"],
|
|
166
|
+
"response.function_call_arguments.delta": ["delta", "call_id"],
|
|
167
|
+
"response.function_call_arguments.done": ["arguments", "call_id"],
|
|
168
|
+
"response.created": ["response"],
|
|
169
|
+
"response.done": ["response"],
|
|
170
|
+
"rtc.call.error": ["error"],
|
|
171
|
+
"rtc.call.sdp.created": ["rtc_call_id", "sdp_answer"],
|
|
172
|
+
error: ["error"],
|
|
173
|
+
"session.created": ["session"],
|
|
174
|
+
"session.subagent.aborted": ["consultation_id", "call_id", "subagent_name", "reason"],
|
|
175
|
+
"session.subagent.completed": ["consultation_id", "call_id", "subagent_name"],
|
|
176
|
+
"session.subagent.started": ["consultation_id", "call_id", "subagent_name"],
|
|
177
|
+
"session.updated": ["session"],
|
|
178
|
+
};
|
|
179
|
+
const optionalEventIdServerEvents = new Set(["rtc.call.error"]);
|
|
180
|
+
function validateRequiredServerEventFields(eventType, event) {
|
|
181
|
+
const record = event;
|
|
182
|
+
const eventId = record["event_id"];
|
|
183
|
+
if (!optionalEventIdServerEvents.has(eventType) &&
|
|
184
|
+
(typeof eventId !== "string" || eventId.length === 0)) {
|
|
185
|
+
throw new VoiceAgentProtocolError(`The service returned a "${eventType}" event without a required "event_id" field.`);
|
|
186
|
+
}
|
|
187
|
+
const fieldsForEventType = requiredServerEventFields[eventType];
|
|
188
|
+
for (const field of fieldsForEventType ?? []) {
|
|
189
|
+
if (record[field] === undefined) {
|
|
190
|
+
throw new VoiceAgentProtocolError(`The service returned a "${eventType}" event without the required "${field}" field.`);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
function normalizeSessionUnions(session, serialized) {
|
|
195
|
+
const turnDetection = session.audio?.input?.turn_detection;
|
|
196
|
+
if (turnDetection) {
|
|
197
|
+
const audio = serialized["audio"];
|
|
198
|
+
const input = audio["input"];
|
|
199
|
+
input["turn_detection"] = serializeTurnDetection(turnDetection);
|
|
200
|
+
}
|
|
201
|
+
if (session.interim_response) {
|
|
202
|
+
serialized["interim_response"] = serializeInterimResponse(session.interim_response);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
// The generated `VoiceAgentTurnDetectionConfig` fallback member's `type` field is typed as the
|
|
206
|
+
// full `VoiceAgentTurnDetectionType` literal union (not narrowed to a single value), so TypeScript
|
|
207
|
+
// cannot exclude it from any individual `case` branch below. The runtime `switch` on `.type` already
|
|
208
|
+
// guarantees the narrower shape in each branch, so an explicit cast is used to reflect that.
|
|
209
|
+
function serializeTurnDetection(turnDetection) {
|
|
210
|
+
switch (turnDetection.type) {
|
|
211
|
+
case "server_vad":
|
|
212
|
+
return models.voiceAgentServerVadTurnDetectionSerializer(turnDetection);
|
|
213
|
+
case "semantic_vad":
|
|
214
|
+
return models.voiceAgentSemanticVadTurnDetectionSerializer(turnDetection);
|
|
215
|
+
case "azure_semantic_vad":
|
|
216
|
+
return models.voiceAgentAzureSemanticVadTurnDetectionSerializer(turnDetection);
|
|
217
|
+
case "azure_semantic_vad_en":
|
|
218
|
+
return models.voiceAgentAzureSemanticVadEnTurnDetectionSerializer(turnDetection);
|
|
219
|
+
case "azure_semantic_vad_multilingual":
|
|
220
|
+
return models.voiceAgentAzureSemanticVadMultilingualTurnDetectionSerializer(turnDetection);
|
|
221
|
+
default:
|
|
222
|
+
return models.voiceAgentTurnDetectionConfigSerializer(turnDetection);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
// Same fallback-narrowing limitation as above: `VoiceAgentInterimResponseConfig.type` is `string`,
|
|
226
|
+
// so the ternary's branches cannot be excluded from each other without an explicit cast.
|
|
227
|
+
function serializeInterimResponse(interimResponse) {
|
|
228
|
+
return interimResponse.type === "static_interim_response"
|
|
229
|
+
? models.voiceAgentStaticInterimResponseConfigSerializer(interimResponse)
|
|
230
|
+
: models.voiceAgentLlmInterimResponseConfigSerializer(interimResponse);
|
|
231
|
+
}
|
|
232
|
+
function normalizeSessionResponseUnions(session) {
|
|
233
|
+
const turnDetection = session.audio?.input?.turn_detection;
|
|
234
|
+
if (turnDetection) {
|
|
235
|
+
session.audio.input.turn_detection = deserializeTurnDetection(turnDetection);
|
|
236
|
+
}
|
|
237
|
+
if (session.interim_response) {
|
|
238
|
+
session.interim_response = deserializeInterimResponse(session.interim_response);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
function deserializeTurnDetection(turnDetection) {
|
|
242
|
+
switch (turnDetection.type) {
|
|
243
|
+
case "server_vad":
|
|
244
|
+
return models.voiceAgentServerVadTurnDetectionDeserializer(turnDetection);
|
|
245
|
+
case "semantic_vad":
|
|
246
|
+
return models.voiceAgentSemanticVadTurnDetectionDeserializer(turnDetection);
|
|
247
|
+
case "azure_semantic_vad":
|
|
248
|
+
return models.voiceAgentAzureSemanticVadTurnDetectionDeserializer(turnDetection);
|
|
249
|
+
case "azure_semantic_vad_en":
|
|
250
|
+
return models.voiceAgentAzureSemanticVadEnTurnDetectionDeserializer(turnDetection);
|
|
251
|
+
case "azure_semantic_vad_multilingual":
|
|
252
|
+
return models.voiceAgentAzureSemanticVadMultilingualTurnDetectionDeserializer(turnDetection);
|
|
253
|
+
default:
|
|
254
|
+
return models.voiceAgentTurnDetectionConfigDeserializer(turnDetection);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
function deserializeInterimResponse(interimResponse) {
|
|
258
|
+
return interimResponse.type === "static_interim_response"
|
|
259
|
+
? models.voiceAgentStaticInterimResponseConfigDeserializer(interimResponse)
|
|
260
|
+
: models.voiceAgentLlmInterimResponseConfigDeserializer(interimResponse);
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=protocol.js.map
|