@cartesia/cartesia-js 2.0.2 → 2.0.4-alpha0
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/Client.d.ts +3 -0
- package/Client.js +18 -9
- package/README.md +1 -5
- package/api/index.js +17 -1
- package/api/resources/apiStatus/client/Client.js +33 -6
- package/api/resources/apiStatus/client/index.js +2 -1
- package/api/resources/apiStatus/index.js +18 -2
- package/api/resources/apiStatus/types/ApiInfo.js +2 -1
- package/api/resources/apiStatus/types/index.js +17 -1
- package/api/resources/datasets/client/Client.d.ts +70 -0
- package/api/resources/datasets/client/Client.js +261 -0
- package/api/resources/datasets/client/index.d.ts +1 -0
- package/api/resources/datasets/client/index.js +17 -0
- package/api/resources/datasets/client/requests/UploadDatasetFileRequest.d.ts +11 -0
- package/api/resources/datasets/client/requests/UploadDatasetFileRequest.js +5 -0
- package/api/resources/datasets/client/requests/index.d.ts +1 -0
- package/api/resources/datasets/client/requests/index.js +2 -0
- package/api/resources/datasets/index.d.ts +2 -0
- package/api/resources/datasets/index.js +18 -0
- package/api/resources/datasets/types/CreateDatasetRequest.d.ts +6 -0
- package/api/resources/datasets/types/CreateDatasetRequest.js +5 -0
- package/api/resources/datasets/types/Dataset.d.ts +8 -0
- package/api/resources/datasets/types/Dataset.js +5 -0
- package/api/resources/datasets/types/DatasetFile.d.ts +8 -0
- package/api/resources/datasets/types/DatasetFile.js +5 -0
- package/api/resources/datasets/types/FilePurpose.d.ts +7 -0
- package/api/resources/datasets/types/FilePurpose.js +9 -0
- package/api/resources/datasets/types/PaginatedDatasetFiles.d.ts +8 -0
- package/api/resources/datasets/types/PaginatedDatasetFiles.js +5 -0
- package/api/resources/datasets/types/PaginatedDatasets.d.ts +8 -0
- package/api/resources/datasets/types/PaginatedDatasets.js +5 -0
- package/api/resources/datasets/types/index.d.ts +6 -0
- package/api/resources/datasets/types/index.js +22 -0
- package/api/resources/embedding/index.js +17 -1
- package/api/resources/embedding/types/Embedding.js +2 -1
- package/api/resources/embedding/types/index.js +17 -1
- package/api/resources/index.d.ts +3 -0
- package/api/resources/index.js +44 -12
- package/api/resources/tts/client/Client.js +40 -10
- package/api/resources/tts/client/index.js +2 -1
- package/api/resources/tts/index.js +18 -2
- package/api/resources/tts/types/CancelContextRequest.js +2 -1
- package/api/resources/tts/types/ContextId.js +2 -1
- package/api/resources/tts/types/Controls.js +2 -1
- package/api/resources/tts/types/Emotion.js +4 -1
- package/api/resources/tts/types/GenerationRequest.js +2 -1
- package/api/resources/tts/types/Mp3OutputFormat.js +2 -1
- package/api/resources/tts/types/NaturalSpecifier.js +4 -1
- package/api/resources/tts/types/NumericalSpecifier.js +2 -1
- package/api/resources/tts/types/OutputFormat.js +2 -1
- package/api/resources/tts/types/RawEncoding.js +4 -1
- package/api/resources/tts/types/RawOutputFormat.js +2 -1
- package/api/resources/tts/types/Speed.js +2 -1
- package/api/resources/tts/types/SupportedLanguage.js +4 -1
- package/api/resources/tts/types/TtsRequest.js +2 -1
- package/api/resources/tts/types/TtsRequestEmbeddingSpecifier.js +2 -1
- package/api/resources/tts/types/TtsRequestIdSpecifier.js +2 -1
- package/api/resources/tts/types/TtsRequestVoiceSpecifier.js +2 -1
- package/api/resources/tts/types/WavOutputFormat.js +2 -1
- package/api/resources/tts/types/WebSocketBaseResponse.js +2 -1
- package/api/resources/tts/types/WebSocketChunkResponse.js +2 -1
- package/api/resources/tts/types/WebSocketDoneResponse.js +2 -1
- package/api/resources/tts/types/WebSocketErrorResponse.js +2 -1
- package/api/resources/tts/types/WebSocketRawOutputFormat.js +2 -1
- package/api/resources/tts/types/WebSocketRequest.js +2 -1
- package/api/resources/tts/types/WebSocketResponse.js +2 -1
- package/api/resources/tts/types/WebSocketStreamOptions.js +2 -1
- package/api/resources/tts/types/WebSocketTimestampsResponse.js +2 -1
- package/api/resources/tts/types/WebSocketTtsOutput.js +2 -1
- package/api/resources/tts/types/WebSocketTtsRequest.js +2 -1
- package/api/resources/tts/types/WordTimestamps.js +2 -1
- package/api/resources/tts/types/index.js +46 -30
- package/api/resources/voiceChanger/client/Client.js +40 -10
- package/api/resources/voiceChanger/client/index.js +17 -1
- package/api/resources/voiceChanger/client/requests/VoiceChangerBytesRequest.js +2 -1
- package/api/resources/voiceChanger/client/requests/VoiceChangerSseRequest.js +2 -1
- package/api/resources/voiceChanger/client/requests/index.js +2 -1
- package/api/resources/voiceChanger/index.js +18 -2
- package/api/resources/voiceChanger/types/OutputFormatContainer.js +4 -1
- package/api/resources/voiceChanger/types/StreamingResponse.js +2 -1
- package/api/resources/voiceChanger/types/index.js +18 -2
- package/api/resources/voices/client/Client.js +52 -22
- package/api/resources/voices/client/index.js +17 -1
- package/api/resources/voices/client/requests/CloneVoiceRequest.js +2 -1
- package/api/resources/voices/client/requests/index.js +2 -1
- package/api/resources/voices/index.js +18 -2
- package/api/resources/voices/types/BaseVoiceId.js +2 -1
- package/api/resources/voices/types/CloneMode.js +4 -1
- package/api/resources/voices/types/CreateVoiceRequest.js +2 -1
- package/api/resources/voices/types/EmbeddingResponse.js +2 -1
- package/api/resources/voices/types/EmbeddingSpecifier.js +2 -1
- package/api/resources/voices/types/Gender.js +4 -1
- package/api/resources/voices/types/IdSpecifier.js +2 -1
- package/api/resources/voices/types/LocalizeDialect.d.ts +11 -11
- package/api/resources/voices/types/LocalizeDialect.js +2 -7
- package/api/resources/voices/types/LocalizeEnglishDialect.d.ts +11 -0
- package/api/resources/voices/types/LocalizeEnglishDialect.js +13 -0
- package/api/resources/voices/types/LocalizeTargetLanguage.js +4 -1
- package/api/resources/voices/types/LocalizeVoiceRequest.js +2 -1
- package/api/resources/voices/types/MixVoiceSpecifier.js +2 -1
- package/api/resources/voices/types/MixVoicesRequest.js +2 -1
- package/api/resources/voices/types/UpdateVoiceRequest.js +2 -1
- package/api/resources/voices/types/Voice.js +2 -1
- package/api/resources/voices/types/VoiceId.js +2 -1
- package/api/resources/voices/types/VoiceMetadata.js +2 -1
- package/api/resources/voices/types/Weight.js +2 -1
- package/api/resources/voices/types/index.d.ts +1 -0
- package/api/resources/voices/types/index.js +34 -17
- package/core/fetcher/APIResponse.js +2 -1
- package/core/fetcher/Fetcher.js +18 -14
- package/core/fetcher/Supplier.js +4 -1
- package/core/fetcher/createRequestUrl.js +10 -3
- package/core/fetcher/getFetchFn.js +33 -6
- package/core/fetcher/getHeader.js +5 -1
- package/core/fetcher/getRequestBody.js +5 -1
- package/core/fetcher/getResponseBody.js +7 -3
- package/core/fetcher/index.js +9 -3
- package/core/fetcher/makeRequest.js +8 -4
- package/core/fetcher/requestWithRetries.js +5 -1
- package/core/fetcher/signals.js +7 -2
- package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.js +5 -1
- package/core/fetcher/stream-wrappers/NodePre18StreamWrapper.js +5 -1
- package/core/fetcher/stream-wrappers/UndiciStreamWrapper.js +5 -1
- package/core/fetcher/stream-wrappers/chooseStreamWrapper.js +34 -7
- package/core/form-data-utils/FormDataWrapper.js +41 -11
- package/core/form-data-utils/index.js +17 -1
- package/core/index.d.ts +1 -1
- package/core/index.js +34 -5
- package/core/runtime/index.js +5 -1
- package/core/runtime/runtime.js +4 -1
- package/core/schemas/Schema.js +4 -1
- package/core/schemas/builders/bigint/bigint.js +13 -9
- package/core/schemas/builders/bigint/index.js +5 -1
- package/core/schemas/builders/date/date.js +14 -10
- package/core/schemas/builders/date/index.js +5 -1
- package/core/schemas/builders/enum/enum.js +11 -7
- package/core/schemas/builders/enum/index.js +5 -1
- package/core/schemas/builders/index.js +30 -14
- package/core/schemas/builders/lazy/index.js +7 -2
- package/core/schemas/builders/lazy/lazy.js +11 -5
- package/core/schemas/builders/lazy/lazyObject.js +11 -7
- package/core/schemas/builders/list/index.js +5 -1
- package/core/schemas/builders/list/list.js +12 -8
- package/core/schemas/builders/literals/booleanLiteral.js +10 -6
- package/core/schemas/builders/literals/index.js +7 -2
- package/core/schemas/builders/literals/stringLiteral.js +10 -6
- package/core/schemas/builders/object/index.js +11 -3
- package/core/schemas/builders/object/object.js +38 -33
- package/core/schemas/builders/object/objectWithoutOptionalProperties.js +7 -3
- package/core/schemas/builders/object/property.js +7 -2
- package/core/schemas/builders/object/types.js +2 -1
- package/core/schemas/builders/object-like/getObjectLikeUtils.js +15 -10
- package/core/schemas/builders/object-like/index.js +6 -1
- package/core/schemas/builders/object-like/types.js +2 -1
- package/core/schemas/builders/primitives/any.js +6 -3
- package/core/schemas/builders/primitives/boolean.js +8 -5
- package/core/schemas/builders/primitives/index.js +13 -5
- package/core/schemas/builders/primitives/number.js +8 -5
- package/core/schemas/builders/primitives/string.js +8 -5
- package/core/schemas/builders/primitives/unknown.js +6 -3
- package/core/schemas/builders/record/index.js +5 -1
- package/core/schemas/builders/record/record.js +18 -14
- package/core/schemas/builders/record/types.js +2 -1
- package/core/schemas/builders/schema-utils/JsonError.js +7 -3
- package/core/schemas/builders/schema-utils/ParseError.js +7 -3
- package/core/schemas/builders/schema-utils/getSchemaUtils.js +15 -9
- package/core/schemas/builders/schema-utils/index.js +11 -3
- package/core/schemas/builders/schema-utils/stringifyValidationErrors.js +5 -1
- package/core/schemas/builders/set/index.js +5 -1
- package/core/schemas/builders/set/set.js +14 -10
- package/core/schemas/builders/undiscriminated-union/index.js +5 -1
- package/core/schemas/builders/undiscriminated-union/types.js +2 -1
- package/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.js +10 -6
- package/core/schemas/builders/union/discriminant.js +5 -1
- package/core/schemas/builders/union/index.js +7 -2
- package/core/schemas/builders/union/types.js +2 -1
- package/core/schemas/builders/union/union.js +18 -14
- package/core/schemas/index.js +17 -1
- package/core/schemas/utils/MaybePromise.js +2 -1
- package/core/schemas/utils/addQuestionMarksToNullableProperties.js +2 -1
- package/core/schemas/utils/createIdentitySchemaCreator.js +8 -4
- package/core/schemas/utils/entries.js +5 -1
- package/core/schemas/utils/filterObject.js +5 -1
- package/core/schemas/utils/getErrorMessageForIncorrectType.js +5 -1
- package/core/schemas/utils/isPlainObject.js +5 -1
- package/core/schemas/utils/keys.js +5 -1
- package/core/schemas/utils/maybeSkipValidation.js +5 -1
- package/core/schemas/utils/partition.js +5 -1
- package/core/streaming-fetcher/Stream.js +9 -4
- package/core/streaming-fetcher/index.js +5 -1
- package/core/websocket/events.js +9 -3
- package/core/websocket/index.js +17 -1
- package/core/websocket/ws.js +33 -6
- package/dist/Client.d.ts +3 -0
- package/dist/Client.js +18 -9
- package/dist/api/index.js +17 -1
- package/dist/api/resources/apiStatus/client/Client.js +33 -6
- package/dist/api/resources/apiStatus/client/index.js +2 -1
- package/dist/api/resources/apiStatus/index.js +18 -2
- package/dist/api/resources/apiStatus/types/ApiInfo.js +2 -1
- package/dist/api/resources/apiStatus/types/index.js +17 -1
- package/dist/api/resources/datasets/client/Client.d.ts +70 -0
- package/dist/api/resources/datasets/client/Client.js +261 -0
- package/dist/api/resources/datasets/client/index.d.ts +1 -0
- package/dist/api/resources/datasets/client/index.js +17 -0
- package/dist/api/resources/datasets/client/requests/UploadDatasetFileRequest.d.ts +11 -0
- package/dist/api/resources/datasets/client/requests/UploadDatasetFileRequest.js +5 -0
- package/dist/api/resources/datasets/client/requests/index.d.ts +1 -0
- package/dist/api/resources/datasets/client/requests/index.js +2 -0
- package/dist/api/resources/datasets/index.d.ts +2 -0
- package/dist/api/resources/datasets/index.js +18 -0
- package/dist/api/resources/datasets/types/CreateDatasetRequest.d.ts +6 -0
- package/dist/api/resources/datasets/types/CreateDatasetRequest.js +5 -0
- package/dist/api/resources/datasets/types/Dataset.d.ts +8 -0
- package/dist/api/resources/datasets/types/Dataset.js +5 -0
- package/dist/api/resources/datasets/types/DatasetFile.d.ts +8 -0
- package/dist/api/resources/datasets/types/DatasetFile.js +5 -0
- package/dist/api/resources/datasets/types/FilePurpose.d.ts +7 -0
- package/dist/api/resources/datasets/types/FilePurpose.js +9 -0
- package/dist/api/resources/datasets/types/PaginatedDatasetFiles.d.ts +8 -0
- package/dist/api/resources/datasets/types/PaginatedDatasetFiles.js +5 -0
- package/dist/api/resources/datasets/types/PaginatedDatasets.d.ts +8 -0
- package/dist/api/resources/datasets/types/PaginatedDatasets.js +5 -0
- package/dist/api/resources/datasets/types/index.d.ts +6 -0
- package/dist/api/resources/datasets/types/index.js +22 -0
- package/dist/api/resources/embedding/index.js +17 -1
- package/dist/api/resources/embedding/types/Embedding.js +2 -1
- package/dist/api/resources/embedding/types/index.js +17 -1
- package/dist/api/resources/index.d.ts +3 -0
- package/dist/api/resources/index.js +44 -12
- package/dist/api/resources/tts/client/Client.js +40 -10
- package/dist/api/resources/tts/client/index.js +2 -1
- package/dist/api/resources/tts/index.js +18 -2
- package/dist/api/resources/tts/types/CancelContextRequest.js +2 -1
- package/dist/api/resources/tts/types/ContextId.js +2 -1
- package/dist/api/resources/tts/types/Controls.js +2 -1
- package/dist/api/resources/tts/types/Emotion.js +4 -1
- package/dist/api/resources/tts/types/GenerationRequest.js +2 -1
- package/dist/api/resources/tts/types/Mp3OutputFormat.js +2 -1
- package/dist/api/resources/tts/types/NaturalSpecifier.js +4 -1
- package/dist/api/resources/tts/types/NumericalSpecifier.js +2 -1
- package/dist/api/resources/tts/types/OutputFormat.js +2 -1
- package/dist/api/resources/tts/types/RawEncoding.js +4 -1
- package/dist/api/resources/tts/types/RawOutputFormat.js +2 -1
- package/dist/api/resources/tts/types/Speed.js +2 -1
- package/dist/api/resources/tts/types/SupportedLanguage.js +4 -1
- package/dist/api/resources/tts/types/TtsRequest.js +2 -1
- package/dist/api/resources/tts/types/TtsRequestEmbeddingSpecifier.js +2 -1
- package/dist/api/resources/tts/types/TtsRequestIdSpecifier.js +2 -1
- package/dist/api/resources/tts/types/TtsRequestVoiceSpecifier.js +2 -1
- package/dist/api/resources/tts/types/WavOutputFormat.js +2 -1
- package/dist/api/resources/tts/types/WebSocketBaseResponse.js +2 -1
- package/dist/api/resources/tts/types/WebSocketChunkResponse.js +2 -1
- package/dist/api/resources/tts/types/WebSocketDoneResponse.js +2 -1
- package/dist/api/resources/tts/types/WebSocketErrorResponse.js +2 -1
- package/dist/api/resources/tts/types/WebSocketRawOutputFormat.js +2 -1
- package/dist/api/resources/tts/types/WebSocketRequest.js +2 -1
- package/dist/api/resources/tts/types/WebSocketResponse.js +2 -1
- package/dist/api/resources/tts/types/WebSocketStreamOptions.js +2 -1
- package/dist/api/resources/tts/types/WebSocketTimestampsResponse.js +2 -1
- package/dist/api/resources/tts/types/WebSocketTtsOutput.js +2 -1
- package/dist/api/resources/tts/types/WebSocketTtsRequest.js +2 -1
- package/dist/api/resources/tts/types/WordTimestamps.js +2 -1
- package/dist/api/resources/tts/types/index.js +46 -30
- package/dist/api/resources/voiceChanger/client/Client.js +40 -10
- package/dist/api/resources/voiceChanger/client/index.js +17 -1
- package/dist/api/resources/voiceChanger/client/requests/VoiceChangerBytesRequest.js +2 -1
- package/dist/api/resources/voiceChanger/client/requests/VoiceChangerSseRequest.js +2 -1
- package/dist/api/resources/voiceChanger/client/requests/index.js +2 -1
- package/dist/api/resources/voiceChanger/index.js +18 -2
- package/dist/api/resources/voiceChanger/types/OutputFormatContainer.js +4 -1
- package/dist/api/resources/voiceChanger/types/StreamingResponse.js +2 -1
- package/dist/api/resources/voiceChanger/types/index.js +18 -2
- package/dist/api/resources/voices/client/Client.js +52 -22
- package/dist/api/resources/voices/client/index.js +17 -1
- package/dist/api/resources/voices/client/requests/CloneVoiceRequest.js +2 -1
- package/dist/api/resources/voices/client/requests/index.js +2 -1
- package/dist/api/resources/voices/index.js +18 -2
- package/dist/api/resources/voices/types/BaseVoiceId.js +2 -1
- package/dist/api/resources/voices/types/CloneMode.js +4 -1
- package/dist/api/resources/voices/types/CreateVoiceRequest.js +2 -1
- package/dist/api/resources/voices/types/EmbeddingResponse.js +2 -1
- package/dist/api/resources/voices/types/EmbeddingSpecifier.js +2 -1
- package/dist/api/resources/voices/types/Gender.js +4 -1
- package/dist/api/resources/voices/types/IdSpecifier.js +2 -1
- package/dist/api/resources/voices/types/LocalizeDialect.d.ts +11 -11
- package/dist/api/resources/voices/types/LocalizeDialect.js +2 -7
- package/dist/api/resources/voices/types/LocalizeEnglishDialect.d.ts +11 -0
- package/dist/api/resources/voices/types/LocalizeEnglishDialect.js +13 -0
- package/dist/api/resources/voices/types/LocalizeTargetLanguage.js +4 -1
- package/dist/api/resources/voices/types/LocalizeVoiceRequest.js +2 -1
- package/dist/api/resources/voices/types/MixVoiceSpecifier.js +2 -1
- package/dist/api/resources/voices/types/MixVoicesRequest.js +2 -1
- package/dist/api/resources/voices/types/UpdateVoiceRequest.js +2 -1
- package/dist/api/resources/voices/types/Voice.js +2 -1
- package/dist/api/resources/voices/types/VoiceId.js +2 -1
- package/dist/api/resources/voices/types/VoiceMetadata.js +2 -1
- package/dist/api/resources/voices/types/Weight.js +2 -1
- package/dist/api/resources/voices/types/index.d.ts +1 -0
- package/dist/api/resources/voices/types/index.js +34 -17
- package/dist/core/fetcher/APIResponse.js +2 -1
- package/dist/core/fetcher/Fetcher.js +18 -14
- package/dist/core/fetcher/Supplier.js +4 -1
- package/dist/core/fetcher/createRequestUrl.js +10 -3
- package/dist/core/fetcher/getFetchFn.js +33 -6
- package/dist/core/fetcher/getHeader.js +5 -1
- package/dist/core/fetcher/getRequestBody.js +5 -1
- package/dist/core/fetcher/getResponseBody.js +7 -3
- package/dist/core/fetcher/index.js +9 -3
- package/dist/core/fetcher/makeRequest.js +8 -4
- package/dist/core/fetcher/requestWithRetries.js +5 -1
- package/dist/core/fetcher/signals.js +7 -2
- package/dist/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.js +5 -1
- package/dist/core/fetcher/stream-wrappers/NodePre18StreamWrapper.js +5 -1
- package/dist/core/fetcher/stream-wrappers/UndiciStreamWrapper.js +5 -1
- package/dist/core/fetcher/stream-wrappers/chooseStreamWrapper.js +34 -7
- package/dist/core/form-data-utils/FormDataWrapper.js +41 -11
- package/dist/core/form-data-utils/index.js +17 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +34 -5
- package/dist/core/runtime/index.js +5 -1
- package/dist/core/runtime/runtime.js +4 -1
- package/dist/core/schemas/Schema.js +4 -1
- package/dist/core/schemas/builders/bigint/bigint.js +13 -9
- package/dist/core/schemas/builders/bigint/index.js +5 -1
- package/dist/core/schemas/builders/date/date.js +14 -10
- package/dist/core/schemas/builders/date/index.js +5 -1
- package/dist/core/schemas/builders/enum/enum.js +11 -7
- package/dist/core/schemas/builders/enum/index.js +5 -1
- package/dist/core/schemas/builders/index.js +30 -14
- package/dist/core/schemas/builders/lazy/index.js +7 -2
- package/dist/core/schemas/builders/lazy/lazy.js +11 -5
- package/dist/core/schemas/builders/lazy/lazyObject.js +11 -7
- package/dist/core/schemas/builders/list/index.js +5 -1
- package/dist/core/schemas/builders/list/list.js +12 -8
- package/dist/core/schemas/builders/literals/booleanLiteral.js +10 -6
- package/dist/core/schemas/builders/literals/index.js +7 -2
- package/dist/core/schemas/builders/literals/stringLiteral.js +10 -6
- package/dist/core/schemas/builders/object/index.js +11 -3
- package/dist/core/schemas/builders/object/object.js +38 -33
- package/dist/core/schemas/builders/object/objectWithoutOptionalProperties.js +7 -3
- package/dist/core/schemas/builders/object/property.js +7 -2
- package/dist/core/schemas/builders/object/types.js +2 -1
- package/dist/core/schemas/builders/object-like/getObjectLikeUtils.js +15 -10
- package/dist/core/schemas/builders/object-like/index.js +6 -1
- package/dist/core/schemas/builders/object-like/types.js +2 -1
- package/dist/core/schemas/builders/primitives/any.js +6 -3
- package/dist/core/schemas/builders/primitives/boolean.js +8 -5
- package/dist/core/schemas/builders/primitives/index.js +13 -5
- package/dist/core/schemas/builders/primitives/number.js +8 -5
- package/dist/core/schemas/builders/primitives/string.js +8 -5
- package/dist/core/schemas/builders/primitives/unknown.js +6 -3
- package/dist/core/schemas/builders/record/index.js +5 -1
- package/dist/core/schemas/builders/record/record.js +18 -14
- package/dist/core/schemas/builders/record/types.js +2 -1
- package/dist/core/schemas/builders/schema-utils/JsonError.js +7 -3
- package/dist/core/schemas/builders/schema-utils/ParseError.js +7 -3
- package/dist/core/schemas/builders/schema-utils/getSchemaUtils.js +15 -9
- package/dist/core/schemas/builders/schema-utils/index.js +11 -3
- package/dist/core/schemas/builders/schema-utils/stringifyValidationErrors.js +5 -1
- package/dist/core/schemas/builders/set/index.js +5 -1
- package/dist/core/schemas/builders/set/set.js +14 -10
- package/dist/core/schemas/builders/undiscriminated-union/index.js +5 -1
- package/dist/core/schemas/builders/undiscriminated-union/types.js +2 -1
- package/dist/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.js +10 -6
- package/dist/core/schemas/builders/union/discriminant.js +5 -1
- package/dist/core/schemas/builders/union/index.js +7 -2
- package/dist/core/schemas/builders/union/types.js +2 -1
- package/dist/core/schemas/builders/union/union.js +18 -14
- package/dist/core/schemas/index.js +17 -1
- package/dist/core/schemas/utils/MaybePromise.js +2 -1
- package/dist/core/schemas/utils/addQuestionMarksToNullableProperties.js +2 -1
- package/dist/core/schemas/utils/createIdentitySchemaCreator.js +8 -4
- package/dist/core/schemas/utils/entries.js +5 -1
- package/dist/core/schemas/utils/filterObject.js +5 -1
- package/dist/core/schemas/utils/getErrorMessageForIncorrectType.js +5 -1
- package/dist/core/schemas/utils/isPlainObject.js +5 -1
- package/dist/core/schemas/utils/keys.js +5 -1
- package/dist/core/schemas/utils/maybeSkipValidation.js +5 -1
- package/dist/core/schemas/utils/partition.js +5 -1
- package/dist/core/streaming-fetcher/Stream.js +9 -4
- package/dist/core/streaming-fetcher/index.js +5 -1
- package/dist/core/websocket/events.js +9 -3
- package/dist/core/websocket/index.js +17 -1
- package/dist/core/websocket/ws.js +33 -6
- package/dist/environments.js +4 -1
- package/dist/errors/CartesiaError.js +5 -1
- package/dist/errors/CartesiaTimeoutError.js +5 -1
- package/dist/errors/index.js +7 -2
- package/dist/index.js +34 -4
- package/dist/serialization/index.js +17 -1
- package/dist/serialization/resources/apiStatus/index.js +17 -1
- package/dist/serialization/resources/apiStatus/types/ApiInfo.js +28 -2
- package/dist/serialization/resources/apiStatus/types/index.js +17 -1
- package/dist/serialization/resources/datasets/index.d.ts +1 -0
- package/dist/serialization/resources/datasets/index.js +17 -0
- package/dist/serialization/resources/datasets/types/CreateDatasetRequest.d.ts +12 -0
- package/dist/serialization/resources/datasets/types/CreateDatasetRequest.js +33 -0
- package/dist/serialization/resources/datasets/types/Dataset.d.ts +14 -0
- package/dist/serialization/resources/datasets/types/Dataset.js +35 -0
- package/dist/serialization/resources/datasets/types/DatasetFile.d.ts +14 -0
- package/dist/serialization/resources/datasets/types/DatasetFile.js +35 -0
- package/dist/serialization/resources/datasets/types/FilePurpose.d.ts +10 -0
- package/dist/serialization/resources/datasets/types/FilePurpose.js +31 -0
- package/dist/serialization/resources/datasets/types/PaginatedDatasetFiles.d.ts +14 -0
- package/dist/serialization/resources/datasets/types/PaginatedDatasetFiles.js +35 -0
- package/dist/serialization/resources/datasets/types/PaginatedDatasets.d.ts +14 -0
- package/dist/serialization/resources/datasets/types/PaginatedDatasets.js +35 -0
- package/dist/serialization/resources/datasets/types/index.d.ts +6 -0
- package/dist/serialization/resources/datasets/types/index.js +22 -0
- package/dist/serialization/resources/embedding/index.js +17 -1
- package/dist/serialization/resources/embedding/types/Embedding.js +28 -2
- package/dist/serialization/resources/embedding/types/index.js +17 -1
- package/dist/serialization/resources/index.d.ts +2 -0
- package/dist/serialization/resources/index.js +41 -10
- package/dist/serialization/resources/tts/index.js +17 -1
- package/dist/serialization/resources/tts/types/CancelContextRequest.js +30 -4
- package/dist/serialization/resources/tts/types/ContextId.js +28 -2
- package/dist/serialization/resources/tts/types/Controls.js +32 -6
- package/dist/serialization/resources/tts/types/Emotion.js +28 -2
- package/dist/serialization/resources/tts/types/GenerationRequest.js +36 -10
- package/dist/serialization/resources/tts/types/Mp3OutputFormat.js +28 -2
- package/dist/serialization/resources/tts/types/NaturalSpecifier.js +28 -2
- package/dist/serialization/resources/tts/types/NumericalSpecifier.js +28 -2
- package/dist/serialization/resources/tts/types/OutputFormat.js +34 -8
- package/dist/serialization/resources/tts/types/RawEncoding.js +28 -2
- package/dist/serialization/resources/tts/types/RawOutputFormat.js +30 -4
- package/dist/serialization/resources/tts/types/Speed.js +30 -4
- package/dist/serialization/resources/tts/types/SupportedLanguage.js +28 -2
- package/dist/serialization/resources/tts/types/TtsRequest.js +34 -8
- package/dist/serialization/resources/tts/types/TtsRequestEmbeddingSpecifier.js +32 -6
- package/dist/serialization/resources/tts/types/TtsRequestIdSpecifier.js +32 -6
- package/dist/serialization/resources/tts/types/TtsRequestVoiceSpecifier.js +30 -4
- package/dist/serialization/resources/tts/types/WavOutputFormat.js +29 -3
- package/dist/serialization/resources/tts/types/WebSocketBaseResponse.js +30 -4
- package/dist/serialization/resources/tts/types/WebSocketChunkResponse.js +30 -4
- package/dist/serialization/resources/tts/types/WebSocketDoneResponse.js +29 -3
- package/dist/serialization/resources/tts/types/WebSocketErrorResponse.js +30 -4
- package/dist/serialization/resources/tts/types/WebSocketRawOutputFormat.js +30 -4
- package/dist/serialization/resources/tts/types/WebSocketRequest.js +30 -4
- package/dist/serialization/resources/tts/types/WebSocketResponse.js +36 -10
- package/dist/serialization/resources/tts/types/WebSocketStreamOptions.js +28 -2
- package/dist/serialization/resources/tts/types/WebSocketTimestampsResponse.js +32 -6
- package/dist/serialization/resources/tts/types/WebSocketTtsOutput.js +32 -6
- package/dist/serialization/resources/tts/types/WebSocketTtsRequest.js +32 -6
- package/dist/serialization/resources/tts/types/WordTimestamps.js +28 -2
- package/dist/serialization/resources/tts/types/index.js +46 -30
- package/dist/serialization/resources/voiceChanger/index.js +17 -1
- package/dist/serialization/resources/voiceChanger/types/OutputFormatContainer.js +28 -2
- package/dist/serialization/resources/voiceChanger/types/StreamingResponse.js +34 -8
- package/dist/serialization/resources/voiceChanger/types/index.js +18 -2
- package/dist/serialization/resources/voices/client/index.js +27 -1
- package/dist/serialization/resources/voices/client/list.js +29 -3
- package/dist/serialization/resources/voices/index.js +18 -2
- package/dist/serialization/resources/voices/types/BaseVoiceId.js +5 -2
- package/dist/serialization/resources/voices/types/CloneMode.js +28 -2
- package/dist/serialization/resources/voices/types/CreateVoiceRequest.js +34 -8
- package/dist/serialization/resources/voices/types/EmbeddingResponse.js +30 -4
- package/dist/serialization/resources/voices/types/EmbeddingSpecifier.js +32 -6
- package/dist/serialization/resources/voices/types/Gender.js +28 -2
- package/dist/serialization/resources/voices/types/IdSpecifier.js +32 -6
- package/dist/serialization/resources/voices/types/LocalizeDialect.d.ts +2 -1
- package/dist/serialization/resources/voices/types/LocalizeDialect.js +29 -2
- package/dist/serialization/resources/voices/types/LocalizeEnglishDialect.d.ts +10 -0
- package/dist/serialization/resources/voices/types/LocalizeEnglishDialect.js +31 -0
- package/dist/serialization/resources/voices/types/LocalizeTargetLanguage.js +28 -2
- package/dist/serialization/resources/voices/types/LocalizeVoiceRequest.js +36 -10
- package/dist/serialization/resources/voices/types/MixVoiceSpecifier.js +30 -4
- package/dist/serialization/resources/voices/types/MixVoicesRequest.js +30 -4
- package/dist/serialization/resources/voices/types/UpdateVoiceRequest.js +28 -2
- package/dist/serialization/resources/voices/types/Voice.js +36 -10
- package/dist/serialization/resources/voices/types/VoiceId.js +28 -2
- package/dist/serialization/resources/voices/types/VoiceMetadata.js +32 -6
- package/dist/serialization/resources/voices/types/Weight.js +28 -2
- package/dist/serialization/resources/voices/types/index.d.ts +1 -0
- package/dist/serialization/resources/voices/types/index.js +34 -17
- package/dist/version.d.ts +1 -1
- package/dist/version.js +4 -1
- package/dist/wrapper/Client.js +8 -4
- package/dist/wrapper/StreamingTTSClient.js +11 -4
- package/dist/wrapper/WebPlayer.js +7 -3
- package/dist/wrapper/Websocket.d.ts +7 -24
- package/dist/wrapper/Websocket.js +101 -71
- package/dist/wrapper/source.d.ts +5 -4
- package/dist/wrapper/source.js +12 -6
- package/dist/wrapper/utils.js +28 -13
- package/environments.js +4 -1
- package/errors/CartesiaError.js +5 -1
- package/errors/CartesiaTimeoutError.js +5 -1
- package/errors/index.js +7 -2
- package/index.js +34 -4
- package/package.json +2 -2
- package/reference.md +204 -0
- package/serialization/index.js +17 -1
- package/serialization/resources/apiStatus/index.js +17 -1
- package/serialization/resources/apiStatus/types/ApiInfo.js +28 -2
- package/serialization/resources/apiStatus/types/index.js +17 -1
- package/serialization/resources/datasets/index.d.ts +1 -0
- package/serialization/resources/datasets/index.js +17 -0
- package/serialization/resources/datasets/types/CreateDatasetRequest.d.ts +12 -0
- package/serialization/resources/datasets/types/CreateDatasetRequest.js +33 -0
- package/serialization/resources/datasets/types/Dataset.d.ts +14 -0
- package/serialization/resources/datasets/types/Dataset.js +35 -0
- package/serialization/resources/datasets/types/DatasetFile.d.ts +14 -0
- package/serialization/resources/datasets/types/DatasetFile.js +35 -0
- package/serialization/resources/datasets/types/FilePurpose.d.ts +10 -0
- package/serialization/resources/datasets/types/FilePurpose.js +31 -0
- package/serialization/resources/datasets/types/PaginatedDatasetFiles.d.ts +14 -0
- package/serialization/resources/datasets/types/PaginatedDatasetFiles.js +35 -0
- package/serialization/resources/datasets/types/PaginatedDatasets.d.ts +14 -0
- package/serialization/resources/datasets/types/PaginatedDatasets.js +35 -0
- package/serialization/resources/datasets/types/index.d.ts +6 -0
- package/serialization/resources/datasets/types/index.js +22 -0
- package/serialization/resources/embedding/index.js +17 -1
- package/serialization/resources/embedding/types/Embedding.js +28 -2
- package/serialization/resources/embedding/types/index.js +17 -1
- package/serialization/resources/index.d.ts +2 -0
- package/serialization/resources/index.js +41 -10
- package/serialization/resources/tts/index.js +17 -1
- package/serialization/resources/tts/types/CancelContextRequest.js +30 -4
- package/serialization/resources/tts/types/ContextId.js +28 -2
- package/serialization/resources/tts/types/Controls.js +32 -6
- package/serialization/resources/tts/types/Emotion.js +28 -2
- package/serialization/resources/tts/types/GenerationRequest.js +36 -10
- package/serialization/resources/tts/types/Mp3OutputFormat.js +28 -2
- package/serialization/resources/tts/types/NaturalSpecifier.js +28 -2
- package/serialization/resources/tts/types/NumericalSpecifier.js +28 -2
- package/serialization/resources/tts/types/OutputFormat.js +34 -8
- package/serialization/resources/tts/types/RawEncoding.js +28 -2
- package/serialization/resources/tts/types/RawOutputFormat.js +30 -4
- package/serialization/resources/tts/types/Speed.js +30 -4
- package/serialization/resources/tts/types/SupportedLanguage.js +28 -2
- package/serialization/resources/tts/types/TtsRequest.js +34 -8
- package/serialization/resources/tts/types/TtsRequestEmbeddingSpecifier.js +32 -6
- package/serialization/resources/tts/types/TtsRequestIdSpecifier.js +32 -6
- package/serialization/resources/tts/types/TtsRequestVoiceSpecifier.js +30 -4
- package/serialization/resources/tts/types/WavOutputFormat.js +29 -3
- package/serialization/resources/tts/types/WebSocketBaseResponse.js +30 -4
- package/serialization/resources/tts/types/WebSocketChunkResponse.js +30 -4
- package/serialization/resources/tts/types/WebSocketDoneResponse.js +29 -3
- package/serialization/resources/tts/types/WebSocketErrorResponse.js +30 -4
- package/serialization/resources/tts/types/WebSocketRawOutputFormat.js +30 -4
- package/serialization/resources/tts/types/WebSocketRequest.js +30 -4
- package/serialization/resources/tts/types/WebSocketResponse.js +36 -10
- package/serialization/resources/tts/types/WebSocketStreamOptions.js +28 -2
- package/serialization/resources/tts/types/WebSocketTimestampsResponse.js +32 -6
- package/serialization/resources/tts/types/WebSocketTtsOutput.js +32 -6
- package/serialization/resources/tts/types/WebSocketTtsRequest.js +32 -6
- package/serialization/resources/tts/types/WordTimestamps.js +28 -2
- package/serialization/resources/tts/types/index.js +46 -30
- package/serialization/resources/voiceChanger/index.js +17 -1
- package/serialization/resources/voiceChanger/types/OutputFormatContainer.js +28 -2
- package/serialization/resources/voiceChanger/types/StreamingResponse.js +34 -8
- package/serialization/resources/voiceChanger/types/index.js +18 -2
- package/serialization/resources/voices/client/index.js +27 -1
- package/serialization/resources/voices/client/list.js +29 -3
- package/serialization/resources/voices/index.js +18 -2
- package/serialization/resources/voices/types/BaseVoiceId.js +5 -2
- package/serialization/resources/voices/types/CloneMode.js +28 -2
- package/serialization/resources/voices/types/CreateVoiceRequest.js +34 -8
- package/serialization/resources/voices/types/EmbeddingResponse.js +30 -4
- package/serialization/resources/voices/types/EmbeddingSpecifier.js +32 -6
- package/serialization/resources/voices/types/Gender.js +28 -2
- package/serialization/resources/voices/types/IdSpecifier.js +32 -6
- package/serialization/resources/voices/types/LocalizeDialect.d.ts +2 -1
- package/serialization/resources/voices/types/LocalizeDialect.js +29 -2
- package/serialization/resources/voices/types/LocalizeEnglishDialect.d.ts +10 -0
- package/serialization/resources/voices/types/LocalizeEnglishDialect.js +31 -0
- package/serialization/resources/voices/types/LocalizeTargetLanguage.js +28 -2
- package/serialization/resources/voices/types/LocalizeVoiceRequest.js +36 -10
- package/serialization/resources/voices/types/MixVoiceSpecifier.js +30 -4
- package/serialization/resources/voices/types/MixVoicesRequest.js +30 -4
- package/serialization/resources/voices/types/UpdateVoiceRequest.js +28 -2
- package/serialization/resources/voices/types/Voice.js +36 -10
- package/serialization/resources/voices/types/VoiceId.js +28 -2
- package/serialization/resources/voices/types/VoiceMetadata.js +32 -6
- package/serialization/resources/voices/types/Weight.js +28 -2
- package/serialization/resources/voices/types/index.d.ts +1 -0
- package/serialization/resources/voices/types/index.js +34 -17
- package/version.d.ts +1 -1
- package/version.js +4 -1
- package/wrapper/Client.js +8 -4
- package/wrapper/StreamingTTSClient.js +11 -4
- package/wrapper/WebPlayer.js +7 -3
- package/wrapper/Websocket.d.ts +7 -24
- package/wrapper/Websocket.js +101 -71
- package/wrapper/source.d.ts +5 -4
- package/wrapper/source.js +12 -6
- package/wrapper/utils.js +28 -13
package/wrapper/Websocket.js
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
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 (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
1
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -18,17 +42,21 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
18
42
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
19
43
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
20
44
|
};
|
|
45
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
46
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
47
|
+
};
|
|
21
48
|
var _Websocket_instances, _Websocket_isConnected, _Websocket_sampleRate, _Websocket_container, _Websocket_encoding, _Websocket_generateId;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
const core = __importStar(require("../core"));
|
|
51
|
+
const environments = __importStar(require("../environments"));
|
|
52
|
+
const serializers = __importStar(require("../serialization"));
|
|
53
|
+
const emittery_1 = __importDefault(require("emittery"));
|
|
54
|
+
const human_id_1 = require("human-id");
|
|
55
|
+
const websocket_1 = require("../core/websocket");
|
|
56
|
+
const utils_1 = require("./utils");
|
|
57
|
+
const source_1 = __importDefault(require("./source"));
|
|
58
|
+
const qs_1 = __importDefault(require("qs"));
|
|
59
|
+
class Websocket {
|
|
32
60
|
constructor({ sampleRate, container, encoding }, options) {
|
|
33
61
|
this.options = options;
|
|
34
62
|
_Websocket_instances.add(this);
|
|
@@ -49,69 +77,70 @@ export default class Websocket {
|
|
|
49
77
|
* If set to `0`, the stream will not time out.
|
|
50
78
|
* @returns A Source object that can be passed to a Player to play the audio.
|
|
51
79
|
* @returns An Emittery instance that emits messages from the WebSocket.
|
|
52
|
-
* @returns An abort function that can be called to cancel the stream.
|
|
53
80
|
*/
|
|
54
81
|
send(inputs, { timeout = 0 } = {}) {
|
|
55
82
|
var _a, _b, _c, _d;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
if (!inputs.contextId) {
|
|
60
|
-
inputs.contextId = __classPrivateFieldGet(this, _Websocket_instances, "m", _Websocket_generateId).call(this);
|
|
61
|
-
}
|
|
62
|
-
if (!inputs.outputFormat) {
|
|
63
|
-
inputs.outputFormat = resolveOutputFormat(__classPrivateFieldGet(this, _Websocket_container, "f"), __classPrivateFieldGet(this, _Websocket_encoding, "f"), __classPrivateFieldGet(this, _Websocket_sampleRate, "f"));
|
|
64
|
-
}
|
|
65
|
-
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.send(JSON.stringify(serializers.WebSocketTtsRequest.jsonOrThrow(inputs, { unrecognizedObjectKeys: "strip" })));
|
|
66
|
-
const emitter = new Emittery();
|
|
67
|
-
const source = new Source({
|
|
68
|
-
sampleRate: __classPrivateFieldGet(this, _Websocket_sampleRate, "f"),
|
|
69
|
-
encoding: __classPrivateFieldGet(this, _Websocket_encoding, "f"),
|
|
70
|
-
container: __classPrivateFieldGet(this, _Websocket_container, "f"),
|
|
71
|
-
});
|
|
72
|
-
// Used to signal that the stream is complete, either because the
|
|
73
|
-
// WebSocket has closed, or because the stream has finished.
|
|
74
|
-
const streamCompleteController = new AbortController();
|
|
75
|
-
// Set a timeout.
|
|
76
|
-
let timeoutId = null;
|
|
77
|
-
if (timeout > 0) {
|
|
78
|
-
timeoutId = setTimeout(streamCompleteController.abort, timeout);
|
|
79
|
-
}
|
|
80
|
-
const handleMessage = createMessageHandlerForContextId(inputs.contextId, ({ chunk, message, data }) => __awaiter(this, void 0, void 0, function* () {
|
|
81
|
-
emitter.emit("message", message);
|
|
82
|
-
if (data.type === "timestamps" && data.wordTimestamps) {
|
|
83
|
-
emitter.emit("timestamps", data.wordTimestamps);
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
if (isSentinel(chunk)) {
|
|
87
|
-
yield source.close();
|
|
88
|
-
streamCompleteController.abort();
|
|
89
|
-
return;
|
|
83
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
if (!__classPrivateFieldGet(this, _Websocket_isConnected, "f")) {
|
|
85
|
+
throw new Error("Not connected to WebSocket. Call .connect() first.");
|
|
90
86
|
}
|
|
91
|
-
if (
|
|
92
|
-
|
|
93
|
-
timeoutId = setTimeout(streamCompleteController.abort, timeout);
|
|
87
|
+
if (!inputs.contextId) {
|
|
88
|
+
inputs.contextId = __classPrivateFieldGet(this, _Websocket_instances, "m", _Websocket_generateId).call(this);
|
|
94
89
|
}
|
|
95
|
-
if (!
|
|
96
|
-
|
|
90
|
+
if (!inputs.outputFormat) {
|
|
91
|
+
inputs.outputFormat = (0, utils_1.resolveOutputFormat)(__classPrivateFieldGet(this, _Websocket_container, "f"), __classPrivateFieldGet(this, _Websocket_encoding, "f"), __classPrivateFieldGet(this, _Websocket_sampleRate, "f"));
|
|
97
92
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
93
|
+
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.send(JSON.stringify(serializers.WebSocketTtsRequest.jsonOrThrow(inputs, { unrecognizedObjectKeys: "strip" })));
|
|
94
|
+
const emitter = new emittery_1.default();
|
|
95
|
+
const source = new source_1.default({
|
|
96
|
+
sampleRate: __classPrivateFieldGet(this, _Websocket_sampleRate, "f"),
|
|
97
|
+
encoding: __classPrivateFieldGet(this, _Websocket_encoding, "f"),
|
|
98
|
+
container: __classPrivateFieldGet(this, _Websocket_container, "f"),
|
|
99
|
+
});
|
|
100
|
+
// Used to signal that the stream is complete, either because the
|
|
101
|
+
// WebSocket has closed, or because the stream has finished.
|
|
102
|
+
const streamCompleteController = new AbortController();
|
|
103
|
+
// Set a timeout.
|
|
104
|
+
let timeoutId = null;
|
|
105
|
+
if (timeout > 0) {
|
|
106
|
+
timeoutId = setTimeout(streamCompleteController.abort, timeout);
|
|
111
107
|
}
|
|
112
|
-
|
|
108
|
+
const handleMessage = (0, utils_1.createMessageHandlerForContextId)(inputs.contextId, ({ chunk, message, data }) => __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
emitter.emit("message", message);
|
|
110
|
+
if (data.type === "timestamps" && data.wordTimestamps) {
|
|
111
|
+
emitter.emit("timestamps", data.wordTimestamps);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if ((0, utils_1.isSentinel)(chunk)) {
|
|
115
|
+
yield source.close();
|
|
116
|
+
streamCompleteController.abort();
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (timeoutId) {
|
|
120
|
+
clearTimeout(timeoutId);
|
|
121
|
+
timeoutId = setTimeout(streamCompleteController.abort, timeout);
|
|
122
|
+
}
|
|
123
|
+
if (!chunk) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
yield source.enqueue((0, utils_1.base64ToArray)([chunk], __classPrivateFieldGet(this, _Websocket_encoding, "f")));
|
|
127
|
+
}));
|
|
128
|
+
(_b = this.socket) === null || _b === void 0 ? void 0 : _b.addEventListener("message", handleMessage);
|
|
129
|
+
(_c = this.socket) === null || _c === void 0 ? void 0 : _c.addEventListener("close", () => {
|
|
130
|
+
streamCompleteController.abort();
|
|
131
|
+
});
|
|
132
|
+
(_d = this.socket) === null || _d === void 0 ? void 0 : _d.addEventListener("error", () => {
|
|
133
|
+
streamCompleteController.abort();
|
|
134
|
+
});
|
|
135
|
+
streamCompleteController.signal.addEventListener("abort", () => {
|
|
136
|
+
source.close();
|
|
137
|
+
if (timeoutId) {
|
|
138
|
+
clearTimeout(timeoutId);
|
|
139
|
+
}
|
|
140
|
+
emitter.clearListeners();
|
|
141
|
+
});
|
|
142
|
+
return Object.assign(Object.assign({ source }, (0, utils_1.getEmitteryCallbacks)(emitter)), { stop: streamCompleteController.abort.bind(streamCompleteController) });
|
|
113
143
|
});
|
|
114
|
-
return Object.assign(Object.assign({ source }, getEmitteryCallbacks(emitter)), { stop: streamCompleteController.abort.bind(streamCompleteController) });
|
|
115
144
|
}
|
|
116
145
|
continue(inputs) {
|
|
117
146
|
var _a;
|
|
@@ -122,7 +151,7 @@ export default class Websocket {
|
|
|
122
151
|
throw new Error("context_id is required to continue a context.");
|
|
123
152
|
}
|
|
124
153
|
if (!inputs.outputFormat) {
|
|
125
|
-
inputs.outputFormat = resolveOutputFormat(__classPrivateFieldGet(this, _Websocket_container, "f"), __classPrivateFieldGet(this, _Websocket_encoding, "f"), __classPrivateFieldGet(this, _Websocket_sampleRate, "f"));
|
|
154
|
+
inputs.outputFormat = (0, utils_1.resolveOutputFormat)(__classPrivateFieldGet(this, _Websocket_container, "f"), __classPrivateFieldGet(this, _Websocket_encoding, "f"), __classPrivateFieldGet(this, _Websocket_sampleRate, "f"));
|
|
126
155
|
}
|
|
127
156
|
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.send(JSON.stringify(Object.assign({ continue: true }, serializers.WebSocketTtsRequest.jsonOrThrow(inputs, { unrecognizedObjectKeys: "strip" }))));
|
|
128
157
|
}
|
|
@@ -137,15 +166,15 @@ export default class Websocket {
|
|
|
137
166
|
if (__classPrivateFieldGet(this, _Websocket_isConnected, "f")) {
|
|
138
167
|
throw new Error("WebSocket is already connected.");
|
|
139
168
|
}
|
|
140
|
-
const emitter = new
|
|
141
|
-
this.socket = new ReconnectingWebSocket(() => __awaiter(this, void 0, void 0, function* () {
|
|
169
|
+
const emitter = new emittery_1.default();
|
|
170
|
+
this.socket = new websocket_1.ReconnectingWebSocket(() => __awaiter(this, void 0, void 0, function* () {
|
|
142
171
|
var _a;
|
|
143
172
|
const baseUrl = ((_a = (yield core.Supplier.get(this.options.environment))) !== null && _a !== void 0 ? _a : environments.CartesiaEnvironment.Production).replace(/^https?:\/\//, "");
|
|
144
173
|
const params = {
|
|
145
174
|
api_key: this.options.apiKey,
|
|
146
175
|
cartesia_version: this.options.cartesiaVersion,
|
|
147
176
|
};
|
|
148
|
-
return `wss://${baseUrl}/tts/websocket${
|
|
177
|
+
return `wss://${baseUrl}/tts/websocket${qs_1.default.stringify(params, { addQueryPrefix: true })}`;
|
|
149
178
|
}), undefined, options);
|
|
150
179
|
this.socket.reconnect();
|
|
151
180
|
this.socket.onopen = () => {
|
|
@@ -159,7 +188,7 @@ export default class Websocket {
|
|
|
159
188
|
return new Promise((resolve, reject) => {
|
|
160
189
|
var _a, _b, _c;
|
|
161
190
|
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.addEventListener("open", () => {
|
|
162
|
-
resolve(getEmitteryCallbacks(emitter));
|
|
191
|
+
resolve((0, utils_1.getEmitteryCallbacks)(emitter));
|
|
163
192
|
});
|
|
164
193
|
const aborter = new AbortController();
|
|
165
194
|
(_b = this.socket) === null || _b === void 0 ? void 0 : _b.addEventListener("error", () => {
|
|
@@ -181,8 +210,9 @@ export default class Websocket {
|
|
|
181
210
|
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.close();
|
|
182
211
|
}
|
|
183
212
|
}
|
|
213
|
+
exports.default = Websocket;
|
|
184
214
|
_Websocket_isConnected = new WeakMap(), _Websocket_sampleRate = new WeakMap(), _Websocket_container = new WeakMap(), _Websocket_encoding = new WeakMap(), _Websocket_instances = new WeakSet(), _Websocket_generateId = function _Websocket_generateId() {
|
|
185
|
-
return humanId({
|
|
215
|
+
return (0, human_id_1.humanId)({
|
|
186
216
|
separator: "-",
|
|
187
217
|
capitalize: false,
|
|
188
218
|
});
|
package/wrapper/source.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
import Emittery from "emittery";
|
|
1
2
|
import { RawEncoding } from "../api";
|
|
2
3
|
import { SourceEventData, TypedArray } from "./utils";
|
|
3
4
|
export default class Source {
|
|
4
5
|
#private;
|
|
5
|
-
on: <
|
|
6
|
-
once: <
|
|
7
|
-
events: <
|
|
8
|
-
off: <
|
|
6
|
+
on: Emittery<SourceEventData>["on"];
|
|
7
|
+
once: Emittery<SourceEventData>["once"];
|
|
8
|
+
events: Emittery<SourceEventData>["events"];
|
|
9
|
+
off: Emittery<SourceEventData>["off"];
|
|
9
10
|
/**
|
|
10
11
|
* Create a new Source.
|
|
11
12
|
*
|
package/wrapper/source.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -18,10 +19,14 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
18
19
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
19
20
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
20
21
|
};
|
|
22
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
|
+
};
|
|
21
25
|
var _Source_instances, _Source_emitter, _Source_buffer, _Source_readIndex, _Source_writeIndex, _Source_closed, _Source_sampleRate, _Source_encoding, _Source_container, _Source_createBuffer;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
const emittery_1 = __importDefault(require("emittery"));
|
|
28
|
+
const utils_1 = require("./utils");
|
|
29
|
+
class Source {
|
|
25
30
|
/**
|
|
26
31
|
* Create a new Source.
|
|
27
32
|
*
|
|
@@ -30,7 +35,7 @@ export default class Source {
|
|
|
30
35
|
*/
|
|
31
36
|
constructor({ sampleRate, encoding, container }) {
|
|
32
37
|
_Source_instances.add(this);
|
|
33
|
-
_Source_emitter.set(this, new
|
|
38
|
+
_Source_emitter.set(this, new emittery_1.default());
|
|
34
39
|
_Source_buffer.set(this, void 0);
|
|
35
40
|
_Source_readIndex.set(this, 0);
|
|
36
41
|
_Source_writeIndex.set(this, 0);
|
|
@@ -41,7 +46,7 @@ export default class Source {
|
|
|
41
46
|
this.on = __classPrivateFieldGet(this, _Source_emitter, "f").on.bind(__classPrivateFieldGet(this, _Source_emitter, "f"));
|
|
42
47
|
this.once = __classPrivateFieldGet(this, _Source_emitter, "f").once.bind(__classPrivateFieldGet(this, _Source_emitter, "f"));
|
|
43
48
|
this.events = __classPrivateFieldGet(this, _Source_emitter, "f").events.bind(__classPrivateFieldGet(this, _Source_emitter, "f"));
|
|
44
|
-
this.off = __classPrivateFieldGet(this, _Source_emitter, "f").off.bind(__classPrivateFieldGet(this, _Source_emitter, "f"));
|
|
49
|
+
this.off = __classPrivateFieldGet(this, _Source_emitter, "f").off.bind(__classPrivateFieldGet(this, _Source_emitter, "f").off);
|
|
45
50
|
__classPrivateFieldSet(this, _Source_sampleRate, sampleRate, "f");
|
|
46
51
|
__classPrivateFieldSet(this, _Source_encoding, encoding, "f");
|
|
47
52
|
__classPrivateFieldSet(this, _Source_container, container, "f");
|
|
@@ -167,7 +172,8 @@ export default class Source {
|
|
|
167
172
|
});
|
|
168
173
|
}
|
|
169
174
|
}
|
|
175
|
+
exports.default = Source;
|
|
170
176
|
_Source_emitter = new WeakMap(), _Source_buffer = new WeakMap(), _Source_readIndex = new WeakMap(), _Source_writeIndex = new WeakMap(), _Source_closed = new WeakMap(), _Source_sampleRate = new WeakMap(), _Source_encoding = new WeakMap(), _Source_container = new WeakMap(), _Source_instances = new WeakSet(), _Source_createBuffer = function _Source_createBuffer(size) {
|
|
171
|
-
const { arrayType: ArrayType } = ENCODING_MAP[__classPrivateFieldGet(this, _Source_encoding, "f")];
|
|
177
|
+
const { arrayType: ArrayType } = utils_1.ENCODING_MAP[__classPrivateFieldGet(this, _Source_encoding, "f")];
|
|
172
178
|
return new ArrayType(size);
|
|
173
179
|
};
|
package/wrapper/utils.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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.getEmitteryCallbacks = exports.isComplete = exports.filterSentinel = exports.isSentinel = exports.getSentinel = exports.createMessageHandlerForContextId = exports.playAudioBuffer = exports.base64ToArray = exports.resolveOutputFormat = exports.ENCODING_MAP = void 0;
|
|
7
|
+
const base64_js_1 = __importDefault(require("base64-js"));
|
|
8
|
+
exports.ENCODING_MAP = {
|
|
3
9
|
pcm_f32le: { arrayType: Float32Array, bytesPerElement: 4 },
|
|
4
10
|
pcm_s16le: { arrayType: Int16Array, bytesPerElement: 2 },
|
|
5
11
|
pcm_alaw: { arrayType: Uint8Array, bytesPerElement: 1 },
|
|
@@ -13,7 +19,7 @@ export const ENCODING_MAP = {
|
|
|
13
19
|
* @param sampleRate - The sample rate of the audio.
|
|
14
20
|
* @returns The output format for the WebSocket request.
|
|
15
21
|
*/
|
|
16
|
-
|
|
22
|
+
function resolveOutputFormat(container, encoding, sampleRate) {
|
|
17
23
|
switch (container) {
|
|
18
24
|
case "wav":
|
|
19
25
|
return {
|
|
@@ -38,6 +44,7 @@ export function resolveOutputFormat(container, encoding, sampleRate) {
|
|
|
38
44
|
throw new Error(`Unsupported container type: ${container}`);
|
|
39
45
|
}
|
|
40
46
|
}
|
|
47
|
+
exports.resolveOutputFormat = resolveOutputFormat;
|
|
41
48
|
/**
|
|
42
49
|
* Convert base64-encoded audio buffer(s) to a TypedArray.
|
|
43
50
|
*
|
|
@@ -46,9 +53,9 @@ export function resolveOutputFormat(container, encoding, sampleRate) {
|
|
|
46
53
|
* @param encoding The encoding of the audio buffer(s).
|
|
47
54
|
* @returns The audio buffer(s) as a TypedArray.
|
|
48
55
|
*/
|
|
49
|
-
|
|
50
|
-
const byteArrays = filterSentinel(b64).map((b) =>
|
|
51
|
-
const { arrayType: ArrayType, bytesPerElement } = ENCODING_MAP[encoding];
|
|
56
|
+
function base64ToArray(b64, encoding) {
|
|
57
|
+
const byteArrays = filterSentinel(b64).map((b) => base64_js_1.default.toByteArray(b));
|
|
58
|
+
const { arrayType: ArrayType, bytesPerElement } = exports.ENCODING_MAP[encoding];
|
|
52
59
|
const totalLength = byteArrays.reduce((acc, arr) => acc + arr.length / bytesPerElement, 0);
|
|
53
60
|
const result = new ArrayType(totalLength);
|
|
54
61
|
let offset = 0;
|
|
@@ -59,6 +66,7 @@ export function base64ToArray(b64, encoding) {
|
|
|
59
66
|
}
|
|
60
67
|
return result;
|
|
61
68
|
}
|
|
69
|
+
exports.base64ToArray = base64ToArray;
|
|
62
70
|
/**
|
|
63
71
|
* Schedule an audio buffer to play at a given time in the passed context.
|
|
64
72
|
*
|
|
@@ -68,7 +76,7 @@ export function base64ToArray(b64, encoding) {
|
|
|
68
76
|
* @param sampleRate The sample rate of the audio.
|
|
69
77
|
* @returns A promise that resolves when the audio has finished playing.
|
|
70
78
|
*/
|
|
71
|
-
|
|
79
|
+
function playAudioBuffer(floats, context, startAt, sampleRate) {
|
|
72
80
|
const source = context.createBufferSource();
|
|
73
81
|
const buffer = context.createBuffer(1, floats.length, sampleRate);
|
|
74
82
|
buffer.getChannelData(0).set(floats);
|
|
@@ -81,6 +89,7 @@ export function playAudioBuffer(floats, context, startAt, sampleRate) {
|
|
|
81
89
|
};
|
|
82
90
|
});
|
|
83
91
|
}
|
|
92
|
+
exports.playAudioBuffer = playAudioBuffer;
|
|
84
93
|
/**
|
|
85
94
|
* Unwraps a chunk of audio data from a message event and calls the
|
|
86
95
|
* handler with it if the context ID matches.
|
|
@@ -89,7 +98,7 @@ export function playAudioBuffer(floats, context, startAt, sampleRate) {
|
|
|
89
98
|
* @param handler The handler to call with the chunk of audio data.
|
|
90
99
|
* @returns A message event handler.
|
|
91
100
|
*/
|
|
92
|
-
|
|
101
|
+
function createMessageHandlerForContextId(contextId, handler) {
|
|
93
102
|
return (event) => {
|
|
94
103
|
if (typeof event.data !== "string") {
|
|
95
104
|
return; // Ignore non-string messages.
|
|
@@ -109,46 +118,51 @@ export function createMessageHandlerForContextId(contextId, handler) {
|
|
|
109
118
|
handler({ chunk, message: event.data, data: message });
|
|
110
119
|
};
|
|
111
120
|
}
|
|
121
|
+
exports.createMessageHandlerForContextId = createMessageHandlerForContextId;
|
|
112
122
|
/**
|
|
113
123
|
* Get a sentinel value that indicates the end of a stream.
|
|
114
124
|
* @returns A sentinel value to indicate the end of a stream.
|
|
115
125
|
*/
|
|
116
|
-
|
|
126
|
+
function getSentinel() {
|
|
117
127
|
return null;
|
|
118
128
|
}
|
|
129
|
+
exports.getSentinel = getSentinel;
|
|
119
130
|
/**
|
|
120
131
|
* Check if a chunk is a sentinel value (i.e. null).
|
|
121
132
|
*
|
|
122
133
|
* @param chunk
|
|
123
134
|
* @returns Whether the chunk is a sentinel value.
|
|
124
135
|
*/
|
|
125
|
-
|
|
136
|
+
function isSentinel(x) {
|
|
126
137
|
return x === getSentinel();
|
|
127
138
|
}
|
|
139
|
+
exports.isSentinel = isSentinel;
|
|
128
140
|
/**
|
|
129
141
|
* Filter out null values from a collection.
|
|
130
142
|
*
|
|
131
143
|
* @param collection The collection to filter.
|
|
132
144
|
* @returns The collection with null values removed.
|
|
133
145
|
*/
|
|
134
|
-
|
|
146
|
+
function filterSentinel(collection) {
|
|
135
147
|
return collection.filter((x) => !isSentinel(x));
|
|
136
148
|
}
|
|
149
|
+
exports.filterSentinel = filterSentinel;
|
|
137
150
|
/**
|
|
138
151
|
* Check if an array of chunks is complete by testing if the last chunk is a sentinel
|
|
139
152
|
* value (i.e. null).
|
|
140
153
|
* @param chunk
|
|
141
154
|
* @returns Whether the array of chunks is complete.
|
|
142
155
|
*/
|
|
143
|
-
|
|
156
|
+
function isComplete(chunks) {
|
|
144
157
|
return isSentinel(chunks[chunks.length - 1]);
|
|
145
158
|
}
|
|
159
|
+
exports.isComplete = isComplete;
|
|
146
160
|
/**
|
|
147
161
|
* Get user-facing emitter callbacks for an Emittery instance.
|
|
148
162
|
* @param emitter The Emittery instance to get callbacks for.
|
|
149
163
|
* @returns User-facing emitter callbacks.
|
|
150
164
|
*/
|
|
151
|
-
|
|
165
|
+
function getEmitteryCallbacks(emitter) {
|
|
152
166
|
return {
|
|
153
167
|
on: emitter.on.bind(emitter),
|
|
154
168
|
off: emitter.off.bind(emitter),
|
|
@@ -156,3 +170,4 @@ export function getEmitteryCallbacks(emitter) {
|
|
|
156
170
|
events: emitter.events.bind(emitter),
|
|
157
171
|
};
|
|
158
172
|
}
|
|
173
|
+
exports.getEmitteryCallbacks = getEmitteryCallbacks;
|