@elevenlabs/elevenlabs-js 2.46.0 → 2.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.fern/metadata.json +1 -1
- package/BaseClient.js +2 -2
- package/Client.d.ts +3 -0
- package/Client.js +31 -26
- package/README.md +92 -0
- package/api/resources/conversationalAi/resources/conversations/client/Client.d.ts +2 -2
- package/api/resources/conversationalAi/resources/conversations/client/Client.js +2 -2
- package/api/resources/conversationalAi/resources/conversations/client/requests/ConversationsGetSignedUrlRequest.d.ts +2 -2
- package/api/resources/conversationalAi/resources/conversations/client/requests/ConversationsGetWebrtcTokenRequest.d.ts +2 -2
- package/api/resources/conversationalAi/resources/conversations/client/requests/ConversationsListRequest.d.ts +1 -1
- package/api/resources/conversationalAi/resources/conversations/resources/messages/client/requests/MessagesSearchRequest.d.ts +1 -1
- package/api/resources/conversationalAi/resources/conversations/resources/messages/client/requests/MessagesTextSearchRequest.d.ts +1 -1
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/document/client/Client.d.ts +17 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/document/client/Client.js +65 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/document/client/requests/BodyUpdateFileDocumentV1ConvaiKnowledgeBaseDocumentationIdUpdateFilePatch.d.ts +11 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/document/client/requests/index.d.ts +1 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/document/types/DocumentUpdateFileResponse.d.ts +16 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/document/types/index.d.ts +1 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/document/types/index.js +1 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/client/Client.d.ts +6 -5
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/client/Client.js +12 -9
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/client/requests/BodyUpdateDocumentV1ConvaiKnowledgeBaseDocumentationIdPatch.d.ts +4 -4
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/Client.d.ts +31 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/Client.js +131 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/index.d.ts +1 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/index.js +17 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/requests/ChunksListRequest.d.ts +17 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/requests/ChunksListRequest.js +3 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/requests/index.d.ts +1 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/requests/index.js +2 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/index.d.ts +1 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/index.js +17 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/index.d.ts +2 -0
- package/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/index.js +3 -1
- package/api/resources/conversationalAi/resources/phoneNumbers/client/requests/UpdatePhoneNumberRequest.d.ts +4 -0
- package/api/resources/conversationalAi/resources/users/client/requests/UsersListRequest.d.ts +1 -1
- package/api/resources/index.d.ts +2 -0
- package/api/resources/index.js +3 -1
- package/api/resources/serviceAccounts/resources/apiKeys/client/requests/BodyCreateServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysPost.d.ts +2 -0
- package/api/resources/serviceAccounts/resources/apiKeys/client/requests/BodyEditServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysApiKeyIdPatch.d.ts +2 -0
- package/api/resources/serviceAccounts/resources/apiKeys/types/BodyEditServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysApiKeyIdPatchAllowedIps.d.ts +4 -0
- package/api/resources/serviceAccounts/resources/apiKeys/types/BodyEditServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysApiKeyIdPatchAllowedIps.js +3 -0
- package/api/resources/serviceAccounts/resources/apiKeys/types/index.d.ts +1 -0
- package/api/resources/serviceAccounts/resources/apiKeys/types/index.js +1 -0
- package/api/resources/speechEngine/client/Client.d.ts +89 -0
- package/api/resources/speechEngine/client/Client.js +363 -0
- package/api/resources/speechEngine/client/index.d.ts +1 -0
- package/api/resources/speechEngine/client/index.js +17 -0
- package/api/resources/speechEngine/client/requests/CreateSpeechEngineRequest.d.ts +31 -0
- package/api/resources/speechEngine/client/requests/CreateSpeechEngineRequest.js +3 -0
- package/api/resources/speechEngine/client/requests/SpeechEngineListRequest.d.ts +23 -0
- package/api/resources/speechEngine/client/requests/SpeechEngineListRequest.js +3 -0
- package/api/resources/speechEngine/client/requests/UpdateSpeechEngineRequest.d.ts +17 -0
- package/api/resources/speechEngine/client/requests/UpdateSpeechEngineRequest.js +3 -0
- package/api/resources/speechEngine/client/requests/index.d.ts +3 -0
- package/api/resources/speechEngine/client/requests/index.js +2 -0
- package/api/resources/speechEngine/index.d.ts +1 -0
- package/api/resources/speechEngine/index.js +17 -0
- package/api/resources/speechToSpeech/client/requests/BodySpeechToSpeechV1SpeechToSpeechVoiceIdPost.d.ts +1 -1
- package/api/resources/speechToSpeech/types/SpeechToSpeechConvertRequestOutputFormat.d.ts +17 -10
- package/api/resources/speechToSpeech/types/SpeechToSpeechConvertRequestOutputFormat.js +17 -10
- package/api/resources/voices/client/Client.js +3 -0
- package/api/resources/voices/client/requests/BodyEditVoiceV1VoicesVoiceIdEditPost.d.ts +2 -0
- package/api/resources/webhooks/client/requests/BodyUpdateWorkspaceWebhookV1WorkspaceWebhooksWebhookIdPatch.d.ts +2 -0
- package/api/resources/workspace/client/Client.d.ts +3 -0
- package/api/resources/workspace/client/Client.js +19 -14
- package/api/resources/workspace/resources/analytics/client/Client.d.ts +12 -0
- package/api/resources/workspace/resources/analytics/client/Client.js +16 -0
- package/api/resources/workspace/resources/analytics/client/index.d.ts +1 -0
- package/api/resources/workspace/resources/analytics/client/index.js +2 -0
- package/api/resources/workspace/resources/analytics/index.d.ts +2 -0
- package/api/resources/workspace/resources/analytics/index.js +18 -0
- package/api/resources/workspace/resources/analytics/resources/index.d.ts +3 -0
- package/api/resources/workspace/resources/analytics/resources/index.js +42 -0
- package/api/resources/workspace/resources/analytics/resources/requests/client/Client.d.ts +26 -0
- package/api/resources/workspace/resources/analytics/resources/requests/client/Client.js +118 -0
- package/api/resources/workspace/resources/analytics/resources/requests/client/index.d.ts +1 -0
- package/api/resources/workspace/resources/analytics/resources/requests/client/index.js +17 -0
- package/api/resources/workspace/resources/analytics/resources/requests/client/requests/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPost.d.ts +16 -0
- package/api/resources/workspace/resources/analytics/resources/requests/client/requests/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPost.js +3 -0
- package/api/resources/workspace/resources/analytics/resources/requests/client/requests/index.d.ts +1 -0
- package/api/resources/workspace/resources/analytics/resources/requests/client/requests/index.js +2 -0
- package/api/resources/workspace/resources/analytics/resources/requests/index.d.ts +2 -0
- package/api/resources/workspace/resources/analytics/resources/requests/index.js +18 -0
- package/api/resources/workspace/resources/analytics/resources/requests/types/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPostSort.d.ts +5 -0
- package/api/resources/workspace/resources/analytics/resources/requests/types/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPostSort.js +8 -0
- package/api/resources/workspace/resources/analytics/resources/requests/types/index.d.ts +1 -0
- package/api/resources/workspace/resources/analytics/resources/requests/types/index.js +17 -0
- package/api/resources/workspace/resources/index.d.ts +1 -0
- package/api/resources/workspace/resources/index.js +2 -1
- package/api/types/AgentAlertingMonitorConfig.d.ts +4 -0
- package/api/types/AgentAlertingMonitorConfig.js +3 -0
- package/api/types/AgentAlertingSettings.d.ts +5 -0
- package/api/types/AgentAlertingSettings.js +3 -0
- package/api/types/AgentMetadataDbModel.d.ts +7 -0
- package/api/types/AgentMetadataDbModel.js +3 -0
- package/api/types/AgentPlatformSettingsRequestModel.d.ts +1 -0
- package/api/types/AgentPlatformSettingsResponseModel.d.ts +1 -0
- package/api/types/AgentTopicResponseModel.d.ts +3 -0
- package/api/types/BackgroundMusicPresetId.d.ts +4 -0
- package/api/types/BackgroundMusicPresetId.js +4 -0
- package/api/types/BaseTurnConfig.d.ts +17 -0
- package/api/types/BaseTurnConfig.js +3 -0
- package/api/types/ClientEvent.d.ts +1 -0
- package/api/types/ClientEvent.js +1 -0
- package/api/types/CodeToolAllowedDomain.d.ts +6 -0
- package/api/types/CodeToolAllowedDomain.js +3 -0
- package/api/types/{ConversationTokenDbModel.d.ts → ConversationTokenResponseModel.d.ts} +2 -2
- package/api/types/ConversationTokenResponseModel.js +3 -0
- package/api/types/CreateSpeechEngineResponse.d.ts +4 -0
- package/api/types/CreateSpeechEngineResponse.js +3 -0
- package/api/types/GetAgentLinkResponseModel.d.ts +1 -1
- package/api/types/KnowledgeBaseDocumentChunksResponseModel.d.ts +5 -0
- package/api/types/KnowledgeBaseDocumentChunksResponseModel.js +3 -0
- package/api/types/ListSpeechEnginesResponse.d.ts +8 -0
- package/api/types/ListSpeechEnginesResponse.js +3 -0
- package/api/types/Llm.d.ts +4 -0
- package/api/types/Llm.js +4 -0
- package/api/types/LlmInfoModelInput.d.ts +2 -0
- package/api/types/LlmInfoModelOutput.d.ts +2 -0
- package/api/types/Monitor.d.ts +5 -0
- package/api/types/Monitor.js +8 -0
- package/api/types/PhoneNumberAgentInfo.d.ts +4 -0
- package/api/types/ProcedureCompilerMode.d.ts +1 -5
- package/api/types/ProcedureCompilerMode.js +0 -5
- package/api/types/PromptAgentApiModelInput.d.ts +1 -1
- package/api/types/PromptAgentApiModelOutput.d.ts +1 -1
- package/api/types/PromptAgentApiModelWorkflowOverrideInput.d.ts +1 -1
- package/api/types/PromptAgentApiModelWorkflowOverrideOutput.d.ts +1 -1
- package/api/types/ReadMetadataChapterDbModel.d.ts +1 -0
- package/api/types/RegionalProcessingSurchargeInfo.d.ts +4 -0
- package/api/types/RegionalProcessingSurchargeInfo.js +3 -0
- package/api/types/ReportKnowledgeGapParams.d.ts +3 -0
- package/api/types/ReportKnowledgeGapParams.js +3 -0
- package/api/types/SpeechEngineResponse.d.ts +16 -0
- package/api/types/SpeechEngineResponse.js +3 -0
- package/api/types/SpeechEngineSummaryResponse.d.ts +8 -0
- package/api/types/SpeechEngineSummaryResponse.js +3 -0
- package/api/types/TurnConfig.d.ts +2 -2
- package/api/types/TurnConfigWorkflowOverride.d.ts +2 -2
- package/api/types/WebhookHmacSettings.d.ts +2 -0
- package/api/types/WorkspaceApiKeyResponseModel.d.ts +1 -0
- package/api/types/WorkspaceGroupPermission.d.ts +2 -0
- package/api/types/WorkspaceGroupPermission.js +2 -0
- package/api/types/index.d.ts +14 -1
- package/api/types/index.js +14 -1
- package/dist/BaseClient.js +2 -2
- package/dist/Client.d.ts +3 -0
- package/dist/Client.js +31 -26
- package/dist/api/resources/conversationalAi/resources/conversations/client/Client.d.ts +2 -2
- package/dist/api/resources/conversationalAi/resources/conversations/client/Client.js +2 -2
- package/dist/api/resources/conversationalAi/resources/conversations/client/requests/ConversationsGetSignedUrlRequest.d.ts +2 -2
- package/dist/api/resources/conversationalAi/resources/conversations/client/requests/ConversationsGetWebrtcTokenRequest.d.ts +2 -2
- package/dist/api/resources/conversationalAi/resources/conversations/client/requests/ConversationsListRequest.d.ts +1 -1
- package/dist/api/resources/conversationalAi/resources/conversations/resources/messages/client/requests/MessagesSearchRequest.d.ts +1 -1
- package/dist/api/resources/conversationalAi/resources/conversations/resources/messages/client/requests/MessagesTextSearchRequest.d.ts +1 -1
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/document/client/Client.d.ts +17 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/document/client/Client.js +65 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/document/client/requests/BodyUpdateFileDocumentV1ConvaiKnowledgeBaseDocumentationIdUpdateFilePatch.d.ts +11 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/document/client/requests/BodyUpdateFileDocumentV1ConvaiKnowledgeBaseDocumentationIdUpdateFilePatch.js +3 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/document/client/requests/index.d.ts +1 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/document/types/DocumentUpdateFileResponse.d.ts +16 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/document/types/DocumentUpdateFileResponse.js +3 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/document/types/index.d.ts +1 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/document/types/index.js +1 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/client/Client.d.ts +6 -5
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/client/Client.js +12 -9
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/client/requests/BodyUpdateDocumentV1ConvaiKnowledgeBaseDocumentationIdPatch.d.ts +4 -4
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/Client.d.ts +31 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/Client.js +131 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/index.d.ts +1 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/index.js +17 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/requests/ChunksListRequest.d.ts +17 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/requests/ChunksListRequest.js +3 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/requests/index.d.ts +1 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/client/requests/index.js +2 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/index.d.ts +1 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/chunks/index.js +17 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/index.d.ts +2 -0
- package/dist/api/resources/conversationalAi/resources/knowledgeBase/resources/documents/resources/index.js +3 -1
- package/dist/api/resources/conversationalAi/resources/phoneNumbers/client/requests/UpdatePhoneNumberRequest.d.ts +4 -0
- package/dist/api/resources/conversationalAi/resources/users/client/requests/UsersListRequest.d.ts +1 -1
- package/dist/api/resources/index.d.ts +2 -0
- package/dist/api/resources/index.js +3 -1
- package/dist/api/resources/serviceAccounts/resources/apiKeys/client/requests/BodyCreateServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysPost.d.ts +2 -0
- package/dist/api/resources/serviceAccounts/resources/apiKeys/client/requests/BodyEditServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysApiKeyIdPatch.d.ts +2 -0
- package/dist/api/resources/serviceAccounts/resources/apiKeys/types/BodyEditServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysApiKeyIdPatchAllowedIps.d.ts +4 -0
- package/dist/api/resources/serviceAccounts/resources/apiKeys/types/BodyEditServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysApiKeyIdPatchAllowedIps.js +3 -0
- package/dist/api/resources/serviceAccounts/resources/apiKeys/types/index.d.ts +1 -0
- package/dist/api/resources/serviceAccounts/resources/apiKeys/types/index.js +1 -0
- package/dist/api/resources/speechEngine/client/Client.d.ts +89 -0
- package/dist/api/resources/speechEngine/client/Client.js +363 -0
- package/dist/api/resources/speechEngine/client/index.d.ts +1 -0
- package/dist/api/resources/speechEngine/client/index.js +17 -0
- package/dist/api/resources/speechEngine/client/requests/CreateSpeechEngineRequest.d.ts +31 -0
- package/dist/api/resources/speechEngine/client/requests/CreateSpeechEngineRequest.js +3 -0
- package/dist/api/resources/speechEngine/client/requests/SpeechEngineListRequest.d.ts +23 -0
- package/dist/api/resources/speechEngine/client/requests/SpeechEngineListRequest.js +3 -0
- package/dist/api/resources/speechEngine/client/requests/UpdateSpeechEngineRequest.d.ts +17 -0
- package/dist/api/resources/speechEngine/client/requests/UpdateSpeechEngineRequest.js +3 -0
- package/dist/api/resources/speechEngine/client/requests/index.d.ts +3 -0
- package/dist/api/resources/speechEngine/client/requests/index.js +2 -0
- package/dist/api/resources/speechEngine/index.d.ts +1 -0
- package/dist/api/resources/speechEngine/index.js +17 -0
- package/dist/api/resources/speechToSpeech/client/requests/BodySpeechToSpeechV1SpeechToSpeechVoiceIdPost.d.ts +1 -1
- package/dist/api/resources/speechToSpeech/types/SpeechToSpeechConvertRequestOutputFormat.d.ts +17 -10
- package/dist/api/resources/speechToSpeech/types/SpeechToSpeechConvertRequestOutputFormat.js +17 -10
- package/dist/api/resources/voices/client/Client.js +3 -0
- package/dist/api/resources/voices/client/requests/BodyEditVoiceV1VoicesVoiceIdEditPost.d.ts +2 -0
- package/dist/api/resources/webhooks/client/requests/BodyUpdateWorkspaceWebhookV1WorkspaceWebhooksWebhookIdPatch.d.ts +2 -0
- package/dist/api/resources/workspace/client/Client.d.ts +3 -0
- package/dist/api/resources/workspace/client/Client.js +19 -14
- package/dist/api/resources/workspace/resources/analytics/client/Client.d.ts +12 -0
- package/dist/api/resources/workspace/resources/analytics/client/Client.js +16 -0
- package/dist/api/resources/workspace/resources/analytics/client/index.d.ts +1 -0
- package/dist/api/resources/workspace/resources/analytics/client/index.js +2 -0
- package/dist/api/resources/workspace/resources/analytics/index.d.ts +2 -0
- package/dist/api/resources/workspace/resources/analytics/index.js +18 -0
- package/dist/api/resources/workspace/resources/analytics/resources/index.d.ts +3 -0
- package/dist/api/resources/workspace/resources/analytics/resources/index.js +42 -0
- package/dist/api/resources/workspace/resources/analytics/resources/requests/client/Client.d.ts +26 -0
- package/dist/api/resources/workspace/resources/analytics/resources/requests/client/Client.js +118 -0
- package/dist/api/resources/workspace/resources/analytics/resources/requests/client/index.d.ts +1 -0
- package/dist/api/resources/workspace/resources/analytics/resources/requests/client/index.js +17 -0
- package/dist/api/resources/workspace/resources/analytics/resources/requests/client/requests/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPost.d.ts +16 -0
- package/dist/api/resources/workspace/resources/analytics/resources/requests/client/requests/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPost.js +3 -0
- package/dist/api/resources/workspace/resources/analytics/resources/requests/client/requests/index.d.ts +1 -0
- package/dist/api/resources/workspace/resources/analytics/resources/requests/client/requests/index.js +2 -0
- package/dist/api/resources/workspace/resources/analytics/resources/requests/index.d.ts +2 -0
- package/dist/api/resources/workspace/resources/analytics/resources/requests/index.js +18 -0
- package/dist/api/resources/workspace/resources/analytics/resources/requests/types/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPostSort.d.ts +5 -0
- package/dist/api/resources/workspace/resources/analytics/resources/requests/types/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPostSort.js +8 -0
- package/dist/api/resources/workspace/resources/analytics/resources/requests/types/index.d.ts +1 -0
- package/dist/api/resources/workspace/resources/analytics/resources/requests/types/index.js +17 -0
- package/dist/api/resources/workspace/resources/index.d.ts +1 -0
- package/dist/api/resources/workspace/resources/index.js +2 -1
- package/dist/api/types/AgentAlertingMonitorConfig.d.ts +4 -0
- package/dist/api/types/AgentAlertingMonitorConfig.js +3 -0
- package/dist/api/types/AgentAlertingSettings.d.ts +5 -0
- package/dist/api/types/AgentAlertingSettings.js +3 -0
- package/dist/api/types/AgentMetadataDbModel.d.ts +7 -0
- package/dist/api/types/AgentMetadataDbModel.js +3 -0
- package/dist/api/types/AgentPlatformSettingsRequestModel.d.ts +1 -0
- package/dist/api/types/AgentPlatformSettingsResponseModel.d.ts +1 -0
- package/dist/api/types/AgentTopicResponseModel.d.ts +3 -0
- package/dist/api/types/BackgroundMusicPresetId.d.ts +4 -0
- package/dist/api/types/BackgroundMusicPresetId.js +4 -0
- package/dist/api/types/BaseTurnConfig.d.ts +17 -0
- package/dist/api/types/BaseTurnConfig.js +3 -0
- package/dist/api/types/ClientEvent.d.ts +1 -0
- package/dist/api/types/ClientEvent.js +1 -0
- package/dist/api/types/CodeToolAllowedDomain.d.ts +6 -0
- package/dist/api/types/CodeToolAllowedDomain.js +3 -0
- package/dist/api/types/{ConversationTokenDbModel.d.ts → ConversationTokenResponseModel.d.ts} +2 -2
- package/dist/api/types/ConversationTokenResponseModel.js +3 -0
- package/dist/api/types/CreateSpeechEngineResponse.d.ts +4 -0
- package/dist/api/types/CreateSpeechEngineResponse.js +3 -0
- package/dist/api/types/GetAgentLinkResponseModel.d.ts +1 -1
- package/dist/api/types/KnowledgeBaseDocumentChunksResponseModel.d.ts +5 -0
- package/dist/api/types/KnowledgeBaseDocumentChunksResponseModel.js +3 -0
- package/dist/api/types/ListSpeechEnginesResponse.d.ts +8 -0
- package/dist/api/types/ListSpeechEnginesResponse.js +3 -0
- package/dist/api/types/Llm.d.ts +4 -0
- package/dist/api/types/Llm.js +4 -0
- package/dist/api/types/LlmInfoModelInput.d.ts +2 -0
- package/dist/api/types/LlmInfoModelOutput.d.ts +2 -0
- package/dist/api/types/Monitor.d.ts +5 -0
- package/dist/api/types/Monitor.js +8 -0
- package/dist/api/types/PhoneNumberAgentInfo.d.ts +4 -0
- package/dist/api/types/ProcedureCompilerMode.d.ts +1 -5
- package/dist/api/types/ProcedureCompilerMode.js +0 -5
- package/dist/api/types/PromptAgentApiModelInput.d.ts +1 -1
- package/dist/api/types/PromptAgentApiModelOutput.d.ts +1 -1
- package/dist/api/types/PromptAgentApiModelWorkflowOverrideInput.d.ts +1 -1
- package/dist/api/types/PromptAgentApiModelWorkflowOverrideOutput.d.ts +1 -1
- package/dist/api/types/ReadMetadataChapterDbModel.d.ts +1 -0
- package/dist/api/types/RegionalProcessingSurchargeInfo.d.ts +4 -0
- package/dist/api/types/RegionalProcessingSurchargeInfo.js +3 -0
- package/dist/api/types/ReportKnowledgeGapParams.d.ts +3 -0
- package/dist/api/types/ReportKnowledgeGapParams.js +3 -0
- package/dist/api/types/SpeechEngineResponse.d.ts +16 -0
- package/dist/api/types/SpeechEngineResponse.js +3 -0
- package/dist/api/types/SpeechEngineSummaryResponse.d.ts +8 -0
- package/dist/api/types/SpeechEngineSummaryResponse.js +3 -0
- package/dist/api/types/TurnConfig.d.ts +2 -2
- package/dist/api/types/TurnConfigWorkflowOverride.d.ts +2 -2
- package/dist/api/types/WebhookHmacSettings.d.ts +2 -0
- package/dist/api/types/WorkspaceApiKeyResponseModel.d.ts +1 -0
- package/dist/api/types/WorkspaceGroupPermission.d.ts +2 -0
- package/dist/api/types/WorkspaceGroupPermission.js +2 -0
- package/dist/api/types/index.d.ts +14 -1
- package/dist/api/types/index.js +14 -1
- package/dist/serialization/resources/conversationalAi/resources/knowledgeBase/resources/document/types/DocumentUpdateFileResponse.d.ts +23 -0
- package/dist/serialization/resources/conversationalAi/resources/knowledgeBase/resources/document/types/DocumentUpdateFileResponse.js +53 -0
- package/dist/serialization/resources/conversationalAi/resources/knowledgeBase/resources/document/types/index.d.ts +1 -0
- package/dist/serialization/resources/conversationalAi/resources/knowledgeBase/resources/document/types/index.js +1 -0
- package/dist/serialization/resources/conversationalAi/resources/knowledgeBase/resources/documents/client/requests/BodyUpdateDocumentV1ConvaiKnowledgeBaseDocumentationIdPatch.d.ts +2 -1
- package/dist/serialization/resources/conversationalAi/resources/knowledgeBase/resources/documents/client/requests/BodyUpdateDocumentV1ConvaiKnowledgeBaseDocumentationIdPatch.js +2 -1
- package/dist/serialization/resources/conversationalAi/resources/phoneNumbers/client/requests/UpdatePhoneNumberRequest.d.ts +2 -0
- package/dist/serialization/resources/conversationalAi/resources/phoneNumbers/client/requests/UpdatePhoneNumberRequest.js +2 -0
- package/dist/serialization/resources/index.d.ts +2 -0
- package/dist/serialization/resources/index.js +3 -1
- package/dist/serialization/resources/serviceAccounts/resources/apiKeys/client/requests/BodyCreateServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysPost.d.ts +1 -0
- package/dist/serialization/resources/serviceAccounts/resources/apiKeys/client/requests/BodyCreateServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysPost.js +1 -0
- package/dist/serialization/resources/serviceAccounts/resources/apiKeys/client/requests/BodyEditServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysApiKeyIdPatch.d.ts +2 -0
- package/dist/serialization/resources/serviceAccounts/resources/apiKeys/client/requests/BodyEditServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysApiKeyIdPatch.js +2 -0
- package/dist/serialization/resources/serviceAccounts/resources/apiKeys/types/BodyEditServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysApiKeyIdPatchAllowedIps.d.ts +7 -0
- package/dist/serialization/resources/serviceAccounts/resources/apiKeys/types/BodyEditServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysApiKeyIdPatchAllowedIps.js +43 -0
- package/dist/serialization/resources/serviceAccounts/resources/apiKeys/types/index.d.ts +1 -0
- package/dist/serialization/resources/serviceAccounts/resources/apiKeys/types/index.js +1 -0
- package/dist/serialization/resources/speechEngine/client/index.d.ts +1 -0
- package/dist/serialization/resources/speechEngine/client/index.js +17 -0
- package/dist/serialization/resources/speechEngine/client/requests/CreateSpeechEngineRequest.d.ts +25 -0
- package/dist/serialization/resources/speechEngine/client/requests/CreateSpeechEngineRequest.js +57 -0
- package/dist/serialization/resources/speechEngine/client/requests/UpdateSpeechEngineRequest.d.ts +25 -0
- package/dist/serialization/resources/speechEngine/client/requests/UpdateSpeechEngineRequest.js +57 -0
- package/dist/serialization/resources/speechEngine/client/requests/index.d.ts +2 -0
- package/dist/serialization/resources/speechEngine/client/requests/index.js +7 -0
- package/dist/serialization/resources/speechEngine/index.d.ts +1 -0
- package/dist/serialization/resources/speechEngine/index.js +17 -0
- package/dist/serialization/resources/speechToSpeech/types/SpeechToSpeechConvertRequestOutputFormat.d.ts +1 -1
- package/dist/serialization/resources/speechToSpeech/types/SpeechToSpeechConvertRequestOutputFormat.js +16 -9
- package/dist/serialization/resources/webhooks/client/requests/BodyUpdateWorkspaceWebhookV1WorkspaceWebhooksWebhookIdPatch.d.ts +1 -0
- package/dist/serialization/resources/webhooks/client/requests/BodyUpdateWorkspaceWebhookV1WorkspaceWebhooksWebhookIdPatch.js +1 -0
- package/dist/serialization/resources/workspace/resources/analytics/index.d.ts +1 -0
- package/dist/serialization/resources/workspace/resources/analytics/index.js +17 -0
- package/dist/serialization/resources/workspace/resources/analytics/resources/index.d.ts +3 -0
- package/dist/serialization/resources/workspace/resources/analytics/resources/index.js +42 -0
- package/dist/serialization/resources/workspace/resources/analytics/resources/requests/client/index.d.ts +1 -0
- package/dist/serialization/resources/workspace/resources/analytics/resources/requests/client/index.js +17 -0
- package/dist/serialization/resources/workspace/resources/analytics/resources/requests/client/requests/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPost.d.ts +16 -0
- package/dist/serialization/resources/workspace/resources/analytics/resources/requests/client/requests/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPost.js +48 -0
- package/dist/serialization/resources/workspace/resources/analytics/resources/requests/client/requests/index.d.ts +1 -0
- package/dist/serialization/resources/workspace/resources/analytics/resources/requests/client/requests/index.js +5 -0
- package/dist/serialization/resources/workspace/resources/analytics/resources/requests/index.d.ts +2 -0
- package/dist/serialization/resources/workspace/resources/analytics/resources/requests/index.js +18 -0
- package/dist/serialization/resources/workspace/resources/analytics/resources/requests/types/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPostSort.d.ts +7 -0
- package/dist/serialization/resources/workspace/resources/analytics/resources/requests/types/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPostSort.js +39 -0
- package/dist/serialization/resources/workspace/resources/analytics/resources/requests/types/index.d.ts +1 -0
- package/dist/serialization/resources/workspace/resources/analytics/resources/requests/types/index.js +17 -0
- package/dist/serialization/resources/workspace/resources/index.d.ts +1 -0
- package/dist/serialization/resources/workspace/resources/index.js +2 -1
- package/dist/serialization/types/AgentAlertingMonitorConfig.d.ts +9 -0
- package/dist/serialization/types/AgentAlertingMonitorConfig.js +41 -0
- package/dist/serialization/types/AgentAlertingSettings.d.ts +10 -0
- package/dist/serialization/types/AgentAlertingSettings.js +42 -0
- package/dist/serialization/types/AgentMetadataDbModel.d.ts +13 -0
- package/dist/serialization/types/AgentMetadataDbModel.js +45 -0
- package/dist/serialization/types/AgentPlatformSettingsRequestModel.d.ts +2 -0
- package/dist/serialization/types/AgentPlatformSettingsRequestModel.js +2 -0
- package/dist/serialization/types/AgentPlatformSettingsResponseModel.d.ts +2 -0
- package/dist/serialization/types/AgentPlatformSettingsResponseModel.js +2 -0
- package/dist/serialization/types/AgentTopicResponseModel.d.ts +3 -0
- package/dist/serialization/types/AgentTopicResponseModel.js +3 -0
- package/dist/serialization/types/BackgroundMusicPresetId.d.ts +1 -1
- package/dist/serialization/types/BackgroundMusicPresetId.js +11 -1
- package/dist/serialization/types/BaseTurnConfig.d.ts +17 -0
- package/dist/serialization/types/BaseTurnConfig.js +49 -0
- package/dist/serialization/types/ClientEvent.d.ts +1 -1
- package/dist/serialization/types/ClientEvent.js +1 -0
- package/dist/serialization/types/CodeToolAllowedDomain.d.ts +10 -0
- package/dist/serialization/types/CodeToolAllowedDomain.js +42 -0
- package/dist/serialization/types/{ConversationTokenDbModel.d.ts → ConversationTokenResponseModel.d.ts} +3 -3
- package/dist/serialization/types/{ConversationTokenDbModel.js → ConversationTokenResponseModel.js} +3 -3
- package/dist/serialization/types/CreateSpeechEngineResponse.d.ts +9 -0
- package/dist/serialization/types/CreateSpeechEngineResponse.js +41 -0
- package/dist/serialization/types/GetAgentLinkResponseModel.d.ts +2 -2
- package/dist/serialization/types/GetAgentLinkResponseModel.js +2 -2
- package/dist/serialization/types/KnowledgeBaseDocumentChunksResponseModel.d.ts +11 -0
- package/dist/serialization/types/KnowledgeBaseDocumentChunksResponseModel.js +43 -0
- package/dist/serialization/types/ListSpeechEnginesResponse.d.ts +12 -0
- package/dist/serialization/types/ListSpeechEnginesResponse.js +44 -0
- package/dist/serialization/types/Llm.d.ts +1 -1
- package/dist/serialization/types/Llm.js +4 -0
- package/dist/serialization/types/LlmInfoModelInput.d.ts +2 -0
- package/dist/serialization/types/LlmInfoModelInput.js +2 -0
- package/dist/serialization/types/LlmInfoModelOutput.d.ts +2 -0
- package/dist/serialization/types/LlmInfoModelOutput.js +2 -0
- package/dist/serialization/types/Monitor.d.ts +7 -0
- package/dist/serialization/types/Monitor.js +39 -0
- package/dist/serialization/types/PhoneNumberAgentInfo.d.ts +2 -0
- package/dist/serialization/types/PhoneNumberAgentInfo.js +2 -0
- package/dist/serialization/types/ProcedureCompilerMode.d.ts +1 -1
- package/dist/serialization/types/ProcedureCompilerMode.js +1 -1
- package/dist/serialization/types/ReadMetadataChapterDbModel.d.ts +1 -0
- package/dist/serialization/types/ReadMetadataChapterDbModel.js +1 -0
- package/dist/serialization/types/RegionalProcessingSurchargeInfo.d.ts +9 -0
- package/dist/serialization/types/RegionalProcessingSurchargeInfo.js +41 -0
- package/dist/serialization/types/ReportKnowledgeGapParams.d.ts +9 -0
- package/dist/serialization/types/ReportKnowledgeGapParams.js +41 -0
- package/dist/serialization/types/SpeechEngineResponse.d.ts +28 -0
- package/dist/serialization/types/SpeechEngineResponse.js +60 -0
- package/dist/serialization/types/SpeechEngineSummaryResponse.d.ts +12 -0
- package/dist/serialization/types/SpeechEngineSummaryResponse.js +44 -0
- package/dist/serialization/types/TurnConfig.d.ts +1 -1
- package/dist/serialization/types/TurnConfig.js +1 -1
- package/dist/serialization/types/TurnConfigWorkflowOverride.d.ts +1 -1
- package/dist/serialization/types/TurnConfigWorkflowOverride.js +1 -1
- package/dist/serialization/types/WebhookHmacSettings.d.ts +1 -0
- package/dist/serialization/types/WebhookHmacSettings.js +1 -0
- package/dist/serialization/types/WorkspaceApiKeyResponseModel.d.ts +1 -0
- package/dist/serialization/types/WorkspaceApiKeyResponseModel.js +1 -0
- package/dist/serialization/types/WorkspaceGroupPermission.d.ts +1 -1
- package/dist/serialization/types/WorkspaceGroupPermission.js +2 -0
- package/dist/serialization/types/index.d.ts +14 -1
- package/dist/serialization/types/index.js +14 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/wrapper/ElevenLabsClient.d.ts +5 -2
- package/dist/wrapper/ElevenLabsClient.js +9 -1
- package/dist/wrapper/index.d.ts +1 -0
- package/dist/wrapper/index.js +8 -1
- package/dist/wrapper/speech-engine/SpeechEngineAttachment.d.ts +21 -0
- package/dist/wrapper/speech-engine/SpeechEngineAttachment.js +34 -0
- package/dist/wrapper/speech-engine/SpeechEngineClientWrapper.d.ts +103 -0
- package/dist/wrapper/speech-engine/SpeechEngineClientWrapper.js +140 -0
- package/dist/wrapper/speech-engine/SpeechEngineResource.d.ts +78 -0
- package/dist/wrapper/speech-engine/SpeechEngineResource.js +261 -0
- package/dist/wrapper/speech-engine/SpeechEngineServer.d.ts +54 -0
- package/dist/wrapper/speech-engine/SpeechEngineServer.js +135 -0
- package/dist/wrapper/speech-engine/SpeechEngineSession.d.ts +79 -0
- package/dist/wrapper/speech-engine/SpeechEngineSession.js +300 -0
- package/dist/wrapper/speech-engine/index.d.ts +7 -0
- package/dist/wrapper/speech-engine/index.js +47 -0
- package/dist/wrapper/speech-engine/namespace.d.ts +27 -0
- package/dist/wrapper/speech-engine/namespace.js +37 -0
- package/dist/wrapper/speech-engine/types.d.ts +67 -0
- package/dist/wrapper/speech-engine/types.js +15 -0
- package/package.json +1 -1
- package/reference.md +551 -6
- package/serialization/resources/conversationalAi/resources/knowledgeBase/resources/document/types/DocumentUpdateFileResponse.d.ts +23 -0
- package/serialization/resources/conversationalAi/resources/knowledgeBase/resources/document/types/DocumentUpdateFileResponse.js +53 -0
- package/serialization/resources/conversationalAi/resources/knowledgeBase/resources/document/types/index.d.ts +1 -0
- package/serialization/resources/conversationalAi/resources/knowledgeBase/resources/document/types/index.js +1 -0
- package/serialization/resources/conversationalAi/resources/knowledgeBase/resources/documents/client/requests/BodyUpdateDocumentV1ConvaiKnowledgeBaseDocumentationIdPatch.d.ts +2 -1
- package/serialization/resources/conversationalAi/resources/knowledgeBase/resources/documents/client/requests/BodyUpdateDocumentV1ConvaiKnowledgeBaseDocumentationIdPatch.js +2 -1
- package/serialization/resources/conversationalAi/resources/phoneNumbers/client/requests/UpdatePhoneNumberRequest.d.ts +2 -0
- package/serialization/resources/conversationalAi/resources/phoneNumbers/client/requests/UpdatePhoneNumberRequest.js +2 -0
- package/serialization/resources/index.d.ts +2 -0
- package/serialization/resources/index.js +3 -1
- package/serialization/resources/serviceAccounts/resources/apiKeys/client/requests/BodyCreateServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysPost.d.ts +1 -0
- package/serialization/resources/serviceAccounts/resources/apiKeys/client/requests/BodyCreateServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysPost.js +1 -0
- package/serialization/resources/serviceAccounts/resources/apiKeys/client/requests/BodyEditServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysApiKeyIdPatch.d.ts +2 -0
- package/serialization/resources/serviceAccounts/resources/apiKeys/client/requests/BodyEditServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysApiKeyIdPatch.js +2 -0
- package/serialization/resources/serviceAccounts/resources/apiKeys/types/BodyEditServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysApiKeyIdPatchAllowedIps.d.ts +7 -0
- package/serialization/resources/serviceAccounts/resources/apiKeys/types/BodyEditServiceAccountApiKeyV1ServiceAccountsServiceAccountUserIdApiKeysApiKeyIdPatchAllowedIps.js +43 -0
- package/serialization/resources/serviceAccounts/resources/apiKeys/types/index.d.ts +1 -0
- package/serialization/resources/serviceAccounts/resources/apiKeys/types/index.js +1 -0
- package/serialization/resources/speechEngine/client/index.d.ts +1 -0
- package/serialization/resources/speechEngine/client/index.js +17 -0
- package/serialization/resources/speechEngine/client/requests/CreateSpeechEngineRequest.d.ts +25 -0
- package/serialization/resources/speechEngine/client/requests/CreateSpeechEngineRequest.js +57 -0
- package/serialization/resources/speechEngine/client/requests/UpdateSpeechEngineRequest.d.ts +25 -0
- package/serialization/resources/speechEngine/client/requests/UpdateSpeechEngineRequest.js +57 -0
- package/serialization/resources/speechEngine/client/requests/index.d.ts +2 -0
- package/serialization/resources/speechEngine/client/requests/index.js +7 -0
- package/serialization/resources/speechEngine/index.d.ts +1 -0
- package/serialization/resources/speechEngine/index.js +17 -0
- package/serialization/resources/speechToSpeech/types/SpeechToSpeechConvertRequestOutputFormat.d.ts +1 -1
- package/serialization/resources/speechToSpeech/types/SpeechToSpeechConvertRequestOutputFormat.js +16 -9
- package/serialization/resources/webhooks/client/requests/BodyUpdateWorkspaceWebhookV1WorkspaceWebhooksWebhookIdPatch.d.ts +1 -0
- package/serialization/resources/webhooks/client/requests/BodyUpdateWorkspaceWebhookV1WorkspaceWebhooksWebhookIdPatch.js +1 -0
- package/serialization/resources/workspace/resources/analytics/index.d.ts +1 -0
- package/serialization/resources/workspace/resources/analytics/index.js +17 -0
- package/serialization/resources/workspace/resources/analytics/resources/index.d.ts +3 -0
- package/serialization/resources/workspace/resources/analytics/resources/index.js +42 -0
- package/serialization/resources/workspace/resources/analytics/resources/requests/client/index.d.ts +1 -0
- package/serialization/resources/workspace/resources/analytics/resources/requests/client/index.js +17 -0
- package/serialization/resources/workspace/resources/analytics/resources/requests/client/requests/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPost.d.ts +16 -0
- package/serialization/resources/workspace/resources/analytics/resources/requests/client/requests/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPost.js +48 -0
- package/serialization/resources/workspace/resources/analytics/resources/requests/client/requests/index.d.ts +1 -0
- package/serialization/resources/workspace/resources/analytics/resources/requests/client/requests/index.js +5 -0
- package/serialization/resources/workspace/resources/analytics/resources/requests/index.d.ts +2 -0
- package/serialization/resources/workspace/resources/analytics/resources/requests/index.js +18 -0
- package/serialization/resources/workspace/resources/analytics/resources/requests/types/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPostSort.d.ts +7 -0
- package/serialization/resources/workspace/resources/analytics/resources/requests/types/BodyListApiRequestsV1WorkspaceAnalyticsRequestsPostSort.js +39 -0
- package/serialization/resources/workspace/resources/analytics/resources/requests/types/index.d.ts +1 -0
- package/serialization/resources/workspace/resources/analytics/resources/requests/types/index.js +17 -0
- package/serialization/resources/workspace/resources/index.d.ts +1 -0
- package/serialization/resources/workspace/resources/index.js +2 -1
- package/serialization/types/AgentAlertingMonitorConfig.d.ts +9 -0
- package/serialization/types/AgentAlertingMonitorConfig.js +41 -0
- package/serialization/types/AgentAlertingSettings.d.ts +10 -0
- package/serialization/types/AgentAlertingSettings.js +42 -0
- package/serialization/types/AgentMetadataDbModel.d.ts +13 -0
- package/serialization/types/AgentMetadataDbModel.js +45 -0
- package/serialization/types/AgentPlatformSettingsRequestModel.d.ts +2 -0
- package/serialization/types/AgentPlatformSettingsRequestModel.js +2 -0
- package/serialization/types/AgentPlatformSettingsResponseModel.d.ts +2 -0
- package/serialization/types/AgentPlatformSettingsResponseModel.js +2 -0
- package/serialization/types/AgentTopicResponseModel.d.ts +3 -0
- package/serialization/types/AgentTopicResponseModel.js +3 -0
- package/serialization/types/BackgroundMusicPresetId.d.ts +1 -1
- package/serialization/types/BackgroundMusicPresetId.js +11 -1
- package/serialization/types/BaseTurnConfig.d.ts +17 -0
- package/serialization/types/BaseTurnConfig.js +49 -0
- package/serialization/types/ClientEvent.d.ts +1 -1
- package/serialization/types/ClientEvent.js +1 -0
- package/serialization/types/CodeToolAllowedDomain.d.ts +10 -0
- package/serialization/types/CodeToolAllowedDomain.js +42 -0
- package/serialization/types/{ConversationTokenDbModel.d.ts → ConversationTokenResponseModel.d.ts} +3 -3
- package/serialization/types/{ConversationTokenDbModel.js → ConversationTokenResponseModel.js} +3 -3
- package/serialization/types/CreateSpeechEngineResponse.d.ts +9 -0
- package/serialization/types/CreateSpeechEngineResponse.js +41 -0
- package/serialization/types/GetAgentLinkResponseModel.d.ts +2 -2
- package/serialization/types/GetAgentLinkResponseModel.js +2 -2
- package/serialization/types/KnowledgeBaseDocumentChunksResponseModel.d.ts +11 -0
- package/serialization/types/KnowledgeBaseDocumentChunksResponseModel.js +43 -0
- package/serialization/types/ListSpeechEnginesResponse.d.ts +12 -0
- package/serialization/types/ListSpeechEnginesResponse.js +44 -0
- package/serialization/types/Llm.d.ts +1 -1
- package/serialization/types/Llm.js +4 -0
- package/serialization/types/LlmInfoModelInput.d.ts +2 -0
- package/serialization/types/LlmInfoModelInput.js +2 -0
- package/serialization/types/LlmInfoModelOutput.d.ts +2 -0
- package/serialization/types/LlmInfoModelOutput.js +2 -0
- package/serialization/types/Monitor.d.ts +7 -0
- package/serialization/types/Monitor.js +39 -0
- package/serialization/types/PhoneNumberAgentInfo.d.ts +2 -0
- package/serialization/types/PhoneNumberAgentInfo.js +2 -0
- package/serialization/types/ProcedureCompilerMode.d.ts +1 -1
- package/serialization/types/ProcedureCompilerMode.js +1 -1
- package/serialization/types/ReadMetadataChapterDbModel.d.ts +1 -0
- package/serialization/types/ReadMetadataChapterDbModel.js +1 -0
- package/serialization/types/RegionalProcessingSurchargeInfo.d.ts +9 -0
- package/serialization/types/RegionalProcessingSurchargeInfo.js +41 -0
- package/serialization/types/ReportKnowledgeGapParams.d.ts +9 -0
- package/serialization/types/ReportKnowledgeGapParams.js +41 -0
- package/serialization/types/SpeechEngineResponse.d.ts +28 -0
- package/serialization/types/SpeechEngineResponse.js +60 -0
- package/serialization/types/SpeechEngineSummaryResponse.d.ts +12 -0
- package/serialization/types/SpeechEngineSummaryResponse.js +44 -0
- package/serialization/types/TurnConfig.d.ts +1 -1
- package/serialization/types/TurnConfig.js +1 -1
- package/serialization/types/TurnConfigWorkflowOverride.d.ts +1 -1
- package/serialization/types/TurnConfigWorkflowOverride.js +1 -1
- package/serialization/types/WebhookHmacSettings.d.ts +1 -0
- package/serialization/types/WebhookHmacSettings.js +1 -0
- package/serialization/types/WorkspaceApiKeyResponseModel.d.ts +1 -0
- package/serialization/types/WorkspaceApiKeyResponseModel.js +1 -0
- package/serialization/types/WorkspaceGroupPermission.d.ts +1 -1
- package/serialization/types/WorkspaceGroupPermission.js +2 -0
- package/serialization/types/index.d.ts +14 -1
- package/serialization/types/index.js +14 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/wrapper/ElevenLabsClient.d.ts +5 -2
- package/wrapper/ElevenLabsClient.js +9 -1
- package/wrapper/index.d.ts +1 -0
- package/wrapper/index.js +8 -1
- package/wrapper/speech-engine/SpeechEngineAttachment.d.ts +21 -0
- package/wrapper/speech-engine/SpeechEngineAttachment.js +34 -0
- package/wrapper/speech-engine/SpeechEngineClientWrapper.d.ts +103 -0
- package/wrapper/speech-engine/SpeechEngineClientWrapper.js +140 -0
- package/wrapper/speech-engine/SpeechEngineResource.d.ts +78 -0
- package/wrapper/speech-engine/SpeechEngineResource.js +261 -0
- package/wrapper/speech-engine/SpeechEngineServer.d.ts +54 -0
- package/wrapper/speech-engine/SpeechEngineServer.js +135 -0
- package/wrapper/speech-engine/SpeechEngineSession.d.ts +79 -0
- package/wrapper/speech-engine/SpeechEngineSession.js +300 -0
- package/wrapper/speech-engine/index.d.ts +7 -0
- package/wrapper/speech-engine/index.js +47 -0
- package/wrapper/speech-engine/namespace.d.ts +27 -0
- package/wrapper/speech-engine/namespace.js +37 -0
- package/wrapper/speech-engine/types.d.ts +67 -0
- package/wrapper/speech-engine/types.js +15 -0
- /package/api/{types/ConversationTokenDbModel.js → resources/conversationalAi/resources/knowledgeBase/resources/document/client/requests/BodyUpdateFileDocumentV1ConvaiKnowledgeBaseDocumentationIdUpdateFilePatch.js} +0 -0
- /package/{dist/api/types/ConversationTokenDbModel.js → api/resources/conversationalAi/resources/knowledgeBase/resources/document/types/DocumentUpdateFileResponse.js} +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { Server as HttpServer } from "node:http";
|
|
2
|
+
import WebSocket from "ws";
|
|
3
|
+
import type { BaseClientOptions, NormalizedClientOptions } from "../../BaseClient";
|
|
4
|
+
import { type SpeechEngineCallbacks } from "./types";
|
|
5
|
+
import { SpeechEngineSession } from "./SpeechEngineSession";
|
|
6
|
+
import { SpeechEngineAttachment } from "./SpeechEngineAttachment";
|
|
7
|
+
/**
|
|
8
|
+
* Represents a speech engine instance. Returned by `elevenlabs.speechEngine.get()`.
|
|
9
|
+
*
|
|
10
|
+
* Use `engine.attach(httpServer, path, callbacks)` to integrate with an existing
|
|
11
|
+
* HTTP server, or drop down to `engine.verifyRequest()` and `engine.createSession()`
|
|
12
|
+
* for full control.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const engine = await elevenlabs.speechEngine.get("seng_123");
|
|
17
|
+
*
|
|
18
|
+
* engine.attach(httpServer, "/api/speech-engine/ws", {
|
|
19
|
+
* async onTranscript(transcript, signal, session) {
|
|
20
|
+
* session.sendResponse(await llm.generate(transcript, { signal }));
|
|
21
|
+
* },
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare class SpeechEngineResource {
|
|
26
|
+
readonly engineId: string;
|
|
27
|
+
/** @internal */
|
|
28
|
+
readonly _options: NormalizedClientOptions<BaseClientOptions>;
|
|
29
|
+
/** @internal */
|
|
30
|
+
constructor(engineId: string, options: NormalizedClientOptions<BaseClientOptions>);
|
|
31
|
+
/**
|
|
32
|
+
* Attach to an existing HTTP server and begin accepting Speech Engine
|
|
33
|
+
* connections at the given path.
|
|
34
|
+
*
|
|
35
|
+
* Handles WebSocket upgrades, path routing, and request verification
|
|
36
|
+
* automatically. Returns a `SpeechEngineAttachment` whose `.close()` stops
|
|
37
|
+
* accepting connections without affecting the HTTP server.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* engine.attach(httpServer, "/api/speech-engine/ws", {
|
|
42
|
+
* async onTranscript(transcript, signal, session) {
|
|
43
|
+
* const stream = await openai.responses.create({ model: "gpt-4o", input: transcript, stream: true }, { signal });
|
|
44
|
+
* session.sendResponse(stream);
|
|
45
|
+
* },
|
|
46
|
+
* });
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
attach(httpServer: HttpServer, path: string, handler: SpeechEngineCallbacks): SpeechEngineAttachment;
|
|
50
|
+
/**
|
|
51
|
+
* Verify that an incoming HTTP upgrade request is a legitimate connection
|
|
52
|
+
* from the ElevenLabs Speech Engine API.
|
|
53
|
+
*
|
|
54
|
+
* Checks the `X-Elevenlabs-Speech-Engine-Authorization` header for a valid
|
|
55
|
+
* JWT signed with the SHA-256 hash of the API key.
|
|
56
|
+
*
|
|
57
|
+
* Only needed when managing the WebSocket upgrade yourself. When using
|
|
58
|
+
* `engine.attach()`, verification is handled automatically.
|
|
59
|
+
*/
|
|
60
|
+
verifyRequest(req: {
|
|
61
|
+
headers: Record<string, string | string[] | undefined>;
|
|
62
|
+
}): Promise<boolean>;
|
|
63
|
+
/** @internal Returns `null` when the request is valid, or a human-readable reason when rejected. */
|
|
64
|
+
private getVerificationFailure;
|
|
65
|
+
/**
|
|
66
|
+
* Wrap an accepted WebSocket in a `SpeechEngineSession`.
|
|
67
|
+
*
|
|
68
|
+
* Only needed when managing the WebSocket upgrade yourself. When using
|
|
69
|
+
* `engine.attach()`, sessions are created automatically.
|
|
70
|
+
*/
|
|
71
|
+
createSession(ws: WebSocket, options?: {
|
|
72
|
+
debug?: boolean;
|
|
73
|
+
}): SpeechEngineSession;
|
|
74
|
+
/** @internal */
|
|
75
|
+
private wireHandler;
|
|
76
|
+
}
|
|
77
|
+
/** @internal — exported for testing only */
|
|
78
|
+
export declare function verifySpeechEngineJwt(value: string, apiKey: string): Record<string, unknown>;
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
exports.SpeechEngineResource = void 0;
|
|
49
|
+
exports.verifySpeechEngineJwt = verifySpeechEngineJwt;
|
|
50
|
+
const node_crypto_1 = require("node:crypto");
|
|
51
|
+
const ws_1 = __importDefault(require("ws"));
|
|
52
|
+
const core = __importStar(require("../../core"));
|
|
53
|
+
const types_1 = require("./types");
|
|
54
|
+
const SpeechEngineSession_1 = require("./SpeechEngineSession");
|
|
55
|
+
const SpeechEngineAttachment_1 = require("./SpeechEngineAttachment");
|
|
56
|
+
/**
|
|
57
|
+
* Represents a speech engine instance. Returned by `elevenlabs.speechEngine.get()`.
|
|
58
|
+
*
|
|
59
|
+
* Use `engine.attach(httpServer, path, callbacks)` to integrate with an existing
|
|
60
|
+
* HTTP server, or drop down to `engine.verifyRequest()` and `engine.createSession()`
|
|
61
|
+
* for full control.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* const engine = await elevenlabs.speechEngine.get("seng_123");
|
|
66
|
+
*
|
|
67
|
+
* engine.attach(httpServer, "/api/speech-engine/ws", {
|
|
68
|
+
* async onTranscript(transcript, signal, session) {
|
|
69
|
+
* session.sendResponse(await llm.generate(transcript, { signal }));
|
|
70
|
+
* },
|
|
71
|
+
* });
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
class SpeechEngineResource {
|
|
75
|
+
/** @internal */
|
|
76
|
+
constructor(engineId, options) {
|
|
77
|
+
this.engineId = engineId;
|
|
78
|
+
this._options = options;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Attach to an existing HTTP server and begin accepting Speech Engine
|
|
82
|
+
* connections at the given path.
|
|
83
|
+
*
|
|
84
|
+
* Handles WebSocket upgrades, path routing, and request verification
|
|
85
|
+
* automatically. Returns a `SpeechEngineAttachment` whose `.close()` stops
|
|
86
|
+
* accepting connections without affecting the HTTP server.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* engine.attach(httpServer, "/api/speech-engine/ws", {
|
|
91
|
+
* async onTranscript(transcript, signal, session) {
|
|
92
|
+
* const stream = await openai.responses.create({ model: "gpt-4o", input: transcript, stream: true }, { signal });
|
|
93
|
+
* session.sendResponse(stream);
|
|
94
|
+
* },
|
|
95
|
+
* });
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
attach(httpServer, path, handler) {
|
|
99
|
+
var _a;
|
|
100
|
+
const debug = (_a = handler.debug) !== null && _a !== void 0 ? _a : false;
|
|
101
|
+
const log = debug ? (...args) => console.log("[SpeechEngine]", ...args) : () => { };
|
|
102
|
+
const wss = new ws_1.default.Server({ noServer: true });
|
|
103
|
+
const upgradeListener = (req, socket, head) => __awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
var _a;
|
|
105
|
+
const url = new URL((_a = req.url) !== null && _a !== void 0 ? _a : "/", `http://${req.headers.host}`);
|
|
106
|
+
log(`upgrade request: ${req.method} ${url.pathname}`);
|
|
107
|
+
if (url.pathname !== path) {
|
|
108
|
+
log(`path mismatch: expected ${path}, got ${url.pathname} — skipping`);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (!(yield this.verifyRequest(req))) {
|
|
112
|
+
// verifyRequest returned false — get the detailed reason for debug logging
|
|
113
|
+
const reason = yield this.getVerificationFailure(req);
|
|
114
|
+
log(`rejected connection — ${reason}`);
|
|
115
|
+
socket.destroy();
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
log("upgrading connection to WebSocket");
|
|
119
|
+
wss.handleUpgrade(req, socket, head, (ws) => {
|
|
120
|
+
log("WebSocket connection established");
|
|
121
|
+
wss.emit("connection", ws);
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
httpServer.on("upgrade", upgradeListener);
|
|
125
|
+
wss.on("connection", (ws) => {
|
|
126
|
+
log("creating new session");
|
|
127
|
+
const session = this.createSession(ws, { debug });
|
|
128
|
+
this.wireHandler(session, handler);
|
|
129
|
+
});
|
|
130
|
+
log(`listening for WebSocket upgrades on ${path}`);
|
|
131
|
+
return new SpeechEngineAttachment_1.SpeechEngineAttachment(wss, httpServer, upgradeListener);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Verify that an incoming HTTP upgrade request is a legitimate connection
|
|
135
|
+
* from the ElevenLabs Speech Engine API.
|
|
136
|
+
*
|
|
137
|
+
* Checks the `X-Elevenlabs-Speech-Engine-Authorization` header for a valid
|
|
138
|
+
* JWT signed with the SHA-256 hash of the API key.
|
|
139
|
+
*
|
|
140
|
+
* Only needed when managing the WebSocket upgrade yourself. When using
|
|
141
|
+
* `engine.attach()`, verification is handled automatically.
|
|
142
|
+
*/
|
|
143
|
+
verifyRequest(req) {
|
|
144
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
145
|
+
return (yield this.getVerificationFailure(req)) === null;
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
/** @internal Returns `null` when the request is valid, or a human-readable reason when rejected. */
|
|
149
|
+
getVerificationFailure(req) {
|
|
150
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
+
const apiKey = yield core.Supplier.get(this._options.apiKey);
|
|
152
|
+
if (!apiKey) {
|
|
153
|
+
return "no API key configured on the client";
|
|
154
|
+
}
|
|
155
|
+
const raw = req.headers["x-elevenlabs-speech-engine-authorization"];
|
|
156
|
+
const headerValue = Array.isArray(raw) ? raw[0] : raw;
|
|
157
|
+
if (!headerValue) {
|
|
158
|
+
return "missing X-Elevenlabs-Speech-Engine-Authorization header";
|
|
159
|
+
}
|
|
160
|
+
try {
|
|
161
|
+
verifySpeechEngineJwt(headerValue, apiKey);
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
catch (err) {
|
|
165
|
+
return err instanceof Error ? err.message : String(err);
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Wrap an accepted WebSocket in a `SpeechEngineSession`.
|
|
171
|
+
*
|
|
172
|
+
* Only needed when managing the WebSocket upgrade yourself. When using
|
|
173
|
+
* `engine.attach()`, sessions are created automatically.
|
|
174
|
+
*/
|
|
175
|
+
createSession(ws, options) {
|
|
176
|
+
return new SpeechEngineSession_1.SpeechEngineSession(ws, options);
|
|
177
|
+
}
|
|
178
|
+
/** @internal */
|
|
179
|
+
wireHandler(session, handler) {
|
|
180
|
+
const { onInit, onTranscript, onClose, onDisconnect, onError } = handler;
|
|
181
|
+
if (onInit)
|
|
182
|
+
session.on("init", (id) => onInit.call(session, id, session));
|
|
183
|
+
if (onTranscript) {
|
|
184
|
+
session.on("user_transcript", (t, s) => {
|
|
185
|
+
Promise.resolve(onTranscript.call(session, t, s, session)).catch((err) => {
|
|
186
|
+
if ((0, types_1.isAbortError)(err))
|
|
187
|
+
return;
|
|
188
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
189
|
+
if (onError)
|
|
190
|
+
onError.call(session, error, session);
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
if (onClose)
|
|
195
|
+
session.on("close", () => onClose.call(session, session));
|
|
196
|
+
if (onDisconnect)
|
|
197
|
+
session.on("disconnected", () => onDisconnect.call(session, session));
|
|
198
|
+
if (onError)
|
|
199
|
+
session.on("error", (err) => onError.call(session, err, session));
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
exports.SpeechEngineResource = SpeechEngineResource;
|
|
203
|
+
// ---------------------------------------------------------------------------
|
|
204
|
+
// JWT verification (HS256, no external dependency)
|
|
205
|
+
// ---------------------------------------------------------------------------
|
|
206
|
+
const ISSUER = "https://api.elevenlabs.io/convai/speech-engine";
|
|
207
|
+
const SUBJECT = "convai_speech_engine_upstream";
|
|
208
|
+
const LEEWAY_SECONDS = 60;
|
|
209
|
+
function base64UrlDecode(input) {
|
|
210
|
+
const padded = input.replace(/-/g, "+").replace(/_/g, "/");
|
|
211
|
+
return Buffer.from(padded, "base64");
|
|
212
|
+
}
|
|
213
|
+
/** @internal — exported for testing only */
|
|
214
|
+
function verifySpeechEngineJwt(value, apiKey) {
|
|
215
|
+
let token = value.trim();
|
|
216
|
+
if (token.toLowerCase().startsWith("bearer ")) {
|
|
217
|
+
token = token.slice(7).trim();
|
|
218
|
+
}
|
|
219
|
+
const parts = token.split(".");
|
|
220
|
+
if (parts.length !== 3) {
|
|
221
|
+
throw new Error("Invalid JWT: expected 3 parts");
|
|
222
|
+
}
|
|
223
|
+
const [headerB64, payloadB64, signatureB64] = parts;
|
|
224
|
+
let payload;
|
|
225
|
+
try {
|
|
226
|
+
payload = JSON.parse(base64UrlDecode(payloadB64).toString("utf-8"));
|
|
227
|
+
}
|
|
228
|
+
catch (_a) {
|
|
229
|
+
throw new Error("Invalid JWT: failed to decode payload");
|
|
230
|
+
}
|
|
231
|
+
// SHA-256 hash of the API key, used as the HMAC secret
|
|
232
|
+
const trimmedKey = apiKey.trim();
|
|
233
|
+
const secret = (0, node_crypto_1.createHash)("sha256").update(trimmedKey, "utf-8").digest();
|
|
234
|
+
const expectedSignature = (0, node_crypto_1.createHmac)("sha256", secret)
|
|
235
|
+
.update(`${headerB64}.${payloadB64}`)
|
|
236
|
+
.digest();
|
|
237
|
+
const actualSignature = base64UrlDecode(signatureB64);
|
|
238
|
+
if (!expectedSignature.equals(actualSignature)) {
|
|
239
|
+
throw new Error("Invalid JWT: signature mismatch — make sure the API key used by your Speech Engine server matches the one used to create the engine.");
|
|
240
|
+
}
|
|
241
|
+
if (payload.iss !== ISSUER) {
|
|
242
|
+
throw new Error(`Invalid JWT: expected issuer "${ISSUER}", got "${payload.iss}"`);
|
|
243
|
+
}
|
|
244
|
+
if (payload.sub !== SUBJECT) {
|
|
245
|
+
throw new Error(`Invalid JWT: expected subject "${SUBJECT}", got "${payload.sub}"`);
|
|
246
|
+
}
|
|
247
|
+
const now = Math.floor(Date.now() / 1000);
|
|
248
|
+
if (typeof payload.exp !== "number") {
|
|
249
|
+
throw new Error("Invalid JWT: missing exp claim");
|
|
250
|
+
}
|
|
251
|
+
if (typeof payload.iat !== "number") {
|
|
252
|
+
throw new Error("Invalid JWT: missing iat claim");
|
|
253
|
+
}
|
|
254
|
+
if (payload.exp + LEEWAY_SECONDS < now) {
|
|
255
|
+
throw new Error("Invalid JWT: token has expired");
|
|
256
|
+
}
|
|
257
|
+
if (payload.iat - LEEWAY_SECONDS > now) {
|
|
258
|
+
throw new Error("Invalid JWT: iat is in the future");
|
|
259
|
+
}
|
|
260
|
+
return payload;
|
|
261
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import WebSocket from "ws";
|
|
2
|
+
import { type SpeechEngineCallbacks } from "./types";
|
|
3
|
+
import { SpeechEngineSession } from "./SpeechEngineSession";
|
|
4
|
+
export interface SpeechEngineServerOptions extends SpeechEngineCallbacks {
|
|
5
|
+
/**
|
|
6
|
+
* Port to listen on. Defaults to 3001.
|
|
7
|
+
*/
|
|
8
|
+
port?: number;
|
|
9
|
+
/**
|
|
10
|
+
* Your ElevenLabs API key. Used to verify that incoming WebSocket
|
|
11
|
+
* connections originate from the ElevenLabs API.
|
|
12
|
+
*
|
|
13
|
+
* When omitted, the server will reject all connections and throw
|
|
14
|
+
* an error on start. Pass `{ apiKey: "..." }` or set the
|
|
15
|
+
* `ELEVENLABS_API_KEY` environment variable.
|
|
16
|
+
*/
|
|
17
|
+
apiKey?: string;
|
|
18
|
+
/**
|
|
19
|
+
* The ID of the speech engine this server handles connections for.
|
|
20
|
+
* Populated automatically when created via `engine.listen()`.
|
|
21
|
+
*/
|
|
22
|
+
engineId?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Standalone WebSocket server that produces `SpeechEngineSession` instances for
|
|
26
|
+
* each incoming connection from the ElevenLabs Speech Engine API.
|
|
27
|
+
*
|
|
28
|
+
* Every incoming connection is verified against the ElevenLabs API using the
|
|
29
|
+
* configured API key before being accepted.
|
|
30
|
+
*
|
|
31
|
+
* For integration with an existing HTTP server (e.g. Express, Next.js), use
|
|
32
|
+
* `engine.attach()` instead.
|
|
33
|
+
*/
|
|
34
|
+
export declare class SpeechEngineServer {
|
|
35
|
+
private wss;
|
|
36
|
+
private httpServer;
|
|
37
|
+
private options;
|
|
38
|
+
constructor(options: SpeechEngineServerOptions);
|
|
39
|
+
/**
|
|
40
|
+
* Create a `SpeechEngineSession` from an existing WebSocket. Use this
|
|
41
|
+
* when you manage your own WebSocket server and want to wrap individual
|
|
42
|
+
* connections.
|
|
43
|
+
*/
|
|
44
|
+
handleConnection(ws: WebSocket): SpeechEngineSession;
|
|
45
|
+
/**
|
|
46
|
+
* Start the standalone WebSocket server on the configured port.
|
|
47
|
+
*/
|
|
48
|
+
start(): void;
|
|
49
|
+
private wireHandler;
|
|
50
|
+
/**
|
|
51
|
+
* Stop the WebSocket server and close all active connections.
|
|
52
|
+
*/
|
|
53
|
+
stop(): Promise<void>;
|
|
54
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SpeechEngineServer = void 0;
|
|
7
|
+
const node_http_1 = require("node:http");
|
|
8
|
+
const ws_1 = __importDefault(require("ws"));
|
|
9
|
+
const types_1 = require("./types");
|
|
10
|
+
const SpeechEngineSession_1 = require("./SpeechEngineSession");
|
|
11
|
+
const SpeechEngineResource_1 = require("./SpeechEngineResource");
|
|
12
|
+
/**
|
|
13
|
+
* Standalone WebSocket server that produces `SpeechEngineSession` instances for
|
|
14
|
+
* each incoming connection from the ElevenLabs Speech Engine API.
|
|
15
|
+
*
|
|
16
|
+
* Every incoming connection is verified against the ElevenLabs API using the
|
|
17
|
+
* configured API key before being accepted.
|
|
18
|
+
*
|
|
19
|
+
* For integration with an existing HTTP server (e.g. Express, Next.js), use
|
|
20
|
+
* `engine.attach()` instead.
|
|
21
|
+
*/
|
|
22
|
+
class SpeechEngineServer {
|
|
23
|
+
constructor(options) {
|
|
24
|
+
this.wss = null;
|
|
25
|
+
this.httpServer = null;
|
|
26
|
+
this.options = options;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Create a `SpeechEngineSession` from an existing WebSocket. Use this
|
|
30
|
+
* when you manage your own WebSocket server and want to wrap individual
|
|
31
|
+
* connections.
|
|
32
|
+
*/
|
|
33
|
+
handleConnection(ws) {
|
|
34
|
+
const session = new SpeechEngineSession_1.SpeechEngineSession(ws, { debug: this.options.debug });
|
|
35
|
+
this.wireHandler(session);
|
|
36
|
+
return session;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Start the standalone WebSocket server on the configured port.
|
|
40
|
+
*/
|
|
41
|
+
start() {
|
|
42
|
+
var _a, _b, _c;
|
|
43
|
+
if (this.wss) {
|
|
44
|
+
throw new Error("Server is already started");
|
|
45
|
+
}
|
|
46
|
+
const apiKey = (_a = this.options.apiKey) !== null && _a !== void 0 ? _a : process.env.ELEVENLABS_API_KEY;
|
|
47
|
+
if (!apiKey) {
|
|
48
|
+
throw new Error("SpeechEngine.Server requires an API key to verify incoming connections. " +
|
|
49
|
+
"Pass { apiKey: \"...\" } or set the ELEVENLABS_API_KEY environment variable.");
|
|
50
|
+
}
|
|
51
|
+
const debug = (_b = this.options.debug) !== null && _b !== void 0 ? _b : false;
|
|
52
|
+
const log = debug ? (...args) => console.log("[SpeechEngine]", ...args) : () => { };
|
|
53
|
+
const httpServer = (0, node_http_1.createServer)();
|
|
54
|
+
const wss = new ws_1.default.Server({ noServer: true });
|
|
55
|
+
httpServer.on("upgrade", (req, socket, head) => {
|
|
56
|
+
const headerValue = req.headers["x-elevenlabs-speech-engine-authorization"];
|
|
57
|
+
const token = Array.isArray(headerValue) ? headerValue[0] : headerValue;
|
|
58
|
+
if (!token) {
|
|
59
|
+
log("rejected connection — missing X-Elevenlabs-Speech-Engine-Authorization header");
|
|
60
|
+
socket.destroy();
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
(0, SpeechEngineResource_1.verifySpeechEngineJwt)(token, apiKey);
|
|
65
|
+
}
|
|
66
|
+
catch (err) {
|
|
67
|
+
log(`rejected connection — ${err instanceof Error ? err.message : String(err)}`);
|
|
68
|
+
socket.destroy();
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
log("verified connection, upgrading to WebSocket");
|
|
72
|
+
wss.handleUpgrade(req, socket, head, (ws) => {
|
|
73
|
+
wss.emit("connection", ws);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
wss.on("connection", (ws) => {
|
|
77
|
+
this.handleConnection(ws);
|
|
78
|
+
});
|
|
79
|
+
httpServer.listen((_c = this.options.port) !== null && _c !== void 0 ? _c : 3001);
|
|
80
|
+
this.wss = wss;
|
|
81
|
+
this.httpServer = httpServer;
|
|
82
|
+
}
|
|
83
|
+
wireHandler(session) {
|
|
84
|
+
const { onInit, onTranscript, onClose, onDisconnect, onError } = this.options;
|
|
85
|
+
if (onInit)
|
|
86
|
+
session.on("init", (id) => onInit.call(session, id, session));
|
|
87
|
+
if (onTranscript) {
|
|
88
|
+
session.on("user_transcript", (t, s) => {
|
|
89
|
+
Promise.resolve(onTranscript.call(session, t, s, session)).catch((err) => {
|
|
90
|
+
if ((0, types_1.isAbortError)(err))
|
|
91
|
+
return;
|
|
92
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
93
|
+
if (onError)
|
|
94
|
+
onError.call(session, error, session);
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
if (onClose)
|
|
99
|
+
session.on("close", () => onClose.call(session, session));
|
|
100
|
+
if (onDisconnect)
|
|
101
|
+
session.on("disconnected", () => onDisconnect.call(session, session));
|
|
102
|
+
if (onError)
|
|
103
|
+
session.on("error", (err) => onError.call(session, err, session));
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Stop the WebSocket server and close all active connections.
|
|
107
|
+
*/
|
|
108
|
+
stop() {
|
|
109
|
+
return new Promise((resolve, reject) => {
|
|
110
|
+
if (!this.wss) {
|
|
111
|
+
resolve();
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
this.wss.close((wssErr) => {
|
|
115
|
+
this.wss = null;
|
|
116
|
+
if (this.httpServer) {
|
|
117
|
+
this.httpServer.close((httpErr) => {
|
|
118
|
+
this.httpServer = null;
|
|
119
|
+
if (wssErr || httpErr)
|
|
120
|
+
reject(wssErr || httpErr);
|
|
121
|
+
else
|
|
122
|
+
resolve();
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
if (wssErr)
|
|
127
|
+
reject(wssErr);
|
|
128
|
+
else
|
|
129
|
+
resolve();
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.SpeechEngineServer = SpeechEngineServer;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { type SpeechEngineEventMap, type SpeechEngineEventName, type WebSocketLike } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Wraps a WebSocket connection from the ElevenLabs Speech Engine API into a
|
|
4
|
+
* typed, event-driven session.
|
|
5
|
+
*
|
|
6
|
+
* The ElevenLabs API connects to the developer's server via WebSocket. Each
|
|
7
|
+
* connection represents one conversation. The session emits events for
|
|
8
|
+
* transcripts and lifecycle changes, and provides methods to send LLM
|
|
9
|
+
* responses back. When a new transcript arrives, the previous transcript's
|
|
10
|
+
* abort signal is fired automatically, cancelling any in-flight LLM call.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import { SpeechEngine } from "@elevenlabs/elevenlabs-js";
|
|
15
|
+
*
|
|
16
|
+
* wss.on("connection", (ws) => {
|
|
17
|
+
* const session = new SpeechEngine.Session(ws);
|
|
18
|
+
*
|
|
19
|
+
* session.on(SpeechEngine.USER_TRANSCRIPT, async (transcript, { signal }) => {
|
|
20
|
+
* const response = await llm.generate(transcript, { signal });
|
|
21
|
+
* session.sendResponse(response);
|
|
22
|
+
* });
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare class SpeechEngineSession {
|
|
27
|
+
private ws;
|
|
28
|
+
private emitter;
|
|
29
|
+
private currentAbortController;
|
|
30
|
+
private currentEventId;
|
|
31
|
+
private inTranscriptHandler;
|
|
32
|
+
private _conversationId;
|
|
33
|
+
private closed;
|
|
34
|
+
private log;
|
|
35
|
+
constructor(ws: WebSocketLike, options?: {
|
|
36
|
+
debug?: boolean;
|
|
37
|
+
});
|
|
38
|
+
on<E extends SpeechEngineEventName>(event: E, listener: (...args: SpeechEngineEventMap[E]) => void): this;
|
|
39
|
+
off<E extends SpeechEngineEventName>(event: E, listener: (...args: SpeechEngineEventMap[E]) => void): this;
|
|
40
|
+
once<E extends SpeechEngineEventName>(event: E, listener: (...args: SpeechEngineEventMap[E]) => void): this;
|
|
41
|
+
/**
|
|
42
|
+
* Send an LLM response back to the Speech Engine API for TTS synthesis.
|
|
43
|
+
*
|
|
44
|
+
* Accepts a complete string, an `AsyncIterable<string>` for streaming
|
|
45
|
+
* token-by-token responses, or an LLM stream that yields event objects
|
|
46
|
+
* (e.g. an OpenAI Responses API stream). Event objects are automatically
|
|
47
|
+
* parsed to extract text deltas.
|
|
48
|
+
*/
|
|
49
|
+
sendResponse(response: string | AsyncIterable<unknown>): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Close the session and the underlying WebSocket connection.
|
|
52
|
+
*/
|
|
53
|
+
close(): void;
|
|
54
|
+
/**
|
|
55
|
+
* The conversation ID assigned by the Speech Engine API, available after
|
|
56
|
+
* the `init` event.
|
|
57
|
+
*/
|
|
58
|
+
get conversationId(): string | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* Whether the session is still open.
|
|
61
|
+
*/
|
|
62
|
+
get isOpen(): boolean;
|
|
63
|
+
private setupWebSocket;
|
|
64
|
+
private handleMessage;
|
|
65
|
+
private streamResponse;
|
|
66
|
+
/**
|
|
67
|
+
* Extract text content from a stream chunk. Handles plain strings and
|
|
68
|
+
* common LLM stream event formats:
|
|
69
|
+
*
|
|
70
|
+
* - OpenAI Responses API (`response.output_text.delta`)
|
|
71
|
+
* - OpenAI Chat Completions API (`choices[0].delta.content`)
|
|
72
|
+
* - Anthropic Messages API (`content_block_delta` with `text_delta`)
|
|
73
|
+
* - Google Gemini API (`candidates[0].content.parts[0].text`)
|
|
74
|
+
*/
|
|
75
|
+
private extractText;
|
|
76
|
+
private sendAgentResponse;
|
|
77
|
+
private send;
|
|
78
|
+
private abortCurrent;
|
|
79
|
+
}
|