openai 7.10.0 → 7.12.1
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/CHANGELOG.md +196 -0
- package/README.md +7 -5
- package/_vendor/partial-json-parser/parser.d.mts.map +1 -1
- package/_vendor/partial-json-parser/parser.d.ts.map +1 -1
- package/_vendor/partial-json-parser/parser.js +4 -3
- package/_vendor/partial-json-parser/parser.js.map +1 -1
- package/_vendor/partial-json-parser/parser.mjs +4 -3
- package/_vendor/partial-json-parser/parser.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.js +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.mjs +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/tuple.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/tuple.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/tuple.js +19 -12
- package/_vendor/zod-to-json-schema/parsers/tuple.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/tuple.mjs +19 -12
- package/_vendor/zod-to-json-schema/parsers/tuple.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/zodToJsonSchema.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/zodToJsonSchema.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/zodToJsonSchema.js +6 -2
- package/_vendor/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
- package/_vendor/zod-to-json-schema/zodToJsonSchema.mjs +6 -2
- package/_vendor/zod-to-json-schema/zodToJsonSchema.mjs.map +1 -1
- package/auth/subject-token-providers.d.mts.map +1 -1
- package/auth/subject-token-providers.d.ts.map +1 -1
- package/auth/subject-token-providers.js +10 -5
- package/auth/subject-token-providers.js.map +1 -1
- package/auth/subject-token-providers.mjs +10 -5
- package/auth/subject-token-providers.mjs.map +1 -1
- package/auth/workload-identity-auth.d.mts.map +1 -1
- package/auth/workload-identity-auth.d.ts.map +1 -1
- package/auth/workload-identity-auth.js +21 -11
- package/auth/workload-identity-auth.js.map +1 -1
- package/auth/workload-identity-auth.mjs +21 -11
- package/auth/workload-identity-auth.mjs.map +1 -1
- package/azure.d.mts.map +1 -1
- package/azure.d.ts.map +1 -1
- package/azure.js +31 -2
- package/azure.js.map +1 -1
- package/azure.mjs +32 -3
- package/azure.mjs.map +1 -1
- package/beta/realtime/internal-base.d.mts.map +1 -1
- package/beta/realtime/internal-base.d.ts.map +1 -1
- package/beta/realtime/internal-base.js +3 -2
- package/beta/realtime/internal-base.js.map +1 -1
- package/beta/realtime/internal-base.mjs +3 -2
- package/beta/realtime/internal-base.mjs.map +1 -1
- package/beta/realtime/websocket.d.mts +2 -0
- package/beta/realtime/websocket.d.mts.map +1 -1
- package/beta/realtime/websocket.d.ts +2 -0
- package/beta/realtime/websocket.d.ts.map +1 -1
- package/beta/realtime/websocket.js +12 -7
- package/beta/realtime/websocket.js.map +1 -1
- package/beta/realtime/websocket.mjs +12 -7
- package/beta/realtime/websocket.mjs.map +1 -1
- package/beta/realtime/ws.d.mts +2 -0
- package/beta/realtime/ws.d.mts.map +1 -1
- package/beta/realtime/ws.d.ts +2 -0
- package/beta/realtime/ws.d.ts.map +1 -1
- package/beta/realtime/ws.js +7 -5
- package/beta/realtime/ws.js.map +1 -1
- package/beta/realtime/ws.mjs +7 -5
- package/beta/realtime/ws.mjs.map +1 -1
- package/client.d.mts +9 -1
- package/client.d.mts.map +1 -1
- package/client.d.ts +9 -1
- package/client.d.ts.map +1 -1
- package/client.js +17 -4
- package/client.js.map +1 -1
- package/client.mjs +17 -4
- package/client.mjs.map +1 -1
- package/core/EventEmitter.d.mts +2 -1
- package/core/EventEmitter.d.mts.map +1 -1
- package/core/EventEmitter.d.ts +2 -1
- package/core/EventEmitter.d.ts.map +1 -1
- package/core/EventEmitter.js +2 -1
- package/core/EventEmitter.js.map +1 -1
- package/core/EventEmitter.mjs +2 -1
- package/core/EventEmitter.mjs.map +1 -1
- package/core/pagination.js +1 -1
- package/core/pagination.js.map +1 -1
- package/core/pagination.mjs +1 -1
- package/core/pagination.mjs.map +1 -1
- package/core/streaming.d.mts +8 -0
- package/core/streaming.d.mts.map +1 -1
- package/core/streaming.d.ts +8 -0
- package/core/streaming.d.ts.map +1 -1
- package/core/streaming.js +68 -15
- package/core/streaming.js.map +1 -1
- package/core/streaming.mjs +68 -15
- package/core/streaming.mjs.map +1 -1
- package/helpers/audio.d.mts +1 -1
- package/helpers/audio.d.mts.map +1 -1
- package/helpers/audio.d.ts +1 -1
- package/helpers/audio.d.ts.map +1 -1
- package/helpers/audio.js +25 -5
- package/helpers/audio.js.map +1 -1
- package/helpers/audio.mjs +25 -5
- package/helpers/audio.mjs.map +1 -1
- package/helpers/zod.d.mts +28 -15
- package/helpers/zod.d.mts.map +1 -1
- package/helpers/zod.d.ts +28 -15
- package/helpers/zod.d.ts.map +1 -1
- package/helpers/zod.js +30 -23
- package/helpers/zod.js.map +1 -1
- package/helpers/zod.mjs +30 -23
- package/helpers/zod.mjs.map +1 -1
- package/index.js +4 -5
- package/internal/bedrock.d.mts +11 -0
- package/internal/bedrock.d.mts.map +1 -1
- package/internal/bedrock.d.ts +11 -0
- package/internal/bedrock.d.ts.map +1 -1
- package/internal/bedrock.js +71 -55
- package/internal/bedrock.js.map +1 -1
- package/internal/bedrock.mjs +70 -55
- package/internal/bedrock.mjs.map +1 -1
- package/internal/detect-platform.js +2 -2
- package/internal/detect-platform.js.map +1 -1
- package/internal/detect-platform.mjs +2 -2
- package/internal/detect-platform.mjs.map +1 -1
- package/internal/errors.d.mts.map +1 -1
- package/internal/errors.d.ts.map +1 -1
- package/internal/errors.js +3 -2
- package/internal/errors.js.map +1 -1
- package/internal/errors.mjs +3 -2
- package/internal/errors.mjs.map +1 -1
- package/internal/headers.d.mts.map +1 -1
- package/internal/headers.d.ts.map +1 -1
- package/internal/headers.js +4 -5
- package/internal/headers.js.map +1 -1
- package/internal/headers.mjs +4 -5
- package/internal/headers.mjs.map +1 -1
- package/internal/parse.js +1 -1
- package/internal/parse.js.map +1 -1
- package/internal/parse.mjs +1 -1
- package/internal/parse.mjs.map +1 -1
- package/internal/realtime-credentials.d.mts +15 -0
- package/internal/realtime-credentials.d.mts.map +1 -0
- package/internal/realtime-credentials.d.ts +15 -0
- package/internal/realtime-credentials.d.ts.map +1 -0
- package/internal/realtime-credentials.js +23 -0
- package/internal/realtime-credentials.js.map +1 -0
- package/internal/realtime-credentials.mjs +19 -0
- package/internal/realtime-credentials.mjs.map +1 -0
- package/internal/responses/response-accumulator.d.mts.map +1 -1
- package/internal/responses/response-accumulator.d.ts.map +1 -1
- package/internal/responses/response-accumulator.js +2 -1
- package/internal/responses/response-accumulator.js.map +1 -1
- package/internal/responses/response-accumulator.mjs +2 -1
- package/internal/responses/response-accumulator.mjs.map +1 -1
- package/internal/to-file.d.mts +2 -1
- package/internal/to-file.d.mts.map +1 -1
- package/internal/to-file.d.ts +2 -1
- package/internal/to-file.d.ts.map +1 -1
- package/internal/to-file.js +5 -4
- package/internal/to-file.js.map +1 -1
- package/internal/to-file.mjs +6 -5
- package/internal/to-file.mjs.map +1 -1
- package/internal/types.d.mts +3 -3
- package/internal/types.d.mts.map +1 -1
- package/internal/types.d.ts +3 -3
- package/internal/types.d.ts.map +1 -1
- package/internal/uploads.d.mts +2 -0
- package/internal/uploads.d.mts.map +1 -1
- package/internal/uploads.d.ts +2 -0
- package/internal/uploads.d.ts.map +1 -1
- package/internal/uploads.js +12 -1
- package/internal/uploads.js.map +1 -1
- package/internal/uploads.mjs +11 -1
- package/internal/uploads.mjs.map +1 -1
- package/internal/utils/base64.d.mts.map +1 -1
- package/internal/utils/base64.d.ts.map +1 -1
- package/internal/utils/base64.js +3 -0
- package/internal/utils/base64.js.map +1 -1
- package/internal/utils/base64.mjs +3 -0
- package/internal/utils/base64.mjs.map +1 -1
- package/lib/AbstractChatCompletionRunner.d.mts +1 -1
- package/lib/AbstractChatCompletionRunner.d.mts.map +1 -1
- package/lib/AbstractChatCompletionRunner.d.ts +1 -1
- package/lib/AbstractChatCompletionRunner.d.ts.map +1 -1
- package/lib/AbstractChatCompletionRunner.js +31 -9
- package/lib/AbstractChatCompletionRunner.js.map +1 -1
- package/lib/AbstractChatCompletionRunner.mjs +31 -9
- package/lib/AbstractChatCompletionRunner.mjs.map +1 -1
- package/lib/AssistantStream.d.mts +4 -1
- package/lib/AssistantStream.d.mts.map +1 -1
- package/lib/AssistantStream.d.ts +4 -1
- package/lib/AssistantStream.d.ts.map +1 -1
- package/lib/AssistantStream.js +23 -8
- package/lib/AssistantStream.js.map +1 -1
- package/lib/AssistantStream.mjs +24 -9
- package/lib/AssistantStream.mjs.map +1 -1
- package/lib/ChatCompletionRunner.d.mts +6 -3
- package/lib/ChatCompletionRunner.d.mts.map +1 -1
- package/lib/ChatCompletionRunner.d.ts +6 -3
- package/lib/ChatCompletionRunner.d.ts.map +1 -1
- package/lib/ChatCompletionRunner.js +7 -4
- package/lib/ChatCompletionRunner.js.map +1 -1
- package/lib/ChatCompletionRunner.mjs +7 -4
- package/lib/ChatCompletionRunner.mjs.map +1 -1
- package/lib/ChatCompletionStream.d.mts.map +1 -1
- package/lib/ChatCompletionStream.d.ts.map +1 -1
- package/lib/ChatCompletionStream.js +6 -0
- package/lib/ChatCompletionStream.js.map +1 -1
- package/lib/ChatCompletionStream.mjs +7 -1
- package/lib/ChatCompletionStream.mjs.map +1 -1
- package/lib/ChatCompletionStreamingRunner.d.mts.map +1 -1
- package/lib/ChatCompletionStreamingRunner.d.ts.map +1 -1
- package/lib/ChatCompletionStreamingRunner.js +1 -0
- package/lib/ChatCompletionStreamingRunner.js.map +1 -1
- package/lib/ChatCompletionStreamingRunner.mjs +1 -0
- package/lib/ChatCompletionStreamingRunner.mjs.map +1 -1
- package/lib/EventEmitter.d.mts +3 -1
- package/lib/EventEmitter.d.mts.map +1 -1
- package/lib/EventEmitter.d.ts +3 -1
- package/lib/EventEmitter.d.ts.map +1 -1
- package/lib/EventEmitter.js +2 -1
- package/lib/EventEmitter.js.map +1 -1
- package/lib/EventEmitter.mjs +2 -1
- package/lib/EventEmitter.mjs.map +1 -1
- package/lib/EventStream.d.mts +2 -1
- package/lib/EventStream.d.mts.map +1 -1
- package/lib/EventStream.d.ts +2 -1
- package/lib/EventStream.d.ts.map +1 -1
- package/lib/EventStream.js +99 -46
- package/lib/EventStream.js.map +1 -1
- package/lib/EventStream.mjs +99 -46
- package/lib/EventStream.mjs.map +1 -1
- package/lib/ResponsesParser.d.mts +5 -4
- package/lib/ResponsesParser.d.mts.map +1 -1
- package/lib/ResponsesParser.d.ts +5 -4
- package/lib/ResponsesParser.d.ts.map +1 -1
- package/lib/ResponsesParser.js +21 -7
- package/lib/ResponsesParser.js.map +1 -1
- package/lib/ResponsesParser.mjs +21 -7
- package/lib/ResponsesParser.mjs.map +1 -1
- package/lib/RunnableFunction.d.mts +2 -2
- package/lib/RunnableFunction.d.mts.map +1 -1
- package/lib/RunnableFunction.d.ts +2 -2
- package/lib/RunnableFunction.d.ts.map +1 -1
- package/lib/embeddings.d.mts.map +1 -1
- package/lib/embeddings.d.ts.map +1 -1
- package/lib/embeddings.js +18 -12
- package/lib/embeddings.js.map +1 -1
- package/lib/embeddings.mjs +18 -12
- package/lib/embeddings.mjs.map +1 -1
- package/lib/file-processing.d.mts +3 -2
- package/lib/file-processing.d.mts.map +1 -1
- package/lib/file-processing.d.ts +3 -2
- package/lib/file-processing.d.ts.map +1 -1
- package/lib/file-processing.js +5 -4
- package/lib/file-processing.js.map +1 -1
- package/lib/file-processing.mjs +5 -4
- package/lib/file-processing.mjs.map +1 -1
- package/lib/parser.d.mts +16 -4
- package/lib/parser.d.mts.map +1 -1
- package/lib/parser.d.ts +16 -4
- package/lib/parser.d.ts.map +1 -1
- package/lib/parser.js +1 -1
- package/lib/parser.js.map +1 -1
- package/lib/parser.mjs +1 -1
- package/lib/parser.mjs.map +1 -1
- package/lib/polling.d.mts +2 -2
- package/lib/polling.d.mts.map +1 -1
- package/lib/polling.d.ts +2 -2
- package/lib/polling.d.ts.map +1 -1
- package/lib/polling.js +5 -4
- package/lib/polling.js.map +1 -1
- package/lib/polling.mjs +5 -4
- package/lib/polling.mjs.map +1 -1
- package/lib/responses/EventTypes.d.mts +2 -2
- package/lib/responses/EventTypes.d.mts.map +1 -1
- package/lib/responses/EventTypes.d.ts +2 -2
- package/lib/responses/EventTypes.d.ts.map +1 -1
- package/lib/responses/ResponseInputItems.d.mts +3 -2
- package/lib/responses/ResponseInputItems.d.mts.map +1 -1
- package/lib/responses/ResponseInputItems.d.ts +3 -2
- package/lib/responses/ResponseInputItems.d.ts.map +1 -1
- package/lib/responses/ResponseInputItems.js +27 -4
- package/lib/responses/ResponseInputItems.js.map +1 -1
- package/lib/responses/ResponseInputItems.mjs +27 -4
- package/lib/responses/ResponseInputItems.mjs.map +1 -1
- package/lib/transform.d.mts.map +1 -1
- package/lib/transform.d.ts.map +1 -1
- package/lib/transform.js +1 -0
- package/lib/transform.js.map +1 -1
- package/lib/transform.mjs +1 -0
- package/lib/transform.mjs.map +1 -1
- package/lib/vector-store-polling.d.mts +2 -2
- package/lib/vector-store-polling.d.ts +2 -2
- package/lib/vector-store-polling.js +3 -3
- package/lib/vector-store-polling.js.map +1 -1
- package/lib/vector-store-polling.mjs +3 -3
- package/lib/vector-store-polling.mjs.map +1 -1
- package/lib/vector-store-upload.d.mts +2 -1
- package/lib/vector-store-upload.d.mts.map +1 -1
- package/lib/vector-store-upload.d.ts +2 -1
- package/lib/vector-store-upload.d.ts.map +1 -1
- package/lib/vector-store-upload.js +5 -1
- package/lib/vector-store-upload.js.map +1 -1
- package/lib/vector-store-upload.mjs +5 -1
- package/lib/vector-store-upload.mjs.map +1 -1
- package/package.json +1 -1
- package/providers/bedrock/aws.d.mts.map +1 -1
- package/providers/bedrock/aws.d.ts.map +1 -1
- package/providers/bedrock/aws.js +14 -16
- package/providers/bedrock/aws.js.map +1 -1
- package/providers/bedrock/aws.mjs +15 -17
- package/providers/bedrock/aws.mjs.map +1 -1
- package/realtime/internal-base.d.mts.map +1 -1
- package/realtime/internal-base.d.ts.map +1 -1
- package/realtime/internal-base.js +3 -5
- package/realtime/internal-base.js.map +1 -1
- package/realtime/internal-base.mjs +3 -5
- package/realtime/internal-base.mjs.map +1 -1
- package/realtime/websocket.d.mts +2 -0
- package/realtime/websocket.d.mts.map +1 -1
- package/realtime/websocket.d.ts +2 -0
- package/realtime/websocket.d.ts.map +1 -1
- package/realtime/websocket.js +12 -6
- package/realtime/websocket.js.map +1 -1
- package/realtime/websocket.mjs +12 -6
- package/realtime/websocket.mjs.map +1 -1
- package/realtime/ws.d.mts +2 -0
- package/realtime/ws.d.mts.map +1 -1
- package/realtime/ws.d.ts +2 -0
- package/realtime/ws.d.ts.map +1 -1
- package/realtime/ws.js +7 -4
- package/realtime/ws.js.map +1 -1
- package/realtime/ws.mjs +7 -4
- package/realtime/ws.mjs.map +1 -1
- package/resources/admin/organization/projects/service-accounts/api-keys.d.mts +9 -0
- package/resources/admin/organization/projects/service-accounts/api-keys.d.mts.map +1 -1
- package/resources/admin/organization/projects/service-accounts/api-keys.d.ts +9 -0
- package/resources/admin/organization/projects/service-accounts/api-keys.d.ts.map +1 -1
- package/resources/beta/responses/responses.d.mts +112 -33
- package/resources/beta/responses/responses.d.mts.map +1 -1
- package/resources/beta/responses/responses.d.ts +112 -33
- package/resources/beta/responses/responses.d.ts.map +1 -1
- package/resources/beta/responses/responses.js.map +1 -1
- package/resources/beta/responses/responses.mjs.map +1 -1
- package/resources/conversations/items.d.mts +9 -0
- package/resources/conversations/items.d.mts.map +1 -1
- package/resources/conversations/items.d.ts +9 -0
- package/resources/conversations/items.d.ts.map +1 -1
- package/resources/images.d.mts +73 -58
- package/resources/images.d.mts.map +1 -1
- package/resources/images.d.ts +73 -58
- package/resources/images.d.ts.map +1 -1
- package/resources/images.js.map +1 -1
- package/resources/images.mjs.map +1 -1
- package/resources/responses/responses.d.mts +112 -32
- package/resources/responses/responses.d.mts.map +1 -1
- package/resources/responses/responses.d.ts +112 -32
- package/resources/responses/responses.d.ts.map +1 -1
- package/resources/responses/responses.js.map +1 -1
- package/resources/responses/responses.mjs.map +1 -1
- package/resources/webhooks/webhooks.d.mts +6 -4
- package/resources/webhooks/webhooks.d.mts.map +1 -1
- package/resources/webhooks/webhooks.d.ts +6 -4
- package/resources/webhooks/webhooks.d.ts.map +1 -1
- package/src/_vendor/partial-json-parser/parser.ts +4 -3
- package/src/_vendor/zod-to-json-schema/parsers/string.ts +1 -1
- package/src/_vendor/zod-to-json-schema/parsers/tuple.ts +23 -16
- package/src/_vendor/zod-to-json-schema/zodToJsonSchema.ts +11 -6
- package/src/auth/subject-token-providers.ts +12 -7
- package/src/auth/workload-identity-auth.ts +27 -12
- package/src/azure.ts +34 -3
- package/src/beta/realtime/internal-base.ts +3 -2
- package/src/beta/realtime/websocket.ts +17 -7
- package/src/beta/realtime/ws.ts +9 -5
- package/src/client.ts +19 -4
- package/src/core/EventEmitter.ts +5 -8
- package/src/core/pagination.ts +1 -1
- package/src/core/streaming.ts +69 -13
- package/src/helpers/audio.ts +27 -6
- package/src/helpers/zod.ts +78 -29
- package/src/internal/bedrock.ts +84 -58
- package/src/internal/detect-platform.ts +2 -2
- package/src/internal/errors.ts +3 -2
- package/src/internal/headers.ts +7 -5
- package/src/internal/parse.ts +1 -1
- package/src/internal/realtime-credentials.ts +27 -0
- package/src/internal/responses/response-accumulator.ts +1 -0
- package/src/internal/to-file.ts +6 -5
- package/src/internal/uploads.ts +12 -1
- package/src/internal/utils/base64.ts +3 -0
- package/src/lib/AbstractChatCompletionRunner.ts +31 -6
- package/src/lib/AssistantStream.ts +25 -11
- package/src/lib/ChatCompletionRunner.ts +8 -4
- package/src/lib/ChatCompletionStream.ts +8 -0
- package/src/lib/ChatCompletionStreamingRunner.ts +1 -0
- package/src/lib/EventEmitter.ts +17 -8
- package/src/lib/EventStream.ts +105 -52
- package/src/lib/ResponsesParser.ts +33 -12
- package/src/lib/RunnableFunction.ts +2 -2
- package/src/lib/embeddings.ts +18 -12
- package/src/lib/file-processing.ts +5 -4
- package/src/lib/parser.ts +35 -11
- package/src/lib/polling.ts +5 -4
- package/src/lib/responses/EventTypes.ts +3 -69
- package/src/lib/responses/ResponseInputItems.ts +29 -4
- package/src/lib/transform.ts +1 -0
- package/src/lib/vector-store-polling.ts +3 -3
- package/src/lib/vector-store-upload.ts +5 -1
- package/src/providers/bedrock/aws.ts +23 -24
- package/src/realtime/internal-base.ts +3 -5
- package/src/realtime/websocket.ts +14 -6
- package/src/realtime/ws.ts +9 -4
- package/src/resources/admin/organization/projects/service-accounts/api-keys.ts +11 -0
- package/src/resources/beta/responses/responses.ts +143 -31
- package/src/resources/conversations/items.ts +11 -0
- package/src/resources/images.ts +76 -57
- package/src/resources/responses/responses.ts +143 -30
- package/src/resources/webhooks/webhooks.ts +6 -4
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/resources/webhooks/webhooks.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/resources/webhooks/webhooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -248,14 +248,15 @@ const _parseJSON = (jsonString: string, allow: number) => {
|
|
|
248
248
|
markPartialJSON('Unterminated number literal');
|
|
249
249
|
}
|
|
250
250
|
|
|
251
|
+
const number = jsonString.substring(start, index);
|
|
251
252
|
try {
|
|
252
|
-
return JSON.parse(
|
|
253
|
+
return JSON.parse(number);
|
|
253
254
|
} catch {
|
|
254
|
-
if (
|
|
255
|
+
if (number === '-' && Allow.NUM & allow) {
|
|
255
256
|
markPartialJSON("Not sure what '-' is");
|
|
256
257
|
}
|
|
257
258
|
try {
|
|
258
|
-
return JSON.parse(
|
|
259
|
+
return JSON.parse(number.substring(0, number.lastIndexOf('e')));
|
|
259
260
|
} catch (e) {
|
|
260
261
|
throwMalformedError(String(e));
|
|
261
262
|
}
|
|
@@ -410,7 +410,7 @@ const processRegExp = (regexOrFunction: RegExp | (() => RegExp), refs: Refs): st
|
|
|
410
410
|
}
|
|
411
411
|
|
|
412
412
|
try {
|
|
413
|
-
|
|
413
|
+
void new RegExp(pattern);
|
|
414
414
|
} catch {
|
|
415
415
|
console.warn(
|
|
416
416
|
`Could not convert regex pattern at ${refs.currentPath.join(
|
|
@@ -16,6 +16,27 @@ export type JsonSchema7TupleType = {
|
|
|
16
16
|
}
|
|
17
17
|
);
|
|
18
18
|
|
|
19
|
+
/**
|
|
20
|
+
* `items` is positional and `minItems`/`maxItems` come from `def.items.length`, so the
|
|
21
|
+
* array has to carry one entry per declared element. A parser may legitimately return
|
|
22
|
+
* `undefined` -- a wrapper whose inner type produces no schema, for instance -- and
|
|
23
|
+
* dropping that entry shifts every later element onto the wrong index while the length
|
|
24
|
+
* constraints still claim the original arity, so the document accepts and rejects the
|
|
25
|
+
* opposite arrays from the Zod schema it was generated from.
|
|
26
|
+
*
|
|
27
|
+
* An unconstrained `{}` keeps the positions aligned and constrains nothing, which is
|
|
28
|
+
* what the element was already saying.
|
|
29
|
+
*/
|
|
30
|
+
function parseTupleItems(items: ZodTupleItems | [], refs: Refs): JsonSchema7Type[] {
|
|
31
|
+
return items.map(
|
|
32
|
+
(x, i) =>
|
|
33
|
+
parseDef(x._def, {
|
|
34
|
+
...refs,
|
|
35
|
+
currentPath: [...refs.currentPath, 'items', `${i}`],
|
|
36
|
+
}) ?? {},
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
|
|
19
40
|
export function parseTupleDef(
|
|
20
41
|
def: ZodTupleDef<ZodTupleItems | [], ZodTypeAny | null>,
|
|
21
42
|
refs: Refs,
|
|
@@ -24,14 +45,7 @@ export function parseTupleDef(
|
|
|
24
45
|
return {
|
|
25
46
|
type: 'array',
|
|
26
47
|
minItems: def.items.length,
|
|
27
|
-
items: def.items
|
|
28
|
-
.map((x, i) =>
|
|
29
|
-
parseDef(x._def, {
|
|
30
|
-
...refs,
|
|
31
|
-
currentPath: [...refs.currentPath, 'items', `${i}`],
|
|
32
|
-
}),
|
|
33
|
-
)
|
|
34
|
-
.filter((x): x is JsonSchema7Type => x !== undefined),
|
|
48
|
+
items: parseTupleItems(def.items, refs),
|
|
35
49
|
additionalItems: parseDef(def.rest._def, {
|
|
36
50
|
...refs,
|
|
37
51
|
currentPath: [...refs.currentPath, 'additionalItems'],
|
|
@@ -42,13 +56,6 @@ export function parseTupleDef(
|
|
|
42
56
|
type: 'array',
|
|
43
57
|
minItems: def.items.length,
|
|
44
58
|
maxItems: def.items.length,
|
|
45
|
-
items: def.items
|
|
46
|
-
.map((x, i) =>
|
|
47
|
-
parseDef(x._def, {
|
|
48
|
-
...refs,
|
|
49
|
-
currentPath: [...refs.currentPath, 'items', `${i}`],
|
|
50
|
-
}),
|
|
51
|
-
)
|
|
52
|
-
.filter((x): x is JsonSchema7Type => x !== undefined),
|
|
59
|
+
items: parseTupleItems(def.items, refs),
|
|
53
60
|
};
|
|
54
61
|
}
|
|
@@ -137,12 +137,17 @@ const zodToJsonSchema = <Target extends Targets = 'jsonSchema7'>(
|
|
|
137
137
|
}
|
|
138
138
|
|
|
139
139
|
for (const [key, schema] of newDefinitions) {
|
|
140
|
-
definitions
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
140
|
+
Object.defineProperty(definitions, key, {
|
|
141
|
+
value:
|
|
142
|
+
parseDef(
|
|
143
|
+
zodDef(schema),
|
|
144
|
+
{ ...refs, currentPath: [...refs.basePath, refs.definitionPath, key] },
|
|
145
|
+
true,
|
|
146
|
+
) ?? {},
|
|
147
|
+
enumerable: true,
|
|
148
|
+
configurable: true,
|
|
149
|
+
writable: true,
|
|
150
|
+
});
|
|
146
151
|
processedDefinitions.add(key);
|
|
147
152
|
}
|
|
148
153
|
}
|
|
@@ -3,6 +3,7 @@ import type { SubjectTokenProvider } from './types';
|
|
|
3
3
|
import type { Fetch } from '../internal/builtin-types';
|
|
4
4
|
import * as Shims from '../internal/shims';
|
|
5
5
|
import { SubjectTokenProviderError } from '../core/error';
|
|
6
|
+
import { hasOwn, isObj } from '../internal/utils/values';
|
|
6
7
|
|
|
7
8
|
const DEFAULT_RESOURCE = 'https://management.azure.com/';
|
|
8
9
|
const DEFAULT_AZURE_API_VERSION = '2018-02-01';
|
|
@@ -149,6 +150,14 @@ function isMalformedAzureJSONError(error: unknown): boolean {
|
|
|
149
150
|
}
|
|
150
151
|
}
|
|
151
152
|
|
|
153
|
+
function readAzureAccessToken(data: unknown): string {
|
|
154
|
+
const token = isObj(data) && hasOwn(data, 'access_token') ? data['access_token'] : undefined;
|
|
155
|
+
if (typeof token !== 'string' || token.trim().length === 0) {
|
|
156
|
+
throw new SubjectTokenProviderError("IMDS response missing 'access_token' field", 'azure-imds');
|
|
157
|
+
}
|
|
158
|
+
return token;
|
|
159
|
+
}
|
|
160
|
+
|
|
152
161
|
/** Reads the UTF-8 contents of a Kubernetes service-account token file. */
|
|
153
162
|
type ReadFile = (path: string) => Promise<string>;
|
|
154
163
|
|
|
@@ -316,9 +325,9 @@ export function azureManagedIdentityTokenProvider(
|
|
|
316
325
|
);
|
|
317
326
|
}
|
|
318
327
|
|
|
319
|
-
let data:
|
|
328
|
+
let data: unknown;
|
|
320
329
|
try {
|
|
321
|
-
data =
|
|
330
|
+
data = await response.json();
|
|
322
331
|
} catch (error) {
|
|
323
332
|
if (isMalformedAzureJSONError(error)) {
|
|
324
333
|
throw new SyntaxError('IMDS response contains invalid JSON');
|
|
@@ -326,11 +335,7 @@ export function azureManagedIdentityTokenProvider(
|
|
|
326
335
|
throw error;
|
|
327
336
|
}
|
|
328
337
|
|
|
329
|
-
|
|
330
|
-
throw new SubjectTokenProviderError("IMDS response missing 'access_token' field", 'azure-imds');
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
return data.access_token;
|
|
338
|
+
return readAzureAccessToken(data);
|
|
334
339
|
} catch (error) {
|
|
335
340
|
if (error instanceof SubjectTokenProviderError) {
|
|
336
341
|
throw error;
|
|
@@ -19,13 +19,34 @@ const TOKEN_EXCHANGE_GRANT_TYPE = 'urn:ietf:params:oauth:grant-type:token-exchan
|
|
|
19
19
|
// workload-identity path, so short-lived tokens keep a usable cache window.
|
|
20
20
|
const MAX_REFRESH_BUFFER_FRACTION = 0.5;
|
|
21
21
|
|
|
22
|
+
function calculateExpiresAt(expiresIn: unknown, exchangeStartedAt: number): number {
|
|
23
|
+
if (typeof expiresIn !== 'number' || !Number.isFinite(expiresIn) || expiresIn <= 0) {
|
|
24
|
+
throw new OpenAIError("Token exchange response has invalid 'expires_in' field");
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const now = Date.now();
|
|
28
|
+
const fullLifetimeDeadline = now + expiresIn * 1000;
|
|
29
|
+
if (!Number.isSafeInteger(fullLifetimeDeadline) || fullLifetimeDeadline <= now) {
|
|
30
|
+
throw new OpenAIError("Token exchange response has invalid 'expires_in' field");
|
|
31
|
+
}
|
|
32
|
+
const expiresAt = fullLifetimeDeadline - (performance.now() - exchangeStartedAt);
|
|
33
|
+
if (expiresAt <= now) {
|
|
34
|
+
throw new OpenAIError('Workload identity token expired before its exchange completed.');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return expiresAt;
|
|
38
|
+
}
|
|
39
|
+
|
|
22
40
|
function calculateRefreshAt(
|
|
23
41
|
expiresAt: number,
|
|
24
|
-
|
|
42
|
+
lifetimeSeconds: number,
|
|
25
43
|
refreshBufferSeconds: number | undefined,
|
|
26
44
|
): number {
|
|
27
45
|
const configuredBufferMs = (refreshBufferSeconds ?? 1200) * 1000;
|
|
28
|
-
const effectiveBufferMs = Math.min(
|
|
46
|
+
const effectiveBufferMs = Math.min(
|
|
47
|
+
configuredBufferMs,
|
|
48
|
+
lifetimeSeconds * 1000 * MAX_REFRESH_BUFFER_FRACTION,
|
|
49
|
+
);
|
|
29
50
|
return expiresAt - effectiveBufferMs;
|
|
30
51
|
}
|
|
31
52
|
|
|
@@ -217,6 +238,8 @@ export class WorkloadIdentityAuth {
|
|
|
217
238
|
body['client_id'] = this.config.clientId;
|
|
218
239
|
}
|
|
219
240
|
|
|
241
|
+
// Exclude provider acquisition and measure delivery time independently of wall-clock changes.
|
|
242
|
+
const exchangeStartedAt = performance.now();
|
|
220
243
|
const response = await this.fetch(this.tokenExchangeUrl, {
|
|
221
244
|
method: 'POST',
|
|
222
245
|
headers: {
|
|
@@ -261,21 +284,13 @@ export class WorkloadIdentityAuth {
|
|
|
261
284
|
}
|
|
262
285
|
|
|
263
286
|
const expiresIn = (tokenResponse as Partial<TokenExchangeResponse>).expires_in ?? 3600;
|
|
264
|
-
|
|
265
|
-
throw new OpenAIError("Token exchange response has invalid 'expires_in' field");
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
const now = Date.now();
|
|
269
|
-
const expiresAt = now + expiresIn * 1000;
|
|
270
|
-
if (!Number.isSafeInteger(expiresAt) || expiresAt <= now) {
|
|
271
|
-
throw new OpenAIError("Token exchange response has invalid 'expires_in' field");
|
|
272
|
-
}
|
|
287
|
+
const expiresAt = calculateExpiresAt(expiresIn, exchangeStartedAt);
|
|
273
288
|
|
|
274
289
|
if (this.tokenGeneration === generation) {
|
|
275
290
|
this.cachedToken = {
|
|
276
291
|
token: accessToken,
|
|
277
292
|
expiresAt,
|
|
278
|
-
refreshAt: calculateRefreshAt(expiresAt,
|
|
293
|
+
refreshAt: calculateRefreshAt(expiresAt, expiresIn, this.config.refreshBufferSeconds),
|
|
279
294
|
};
|
|
280
295
|
}
|
|
281
296
|
|
package/src/azure.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { NullableHeaders } from './internal/headers';
|
|
|
3
3
|
import { buildHeaders } from './internal/headers';
|
|
4
4
|
import * as Errors from './error';
|
|
5
5
|
import type { FinalRequestOptions } from './internal/request-options';
|
|
6
|
-
import { isObj, readEnv } from './internal/utils';
|
|
6
|
+
import { hasOwn, isObj, readEnv } from './internal/utils';
|
|
7
7
|
import { path } from './internal/utils/path';
|
|
8
8
|
import { OpenAI } from './client';
|
|
9
9
|
import type { ClientOptions } from './client';
|
|
@@ -152,7 +152,23 @@ export class AzureOpenAI extends OpenAI {
|
|
|
152
152
|
|
|
153
153
|
/** Clones this client with Azure options; OpenAI data residency remains unsupported. */
|
|
154
154
|
override withOptions(options: Partial<AzureClientOptions>): this {
|
|
155
|
-
|
|
155
|
+
// `OpenAI.withOptions` rebuilds the clone from `this._options`, which never holds the
|
|
156
|
+
// Azure-only construction options, so they are re-injected here the same way the Bedrock
|
|
157
|
+
// client re-injects its own subclass-only field.
|
|
158
|
+
const azureOptions: Partial<AzureClientOptions> = {
|
|
159
|
+
apiVersion: this.apiVersion,
|
|
160
|
+
deployment: this.deploymentName,
|
|
161
|
+
...options,
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
// The inherited base URL is always carried into the clone, so an `endpoint` override would
|
|
165
|
+
// otherwise collide with it; let the endpoint rebuild the base URL instead. Both tests read
|
|
166
|
+
// own properties, so an option bag that passed neither field keeps the inherited base URL.
|
|
167
|
+
if (hasOwn(options, 'endpoint') && options.endpoint !== undefined && !hasOwn(options, 'baseURL')) {
|
|
168
|
+
azureOptions.baseURL = undefined;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return super.withOptions(azureOptions);
|
|
156
172
|
}
|
|
157
173
|
|
|
158
174
|
/** Builds an Azure request and inserts its deployment into model-scoped endpoint paths. */
|
|
@@ -178,7 +194,7 @@ export class AzureOpenAI extends OpenAI {
|
|
|
178
194
|
throw new Error('Expected request body to be an object');
|
|
179
195
|
}
|
|
180
196
|
const model = this.deploymentName || options.body['model'] || options.__metadata?.['model'];
|
|
181
|
-
if (model !== undefined && !this.baseURL
|
|
197
|
+
if (model !== undefined && !hasDeploymentPathSegment(this.baseURL)) {
|
|
182
198
|
options.path = path`/deployments/${model}` + options.path;
|
|
183
199
|
}
|
|
184
200
|
}
|
|
@@ -215,6 +231,21 @@ export class AzureOpenAI extends OpenAI {
|
|
|
215
231
|
}
|
|
216
232
|
}
|
|
217
233
|
|
|
234
|
+
/**
|
|
235
|
+
* Reports whether the base URL already routes through a `/deployments` path segment, so the
|
|
236
|
+
* deployment must not be inserted again. A substring test would also match an unrelated segment
|
|
237
|
+
* such as `/deployments-proxy/`, or a host like `deployments.example.com`.
|
|
238
|
+
*/
|
|
239
|
+
function hasDeploymentPathSegment(baseURL: string): boolean {
|
|
240
|
+
try {
|
|
241
|
+
return new URL(baseURL).pathname.split('/').includes('deployments');
|
|
242
|
+
} catch {
|
|
243
|
+
// A base URL that is not an absolute URL has no path segments to read. Report none, the way
|
|
244
|
+
// the previous substring test did, and let joining the request path reject it as it did before.
|
|
245
|
+
return false;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
218
249
|
const _deployments_endpoints = new Set([
|
|
219
250
|
'/completions',
|
|
220
251
|
'/chat/completions',
|
|
@@ -186,8 +186,9 @@ export function buildRealtimeURL(
|
|
|
186
186
|
const hasModel = !!config.model;
|
|
187
187
|
const hasCallID = !!config.callID;
|
|
188
188
|
|
|
189
|
-
const
|
|
190
|
-
|
|
189
|
+
const url = new URL(baseURL);
|
|
190
|
+
url.pathname += url.pathname.endsWith('/') ? 'realtime' : '/realtime';
|
|
191
|
+
url.hash = '';
|
|
191
192
|
|
|
192
193
|
if (hasModel === hasCallID) {
|
|
193
194
|
throw new Error('Pass exactly one of `model` or `callID` when opening a Realtime WebSocket.');
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getRealtimeAPIKey, resolveRealtimeAPIKey } from '../../internal/realtime-credentials';
|
|
1
2
|
import type { AzureOpenAI } from '../../index';
|
|
2
3
|
import { assertBedrockWebSocketOrigin } from '../../internal/bedrock';
|
|
3
4
|
import { OpenAI } from '../../index';
|
|
@@ -181,15 +182,18 @@ export class OpenAIRealtimeWebSocket extends OpenAIRealtimeEmitter {
|
|
|
181
182
|
onURL?: (url: URL) => void;
|
|
182
183
|
/** Indicates the token was resolved by the factory just before connecting. @internal */
|
|
183
184
|
__resolvedApiKey?: boolean;
|
|
185
|
+
/** Credential captured by an async factory for this connection. @internal */
|
|
186
|
+
__apiKey?: string | null;
|
|
184
187
|
},
|
|
185
188
|
client?: Pick<OpenAI, 'apiKey' | 'baseURL'>,
|
|
186
189
|
) {
|
|
187
190
|
super();
|
|
191
|
+
let apiKey = getRealtimeAPIKey(client, props.__apiKey);
|
|
188
192
|
const hasProvider = typeof (client as any)?._options?.apiKey === 'function';
|
|
189
193
|
const dangerouslyAllowBrowser =
|
|
190
194
|
props.dangerouslyAllowBrowser ??
|
|
191
195
|
(client as any)?._options?.dangerouslyAllowBrowser ??
|
|
192
|
-
(
|
|
196
|
+
(apiKey?.startsWith('ek_') ? true : null);
|
|
193
197
|
if (!dangerouslyAllowBrowser && isRunningInBrowserOrBrowserWorker()) {
|
|
194
198
|
throw new OpenAIError(
|
|
195
199
|
"It looks like you're running in a browser-like environment.\n\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\n\nYou can avoid this error by creating an ephemeral session token:\nhttps://platform.openai.com/docs/api-reference/realtime-sessions\n",
|
|
@@ -197,6 +201,9 @@ export class OpenAIRealtimeWebSocket extends OpenAIRealtimeEmitter {
|
|
|
197
201
|
}
|
|
198
202
|
|
|
199
203
|
client ??= new OpenAI({ dangerouslyAllowBrowser });
|
|
204
|
+
if (apiKey === undefined) {
|
|
205
|
+
apiKey = client.apiKey;
|
|
206
|
+
}
|
|
200
207
|
|
|
201
208
|
if (hasProvider && !props?.__resolvedApiKey) {
|
|
202
209
|
throw new Error(
|
|
@@ -215,12 +222,12 @@ export class OpenAIRealtimeWebSocket extends OpenAIRealtimeEmitter {
|
|
|
215
222
|
const azure = isAzure(client);
|
|
216
223
|
const protocols = [
|
|
217
224
|
'realtime',
|
|
218
|
-
...(azure ? [] : [`openai-insecure-api-key.${
|
|
225
|
+
...(azure ? [] : [`openai-insecure-api-key.${apiKey}`]),
|
|
219
226
|
'openai-beta.realtime-v1',
|
|
220
227
|
];
|
|
221
228
|
|
|
222
229
|
this.socket = azure
|
|
223
|
-
? createAzureWebSocket(this.url,
|
|
230
|
+
? createAzureWebSocket(this.url, apiKey, props.__resolvedApiKey === true, protocols)
|
|
224
231
|
: new WebSocket(this.url.toString(), protocols);
|
|
225
232
|
|
|
226
233
|
this.socket.addEventListener('message', (websocketEvent: MessageEvent) => {
|
|
@@ -280,10 +287,13 @@ export class OpenAIRealtimeWebSocket extends OpenAIRealtimeEmitter {
|
|
|
280
287
|
const url = buildRealtimeURL(client, props);
|
|
281
288
|
assertTrustedRealtimeURL(client, url);
|
|
282
289
|
assertBedrockWebSocketOrigin(client, url);
|
|
283
|
-
const resolvedApiKey = await client
|
|
290
|
+
const { apiKey, isProvider: resolvedApiKey } = await resolveRealtimeAPIKey(client);
|
|
284
291
|
assertTrustedRealtimeURL(client, url);
|
|
285
292
|
assertBedrockWebSocketOrigin(client, url);
|
|
286
|
-
return new OpenAIRealtimeWebSocket(
|
|
293
|
+
return new OpenAIRealtimeWebSocket(
|
|
294
|
+
{ ...props, __resolvedApiKey: resolvedApiKey, __apiKey: apiKey },
|
|
295
|
+
client,
|
|
296
|
+
);
|
|
287
297
|
}
|
|
288
298
|
|
|
289
299
|
/**
|
|
@@ -307,8 +317,7 @@ export class OpenAIRealtimeWebSocket extends OpenAIRealtimeEmitter {
|
|
|
307
317
|
dangerouslyAllowBrowser?: boolean;
|
|
308
318
|
} = {},
|
|
309
319
|
): Promise<OpenAIRealtimeWebSocket> {
|
|
310
|
-
const isApiKeyProvider = await client
|
|
311
|
-
const apiKey = client.apiKey;
|
|
320
|
+
const { apiKey, isProvider: isApiKeyProvider } = await resolveRealtimeAPIKey(client);
|
|
312
321
|
if (!apiKey) {
|
|
313
322
|
throw new Error('Azure OpenAI Realtime requires an API key');
|
|
314
323
|
}
|
|
@@ -322,6 +331,7 @@ export class OpenAIRealtimeWebSocket extends OpenAIRealtimeEmitter {
|
|
|
322
331
|
model: deploymentName,
|
|
323
332
|
...(dangerouslyAllowBrowser === undefined ? {} : { dangerouslyAllowBrowser }),
|
|
324
333
|
__resolvedApiKey: isApiKeyProvider,
|
|
334
|
+
__apiKey: apiKey,
|
|
325
335
|
},
|
|
326
336
|
client,
|
|
327
337
|
);
|
package/src/beta/realtime/ws.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolveRealtimeAPIKey } from '../../internal/realtime-credentials';
|
|
1
2
|
import * as WS from 'ws';
|
|
2
3
|
import { assertBedrockWebSocketOrigin } from '../../internal/bedrock';
|
|
3
4
|
import { protectWebSocketOptionsFromCredentialRedirects } from '../../internal/ws';
|
|
@@ -51,11 +52,14 @@ export class OpenAIRealtimeWS extends OpenAIRealtimeEmitter {
|
|
|
51
52
|
|
|
52
53
|
/** Indicates that a function-based credential was resolved by an async factory. @internal */
|
|
53
54
|
__resolvedApiKey?: boolean;
|
|
55
|
+
/** Credential captured by an async factory for this connection. @internal */
|
|
56
|
+
__apiKey?: string | null;
|
|
54
57
|
},
|
|
55
58
|
client?: Pick<OpenAI, 'apiKey' | 'baseURL'>,
|
|
56
59
|
) {
|
|
57
60
|
super();
|
|
58
61
|
client ??= new OpenAI();
|
|
62
|
+
const apiKey = props.__apiKey === undefined ? client.apiKey : props.__apiKey;
|
|
59
63
|
const hasProvider = typeof (client as any)?._options?.apiKey === 'function';
|
|
60
64
|
if (hasProvider && !props.__resolvedApiKey) {
|
|
61
65
|
throw new Error(
|
|
@@ -71,7 +75,7 @@ export class OpenAIRealtimeWS extends OpenAIRealtimeEmitter {
|
|
|
71
75
|
const headers = {
|
|
72
76
|
'User-Agent': `${client.constructor.name}/JS ${VERSION}`,
|
|
73
77
|
...props.options?.headers,
|
|
74
|
-
...(isAzure(client) && !props.__resolvedApiKey ? {} : { Authorization: `Bearer ${
|
|
78
|
+
...(isAzure(client) && !props.__resolvedApiKey ? {} : { Authorization: `Bearer ${apiKey}` }),
|
|
75
79
|
'OpenAI-Beta': 'realtime=v1',
|
|
76
80
|
};
|
|
77
81
|
|
|
@@ -140,10 +144,10 @@ export class OpenAIRealtimeWS extends OpenAIRealtimeEmitter {
|
|
|
140
144
|
const url = buildRealtimeURL(client, props);
|
|
141
145
|
assertTrustedRealtimeURL(client, url);
|
|
142
146
|
assertBedrockWebSocketOrigin(client, url);
|
|
143
|
-
const resolvedApiKey = await client
|
|
147
|
+
const { apiKey, isProvider: resolvedApiKey } = await resolveRealtimeAPIKey(client);
|
|
144
148
|
assertTrustedRealtimeURL(client, url);
|
|
145
149
|
assertBedrockWebSocketOrigin(client, url);
|
|
146
|
-
return new OpenAIRealtimeWS({ ...props, __resolvedApiKey: resolvedApiKey }, client);
|
|
150
|
+
return new OpenAIRealtimeWS({ ...props, __resolvedApiKey: resolvedApiKey, __apiKey: apiKey }, client);
|
|
147
151
|
}
|
|
148
152
|
|
|
149
153
|
/**
|
|
@@ -167,8 +171,7 @@ export class OpenAIRealtimeWS extends OpenAIRealtimeEmitter {
|
|
|
167
171
|
options?: WS.ClientOptions | undefined;
|
|
168
172
|
} = {},
|
|
169
173
|
): Promise<OpenAIRealtimeWS> {
|
|
170
|
-
const isApiKeyProvider = await client
|
|
171
|
-
const apiKey = client.apiKey;
|
|
174
|
+
const { apiKey, isProvider: isApiKeyProvider } = await resolveRealtimeAPIKey(client);
|
|
172
175
|
if (!apiKey) {
|
|
173
176
|
throw new Error('Azure OpenAI Realtime requires an API key');
|
|
174
177
|
}
|
|
@@ -187,6 +190,7 @@ export class OpenAIRealtimeWS extends OpenAIRealtimeEmitter {
|
|
|
187
190
|
},
|
|
188
191
|
},
|
|
189
192
|
__resolvedApiKey: isApiKeyProvider,
|
|
193
|
+
__apiKey: apiKey,
|
|
190
194
|
},
|
|
191
195
|
client,
|
|
192
196
|
);
|
package/src/client.ts
CHANGED
|
@@ -849,11 +849,25 @@ export class OpenAI {
|
|
|
849
849
|
return Errors.APIError.generate(status, normalizedError, message, headers);
|
|
850
850
|
}
|
|
851
851
|
|
|
852
|
-
|
|
853
|
-
|
|
852
|
+
/**
|
|
853
|
+
* Resolves a function-based API key and retains the resolved value on this client.
|
|
854
|
+
* Returns whether a provider was invoked. Internal callers can capture this
|
|
855
|
+
* invocation's key before another request updates the shared `apiKey` property.
|
|
856
|
+
* Overrides should forward `capture` or invoke it with their own resolved key
|
|
857
|
+
* to preserve connection-local credentials in concurrent Realtime factories.
|
|
858
|
+
* @internal
|
|
859
|
+
*/
|
|
860
|
+
async _callApiKey(capture?: (apiKey: string | null) => void): Promise<boolean> {
|
|
861
|
+
if (this._provider) {
|
|
862
|
+
capture?.(this.apiKey);
|
|
863
|
+
return false;
|
|
864
|
+
}
|
|
854
865
|
|
|
855
866
|
const apiKey = this._options.apiKey;
|
|
856
|
-
if (typeof apiKey !== 'function')
|
|
867
|
+
if (typeof apiKey !== 'function') {
|
|
868
|
+
capture?.(this.apiKey);
|
|
869
|
+
return false;
|
|
870
|
+
}
|
|
857
871
|
|
|
858
872
|
let token: unknown;
|
|
859
873
|
try {
|
|
@@ -873,6 +887,7 @@ export class OpenAI {
|
|
|
873
887
|
);
|
|
874
888
|
}
|
|
875
889
|
this.apiKey = token;
|
|
890
|
+
capture?.(this.apiKey);
|
|
876
891
|
return true;
|
|
877
892
|
}
|
|
878
893
|
|
|
@@ -1535,7 +1550,7 @@ export class OpenAI {
|
|
|
1535
1550
|
if (this._workloadIdentityAuth && !this.#x509Fetch && schemes.bearerAuth) {
|
|
1536
1551
|
const headers = init.headers as Headers;
|
|
1537
1552
|
const authHeader = headers.get('Authorization');
|
|
1538
|
-
if (
|
|
1553
|
+
if (authHeader === `Bearer ${WORKLOAD_IDENTITY_API_KEY_PLACEHOLDER}`) {
|
|
1539
1554
|
const token = await this._workloadIdentityAuth.getToken();
|
|
1540
1555
|
headers.set('Authorization', `Bearer ${token}`);
|
|
1541
1556
|
}
|
package/src/core/EventEmitter.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { EmittedEventResult } from '../lib/EventEmitter';
|
|
2
|
+
|
|
1
3
|
/** Listener callback associated with one event name in a typed event map. */
|
|
2
4
|
type EventListener<Events, EventType extends keyof Events> = Events[EventType];
|
|
3
5
|
|
|
@@ -145,13 +147,7 @@ export class EventEmitter<EventTypes extends Record<string, (...args: any) => an
|
|
|
145
147
|
*/
|
|
146
148
|
emitted<Event extends keyof EventTypes>(
|
|
147
149
|
event: Event,
|
|
148
|
-
): Promise<
|
|
149
|
-
EventParameters<EventTypes, Event> extends [infer Param]
|
|
150
|
-
? Param
|
|
151
|
-
: EventParameters<EventTypes, Event> extends []
|
|
152
|
-
? void
|
|
153
|
-
: EventParameters<EventTypes, Event>
|
|
154
|
-
> {
|
|
150
|
+
): Promise<EmittedEventResult<EventParameters<EventTypes, Event>>> {
|
|
155
151
|
return new Promise((resolve, reject) => {
|
|
156
152
|
const listeners = {
|
|
157
153
|
onError: (error: unknown) => {
|
|
@@ -193,7 +189,8 @@ export class EventEmitter<EventTypes extends Record<string, (...args: any) => an
|
|
|
193
189
|
for (const registration of listeners as any) {
|
|
194
190
|
if (!registration.removed) {
|
|
195
191
|
try {
|
|
196
|
-
|
|
192
|
+
const { listener } = registration;
|
|
193
|
+
listener(...(args as any));
|
|
197
194
|
} catch (error) {
|
|
198
195
|
if (!listenerThrew) {
|
|
199
196
|
listenerThrew = true;
|
package/src/core/pagination.ts
CHANGED
|
@@ -309,7 +309,7 @@ export class NextCursorPage<Item> extends AbstractPage<Item> implements NextCurs
|
|
|
309
309
|
return false;
|
|
310
310
|
}
|
|
311
311
|
|
|
312
|
-
return
|
|
312
|
+
return this.nextPageRequestOptions() != null;
|
|
313
313
|
}
|
|
314
314
|
|
|
315
315
|
nextPageRequestOptions(): PageRequestOptions | null {
|