openai 7.16.0 → 7.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/_vendor/zod-to-json-schema/Options.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/Options.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/Options.js +2 -0
- package/_vendor/zod-to-json-schema/Options.js.map +1 -1
- package/_vendor/zod-to-json-schema/Options.mjs +2 -0
- package/_vendor/zod-to-json-schema/Options.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parseDef.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parseDef.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parseDef.js +1 -0
- package/_vendor/zod-to-json-schema/parseDef.js.map +1 -1
- package/_vendor/zod-to-json-schema/parseDef.mjs +1 -0
- package/_vendor/zod-to-json-schema/parseDef.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/bigint.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/bigint.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/bigint.js +2 -0
- package/_vendor/zod-to-json-schema/parsers/bigint.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/bigint.mjs +2 -0
- package/_vendor/zod-to-json-schema/parsers/bigint.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/literal.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/literal.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/literal.js +1 -0
- package/_vendor/zod-to-json-schema/parsers/literal.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/literal.mjs +1 -0
- package/_vendor/zod-to-json-schema/parsers/literal.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/null.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/null.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/null.js +1 -0
- package/_vendor/zod-to-json-schema/parsers/null.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/null.mjs +1 -0
- package/_vendor/zod-to-json-schema/parsers/null.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nullable.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nullable.js +4 -0
- package/_vendor/zod-to-json-schema/parsers/nullable.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nullable.mjs +4 -0
- package/_vendor/zod-to-json-schema/parsers/nullable.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/number.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/number.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/number.js +2 -0
- package/_vendor/zod-to-json-schema/parsers/number.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/number.mjs +2 -0
- package/_vendor/zod-to-json-schema/parsers/number.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/optional.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/optional.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/optional.js +6 -7
- package/_vendor/zod-to-json-schema/parsers/optional.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/optional.mjs +6 -7
- package/_vendor/zod-to-json-schema/parsers/optional.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/record.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/record.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/record.js +2 -0
- package/_vendor/zod-to-json-schema/parsers/record.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/record.mjs +2 -0
- package/_vendor/zod-to-json-schema/parsers/record.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.js +1 -0
- package/_vendor/zod-to-json-schema/parsers/string.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.mjs +1 -0
- package/_vendor/zod-to-json-schema/parsers/string.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/union.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/union.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/union.js +3 -0
- package/_vendor/zod-to-json-schema/parsers/union.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/union.mjs +3 -0
- package/_vendor/zod-to-json-schema/parsers/union.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/util.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/util.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/util.js +1 -0
- package/_vendor/zod-to-json-schema/util.js.map +1 -1
- package/_vendor/zod-to-json-schema/util.mjs +1 -0
- package/_vendor/zod-to-json-schema/util.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 +2 -0
- package/_vendor/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
- package/_vendor/zod-to-json-schema/zodToJsonSchema.mjs +2 -0
- 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 +6 -1
- package/auth/subject-token-providers.js.map +1 -1
- package/auth/subject-token-providers.mjs +6 -1
- 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 +9 -0
- package/auth/workload-identity-auth.js.map +1 -1
- package/auth/workload-identity-auth.mjs +9 -0
- package/auth/workload-identity-auth.mjs.map +1 -1
- package/auth/x509-transport.d.mts.map +1 -1
- package/auth/x509-transport.d.ts.map +1 -1
- package/auth/x509-transport.js +11 -0
- package/auth/x509-transport.js.map +1 -1
- package/auth/x509-transport.mjs +11 -0
- package/auth/x509-transport.mjs.map +1 -1
- package/azure.d.mts.map +1 -1
- package/azure.d.ts.map +1 -1
- package/azure.js +3 -0
- package/azure.js.map +1 -1
- package/azure.mjs +3 -0
- package/azure.mjs.map +1 -1
- package/bedrock.d.mts.map +1 -1
- package/bedrock.d.ts.map +1 -1
- package/bedrock.js +5 -0
- package/bedrock.js.map +1 -1
- package/bedrock.mjs +5 -0
- package/bedrock.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 +1 -0
- package/beta/realtime/internal-base.js.map +1 -1
- package/beta/realtime/internal-base.mjs +1 -0
- package/beta/realtime/internal-base.mjs.map +1 -1
- package/beta/realtime/websocket.d.mts.map +1 -1
- package/beta/realtime/websocket.d.ts.map +1 -1
- package/beta/realtime/websocket.js +9 -1
- package/beta/realtime/websocket.js.map +1 -1
- package/beta/realtime/websocket.mjs +9 -1
- package/beta/realtime/websocket.mjs.map +1 -1
- package/beta/realtime/ws.d.mts.map +1 -1
- package/beta/realtime/ws.d.ts.map +1 -1
- package/beta/realtime/ws.js +3 -0
- package/beta/realtime/ws.js.map +1 -1
- package/beta/realtime/ws.mjs +3 -0
- package/beta/realtime/ws.mjs.map +1 -1
- package/client.d.mts +1 -0
- package/client.d.mts.map +1 -1
- package/client.d.ts +1 -0
- package/client.d.ts.map +1 -1
- package/client.js +27 -6
- package/client.js.map +1 -1
- package/client.mjs +27 -6
- package/client.mjs.map +1 -1
- package/core/EventEmitter.d.mts.map +1 -1
- package/core/EventEmitter.d.ts.map +1 -1
- package/core/EventEmitter.js +15 -0
- package/core/EventEmitter.js.map +1 -1
- package/core/EventEmitter.mjs +15 -0
- package/core/EventEmitter.mjs.map +1 -1
- package/core/streaming.d.mts +1 -0
- package/core/streaming.d.mts.map +1 -1
- package/core/streaming.d.ts +1 -0
- package/core/streaming.d.ts.map +1 -1
- package/core/streaming.js +28 -1
- package/core/streaming.js.map +1 -1
- package/core/streaming.mjs +28 -1
- package/core/streaming.mjs.map +1 -1
- package/helpers/audio.d.mts.map +1 -1
- package/helpers/audio.d.ts.map +1 -1
- package/helpers/audio.js +2 -0
- package/helpers/audio.js.map +1 -1
- package/helpers/audio.mjs +2 -0
- package/helpers/audio.mjs.map +1 -1
- package/helpers/standard-schema.d.mts.map +1 -1
- package/helpers/standard-schema.d.ts.map +1 -1
- package/helpers/standard-schema.js +28 -18
- package/helpers/standard-schema.js.map +1 -1
- package/helpers/standard-schema.mjs +28 -18
- package/helpers/standard-schema.mjs.map +1 -1
- package/helpers/zod-v3-strict-schema.d.mts.map +1 -1
- package/helpers/zod-v3-strict-schema.d.ts.map +1 -1
- package/helpers/zod-v3-strict-schema.js +5 -0
- package/helpers/zod-v3-strict-schema.js.map +1 -1
- package/helpers/zod-v3-strict-schema.mjs +5 -0
- package/helpers/zod-v3-strict-schema.mjs.map +1 -1
- package/helpers/zod.d.mts.map +1 -1
- package/helpers/zod.d.ts.map +1 -1
- package/helpers/zod.js +16 -1
- package/helpers/zod.js.map +1 -1
- package/helpers/zod.mjs +17 -2
- package/helpers/zod.mjs.map +1 -1
- package/internal/assistant-stream-delta.d.mts.map +1 -1
- package/internal/assistant-stream-delta.d.ts.map +1 -1
- package/internal/assistant-stream-delta.js +8 -1
- package/internal/assistant-stream-delta.js.map +1 -1
- package/internal/assistant-stream-delta.mjs +8 -1
- package/internal/assistant-stream-delta.mjs.map +1 -1
- package/internal/auth/x509-credential-options.d.mts.map +1 -1
- package/internal/auth/x509-credential-options.d.ts.map +1 -1
- package/internal/auth/x509-credential-options.js +3 -0
- package/internal/auth/x509-credential-options.js.map +1 -1
- package/internal/auth/x509-credential-options.mjs +3 -0
- package/internal/auth/x509-credential-options.mjs.map +1 -1
- package/internal/auth/x509-token-exchange.d.mts.map +1 -1
- package/internal/auth/x509-token-exchange.d.ts.map +1 -1
- package/internal/auth/x509-token-exchange.js +2 -0
- package/internal/auth/x509-token-exchange.js.map +1 -1
- package/internal/auth/x509-token-exchange.mjs +2 -0
- package/internal/auth/x509-token-exchange.mjs.map +1 -1
- package/internal/auth/x509-transport-capability.d.mts.map +1 -1
- package/internal/auth/x509-transport-capability.d.ts.map +1 -1
- package/internal/auth/x509-transport-capability.js +1 -0
- package/internal/auth/x509-transport-capability.js.map +1 -1
- package/internal/auth/x509-transport-capability.mjs +1 -0
- package/internal/auth/x509-transport-capability.mjs.map +1 -1
- package/internal/auth/x509-transport-state.mjs +1 -0
- package/internal/auth/x509-workload-identity-auth.d.mts.map +1 -1
- package/internal/auth/x509-workload-identity-auth.d.ts.map +1 -1
- package/internal/auth/x509-workload-identity-auth.js +11 -0
- package/internal/auth/x509-workload-identity-auth.js.map +1 -1
- package/internal/auth/x509-workload-identity-auth.mjs +11 -0
- package/internal/auth/x509-workload-identity-auth.mjs.map +1 -1
- package/internal/bedrock.d.mts.map +1 -1
- package/internal/bedrock.d.ts.map +1 -1
- package/internal/bedrock.js +17 -1
- package/internal/bedrock.js.map +1 -1
- package/internal/bedrock.mjs +17 -1
- package/internal/bedrock.mjs.map +1 -1
- package/internal/decoders/line.d.mts.map +1 -1
- package/internal/decoders/line.d.ts.map +1 -1
- package/internal/decoders/line.js +1 -0
- package/internal/decoders/line.js.map +1 -1
- package/internal/decoders/line.mjs +1 -0
- package/internal/decoders/line.mjs.map +1 -1
- package/internal/parse.d.mts +1 -0
- package/internal/parse.d.mts.map +1 -1
- package/internal/parse.d.ts +1 -0
- package/internal/parse.d.ts.map +1 -1
- package/internal/parse.js.map +1 -1
- package/internal/parse.mjs.map +1 -1
- package/internal/provider.d.mts.map +1 -1
- package/internal/provider.d.ts.map +1 -1
- package/internal/provider.js +3 -0
- package/internal/provider.js.map +1 -1
- package/internal/provider.mjs +3 -0
- package/internal/provider.mjs.map +1 -1
- package/internal/qs/stringify.d.mts.map +1 -1
- package/internal/qs/stringify.d.ts.map +1 -1
- package/internal/qs/stringify.js +3 -0
- package/internal/qs/stringify.js.map +1 -1
- package/internal/qs/stringify.mjs +3 -0
- package/internal/qs/stringify.mjs.map +1 -1
- package/internal/qs/utils.d.mts.map +1 -1
- package/internal/qs/utils.d.ts.map +1 -1
- package/internal/qs/utils.js +15 -3
- package/internal/qs/utils.js.map +1 -1
- package/internal/qs/utils.mjs +15 -3
- package/internal/qs/utils.mjs.map +1 -1
- 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 +20 -4
- package/internal/responses/response-accumulator.js.map +1 -1
- package/internal/responses/response-accumulator.mjs +20 -4
- package/internal/responses/response-accumulator.mjs.map +1 -1
- package/internal/to-file.js.map +1 -1
- package/internal/to-file.mjs.map +1 -1
- package/internal/uploads.d.mts.map +1 -1
- package/internal/uploads.d.ts.map +1 -1
- package/internal/uploads.js +10 -0
- package/internal/uploads.js.map +1 -1
- package/internal/uploads.mjs +10 -0
- package/internal/uploads.mjs.map +1 -1
- package/internal/utils/abort.d.mts.map +1 -1
- package/internal/utils/abort.d.ts.map +1 -1
- package/internal/utils/abort.js +9 -2
- package/internal/utils/abort.js.map +1 -1
- package/internal/utils/abort.mjs +9 -2
- package/internal/utils/abort.mjs.map +1 -1
- package/internal/utils/bytes.d.mts.map +1 -1
- package/internal/utils/bytes.d.ts.map +1 -1
- package/internal/utils/bytes.js +2 -0
- package/internal/utils/bytes.js.map +1 -1
- package/internal/utils/bytes.mjs +2 -0
- package/internal/utils/bytes.mjs.map +1 -1
- package/internal/utils/path.d.mts.map +1 -1
- package/internal/utils/path.d.ts.map +1 -1
- package/internal/utils/path.js +2 -0
- package/internal/utils/path.js.map +1 -1
- package/internal/utils/path.mjs +2 -0
- package/internal/utils/path.mjs.map +1 -1
- package/internal/utils/sleep.d.mts +1 -1
- package/internal/utils/sleep.d.mts.map +1 -1
- package/internal/utils/sleep.d.ts +1 -1
- package/internal/utils/sleep.d.ts.map +1 -1
- package/internal/utils/sleep.js +51 -1
- package/internal/utils/sleep.js.map +1 -1
- package/internal/utils/sleep.mjs +51 -1
- package/internal/utils/sleep.mjs.map +1 -1
- package/internal/ws-adapter-browser.d.mts.map +1 -1
- package/internal/ws-adapter-browser.d.ts.map +1 -1
- package/internal/ws-adapter-browser.js +2 -0
- package/internal/ws-adapter-browser.js.map +1 -1
- package/internal/ws-adapter-browser.mjs +2 -0
- package/internal/ws-adapter-browser.mjs.map +1 -1
- package/internal/ws.d.mts +9 -0
- package/internal/ws.d.mts.map +1 -1
- package/internal/ws.d.ts +9 -0
- package/internal/ws.d.ts.map +1 -1
- package/internal/ws.js +36 -4
- package/internal/ws.js.map +1 -1
- package/internal/ws.mjs +35 -4
- package/internal/ws.mjs.map +1 -1
- package/lib/AbstractChatCompletionRunner.d.mts.map +1 -1
- package/lib/AbstractChatCompletionRunner.d.ts.map +1 -1
- package/lib/AbstractChatCompletionRunner.js +41 -16
- package/lib/AbstractChatCompletionRunner.js.map +1 -1
- package/lib/AbstractChatCompletionRunner.mjs +42 -17
- package/lib/AbstractChatCompletionRunner.mjs.map +1 -1
- package/lib/AssistantStream.d.mts.map +1 -1
- package/lib/AssistantStream.d.ts.map +1 -1
- package/lib/AssistantStream.js +19 -5
- package/lib/AssistantStream.js.map +1 -1
- package/lib/AssistantStream.mjs +20 -6
- package/lib/AssistantStream.mjs.map +1 -1
- package/lib/ChatCompletionRunner.d.mts.map +1 -1
- package/lib/ChatCompletionRunner.d.ts.map +1 -1
- package/lib/ChatCompletionRunner.js +1 -0
- package/lib/ChatCompletionRunner.js.map +1 -1
- package/lib/ChatCompletionRunner.mjs +1 -0
- package/lib/ChatCompletionRunner.mjs.map +1 -1
- package/lib/ChatCompletionStream.d.mts +6 -1
- package/lib/ChatCompletionStream.d.mts.map +1 -1
- package/lib/ChatCompletionStream.d.ts +6 -1
- package/lib/ChatCompletionStream.d.ts.map +1 -1
- package/lib/ChatCompletionStream.js +63 -7
- package/lib/ChatCompletionStream.js.map +1 -1
- package/lib/ChatCompletionStream.mjs +64 -8
- package/lib/ChatCompletionStream.mjs.map +1 -1
- package/lib/EventEmitter.d.mts.map +1 -1
- package/lib/EventEmitter.d.ts.map +1 -1
- package/lib/EventEmitter.js +15 -0
- package/lib/EventEmitter.js.map +1 -1
- package/lib/EventEmitter.mjs +15 -0
- package/lib/EventEmitter.mjs.map +1 -1
- package/lib/EventStream.d.mts +2 -0
- package/lib/EventStream.d.mts.map +1 -1
- package/lib/EventStream.d.ts +2 -0
- package/lib/EventStream.d.ts.map +1 -1
- package/lib/EventStream.js +111 -14
- package/lib/EventStream.js.map +1 -1
- package/lib/EventStream.mjs +111 -14
- package/lib/EventStream.mjs.map +1 -1
- package/lib/ResponsesParser.d.mts.map +1 -1
- package/lib/ResponsesParser.d.ts.map +1 -1
- package/lib/ResponsesParser.js +4 -0
- package/lib/ResponsesParser.js.map +1 -1
- package/lib/ResponsesParser.mjs +4 -0
- package/lib/ResponsesParser.mjs.map +1 -1
- package/lib/RunnableFunction.d.mts.map +1 -1
- package/lib/RunnableFunction.d.ts.map +1 -1
- package/lib/RunnableFunction.js.map +1 -1
- package/lib/RunnableFunction.mjs.map +1 -1
- package/lib/agents/agent-session-stream.d.mts.map +1 -1
- package/lib/agents/agent-session-stream.d.ts.map +1 -1
- package/lib/agents/agent-session-stream.js +5 -2
- package/lib/agents/agent-session-stream.js.map +1 -1
- package/lib/agents/agent-session-stream.mjs +5 -2
- package/lib/agents/agent-session-stream.mjs.map +1 -1
- package/lib/embeddings.d.mts.map +1 -1
- package/lib/embeddings.d.ts.map +1 -1
- package/lib/embeddings.js +2 -0
- package/lib/embeddings.js.map +1 -1
- package/lib/embeddings.mjs +2 -0
- package/lib/embeddings.mjs.map +1 -1
- package/lib/live/transcript-grouper.d.mts.map +1 -1
- package/lib/live/transcript-grouper.d.ts.map +1 -1
- package/lib/live/transcript-grouper.js +8 -2
- package/lib/live/transcript-grouper.js.map +1 -1
- package/lib/live/transcript-grouper.mjs +8 -2
- package/lib/live/transcript-grouper.mjs.map +1 -1
- package/lib/parser.d.mts.map +1 -1
- package/lib/parser.d.ts.map +1 -1
- package/lib/parser.js +13 -0
- package/lib/parser.js.map +1 -1
- package/lib/parser.mjs +13 -0
- package/lib/parser.mjs.map +1 -1
- package/lib/responses/ResponseInputItems.d.mts.map +1 -1
- package/lib/responses/ResponseInputItems.d.ts.map +1 -1
- package/lib/responses/ResponseInputItems.js +11 -0
- package/lib/responses/ResponseInputItems.js.map +1 -1
- package/lib/responses/ResponseInputItems.mjs +11 -0
- package/lib/responses/ResponseInputItems.mjs.map +1 -1
- package/lib/responses/ResponseStream.d.mts.map +1 -1
- package/lib/responses/ResponseStream.d.ts.map +1 -1
- package/lib/responses/ResponseStream.js +7 -3
- package/lib/responses/ResponseStream.js.map +1 -1
- package/lib/responses/ResponseStream.mjs +8 -4
- package/lib/responses/ResponseStream.mjs.map +1 -1
- package/lib/transform.d.mts.map +1 -1
- package/lib/transform.d.ts.map +1 -1
- package/lib/transform.js +69 -33
- package/lib/transform.js.map +1 -1
- package/lib/transform.mjs +69 -33
- package/lib/transform.mjs.map +1 -1
- package/lib/webrtc/connection.d.mts.map +1 -1
- package/lib/webrtc/connection.d.ts.map +1 -1
- package/lib/webrtc/connection.js +6 -1
- package/lib/webrtc/connection.js.map +1 -1
- package/lib/webrtc/connection.mjs +6 -1
- package/lib/webrtc/connection.mjs.map +1 -1
- package/lib/webrtc/data-channel.d.mts.map +1 -1
- package/lib/webrtc/data-channel.d.ts.map +1 -1
- package/lib/webrtc/data-channel.js +9 -1
- package/lib/webrtc/data-channel.js.map +1 -1
- package/lib/webrtc/data-channel.mjs +9 -1
- package/lib/webrtc/data-channel.mjs.map +1 -1
- package/lib/webrtc/subscriptions.d.mts.map +1 -1
- package/lib/webrtc/subscriptions.d.ts.map +1 -1
- package/lib/webrtc/subscriptions.js +2 -0
- package/lib/webrtc/subscriptions.js.map +1 -1
- package/lib/webrtc/subscriptions.mjs +2 -0
- package/lib/webrtc/subscriptions.mjs.map +1 -1
- package/lib/webrtc/types.d.mts.map +1 -1
- package/lib/webrtc/types.d.ts.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 +4 -0
- package/providers/bedrock/aws.js.map +1 -1
- package/providers/bedrock/aws.mjs +4 -0
- 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 +1 -0
- package/realtime/internal-base.js.map +1 -1
- package/realtime/internal-base.mjs +1 -0
- package/realtime/internal-base.mjs.map +1 -1
- package/realtime/websocket.d.mts.map +1 -1
- package/realtime/websocket.d.ts.map +1 -1
- package/realtime/websocket.js +9 -1
- package/realtime/websocket.js.map +1 -1
- package/realtime/websocket.mjs +9 -1
- package/realtime/websocket.mjs.map +1 -1
- package/realtime/ws.d.mts.map +1 -1
- package/realtime/ws.d.ts.map +1 -1
- package/realtime/ws.js +3 -0
- package/realtime/ws.js.map +1 -1
- package/realtime/ws.mjs +3 -0
- package/realtime/ws.mjs.map +1 -1
- package/resources/beta/agents/agents.d.mts +2 -1
- package/resources/beta/agents/agents.d.mts.map +1 -1
- package/resources/beta/agents/agents.d.ts +2 -1
- package/resources/beta/agents/agents.d.ts.map +1 -1
- package/resources/beta/agents/agents.js.map +1 -1
- package/resources/beta/agents/agents.mjs.map +1 -1
- package/resources/beta/beta.d.mts +2 -2
- package/resources/beta/beta.d.mts.map +1 -1
- package/resources/beta/beta.d.ts +2 -2
- package/resources/beta/beta.d.ts.map +1 -1
- package/resources/beta/beta.js.map +1 -1
- package/resources/beta/beta.mjs.map +1 -1
- package/resources/beta/index.d.mts +1 -1
- package/resources/beta/index.d.mts.map +1 -1
- package/resources/beta/index.d.ts +1 -1
- package/resources/beta/index.d.ts.map +1 -1
- package/resources/beta/index.js.map +1 -1
- package/resources/beta/index.mjs.map +1 -1
- package/resources/beta/responses/index.d.mts +1 -1
- package/resources/beta/responses/index.d.mts.map +1 -1
- package/resources/beta/responses/index.d.ts +1 -1
- package/resources/beta/responses/index.d.ts.map +1 -1
- package/resources/beta/responses/index.js.map +1 -1
- package/resources/beta/responses/index.mjs.map +1 -1
- package/resources/beta/responses/internal-base.d.mts +3 -0
- package/resources/beta/responses/internal-base.d.mts.map +1 -1
- package/resources/beta/responses/internal-base.d.ts +3 -0
- package/resources/beta/responses/internal-base.d.ts.map +1 -1
- package/resources/beta/responses/internal-base.js +21 -12
- package/resources/beta/responses/internal-base.js.map +1 -1
- package/resources/beta/responses/internal-base.mjs +21 -12
- package/resources/beta/responses/internal-base.mjs.map +1 -1
- package/resources/beta/responses/responses.d.mts +51 -3
- package/resources/beta/responses/responses.d.mts.map +1 -1
- package/resources/beta/responses/responses.d.ts +51 -3
- 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/beta/responses/ws-base.d.mts +5 -1
- package/resources/beta/responses/ws-base.d.mts.map +1 -1
- package/resources/beta/responses/ws-base.d.ts +5 -1
- package/resources/beta/responses/ws-base.d.ts.map +1 -1
- package/resources/beta/responses/ws-base.js +2 -4
- package/resources/beta/responses/ws-base.js.map +1 -1
- package/resources/beta/responses/ws-base.mjs +2 -4
- package/resources/beta/responses/ws-base.mjs.map +1 -1
- package/resources/beta/responses/ws.d.mts +2 -0
- package/resources/beta/responses/ws.d.mts.map +1 -1
- package/resources/beta/responses/ws.d.ts +2 -0
- package/resources/beta/responses/ws.d.ts.map +1 -1
- package/resources/beta/responses/ws.js +12 -3
- package/resources/beta/responses/ws.js.map +1 -1
- package/resources/beta/responses/ws.mjs +12 -3
- package/resources/beta/responses/ws.mjs.map +1 -1
- package/resources/live/forks/internal-base.d.mts +3 -0
- package/resources/live/forks/internal-base.d.mts.map +1 -1
- package/resources/live/forks/internal-base.d.ts +3 -0
- package/resources/live/forks/internal-base.d.ts.map +1 -1
- package/resources/live/forks/internal-base.js +21 -5
- package/resources/live/forks/internal-base.js.map +1 -1
- package/resources/live/forks/internal-base.mjs +21 -5
- package/resources/live/forks/internal-base.mjs.map +1 -1
- package/resources/live/internal-base.d.mts +3 -0
- package/resources/live/internal-base.d.mts.map +1 -1
- package/resources/live/internal-base.d.ts +3 -0
- package/resources/live/internal-base.d.ts.map +1 -1
- package/resources/live/internal-base.js +21 -5
- package/resources/live/internal-base.js.map +1 -1
- package/resources/live/internal-base.mjs +21 -5
- package/resources/live/internal-base.mjs.map +1 -1
- package/resources/live/sideband/internal-base.d.mts +3 -0
- package/resources/live/sideband/internal-base.d.mts.map +1 -1
- package/resources/live/sideband/internal-base.d.ts +3 -0
- package/resources/live/sideband/internal-base.d.ts.map +1 -1
- package/resources/live/sideband/internal-base.js +21 -5
- package/resources/live/sideband/internal-base.js.map +1 -1
- package/resources/live/sideband/internal-base.mjs +21 -5
- package/resources/live/sideband/internal-base.mjs.map +1 -1
- package/resources/responses/internal-base.d.mts +3 -0
- package/resources/responses/internal-base.d.mts.map +1 -1
- package/resources/responses/internal-base.d.ts +3 -0
- package/resources/responses/internal-base.d.ts.map +1 -1
- package/resources/responses/internal-base.js +21 -12
- package/resources/responses/internal-base.js.map +1 -1
- package/resources/responses/internal-base.mjs +21 -12
- package/resources/responses/internal-base.mjs.map +1 -1
- package/resources/responses/responses.d.mts +36 -3
- package/resources/responses/responses.d.mts.map +1 -1
- package/resources/responses/responses.d.ts +36 -3
- 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/responses/ws-base.d.mts +5 -1
- package/resources/responses/ws-base.d.mts.map +1 -1
- package/resources/responses/ws-base.d.ts +5 -1
- package/resources/responses/ws-base.d.ts.map +1 -1
- package/resources/responses/ws-base.js +2 -4
- package/resources/responses/ws-base.js.map +1 -1
- package/resources/responses/ws-base.mjs +2 -4
- package/resources/responses/ws-base.mjs.map +1 -1
- package/resources/responses/ws.d.mts +2 -0
- package/resources/responses/ws.d.mts.map +1 -1
- package/resources/responses/ws.d.ts +2 -0
- package/resources/responses/ws.d.ts.map +1 -1
- package/resources/responses/ws.js +12 -3
- package/resources/responses/ws.js.map +1 -1
- package/resources/responses/ws.mjs +12 -3
- package/resources/responses/ws.mjs.map +1 -1
- package/src/_vendor/zod-to-json-schema/Options.ts +2 -0
- package/src/_vendor/zod-to-json-schema/parseDef.ts +1 -0
- package/src/_vendor/zod-to-json-schema/parsers/bigint.ts +2 -0
- package/src/_vendor/zod-to-json-schema/parsers/literal.ts +1 -0
- package/src/_vendor/zod-to-json-schema/parsers/null.ts +1 -0
- package/src/_vendor/zod-to-json-schema/parsers/nullable.ts +4 -0
- package/src/_vendor/zod-to-json-schema/parsers/number.ts +2 -0
- package/src/_vendor/zod-to-json-schema/parsers/optional.ts +6 -7
- package/src/_vendor/zod-to-json-schema/parsers/record.ts +2 -0
- package/src/_vendor/zod-to-json-schema/parsers/string.ts +1 -0
- package/src/_vendor/zod-to-json-schema/parsers/union.ts +3 -0
- package/src/_vendor/zod-to-json-schema/util.ts +1 -0
- package/src/_vendor/zod-to-json-schema/zodToJsonSchema.ts +3 -1
- package/src/auth/subject-token-providers.ts +6 -1
- package/src/auth/workload-identity-auth.ts +10 -1
- package/src/auth/x509-transport.ts +13 -2
- package/src/azure.ts +3 -0
- package/src/bedrock.ts +5 -0
- package/src/beta/realtime/internal-base.ts +2 -0
- package/src/beta/realtime/websocket.ts +11 -1
- package/src/beta/realtime/ws.ts +3 -0
- package/src/client.ts +35 -3
- package/src/core/EventEmitter.ts +15 -0
- package/src/core/streaming.ts +30 -2
- package/src/helpers/audio.ts +2 -0
- package/src/helpers/standard-schema.ts +31 -19
- package/src/helpers/zod-v3-strict-schema.ts +8 -2
- package/src/helpers/zod.ts +32 -13
- package/src/internal/assistant-stream-delta.ts +7 -1
- package/src/internal/auth/x509-credential-options.ts +3 -0
- package/src/internal/auth/x509-token-exchange.ts +10 -1
- package/src/internal/auth/x509-transport-capability.ts +2 -1
- package/src/internal/auth/x509-workload-identity-auth.ts +13 -8
- package/src/internal/bedrock.ts +15 -0
- package/src/internal/decoders/line.ts +1 -0
- package/src/internal/parse.ts +1 -0
- package/src/internal/provider.ts +3 -0
- package/src/internal/qs/stringify.ts +3 -0
- package/src/internal/qs/utils.ts +14 -3
- package/src/internal/responses/response-accumulator.ts +34 -4
- package/src/internal/to-file.ts +1 -1
- package/src/internal/uploads.ts +11 -1
- package/src/internal/utils/abort.ts +7 -2
- package/src/internal/utils/bytes.ts +2 -0
- package/src/internal/utils/path.ts +2 -0
- package/src/internal/utils/sleep.ts +52 -1
- package/src/internal/ws-adapter-browser.ts +2 -0
- package/src/internal/ws.ts +44 -4
- package/src/lib/AbstractChatCompletionRunner.ts +40 -17
- package/src/lib/AssistantStream.ts +31 -20
- package/src/lib/ChatCompletionRunner.ts +1 -0
- package/src/lib/ChatCompletionStream.ts +81 -14
- package/src/lib/EventEmitter.ts +15 -0
- package/src/lib/EventStream.ts +93 -3
- package/src/lib/ResponsesParser.ts +5 -0
- package/src/lib/RunnableFunction.ts +4 -1
- package/src/lib/agents/agent-session-stream.ts +5 -3
- package/src/lib/embeddings.ts +3 -1
- package/src/lib/live/transcript-grouper.ts +4 -0
- package/src/lib/parser.ts +16 -2
- package/src/lib/responses/ResponseInputItems.ts +11 -0
- package/src/lib/responses/ResponseStream.ts +6 -3
- package/src/lib/transform.ts +70 -35
- package/src/lib/webrtc/connection.ts +5 -1
- package/src/lib/webrtc/data-channel.ts +7 -0
- package/src/lib/webrtc/subscriptions.ts +3 -0
- package/src/lib/webrtc/types.ts +1 -0
- package/src/providers/bedrock/aws.ts +5 -1
- package/src/realtime/internal-base.ts +2 -0
- package/src/realtime/websocket.ts +11 -1
- package/src/realtime/ws.ts +3 -0
- package/src/resources/beta/agents/agents.ts +2 -0
- package/src/resources/beta/beta.ts +2 -0
- package/src/resources/beta/index.ts +1 -0
- package/src/resources/beta/responses/index.ts +1 -0
- package/src/resources/beta/responses/internal-base.ts +24 -11
- package/src/resources/beta/responses/responses.ts +58 -0
- package/src/resources/beta/responses/ws-base.ts +7 -5
- package/src/resources/beta/responses/ws.ts +21 -6
- package/src/resources/live/forks/internal-base.ts +24 -5
- package/src/resources/live/internal-base.ts +24 -5
- package/src/resources/live/sideband/internal-base.ts +24 -5
- package/src/resources/responses/api.md +1 -0
- package/src/resources/responses/internal-base.ts +24 -11
- package/src/resources/responses/responses.ts +41 -0
- package/src/resources/responses/ws-base.ts +7 -5
- package/src/resources/responses/ws.ts +21 -6
- 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,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _ChatCompletionStream_instances, _ChatCompletionStream_params, _ChatCompletionStream_audioDoneChoiceIndexes, _ChatCompletionStream_choiceEventStates, _ChatCompletionStream_currentChatCompletionSnapshot, _ChatCompletionStream_hasAutoParseableTool, _ChatCompletionStream_partialJSONParseBudget, _ChatCompletionStream_beginRequest, _ChatCompletionStream_getChoiceEventState, _ChatCompletionStream_addChunk, _ChatCompletionStream_emitToolCallDoneEvent, _ChatCompletionStream_emitContentDoneEvents, _ChatCompletionStream_validateStructuredSnapshots, _ChatCompletionStream_endRequest, _ChatCompletionStream_accumulateChatCompletion;
|
|
2
|
+
var _ChatCompletionStream_instances, _ChatCompletionStream_params, _ChatCompletionStream_rejectsUnfinishedTurns, _ChatCompletionStream_audioDoneChoiceIndexes, _ChatCompletionStream_choiceEventStates, _ChatCompletionStream_currentChatCompletionSnapshot, _ChatCompletionStream_hasAutoParseableTool, _ChatCompletionStream_partialJSONParseBudget, _ChatCompletionStream_beginRequest, _ChatCompletionStream_getChoiceEventState, _ChatCompletionStream_addChunk, _ChatCompletionStream_emitToolCallDoneEvent, _ChatCompletionStream_emitContentDoneEvents, _ChatCompletionStream_validateStructuredSnapshots, _ChatCompletionStream_endRequest, _ChatCompletionStream_accumulateChatCompletion;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.ChatCompletionStream = void 0;
|
|
5
5
|
exports.makeChatCompletionReadableStreamMessageChunk = makeChatCompletionReadableStreamMessageChunk;
|
|
@@ -12,6 +12,7 @@ const values_1 = require("../internal/utils/values.js");
|
|
|
12
12
|
const parser_2 = require("../lib/parser.js");
|
|
13
13
|
const streaming_1 = require("../streaming.js");
|
|
14
14
|
const AbstractChatCompletionRunner_1 = require("./AbstractChatCompletionRunner.js");
|
|
15
|
+
// oxlint-disable-next-line anti-slop/no-unknown-returns -- Partial JSON may have any shape; callers validate or parse it against their response schema.
|
|
15
16
|
function parseStructuredStreamingJSON(content) {
|
|
16
17
|
try {
|
|
17
18
|
return (0, parser_1.partialParse)(content);
|
|
@@ -31,6 +32,7 @@ function makeChatCompletionReadableStreamMessageChunk(chunk, message, toolCallId
|
|
|
31
32
|
const payload = {
|
|
32
33
|
type: 'message',
|
|
33
34
|
message,
|
|
35
|
+
// Spread creates an own data property without invoking inherited setters or changing the object prototype.
|
|
34
36
|
...(toolCallIds ? { tool_call_ids: toolCallIds } : {}),
|
|
35
37
|
};
|
|
36
38
|
return {
|
|
@@ -51,6 +53,7 @@ function getChatCompletionReadableStreamMessage(item) {
|
|
|
51
53
|
if ('type' in item) {
|
|
52
54
|
return item;
|
|
53
55
|
}
|
|
56
|
+
// SAFETY: This decoder reads the SDK's tagged readable-stream envelope; JSON parsing restores its serialized message fields for the stream accumulator.
|
|
54
57
|
return JSON.parse(item.object.slice(CHAT_COMPLETION_READABLE_STREAM_MESSAGE_PREFIX.length));
|
|
55
58
|
}
|
|
56
59
|
// The Chat Completions schema limits n to 128. Replayed streams do not retain
|
|
@@ -178,11 +181,13 @@ function reservePartialJSONParse(state, budget) {
|
|
|
178
181
|
function captureStructuredJSONSnapshot(snapshot, property) {
|
|
179
182
|
const descriptor = Object.getOwnPropertyDescriptor(snapshot, property);
|
|
180
183
|
if (!descriptor) {
|
|
184
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; the following traversal checks inherited properties without assuming a specific prototype type.
|
|
181
185
|
let prototype = Object.getPrototypeOf(snapshot);
|
|
182
186
|
for (let depth = 0; prototype !== null; depth += 1) {
|
|
183
187
|
if (depth >= MAX_PARTIAL_JSON_DEPTH || Object.getOwnPropertyDescriptor(prototype, property)) {
|
|
184
188
|
throw new error_1.OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
185
189
|
}
|
|
190
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; the following traversal checks inherited properties without assuming a specific prototype type.
|
|
186
191
|
prototype = Object.getPrototypeOf(prototype);
|
|
187
192
|
}
|
|
188
193
|
return undefined;
|
|
@@ -191,6 +196,7 @@ function captureStructuredJSONSnapshot(snapshot, property) {
|
|
|
191
196
|
(typeof descriptor.value !== 'string' && descriptor.value !== null && descriptor.value !== undefined)) {
|
|
192
197
|
throw new error_1.OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
193
198
|
}
|
|
199
|
+
// SAFETY: The own data descriptor was explicitly checked to contain only a string, null, or undefined.
|
|
194
200
|
return descriptor.value;
|
|
195
201
|
}
|
|
196
202
|
function captureStructuredMessageSnapshot(choice) {
|
|
@@ -201,16 +207,19 @@ function captureStructuredMessageSnapshot(choice) {
|
|
|
201
207
|
descriptor.value === null) {
|
|
202
208
|
throw new error_1.OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
203
209
|
}
|
|
210
|
+
// SAFETY: The choice contract supplies a message; the own data descriptor check prevents getters from changing which object is captured.
|
|
204
211
|
return descriptor.value;
|
|
205
212
|
}
|
|
206
213
|
function captureSnapshotArray(snapshot, property, maximum, kind) {
|
|
207
214
|
const descriptor = Object.getOwnPropertyDescriptor(snapshot, property);
|
|
208
215
|
if (!descriptor) {
|
|
216
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; the following traversal checks inherited properties without assuming a specific prototype type.
|
|
209
217
|
let prototype = Object.getPrototypeOf(snapshot);
|
|
210
218
|
for (let depth = 0; prototype !== null; depth += 1) {
|
|
211
219
|
if (depth >= MAX_PARTIAL_JSON_DEPTH || Object.getOwnPropertyDescriptor(prototype, property)) {
|
|
212
220
|
throw new error_1.OpenAIError(`Chat completion stream contains an unsafe snapshot ${kind} collection`);
|
|
213
221
|
}
|
|
222
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; the following traversal checks inherited properties without assuming a specific prototype type.
|
|
214
223
|
prototype = Object.getPrototypeOf(prototype);
|
|
215
224
|
}
|
|
216
225
|
return undefined;
|
|
@@ -222,6 +231,7 @@ function captureSnapshotArray(snapshot, property, maximum, kind) {
|
|
|
222
231
|
if (!length || !('value' in length) || !Number.isSafeInteger(length.value) || length.value > maximum) {
|
|
223
232
|
throw new error_1.OpenAIError(`Chat completion stream exceeded its snapshot ${kind} limit`);
|
|
224
233
|
}
|
|
234
|
+
// SAFETY: The captured data property is an array with a checked bounded length; Item comes from the owning snapshot collection's contract.
|
|
225
235
|
return descriptor.value;
|
|
226
236
|
}
|
|
227
237
|
function captureSnapshotArrayItem(array, index) {
|
|
@@ -232,6 +242,7 @@ function captureSnapshotArrayItem(array, index) {
|
|
|
232
242
|
if (!('value' in descriptor)) {
|
|
233
243
|
throw new error_1.OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
234
244
|
}
|
|
245
|
+
// SAFETY: The descriptor is a data property of the typed Item array, so its value retains that array's element contract.
|
|
235
246
|
return descriptor.value;
|
|
236
247
|
}
|
|
237
248
|
function mapCapturedSnapshotArray(array, maximum, kind, map) {
|
|
@@ -250,6 +261,7 @@ function mapCapturedSnapshotArray(array, maximum, kind, map) {
|
|
|
250
261
|
if (!('value' in item)) {
|
|
251
262
|
throw new error_1.OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
252
263
|
}
|
|
264
|
+
// SAFETY: The descriptor is a data property of the typed Item array, so its value retains that array's element contract.
|
|
253
265
|
mapped[index] = map(item.value, index);
|
|
254
266
|
}
|
|
255
267
|
return mapped;
|
|
@@ -284,6 +296,7 @@ function assertBoundToolCallIdentity(toolCall, identity) {
|
|
|
284
296
|
throw new error_1.OpenAIError('Chat completion stream contains a changed tool call identity');
|
|
285
297
|
}
|
|
286
298
|
}
|
|
299
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- This assignment primitive copies own properties from heterogeneous snapshot and delta objects.
|
|
287
300
|
function assignOwnProperties(target, source) {
|
|
288
301
|
if (Object.prototype.propertyIsEnumerable.call(source, '__proto__') && !(0, values_1.hasOwn)(target, '__proto__')) {
|
|
289
302
|
Object.defineProperty(target, '__proto__', {
|
|
@@ -303,12 +316,14 @@ function cloneParserConfigObject(value, stableFields = []) {
|
|
|
303
316
|
continue;
|
|
304
317
|
}
|
|
305
318
|
descriptors[field] = {
|
|
319
|
+
// oxlint-disable-next-line anti-slop/no-reflect-get -- Generic config cloning must resolve inherited/accessor keys outside the declared config shape.
|
|
306
320
|
value: descriptor && 'value' in descriptor ? descriptor.value : Reflect.get(value, field, value),
|
|
307
321
|
enumerable: descriptor?.enumerable ?? false,
|
|
308
322
|
configurable: descriptor?.configurable ?? true,
|
|
309
323
|
writable: descriptor && 'writable' in descriptor ? descriptor.writable : false,
|
|
310
324
|
};
|
|
311
325
|
}
|
|
326
|
+
// SAFETY: The clone preserves the original prototype and descriptors, replacing only the parser metadata captured from that same value.
|
|
312
327
|
return Object.create(Object.getPrototypeOf(value), descriptors);
|
|
313
328
|
}
|
|
314
329
|
function snapshotChatCompletionParserParams(params) {
|
|
@@ -326,6 +341,7 @@ function snapshotChatCompletionParserParams(params) {
|
|
|
326
341
|
stableTools.length = index + 1;
|
|
327
342
|
continue;
|
|
328
343
|
}
|
|
344
|
+
// SAFETY: This own data descriptor comes from the request's typed tools array; the following code captures its parser metadata.
|
|
329
345
|
const tool = item.value;
|
|
330
346
|
const stableTool = cloneParserConfigObject(tool, [
|
|
331
347
|
'type',
|
|
@@ -344,6 +360,7 @@ function snapshotChatCompletionParserParams(params) {
|
|
|
344
360
|
value: cloneParserConfigObject(stableTool.function, ['name', 'strict']),
|
|
345
361
|
};
|
|
346
362
|
}
|
|
363
|
+
// SAFETY: The cloned tool retains the original prototype and descriptors while substituting its captured parser configuration.
|
|
347
364
|
stableTools[index] = Object.create(Object.getPrototypeOf(tool), descriptors);
|
|
348
365
|
}
|
|
349
366
|
snapshot.tools = stableTools;
|
|
@@ -374,6 +391,7 @@ function canonicalSerializedParserSchema(value, budget) {
|
|
|
374
391
|
budget.bytes += bytes;
|
|
375
392
|
return true;
|
|
376
393
|
};
|
|
394
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; the following traversal checks inherited properties without assuming a specific prototype type.
|
|
377
395
|
const visit = (current, depth) => {
|
|
378
396
|
if (depth > MAX_SERIALIZED_PARSER_SCHEMA_DEPTH || budget.nodes >= MAX_SERIALIZED_PARSER_SCHEMA_NODES) {
|
|
379
397
|
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
@@ -401,6 +419,7 @@ function canonicalSerializedParserSchema(value, budget) {
|
|
|
401
419
|
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
402
420
|
}
|
|
403
421
|
const array = Array.isArray(current);
|
|
422
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; the following traversal checks inherited properties without assuming a specific prototype type.
|
|
404
423
|
const prototype = Object.getPrototypeOf(current);
|
|
405
424
|
if ((array && prototype !== Array.prototype) ||
|
|
406
425
|
(!array && prototype !== null && prototype !== Object.prototype)) {
|
|
@@ -512,7 +531,11 @@ function canonicalSerializedParserSchema(value, budget) {
|
|
|
512
531
|
return undefined;
|
|
513
532
|
}
|
|
514
533
|
}
|
|
515
|
-
function rememberSerializedParserSchema(signatures,
|
|
534
|
+
function rememberSerializedParserSchema(signatures,
|
|
535
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Parser owners are tracked by identity before their metadata descriptors are validated.
|
|
536
|
+
source,
|
|
537
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Serialized schema holders may be arbitrary objects with hostile accessors or prototypes.
|
|
538
|
+
holder, key) {
|
|
516
539
|
const parser = Object.getOwnPropertyDescriptor(source, '$parseRaw');
|
|
517
540
|
const schema = Object.getOwnPropertyDescriptor(holder, key);
|
|
518
541
|
if (!parser ||
|
|
@@ -527,7 +550,11 @@ function rememberSerializedParserSchema(signatures, source, holder, key) {
|
|
|
527
550
|
signatures.set(source, normalized);
|
|
528
551
|
}
|
|
529
552
|
}
|
|
530
|
-
function hasMatchingSerializedParserSchema(signatures,
|
|
553
|
+
function hasMatchingSerializedParserSchema(signatures,
|
|
554
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Parser signatures belong to the original object identity, independent of its fields.
|
|
555
|
+
source,
|
|
556
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- The schema holder is inspected through own descriptors before its contents are trusted.
|
|
557
|
+
holder, key, value) {
|
|
531
558
|
const expected = source && signatures.get(source);
|
|
532
559
|
const descriptor = Object.getOwnPropertyDescriptor(holder, key);
|
|
533
560
|
return (expected !== undefined &&
|
|
@@ -558,6 +585,7 @@ function shadowSerializedParserMetadata(descriptors, source, fields) {
|
|
|
558
585
|
}
|
|
559
586
|
}
|
|
560
587
|
function snapshotSerializedParserTool(serialized) {
|
|
588
|
+
// SAFETY: The fallback is a serialization scaffold: the code below installs the captured wire fields before the tool is returned.
|
|
561
589
|
const source = serialized.source ??
|
|
562
590
|
{
|
|
563
591
|
type: serialized.type,
|
|
@@ -570,9 +598,11 @@ function snapshotSerializedParserTool(serialized) {
|
|
|
570
598
|
descriptors.function = serializedParserDescriptor(descriptors.function, undefined);
|
|
571
599
|
}
|
|
572
600
|
shadowSerializedParserMetadata(descriptors, source, ['$brand', '$parseRaw', '$callback']);
|
|
601
|
+
// SAFETY: The descriptors reconstruct the tool's captured serialized fields and shadow parser metadata while retaining its original prototype.
|
|
573
602
|
return Object.create(Object.getPrototypeOf(source), descriptors);
|
|
574
603
|
}
|
|
575
604
|
const descriptor = descriptors.function;
|
|
605
|
+
// SAFETY: The preceding guard proves this data descriptor contains a non-null object; no more specific type is assumed.
|
|
576
606
|
const original = descriptor && 'value' in descriptor && typeof descriptor.value === 'object' && descriptor.value !== null
|
|
577
607
|
? descriptor.value
|
|
578
608
|
: {};
|
|
@@ -583,17 +613,21 @@ function snapshotSerializedParserTool(serialized) {
|
|
|
583
613
|
if (!serialized.function.schemaMatches) {
|
|
584
614
|
shadowSerializedParserMetadata(descriptors, source, ['$brand', '$parseRaw', '$callback']);
|
|
585
615
|
}
|
|
616
|
+
// SAFETY: The descriptors reconstruct the tool's captured serialized fields and shadow parser metadata while retaining its original prototype.
|
|
586
617
|
return Object.create(Object.getPrototypeOf(source), descriptors);
|
|
587
618
|
}
|
|
588
619
|
function snapshotSerializedResponseFormat(serialized) {
|
|
620
|
+
// SAFETY: The fallback seeds only the discriminator; the captured response-format fields are installed below before returning it.
|
|
589
621
|
const source = serialized.source ?? { type: serialized.type };
|
|
590
622
|
const descriptors = Object.getOwnPropertyDescriptors(source);
|
|
591
623
|
descriptors.type = serializedParserDescriptor(descriptors.type, serialized.type);
|
|
592
624
|
if (serialized.type !== 'json_schema' || !serialized.source || !serialized.schemaMatches) {
|
|
593
625
|
shadowSerializedParserMetadata(descriptors, source, ['$brand', '$parseRaw']);
|
|
594
626
|
}
|
|
627
|
+
// SAFETY: The descriptors restore the captured response-format fields and parser metadata on the original prototype.
|
|
595
628
|
return Object.create(Object.getPrototypeOf(source), descriptors);
|
|
596
629
|
}
|
|
630
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- The serialization visitor accepts arbitrary object and array holders, inspecting own descriptors only.
|
|
597
631
|
function ownSerializedParserObject(holder, key) {
|
|
598
632
|
const descriptor = Object.getOwnPropertyDescriptor(holder, key);
|
|
599
633
|
if (!descriptor || !('value' in descriptor)) {
|
|
@@ -659,6 +693,8 @@ function observeSerializedChatCompletionParserParams(body, initial, update) {
|
|
|
659
693
|
if (Array.isArray(value)) {
|
|
660
694
|
tools = new Proxy(value, {
|
|
661
695
|
get(target, property) {
|
|
696
|
+
// SAFETY: Proxy property values may be arbitrary; unknown preserves that uncertainty before the property-specific checks below.
|
|
697
|
+
// oxlint-disable-next-line anti-slop/no-reflect-get -- Proxy forwarding must preserve arbitrary keys with the original target as accessor receiver.
|
|
662
698
|
const actual = Reflect.get(target, property, target);
|
|
663
699
|
if (typeof property === 'string') {
|
|
664
700
|
const index = Number(property);
|
|
@@ -770,6 +806,7 @@ class ChatCompletionStream extends AbstractChatCompletionRunner_1.AbstractChatCo
|
|
|
770
806
|
super();
|
|
771
807
|
_ChatCompletionStream_instances.add(this);
|
|
772
808
|
_ChatCompletionStream_params.set(this, void 0);
|
|
809
|
+
_ChatCompletionStream_rejectsUnfinishedTurns.set(this, false);
|
|
773
810
|
_ChatCompletionStream_audioDoneChoiceIndexes.set(this, void 0);
|
|
774
811
|
_ChatCompletionStream_choiceEventStates.set(this, void 0);
|
|
775
812
|
_ChatCompletionStream_currentChatCompletionSnapshot.set(this, void 0);
|
|
@@ -788,6 +825,7 @@ class ChatCompletionStream extends AbstractChatCompletionRunner_1.AbstractChatCo
|
|
|
788
825
|
if (!descriptor || !('value' in descriptor)) {
|
|
789
826
|
continue;
|
|
790
827
|
}
|
|
828
|
+
// SAFETY: The descriptor is read from the typed request tools array and checked as an own data property before accessing the tool.
|
|
791
829
|
const tool = descriptor.value;
|
|
792
830
|
if ((0, parser_2.isChatCompletionFunctionTool)(tool) &&
|
|
793
831
|
((0, parser_2.isAutoParsableTool)(tool) || tool.function.strict === true)) {
|
|
@@ -816,10 +854,16 @@ class ChatCompletionStream extends AbstractChatCompletionRunner_1.AbstractChatCo
|
|
|
816
854
|
}
|
|
817
855
|
/** Starts a streaming chat completion request and returns its event-driven helper. */
|
|
818
856
|
static createChatCompletion(client, params, options) {
|
|
857
|
+
// SAFETY: The runner forces stream: true when sending this request; the same parameters retain the caller's parsing configuration.
|
|
819
858
|
const runner = new ChatCompletionStream(params);
|
|
820
859
|
runner._run(() => runner._runChatCompletion(client, { ...params, stream: true }, { ...options, __metadata: { ...options?.__metadata, helperMethod: 'stream' } }));
|
|
821
860
|
return runner;
|
|
822
861
|
}
|
|
862
|
+
/** Rejects unfinished turns before tool callbacks while preserving ordinary stream and replay behavior. */
|
|
863
|
+
_runTools(client, params, runner, options) {
|
|
864
|
+
tslib_1.__classPrivateFieldSet(this, _ChatCompletionStream_rejectsUnfinishedTurns, true, "f");
|
|
865
|
+
return super._runTools(client, params, runner, options);
|
|
866
|
+
}
|
|
823
867
|
async _createChatCompletion(client, params, options) {
|
|
824
868
|
this._listenForAbort(options?.signal);
|
|
825
869
|
const requestParams = { ...params, stream: true };
|
|
@@ -846,7 +890,7 @@ class ChatCompletionStream extends AbstractChatCompletionRunner_1.AbstractChatCo
|
|
|
846
890
|
tslib_1.__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_addChunk).call(this, chunk);
|
|
847
891
|
}
|
|
848
892
|
if (stream.controller.signal?.aborted) {
|
|
849
|
-
throw
|
|
893
|
+
throw this._userAbortError();
|
|
850
894
|
}
|
|
851
895
|
return this._addChatCompletion(tslib_1.__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_endRequest).call(this));
|
|
852
896
|
}
|
|
@@ -887,7 +931,7 @@ class ChatCompletionStream extends AbstractChatCompletionRunner_1.AbstractChatCo
|
|
|
887
931
|
}
|
|
888
932
|
}
|
|
889
933
|
if (stream.controller.signal?.aborted) {
|
|
890
|
-
throw
|
|
934
|
+
throw this._userAbortError();
|
|
891
935
|
}
|
|
892
936
|
if (tslib_1.__classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f")) {
|
|
893
937
|
return this._addChatCompletion(tslib_1.__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_endRequest).call(this));
|
|
@@ -899,7 +943,7 @@ class ChatCompletionStream extends AbstractChatCompletionRunner_1.AbstractChatCo
|
|
|
899
943
|
throw new error_1.OpenAIError(`request ended without sending any chunks`);
|
|
900
944
|
}
|
|
901
945
|
/** Iterates over raw API chunks; stopping iteration early aborts the underlying request. */
|
|
902
|
-
[(_ChatCompletionStream_params = new WeakMap(), _ChatCompletionStream_audioDoneChoiceIndexes = new WeakMap(), _ChatCompletionStream_choiceEventStates = new WeakMap(), _ChatCompletionStream_currentChatCompletionSnapshot = new WeakMap(), _ChatCompletionStream_hasAutoParseableTool = new WeakMap(), _ChatCompletionStream_partialJSONParseBudget = new WeakMap(), _ChatCompletionStream_instances = new WeakSet(), _ChatCompletionStream_beginRequest = function _ChatCompletionStream_beginRequest() {
|
|
946
|
+
[(_ChatCompletionStream_params = new WeakMap(), _ChatCompletionStream_rejectsUnfinishedTurns = new WeakMap(), _ChatCompletionStream_audioDoneChoiceIndexes = new WeakMap(), _ChatCompletionStream_choiceEventStates = new WeakMap(), _ChatCompletionStream_currentChatCompletionSnapshot = new WeakMap(), _ChatCompletionStream_hasAutoParseableTool = new WeakMap(), _ChatCompletionStream_partialJSONParseBudget = new WeakMap(), _ChatCompletionStream_instances = new WeakSet(), _ChatCompletionStream_beginRequest = function _ChatCompletionStream_beginRequest() {
|
|
903
947
|
if (this.ended) {
|
|
904
948
|
return;
|
|
905
949
|
}
|
|
@@ -1043,7 +1087,9 @@ class ChatCompletionStream extends AbstractChatCompletionRunner_1.AbstractChatCo
|
|
|
1043
1087
|
throw new Error('tool call snapshot missing `type`');
|
|
1044
1088
|
}
|
|
1045
1089
|
if (toolCallSnapshot.type === 'function') {
|
|
1090
|
+
// SAFETY: The find predicate verifies the function-tool discriminator before matching its name; the cast carries that refinement through find.
|
|
1046
1091
|
const inputTool = tslib_1.__classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.tools?.find((tool) => (0, parser_2.isChatCompletionFunctionTool)(tool) && tool.function.name === toolCallSnapshot.function.name); // TS doesn't narrow based on isChatCompletionTool
|
|
1092
|
+
// oxlint-disable-next-line anti-slop/no-known-value-widening -- The initial null is replaced with an arbitrary tool-parser result after snapshot validation.
|
|
1047
1093
|
let parsedArguments = null;
|
|
1048
1094
|
const parseable = (0, parser_2.isAutoParsableTool)(inputTool) || inputTool?.function.strict === true;
|
|
1049
1095
|
let argumentsSnapshot;
|
|
@@ -1195,6 +1241,7 @@ class ChatCompletionStream extends AbstractChatCompletionRunner_1.AbstractChatCo
|
|
|
1195
1241
|
if (!descriptor || !('value' in descriptor)) {
|
|
1196
1242
|
throw new error_1.OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
1197
1243
|
}
|
|
1244
|
+
// SAFETY: The tool-call function is captured through an own data descriptor; its fields are subsequently checked by the structured snapshot reader.
|
|
1198
1245
|
const fn = descriptor.value;
|
|
1199
1246
|
const argumentsSnapshot = captureStructuredJSONSnapshot(fn, 'arguments');
|
|
1200
1247
|
if (typeof argumentsSnapshot !== 'string') {
|
|
@@ -1288,7 +1335,7 @@ class ChatCompletionStream extends AbstractChatCompletionRunner_1.AbstractChatCo
|
|
|
1288
1335
|
}
|
|
1289
1336
|
if (finish_reason) {
|
|
1290
1337
|
choice.finish_reason = finish_reason;
|
|
1291
|
-
if (tslib_1.__classPrivateFieldGet(this, _ChatCompletionStream_params, "f") && (0, parser_2.hasAutoParseableInput)(tslib_1.__classPrivateFieldGet(this, _ChatCompletionStream_params, "f"))) {
|
|
1338
|
+
if (tslib_1.__classPrivateFieldGet(this, _ChatCompletionStream_params, "f") && (tslib_1.__classPrivateFieldGet(this, _ChatCompletionStream_rejectsUnfinishedTurns, "f") || (0, parser_2.hasAutoParseableInput)(tslib_1.__classPrivateFieldGet(this, _ChatCompletionStream_params, "f")))) {
|
|
1292
1339
|
if (finish_reason === 'length') {
|
|
1293
1340
|
throw new error_1.LengthFinishReasonError();
|
|
1294
1341
|
}
|
|
@@ -1303,6 +1350,7 @@ class ChatCompletionStream extends AbstractChatCompletionRunner_1.AbstractChatCo
|
|
|
1303
1350
|
continue;
|
|
1304
1351
|
} // Shouldn't happen; just in case.
|
|
1305
1352
|
tslib_1.__classPrivateFieldGet(this, _ChatCompletionStream_audioDoneChoiceIndexes, "f").delete(index);
|
|
1353
|
+
// SAFETY: Streaming audio fields arrive incrementally even though the generated delta type omits them; each present field is merged below.
|
|
1306
1354
|
const { audio, content, refusal, function_call, role, ...capturedDeltaFields } = delta;
|
|
1307
1355
|
const { tool_calls: capturedToolCallDelta, ...rest } = capturedDeltaFields;
|
|
1308
1356
|
const tool_calls = (0, values_1.hasOwn)(capturedDeltaFields, 'tool_calls') ? capturedToolCallDelta : delta.tool_calls;
|
|
@@ -1382,6 +1430,7 @@ class ChatCompletionStream extends AbstractChatCompletionRunner_1.AbstractChatCo
|
|
|
1382
1430
|
// Tool calls are built up across chunks, so while the stream is in progress the
|
|
1383
1431
|
// entries are only partially filled in; they match `ChatCompletionSnapshot.Choice.Message.ToolCall`
|
|
1384
1432
|
// once every delta for them has been accumulated.
|
|
1433
|
+
// SAFETY: This SDK-owned collection holds partial tool calls during accumulation; finalization checks required fields before exposing completed calls.
|
|
1385
1434
|
const toolCallSnapshots = ((_e = choice.message).tool_calls ?? (_e.tool_calls = []));
|
|
1386
1435
|
for (const toolCallDelta of tool_calls) {
|
|
1387
1436
|
const { index, id, type, function: fn, custom, ...rest } = toolCallDelta;
|
|
@@ -1508,6 +1557,7 @@ function finalizeChatCompletion(snapshot, params, audioDoneChoiceIndexes, valida
|
|
|
1508
1557
|
}
|
|
1509
1558
|
const stableChoice = new Proxy(choice, {
|
|
1510
1559
|
get(target, property, receiver) {
|
|
1560
|
+
// oxlint-disable-next-line anti-slop/no-reflect-get -- Proxy forwarding must preserve arbitrary keys and the original accessor receiver.
|
|
1511
1561
|
return property === 'message' ? validated.message : Reflect.get(target, property, receiver);
|
|
1512
1562
|
},
|
|
1513
1563
|
});
|
|
@@ -1523,6 +1573,7 @@ function finalizeChatCompletion(snapshot, params, audioDoneChoiceIndexes, valida
|
|
|
1523
1573
|
if (property === 'tool_calls') {
|
|
1524
1574
|
return validated.toolCallCollection;
|
|
1525
1575
|
}
|
|
1576
|
+
// oxlint-disable-next-line anti-slop/no-reflect-get -- Proxy forwarding must preserve arbitrary keys and the original accessor receiver.
|
|
1526
1577
|
return Reflect.get(target, property, receiver);
|
|
1527
1578
|
},
|
|
1528
1579
|
});
|
|
@@ -1533,7 +1584,9 @@ function finalizeChatCompletion(snapshot, params, audioDoneChoiceIndexes, valida
|
|
|
1533
1584
|
if (!finishReason) {
|
|
1534
1585
|
throw new error_1.OpenAIError(`missing finish_reason for choice ${index}`);
|
|
1535
1586
|
}
|
|
1587
|
+
// SAFETY: The completed API response contract supplies the audio fields; this preserves the existing pass-through behavior at finalization.
|
|
1536
1588
|
const audioResponse = audio ? { audio: audio } : {};
|
|
1589
|
+
// SAFETY: The API completion contract uses assistant role; retaining the wire role preserves existing behavior without adding runtime rejection.
|
|
1537
1590
|
const role = message.role; // this is what we expect; in theory it could be different which would make our types a slight lie but would be fine.
|
|
1538
1591
|
if (!role) {
|
|
1539
1592
|
throw new error_1.OpenAIError(`missing role for choice ${index}`);
|
|
@@ -1596,6 +1649,7 @@ function finalizeChatCompletion(snapshot, params, audioDoneChoiceIndexes, valida
|
|
|
1596
1649
|
if (property === 'name') {
|
|
1597
1650
|
return captured.name;
|
|
1598
1651
|
}
|
|
1652
|
+
// oxlint-disable-next-line anti-slop/no-reflect-get -- Proxy forwarding must preserve arbitrary keys and the original accessor receiver.
|
|
1599
1653
|
return Reflect.get(target, property, receiver);
|
|
1600
1654
|
},
|
|
1601
1655
|
});
|
|
@@ -1608,6 +1662,7 @@ function finalizeChatCompletion(snapshot, params, audioDoneChoiceIndexes, valida
|
|
|
1608
1662
|
if (property === 'function') {
|
|
1609
1663
|
return stableFunction;
|
|
1610
1664
|
}
|
|
1665
|
+
// oxlint-disable-next-line anti-slop/no-reflect-get -- Proxy forwarding must preserve arbitrary keys and the original accessor receiver.
|
|
1611
1666
|
return Reflect.get(target, property, receiver);
|
|
1612
1667
|
},
|
|
1613
1668
|
})
|
|
@@ -1657,6 +1712,7 @@ function finalizeChatCompletion(snapshot, params, audioDoneChoiceIndexes, valida
|
|
|
1657
1712
|
created,
|
|
1658
1713
|
model,
|
|
1659
1714
|
object: 'chat.completion',
|
|
1715
|
+
// Spread creates an own data property without invoking inherited setters or changing the object prototype.
|
|
1660
1716
|
...(system_fingerprint ? { system_fingerprint } : {}),
|
|
1661
1717
|
};
|
|
1662
1718
|
return (0, parser_2.maybeParseChatCompletion)(completion, params);
|