@azure/ai-voicelive 1.0.0-alpha.20251117.2
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/README.md +358 -0
- package/dist/browser/auth/credentialHandler.d.ts +43 -0
- package/dist/browser/auth/credentialHandler.js +147 -0
- package/dist/browser/auth/credentialHandler.js.map +1 -0
- package/dist/browser/errors/connectionErrors.d.ts +68 -0
- package/dist/browser/errors/connectionErrors.js +136 -0
- package/dist/browser/errors/connectionErrors.js.map +1 -0
- package/dist/browser/errors/index.d.ts +2 -0
- package/dist/browser/errors/index.js +4 -0
- package/dist/browser/errors/index.js.map +1 -0
- package/dist/browser/handlers/sessionHandlers.d.ts +250 -0
- package/dist/browser/handlers/sessionHandlers.js +4 -0
- package/dist/browser/handlers/sessionHandlers.js.map +1 -0
- package/dist/browser/handlers/subscriptionManager.d.ts +54 -0
- package/dist/browser/handlers/subscriptionManager.js +250 -0
- package/dist/browser/handlers/subscriptionManager.js.map +1 -0
- package/dist/browser/index.d.ts +7 -0
- package/dist/browser/index.js +12 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/logger.d.ts +2 -0
- package/dist/browser/logger.js +5 -0
- package/dist/browser/logger.js.map +1 -0
- package/dist/browser/models/index.d.ts +2 -0
- package/dist/browser/models/index.js +4 -0
- package/dist/browser/models/index.js.map +1 -0
- package/dist/browser/models/models.d.ts +2154 -0
- package/dist/browser/models/models.js +2251 -0
- package/dist/browser/models/models.js.map +1 -0
- package/dist/browser/package.json +3 -0
- package/dist/browser/protocol/messageParser.d.ts +42 -0
- package/dist/browser/protocol/messageParser.js +150 -0
- package/dist/browser/protocol/messageParser.js.map +1 -0
- package/dist/browser/voiceLiveClient.d.ts +65 -0
- package/dist/browser/voiceLiveClient.js +81 -0
- package/dist/browser/voiceLiveClient.js.map +1 -0
- package/dist/browser/voiceLiveSession.d.ts +138 -0
- package/dist/browser/voiceLiveSession.js +429 -0
- package/dist/browser/voiceLiveSession.js.map +1 -0
- package/dist/browser/websocket/connectionManager.d.ts +88 -0
- package/dist/browser/websocket/connectionManager.js +183 -0
- package/dist/browser/websocket/connectionManager.js.map +1 -0
- package/dist/browser/websocket/websocketBrowser.d.ts +26 -0
- package/dist/browser/websocket/websocketBrowser.js +175 -0
- package/dist/browser/websocket/websocketBrowser.js.map +1 -0
- package/dist/browser/websocket/websocketFactory.d.ts +23 -0
- package/dist/browser/websocket/websocketFactory.js +80 -0
- package/dist/browser/websocket/websocketFactory.js.map +1 -0
- package/dist/browser/websocket/websocketLike.d.ts +78 -0
- package/dist/browser/websocket/websocketLike.js +13 -0
- package/dist/browser/websocket/websocketLike.js.map +1 -0
- package/dist/browser/websocket/websocketNode.d.ts +26 -0
- package/dist/browser/websocket/websocketNode.js +180 -0
- package/dist/browser/websocket/websocketNode.js.map +1 -0
- package/dist/commonjs/auth/credentialHandler.d.ts +43 -0
- package/dist/commonjs/auth/credentialHandler.js +151 -0
- package/dist/commonjs/auth/credentialHandler.js.map +1 -0
- package/dist/commonjs/errors/connectionErrors.d.ts +68 -0
- package/dist/commonjs/errors/connectionErrors.js +146 -0
- package/dist/commonjs/errors/connectionErrors.js.map +1 -0
- package/dist/commonjs/errors/index.d.ts +2 -0
- package/dist/commonjs/errors/index.js +7 -0
- package/dist/commonjs/errors/index.js.map +1 -0
- package/dist/commonjs/handlers/sessionHandlers.d.ts +250 -0
- package/dist/commonjs/handlers/sessionHandlers.js +5 -0
- package/dist/commonjs/handlers/sessionHandlers.js.map +1 -0
- package/dist/commonjs/handlers/subscriptionManager.d.ts +54 -0
- package/dist/commonjs/handlers/subscriptionManager.js +255 -0
- package/dist/commonjs/handlers/subscriptionManager.js.map +1 -0
- package/dist/commonjs/index.d.ts +7 -0
- package/dist/commonjs/index.js +45 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/logger.d.ts +2 -0
- package/dist/commonjs/logger.js +8 -0
- package/dist/commonjs/logger.js.map +1 -0
- package/dist/commonjs/models/index.d.ts +2 -0
- package/dist/commonjs/models/index.js +27 -0
- package/dist/commonjs/models/index.js.map +1 -0
- package/dist/commonjs/models/models.d.ts +2154 -0
- package/dist/commonjs/models/models.js +2463 -0
- package/dist/commonjs/models/models.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/protocol/messageParser.d.ts +42 -0
- package/dist/commonjs/protocol/messageParser.js +154 -0
- package/dist/commonjs/protocol/messageParser.js.map +1 -0
- package/dist/commonjs/tsdoc-metadata.json +11 -0
- package/dist/commonjs/voiceLiveClient.d.ts +65 -0
- package/dist/commonjs/voiceLiveClient.js +85 -0
- package/dist/commonjs/voiceLiveClient.js.map +1 -0
- package/dist/commonjs/voiceLiveSession.d.ts +138 -0
- package/dist/commonjs/voiceLiveSession.js +433 -0
- package/dist/commonjs/voiceLiveSession.js.map +1 -0
- package/dist/commonjs/websocket/connectionManager.d.ts +88 -0
- package/dist/commonjs/websocket/connectionManager.js +187 -0
- package/dist/commonjs/websocket/connectionManager.js.map +1 -0
- package/dist/commonjs/websocket/websocketBrowser.d.ts +26 -0
- package/dist/commonjs/websocket/websocketBrowser.js +179 -0
- package/dist/commonjs/websocket/websocketBrowser.js.map +1 -0
- package/dist/commonjs/websocket/websocketFactory.d.ts +23 -0
- package/dist/commonjs/websocket/websocketFactory.js +86 -0
- package/dist/commonjs/websocket/websocketFactory.js.map +1 -0
- package/dist/commonjs/websocket/websocketLike.d.ts +78 -0
- package/dist/commonjs/websocket/websocketLike.js +16 -0
- package/dist/commonjs/websocket/websocketLike.js.map +1 -0
- package/dist/commonjs/websocket/websocketNode.d.ts +26 -0
- package/dist/commonjs/websocket/websocketNode.js +185 -0
- package/dist/commonjs/websocket/websocketNode.js.map +1 -0
- package/dist/esm/auth/credentialHandler.d.ts +43 -0
- package/dist/esm/auth/credentialHandler.js +147 -0
- package/dist/esm/auth/credentialHandler.js.map +1 -0
- package/dist/esm/errors/connectionErrors.d.ts +68 -0
- package/dist/esm/errors/connectionErrors.js +136 -0
- package/dist/esm/errors/connectionErrors.js.map +1 -0
- package/dist/esm/errors/index.d.ts +2 -0
- package/dist/esm/errors/index.js +4 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/handlers/sessionHandlers.d.ts +250 -0
- package/dist/esm/handlers/sessionHandlers.js +4 -0
- package/dist/esm/handlers/sessionHandlers.js.map +1 -0
- package/dist/esm/handlers/subscriptionManager.d.ts +54 -0
- package/dist/esm/handlers/subscriptionManager.js +250 -0
- package/dist/esm/handlers/subscriptionManager.js.map +1 -0
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/logger.d.ts +2 -0
- package/dist/esm/logger.js +5 -0
- package/dist/esm/logger.js.map +1 -0
- package/dist/esm/models/index.d.ts +2 -0
- package/dist/esm/models/index.js +4 -0
- package/dist/esm/models/index.js.map +1 -0
- package/dist/esm/models/models.d.ts +2154 -0
- package/dist/esm/models/models.js +2251 -0
- package/dist/esm/models/models.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/protocol/messageParser.d.ts +42 -0
- package/dist/esm/protocol/messageParser.js +150 -0
- package/dist/esm/protocol/messageParser.js.map +1 -0
- package/dist/esm/voiceLiveClient.d.ts +65 -0
- package/dist/esm/voiceLiveClient.js +81 -0
- package/dist/esm/voiceLiveClient.js.map +1 -0
- package/dist/esm/voiceLiveSession.d.ts +138 -0
- package/dist/esm/voiceLiveSession.js +429 -0
- package/dist/esm/voiceLiveSession.js.map +1 -0
- package/dist/esm/websocket/connectionManager.d.ts +88 -0
- package/dist/esm/websocket/connectionManager.js +183 -0
- package/dist/esm/websocket/connectionManager.js.map +1 -0
- package/dist/esm/websocket/websocketBrowser.d.ts +26 -0
- package/dist/esm/websocket/websocketBrowser.js +175 -0
- package/dist/esm/websocket/websocketBrowser.js.map +1 -0
- package/dist/esm/websocket/websocketFactory.d.ts +23 -0
- package/dist/esm/websocket/websocketFactory.js +80 -0
- package/dist/esm/websocket/websocketFactory.js.map +1 -0
- package/dist/esm/websocket/websocketLike.d.ts +78 -0
- package/dist/esm/websocket/websocketLike.js +13 -0
- package/dist/esm/websocket/websocketLike.js.map +1 -0
- package/dist/esm/websocket/websocketNode.d.ts +26 -0
- package/dist/esm/websocket/websocketNode.js +180 -0
- package/dist/esm/websocket/websocketNode.js.map +1 -0
- package/dist/react-native/auth/credentialHandler.d.ts +43 -0
- package/dist/react-native/auth/credentialHandler.js +147 -0
- package/dist/react-native/auth/credentialHandler.js.map +1 -0
- package/dist/react-native/errors/connectionErrors.d.ts +68 -0
- package/dist/react-native/errors/connectionErrors.js +136 -0
- package/dist/react-native/errors/connectionErrors.js.map +1 -0
- package/dist/react-native/errors/index.d.ts +2 -0
- package/dist/react-native/errors/index.js +4 -0
- package/dist/react-native/errors/index.js.map +1 -0
- package/dist/react-native/handlers/sessionHandlers.d.ts +250 -0
- package/dist/react-native/handlers/sessionHandlers.js +4 -0
- package/dist/react-native/handlers/sessionHandlers.js.map +1 -0
- package/dist/react-native/handlers/subscriptionManager.d.ts +54 -0
- package/dist/react-native/handlers/subscriptionManager.js +250 -0
- package/dist/react-native/handlers/subscriptionManager.js.map +1 -0
- package/dist/react-native/index.d.ts +7 -0
- package/dist/react-native/index.js +12 -0
- package/dist/react-native/index.js.map +1 -0
- package/dist/react-native/logger.d.ts +2 -0
- package/dist/react-native/logger.js +5 -0
- package/dist/react-native/logger.js.map +1 -0
- package/dist/react-native/models/index.d.ts +2 -0
- package/dist/react-native/models/index.js +4 -0
- package/dist/react-native/models/index.js.map +1 -0
- package/dist/react-native/models/models.d.ts +2154 -0
- package/dist/react-native/models/models.js +2251 -0
- package/dist/react-native/models/models.js.map +1 -0
- package/dist/react-native/package.json +3 -0
- package/dist/react-native/protocol/messageParser.d.ts +42 -0
- package/dist/react-native/protocol/messageParser.js +150 -0
- package/dist/react-native/protocol/messageParser.js.map +1 -0
- package/dist/react-native/voiceLiveClient.d.ts +65 -0
- package/dist/react-native/voiceLiveClient.js +81 -0
- package/dist/react-native/voiceLiveClient.js.map +1 -0
- package/dist/react-native/voiceLiveSession.d.ts +138 -0
- package/dist/react-native/voiceLiveSession.js +429 -0
- package/dist/react-native/voiceLiveSession.js.map +1 -0
- package/dist/react-native/websocket/connectionManager.d.ts +88 -0
- package/dist/react-native/websocket/connectionManager.js +183 -0
- package/dist/react-native/websocket/connectionManager.js.map +1 -0
- package/dist/react-native/websocket/websocketBrowser.d.ts +26 -0
- package/dist/react-native/websocket/websocketBrowser.js +175 -0
- package/dist/react-native/websocket/websocketBrowser.js.map +1 -0
- package/dist/react-native/websocket/websocketFactory.d.ts +23 -0
- package/dist/react-native/websocket/websocketFactory.js +80 -0
- package/dist/react-native/websocket/websocketFactory.js.map +1 -0
- package/dist/react-native/websocket/websocketLike.d.ts +78 -0
- package/dist/react-native/websocket/websocketLike.js +13 -0
- package/dist/react-native/websocket/websocketLike.js.map +1 -0
- package/dist/react-native/websocket/websocketNode.d.ts +26 -0
- package/dist/react-native/websocket/websocketNode.js +180 -0
- package/dist/react-native/websocket/websocketNode.js.map +1 -0
- package/package.json +150 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { stringToUint8Array } from \"@azure/core-util\";\n\n/** Error object returned in case of API failure. */\nexport interface VoiceLiveErrorDetails {\n /** Error code, or null if unspecified. */\n code?: string;\n /** Human-readable error message. */\n message: string;\n /** Parameter name related to the error, if applicable. */\n param?: string;\n /** Type or category of the error. */\n type?: string;\n /** Event id of the error. */\n eventId?: string;\n}\n\nexport function voiceLiveErrorDetailsDeserializer(item: any): VoiceLiveErrorDetails {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n param: item[\"param\"],\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n };\n}\n\n/** Standard error response envelope. */\nexport interface ErrorResponse {\n /** Error object returned in case of API failure. */\n error: VoiceLiveErrorDetails;\n}\n\nexport function errorResponseDeserializer(item: any): ErrorResponse {\n return {\n error: voiceLiveErrorDetailsDeserializer(item[\"error\"]),\n };\n}\n\n/** A single log probability entry for a token. */\nexport interface LogProbProperties {\n /** The token that was used to generate the log probability. */\n token: string;\n /** The log probability of the token. */\n logprob: number;\n /** The bytes that were used to generate the log probability. */\n bytes: number[];\n}\n\nexport function logProbPropertiesDeserializer(item: any): LogProbProperties {\n return {\n token: item[\"token\"],\n logprob: item[\"logprob\"],\n bytes: item[\"bytes\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** A voicelive client event. */\nexport interface ClientEvent {\n /** The type of event. */\n /** The discriminator possible values: session.update, session.avatar.connect, input_audio.turn.start, input_audio.turn.append, input_audio.turn.end, input_audio.turn.cancel, input_audio.clear, input_audio_buffer.append, input_audio_buffer.commit, input_audio_buffer.clear, conversation.item.create, conversation.item.truncate, conversation.item.delete, response.create, response.cancel, conversation.item.retrieve */\n type: ClientEventType;\n eventId?: string;\n}\n\nexport function clientEventSerializer(item: ClientEvent): any {\n return { type: item[\"type\"], event_id: item[\"eventId\"] };\n}\n\n/** Alias for ClientEventUnion */\nexport type ClientEventUnion =\n | ClientEventSessionUpdate\n | ClientEventSessionAvatarConnect\n | ClientEventInputAudioTurnStart\n | ClientEventInputAudioTurnAppend\n | ClientEventInputAudioTurnEnd\n | ClientEventInputAudioTurnCancel\n | ClientEventInputAudioClear\n | ClientEventInputAudioBufferAppend\n | ClientEventInputAudioBufferCommit\n | ClientEventInputAudioBufferClear\n | ClientEventConversationItemCreate\n | ClientEventConversationItemTruncate\n | ClientEventConversationItemDelete\n | ClientEventResponseCreate\n | ClientEventResponseCancel\n | ClientEventConversationItemRetrieve\n | ClientEvent;\n\nexport function clientEventUnionSerializer(item: ClientEventUnion): any {\n switch (item.type) {\n case \"session.update\":\n return clientEventSessionUpdateSerializer(item as ClientEventSessionUpdate);\n\n case \"session.avatar.connect\":\n return clientEventSessionAvatarConnectSerializer(item as ClientEventSessionAvatarConnect);\n\n case \"input_audio.turn.start\":\n return clientEventInputAudioTurnStartSerializer(item as ClientEventInputAudioTurnStart);\n\n case \"input_audio.turn.append\":\n return clientEventInputAudioTurnAppendSerializer(item as ClientEventInputAudioTurnAppend);\n\n case \"input_audio.turn.end\":\n return clientEventInputAudioTurnEndSerializer(item as ClientEventInputAudioTurnEnd);\n\n case \"input_audio.turn.cancel\":\n return clientEventInputAudioTurnCancelSerializer(item as ClientEventInputAudioTurnCancel);\n\n case \"input_audio.clear\":\n return clientEventInputAudioClearSerializer(item as ClientEventInputAudioClear);\n\n case \"input_audio_buffer.append\":\n return clientEventInputAudioBufferAppendSerializer(item as ClientEventInputAudioBufferAppend);\n\n case \"input_audio_buffer.commit\":\n return clientEventInputAudioBufferCommitSerializer(item as ClientEventInputAudioBufferCommit);\n\n case \"input_audio_buffer.clear\":\n return clientEventInputAudioBufferClearSerializer(item as ClientEventInputAudioBufferClear);\n\n case \"conversation.item.create\":\n return clientEventConversationItemCreateSerializer(item as ClientEventConversationItemCreate);\n\n case \"conversation.item.truncate\":\n return clientEventConversationItemTruncateSerializer(\n item as ClientEventConversationItemTruncate,\n );\n\n case \"conversation.item.delete\":\n return clientEventConversationItemDeleteSerializer(item as ClientEventConversationItemDelete);\n\n case \"response.create\":\n return clientEventResponseCreateSerializer(item as ClientEventResponseCreate);\n\n case \"response.cancel\":\n return clientEventResponseCancelSerializer(item as ClientEventResponseCancel);\n\n case \"conversation.item.retrieve\":\n return clientEventConversationItemRetrieveSerializer(\n item as ClientEventConversationItemRetrieve,\n );\n\n default:\n return clientEventSerializer(item);\n }\n}\n\n/** Client event types used in VoiceLive protocol. */\nexport enum KnownClientEventType {\n /** session.update */\n SessionUpdate = \"session.update\",\n /** input_audio_buffer.append */\n InputAudioBufferAppend = \"input_audio_buffer.append\",\n /** input_audio_buffer.commit */\n InputAudioBufferCommit = \"input_audio_buffer.commit\",\n /** input_audio_buffer.clear */\n InputAudioBufferClear = \"input_audio_buffer.clear\",\n /** input_audio.turn.start */\n InputAudioTurnStart = \"input_audio.turn.start\",\n /** input_audio.turn.append */\n InputAudioTurnAppend = \"input_audio.turn.append\",\n /** input_audio.turn.end */\n InputAudioTurnEnd = \"input_audio.turn.end\",\n /** input_audio.turn.cancel */\n InputAudioTurnCancel = \"input_audio.turn.cancel\",\n /** input_audio.clear */\n InputAudioClear = \"input_audio.clear\",\n /** conversation.item.create */\n ConversationItemCreate = \"conversation.item.create\",\n /** conversation.item.retrieve */\n ConversationItemRetrieve = \"conversation.item.retrieve\",\n /** conversation.item.truncate */\n ConversationItemTruncate = \"conversation.item.truncate\",\n /** conversation.item.delete */\n ConversationItemDelete = \"conversation.item.delete\",\n /** response.create */\n ResponseCreate = \"response.create\",\n /** response.cancel */\n ResponseCancel = \"response.cancel\",\n /** session.avatar.connect */\n SessionAvatarConnect = \"session.avatar.connect\",\n}\n\n/**\n * Client event types used in VoiceLive protocol. \\\n * {@link KnownClientEventType} can be used interchangeably with ClientEventType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **session.update** \\\n * **input_audio_buffer.append** \\\n * **input_audio_buffer.commit** \\\n * **input_audio_buffer.clear** \\\n * **input_audio.turn.start** \\\n * **input_audio.turn.append** \\\n * **input_audio.turn.end** \\\n * **input_audio.turn.cancel** \\\n * **input_audio.clear** \\\n * **conversation.item.create** \\\n * **conversation.item.retrieve** \\\n * **conversation.item.truncate** \\\n * **conversation.item.delete** \\\n * **response.create** \\\n * **response.cancel** \\\n * **session.avatar.connect**\n */\nexport type ClientEventType = string;\n\n/**\n * Send this event to update the session’s default configuration.\n * The client may send this event at any time to update any field,\n * except for `voice`. However, note that once a session has been\n * initialized with a particular `model`, it can’t be changed to\n * another model using `session.update`.\n * When the server receives a `session.update`, it will respond\n * with a `session.updated` event showing the full, effective configuration.\n * Only the fields that are present are updated. To clear a field like\n * `instructions`, pass an empty string.\n */\nexport interface ClientEventSessionUpdate extends ClientEvent {\n /** The event type, must be `session.update`. */\n type: \"session.update\";\n session: RequestSession;\n}\n\nexport function clientEventSessionUpdateSerializer(item: ClientEventSessionUpdate): any {\n return {\n type: item[\"type\"],\n event_id: item[\"eventId\"],\n session: requestSessionSerializer(item[\"session\"]),\n };\n}\n\n/** Base for session configuration shared between request and response. */\nexport interface RequestSession {\n /** The model for the session. */\n model?: string;\n /** The modalities to be used in the session. */\n modalities?: Modality[];\n /** The animation configuration for the session. */\n animation?: Animation;\n /** The voice configuration for the session. */\n voice?: Voice;\n /** Optional instructions to guide the model's behavior throughout the session. */\n instructions?: string;\n /**\n * Input audio sampling rate in Hz. Available values:\n *\n * - For pcm16: 8000, 16000, 24000\n *\n * - For g711_alaw/g711_ulaw: 8000\n */\n inputAudioSamplingRate?: number;\n /** Input audio format. Default is 'pcm16'. */\n inputAudioFormat?: InputAudioFormat;\n /** Output audio format. Default is 'pcm16'. */\n outputAudioFormat?: OutputAudioFormat;\n /** Type of turn detection to use. */\n turnDetection?: TurnDetectionUnion;\n /** Configuration for input audio noise reduction. */\n inputAudioNoiseReduction?: AudioNoiseReduction;\n /** Configuration for echo cancellation during server-side audio processing. */\n inputAudioEchoCancellation?: AudioEchoCancellation;\n /** Configuration for avatar streaming and behavior during the session. */\n avatar?: AvatarConfig;\n /** Configuration for input audio transcription. */\n inputAudioTranscription?: AudioInputTranscriptionOptions;\n /** Types of timestamps to include in audio response content. */\n outputAudioTimestampTypes?: AudioTimestampType[];\n /** Configuration for tools to be used during the session, if applicable. */\n tools?: ToolUnion[];\n /** Specifies which tools the model is allowed to call during the session. */\n toolChoice?: ToolChoice;\n /** Controls the randomness of the model's output. Range: 0.0 to 1.0. Default is 0.7. */\n temperature?: number;\n /** Maximum number of tokens to generate in the response. Default is unlimited. */\n maxResponseOutputTokens?: number | \"inf\";\n}\n\nexport function requestSessionSerializer(item: RequestSession): any {\n return {\n model: item[\"model\"],\n modalities: !item[\"modalities\"]\n ? item[\"modalities\"]\n : item[\"modalities\"].map((p: any) => {\n return p;\n }),\n animation: !item[\"animation\"] ? item[\"animation\"] : animationSerializer(item[\"animation\"]),\n voice: !item[\"voice\"] ? item[\"voice\"] : voiceSerializer(item[\"voice\"]),\n instructions: item[\"instructions\"],\n input_audio_sampling_rate: item[\"inputAudioSamplingRate\"],\n input_audio_format: item[\"inputAudioFormat\"],\n output_audio_format: item[\"outputAudioFormat\"],\n turn_detection: !item[\"turnDetection\"]\n ? item[\"turnDetection\"]\n : turnDetectionUnionSerializer(item[\"turnDetection\"]),\n input_audio_noise_reduction: !item[\"inputAudioNoiseReduction\"]\n ? item[\"inputAudioNoiseReduction\"]\n : audioNoiseReductionSerializer(item[\"inputAudioNoiseReduction\"]),\n input_audio_echo_cancellation: !item[\"inputAudioEchoCancellation\"]\n ? item[\"inputAudioEchoCancellation\"]\n : audioEchoCancellationSerializer(item[\"inputAudioEchoCancellation\"]),\n avatar: !item[\"avatar\"] ? item[\"avatar\"] : avatarConfigSerializer(item[\"avatar\"]),\n input_audio_transcription: !item[\"inputAudioTranscription\"]\n ? item[\"inputAudioTranscription\"]\n : audioInputTranscriptionOptionsSerializer(item[\"inputAudioTranscription\"]),\n output_audio_timestamp_types: !item[\"outputAudioTimestampTypes\"]\n ? item[\"outputAudioTimestampTypes\"]\n : item[\"outputAudioTimestampTypes\"].map((p: any) => {\n return p;\n }),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArraySerializer(item[\"tools\"]),\n tool_choice: !item[\"toolChoice\"]\n ? item[\"toolChoice\"]\n : toolChoiceSerializer(item[\"toolChoice\"]),\n temperature: item[\"temperature\"],\n max_response_output_tokens: !item[\"maxResponseOutputTokens\"]\n ? item[\"maxResponseOutputTokens\"]\n : _requestSessionMaxResponseOutputTokensSerializer(item[\"maxResponseOutputTokens\"]),\n };\n}\n\n/** Supported modalities for the session. */\nexport enum KnownModality {\n /** Text modality. */\n Text = \"text\",\n /** Audio modality. */\n Audio = \"audio\",\n /** Animation modality. */\n Animation = \"animation\",\n /** Avatar modality. */\n Avatar = \"avatar\",\n}\n\n/**\n * Supported modalities for the session. \\\n * {@link KnownModality} can be used interchangeably with Modality,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **text**: Text modality. \\\n * **audio**: Audio modality. \\\n * **animation**: Animation modality. \\\n * **avatar**: Avatar modality.\n */\nexport type Modality = string;\n\n/** Configuration for animation outputs including blendshapes and visemes metadata. */\nexport interface Animation {\n /** The name of the animation model to use. */\n modelName?: string;\n /** Set of output data types requested from the animation system. */\n outputs?: AnimationOutputType[];\n}\n\nexport function animationSerializer(item: Animation): any {\n return {\n model_name: item[\"modelName\"],\n outputs: !item[\"outputs\"]\n ? item[\"outputs\"]\n : item[\"outputs\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function animationDeserializer(item: any): Animation {\n return {\n modelName: item[\"model_name\"],\n outputs: !item[\"outputs\"]\n ? item[\"outputs\"]\n : item[\"outputs\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Specifies the types of animation data to output. */\nexport enum KnownAnimationOutputType {\n /** Blendshapes output type. */\n Blendshapes = \"blendshapes\",\n /** Viseme ID output type. */\n VisemeId = \"viseme_id\",\n}\n\n/**\n * Specifies the types of animation data to output. \\\n * {@link KnownAnimationOutputType} can be used interchangeably with AnimationOutputType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **blendshapes**: Blendshapes output type. \\\n * **viseme_id**: Viseme ID output type.\n */\nexport type AnimationOutputType = string;\n/** Union of all supported voice configurations. */\nexport type Voice = OAIVoice | OpenAIVoice | AzureVoiceUnion;\n\nexport function voiceSerializer(item: Voice): any {\n return item;\n}\n\nexport function voiceDeserializer(item: any): Voice {\n return item;\n}\n\n/** Supported OpenAI voice names (string enum). */\nexport enum KnownOAIVoice {\n /** Alloy voice. */\n Alloy = \"alloy\",\n /** Ash voice. */\n Ash = \"ash\",\n /** Ballard voice. */\n Ballad = \"ballad\",\n /** Coral voice. */\n Coral = \"coral\",\n /** Echo voice. */\n Echo = \"echo\",\n /** Sage voice. */\n Sage = \"sage\",\n /** Shimmer voice. */\n Shimmer = \"shimmer\",\n /** Verse voice. */\n Verse = \"verse\",\n}\n\n/**\n * Supported OpenAI voice names (string enum). \\\n * {@link KnownOAIVoice} can be used interchangeably with OAIVoice,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **alloy**: Alloy voice. \\\n * **ash**: Ash voice. \\\n * **ballad**: Ballard voice. \\\n * **coral**: Coral voice. \\\n * **echo**: Echo voice. \\\n * **sage**: Sage voice. \\\n * **shimmer**: Shimmer voice. \\\n * **verse**: Verse voice.\n */\nexport type OAIVoice = string;\n\n/**\n * OpenAI voice configuration with explicit type field.\n *\n * This provides a unified interface for OpenAI voices, complementing the\n * existing string-based OAIVoice for backward compatibility.\n */\nexport interface OpenAIVoice {\n /** The type of the voice. */\n type: \"openai\";\n /** The name of the OpenAI voice. */\n name: OAIVoice;\n}\n\nexport function openAIVoiceSerializer(item: OpenAIVoice): any {\n return { type: item[\"type\"], name: item[\"name\"] };\n}\n\nexport function openAIVoiceDeserializer(item: any): OpenAIVoice {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Base for Azure voice configurations. */\nexport interface AzureVoice {\n /** The type of the Azure voice. */\n /** The discriminator possible values: azure-custom, azure-standard, azure-personal */\n type: AzureVoiceType;\n}\n\nexport function azureVoiceSerializer(item: AzureVoice): any {\n return { type: item[\"type\"] };\n}\n\nexport function azureVoiceDeserializer(item: any): AzureVoice {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for AzureVoiceUnion */\nexport type AzureVoiceUnion =\n | AzureCustomVoice\n | AzureStandardVoice\n | AzurePersonalVoice\n | AzureVoice;\n\nexport function azureVoiceUnionSerializer(item: AzureVoiceUnion): any {\n switch (item.type) {\n case \"azure-custom\":\n return azureCustomVoiceSerializer(item as AzureCustomVoice);\n\n case \"azure-standard\":\n return azureStandardVoiceSerializer(item as AzureStandardVoice);\n\n case \"azure-personal\":\n return azurePersonalVoiceSerializer(item as AzurePersonalVoice);\n\n default:\n return azureVoiceSerializer(item);\n }\n}\n\nexport function azureVoiceUnionDeserializer(item: any): AzureVoiceUnion {\n switch (item.type) {\n case \"azure-custom\":\n return azureCustomVoiceDeserializer(item as AzureCustomVoice);\n\n case \"azure-standard\":\n return azureStandardVoiceDeserializer(item as AzureStandardVoice);\n\n case \"azure-personal\":\n return azurePersonalVoiceDeserializer(item as AzurePersonalVoice);\n\n default:\n return azureVoiceDeserializer(item);\n }\n}\n\n/** Union of all supported Azure voice types. */\nexport enum KnownAzureVoiceType {\n /** Azure custom voice. */\n AzureCustom = \"azure-custom\",\n /** Azure standard voice. */\n AzureStandard = \"azure-standard\",\n /** Azure personal voice. */\n AzurePersonal = \"azure-personal\",\n}\n\n/**\n * Union of all supported Azure voice types. \\\n * {@link KnownAzureVoiceType} can be used interchangeably with AzureVoiceType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **azure-custom**: Azure custom voice. \\\n * **azure-standard**: Azure standard voice. \\\n * **azure-personal**: Azure personal voice.\n */\nexport type AzureVoiceType = string;\n\n/** Azure custom voice configuration. */\nexport interface AzureCustomVoice extends AzureVoice {\n type: \"azure-custom\";\n /** Voice name cannot be empty. */\n name: string;\n /** Endpoint ID cannot be empty. */\n endpointId: string;\n /** Temperature must be between 0.0 and 1.0. */\n temperature?: number;\n customLexiconUrl?: string;\n preferLocales?: string[];\n locale?: string;\n style?: string;\n pitch?: string;\n rate?: string;\n volume?: string;\n}\n\nexport function azureCustomVoiceSerializer(item: AzureCustomVoice): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n endpoint_id: item[\"endpointId\"],\n temperature: item[\"temperature\"],\n custom_lexicon_url: item[\"customLexiconUrl\"],\n prefer_locales: !item[\"preferLocales\"]\n ? item[\"preferLocales\"]\n : item[\"preferLocales\"].map((p: any) => {\n return p;\n }),\n locale: item[\"locale\"],\n style: item[\"style\"],\n pitch: item[\"pitch\"],\n rate: item[\"rate\"],\n volume: item[\"volume\"],\n };\n}\n\nexport function azureCustomVoiceDeserializer(item: any): AzureCustomVoice {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n endpointId: item[\"endpoint_id\"],\n temperature: item[\"temperature\"],\n customLexiconUrl: item[\"custom_lexicon_url\"],\n preferLocales: !item[\"prefer_locales\"]\n ? item[\"prefer_locales\"]\n : item[\"prefer_locales\"].map((p: any) => {\n return p;\n }),\n locale: item[\"locale\"],\n style: item[\"style\"],\n pitch: item[\"pitch\"],\n rate: item[\"rate\"],\n volume: item[\"volume\"],\n };\n}\n\n/** Azure standard voice configuration. */\nexport interface AzureStandardVoice extends AzureVoice {\n type: \"azure-standard\";\n /** Voice name cannot be empty. */\n name: string;\n /** Temperature must be between 0.0 and 1.0. */\n temperature?: number;\n customLexiconUrl?: string;\n preferLocales?: string[];\n locale?: string;\n style?: string;\n pitch?: string;\n rate?: string;\n volume?: string;\n}\n\nexport function azureStandardVoiceSerializer(item: AzureStandardVoice): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n temperature: item[\"temperature\"],\n custom_lexicon_url: item[\"customLexiconUrl\"],\n prefer_locales: !item[\"preferLocales\"]\n ? item[\"preferLocales\"]\n : item[\"preferLocales\"].map((p: any) => {\n return p;\n }),\n locale: item[\"locale\"],\n style: item[\"style\"],\n pitch: item[\"pitch\"],\n rate: item[\"rate\"],\n volume: item[\"volume\"],\n };\n}\n\nexport function azureStandardVoiceDeserializer(item: any): AzureStandardVoice {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n temperature: item[\"temperature\"],\n customLexiconUrl: item[\"custom_lexicon_url\"],\n preferLocales: !item[\"prefer_locales\"]\n ? item[\"prefer_locales\"]\n : item[\"prefer_locales\"].map((p: any) => {\n return p;\n }),\n locale: item[\"locale\"],\n style: item[\"style\"],\n pitch: item[\"pitch\"],\n rate: item[\"rate\"],\n volume: item[\"volume\"],\n };\n}\n\n/** Azure personal voice configuration. */\nexport interface AzurePersonalVoice extends AzureVoice {\n type: \"azure-personal\";\n /** Voice name cannot be empty. */\n name: string;\n /** Temperature must be between 0.0 and 1.0. */\n temperature?: number;\n /** Underlying neural model to use for personal voice. */\n model: PersonalVoiceModels;\n}\n\nexport function azurePersonalVoiceSerializer(item: AzurePersonalVoice): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n temperature: item[\"temperature\"],\n model: item[\"model\"],\n };\n}\n\nexport function azurePersonalVoiceDeserializer(item: any): AzurePersonalVoice {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n temperature: item[\"temperature\"],\n model: item[\"model\"],\n };\n}\n\n/** PersonalVoice models */\nexport enum KnownPersonalVoiceModels {\n /** Use the latest Dragon model. */\n DragonLatestNeural = \"DragonLatestNeural\",\n /** Use the latest Phoenix model. */\n PhoenixLatestNeural = \"PhoenixLatestNeural\",\n /** Use the Phoenix V2 model. */\n PhoenixV2Neural = \"PhoenixV2Neural\",\n}\n\n/**\n * PersonalVoice models \\\n * {@link KnownPersonalVoiceModels} can be used interchangeably with PersonalVoiceModels,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **DragonLatestNeural**: Use the latest Dragon model. \\\n * **PhoenixLatestNeural**: Use the latest Phoenix model. \\\n * **PhoenixV2Neural**: Use the Phoenix V2 model.\n */\nexport type PersonalVoiceModels = string;\n\n/** Input audio format types supported. */\nexport enum KnownInputAudioFormat {\n /** 16-bit PCM audio format at default sampling rate (24kHz) */\n Pcm16 = \"pcm16\",\n /** G.711 μ-law (mu-law) audio format at 8kHz sampling rate */\n G711Ulaw = \"g711_ulaw\",\n /** G.711 A-law audio format at 8kHz sampling rate */\n G711Alaw = \"g711_alaw\",\n}\n\n/**\n * Input audio format types supported. \\\n * {@link KnownInputAudioFormat} can be used interchangeably with InputAudioFormat,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **pcm16**: 16-bit PCM audio format at default sampling rate (24kHz) \\\n * **g711_ulaw**: G.711 μ-law (mu-law) audio format at 8kHz sampling rate \\\n * **g711_alaw**: G.711 A-law audio format at 8kHz sampling rate\n */\nexport type InputAudioFormat = string;\n\n/** Output audio format types supported. */\nexport enum KnownOutputAudioFormat {\n /** 16-bit PCM audio format at default sampling rate (24kHz) */\n Pcm16 = \"pcm16\",\n /** 16-bit PCM audio format at 8kHz sampling rate */\n Pcm168000Hz = \"pcm16-8000hz\",\n /** 16-bit PCM audio format at 16kHz sampling rate */\n Pcm1616000Hz = \"pcm16-16000hz\",\n /** G.711 μ-law (mu-law) audio format at 8kHz sampling rate */\n G711Ulaw = \"g711_ulaw\",\n /** G.711 A-law audio format at 8kHz sampling rate */\n G711Alaw = \"g711_alaw\",\n}\n\n/**\n * Output audio format types supported. \\\n * {@link KnownOutputAudioFormat} can be used interchangeably with OutputAudioFormat,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **pcm16**: 16-bit PCM audio format at default sampling rate (24kHz) \\\n * **pcm16-8000hz**: 16-bit PCM audio format at 8kHz sampling rate \\\n * **pcm16-16000hz**: 16-bit PCM audio format at 16kHz sampling rate \\\n * **g711_ulaw**: G.711 μ-law (mu-law) audio format at 8kHz sampling rate \\\n * **g711_alaw**: G.711 A-law audio format at 8kHz sampling rate\n */\nexport type OutputAudioFormat = string;\n\n/** Top-level union for turn detection configuration. */\nexport interface TurnDetection {\n type: TurnDetectionType;\n}\n\nexport function turnDetectionSerializer(item: TurnDetection): any {\n return { type: item[\"type\"] };\n}\n\nexport function turnDetectionDeserializer(item: any): TurnDetection {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TurnDetectionUnion */\nexport type TurnDetectionUnion =\n | ServerVad\n | AzureSemanticVad\n | AzureSemanticVadEn\n | AzureSemanticVadMultilingual\n | TurnDetection;\n\nexport function turnDetectionUnionSerializer(item: TurnDetectionUnion): any {\n switch (item.type) {\n case \"server_vad\":\n return serverVadSerializer(item as ServerVad);\n\n case \"azure_semantic_vad\":\n return azureSemanticVadSerializer(item as AzureSemanticVad);\n\n case \"azure_semantic_vad_en\":\n return azureSemanticVadEnSerializer(item as AzureSemanticVadEn);\n\n case \"azure_semantic_vad_multilingual\":\n return azureSemanticVadMultilingualSerializer(item as AzureSemanticVadMultilingual);\n\n default:\n return turnDetectionSerializer(item);\n }\n}\n\nexport function turnDetectionUnionDeserializer(item: any): TurnDetectionUnion {\n switch (item.type) {\n case \"server_vad\":\n return serverVadDeserializer(item as ServerVad);\n\n case \"azure_semantic_vad\":\n return azureSemanticVadDeserializer(item as AzureSemanticVad);\n\n case \"azure_semantic_vad_en\":\n return azureSemanticVadEnDeserializer(item as AzureSemanticVadEn);\n\n case \"azure_semantic_vad_multilingual\":\n return azureSemanticVadMultilingualDeserializer(item as AzureSemanticVadMultilingual);\n\n default:\n return turnDetectionDeserializer(item);\n }\n}\n\n/** Known values of {@link TurnDetectionType} that the service accepts. */\nexport enum KnownTurnDetectionType {\n /** server_vad */\n ServerVad = \"server_vad\",\n /** azure_semantic_vad */\n AzureSemanticVad = \"azure_semantic_vad\",\n /** azure_semantic_vad_en */\n AzureSemanticVadEn = \"azure_semantic_vad_en\",\n /** azure_semantic_vad_multilingual */\n AzureSemanticVadMultilingual = \"azure_semantic_vad_multilingual\",\n}\n\n/** Type of TurnDetectionType */\nexport type TurnDetectionType = string;\n\n/** Base model for VAD-based turn detection. */\nexport interface ServerVad extends TurnDetection {\n type: \"server_vad\";\n threshold?: number;\n prefixPaddingInMs?: number;\n silenceDurationInMs?: number;\n endOfUtteranceDetection?: EouDetectionUnion;\n autoTruncate?: boolean;\n createResponse?: boolean;\n interruptResponse?: boolean;\n}\n\nexport function serverVadSerializer(item: ServerVad): any {\n return {\n type: item[\"type\"],\n threshold: item[\"threshold\"],\n prefix_padding_ms: item[\"prefixPaddingInMs\"],\n silence_duration_ms: item[\"silenceDurationInMs\"],\n end_of_utterance_detection: !item[\"endOfUtteranceDetection\"]\n ? item[\"endOfUtteranceDetection\"]\n : eouDetectionUnionSerializer(item[\"endOfUtteranceDetection\"]),\n auto_truncate: item[\"autoTruncate\"],\n create_response: item[\"createResponse\"],\n interrupt_response: item[\"interruptResponse\"],\n };\n}\n\nexport function serverVadDeserializer(item: any): ServerVad {\n return {\n type: item[\"type\"],\n threshold: item[\"threshold\"],\n prefixPaddingInMs: item[\"prefix_padding_ms\"],\n silenceDurationInMs: item[\"silence_duration_ms\"],\n endOfUtteranceDetection: !item[\"end_of_utterance_detection\"]\n ? item[\"end_of_utterance_detection\"]\n : eouDetectionUnionDeserializer(item[\"end_of_utterance_detection\"]),\n autoTruncate: item[\"auto_truncate\"],\n createResponse: item[\"create_response\"],\n interruptResponse: item[\"interrupt_response\"],\n };\n}\n\n/** Top-level union for end-of-utterance (EOU) semantic detection configuration. */\nexport interface EouDetection {\n model: string;\n}\n\nexport function eouDetectionSerializer(item: EouDetection): any {\n return { model: item[\"model\"] };\n}\n\nexport function eouDetectionDeserializer(item: any): EouDetection {\n return {\n model: item[\"model\"],\n };\n}\n\n/** Alias for EouDetectionUnion */\nexport type EouDetectionUnion =\n | AzureSemanticDetection\n | AzureSemanticDetectionEn\n | AzureSemanticDetectionMultilingual\n | EouDetection;\n\nexport function eouDetectionUnionSerializer(item: EouDetectionUnion): any {\n switch (item.model) {\n case \"semantic_detection_v1\":\n return azureSemanticDetectionSerializer(item as AzureSemanticDetection);\n\n case \"semantic_detection_v1_en\":\n return azureSemanticDetectionEnSerializer(item as AzureSemanticDetectionEn);\n\n case \"semantic_detection_v1_multilingual\":\n return azureSemanticDetectionMultilingualSerializer(\n item as AzureSemanticDetectionMultilingual,\n );\n\n default:\n return eouDetectionSerializer(item);\n }\n}\n\nexport function eouDetectionUnionDeserializer(item: any): EouDetectionUnion {\n switch (item.model) {\n case \"semantic_detection_v1\":\n return azureSemanticDetectionDeserializer(item as AzureSemanticDetection);\n\n case \"semantic_detection_v1_en\":\n return azureSemanticDetectionEnDeserializer(item as AzureSemanticDetectionEn);\n\n case \"semantic_detection_v1_multilingual\":\n return azureSemanticDetectionMultilingualDeserializer(\n item as AzureSemanticDetectionMultilingual,\n );\n\n default:\n return eouDetectionDeserializer(item);\n }\n}\n\n/** Azure semantic end-of-utterance detection (default). */\nexport interface AzureSemanticDetection extends EouDetection {\n model: \"semantic_detection_v1\";\n /** Threshold level setting. Recommended instead of `threshold`. One of `low`, `medium`, `high`, or `default`. */\n thresholdLevel?: EouThresholdLevel;\n /** Timeout in milliseconds. Recommended instead of `timeout`. */\n timeoutInMs?: number;\n}\n\nexport function azureSemanticDetectionSerializer(item: AzureSemanticDetection): any {\n return {\n model: item[\"model\"],\n threshold_level: item[\"thresholdLevel\"],\n timeout_ms: item[\"timeoutInMs\"],\n };\n}\n\nexport function azureSemanticDetectionDeserializer(item: any): AzureSemanticDetection {\n return {\n model: item[\"model\"],\n thresholdLevel: item[\"threshold_level\"],\n timeoutInMs: item[\"timeout_ms\"],\n };\n}\n\n/** Threshold level settings for Azure semantic end-of-utterance detection. */\nexport enum KnownEouThresholdLevel {\n /** Low sensitivity threshold level. */\n Low = \"low\",\n /** Medium sensitivity threshold level. */\n Medium = \"medium\",\n /** High sensitivity threshold level. */\n High = \"high\",\n /** Default sensitivity threshold level. */\n Default = \"default\",\n}\n\n/**\n * Threshold level settings for Azure semantic end-of-utterance detection. \\\n * {@link KnownEouThresholdLevel} can be used interchangeably with EouThresholdLevel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **low**: Low sensitivity threshold level. \\\n * **medium**: Medium sensitivity threshold level. \\\n * **high**: High sensitivity threshold level. \\\n * **default**: Default sensitivity threshold level.\n */\nexport type EouThresholdLevel = string;\n\n/** Azure semantic end-of-utterance detection (English-optimized). */\nexport interface AzureSemanticDetectionEn extends EouDetection {\n model: \"semantic_detection_v1_en\";\n /** Threshold level setting. Recommended instead of `threshold`. One of `low`, `medium`, `high`, or `default`. */\n thresholdLevel?: EouThresholdLevel;\n /** Timeout in milliseconds. Recommended instead of `timeout`. */\n timeoutInMs?: number;\n}\n\nexport function azureSemanticDetectionEnSerializer(item: AzureSemanticDetectionEn): any {\n return {\n model: item[\"model\"],\n threshold_level: item[\"thresholdLevel\"],\n timeout_ms: item[\"timeoutInMs\"],\n };\n}\n\nexport function azureSemanticDetectionEnDeserializer(item: any): AzureSemanticDetectionEn {\n return {\n model: item[\"model\"],\n thresholdLevel: item[\"threshold_level\"],\n timeoutInMs: item[\"timeout_ms\"],\n };\n}\n\n/** Azure semantic end-of-utterance detection (multilingual). */\nexport interface AzureSemanticDetectionMultilingual extends EouDetection {\n model: \"semantic_detection_v1_multilingual\";\n /** Threshold level setting. Recommended instead of `threshold`. One of `low`, `medium`, `high`, or `default`. */\n thresholdLevel?: EouThresholdLevel;\n /** Timeout in milliseconds. Recommended instead of `timeout`. */\n timeoutInMs?: number;\n}\n\nexport function azureSemanticDetectionMultilingualSerializer(\n item: AzureSemanticDetectionMultilingual,\n): any {\n return {\n model: item[\"model\"],\n threshold_level: item[\"thresholdLevel\"],\n timeout_ms: item[\"timeoutInMs\"],\n };\n}\n\nexport function azureSemanticDetectionMultilingualDeserializer(\n item: any,\n): AzureSemanticDetectionMultilingual {\n return {\n model: item[\"model\"],\n thresholdLevel: item[\"threshold_level\"],\n timeoutInMs: item[\"timeout_ms\"],\n };\n}\n\n/** Server Speech Detection (Azure semantic VAD, default variant). */\nexport interface AzureSemanticVad extends TurnDetection {\n type: \"azure_semantic_vad\";\n threshold?: number;\n prefixPaddingInMs?: number;\n silenceDurationInMs?: number;\n endOfUtteranceDetection?: EouDetectionUnion;\n speechDurationInMs?: number;\n removeFillerWords?: boolean;\n languages?: string[];\n autoTruncate?: boolean;\n createResponse?: boolean;\n interruptResponse?: boolean;\n}\n\nexport function azureSemanticVadSerializer(item: AzureSemanticVad): any {\n return {\n type: item[\"type\"],\n threshold: item[\"threshold\"],\n prefix_padding_ms: item[\"prefixPaddingInMs\"],\n silence_duration_ms: item[\"silenceDurationInMs\"],\n end_of_utterance_detection: !item[\"endOfUtteranceDetection\"]\n ? item[\"endOfUtteranceDetection\"]\n : eouDetectionUnionSerializer(item[\"endOfUtteranceDetection\"]),\n speech_duration_ms: item[\"speechDurationInMs\"],\n remove_filler_words: item[\"removeFillerWords\"],\n languages: !item[\"languages\"]\n ? item[\"languages\"]\n : item[\"languages\"].map((p: any) => {\n return p;\n }),\n auto_truncate: item[\"autoTruncate\"],\n create_response: item[\"createResponse\"],\n interrupt_response: item[\"interruptResponse\"],\n };\n}\n\nexport function azureSemanticVadDeserializer(item: any): AzureSemanticVad {\n return {\n type: item[\"type\"],\n threshold: item[\"threshold\"],\n prefixPaddingInMs: item[\"prefix_padding_ms\"],\n silenceDurationInMs: item[\"silence_duration_ms\"],\n endOfUtteranceDetection: !item[\"end_of_utterance_detection\"]\n ? item[\"end_of_utterance_detection\"]\n : eouDetectionUnionDeserializer(item[\"end_of_utterance_detection\"]),\n speechDurationInMs: item[\"speech_duration_ms\"],\n removeFillerWords: item[\"remove_filler_words\"],\n languages: !item[\"languages\"]\n ? item[\"languages\"]\n : item[\"languages\"].map((p: any) => {\n return p;\n }),\n autoTruncate: item[\"auto_truncate\"],\n createResponse: item[\"create_response\"],\n interruptResponse: item[\"interrupt_response\"],\n };\n}\n\n/** Server Speech Detection (Azure semantic VAD, English-only). */\nexport interface AzureSemanticVadEn extends TurnDetection {\n type: \"azure_semantic_vad_en\";\n threshold?: number;\n prefixPaddingInMs?: number;\n silenceDurationInMs?: number;\n endOfUtteranceDetection?: EouDetectionUnion;\n speechDurationInMs?: number;\n removeFillerWords?: boolean;\n autoTruncate?: boolean;\n createResponse?: boolean;\n interruptResponse?: boolean;\n}\n\nexport function azureSemanticVadEnSerializer(item: AzureSemanticVadEn): any {\n return {\n type: item[\"type\"],\n threshold: item[\"threshold\"],\n prefix_padding_ms: item[\"prefixPaddingInMs\"],\n silence_duration_ms: item[\"silenceDurationInMs\"],\n end_of_utterance_detection: !item[\"endOfUtteranceDetection\"]\n ? item[\"endOfUtteranceDetection\"]\n : eouDetectionUnionSerializer(item[\"endOfUtteranceDetection\"]),\n speech_duration_ms: item[\"speechDurationInMs\"],\n remove_filler_words: item[\"removeFillerWords\"],\n auto_truncate: item[\"autoTruncate\"],\n create_response: item[\"createResponse\"],\n interrupt_response: item[\"interruptResponse\"],\n };\n}\n\nexport function azureSemanticVadEnDeserializer(item: any): AzureSemanticVadEn {\n return {\n type: item[\"type\"],\n threshold: item[\"threshold\"],\n prefixPaddingInMs: item[\"prefix_padding_ms\"],\n silenceDurationInMs: item[\"silence_duration_ms\"],\n endOfUtteranceDetection: !item[\"end_of_utterance_detection\"]\n ? item[\"end_of_utterance_detection\"]\n : eouDetectionUnionDeserializer(item[\"end_of_utterance_detection\"]),\n speechDurationInMs: item[\"speech_duration_ms\"],\n removeFillerWords: item[\"remove_filler_words\"],\n autoTruncate: item[\"auto_truncate\"],\n createResponse: item[\"create_response\"],\n interruptResponse: item[\"interrupt_response\"],\n };\n}\n\n/** Server Speech Detection (Azure semantic VAD). */\nexport interface AzureSemanticVadMultilingual extends TurnDetection {\n type: \"azure_semantic_vad_multilingual\";\n threshold?: number;\n prefixPaddingInMs?: number;\n silenceDurationInMs?: number;\n endOfUtteranceDetection?: EouDetectionUnion;\n speechDurationInMs?: number;\n removeFillerWords?: boolean;\n languages?: string[];\n autoTruncate?: boolean;\n createResponse?: boolean;\n interruptResponse?: boolean;\n}\n\nexport function azureSemanticVadMultilingualSerializer(item: AzureSemanticVadMultilingual): any {\n return {\n type: item[\"type\"],\n threshold: item[\"threshold\"],\n prefix_padding_ms: item[\"prefixPaddingInMs\"],\n silence_duration_ms: item[\"silenceDurationInMs\"],\n end_of_utterance_detection: !item[\"endOfUtteranceDetection\"]\n ? item[\"endOfUtteranceDetection\"]\n : eouDetectionUnionSerializer(item[\"endOfUtteranceDetection\"]),\n speech_duration_ms: item[\"speechDurationInMs\"],\n remove_filler_words: item[\"removeFillerWords\"],\n languages: !item[\"languages\"]\n ? item[\"languages\"]\n : item[\"languages\"].map((p: any) => {\n return p;\n }),\n auto_truncate: item[\"autoTruncate\"],\n create_response: item[\"createResponse\"],\n interrupt_response: item[\"interruptResponse\"],\n };\n}\n\nexport function azureSemanticVadMultilingualDeserializer(item: any): AzureSemanticVadMultilingual {\n return {\n type: item[\"type\"],\n threshold: item[\"threshold\"],\n prefixPaddingInMs: item[\"prefix_padding_ms\"],\n silenceDurationInMs: item[\"silence_duration_ms\"],\n endOfUtteranceDetection: !item[\"end_of_utterance_detection\"]\n ? item[\"end_of_utterance_detection\"]\n : eouDetectionUnionDeserializer(item[\"end_of_utterance_detection\"]),\n speechDurationInMs: item[\"speech_duration_ms\"],\n removeFillerWords: item[\"remove_filler_words\"],\n languages: !item[\"languages\"]\n ? item[\"languages\"]\n : item[\"languages\"].map((p: any) => {\n return p;\n }),\n autoTruncate: item[\"auto_truncate\"],\n createResponse: item[\"create_response\"],\n interruptResponse: item[\"interrupt_response\"],\n };\n}\n\n/** Configuration for input audio noise reduction. */\nexport interface AudioNoiseReduction {\n /** The type of noise reduction model. */\n type: string;\n}\n\nexport function audioNoiseReductionSerializer(item: AudioNoiseReduction): any {\n return { type: item[\"type\"] };\n}\n\nexport function audioNoiseReductionDeserializer(item: any): AudioNoiseReduction {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Echo cancellation configuration for server-side audio processing. */\nexport interface AudioEchoCancellation {\n /** The type of echo cancellation model to use. */\n type: \"server_echo_cancellation\";\n}\n\nexport function audioEchoCancellationSerializer(item: AudioEchoCancellation): any {\n return { type: item[\"type\"] };\n}\n\nexport function audioEchoCancellationDeserializer(item: any): AudioEchoCancellation {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Configuration for avatar streaming and behavior during the session. */\nexport interface AvatarConfig {\n /** Optional list of ICE servers to use for WebRTC connection establishment. */\n iceServers?: IceServer[];\n /** The character name or ID used for the avatar. */\n character: string;\n /** Optional avatar style, such as emotional tone or speaking style. */\n style?: string;\n /** Indicates whether the avatar is customized or not. */\n customized: boolean;\n /** Optional video configuration including resolution, bitrate, and codec. */\n video?: VideoParams;\n}\n\nexport function avatarConfigSerializer(item: AvatarConfig): any {\n return {\n ice_servers: !item[\"iceServers\"]\n ? item[\"iceServers\"]\n : iceServerArraySerializer(item[\"iceServers\"]),\n character: item[\"character\"],\n style: item[\"style\"],\n customized: item[\"customized\"],\n video: !item[\"video\"] ? item[\"video\"] : videoParamsSerializer(item[\"video\"]),\n };\n}\n\nexport function avatarConfigDeserializer(item: any): AvatarConfig {\n return {\n iceServers: !item[\"ice_servers\"]\n ? item[\"ice_servers\"]\n : iceServerArrayDeserializer(item[\"ice_servers\"]),\n character: item[\"character\"],\n style: item[\"style\"],\n customized: item[\"customized\"],\n video: !item[\"video\"] ? item[\"video\"] : videoParamsDeserializer(item[\"video\"]),\n };\n}\n\nexport function iceServerArraySerializer(result: Array<IceServer>): any[] {\n return result.map((item) => {\n return iceServerSerializer(item);\n });\n}\n\nexport function iceServerArrayDeserializer(result: Array<IceServer>): any[] {\n return result.map((item) => {\n return iceServerDeserializer(item);\n });\n}\n\n/** ICE server configuration for WebRTC connection negotiation. */\nexport interface IceServer {\n /** List of ICE server URLs (e.g., TURN or STUN endpoints). */\n urls: string[];\n /** Optional username used for authentication with the ICE server. */\n username?: string;\n /** Optional credential (e.g., password or token) used for authentication. */\n credential?: string;\n}\n\nexport function iceServerSerializer(item: IceServer): any {\n return {\n urls: item[\"urls\"].map((p: any) => {\n return p;\n }),\n username: item[\"username\"],\n credential: item[\"credential\"],\n };\n}\n\nexport function iceServerDeserializer(item: any): IceServer {\n return {\n urls: item[\"urls\"].map((p: any) => {\n return p;\n }),\n username: item[\"username\"],\n credential: item[\"credential\"],\n };\n}\n\n/** Video streaming parameters for avatar. */\nexport interface VideoParams {\n /** Bitrate in bits per second (e.g., 2000000 for 2 Mbps). */\n bitrate?: number;\n /** Codec to use for encoding. Currently only 'h264' is supported. */\n codec?: \"h264\";\n /** Optional cropping settings for the video stream. */\n crop?: VideoCrop;\n /** Optional resolution settings for the video stream. */\n resolution?: VideoResolution;\n /** Optional background settings for the video. Allows specifying either a solid color or an image URL. */\n background?: Background;\n /** Group of Pictures (GOP) size for video encoding. Controls the interval between keyframes, affecting compression efficiency and seeking performance. */\n gopSize?: number;\n}\n\nexport function videoParamsSerializer(item: VideoParams): any {\n return {\n bitrate: item[\"bitrate\"],\n codec: item[\"codec\"],\n crop: !item[\"crop\"] ? item[\"crop\"] : videoCropSerializer(item[\"crop\"]),\n resolution: !item[\"resolution\"]\n ? item[\"resolution\"]\n : videoResolutionSerializer(item[\"resolution\"]),\n background: !item[\"background\"] ? item[\"background\"] : backgroundSerializer(item[\"background\"]),\n gop_size: item[\"gopSize\"],\n };\n}\n\nexport function videoParamsDeserializer(item: any): VideoParams {\n return {\n bitrate: item[\"bitrate\"],\n codec: item[\"codec\"],\n crop: !item[\"crop\"] ? item[\"crop\"] : videoCropDeserializer(item[\"crop\"]),\n resolution: !item[\"resolution\"]\n ? item[\"resolution\"]\n : videoResolutionDeserializer(item[\"resolution\"]),\n background: !item[\"background\"]\n ? item[\"background\"]\n : backgroundDeserializer(item[\"background\"]),\n gopSize: item[\"gop_size\"],\n };\n}\n\n/** Defines a video crop rectangle using top-left and bottom-right coordinates. */\nexport interface VideoCrop {\n /** Top-left corner of the crop region. Array of [x, y], must be non-negative integers. */\n topLeft: number[];\n /** Bottom-right corner of the crop region. Array of [x, y], must be non-negative integers. */\n bottomRight: number[];\n}\n\nexport function videoCropSerializer(item: VideoCrop): any {\n return {\n top_left: item[\"topLeft\"].map((p: any) => {\n return p;\n }),\n bottom_right: item[\"bottomRight\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function videoCropDeserializer(item: any): VideoCrop {\n return {\n topLeft: item[\"top_left\"].map((p: any) => {\n return p;\n }),\n bottomRight: item[\"bottom_right\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Resolution of the video feed in pixels. */\nexport interface VideoResolution {\n /** Width of the video in pixels. Must be greater than 0. */\n width: number;\n /** Height of the video in pixels. Must be greater than 0. */\n height: number;\n}\n\nexport function videoResolutionSerializer(item: VideoResolution): any {\n return { width: item[\"width\"], height: item[\"height\"] };\n}\n\nexport function videoResolutionDeserializer(item: any): VideoResolution {\n return {\n width: item[\"width\"],\n height: item[\"height\"],\n };\n}\n\n/** Defines a video background, either a solid color or an image URL (mutually exclusive). */\nexport interface Background {\n /** Background color in hex format (e.g., `#00FF00FF`). Cannot be set if `image_url` is provided. */\n color?: string;\n /** Background image URL. Cannot be set if `color` is provided. */\n imageUrl?: string;\n}\n\nexport function backgroundSerializer(item: Background): any {\n return { color: item[\"color\"], image_url: item[\"imageUrl\"] };\n}\n\nexport function backgroundDeserializer(item: any): Background {\n return {\n color: item[\"color\"],\n imageUrl: item[\"image_url\"],\n };\n}\n\n/** Configuration for input audio transcription. */\nexport interface AudioInputTranscriptionOptions {\n /**\n * The transcription model to use. Supported values:\n * 'whisper-1', 'gpt-4o-transcribe', 'gpt-4o-mini-transcribe',\n * 'azure-speech'.\n */\n model: string;\n /** Optional language code in BCP-47 (e.g., 'en-US'), or ISO-639-1 (e.g., 'en'), or multi languages with auto detection, (e.g., 'en,zh'). */\n language?: string;\n /** Optional configuration for custom speech models. */\n customSpeech?: Record<string, string>;\n /** Optional list of phrase hints to bias recognition. */\n phraseList?: string[];\n}\n\nexport function audioInputTranscriptionOptionsSerializer(\n item: AudioInputTranscriptionOptions,\n): any {\n return {\n model: item[\"model\"],\n language: item[\"language\"],\n custom_speech: item[\"customSpeech\"],\n phrase_list: !item[\"phraseList\"]\n ? item[\"phraseList\"]\n : item[\"phraseList\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function audioInputTranscriptionOptionsDeserializer(\n item: any,\n): AudioInputTranscriptionOptions {\n return {\n model: item[\"model\"],\n language: item[\"language\"],\n customSpeech: item[\"custom_speech\"],\n phraseList: !item[\"phrase_list\"]\n ? item[\"phrase_list\"]\n : item[\"phrase_list\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Output timestamp types supported in audio response content. */\nexport enum KnownAudioTimestampType {\n /** Timestamps per word in the output audio. */\n Word = \"word\",\n}\n\n/**\n * Output timestamp types supported in audio response content. \\\n * {@link KnownAudioTimestampType} can be used interchangeably with AudioTimestampType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **word**: Timestamps per word in the output audio.\n */\nexport type AudioTimestampType = string;\n\nexport function toolUnionArraySerializer(result: Array<ToolUnion>): any[] {\n return result.map((item) => {\n return toolUnionSerializer(item);\n });\n}\n\nexport function toolUnionArrayDeserializer(result: Array<ToolUnion>): any[] {\n return result.map((item) => {\n return toolUnionDeserializer(item);\n });\n}\n\n/** The base representation of a voicelive tool definition. */\nexport interface Tool {\n type: ToolType;\n}\n\nexport function toolSerializer(item: Tool): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolDeserializer(item: any): Tool {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ToolUnion */\nexport type ToolUnion = FunctionTool | Tool;\n\nexport function toolUnionSerializer(item: ToolUnion): any {\n switch (item.type) {\n case \"function\":\n return functionToolSerializer(item as FunctionTool);\n\n default:\n return toolSerializer(item);\n }\n}\n\nexport function toolUnionDeserializer(item: any): ToolUnion {\n switch (item.type) {\n case \"function\":\n return functionToolDeserializer(item as FunctionTool);\n\n default:\n return toolDeserializer(item);\n }\n}\n\n/**\n * The supported tool type discriminators for voicelive tools.\n * Currently, only 'function' tools are supported.\n */\nexport enum KnownToolType {\n /** function */\n Function = \"function\",\n}\n\n/**\n * The supported tool type discriminators for voicelive tools.\n * Currently, only 'function' tools are supported. \\\n * {@link KnownToolType} can be used interchangeably with ToolType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **function**\n */\nexport type ToolType = string;\n\n/** The definition of a function tool as used by the voicelive endpoint. */\nexport interface FunctionTool extends Tool {\n type: \"function\";\n name: string;\n description?: string;\n parameters?: any;\n}\n\nexport function functionToolSerializer(item: FunctionTool): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\n };\n}\n\nexport function functionToolDeserializer(item: any): FunctionTool {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\n };\n}\n\n/**\n * The combined set of available representations for a voicelive tool_choice parameter, encompassing both string\n * literal options like 'auto' as well as structured references to defined tools.\n */\nexport type ToolChoice = ToolChoiceLiteral | ToolChoiceSelectionUnion;\n\nexport function toolChoiceSerializer(item: ToolChoice): any {\n return item;\n}\n\nexport function toolChoiceDeserializer(item: any): ToolChoice {\n return item;\n}\n\n/** The available set of mode-level, string literal tool_choice options for the voicelive endpoint. */\nexport enum KnownToolChoiceLiteral {\n /** Specifies that the model should freely determine which tool or tools, if any, to call. */\n Auto = \"auto\",\n /** Specifies that the model should call no tools whatsoever. */\n None = \"none\",\n /** Specifies that the model should call at least one tool. */\n Required = \"required\",\n}\n\n/**\n * The available set of mode-level, string literal tool_choice options for the voicelive endpoint. \\\n * {@link KnownToolChoiceLiteral} can be used interchangeably with ToolChoiceLiteral,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **auto**: Specifies that the model should freely determine which tool or tools, if any, to call. \\\n * **none**: Specifies that the model should call no tools whatsoever. \\\n * **required**: Specifies that the model should call at least one tool.\n */\nexport type ToolChoiceLiteral = string;\n\n/** A base representation for a voicelive tool_choice selecting a named tool. */\nexport interface ToolChoiceSelection {\n type: ToolType;\n}\n\nexport function toolChoiceSelectionSerializer(item: ToolChoiceSelection): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceSelectionDeserializer(item: any): ToolChoiceSelection {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ToolChoiceSelectionUnion */\nexport type ToolChoiceSelectionUnion = ToolChoiceFunctionSelection | ToolChoiceSelection;\n\nexport function toolChoiceSelectionUnionSerializer(item: ToolChoiceSelectionUnion): any {\n switch (item.type) {\n case \"function\":\n return toolChoiceFunctionSelectionSerializer(item as ToolChoiceFunctionSelection);\n\n default:\n return toolChoiceSelectionSerializer(item);\n }\n}\n\nexport function toolChoiceSelectionUnionDeserializer(item: any): ToolChoiceSelectionUnion {\n switch (item.type) {\n case \"function\":\n return toolChoiceFunctionSelectionDeserializer(item as ToolChoiceFunctionSelection);\n\n default:\n return toolChoiceSelectionDeserializer(item);\n }\n}\n\n/** The representation of a voicelive tool_choice selecting a named function tool. */\nexport interface ToolChoiceFunctionSelection extends ToolChoiceSelection {\n type: \"function\";\n name: string;\n}\n\nexport function toolChoiceFunctionSelectionSerializer(item: ToolChoiceFunctionSelection): any {\n return { type: item[\"type\"], name: item[\"name\"] };\n}\n\nexport function toolChoiceFunctionSelectionDeserializer(item: any): ToolChoiceFunctionSelection {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Alias for _RequestSessionMaxResponseOutputTokens */\nexport type _RequestSessionMaxResponseOutputTokens = number | \"inf\";\n\nexport function _requestSessionMaxResponseOutputTokensSerializer(\n item: _RequestSessionMaxResponseOutputTokens,\n): any {\n return item;\n}\n\nexport function _requestSessionMaxResponseOutputTokensDeserializer(\n item: any,\n): _RequestSessionMaxResponseOutputTokens {\n return item;\n}\n\n/**\n * Sent when the client connects and provides its SDP (Session Description Protocol)\n *\n * for avatar-related media negotiation.\n */\nexport interface ClientEventSessionAvatarConnect extends ClientEvent {\n /** The event type, must be 'session.avatar.connect'. */\n type: \"session.avatar.connect\";\n /** The client's SDP offer. */\n clientSdp: string;\n}\n\nexport function clientEventSessionAvatarConnectSerializer(\n item: ClientEventSessionAvatarConnect,\n): any {\n return {\n type: item[\"type\"],\n event_id: item[\"eventId\"],\n client_sdp: item[\"clientSdp\"],\n };\n}\n\n/** Indicates the start of a new audio input turn. */\nexport interface ClientEventInputAudioTurnStart extends ClientEvent {\n /** The event type, must be 'input_audio.turn.start'. */\n type: \"input_audio.turn.start\";\n /** Unique identifier for the input audio turn. */\n turnId: string;\n}\n\nexport function clientEventInputAudioTurnStartSerializer(\n item: ClientEventInputAudioTurnStart,\n): any {\n return {\n type: item[\"type\"],\n event_id: item[\"eventId\"],\n turn_id: item[\"turnId\"],\n };\n}\n\n/** Appends audio data to an ongoing input turn. */\nexport interface ClientEventInputAudioTurnAppend extends ClientEvent {\n /** The event type, must be 'input_audio.turn.append'. */\n type: \"input_audio.turn.append\";\n /** The ID of the turn this audio is part of. */\n turnId: string;\n /** Base64-encoded audio chunk. */\n audio: string;\n}\n\nexport function clientEventInputAudioTurnAppendSerializer(\n item: ClientEventInputAudioTurnAppend,\n): any {\n return {\n type: item[\"type\"],\n event_id: item[\"eventId\"],\n turn_id: item[\"turnId\"],\n audio: item[\"audio\"],\n };\n}\n\n/** Marks the end of an audio input turn. */\nexport interface ClientEventInputAudioTurnEnd extends ClientEvent {\n /** The event type, must be 'input_audio.turn.end'. */\n type: \"input_audio.turn.end\";\n /** The ID of the audio turn being ended. */\n turnId: string;\n}\n\nexport function clientEventInputAudioTurnEndSerializer(item: ClientEventInputAudioTurnEnd): any {\n return {\n type: item[\"type\"],\n event_id: item[\"eventId\"],\n turn_id: item[\"turnId\"],\n };\n}\n\n/** Cancels an in-progress input audio turn. */\nexport interface ClientEventInputAudioTurnCancel extends ClientEvent {\n /** The event type, must be 'input_audio.turn.cancel'. */\n type: \"input_audio.turn.cancel\";\n /** The ID of the turn to cancel. */\n turnId: string;\n}\n\nexport function clientEventInputAudioTurnCancelSerializer(\n item: ClientEventInputAudioTurnCancel,\n): any {\n return {\n type: item[\"type\"],\n event_id: item[\"eventId\"],\n turn_id: item[\"turnId\"],\n };\n}\n\n/** Clears all input audio currently being streamed. */\nexport interface ClientEventInputAudioClear extends ClientEvent {\n /** The event type, must be 'input_audio.clear'. */\n type: \"input_audio.clear\";\n}\n\nexport function clientEventInputAudioClearSerializer(item: ClientEventInputAudioClear): any {\n return { type: item[\"type\"], event_id: item[\"eventId\"] };\n}\n\n/**\n * Send this event to append audio bytes to the input audio buffer. The audio\n * buffer is temporary storage you can write to and later commit. In Server VAD\n * mode, the audio buffer is used to detect speech and the server will decide\n * when to commit. When Server VAD is disabled, you must commit the audio buffer\n * manually.\n *\n * The client may choose how much audio to place in each event up to a maximum\n * of 15 MiB, for example streaming smaller chunks from the client may allow the\n * VAD to be more responsive. Unlike made other client events, the server will\n * not send a confirmation response to this event.\n */\nexport interface ClientEventInputAudioBufferAppend extends ClientEvent {\n /** The event type, must be `input_audio_buffer.append`. */\n type: \"input_audio_buffer.append\";\n /**\n * Base64-encoded audio. This must be in the format specified by the\n * `input_audio_format` field in the session configuration.\n */\n audio: string;\n}\n\nexport function clientEventInputAudioBufferAppendSerializer(\n item: ClientEventInputAudioBufferAppend,\n): any {\n return {\n type: item[\"type\"],\n event_id: item[\"eventId\"],\n audio: item[\"audio\"],\n };\n}\n\n/**\n * Send this event to commit the user input audio buffer, which will create a\n * new user message item in the conversation. This event will produce an error\n * if the input audio buffer is empty. When in Server VAD mode, the client does\n * not need to send this event, the server will commit the audio buffer\n * automatically.\n * Committing the input audio buffer will trigger input audio transcription\n * (if enabled in session configuration), but it will not create a response\n * from the model. The server will respond with an `input_audio_buffer.committed`\n * event.\n */\nexport interface ClientEventInputAudioBufferCommit extends ClientEvent {\n /** The event type, must be `input_audio_buffer.commit`. */\n type: \"input_audio_buffer.commit\";\n}\n\nexport function clientEventInputAudioBufferCommitSerializer(\n item: ClientEventInputAudioBufferCommit,\n): any {\n return { type: item[\"type\"], event_id: item[\"eventId\"] };\n}\n\n/**\n * Send this event to clear the audio bytes in the buffer. The server will\n * respond with an `input_audio_buffer.cleared` event.\n */\nexport interface ClientEventInputAudioBufferClear extends ClientEvent {\n /** The event type, must be `input_audio_buffer.clear`. */\n type: \"input_audio_buffer.clear\";\n}\n\nexport function clientEventInputAudioBufferClearSerializer(\n item: ClientEventInputAudioBufferClear,\n): any {\n return { type: item[\"type\"], event_id: item[\"eventId\"] };\n}\n\n/**\n * Add a new Item to the Conversation's context, including messages, function\n * calls, and function call responses. This event can be used both to populate a\n * \"history\" of the conversation and to add new items mid-stream, but has the\n * current limitation that it cannot populate assistant audio messages.\n * If successful, the server will respond with a `conversation.item.created`\n * event, otherwise an `error` event will be sent.\n */\nexport interface ClientEventConversationItemCreate extends ClientEvent {\n /** The event type, must be `conversation.item.create`. */\n type: \"conversation.item.create\";\n /** Optional client-generated ID used to identify this event. */\n eventId?: string;\n /**\n * The ID of the preceding item after which the new item will be inserted.\n * If not set, the new item will be appended to the end of the conversation.\n * If set to `root`, the new item will be added to the beginning of the conversation.\n * If set to an existing ID, it allows an item to be inserted mid-conversation. If the\n * ID cannot be found, an error will be returned and the item will not be added.\n */\n previousItemId?: string;\n item?: ConversationRequestItemUnion;\n}\n\nexport function clientEventConversationItemCreateSerializer(\n item: ClientEventConversationItemCreate,\n): any {\n return {\n type: item[\"type\"],\n event_id: item[\"eventId\"],\n previous_item_id: item[\"previousItemId\"],\n item: !item[\"item\"] ? item[\"item\"] : conversationRequestItemUnionSerializer(item[\"item\"]),\n };\n}\n\n/** Base for any response item; discriminated by `type`. */\nexport interface ConversationRequestItem {\n type: ItemType;\n id?: string;\n}\n\nexport function conversationRequestItemSerializer(item: ConversationRequestItem): any {\n return { type: item[\"type\"], id: item[\"id\"] };\n}\n\nexport function conversationRequestItemDeserializer(item: any): ConversationRequestItem {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n };\n}\n\n/** Alias for ConversationRequestItemUnion */\nexport type ConversationRequestItemUnion =\n | MessageItemUnion\n | FunctionCallItem\n | FunctionCallOutputItem\n | ConversationRequestItem;\n\nexport function conversationRequestItemUnionSerializer(item: ConversationRequestItemUnion): any {\n switch (item.type) {\n case \"message\":\n return messageItemUnionSerializer(item as MessageItemUnion);\n\n case \"function_call\":\n return functionCallItemSerializer(item as FunctionCallItem);\n\n case \"function_call_output\":\n return functionCallOutputItemSerializer(item as FunctionCallOutputItem);\n\n default:\n return conversationRequestItemSerializer(item);\n }\n}\n\nexport function conversationRequestItemUnionDeserializer(item: any): ConversationRequestItemUnion {\n switch (item.type) {\n case \"message\":\n return messageItemUnionDeserializer(item as MessageItemUnion);\n\n case \"function_call\":\n return functionCallItemDeserializer(item as FunctionCallItem);\n\n case \"function_call_output\":\n return functionCallOutputItemDeserializer(item as FunctionCallOutputItem);\n\n default:\n return conversationRequestItemDeserializer(item);\n }\n}\n\n/** Known values of {@link ItemType} that the service accepts. */\nexport enum KnownItemType {\n /** message */\n Message = \"message\",\n /** function_call */\n FunctionCall = \"function_call\",\n /** function_call_output */\n FunctionCallOutput = \"function_call_output\",\n}\n\n/** Type of ItemType */\nexport type ItemType = string;\n\n/** A message item within a conversation. */\nexport interface MessageItem extends ConversationRequestItem {\n /** The type of the item; must be 'message' for message items. */\n type: \"message\";\n /** The role of the message origionator. */\n /** The discriminator possible values: system, user, assistant */\n role: MessageRole;\n /** The content parts of the message. */\n content: MessageContentPartUnion[];\n /** Processing status of the message item. */\n status?: ItemParamStatus;\n}\n\nexport function messageItemSerializer(item: MessageItem): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n role: item[\"role\"],\n content: messageContentPartUnionArraySerializer(item[\"content\"]),\n status: item[\"status\"],\n };\n}\n\nexport function messageItemDeserializer(item: any): MessageItem {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n role: item[\"role\"],\n content: messageContentPartUnionArrayDeserializer(item[\"content\"]),\n status: item[\"status\"],\n };\n}\n\n/** Alias for MessageItemUnion */\nexport type MessageItemUnion =\n | SystemMessageItem\n | UserMessageItem\n | AssistantMessageItem\n | MessageItem;\n\nexport function messageItemUnionSerializer(item: MessageItemUnion): any {\n switch (item.role) {\n case \"system\":\n return systemMessageItemSerializer(item as SystemMessageItem);\n\n case \"user\":\n return userMessageItemSerializer(item as UserMessageItem);\n\n case \"assistant\":\n return assistantMessageItemSerializer(item as AssistantMessageItem);\n\n default:\n return messageItemSerializer(item);\n }\n}\n\nexport function messageItemUnionDeserializer(item: any): MessageItemUnion {\n switch (item.role) {\n case \"system\":\n return systemMessageItemDeserializer(item as SystemMessageItem);\n\n case \"user\":\n return userMessageItemDeserializer(item as UserMessageItem);\n\n case \"assistant\":\n return assistantMessageItemDeserializer(item as AssistantMessageItem);\n\n default:\n return messageItemDeserializer(item);\n }\n}\n\n/** Known values of {@link MessageRole} that the service accepts. */\nexport enum KnownMessageRole {\n /** system */\n System = \"system\",\n /** user */\n User = \"user\",\n /** assistant */\n Assistant = \"assistant\",\n}\n\n/** Type of MessageRole */\nexport type MessageRole = string;\n\nexport function messageContentPartUnionArraySerializer(\n result: Array<MessageContentPartUnion>,\n): any[] {\n return result.map((item) => {\n return messageContentPartUnionSerializer(item);\n });\n}\n\nexport function messageContentPartUnionArrayDeserializer(\n result: Array<MessageContentPartUnion>,\n): any[] {\n return result.map((item) => {\n return messageContentPartUnionDeserializer(item);\n });\n}\n\n/** Base for any message content part; discriminated by `type`. */\nexport interface MessageContentPart {\n /** The type of the content part. */\n /** The discriminator possible values: input_text, input_audio, text */\n type: ContentPartType;\n}\n\nexport function messageContentPartSerializer(item: MessageContentPart): any {\n return { type: item[\"type\"] };\n}\n\nexport function messageContentPartDeserializer(item: any): MessageContentPart {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for MessageContentPartUnion */\nexport type MessageContentPartUnion =\n | InputTextContentPart\n | InputAudioContentPart\n | OutputTextContentPart\n | MessageContentPart;\n\nexport function messageContentPartUnionSerializer(item: MessageContentPartUnion): any {\n switch (item.type) {\n case \"input_text\":\n return inputTextContentPartSerializer(item as InputTextContentPart);\n\n case \"input_audio\":\n return inputAudioContentPartSerializer(item as InputAudioContentPart);\n\n case \"text\":\n return outputTextContentPartSerializer(item as OutputTextContentPart);\n\n default:\n return messageContentPartSerializer(item);\n }\n}\n\nexport function messageContentPartUnionDeserializer(item: any): MessageContentPartUnion {\n switch (item.type) {\n case \"input_text\":\n return inputTextContentPartDeserializer(item as InputTextContentPart);\n\n case \"input_audio\":\n return inputAudioContentPartDeserializer(item as InputAudioContentPart);\n\n case \"text\":\n return outputTextContentPartDeserializer(item as OutputTextContentPart);\n\n default:\n return messageContentPartDeserializer(item);\n }\n}\n\n/** Known values of {@link ContentPartType} that the service accepts. */\nexport enum KnownContentPartType {\n /** input_text */\n InputText = \"input_text\",\n /** input_audio */\n InputAudio = \"input_audio\",\n /** text */\n Text = \"text\",\n /** audio */\n Audio = \"audio\",\n}\n\n/** Type of ContentPartType */\nexport type ContentPartType = string;\n\n/** Input text content part. */\nexport interface InputTextContentPart extends MessageContentPart {\n type: \"input_text\";\n text: string;\n}\n\nexport function inputTextContentPartSerializer(item: InputTextContentPart): any {\n return { type: item[\"type\"], text: item[\"text\"] };\n}\n\nexport function inputTextContentPartDeserializer(item: any): InputTextContentPart {\n return {\n type: item[\"type\"],\n text: item[\"text\"],\n };\n}\n\n/** Input audio content part. */\nexport interface InputAudioContentPart extends MessageContentPart {\n type: \"input_audio\";\n audio: string;\n transcript?: string;\n}\n\nexport function inputAudioContentPartSerializer(item: InputAudioContentPart): any {\n return {\n type: item[\"type\"],\n audio: item[\"audio\"],\n transcript: item[\"transcript\"],\n };\n}\n\nexport function inputAudioContentPartDeserializer(item: any): InputAudioContentPart {\n return {\n type: item[\"type\"],\n audio: item[\"audio\"],\n transcript: item[\"transcript\"],\n };\n}\n\n/** Output text content part. */\nexport interface OutputTextContentPart extends MessageContentPart {\n /** The type of the content part. */\n type: \"text\";\n /** The text content. */\n text: string;\n}\n\nexport function outputTextContentPartSerializer(item: OutputTextContentPart): any {\n return { type: item[\"type\"], text: item[\"text\"] };\n}\n\nexport function outputTextContentPartDeserializer(item: any): OutputTextContentPart {\n return {\n type: item[\"type\"],\n text: item[\"text\"],\n };\n}\n\n/** Indicates the processing status of an item or parameter. */\nexport enum KnownItemParamStatus {\n /** Item or parameter is still being processed. */\n Completed = \"completed\",\n /** Item or parameter is not yet complete. */\n Incomplete = \"incomplete\",\n}\n\n/**\n * Indicates the processing status of an item or parameter. \\\n * {@link KnownItemParamStatus} can be used interchangeably with ItemParamStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **completed**: Item or parameter is still being processed. \\\n * **incomplete**: Item or parameter is not yet complete.\n */\nexport type ItemParamStatus = string;\n\n/** A system message item within a conversation. */\nexport interface SystemMessageItem extends MessageItem {\n role: \"system\";\n}\n\nexport function systemMessageItemSerializer(item: SystemMessageItem): any {\n return {\n type: item[\"type\"],\n role: item[\"role\"],\n content: messageContentPartUnionArraySerializer(item[\"content\"]),\n status: item[\"status\"],\n id: item[\"id\"],\n };\n}\n\nexport function systemMessageItemDeserializer(item: any): SystemMessageItem {\n return {\n type: item[\"type\"],\n role: item[\"role\"],\n content: messageContentPartUnionArrayDeserializer(item[\"content\"]),\n status: item[\"status\"],\n id: item[\"id\"],\n };\n}\n\n/** A user message item within a conversation. */\nexport interface UserMessageItem extends MessageItem {\n role: \"user\";\n}\n\nexport function userMessageItemSerializer(item: UserMessageItem): any {\n return {\n type: item[\"type\"],\n role: item[\"role\"],\n content: messageContentPartUnionArraySerializer(item[\"content\"]),\n status: item[\"status\"],\n id: item[\"id\"],\n };\n}\n\nexport function userMessageItemDeserializer(item: any): UserMessageItem {\n return {\n type: item[\"type\"],\n role: item[\"role\"],\n content: messageContentPartUnionArrayDeserializer(item[\"content\"]),\n status: item[\"status\"],\n id: item[\"id\"],\n };\n}\n\n/** An assistant message item within a conversation. */\nexport interface AssistantMessageItem extends MessageItem {\n role: \"assistant\";\n}\n\nexport function assistantMessageItemSerializer(item: AssistantMessageItem): any {\n return {\n type: item[\"type\"],\n role: item[\"role\"],\n content: messageContentPartUnionArraySerializer(item[\"content\"]),\n status: item[\"status\"],\n id: item[\"id\"],\n };\n}\n\nexport function assistantMessageItemDeserializer(item: any): AssistantMessageItem {\n return {\n type: item[\"type\"],\n role: item[\"role\"],\n content: messageContentPartUnionArrayDeserializer(item[\"content\"]),\n status: item[\"status\"],\n id: item[\"id\"],\n };\n}\n\n/** A function call item within a conversation. */\nexport interface FunctionCallItem extends ConversationRequestItem {\n type: \"function_call\";\n name: string;\n callId: string;\n arguments: string;\n status?: ItemParamStatus;\n}\n\nexport function functionCallItemSerializer(item: FunctionCallItem): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n call_id: item[\"callId\"],\n arguments: item[\"arguments\"],\n status: item[\"status\"],\n };\n}\n\nexport function functionCallItemDeserializer(item: any): FunctionCallItem {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n callId: item[\"call_id\"],\n arguments: item[\"arguments\"],\n status: item[\"status\"],\n };\n}\n\n/** A function call output item within a conversation. */\nexport interface FunctionCallOutputItem extends ConversationRequestItem {\n type: \"function_call_output\";\n callId: string;\n output: string;\n status?: ItemParamStatus;\n}\n\nexport function functionCallOutputItemSerializer(item: FunctionCallOutputItem): any {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n call_id: item[\"callId\"],\n output: item[\"output\"],\n status: item[\"status\"],\n };\n}\n\nexport function functionCallOutputItemDeserializer(item: any): FunctionCallOutputItem {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n callId: item[\"call_id\"],\n output: item[\"output\"],\n status: item[\"status\"],\n };\n}\n\n/**\n * Send this event to truncate a previous assistant message’s audio. The server\n * will produce audio faster than voicelive, so this event is useful when the user\n * interrupts to truncate audio that has already been sent to the client but not\n * yet played. This will synchronize the server's understanding of the audio with\n * the client's playback.\n * Truncating audio will delete the server-side text transcript to ensure there\n * is not text in the context that hasn't been heard by the user.\n * If successful, the server will respond with a `conversation.item.truncated`\n * event.\n */\nexport interface ClientEventConversationItemTruncate extends ClientEvent {\n /** The event type, must be `conversation.item.truncate`. */\n type: \"conversation.item.truncate\";\n /**\n * The ID of the assistant message item to truncate. Only assistant message\n * items can be truncated.\n */\n itemId: string;\n /** The index of the content part to truncate. Set this to 0. */\n contentIndex: number;\n /**\n * Inclusive duration up to which audio is truncated, in milliseconds. If\n * the audio_end_ms is greater than the actual audio duration, the server\n * will respond with an error.\n */\n audioEndInMs: number;\n}\n\nexport function clientEventConversationItemTruncateSerializer(\n item: ClientEventConversationItemTruncate,\n): any {\n return {\n type: item[\"type\"],\n event_id: item[\"eventId\"],\n item_id: item[\"itemId\"],\n content_index: item[\"contentIndex\"],\n audio_end_ms: item[\"audioEndInMs\"],\n };\n}\n\n/**\n * Send this event when you want to remove any item from the conversation\n * history. The server will respond with a `conversation.item.deleted` event,\n * unless the item does not exist in the conversation history, in which case the\n * server will respond with an error.\n */\nexport interface ClientEventConversationItemDelete extends ClientEvent {\n /** The event type, must be `conversation.item.delete`. */\n type: \"conversation.item.delete\";\n /** The ID of the item to delete. */\n itemId: string;\n}\n\nexport function clientEventConversationItemDeleteSerializer(\n item: ClientEventConversationItemDelete,\n): any {\n return {\n type: item[\"type\"],\n event_id: item[\"eventId\"],\n item_id: item[\"itemId\"],\n };\n}\n\n/**\n * This event instructs the server to create a Response, which means triggering\n * model inference. When in Server VAD mode, the server will create Responses\n * automatically.\n * A Response will include at least one Item, and may have two, in which case\n * the second will be a function call. These Items will be appended to the\n * conversation history.\n * The server will respond with a `response.created` event, events for Items\n * and content created, and finally a `response.done` event to indicate the\n * Response is complete.\n * The `response.create` event includes inference configuration like\n * `instructions`, and `temperature`. These fields will override the Session's\n * configuration for this Response only.\n */\nexport interface ClientEventResponseCreate extends ClientEvent {\n /** The event type, must be `response.create`. */\n type: \"response.create\";\n response?: ResponseCreateParams;\n /** additional instructions (system prompt) appended to the default instructions of the session. Only affects this response only. */\n additionalInstructions?: string;\n}\n\nexport function clientEventResponseCreateSerializer(item: ClientEventResponseCreate): any {\n return {\n type: item[\"type\"],\n event_id: item[\"eventId\"],\n response: !item[\"response\"]\n ? item[\"response\"]\n : responseCreateParamsSerializer(item[\"response\"]),\n additional_instructions: item[\"additionalInstructions\"],\n };\n}\n\n/** Create a new VoiceLive response with these parameters */\nexport interface ResponseCreateParams {\n /** Whether to commit the response to the conversation. Defaults to true. */\n commit?: boolean;\n /** Whether to cancel any ongoing generation before starting this one. Defaults to true. */\n cancelPrevious?: boolean;\n /** Input items to append to the conversation context before generating a response. */\n appendInputItems?: ConversationRequestItemUnion[];\n /**\n * Input items to be used as the context for this response.\n * An empty array clears previous context.\n */\n inputItems?: ConversationRequestItemUnion[];\n /**\n * The set of modalities the model can respond with. To disable audio,\n * set this to [\"text\"].\n */\n modalities?: Modality[];\n /**\n * The default system instructions (i.e. system message) prepended to model\n * calls. This field allows the client to guide the model on desired\n * responses. The model can be instructed on response content and format,\n * (e.g. \"be extremely succinct\", \"act friendly\", \"here are examples of good\n * responses\") and on audio behavior (e.g. \"talk quickly\", \"inject emotion\n * into your voice\", \"laugh frequently\"). The instructions are not guaranteed\n * to be followed by the model, but they provide guidance to the model on the\n * desired behavior.\n *\n * Note that the server sets default instructions which will be used if this\n * field is not set and are visible in the `session.created` event at the\n * start of the session.\n */\n instructions?: string;\n /** supported voice identifiers and configurations. */\n voice?: Voice;\n /** The format of output audio. Options are `pcm16`, `g711_ulaw`, or `g711_alaw`. */\n outputAudioFormat?: OutputAudioFormat;\n /** Tools (functions) available to the model. */\n tools?: ToolUnion[];\n /**\n * How the model chooses tools. Options are `auto`, `none`, `required`, or\n * specify a function, like `{\"type\": \"function\", \"function\": {\"name\": \"my_function\"}}`.\n */\n toolChoice?: string;\n /** Sampling temperature for the model, limited to [0.6, 1.2]. Defaults to 0.8. */\n temperature?: number;\n /**\n * Maximum number of output tokens for a single assistant response,\n * inclusive of tool calls. Provide an integer between 1 and 4096 to\n * limit output tokens, or `inf` for the maximum available tokens for a\n * given model. Defaults to `inf`.\n */\n maxOutputTokens?: number | \"inf\";\n}\n\nexport function responseCreateParamsSerializer(item: ResponseCreateParams): any {\n return {\n commit: item[\"commit\"],\n cancel_previous: item[\"cancelPrevious\"],\n append_input_items: !item[\"appendInputItems\"]\n ? item[\"appendInputItems\"]\n : conversationRequestItemUnionArraySerializer(item[\"appendInputItems\"]),\n input_items: !item[\"inputItems\"]\n ? item[\"inputItems\"]\n : conversationRequestItemUnionArraySerializer(item[\"inputItems\"]),\n modalities: !item[\"modalities\"]\n ? item[\"modalities\"]\n : item[\"modalities\"].map((p: any) => {\n return p;\n }),\n instructions: item[\"instructions\"],\n voice: !item[\"voice\"] ? item[\"voice\"] : voiceSerializer(item[\"voice\"]),\n output_audio_format: item[\"outputAudioFormat\"],\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArraySerializer(item[\"tools\"]),\n tool_choice: item[\"toolChoice\"],\n temperature: item[\"temperature\"],\n max_output_tokens: !item[\"maxOutputTokens\"]\n ? item[\"maxOutputTokens\"]\n : _responseCreateParamsMaxOutputTokensSerializer(item[\"maxOutputTokens\"]),\n };\n}\n\nexport function responseCreateParamsDeserializer(item: any): ResponseCreateParams {\n return {\n commit: item[\"commit\"],\n cancelPrevious: item[\"cancel_previous\"],\n appendInputItems: !item[\"append_input_items\"]\n ? item[\"append_input_items\"]\n : conversationRequestItemUnionArrayDeserializer(item[\"append_input_items\"]),\n inputItems: !item[\"input_items\"]\n ? item[\"input_items\"]\n : conversationRequestItemUnionArrayDeserializer(item[\"input_items\"]),\n modalities: !item[\"modalities\"]\n ? item[\"modalities\"]\n : item[\"modalities\"].map((p: any) => {\n return p;\n }),\n instructions: item[\"instructions\"],\n voice: !item[\"voice\"] ? item[\"voice\"] : voiceDeserializer(item[\"voice\"]),\n outputAudioFormat: item[\"output_audio_format\"],\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArrayDeserializer(item[\"tools\"]),\n toolChoice: item[\"tool_choice\"],\n temperature: item[\"temperature\"],\n maxOutputTokens: !item[\"max_output_tokens\"]\n ? item[\"max_output_tokens\"]\n : _responseCreateParamsMaxOutputTokensDeserializer(item[\"max_output_tokens\"]),\n };\n}\n\nexport function conversationRequestItemUnionArraySerializer(\n result: Array<ConversationRequestItemUnion>,\n): any[] {\n return result.map((item) => {\n return conversationRequestItemUnionSerializer(item);\n });\n}\n\nexport function conversationRequestItemUnionArrayDeserializer(\n result: Array<ConversationRequestItemUnion>,\n): any[] {\n return result.map((item) => {\n return conversationRequestItemUnionDeserializer(item);\n });\n}\n\n/** Alias for _ResponseCreateParamsMaxOutputTokens */\nexport type _ResponseCreateParamsMaxOutputTokens = number | \"inf\";\n\nexport function _responseCreateParamsMaxOutputTokensSerializer(\n item: _ResponseCreateParamsMaxOutputTokens,\n): any {\n return item;\n}\n\nexport function _responseCreateParamsMaxOutputTokensDeserializer(\n item: any,\n): _ResponseCreateParamsMaxOutputTokens {\n return item;\n}\n\n/**\n * Send this event to cancel an in-progress response. The server will respond\n * with a `response.cancelled` event or an error if there is no response to\n * cancel.\n */\nexport interface ClientEventResponseCancel extends ClientEvent {\n /** The event type, must be `response.cancel`. */\n type: \"response.cancel\";\n /**\n * A specific response ID to cancel - if not provided, will cancel an\n * in-progress response in the default conversation.\n */\n responseId?: string;\n}\n\nexport function clientEventResponseCancelSerializer(item: ClientEventResponseCancel): any {\n return {\n type: item[\"type\"],\n event_id: item[\"eventId\"],\n response_id: item[\"responseId\"],\n };\n}\n\n/**\n * Send this event when you want to retrieve the server's representation of a specific item in the conversation history. This is useful, for example, to inspect user audio after noise cancellation and VAD.\n * The server will respond with a `conversation.item.retrieved` event,\n * unless the item does not exist in the conversation history, in which case the\n * server will respond with an error.\n */\nexport interface ClientEventConversationItemRetrieve extends ClientEvent {\n /** The event type, must be `conversation.item.retrieve`. */\n type: \"conversation.item.retrieve\";\n /** The ID of the item to retrieve. */\n itemId: string;\n}\n\nexport function clientEventConversationItemRetrieveSerializer(\n item: ClientEventConversationItemRetrieve,\n): any {\n return {\n type: item[\"type\"],\n event_id: item[\"eventId\"],\n item_id: item[\"itemId\"],\n };\n}\n\n/** VoiceLive session object configuration. */\nexport interface SessionBase {}\n\nexport function sessionBaseDeserializer(item: any): SessionBase {\n return item;\n}\n\n/** The item to add to the conversation. */\nexport interface ConversationItemBase {}\n\nexport function conversationItemBaseSerializer(item: ConversationItemBase): any {\n return item;\n}\n\n/** The response resource. */\nexport interface Response {\n /** The unique ID of the response. */\n id?: string;\n /** The object type, must be `realtime.response`. */\n object?: \"realtime.response\";\n /**\n * The final status of the response.\n *\n * One of: `completed`, `cancelled`, `failed`, `incomplete`, or `in_progress`.\n */\n status?: ResponseStatus;\n /** Additional details about the status. */\n statusDetails?: ResponseStatusDetailsUnion;\n /** The list of output items generated by the response. */\n output?: ResponseItemUnion[];\n /**\n * Usage statistics for the Response, this will correspond to billing. A\n * VoiceLive API session will maintain a conversation context and append new\n * Items to the Conversation, thus output from previous turns (text and\n * audio tokens) will become the input for later turns.\n */\n usage?: TokenUsage;\n /**\n * Which conversation the response is added to, determined by the `conversation`\n * field in the `response.create` event. If `auto`, the response will be added to\n * the default conversation and the value of `conversation_id` will be an id like\n * `conv_1234`. If `none`, the response will not be added to any conversation and\n * the value of `conversation_id` will be `null`. If responses are being triggered\n * by server VAD, the response will be added to the default conversation, thus\n * the `conversation_id` will be an id like `conv_1234`.\n */\n conversationId?: string;\n /** supported voice identifiers and configurations. */\n voice?: Voice;\n /**\n * The set of modalities the model used to respond. If there are multiple modalities,\n * the model will pick one, for example if `modalities` is `[\"text\", \"audio\"]`, the model\n * could be responding in either text or audio.\n */\n modalities?: Modality[];\n /** The format of output audio. Options are `pcm16`, `g711_ulaw`, or `g711_alaw`. */\n outputAudioFormat?: OutputAudioFormat;\n /** Sampling temperature for the model, limited to [0.6, 1.2]. Defaults to 0.8. */\n temperature?: number;\n /**\n * Maximum number of output tokens for a single assistant response,\n * inclusive of tool calls, that was used in this response.\n */\n maxOutputTokens?: number | \"inf\";\n}\n\nexport function responseDeserializer(item: any): Response {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n status: item[\"status\"],\n statusDetails: !item[\"status_details\"]\n ? item[\"status_details\"]\n : responseStatusDetailsUnionDeserializer(item[\"status_details\"]),\n output: !item[\"output\"] ? item[\"output\"] : responseItemUnionArrayDeserializer(item[\"output\"]),\n usage: !item[\"usage\"] ? item[\"usage\"] : tokenUsageDeserializer(item[\"usage\"]),\n conversationId: item[\"conversation_id\"],\n voice: !item[\"voice\"] ? item[\"voice\"] : voiceDeserializer(item[\"voice\"]),\n modalities: !item[\"modalities\"]\n ? item[\"modalities\"]\n : item[\"modalities\"].map((p: any) => {\n return p;\n }),\n outputAudioFormat: item[\"output_audio_format\"],\n temperature: item[\"temperature\"],\n maxOutputTokens: !item[\"max_output_tokens\"]\n ? item[\"max_output_tokens\"]\n : _responseMaxOutputTokensDeserializer(item[\"max_output_tokens\"]),\n };\n}\n\n/** Terminal status of a response. */\nexport enum KnownResponseStatus {\n /** completed */\n Completed = \"completed\",\n /** cancelled */\n Cancelled = \"cancelled\",\n /** failed */\n Failed = \"failed\",\n /** incomplete */\n Incomplete = \"incomplete\",\n /** in_progress */\n InProgress = \"in_progress\",\n}\n\n/**\n * Terminal status of a response. \\\n * {@link KnownResponseStatus} can be used interchangeably with ResponseStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **completed** \\\n * **cancelled** \\\n * **failed** \\\n * **incomplete** \\\n * **in_progress**\n */\nexport type ResponseStatus = string;\n\n/** Base for all non-success response details. */\nexport interface ResponseStatusDetails {\n type: ResponseStatus;\n}\n\nexport function responseStatusDetailsDeserializer(item: any): ResponseStatusDetails {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ResponseStatusDetailsUnion */\nexport type ResponseStatusDetailsUnion =\n | ResponseCancelledDetails\n | ResponseIncompleteDetails\n | ResponseFailedDetails\n | ResponseStatusDetails;\n\nexport function responseStatusDetailsUnionDeserializer(item: any): ResponseStatusDetailsUnion {\n switch (item.type) {\n case \"cancelled\":\n return responseCancelledDetailsDeserializer(item as ResponseCancelledDetails);\n\n case \"incomplete\":\n return responseIncompleteDetailsDeserializer(item as ResponseIncompleteDetails);\n\n case \"failed\":\n return responseFailedDetailsDeserializer(item as ResponseFailedDetails);\n\n default:\n return responseStatusDetailsDeserializer(item);\n }\n}\n\n/** Details for a cancelled response. */\nexport interface ResponseCancelledDetails extends ResponseStatusDetails {\n type: \"cancelled\";\n reason: string;\n}\n\nexport function responseCancelledDetailsDeserializer(item: any): ResponseCancelledDetails {\n return {\n type: item[\"type\"],\n reason: item[\"reason\"],\n };\n}\n\n/** Details for an incomplete response. */\nexport interface ResponseIncompleteDetails extends ResponseStatusDetails {\n type: \"incomplete\";\n reason: string;\n}\n\nexport function responseIncompleteDetailsDeserializer(item: any): ResponseIncompleteDetails {\n return {\n type: item[\"type\"],\n reason: item[\"reason\"],\n };\n}\n\n/** Details for a failed response. */\nexport interface ResponseFailedDetails extends ResponseStatusDetails {\n type: \"failed\";\n error: any;\n}\n\nexport function responseFailedDetailsDeserializer(item: any): ResponseFailedDetails {\n return {\n type: item[\"type\"],\n error: item[\"error\"],\n };\n}\n\nexport function responseItemUnionArrayDeserializer(result: Array<ResponseItemUnion>): any[] {\n return result.map((item) => {\n return responseItemUnionDeserializer(item);\n });\n}\n\n/** Base for any response item; discriminated by `type`. */\nexport interface ResponseItem {\n type: ItemType;\n id?: string;\n object?: \"realtime.item\";\n}\n\nexport function responseItemDeserializer(item: any): ResponseItem {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n object: item[\"object\"],\n };\n}\n\n/** Alias for ResponseItemUnion */\nexport type ResponseItemUnion =\n | ResponseMessageItem\n | ResponseFunctionCallItem\n | ResponseFunctionCallOutputItem\n | ResponseItem;\n\nexport function responseItemUnionDeserializer(item: any): ResponseItemUnion {\n switch (item.type) {\n case \"message\":\n return responseMessageItemDeserializer(item as ResponseMessageItem);\n\n case \"function_call\":\n return responseFunctionCallItemDeserializer(item as ResponseFunctionCallItem);\n\n case \"function_call_output\":\n return responseFunctionCallOutputItemDeserializer(item as ResponseFunctionCallOutputItem);\n\n default:\n return responseItemDeserializer(item);\n }\n}\n\n/** Base type for message item within a conversation. */\nexport interface ResponseMessageItem extends ResponseItem {\n type: \"message\";\n role: MessageRole;\n content: ContentPartUnion[];\n status: ResponseItemStatus;\n}\n\nexport function responseMessageItemDeserializer(item: any): ResponseMessageItem {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n object: item[\"object\"],\n role: item[\"role\"],\n content: contentPartUnionArrayDeserializer(item[\"content\"]),\n status: item[\"status\"],\n };\n}\n\nexport function contentPartUnionArraySerializer(result: Array<ContentPartUnion>): any[] {\n return result.map((item) => {\n return contentPartUnionSerializer(item);\n });\n}\n\nexport function contentPartUnionArrayDeserializer(result: Array<ContentPartUnion>): any[] {\n return result.map((item) => {\n return contentPartUnionDeserializer(item);\n });\n}\n\n/** Base for any content part; discriminated by `type`. */\nexport interface ContentPart {\n type: ContentPartType;\n}\n\nexport function contentPartSerializer(item: ContentPart): any {\n return { type: item[\"type\"] };\n}\n\nexport function contentPartDeserializer(item: any): ContentPart {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ContentPartUnion */\nexport type ContentPartUnion =\n | RequestTextContentPart\n | RequestAudioContentPart\n | ResponseTextContentPart\n | ResponseAudioContentPart\n | ContentPart;\n\nexport function contentPartUnionSerializer(item: ContentPartUnion): any {\n switch (item.type) {\n case \"input_text\":\n return requestTextContentPartSerializer(item as RequestTextContentPart);\n\n case \"input_audio\":\n return requestAudioContentPartSerializer(item as RequestAudioContentPart);\n\n default:\n return contentPartSerializer(item);\n }\n}\n\nexport function contentPartUnionDeserializer(item: any): ContentPartUnion {\n switch (item.type) {\n case \"input_text\":\n return requestTextContentPartDeserializer(item as RequestTextContentPart);\n\n case \"input_audio\":\n return requestAudioContentPartDeserializer(item as RequestAudioContentPart);\n\n case \"text\":\n return responseTextContentPartDeserializer(item as ResponseTextContentPart);\n\n case \"audio\":\n return responseAudioContentPartDeserializer(item as ResponseAudioContentPart);\n\n default:\n return contentPartDeserializer(item);\n }\n}\n\n/** A text content part for a request. */\nexport interface RequestTextContentPart extends ContentPart {\n type: \"input_text\";\n text?: string;\n}\n\nexport function requestTextContentPartSerializer(item: RequestTextContentPart): any {\n return { type: item[\"type\"], text: item[\"text\"] };\n}\n\nexport function requestTextContentPartDeserializer(item: any): RequestTextContentPart {\n return {\n type: item[\"type\"],\n text: item[\"text\"],\n };\n}\n\n/** An audio content part for a request. */\nexport interface RequestAudioContentPart extends ContentPart {\n type: \"input_audio\";\n transcript?: string;\n}\n\nexport function requestAudioContentPartSerializer(item: RequestAudioContentPart): any {\n return { type: item[\"type\"], transcript: item[\"transcript\"] };\n}\n\nexport function requestAudioContentPartDeserializer(item: any): RequestAudioContentPart {\n return {\n type: item[\"type\"],\n transcript: item[\"transcript\"],\n };\n}\n\n/** A text content part for a response. */\nexport interface ResponseTextContentPart extends ContentPart {\n type: \"text\";\n text?: string;\n}\n\nexport function responseTextContentPartDeserializer(item: any): ResponseTextContentPart {\n return {\n type: item[\"type\"],\n text: item[\"text\"],\n };\n}\n\n/** An audio content part for a response. */\nexport interface ResponseAudioContentPart extends ContentPart {\n type: \"audio\";\n transcript?: string;\n}\n\nexport function responseAudioContentPartDeserializer(item: any): ResponseAudioContentPart {\n return {\n type: item[\"type\"],\n transcript: item[\"transcript\"],\n };\n}\n\n/** Indicates the processing status of a response item. */\nexport enum KnownResponseItemStatus {\n /** Item that is in progress. */\n InProgress = \"in_progress\",\n /** Item has been fully processed and is complete. */\n Completed = \"completed\",\n /** Item has been processed but is incomplete. */\n Incomplete = \"incomplete\",\n}\n\n/**\n * Indicates the processing status of a response item. \\\n * {@link KnownResponseItemStatus} can be used interchangeably with ResponseItemStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **in_progress**: Item that is in progress. \\\n * **completed**: Item has been fully processed and is complete. \\\n * **incomplete**: Item has been processed but is incomplete.\n */\nexport type ResponseItemStatus = string;\n\n/** A function call item within a conversation. */\nexport interface ResponseFunctionCallItem extends ResponseItem {\n type: \"function_call\";\n name: string;\n callId: string;\n arguments: string;\n status: ResponseItemStatus;\n}\n\nexport function responseFunctionCallItemDeserializer(item: any): ResponseFunctionCallItem {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n object: item[\"object\"],\n name: item[\"name\"],\n callId: item[\"call_id\"],\n arguments: item[\"arguments\"],\n status: item[\"status\"],\n };\n}\n\n/** A function call output item within a conversation. */\nexport interface ResponseFunctionCallOutputItem extends ResponseItem {\n type: \"function_call_output\";\n callId: string;\n output: string;\n}\n\nexport function responseFunctionCallOutputItemDeserializer(\n item: any,\n): ResponseFunctionCallOutputItem {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n object: item[\"object\"],\n callId: item[\"call_id\"],\n output: item[\"output\"],\n };\n}\n\n/** Overall usage statistics for a response. */\nexport interface TokenUsage {\n /** Total number of tokens (input + output). */\n totalTokens: number;\n /** Number of input tokens. */\n inputTokens: number;\n /** Number of output tokens. */\n outputTokens: number;\n /** Detailed breakdown of input tokens. */\n inputTokenDetails: InputTokenDetails;\n /** Detailed breakdown of output tokens. */\n outputTokenDetails: OutputTokenDetails;\n}\n\nexport function tokenUsageDeserializer(item: any): TokenUsage {\n return {\n totalTokens: item[\"total_tokens\"],\n inputTokens: item[\"input_tokens\"],\n outputTokens: item[\"output_tokens\"],\n inputTokenDetails: inputTokenDetailsDeserializer(item[\"input_token_details\"]),\n outputTokenDetails: outputTokenDetailsDeserializer(item[\"output_token_details\"]),\n };\n}\n\n/** Details of input token usage. */\nexport interface InputTokenDetails {\n /** Number of cached tokens used in the input. */\n cachedTokens: number;\n /** Number of text tokens used in the input. */\n textTokens: number;\n /** Number of audio tokens used in the input. */\n audioTokens: number;\n /** Details of cached token usage. */\n cachedTokensDetails: CachedTokenDetails;\n}\n\nexport function inputTokenDetailsDeserializer(item: any): InputTokenDetails {\n return {\n cachedTokens: item[\"cached_tokens\"],\n textTokens: item[\"text_tokens\"],\n audioTokens: item[\"audio_tokens\"],\n cachedTokensDetails: cachedTokenDetailsDeserializer(item[\"cached_tokens_details\"]),\n };\n}\n\n/** Details of output token usage. */\nexport interface CachedTokenDetails {\n /** Number of cached text tokens. */\n textTokens: number;\n /** Number of cached audio tokens. */\n audioTokens: number;\n}\n\nexport function cachedTokenDetailsDeserializer(item: any): CachedTokenDetails {\n return {\n textTokens: item[\"text_tokens\"],\n audioTokens: item[\"audio_tokens\"],\n };\n}\n\n/** Details of output token usage. */\nexport interface OutputTokenDetails {\n /** Number of text tokens generated in the output. */\n textTokens: number;\n /** Number of audio tokens generated in the output. */\n audioTokens: number;\n}\n\nexport function outputTokenDetailsDeserializer(item: any): OutputTokenDetails {\n return {\n textTokens: item[\"text_tokens\"],\n audioTokens: item[\"audio_tokens\"],\n };\n}\n\n/** Alias for _ResponseMaxOutputTokens */\nexport type _ResponseMaxOutputTokens = number | \"inf\";\n\nexport function _responseMaxOutputTokensDeserializer(item: any): _ResponseMaxOutputTokens {\n return item;\n}\n\n/** A voicelive server event. */\nexport interface ServerEvent {\n /** The type of event. */\n /** The discriminator possible values: error, session.created, session.updated, session.avatar.connecting, input_audio_buffer.committed, input_audio_buffer.cleared, input_audio_buffer.speech_started, input_audio_buffer.speech_stopped, conversation.item.created, conversation.item.input_audio_transcription.completed, conversation.item.input_audio_transcription.failed, conversation.item.truncated, conversation.item.deleted, response.created, response.done, response.output_item.added, response.output_item.done, response.content_part.added, response.content_part.done, response.text.delta, response.text.done, response.audio_transcript.delta, response.audio_transcript.done, response.audio.delta, response.audio.done, response.animation_blendshapes.delta, response.animation_blendshapes.done, response.audio_timestamp.delta, response.audio_timestamp.done, response.animation_viseme.delta, response.animation_viseme.done, conversation.item.input_audio_transcription.delta, conversation.item.retrieved, response.function_call_arguments.delta, response.function_call_arguments.done */\n type: ServerEventType;\n eventId?: string;\n}\n\nexport function serverEventDeserializer(item: any): ServerEvent {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n };\n}\n\n/** Alias for ServerEventUnion */\nexport type ServerEventUnion =\n | ServerEventError\n | ServerEventSessionCreated\n | ServerEventSessionUpdated\n | ServerEventSessionAvatarConnecting\n | ServerEventInputAudioBufferCommitted\n | ServerEventInputAudioBufferCleared\n | ServerEventInputAudioBufferSpeechStarted\n | ServerEventInputAudioBufferSpeechStopped\n | ServerEventConversationItemCreated\n | ServerEventConversationItemInputAudioTranscriptionCompleted\n | ServerEventConversationItemInputAudioTranscriptionFailed\n | ServerEventConversationItemTruncated\n | ServerEventConversationItemDeleted\n | ServerEventResponseCreated\n | ServerEventResponseDone\n | ServerEventResponseOutputItemAdded\n | ServerEventResponseOutputItemDone\n | ServerEventResponseContentPartAdded\n | ServerEventResponseContentPartDone\n | ServerEventResponseTextDelta\n | ServerEventResponseTextDone\n | ServerEventResponseAudioTranscriptDelta\n | ServerEventResponseAudioTranscriptDone\n | ServerEventResponseAudioDelta\n | ServerEventResponseAudioDone\n | ServerEventResponseAnimationBlendshapeDelta\n | ServerEventResponseAnimationBlendshapeDone\n | ServerEventResponseAudioTimestampDelta\n | ServerEventResponseAudioTimestampDone\n | ServerEventResponseAnimationVisemeDelta\n | ServerEventResponseAnimationVisemeDone\n | ServerEventConversationItemInputAudioTranscriptionDelta\n | ServerEventConversationItemRetrieved\n | ServerEventResponseFunctionCallArgumentsDelta\n | ServerEventResponseFunctionCallArgumentsDone\n | ServerEvent;\n\nexport function serverEventUnionDeserializer(item: any): ServerEventUnion {\n switch (item.type) {\n case \"error\":\n return serverEventErrorDeserializer(item as ServerEventError);\n\n case \"session.created\":\n return serverEventSessionCreatedDeserializer(item as ServerEventSessionCreated);\n\n case \"session.updated\":\n return serverEventSessionUpdatedDeserializer(item as ServerEventSessionUpdated);\n\n case \"session.avatar.connecting\":\n return serverEventSessionAvatarConnectingDeserializer(\n item as ServerEventSessionAvatarConnecting,\n );\n\n case \"input_audio_buffer.committed\":\n return serverEventInputAudioBufferCommittedDeserializer(\n item as ServerEventInputAudioBufferCommitted,\n );\n\n case \"input_audio_buffer.cleared\":\n return serverEventInputAudioBufferClearedDeserializer(\n item as ServerEventInputAudioBufferCleared,\n );\n\n case \"input_audio_buffer.speech_started\":\n return serverEventInputAudioBufferSpeechStartedDeserializer(\n item as ServerEventInputAudioBufferSpeechStarted,\n );\n\n case \"input_audio_buffer.speech_stopped\":\n return serverEventInputAudioBufferSpeechStoppedDeserializer(\n item as ServerEventInputAudioBufferSpeechStopped,\n );\n\n case \"conversation.item.created\":\n return serverEventConversationItemCreatedDeserializer(\n item as ServerEventConversationItemCreated,\n );\n\n case \"conversation.item.input_audio_transcription.completed\":\n return serverEventConversationItemInputAudioTranscriptionCompletedDeserializer(\n item as ServerEventConversationItemInputAudioTranscriptionCompleted,\n );\n\n case \"conversation.item.input_audio_transcription.failed\":\n return serverEventConversationItemInputAudioTranscriptionFailedDeserializer(\n item as ServerEventConversationItemInputAudioTranscriptionFailed,\n );\n\n case \"conversation.item.truncated\":\n return serverEventConversationItemTruncatedDeserializer(\n item as ServerEventConversationItemTruncated,\n );\n\n case \"conversation.item.deleted\":\n return serverEventConversationItemDeletedDeserializer(\n item as ServerEventConversationItemDeleted,\n );\n\n case \"response.created\":\n return serverEventResponseCreatedDeserializer(item as ServerEventResponseCreated);\n\n case \"response.done\":\n return serverEventResponseDoneDeserializer(item as ServerEventResponseDone);\n\n case \"response.output_item.added\":\n return serverEventResponseOutputItemAddedDeserializer(\n item as ServerEventResponseOutputItemAdded,\n );\n\n case \"response.output_item.done\":\n return serverEventResponseOutputItemDoneDeserializer(\n item as ServerEventResponseOutputItemDone,\n );\n\n case \"response.content_part.added\":\n return serverEventResponseContentPartAddedDeserializer(\n item as ServerEventResponseContentPartAdded,\n );\n\n case \"response.content_part.done\":\n return serverEventResponseContentPartDoneDeserializer(\n item as ServerEventResponseContentPartDone,\n );\n\n case \"response.text.delta\":\n return serverEventResponseTextDeltaDeserializer(item as ServerEventResponseTextDelta);\n\n case \"response.text.done\":\n return serverEventResponseTextDoneDeserializer(item as ServerEventResponseTextDone);\n\n case \"response.audio_transcript.delta\":\n return serverEventResponseAudioTranscriptDeltaDeserializer(\n item as ServerEventResponseAudioTranscriptDelta,\n );\n\n case \"response.audio_transcript.done\":\n return serverEventResponseAudioTranscriptDoneDeserializer(\n item as ServerEventResponseAudioTranscriptDone,\n );\n\n case \"response.audio.delta\":\n return serverEventResponseAudioDeltaDeserializer(item as ServerEventResponseAudioDelta);\n\n case \"response.audio.done\":\n return serverEventResponseAudioDoneDeserializer(item as ServerEventResponseAudioDone);\n\n case \"response.animation_blendshapes.delta\":\n return serverEventResponseAnimationBlendshapeDeltaDeserializer(\n item as ServerEventResponseAnimationBlendshapeDelta,\n );\n\n case \"response.animation_blendshapes.done\":\n return serverEventResponseAnimationBlendshapeDoneDeserializer(\n item as ServerEventResponseAnimationBlendshapeDone,\n );\n\n case \"response.audio_timestamp.delta\":\n return serverEventResponseAudioTimestampDeltaDeserializer(\n item as ServerEventResponseAudioTimestampDelta,\n );\n\n case \"response.audio_timestamp.done\":\n return serverEventResponseAudioTimestampDoneDeserializer(\n item as ServerEventResponseAudioTimestampDone,\n );\n\n case \"response.animation_viseme.delta\":\n return serverEventResponseAnimationVisemeDeltaDeserializer(\n item as ServerEventResponseAnimationVisemeDelta,\n );\n\n case \"response.animation_viseme.done\":\n return serverEventResponseAnimationVisemeDoneDeserializer(\n item as ServerEventResponseAnimationVisemeDone,\n );\n\n case \"conversation.item.input_audio_transcription.delta\":\n return serverEventConversationItemInputAudioTranscriptionDeltaDeserializer(\n item as ServerEventConversationItemInputAudioTranscriptionDelta,\n );\n\n case \"conversation.item.retrieved\":\n return serverEventConversationItemRetrievedDeserializer(\n item as ServerEventConversationItemRetrieved,\n );\n\n case \"response.function_call_arguments.delta\":\n return serverEventResponseFunctionCallArgumentsDeltaDeserializer(\n item as ServerEventResponseFunctionCallArgumentsDelta,\n );\n\n case \"response.function_call_arguments.done\":\n return serverEventResponseFunctionCallArgumentsDoneDeserializer(\n item as ServerEventResponseFunctionCallArgumentsDone,\n );\n\n default:\n return serverEventDeserializer(item);\n }\n}\n\n/** Server event types used in VoiceLive protocol. */\nexport enum KnownServerEventType {\n /** error */\n Error = \"error\",\n /** session.avatar.connecting */\n SessionAvatarConnecting = \"session.avatar.connecting\",\n /** session.created */\n SessionCreated = \"session.created\",\n /** session.updated */\n SessionUpdated = \"session.updated\",\n /** conversation.item.input_audio_transcription.completed */\n ConversationItemInputAudioTranscriptionCompleted = \"conversation.item.input_audio_transcription.completed\",\n /** conversation.item.input_audio_transcription.delta */\n ConversationItemInputAudioTranscriptionDelta = \"conversation.item.input_audio_transcription.delta\",\n /** conversation.item.input_audio_transcription.failed */\n ConversationItemInputAudioTranscriptionFailed = \"conversation.item.input_audio_transcription.failed\",\n /** conversation.item.created */\n ConversationItemCreated = \"conversation.item.created\",\n /** conversation.item.retrieved */\n ConversationItemRetrieved = \"conversation.item.retrieved\",\n /** conversation.item.truncated */\n ConversationItemTruncated = \"conversation.item.truncated\",\n /** conversation.item.deleted */\n ConversationItemDeleted = \"conversation.item.deleted\",\n /** input_audio_buffer.committed */\n InputAudioBufferCommitted = \"input_audio_buffer.committed\",\n /** input_audio_buffer.cleared */\n InputAudioBufferCleared = \"input_audio_buffer.cleared\",\n /** input_audio_buffer.speech_started */\n InputAudioBufferSpeechStarted = \"input_audio_buffer.speech_started\",\n /** input_audio_buffer.speech_stopped */\n InputAudioBufferSpeechStopped = \"input_audio_buffer.speech_stopped\",\n /** response.created */\n ResponseCreated = \"response.created\",\n /** response.done */\n ResponseDone = \"response.done\",\n /** response.output_item.added */\n ResponseOutputItemAdded = \"response.output_item.added\",\n /** response.output_item.done */\n ResponseOutputItemDone = \"response.output_item.done\",\n /** response.content_part.added */\n ResponseContentPartAdded = \"response.content_part.added\",\n /** response.content_part.done */\n ResponseContentPartDone = \"response.content_part.done\",\n /** response.text.delta */\n ResponseTextDelta = \"response.text.delta\",\n /** response.text.done */\n ResponseTextDone = \"response.text.done\",\n /** response.audio_transcript.delta */\n ResponseAudioTranscriptDelta = \"response.audio_transcript.delta\",\n /** response.audio_transcript.done */\n ResponseAudioTranscriptDone = \"response.audio_transcript.done\",\n /** response.audio.delta */\n ResponseAudioDelta = \"response.audio.delta\",\n /** response.audio.done */\n ResponseAudioDone = \"response.audio.done\",\n /** response.animation_blendshapes.delta */\n ResponseAnimationBlendshapesDelta = \"response.animation_blendshapes.delta\",\n /** response.animation_blendshapes.done */\n ResponseAnimationBlendshapesDone = \"response.animation_blendshapes.done\",\n /** response.audio_timestamp.delta */\n ResponseAudioTimestampDelta = \"response.audio_timestamp.delta\",\n /** response.audio_timestamp.done */\n ResponseAudioTimestampDone = \"response.audio_timestamp.done\",\n /** response.animation_viseme.delta */\n ResponseAnimationVisemeDelta = \"response.animation_viseme.delta\",\n /** response.animation_viseme.done */\n ResponseAnimationVisemeDone = \"response.animation_viseme.done\",\n /** response.function_call_arguments.delta */\n ResponseFunctionCallArgumentsDelta = \"response.function_call_arguments.delta\",\n /** response.function_call_arguments.done */\n ResponseFunctionCallArgumentsDone = \"response.function_call_arguments.done\",\n}\n\n/**\n * Server event types used in VoiceLive protocol. \\\n * {@link KnownServerEventType} can be used interchangeably with ServerEventType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **error** \\\n * **session.avatar.connecting** \\\n * **session.created** \\\n * **session.updated** \\\n * **conversation.item.input_audio_transcription.completed** \\\n * **conversation.item.input_audio_transcription.delta** \\\n * **conversation.item.input_audio_transcription.failed** \\\n * **conversation.item.created** \\\n * **conversation.item.retrieved** \\\n * **conversation.item.truncated** \\\n * **conversation.item.deleted** \\\n * **input_audio_buffer.committed** \\\n * **input_audio_buffer.cleared** \\\n * **input_audio_buffer.speech_started** \\\n * **input_audio_buffer.speech_stopped** \\\n * **response.created** \\\n * **response.done** \\\n * **response.output_item.added** \\\n * **response.output_item.done** \\\n * **response.content_part.added** \\\n * **response.content_part.done** \\\n * **response.text.delta** \\\n * **response.text.done** \\\n * **response.audio_transcript.delta** \\\n * **response.audio_transcript.done** \\\n * **response.audio.delta** \\\n * **response.audio.done** \\\n * **response.animation_blendshapes.delta** \\\n * **response.animation_blendshapes.done** \\\n * **response.audio_timestamp.delta** \\\n * **response.audio_timestamp.done** \\\n * **response.animation_viseme.delta** \\\n * **response.animation_viseme.done** \\\n * **response.function_call_arguments.delta** \\\n * **response.function_call_arguments.done**\n */\nexport type ServerEventType = string;\n\n/**\n * Returned when an error occurs, which could be a client problem or a server\n * problem. Most errors are recoverable and the session will stay open, we\n * recommend to implementors to monitor and log error messages by default.\n */\nexport interface ServerEventError extends ServerEvent {\n /** The event type, must be `error`. */\n type: \"error\";\n /** Details of the error. */\n error: ServerEventErrorDetails;\n}\n\nexport function serverEventErrorDeserializer(item: any): ServerEventError {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n error: serverEventErrorDetailsDeserializer(item[\"error\"]),\n };\n}\n\n/** Details of the error. */\nexport interface ServerEventErrorDetails {\n /** The type of error (e.g., \"invalid_request_error\", \"server_error\"). */\n type: string;\n /** Error code, if any. */\n code?: string;\n /** A human-readable error message. */\n message: string;\n /** Parameter related to the error, if any. */\n param?: string;\n /** The event_id of the client event that caused the error, if applicable. */\n eventId?: string;\n}\n\nexport function serverEventErrorDetailsDeserializer(item: any): ServerEventErrorDetails {\n return {\n type: item[\"type\"],\n code: item[\"code\"],\n message: item[\"message\"],\n param: item[\"param\"],\n eventId: item[\"event_id\"],\n };\n}\n\n/**\n * Returned when a Session is created. Emitted automatically when a new\n * connection is established as the first server event. This event will contain\n * the default Session configuration.\n */\nexport interface ServerEventSessionCreated extends ServerEvent {\n /** The event type, must be `session.created`. */\n type: \"session.created\";\n session: ResponseSession;\n}\n\nexport function serverEventSessionCreatedDeserializer(item: any): ServerEventSessionCreated {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n session: responseSessionDeserializer(item[\"session\"]),\n };\n}\n\n/** Base for session configuration in the response. */\nexport interface ResponseSession {\n /** The model for the session. */\n model?: string;\n /** The modalities to be used in the session. */\n modalities?: Modality[];\n /** The animation configuration for the session. */\n animation?: Animation;\n /** The voice configuration for the session. */\n voice?: Voice;\n /** Optional instructions to guide the model's behavior throughout the session. */\n instructions?: string;\n /**\n * Input audio sampling rate in Hz. Available values:\n *\n * - For pcm16: 8000, 16000, 24000\n *\n * - For g711_alaw/g711_ulaw: 8000\n */\n inputAudioSamplingRate?: number;\n /** Input audio format. Default is 'pcm16'. */\n inputAudioFormat?: InputAudioFormat;\n /** Output audio format. Default is 'pcm16'. */\n outputAudioFormat?: OutputAudioFormat;\n /** Type of turn detection to use. */\n turnDetection?: TurnDetectionUnion;\n /** Configuration for input audio noise reduction. */\n inputAudioNoiseReduction?: AudioNoiseReduction;\n /** Configuration for echo cancellation during server-side audio processing. */\n inputAudioEchoCancellation?: AudioEchoCancellation;\n /** Configuration for avatar streaming and behavior during the session. */\n avatar?: AvatarConfig;\n /** Configuration for input audio transcription. */\n inputAudioTranscription?: AudioInputTranscriptionOptions;\n /** Types of timestamps to include in audio response content. */\n outputAudioTimestampTypes?: AudioTimestampType[];\n /** Configuration for tools to be used during the session, if applicable. */\n tools?: ToolUnion[];\n /** Specifies which tools the model is allowed to call during the session. */\n toolChoice?: ToolChoice;\n /** Controls the randomness of the model's output. Range: 0.0 to 1.0. Default is 0.7. */\n temperature?: number;\n /** Maximum number of tokens to generate in the response. Default is unlimited. */\n maxResponseOutputTokens?: number | \"inf\";\n /** The agent configuration for the session, if applicable. */\n agent?: AgentConfig;\n /** The unique identifier for the session. */\n id?: string;\n}\n\nexport function responseSessionSerializer(item: ResponseSession): any {\n return {\n model: item[\"model\"],\n modalities: !item[\"modalities\"]\n ? item[\"modalities\"]\n : item[\"modalities\"].map((p: any) => {\n return p;\n }),\n animation: !item[\"animation\"] ? item[\"animation\"] : animationSerializer(item[\"animation\"]),\n voice: !item[\"voice\"] ? item[\"voice\"] : voiceSerializer(item[\"voice\"]),\n instructions: item[\"instructions\"],\n input_audio_sampling_rate: item[\"inputAudioSamplingRate\"],\n input_audio_format: item[\"inputAudioFormat\"],\n output_audio_format: item[\"outputAudioFormat\"],\n turn_detection: !item[\"turnDetection\"]\n ? item[\"turnDetection\"]\n : turnDetectionUnionSerializer(item[\"turnDetection\"]),\n input_audio_noise_reduction: !item[\"inputAudioNoiseReduction\"]\n ? item[\"inputAudioNoiseReduction\"]\n : audioNoiseReductionSerializer(item[\"inputAudioNoiseReduction\"]),\n input_audio_echo_cancellation: !item[\"inputAudioEchoCancellation\"]\n ? item[\"inputAudioEchoCancellation\"]\n : audioEchoCancellationSerializer(item[\"inputAudioEchoCancellation\"]),\n avatar: !item[\"avatar\"] ? item[\"avatar\"] : avatarConfigSerializer(item[\"avatar\"]),\n input_audio_transcription: !item[\"inputAudioTranscription\"]\n ? item[\"inputAudioTranscription\"]\n : audioInputTranscriptionOptionsSerializer(item[\"inputAudioTranscription\"]),\n output_audio_timestamp_types: !item[\"outputAudioTimestampTypes\"]\n ? item[\"outputAudioTimestampTypes\"]\n : item[\"outputAudioTimestampTypes\"].map((p: any) => {\n return p;\n }),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArraySerializer(item[\"tools\"]),\n tool_choice: !item[\"toolChoice\"]\n ? item[\"toolChoice\"]\n : toolChoiceSerializer(item[\"toolChoice\"]),\n temperature: item[\"temperature\"],\n max_response_output_tokens: !item[\"maxResponseOutputTokens\"]\n ? item[\"maxResponseOutputTokens\"]\n : _requestSessionMaxResponseOutputTokensSerializer(item[\"maxResponseOutputTokens\"]),\n agent: !item[\"agent\"] ? item[\"agent\"] : agentConfigSerializer(item[\"agent\"]),\n id: item[\"id\"],\n };\n}\n\nexport function responseSessionDeserializer(item: any): ResponseSession {\n return {\n model: item[\"model\"],\n modalities: !item[\"modalities\"]\n ? item[\"modalities\"]\n : item[\"modalities\"].map((p: any) => {\n return p;\n }),\n animation: !item[\"animation\"] ? item[\"animation\"] : animationDeserializer(item[\"animation\"]),\n voice: !item[\"voice\"] ? item[\"voice\"] : voiceDeserializer(item[\"voice\"]),\n instructions: item[\"instructions\"],\n inputAudioSamplingRate: item[\"input_audio_sampling_rate\"],\n inputAudioFormat: item[\"input_audio_format\"],\n outputAudioFormat: item[\"output_audio_format\"],\n turnDetection: !item[\"turn_detection\"]\n ? item[\"turn_detection\"]\n : turnDetectionUnionDeserializer(item[\"turn_detection\"]),\n inputAudioNoiseReduction: !item[\"input_audio_noise_reduction\"]\n ? item[\"input_audio_noise_reduction\"]\n : audioNoiseReductionDeserializer(item[\"input_audio_noise_reduction\"]),\n inputAudioEchoCancellation: !item[\"input_audio_echo_cancellation\"]\n ? item[\"input_audio_echo_cancellation\"]\n : audioEchoCancellationDeserializer(item[\"input_audio_echo_cancellation\"]),\n avatar: !item[\"avatar\"] ? item[\"avatar\"] : avatarConfigDeserializer(item[\"avatar\"]),\n inputAudioTranscription: !item[\"input_audio_transcription\"]\n ? item[\"input_audio_transcription\"]\n : audioInputTranscriptionOptionsDeserializer(item[\"input_audio_transcription\"]),\n outputAudioTimestampTypes: !item[\"output_audio_timestamp_types\"]\n ? item[\"output_audio_timestamp_types\"]\n : item[\"output_audio_timestamp_types\"].map((p: any) => {\n return p;\n }),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArrayDeserializer(item[\"tools\"]),\n toolChoice: !item[\"tool_choice\"]\n ? item[\"tool_choice\"]\n : toolChoiceDeserializer(item[\"tool_choice\"]),\n temperature: item[\"temperature\"],\n maxResponseOutputTokens: !item[\"max_response_output_tokens\"]\n ? item[\"max_response_output_tokens\"]\n : _requestSessionMaxResponseOutputTokensDeserializer(item[\"max_response_output_tokens\"]),\n agent: !item[\"agent\"] ? item[\"agent\"] : agentConfigDeserializer(item[\"agent\"]),\n id: item[\"id\"],\n };\n}\n\n/** Configuration for the agent. */\nexport interface AgentConfig {\n /** The type of agent to use. */\n type: \"agent\";\n /** The name of the agent. */\n name: string;\n /** Optional description of the agent. */\n description?: string;\n /** The ID of the agent. */\n agentId: string;\n /** The ID of the conversation thread. */\n threadId: string;\n}\n\nexport function agentConfigSerializer(item: AgentConfig): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n agent_id: item[\"agentId\"],\n thread_id: item[\"threadId\"],\n };\n}\n\nexport function agentConfigDeserializer(item: any): AgentConfig {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n agentId: item[\"agent_id\"],\n threadId: item[\"thread_id\"],\n };\n}\n\n/**\n * Returned when a session is updated with a `session.update` event, unless\n * there is an error.\n */\nexport interface ServerEventSessionUpdated extends ServerEvent {\n /** The event type, must be `session.updated`. */\n type: \"session.updated\";\n session: ResponseSession;\n}\n\nexport function serverEventSessionUpdatedDeserializer(item: any): ServerEventSessionUpdated {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n session: responseSessionDeserializer(item[\"session\"]),\n };\n}\n\n/** Sent when the server is in the process of establishing an avatar media connection and provides its SDP answer. */\nexport interface ServerEventSessionAvatarConnecting extends ServerEvent {\n /** The event type, must be 'session.avatar.connecting'. */\n type: \"session.avatar.connecting\";\n /** The server's SDP answer for the avatar connection. */\n serverSdp: string;\n}\n\nexport function serverEventSessionAvatarConnectingDeserializer(\n item: any,\n): ServerEventSessionAvatarConnecting {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n serverSdp: item[\"server_sdp\"],\n };\n}\n\n/**\n * Returned when an input audio buffer is committed, either by the client or\n * automatically in server VAD mode. The `item_id` property is the ID of the user\n * message item that will be created, thus a `conversation.item.created` event\n * will also be sent to the client.\n */\nexport interface ServerEventInputAudioBufferCommitted extends ServerEvent {\n /** The event type, must be `input_audio_buffer.committed`. */\n type: \"input_audio_buffer.committed\";\n /** The ID of the preceding item after which the new item will be inserted. */\n previousItemId?: string;\n /** The ID of the user message item that will be created. */\n itemId: string;\n}\n\nexport function serverEventInputAudioBufferCommittedDeserializer(\n item: any,\n): ServerEventInputAudioBufferCommitted {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n previousItemId: item[\"previous_item_id\"],\n itemId: item[\"item_id\"],\n };\n}\n\n/**\n * Returned when the input audio buffer is cleared by the client with a\n * `input_audio_buffer.clear` event.\n */\nexport interface ServerEventInputAudioBufferCleared extends ServerEvent {\n /** The event type, must be `input_audio_buffer.cleared`. */\n type: \"input_audio_buffer.cleared\";\n}\n\nexport function serverEventInputAudioBufferClearedDeserializer(\n item: any,\n): ServerEventInputAudioBufferCleared {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n };\n}\n\n/**\n * Sent by the server when in `server_vad` mode to indicate that speech has been\n * detected in the audio buffer. This can happen any time audio is added to the\n * buffer (unless speech is already detected). The client may want to use this\n * event to interrupt audio playback or provide visual feedback to the user.\n * The client should expect to receive a `input_audio_buffer.speech_stopped` event\n * when speech stops. The `item_id` property is the ID of the user message item\n * that will be created when speech stops and will also be included in the\n * `input_audio_buffer.speech_stopped` event (unless the client manually commits\n * the audio buffer during VAD activation).\n */\nexport interface ServerEventInputAudioBufferSpeechStarted extends ServerEvent {\n /** The event type, must be `input_audio_buffer.speech_started`. */\n type: \"input_audio_buffer.speech_started\";\n /**\n * Milliseconds from the start of all audio written to the buffer during the\n * session when speech was first detected. This will correspond to the\n * beginning of audio sent to the model, and thus includes the\n * `prefix_padding_ms` configured in the Session.\n */\n audioStartInMs: number;\n /** The ID of the user message item that will be created when speech stops. */\n itemId: string;\n}\n\nexport function serverEventInputAudioBufferSpeechStartedDeserializer(\n item: any,\n): ServerEventInputAudioBufferSpeechStarted {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n audioStartInMs: item[\"audio_start_ms\"],\n itemId: item[\"item_id\"],\n };\n}\n\n/**\n * Returned in `server_vad` mode when the server detects the end of speech in\n * the audio buffer. The server will also send an `conversation.item.created`\n * event with the user message item that is created from the audio buffer.\n */\nexport interface ServerEventInputAudioBufferSpeechStopped extends ServerEvent {\n /** The event type, must be `input_audio_buffer.speech_stopped`. */\n type: \"input_audio_buffer.speech_stopped\";\n /**\n * Milliseconds since the session started when speech stopped. This will\n * correspond to the end of audio sent to the model, and thus includes the\n * `min_silence_duration_ms` configured in the Session.\n */\n audioEndInMs: number;\n /** The ID of the user message item that will be created. */\n itemId: string;\n}\n\nexport function serverEventInputAudioBufferSpeechStoppedDeserializer(\n item: any,\n): ServerEventInputAudioBufferSpeechStopped {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n audioEndInMs: item[\"audio_end_ms\"],\n itemId: item[\"item_id\"],\n };\n}\n\n/**\n * Returned when a conversation item is created. There are several scenarios that produce this event:\n * - The server is generating a Response, which if successful will produce\n * either one or two Items, which will be of type `message`\n * (role `assistant`) or type `function_call`.\n * - The input audio buffer has been committed, either by the client or the\n * server (in `server_vad` mode). The server will take the content of the\n * input audio buffer and add it to a new user message Item.\n * - The client has sent a `conversation.item.create` event to add a new Item\n * to the Conversation.\n */\nexport interface ServerEventConversationItemCreated extends ServerEvent {\n /** The event type, must be `conversation.item.created`. */\n type: \"conversation.item.created\";\n /**\n * The ID of the preceding item in the Conversation context, allows the\n * client to understand the order of the conversation.\n */\n previousItemId?: string;\n item?: ResponseItemUnion;\n}\n\nexport function serverEventConversationItemCreatedDeserializer(\n item: any,\n): ServerEventConversationItemCreated {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n previousItemId: item[\"previous_item_id\"],\n item: !item[\"item\"] ? item[\"item\"] : responseItemUnionDeserializer(item[\"item\"]),\n };\n}\n\n/**\n * This event is the output of audio transcription for user audio written to the\n * user audio buffer. Transcription begins when the input audio buffer is\n * committed by the client or server (in `server_vad` mode). Transcription runs\n * asynchronously with Response creation, so this event may come before or after\n * the Response events.\n * VoiceLive API models accept audio natively, and thus input transcription is a\n * separate process run on a separate ASR (Automatic Speech Recognition) model.\n * The transcript may diverge somewhat from the model's interpretation, and\n * should be treated as a rough guide.\n */\nexport interface ServerEventConversationItemInputAudioTranscriptionCompleted extends ServerEvent {\n /**\n * The event type, must be\n * `conversation.item.input_audio_transcription.completed`.\n */\n type: \"conversation.item.input_audio_transcription.completed\";\n /** The ID of the user message item containing the audio. */\n itemId: string;\n /** The index of the content part containing the audio. */\n contentIndex: number;\n /** The transcribed text. */\n transcript: string;\n}\n\nexport function serverEventConversationItemInputAudioTranscriptionCompletedDeserializer(\n item: any,\n): ServerEventConversationItemInputAudioTranscriptionCompleted {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n itemId: item[\"item_id\"],\n contentIndex: item[\"content_index\"],\n transcript: item[\"transcript\"],\n };\n}\n\n/**\n * Returned when input audio transcription is configured, and a transcription\n * request for a user message failed. These events are separate from other\n * `error` events so that the client can identify the related Item.\n */\nexport interface ServerEventConversationItemInputAudioTranscriptionFailed extends ServerEvent {\n /**\n * The event type, must be\n * `conversation.item.input_audio_transcription.failed`.\n */\n type: \"conversation.item.input_audio_transcription.failed\";\n /** The ID of the user message item. */\n itemId: string;\n /** The index of the content part containing the audio. */\n contentIndex: number;\n /** Details of the transcription error. */\n error: VoiceLiveErrorDetails;\n}\n\nexport function serverEventConversationItemInputAudioTranscriptionFailedDeserializer(\n item: any,\n): ServerEventConversationItemInputAudioTranscriptionFailed {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n itemId: item[\"item_id\"],\n contentIndex: item[\"content_index\"],\n error: voiceLiveErrorDetailsDeserializer(item[\"error\"]),\n };\n}\n\n/**\n * Returned when an earlier assistant audio message item is truncated by the\n * client with a `conversation.item.truncate` event. This event is used to\n * synchronize the server's understanding of the audio with the client's playback.\n * This action will truncate the audio and remove the server-side text transcript\n * to ensure there is no text in the context that hasn't been heard by the user.\n */\nexport interface ServerEventConversationItemTruncated extends ServerEvent {\n /** The event type, must be `conversation.item.truncated`. */\n type: \"conversation.item.truncated\";\n /** The ID of the assistant message item that was truncated. */\n itemId: string;\n /** The index of the content part that was truncated. */\n contentIndex: number;\n /** The duration up to which the audio was truncated, in milliseconds. */\n audioEndInMs: number;\n eventId?: string;\n}\n\nexport function serverEventConversationItemTruncatedDeserializer(\n item: any,\n): ServerEventConversationItemTruncated {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n itemId: item[\"item_id\"],\n contentIndex: item[\"content_index\"],\n audioEndInMs: item[\"audio_end_ms\"],\n };\n}\n\n/**\n * Returned when an item in the conversation is deleted by the client with a\n * `conversation.item.delete` event. This event is used to synchronize the\n * server's understanding of the conversation history with the client's view.\n */\nexport interface ServerEventConversationItemDeleted extends ServerEvent {\n /** The event type, must be `conversation.item.deleted`. */\n type: \"conversation.item.deleted\";\n /** The ID of the item that was deleted. */\n itemId: string;\n eventId?: string;\n}\n\nexport function serverEventConversationItemDeletedDeserializer(\n item: any,\n): ServerEventConversationItemDeleted {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n itemId: item[\"item_id\"],\n };\n}\n\n/**\n * Returned when a new Response is created. The first event of response creation,\n * where the response is in an initial state of `in_progress`.\n */\nexport interface ServerEventResponseCreated extends ServerEvent {\n /** The event type, must be `response.created`. */\n type: \"response.created\";\n response: Response;\n}\n\nexport function serverEventResponseCreatedDeserializer(item: any): ServerEventResponseCreated {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n response: responseDeserializer(item[\"response\"]),\n };\n}\n\n/**\n * Returned when a Response is done streaming. Always emitted, no matter the\n * final state. The Response object included in the `response.done` event will\n * include all output Items in the Response but will omit the raw audio data.\n */\nexport interface ServerEventResponseDone extends ServerEvent {\n /** The event type, must be `response.done`. */\n type: \"response.done\";\n response: Response;\n}\n\nexport function serverEventResponseDoneDeserializer(item: any): ServerEventResponseDone {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n response: responseDeserializer(item[\"response\"]),\n };\n}\n\n/** Returned when a new Item is created during Response generation. */\nexport interface ServerEventResponseOutputItemAdded extends ServerEvent {\n /** The event type, must be `response.output_item.added`. */\n type: \"response.output_item.added\";\n /** The ID of the Response to which the item belongs. */\n responseId: string;\n /** The index of the output item in the Response. */\n outputIndex: number;\n item?: ResponseItemUnion;\n}\n\nexport function serverEventResponseOutputItemAddedDeserializer(\n item: any,\n): ServerEventResponseOutputItemAdded {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n outputIndex: item[\"output_index\"],\n item: !item[\"item\"] ? item[\"item\"] : responseItemUnionDeserializer(item[\"item\"]),\n };\n}\n\n/**\n * Returned when an Item is done streaming. Also emitted when a Response is\n * interrupted, incomplete, or cancelled.\n */\nexport interface ServerEventResponseOutputItemDone extends ServerEvent {\n /** The event type, must be `response.output_item.done`. */\n type: \"response.output_item.done\";\n /** The ID of the Response to which the item belongs. */\n responseId: string;\n /** The index of the output item in the Response. */\n outputIndex: number;\n item?: ResponseItemUnion;\n}\n\nexport function serverEventResponseOutputItemDoneDeserializer(\n item: any,\n): ServerEventResponseOutputItemDone {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n outputIndex: item[\"output_index\"],\n item: !item[\"item\"] ? item[\"item\"] : responseItemUnionDeserializer(item[\"item\"]),\n };\n}\n\n/**\n * Returned when a new content part is added to an assistant message item during\n * response generation.\n */\nexport interface ServerEventResponseContentPartAdded extends ServerEvent {\n /** The event type, must be `response.content_part.added`. */\n type: \"response.content_part.added\";\n /** The ID of the response. */\n responseId: string;\n /** The ID of the item to which the content part was added. */\n itemId: string;\n /** The index of the output item in the response. */\n outputIndex: number;\n /** The index of the content part in the item's content array. */\n contentIndex: number;\n /** The content part that was added. */\n part: ContentPartUnion;\n}\n\nexport function serverEventResponseContentPartAddedDeserializer(\n item: any,\n): ServerEventResponseContentPartAdded {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n contentIndex: item[\"content_index\"],\n part: contentPartUnionDeserializer(item[\"part\"]),\n };\n}\n\n/**\n * Returned when a content part is done streaming in an assistant message item.\n * Also emitted when a Response is interrupted, incomplete, or cancelled.\n */\nexport interface ServerEventResponseContentPartDone extends ServerEvent {\n /** The event type, must be `response.content_part.done`. */\n type: \"response.content_part.done\";\n /** The ID of the response. */\n responseId: string;\n /** The ID of the item. */\n itemId: string;\n /** The index of the output item in the response. */\n outputIndex: number;\n /** The index of the content part in the item's content array. */\n contentIndex: number;\n /** The content part that is done. */\n part: ContentPartUnion;\n}\n\nexport function serverEventResponseContentPartDoneDeserializer(\n item: any,\n): ServerEventResponseContentPartDone {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n contentIndex: item[\"content_index\"],\n part: contentPartUnionDeserializer(item[\"part\"]),\n };\n}\n\n/** Returned when the text value of a \"text\" content part is updated. */\nexport interface ServerEventResponseTextDelta extends ServerEvent {\n /** The event type, must be `response.text.delta`. */\n type: \"response.text.delta\";\n /** The ID of the response. */\n responseId: string;\n /** The ID of the item. */\n itemId: string;\n /** The index of the output item in the response. */\n outputIndex: number;\n /** The index of the content part in the item's content array. */\n contentIndex: number;\n /** The text delta. */\n delta: string;\n}\n\nexport function serverEventResponseTextDeltaDeserializer(item: any): ServerEventResponseTextDelta {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n contentIndex: item[\"content_index\"],\n delta: item[\"delta\"],\n };\n}\n\n/**\n * Returned when the text value of a \"text\" content part is done streaming. Also\n * emitted when a Response is interrupted, incomplete, or cancelled.\n */\nexport interface ServerEventResponseTextDone extends ServerEvent {\n /** The event type, must be `response.text.done`. */\n type: \"response.text.done\";\n /** The ID of the response. */\n responseId: string;\n /** The ID of the item. */\n itemId: string;\n /** The index of the output item in the response. */\n outputIndex: number;\n /** The index of the content part in the item's content array. */\n contentIndex: number;\n /** The final text content. */\n text: string;\n}\n\nexport function serverEventResponseTextDoneDeserializer(item: any): ServerEventResponseTextDone {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n contentIndex: item[\"content_index\"],\n text: item[\"text\"],\n };\n}\n\n/** Returned when the model-generated transcription of audio output is updated. */\nexport interface ServerEventResponseAudioTranscriptDelta extends ServerEvent {\n /** The event type, must be `response.audio_transcript.delta`. */\n type: \"response.audio_transcript.delta\";\n /** The ID of the response. */\n responseId: string;\n /** The ID of the item. */\n itemId: string;\n /** The index of the output item in the response. */\n outputIndex: number;\n /** The index of the content part in the item's content array. */\n contentIndex: number;\n /** The transcript delta. */\n delta: string;\n}\n\nexport function serverEventResponseAudioTranscriptDeltaDeserializer(\n item: any,\n): ServerEventResponseAudioTranscriptDelta {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n contentIndex: item[\"content_index\"],\n delta: item[\"delta\"],\n };\n}\n\n/**\n * Returned when the model-generated transcription of audio output is done\n * streaming. Also emitted when a Response is interrupted, incomplete, or\n * cancelled.\n */\nexport interface ServerEventResponseAudioTranscriptDone extends ServerEvent {\n /** The event type, must be `response.audio_transcript.done`. */\n type: \"response.audio_transcript.done\";\n /** The ID of the response. */\n responseId: string;\n /** The ID of the item. */\n itemId: string;\n /** The index of the output item in the response. */\n outputIndex: number;\n /** The index of the content part in the item's content array. */\n contentIndex: number;\n /** The final transcript of the audio. */\n transcript: string;\n}\n\nexport function serverEventResponseAudioTranscriptDoneDeserializer(\n item: any,\n): ServerEventResponseAudioTranscriptDone {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n contentIndex: item[\"content_index\"],\n transcript: item[\"transcript\"],\n };\n}\n\n/** Returned when the model-generated audio is updated. */\nexport interface ServerEventResponseAudioDelta extends ServerEvent {\n /** The event type, must be `response.audio.delta`. */\n type: \"response.audio.delta\";\n /** The ID of the response. */\n responseId: string;\n /** The ID of the item. */\n itemId: string;\n /** The index of the output item in the response. */\n outputIndex: number;\n /** The index of the content part in the item's content array. */\n contentIndex: number;\n /** Base64-encoded audio data delta. */\n delta: Uint8Array;\n}\n\nexport function serverEventResponseAudioDeltaDeserializer(\n item: any,\n): ServerEventResponseAudioDelta {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n contentIndex: item[\"content_index\"],\n delta:\n typeof item[\"delta\"] === \"string\"\n ? stringToUint8Array(item[\"delta\"], \"base64\")\n : item[\"delta\"],\n };\n}\n\n/**\n * Returned when the model-generated audio is done. Also emitted when a Response\n * is interrupted, incomplete, or cancelled.\n */\nexport interface ServerEventResponseAudioDone extends ServerEvent {\n /** The event type, must be `response.audio.done`. */\n type: \"response.audio.done\";\n /** The ID of the response. */\n responseId: string;\n /** The ID of the item. */\n itemId: string;\n /** The index of the output item in the response. */\n outputIndex: number;\n /** The index of the content part in the item's content array. */\n contentIndex: number;\n}\n\nexport function serverEventResponseAudioDoneDeserializer(item: any): ServerEventResponseAudioDone {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n contentIndex: item[\"content_index\"],\n };\n}\n\n/** Represents a delta update of blendshape animation frames for a specific output of a response. */\nexport interface ServerEventResponseAnimationBlendshapeDelta extends ServerEvent {\n type: \"response.animation_blendshapes.delta\";\n responseId: string;\n itemId: string;\n outputIndex: number;\n contentIndex: number;\n frames: number[][] | string;\n frameIndex: number;\n}\n\nexport function serverEventResponseAnimationBlendshapeDeltaDeserializer(\n item: any,\n): ServerEventResponseAnimationBlendshapeDelta {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n contentIndex: item[\"content_index\"],\n frames: _serverEventResponseAnimationBlendshapeDeltaFramesDeserializer(item[\"frames\"]),\n frameIndex: item[\"frame_index\"],\n };\n}\n\n/** Alias for _ServerEventResponseAnimationBlendshapeDeltaFrames */\nexport type _ServerEventResponseAnimationBlendshapeDeltaFrames = number[][] | string;\n\nexport function _serverEventResponseAnimationBlendshapeDeltaFramesDeserializer(\n item: any,\n): _ServerEventResponseAnimationBlendshapeDeltaFrames {\n return item;\n}\n\n/** Indicates the completion of blendshape animation processing for a specific output of a response. */\nexport interface ServerEventResponseAnimationBlendshapeDone extends ServerEvent {\n type: \"response.animation_blendshapes.done\";\n responseId: string;\n itemId: string;\n outputIndex: number;\n}\n\nexport function serverEventResponseAnimationBlendshapeDoneDeserializer(\n item: any,\n): ServerEventResponseAnimationBlendshapeDone {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n };\n}\n\n/** Represents a word-level audio timestamp delta for a response. */\nexport interface ServerEventResponseAudioTimestampDelta extends ServerEvent {\n type: \"response.audio_timestamp.delta\";\n responseId: string;\n itemId: string;\n outputIndex: number;\n contentIndex: number;\n audioOffsetInMs: number;\n audioDurationInMs: number;\n text: string;\n timestampType: \"word\";\n}\n\nexport function serverEventResponseAudioTimestampDeltaDeserializer(\n item: any,\n): ServerEventResponseAudioTimestampDelta {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n contentIndex: item[\"content_index\"],\n audioOffsetInMs: item[\"audio_offset_ms\"],\n audioDurationInMs: item[\"audio_duration_ms\"],\n text: item[\"text\"],\n timestampType: item[\"timestamp_type\"],\n };\n}\n\n/** Indicates completion of audio timestamp delivery for a response. */\nexport interface ServerEventResponseAudioTimestampDone extends ServerEvent {\n type: \"response.audio_timestamp.done\";\n responseId: string;\n itemId: string;\n outputIndex: number;\n contentIndex: number;\n}\n\nexport function serverEventResponseAudioTimestampDoneDeserializer(\n item: any,\n): ServerEventResponseAudioTimestampDone {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n contentIndex: item[\"content_index\"],\n };\n}\n\n/** Represents a viseme ID delta update for animation based on audio. */\nexport interface ServerEventResponseAnimationVisemeDelta extends ServerEvent {\n type: \"response.animation_viseme.delta\";\n responseId: string;\n itemId: string;\n outputIndex: number;\n contentIndex: number;\n audioOffsetInMs: number;\n visemeId: number;\n}\n\nexport function serverEventResponseAnimationVisemeDeltaDeserializer(\n item: any,\n): ServerEventResponseAnimationVisemeDelta {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n contentIndex: item[\"content_index\"],\n audioOffsetInMs: item[\"audio_offset_ms\"],\n visemeId: item[\"viseme_id\"],\n };\n}\n\n/** Indicates completion of viseme animation delivery for a response. */\nexport interface ServerEventResponseAnimationVisemeDone extends ServerEvent {\n type: \"response.animation_viseme.done\";\n responseId: string;\n itemId: string;\n outputIndex: number;\n contentIndex: number;\n}\n\nexport function serverEventResponseAnimationVisemeDoneDeserializer(\n item: any,\n): ServerEventResponseAnimationVisemeDone {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n contentIndex: item[\"content_index\"],\n };\n}\n\n/** Returned when the text value of an input audio transcription content part is updated. */\nexport interface ServerEventConversationItemInputAudioTranscriptionDelta extends ServerEvent {\n /** The event type, must be `conversation.item.input_audio_transcription.delta`. */\n type: \"conversation.item.input_audio_transcription.delta\";\n /** The ID of the item. */\n itemId: string;\n /** The index of the content part in the item's content array. */\n contentIndex?: number;\n /** The text delta. */\n delta?: string;\n /** The log probabilities of the transcription. */\n logprobs?: LogProbProperties[];\n}\n\nexport function serverEventConversationItemInputAudioTranscriptionDeltaDeserializer(\n item: any,\n): ServerEventConversationItemInputAudioTranscriptionDelta {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n itemId: item[\"item_id\"],\n contentIndex: item[\"content_index\"],\n delta: item[\"delta\"],\n logprobs: !item[\"logprobs\"]\n ? item[\"logprobs\"]\n : logProbPropertiesArrayDeserializer(item[\"logprobs\"]),\n };\n}\n\nexport function logProbPropertiesArrayDeserializer(result: Array<LogProbProperties>): any[] {\n return result.map((item) => {\n return logProbPropertiesDeserializer(item);\n });\n}\n\n/** Returned when a conversation item is retrieved with `conversation.item.retrieve`. */\nexport interface ServerEventConversationItemRetrieved extends ServerEvent {\n /** The event type, must be `conversation.item.retrieved`. */\n type: \"conversation.item.retrieved\";\n item?: ResponseItemUnion;\n eventId?: string;\n}\n\nexport function serverEventConversationItemRetrievedDeserializer(\n item: any,\n): ServerEventConversationItemRetrieved {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n item: !item[\"item\"] ? item[\"item\"] : responseItemUnionDeserializer(item[\"item\"]),\n };\n}\n\n/** Returned when the model-generated function call arguments are updated. */\nexport interface ServerEventResponseFunctionCallArgumentsDelta extends ServerEvent {\n /** The event type, must be `response.function_call_arguments.delta`. */\n type: \"response.function_call_arguments.delta\";\n /** The ID of the response. */\n responseId: string;\n /** The ID of the function call item. */\n itemId: string;\n /** The index of the output item in the response. */\n outputIndex: number;\n /** The ID of the function call. */\n callId: string;\n /** The arguments delta as a JSON string. */\n delta: string;\n}\n\nexport function serverEventResponseFunctionCallArgumentsDeltaDeserializer(\n item: any,\n): ServerEventResponseFunctionCallArgumentsDelta {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n callId: item[\"call_id\"],\n delta: item[\"delta\"],\n };\n}\n\n/**\n * Returned when the model-generated function call arguments are done streaming.\n * Also emitted when a Response is interrupted, incomplete, or cancelled.\n */\nexport interface ServerEventResponseFunctionCallArgumentsDone extends ServerEvent {\n /** The event type, must be `response.function_call_arguments.done`. */\n type: \"response.function_call_arguments.done\";\n /** The ID of the response. */\n responseId: string;\n /** The ID of the function call item. */\n itemId: string;\n /** The index of the output item in the response. */\n outputIndex: number;\n /** The ID of the function call. */\n callId: string;\n /** The final arguments as a JSON string. */\n arguments: string;\n /** The name of the function call. */\n name: string;\n}\n\nexport function serverEventResponseFunctionCallArgumentsDoneDeserializer(\n item: any,\n): ServerEventResponseFunctionCallArgumentsDone {\n return {\n type: item[\"type\"],\n eventId: item[\"event_id\"],\n responseId: item[\"response_id\"],\n itemId: item[\"item_id\"],\n outputIndex: item[\"output_index\"],\n callId: item[\"call_id\"],\n arguments: item[\"arguments\"],\n name: item[\"name\"],\n };\n}\n"]}
|