openai 7.16.0 → 7.18.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 +49 -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 +3 -0
- package/client.d.mts.map +1 -1
- package/client.d.ts +3 -0
- package/client.d.ts.map +1 -1
- package/client.js +39 -6
- package/client.js.map +1 -1
- package/client.mjs +39 -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 +16 -0
- package/internal/ws.d.mts.map +1 -1
- package/internal/ws.d.ts +16 -0
- package/internal/ws.d.ts.map +1 -1
- package/internal/ws.js +71 -5
- package/internal/ws.js.map +1 -1
- package/internal/ws.mjs +68 -6
- 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/responses/responses-websocket-lane.d.mts +63 -0
- package/lib/responses/responses-websocket-lane.d.mts.map +1 -0
- package/lib/responses/responses-websocket-lane.d.ts +63 -0
- package/lib/responses/responses-websocket-lane.d.ts.map +1 -0
- package/lib/responses/responses-websocket-lane.js +314 -0
- package/lib/responses/responses-websocket-lane.js.map +1 -0
- package/lib/responses/responses-websocket-lane.mjs +309 -0
- package/lib/responses/responses-websocket-lane.mjs.map +1 -0
- package/lib/responses/responses-websocket-session.d.mts +38 -0
- package/lib/responses/responses-websocket-session.d.mts.map +1 -0
- package/lib/responses/responses-websocket-session.d.ts +38 -0
- package/lib/responses/responses-websocket-session.d.ts.map +1 -0
- package/lib/responses/responses-websocket-session.js +268 -0
- package/lib/responses/responses-websocket-session.js.map +1 -0
- package/lib/responses/responses-websocket-session.mjs +263 -0
- package/lib/responses/responses-websocket-session.mjs.map +1 -0
- 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/agents/sessions/sessions.d.mts +42 -1
- package/resources/beta/agents/sessions/sessions.d.mts.map +1 -1
- package/resources/beta/agents/sessions/sessions.d.ts +42 -1
- package/resources/beta/agents/sessions/sessions.d.ts.map +1 -1
- package/resources/beta/agents/sessions/sessions.js +2 -1
- package/resources/beta/agents/sessions/sessions.js.map +1 -1
- package/resources/beta/agents/sessions/sessions.mjs +2 -1
- package/resources/beta/agents/sessions/sessions.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 +65 -7
- package/resources/beta/responses/responses.d.mts.map +1 -1
- package/resources/beta/responses/responses.d.ts +65 -7
- 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 +9 -1
- package/resources/beta/responses/ws-base.d.mts.map +1 -1
- package/resources/beta/responses/ws-base.d.ts +9 -1
- package/resources/beta/responses/ws-base.d.ts.map +1 -1
- package/resources/beta/responses/ws-base.js +24 -5
- package/resources/beta/responses/ws-base.js.map +1 -1
- package/resources/beta/responses/ws-base.mjs +23 -6
- 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 +21 -8
- package/resources/beta/responses/ws.js.map +1 -1
- package/resources/beta/responses/ws.mjs +21 -8
- 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/forks/ws.d.mts.map +1 -1
- package/resources/live/forks/ws.d.ts.map +1 -1
- package/resources/live/forks/ws.js +2 -4
- package/resources/live/forks/ws.js.map +1 -1
- package/resources/live/forks/ws.mjs +2 -4
- package/resources/live/forks/ws.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/live/sideband/ws.d.mts.map +1 -1
- package/resources/live/sideband/ws.d.ts.map +1 -1
- package/resources/live/sideband/ws.js +2 -4
- package/resources/live/sideband/ws.js.map +1 -1
- package/resources/live/sideband/ws.mjs +2 -4
- package/resources/live/sideband/ws.mjs.map +1 -1
- package/resources/live/ws.d.mts.map +1 -1
- package/resources/live/ws.d.ts.map +1 -1
- package/resources/live/ws.js +2 -4
- package/resources/live/ws.js.map +1 -1
- package/resources/live/ws.mjs +2 -4
- package/resources/live/ws.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 +47 -4
- package/resources/responses/responses.d.mts.map +1 -1
- package/resources/responses/responses.d.ts +47 -4
- 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 +11 -1
- package/resources/responses/ws-base.d.mts.map +1 -1
- package/resources/responses/ws-base.d.ts +11 -1
- package/resources/responses/ws-base.d.ts.map +1 -1
- package/resources/responses/ws-base.js +29 -8
- package/resources/responses/ws-base.js.map +1 -1
- package/resources/responses/ws-base.mjs +28 -9
- 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 +21 -8
- package/resources/responses/ws.js.map +1 -1
- package/resources/responses/ws.mjs +21 -8
- package/resources/responses/ws.mjs.map +1 -1
- package/resources/shared.d.mts +1 -1
- package/resources/shared.d.mts.map +1 -1
- package/resources/shared.d.ts +1 -1
- package/resources/shared.d.ts.map +1 -1
- package/resources/webhooks/webhooks.d.mts +3 -4
- package/resources/webhooks/webhooks.d.mts.map +1 -1
- package/resources/webhooks/webhooks.d.ts +3 -4
- package/resources/webhooks/webhooks.d.ts.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 +50 -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 +80 -6
- 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/responses/responses-websocket-lane.ts +388 -0
- package/src/lib/responses/responses-websocket-session.ts +317 -0
- 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/agents/sessions/sessions.ts +47 -1
- 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 +82 -4
- package/src/resources/beta/responses/ws-base.ts +31 -6
- package/src/resources/beta/responses/ws.ts +29 -11
- package/src/resources/live/forks/internal-base.ts +24 -5
- package/src/resources/live/forks/ws.ts +4 -5
- package/src/resources/live/internal-base.ts +24 -5
- package/src/resources/live/sideband/internal-base.ts +24 -5
- package/src/resources/live/sideband/ws.ts +4 -5
- package/src/resources/live/ws.ts +4 -5
- package/src/resources/responses/api.md +1 -0
- package/src/resources/responses/internal-base.ts +24 -11
- package/src/resources/responses/responses.ts +56 -1
- package/src/resources/responses/ws-base.ts +36 -9
- package/src/resources/responses/ws.ts +29 -11
- package/src/resources/shared.ts +4 -2
- package/src/resources/webhooks/webhooks.ts +3 -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
|
@@ -96,11 +96,12 @@ function validateStaticCredentials(options: BedrockProviderOptions): AwsCredenti
|
|
|
96
96
|
return {
|
|
97
97
|
accessKeyId: options.accessKeyId,
|
|
98
98
|
secretAccessKey: options.secretAccessKey,
|
|
99
|
+
// Spread creates an own data property without invoking inherited setters or changing the object prototype.
|
|
99
100
|
...(options.sessionToken ? { sessionToken: options.sessionToken } : {}),
|
|
100
101
|
};
|
|
101
102
|
}
|
|
102
103
|
|
|
103
|
-
function requestTarget(parsedURL: URL)
|
|
104
|
+
function requestTarget(parsedURL: URL) {
|
|
104
105
|
const query: Record<string, string | string[]> = Object.create(null);
|
|
105
106
|
for (const [name, value] of parsedURL.searchParams) {
|
|
106
107
|
if (name === '__proto__') {
|
|
@@ -195,6 +196,7 @@ class BedrockSigV4Auth implements BedrockRequestAuth {
|
|
|
195
196
|
}
|
|
196
197
|
|
|
197
198
|
async prepareRequest(request: FinalizedRequestInit, context: ProviderRequestContext): Promise<void> {
|
|
199
|
+
// SAFETY: process is optional outside Node; the native process tag is checked before using Node-specific signing and credential behavior.
|
|
198
200
|
if (Object.prototype.toString.call((globalThis as any).process) !== '[object process]') {
|
|
199
201
|
throw new Errors.OpenAIError(
|
|
200
202
|
'Bedrock AWS credential authentication is only supported in Node.js and compatible server runtimes. Use bearer authentication in this runtime.',
|
|
@@ -230,10 +232,12 @@ class BedrockSigV4Auth implements BedrockRequestAuth {
|
|
|
230
232
|
this.signatureV4().sign({
|
|
231
233
|
protocol: parsedURL.protocol,
|
|
232
234
|
hostname: parsedURL.hostname,
|
|
235
|
+
// Spread creates an own data property without invoking inherited setters or changing the object prototype.
|
|
233
236
|
...(parsedURL.port ? { port: Number(parsedURL.port) } : {}),
|
|
234
237
|
method,
|
|
235
238
|
...target,
|
|
236
239
|
headers: Object.fromEntries(headers.entries()),
|
|
240
|
+
// Spread creates an own data property without invoking inherited setters or changing the object prototype.
|
|
237
241
|
...(body === undefined ? {} : { body }),
|
|
238
242
|
}),
|
|
239
243
|
failureMessage: this.options.usesDefaultChain
|
|
@@ -13,6 +13,7 @@ import { assertX509WebSocketSupported } from '../internal/auth/x509-workload-ide
|
|
|
13
13
|
/** Parses frame data without exposing malformed payloads through JSON syntax errors. */
|
|
14
14
|
export function parseRealtimeEvent(data: string): RealtimeServerEvent {
|
|
15
15
|
try {
|
|
16
|
+
// SAFETY: RealtimeServerEvent is the API wire contract; JSON syntax is checked here while future event types remain accepted at runtime.
|
|
16
17
|
return JSON.parse(data) as RealtimeServerEvent;
|
|
17
18
|
} catch (error) {
|
|
18
19
|
if (error instanceof SyntaxError) {
|
|
@@ -87,6 +88,7 @@ type RealtimeEvents = Simplify<
|
|
|
87
88
|
type: EventType;
|
|
88
89
|
}
|
|
89
90
|
>,
|
|
91
|
+
// oxlint-disable-next-line anti-slop/no-unknown-returns -- Preserve the published event-callback contract, which accepts and ignores arbitrary return values.
|
|
90
92
|
) => unknown;
|
|
91
93
|
}
|
|
92
94
|
>;
|
|
@@ -43,6 +43,7 @@ function isRunningInBrowserOrBrowserWorker(): boolean {
|
|
|
43
43
|
return true;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
// SAFETY: RuntimeScope describes optional host capabilities; the following predicates verify their presence and value before use.
|
|
46
47
|
const scope = globalThis as RuntimeScope;
|
|
47
48
|
return (
|
|
48
49
|
typeof scope.WorkerGlobalScope === 'function' &&
|
|
@@ -61,6 +62,7 @@ function isRunningInBrowserOrBrowserWorker(): boolean {
|
|
|
61
62
|
|
|
62
63
|
/** Reports whether the runtime supports request headers in native WebSocket options. */
|
|
63
64
|
function supportsWebSocketRequestHeaders(): boolean {
|
|
65
|
+
// SAFETY: RuntimeScope describes optional host capabilities; the following predicates verify their presence and value before use.
|
|
64
66
|
const scope = globalThis as RuntimeScope;
|
|
65
67
|
if (
|
|
66
68
|
isRunningInBrowserOrBrowserWorker() ||
|
|
@@ -183,7 +185,9 @@ export class OpenAIRealtimeWebSocket extends OpenAIRealtimeEmitter {
|
|
|
183
185
|
) {
|
|
184
186
|
super();
|
|
185
187
|
let apiKey = getRealtimeAPIKey(client, props.__apiKey);
|
|
188
|
+
// SAFETY: The supplied OpenAI client owns _options; these compatibility reads preserve its provider and browser-consent settings.
|
|
186
189
|
const hasProvider = typeof (client as any)?._options?.apiKey === 'function';
|
|
190
|
+
// SAFETY: The supplied OpenAI client owns _options; these compatibility reads preserve its provider and browser-consent settings.
|
|
187
191
|
const dangerouslyAllowBrowser =
|
|
188
192
|
props.dangerouslyAllowBrowser ??
|
|
189
193
|
(client as any)?._options?.dangerouslyAllowBrowser ??
|
|
@@ -257,7 +261,12 @@ export class OpenAIRealtimeWebSocket extends OpenAIRealtimeEmitter {
|
|
|
257
261
|
});
|
|
258
262
|
|
|
259
263
|
this.socket.addEventListener('error', (event: any) => {
|
|
260
|
-
|
|
264
|
+
// Native ErrorEvents can carry an empty message while `error` still holds the failure.
|
|
265
|
+
const cause = event.error ?? null;
|
|
266
|
+
const message = [event.message, cause?.message].find(
|
|
267
|
+
(value) => typeof value === 'string' && value !== '',
|
|
268
|
+
);
|
|
269
|
+
this._onError(null, message ?? 'unknown error', cause);
|
|
261
270
|
});
|
|
262
271
|
}
|
|
263
272
|
|
|
@@ -317,6 +326,7 @@ export class OpenAIRealtimeWebSocket extends OpenAIRealtimeEmitter {
|
|
|
317
326
|
return new OpenAIRealtimeWebSocket(
|
|
318
327
|
{
|
|
319
328
|
...connection,
|
|
329
|
+
// Preserve explicit browser consent as an own data property without invoking an inherited setter.
|
|
320
330
|
...(dangerouslyAllowBrowser === undefined ? {} : { dangerouslyAllowBrowser }),
|
|
321
331
|
__resolvedApiKey: isApiKeyProvider,
|
|
322
332
|
__apiKey: apiKey,
|
package/src/realtime/ws.ts
CHANGED
|
@@ -55,6 +55,7 @@ export class OpenAIRealtimeWS extends OpenAIRealtimeEmitter {
|
|
|
55
55
|
super();
|
|
56
56
|
client ??= new OpenAI();
|
|
57
57
|
const apiKey = props.__apiKey === undefined ? client.apiKey : props.__apiKey;
|
|
58
|
+
// SAFETY: The supplied OpenAI client owns _options; this read detects its existing API-key provider without changing its public surface.
|
|
58
59
|
const hasProvider = typeof (client as any)?._options?.apiKey === 'function';
|
|
59
60
|
if (hasProvider && !props.__resolvedApiKey) {
|
|
60
61
|
throw new Error(
|
|
@@ -69,6 +70,7 @@ export class OpenAIRealtimeWS extends OpenAIRealtimeEmitter {
|
|
|
69
70
|
const headers = {
|
|
70
71
|
'User-Agent': `${client.constructor.name}/JS ${VERSION}`,
|
|
71
72
|
...props.options?.headers,
|
|
73
|
+
// A credential must be an own data property without invoking an inherited setter.
|
|
72
74
|
...(isAzure(client) && !props.__resolvedApiKey ? {} : { Authorization: `Bearer ${apiKey}` }),
|
|
73
75
|
};
|
|
74
76
|
|
|
@@ -178,6 +180,7 @@ export class OpenAIRealtimeWS extends OpenAIRealtimeEmitter {
|
|
|
178
180
|
...props.options,
|
|
179
181
|
headers: {
|
|
180
182
|
...props.options?.headers,
|
|
183
|
+
// A credential must be an own data property without invoking an inherited setter.
|
|
181
184
|
...(isApiKeyProvider ? {} : { 'api-key': apiKey }),
|
|
182
185
|
},
|
|
183
186
|
},
|
|
@@ -4048,6 +4048,7 @@ export interface SessionTurnError {
|
|
|
4048
4048
|
* - `session_budget_exceeded` - The session has reached its usage budget.
|
|
4049
4049
|
* - `usage_limit_exceeded` - The organization has reached a usage, plan, or
|
|
4050
4050
|
* billing limit.
|
|
4051
|
+
* - `credit_balance_exhausted` - The organization has no API credits remaining.
|
|
4051
4052
|
* - `rate_limit_exceeded` - The request exceeds the available rate limit.
|
|
4052
4053
|
* - `server_overloaded` - The model service is temporarily overloaded.
|
|
4053
4054
|
* - `cyber_policy` - The request was rejected by a safety policy.
|
|
@@ -4070,6 +4071,7 @@ export interface SessionTurnError {
|
|
|
4070
4071
|
| 'context_length_exceeded'
|
|
4071
4072
|
| 'session_budget_exceeded'
|
|
4072
4073
|
| 'usage_limit_exceeded'
|
|
4074
|
+
| 'credit_balance_exhausted'
|
|
4073
4075
|
| 'rate_limit_exceeded'
|
|
4074
4076
|
| 'server_overloaded'
|
|
4075
4077
|
| 'cyber_policy'
|
|
@@ -100,7 +100,8 @@ export class Sessions extends APIResource {
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
/**
|
|
103
|
-
* Updates session metadata
|
|
103
|
+
* Updates session metadata, model, reasoning effort, or service tier. Model
|
|
104
|
+
* settings apply to subsequent turns. Omitted fields are unchanged. See
|
|
104
105
|
* [managing sessions](https://developers.openai.com/api/docs/guides/agents-api/sessions/manage).
|
|
105
106
|
*
|
|
106
107
|
* @example
|
|
@@ -277,6 +278,11 @@ export interface SessionCreateParamsStreaming extends SessionCreateParamsBase {
|
|
|
277
278
|
}
|
|
278
279
|
|
|
279
280
|
export interface SessionUpdateParams {
|
|
281
|
+
/**
|
|
282
|
+
* Model settings for subsequent turns. Omitted fields stay unchanged.
|
|
283
|
+
*/
|
|
284
|
+
agent?: SessionUpdateParams.Agent;
|
|
285
|
+
|
|
280
286
|
/**
|
|
281
287
|
* Replaces all metadata. Omit to leave unchanged, or pass null or {} to clear it.
|
|
282
288
|
* Up to 16 string key-value pairs, with keys up to 64 and values up to 512
|
|
@@ -285,6 +291,46 @@ export interface SessionUpdateParams {
|
|
|
285
291
|
metadata?: { [key: string]: string } | null;
|
|
286
292
|
}
|
|
287
293
|
|
|
294
|
+
export namespace SessionUpdateParams {
|
|
295
|
+
/**
|
|
296
|
+
* Model settings for subsequent turns. Omitted fields stay unchanged.
|
|
297
|
+
*/
|
|
298
|
+
export interface Agent {
|
|
299
|
+
/**
|
|
300
|
+
* The model for subsequent turns. Omit to keep the current model.
|
|
301
|
+
*/
|
|
302
|
+
model?: string;
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* Reasoning settings to update. Omit to keep the current effort.
|
|
306
|
+
*/
|
|
307
|
+
reasoning?: Agent.Reasoning;
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* The service tier used for model requests.
|
|
311
|
+
*
|
|
312
|
+
* - `auto` - Selects the service tier automatically.
|
|
313
|
+
* - `default` - Uses the default service tier.
|
|
314
|
+
* - `flex` - Uses the flex service tier.
|
|
315
|
+
* - `priority` - Uses the priority service tier.
|
|
316
|
+
* - `fast` - Uses the fast service tier.
|
|
317
|
+
*/
|
|
318
|
+
service_tier?: 'auto' | 'default' | 'flex' | 'priority' | 'fast' | null;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
export namespace Agent {
|
|
322
|
+
/**
|
|
323
|
+
* Reasoning settings to update. Omit to keep the current effort.
|
|
324
|
+
*/
|
|
325
|
+
export interface Reasoning {
|
|
326
|
+
/**
|
|
327
|
+
* The amount of reasoning effort the model should use.
|
|
328
|
+
*/
|
|
329
|
+
effort?: 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max' | null;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
|
|
288
334
|
export interface SessionListParams extends CursorPageParams {
|
|
289
335
|
/**
|
|
290
336
|
* Only return sessions whose root agent has this ID. Omit to return sessions for
|
|
@@ -217,6 +217,7 @@ import {
|
|
|
217
217
|
BetaResponseCodeInterpreterCallInProgressEvent,
|
|
218
218
|
BetaResponseCodeInterpreterCallInterpretingEvent,
|
|
219
219
|
BetaResponseCodeInterpreterToolCall,
|
|
220
|
+
BetaResponseCompactionCompactingEvent,
|
|
220
221
|
BetaResponseCompactionItem,
|
|
221
222
|
BetaResponseCompactionItemParam,
|
|
222
223
|
BetaResponseCompletedEvent,
|
|
@@ -588,6 +589,7 @@ export declare namespace Beta {
|
|
|
588
589
|
type BetaResponseCodeInterpreterCallInProgressEvent as BetaResponseCodeInterpreterCallInProgressEvent,
|
|
589
590
|
type BetaResponseCodeInterpreterCallInterpretingEvent as BetaResponseCodeInterpreterCallInterpretingEvent,
|
|
590
591
|
type BetaResponseCodeInterpreterToolCall as BetaResponseCodeInterpreterToolCall,
|
|
592
|
+
type BetaResponseCompactionCompactingEvent as BetaResponseCompactionCompactingEvent,
|
|
591
593
|
type BetaResponseCompactionItem as BetaResponseCompactionItem,
|
|
592
594
|
type BetaResponseCompactionItemParam as BetaResponseCompactionItemParam,
|
|
593
595
|
type BetaResponseCompletedEvent as BetaResponseCompletedEvent,
|
|
@@ -165,6 +165,7 @@ export {
|
|
|
165
165
|
type BetaResponseCodeInterpreterCallInProgressEvent,
|
|
166
166
|
type BetaResponseCodeInterpreterCallInterpretingEvent,
|
|
167
167
|
type BetaResponseCodeInterpreterToolCall,
|
|
168
|
+
type BetaResponseCompactionCompactingEvent,
|
|
168
169
|
type BetaResponseCompactionItem,
|
|
169
170
|
type BetaResponseCompactionItemParam,
|
|
170
171
|
type BetaResponseCompletedEvent,
|
|
@@ -40,6 +40,7 @@ export {
|
|
|
40
40
|
type BetaResponseCodeInterpreterCallInProgressEvent,
|
|
41
41
|
type BetaResponseCodeInterpreterCallInterpretingEvent,
|
|
42
42
|
type BetaResponseCodeInterpreterToolCall,
|
|
43
|
+
type BetaResponseCompactionCompactingEvent,
|
|
43
44
|
type BetaResponseCompactionItem,
|
|
44
45
|
type BetaResponseCompactionItemParam,
|
|
45
46
|
type BetaResponseCompletedEvent,
|
|
@@ -27,13 +27,21 @@ type WebSocketErrorEvent = Extract<ResponsesAPI.BetaResponsesServerEvent, { type
|
|
|
27
27
|
export class WebSocketError extends OpenAIError {
|
|
28
28
|
/**
|
|
29
29
|
* The error data that the API sent back in an error event.
|
|
30
|
+
*
|
|
31
|
+
* This property is non-enumerable to avoid exposing the event through
|
|
32
|
+
* JSON serialization, object spread, or Object.assign.
|
|
30
33
|
*/
|
|
31
34
|
error?: WebSocketErrorEvent | undefined;
|
|
32
35
|
|
|
33
36
|
constructor(message: string, event: WebSocketErrorEvent | null) {
|
|
34
37
|
super(message);
|
|
35
38
|
|
|
36
|
-
this
|
|
39
|
+
Object.defineProperty(this, 'error', {
|
|
40
|
+
value: event ?? undefined,
|
|
41
|
+
writable: true,
|
|
42
|
+
configurable: true,
|
|
43
|
+
enumerable: false,
|
|
44
|
+
});
|
|
37
45
|
}
|
|
38
46
|
}
|
|
39
47
|
|
|
@@ -77,13 +85,8 @@ export abstract class ResponsesEmitter extends EventEmitter<WebSocketEvents> {
|
|
|
77
85
|
protected _onError(event: null, message: string, cause: any): void;
|
|
78
86
|
protected _onError(event: WebSocketErrorEvent, message?: string | undefined): void;
|
|
79
87
|
protected _onError(event: WebSocketErrorEvent | null, message?: string | undefined, cause?: any): void {
|
|
80
|
-
const
|
|
81
|
-
message =
|
|
82
|
-
try {
|
|
83
|
-
message = String(message);
|
|
84
|
-
} catch {
|
|
85
|
-
message = '[unserializable error value]';
|
|
86
|
-
}
|
|
88
|
+
const safeMessage = safeWebSocketErrorMessage(event, message);
|
|
89
|
+
message = safeMessage ?? 'unknown error';
|
|
87
90
|
|
|
88
91
|
if (!this._hasListener('error')) {
|
|
89
92
|
const error = new WebSocketError(
|
|
@@ -114,10 +117,20 @@ export function buildURL(client: OpenAI, parameters: Record<string, unknown>): U
|
|
|
114
117
|
return url;
|
|
115
118
|
}
|
|
116
119
|
|
|
117
|
-
function
|
|
120
|
+
function safeWebSocketErrorMessage(event: unknown, message: unknown): string | undefined {
|
|
121
|
+
if (typeof message === 'string') return message;
|
|
122
|
+
if (typeof event !== 'object' || event === null) return undefined;
|
|
123
|
+
|
|
118
124
|
try {
|
|
119
|
-
|
|
125
|
+
const error = Object.getOwnPropertyDescriptor(event, 'error')?.value;
|
|
126
|
+
const nestedMessage =
|
|
127
|
+
typeof error === 'object' && error !== null
|
|
128
|
+
? Object.getOwnPropertyDescriptor(error, 'message')?.value
|
|
129
|
+
: undefined;
|
|
130
|
+
const eventMessage = Object.getOwnPropertyDescriptor(event, 'message')?.value;
|
|
131
|
+
const candidate = typeof nestedMessage === 'string' ? nestedMessage : eventMessage;
|
|
132
|
+
return typeof candidate === 'string' ? candidate : undefined;
|
|
120
133
|
} catch {
|
|
121
|
-
return
|
|
134
|
+
return undefined;
|
|
122
135
|
}
|
|
123
136
|
}
|
|
@@ -1163,7 +1163,6 @@ export interface BetaResponse {
|
|
|
1163
1163
|
| 'gpt-5.1'
|
|
1164
1164
|
| 'gpt-5.1-2025-11-13'
|
|
1165
1165
|
| 'gpt-5.1-codex'
|
|
1166
|
-
| 'gpt-5.1-mini'
|
|
1167
1166
|
| 'gpt-5.1-chat-latest'
|
|
1168
1167
|
| 'gpt-5'
|
|
1169
1168
|
| 'gpt-5-mini'
|
|
@@ -1194,6 +1193,8 @@ export interface BetaResponse {
|
|
|
1194
1193
|
| 'gpt-4o-2024-11-20'
|
|
1195
1194
|
| 'gpt-4o-2024-08-06'
|
|
1196
1195
|
| 'gpt-4o-2024-05-13'
|
|
1196
|
+
| 'gpt-audio-mini'
|
|
1197
|
+
| 'gpt-audio-mini-2025-12-15'
|
|
1197
1198
|
| 'gpt-4o-audio-preview'
|
|
1198
1199
|
| 'gpt-4o-audio-preview-2024-10-01'
|
|
1199
1200
|
| 'gpt-4o-audio-preview-2024-12-17'
|
|
@@ -1227,6 +1228,7 @@ export interface BetaResponse {
|
|
|
1227
1228
|
| 'gpt-3.5-turbo-1106'
|
|
1228
1229
|
| 'gpt-3.5-turbo-0125'
|
|
1229
1230
|
| 'gpt-3.5-turbo-16k-0613'
|
|
1231
|
+
| 'gpt-5.1-mini'
|
|
1230
1232
|
| 'o1-pro'
|
|
1231
1233
|
| 'o1-pro-2025-03-19'
|
|
1232
1234
|
| 'o3-pro'
|
|
@@ -2443,6 +2445,49 @@ export namespace BetaResponseCodeInterpreterToolCall {
|
|
|
2443
2445
|
}
|
|
2444
2446
|
}
|
|
2445
2447
|
|
|
2448
|
+
/**
|
|
2449
|
+
* Emitted when new summary content is sampled for a compaction trigger. Contains
|
|
2450
|
+
* no summary content.
|
|
2451
|
+
*/
|
|
2452
|
+
export interface BetaResponseCompactionCompactingEvent {
|
|
2453
|
+
/**
|
|
2454
|
+
* The ID of the compaction output item.
|
|
2455
|
+
*/
|
|
2456
|
+
item_id: string;
|
|
2457
|
+
|
|
2458
|
+
/**
|
|
2459
|
+
* The index of the compaction output item.
|
|
2460
|
+
*/
|
|
2461
|
+
output_index: number;
|
|
2462
|
+
|
|
2463
|
+
/**
|
|
2464
|
+
* The sequence number of the event that was emitted.
|
|
2465
|
+
*/
|
|
2466
|
+
sequence_number: number;
|
|
2467
|
+
|
|
2468
|
+
/**
|
|
2469
|
+
* The type of the event, always `response.compaction.compacting`.
|
|
2470
|
+
*/
|
|
2471
|
+
type: 'response.compaction.compacting';
|
|
2472
|
+
|
|
2473
|
+
/**
|
|
2474
|
+
* The agent that owns this multi-agent streaming event.
|
|
2475
|
+
*/
|
|
2476
|
+
agent?: BetaResponseCompactionCompactingEvent.Agent;
|
|
2477
|
+
}
|
|
2478
|
+
|
|
2479
|
+
export namespace BetaResponseCompactionCompactingEvent {
|
|
2480
|
+
/**
|
|
2481
|
+
* The agent that owns this multi-agent streaming event.
|
|
2482
|
+
*/
|
|
2483
|
+
export interface Agent {
|
|
2484
|
+
/**
|
|
2485
|
+
* The canonical name of the agent that produced this item.
|
|
2486
|
+
*/
|
|
2487
|
+
agent_name: string;
|
|
2488
|
+
}
|
|
2489
|
+
}
|
|
2490
|
+
|
|
2446
2491
|
/**
|
|
2447
2492
|
* A compaction item generated by the
|
|
2448
2493
|
* [`v1/responses/compact` API](https://developers.openai.com/api/reference/resources/responses/methods/compact).
|
|
@@ -10942,6 +10987,7 @@ export type BetaResponseStreamEvent =
|
|
|
10942
10987
|
| BetaResponseCodeInterpreterCallCompletedEvent
|
|
10943
10988
|
| BetaResponseCodeInterpreterCallInProgressEvent
|
|
10944
10989
|
| BetaResponseCodeInterpreterCallInterpretingEvent
|
|
10990
|
+
| BetaResponseCompactionCompactingEvent
|
|
10945
10991
|
| BetaResponseCompletedEvent
|
|
10946
10992
|
| BetaResponseContentPartAddedEvent
|
|
10947
10993
|
| BetaResponseContentPartDoneEvent
|
|
@@ -11696,7 +11742,6 @@ export namespace BetaResponsesClientEvent {
|
|
|
11696
11742
|
| 'gpt-5.1'
|
|
11697
11743
|
| 'gpt-5.1-2025-11-13'
|
|
11698
11744
|
| 'gpt-5.1-codex'
|
|
11699
|
-
| 'gpt-5.1-mini'
|
|
11700
11745
|
| 'gpt-5.1-chat-latest'
|
|
11701
11746
|
| 'gpt-5'
|
|
11702
11747
|
| 'gpt-5-mini'
|
|
@@ -11727,6 +11772,8 @@ export namespace BetaResponsesClientEvent {
|
|
|
11727
11772
|
| 'gpt-4o-2024-11-20'
|
|
11728
11773
|
| 'gpt-4o-2024-08-06'
|
|
11729
11774
|
| 'gpt-4o-2024-05-13'
|
|
11775
|
+
| 'gpt-audio-mini'
|
|
11776
|
+
| 'gpt-audio-mini-2025-12-15'
|
|
11730
11777
|
| 'gpt-4o-audio-preview'
|
|
11731
11778
|
| 'gpt-4o-audio-preview-2024-10-01'
|
|
11732
11779
|
| 'gpt-4o-audio-preview-2024-12-17'
|
|
@@ -11760,6 +11807,7 @@ export namespace BetaResponsesClientEvent {
|
|
|
11760
11807
|
| 'gpt-3.5-turbo-1106'
|
|
11761
11808
|
| 'gpt-3.5-turbo-0125'
|
|
11762
11809
|
| 'gpt-3.5-turbo-16k-0613'
|
|
11810
|
+
| 'gpt-5.1-mini'
|
|
11763
11811
|
| 'o1-pro'
|
|
11764
11812
|
| 'o1-pro-2025-03-19'
|
|
11765
11813
|
| 'o3-pro'
|
|
@@ -12134,6 +12182,12 @@ export namespace BetaResponsesClientEvent {
|
|
|
12134
12182
|
*/
|
|
12135
12183
|
mode?: 'implicit' | 'explicit';
|
|
12136
12184
|
|
|
12185
|
+
/**
|
|
12186
|
+
* Prepares the prompt cache without generating output. Defaults to `false`. When
|
|
12187
|
+
* set to `true`, overrides the `generate` field to `false`.
|
|
12188
|
+
*/
|
|
12189
|
+
prewarm?: boolean;
|
|
12190
|
+
|
|
12137
12191
|
/**
|
|
12138
12192
|
* The minimum lifetime applied to every implicit and explicit cache breakpoint
|
|
12139
12193
|
* written by the request. Defaults to `30m`, which is currently the only supported
|
|
@@ -12231,6 +12285,7 @@ export type BetaResponsesServerEvent =
|
|
|
12231
12285
|
| BetaResponsesServerEvent.BetaResponseCodeInterpreterCallWsCompleted
|
|
12232
12286
|
| BetaResponsesServerEvent.BetaResponseCodeInterpreterCallInWsProgress
|
|
12233
12287
|
| BetaResponsesServerEvent.BetaResponseCodeInterpreterCallWsInterpreting
|
|
12288
|
+
| BetaResponsesServerEvent.BetaResponseCompactionWsCompacting
|
|
12234
12289
|
| BetaResponsesServerEvent.BetaResponseWsCompleted
|
|
12235
12290
|
| BetaResponsesServerEvent.BetaResponseContentPartWsAdded
|
|
12236
12291
|
| BetaResponsesServerEvent.BetaResponseContentPartWsDone
|
|
@@ -12387,6 +12442,18 @@ export namespace BetaResponsesServerEvent {
|
|
|
12387
12442
|
stream_id?: string;
|
|
12388
12443
|
}
|
|
12389
12444
|
|
|
12445
|
+
/**
|
|
12446
|
+
* Emitted when new summary content is sampled for a compaction trigger. Contains
|
|
12447
|
+
* no summary content.
|
|
12448
|
+
*/
|
|
12449
|
+
export interface BetaResponseCompactionWsCompacting extends BetaResponseCompactionCompactingEvent {
|
|
12450
|
+
/**
|
|
12451
|
+
* The WebSocket lane that emitted this event. This field is present when the
|
|
12452
|
+
* originating `response.create` event supplied a `stream_id`.
|
|
12453
|
+
*/
|
|
12454
|
+
stream_id?: string;
|
|
12455
|
+
}
|
|
12456
|
+
|
|
12390
12457
|
/**
|
|
12391
12458
|
* Emitted when the model response is complete.
|
|
12392
12459
|
*/
|
|
@@ -13926,7 +13993,6 @@ export interface ResponseCreateParamsBase {
|
|
|
13926
13993
|
| 'gpt-5.1'
|
|
13927
13994
|
| 'gpt-5.1-2025-11-13'
|
|
13928
13995
|
| 'gpt-5.1-codex'
|
|
13929
|
-
| 'gpt-5.1-mini'
|
|
13930
13996
|
| 'gpt-5.1-chat-latest'
|
|
13931
13997
|
| 'gpt-5'
|
|
13932
13998
|
| 'gpt-5-mini'
|
|
@@ -13957,6 +14023,8 @@ export interface ResponseCreateParamsBase {
|
|
|
13957
14023
|
| 'gpt-4o-2024-11-20'
|
|
13958
14024
|
| 'gpt-4o-2024-08-06'
|
|
13959
14025
|
| 'gpt-4o-2024-05-13'
|
|
14026
|
+
| 'gpt-audio-mini'
|
|
14027
|
+
| 'gpt-audio-mini-2025-12-15'
|
|
13960
14028
|
| 'gpt-4o-audio-preview'
|
|
13961
14029
|
| 'gpt-4o-audio-preview-2024-10-01'
|
|
13962
14030
|
| 'gpt-4o-audio-preview-2024-12-17'
|
|
@@ -13990,6 +14058,7 @@ export interface ResponseCreateParamsBase {
|
|
|
13990
14058
|
| 'gpt-3.5-turbo-1106'
|
|
13991
14059
|
| 'gpt-3.5-turbo-0125'
|
|
13992
14060
|
| 'gpt-3.5-turbo-16k-0613'
|
|
14061
|
+
| 'gpt-5.1-mini'
|
|
13993
14062
|
| 'o1-pro'
|
|
13994
14063
|
| 'o1-pro-2025-03-19'
|
|
13995
14064
|
| 'o3-pro'
|
|
@@ -14365,6 +14434,12 @@ export namespace ResponseCreateParams {
|
|
|
14365
14434
|
*/
|
|
14366
14435
|
mode?: 'implicit' | 'explicit';
|
|
14367
14436
|
|
|
14437
|
+
/**
|
|
14438
|
+
* Prepares the prompt cache without generating output. Defaults to `false`. When
|
|
14439
|
+
* set to `true`, overrides the `generate` field to `false`.
|
|
14440
|
+
*/
|
|
14441
|
+
prewarm?: boolean;
|
|
14442
|
+
|
|
14368
14443
|
/**
|
|
14369
14444
|
* The minimum lifetime applied to every implicit and explicit cache breakpoint
|
|
14370
14445
|
* written by the request. Defaults to `30m`, which is currently the only supported
|
|
@@ -14588,7 +14663,6 @@ export interface ResponseCompactParams {
|
|
|
14588
14663
|
| 'gpt-5.1'
|
|
14589
14664
|
| 'gpt-5.1-2025-11-13'
|
|
14590
14665
|
| 'gpt-5.1-codex'
|
|
14591
|
-
| 'gpt-5.1-mini'
|
|
14592
14666
|
| 'gpt-5.1-chat-latest'
|
|
14593
14667
|
| 'gpt-5'
|
|
14594
14668
|
| 'gpt-5-mini'
|
|
@@ -14619,6 +14693,8 @@ export interface ResponseCompactParams {
|
|
|
14619
14693
|
| 'gpt-4o-2024-11-20'
|
|
14620
14694
|
| 'gpt-4o-2024-08-06'
|
|
14621
14695
|
| 'gpt-4o-2024-05-13'
|
|
14696
|
+
| 'gpt-audio-mini'
|
|
14697
|
+
| 'gpt-audio-mini-2025-12-15'
|
|
14622
14698
|
| 'gpt-4o-audio-preview'
|
|
14623
14699
|
| 'gpt-4o-audio-preview-2024-10-01'
|
|
14624
14700
|
| 'gpt-4o-audio-preview-2024-12-17'
|
|
@@ -14652,6 +14728,7 @@ export interface ResponseCompactParams {
|
|
|
14652
14728
|
| 'gpt-3.5-turbo-1106'
|
|
14653
14729
|
| 'gpt-3.5-turbo-0125'
|
|
14654
14730
|
| 'gpt-3.5-turbo-16k-0613'
|
|
14731
|
+
| 'gpt-5.1-mini'
|
|
14655
14732
|
| 'o1-pro'
|
|
14656
14733
|
| 'o1-pro-2025-03-19'
|
|
14657
14734
|
| 'o3-pro'
|
|
@@ -14820,6 +14897,7 @@ export declare namespace Responses {
|
|
|
14820
14897
|
type BetaResponseCodeInterpreterCallInProgressEvent as BetaResponseCodeInterpreterCallInProgressEvent,
|
|
14821
14898
|
type BetaResponseCodeInterpreterCallInterpretingEvent as BetaResponseCodeInterpreterCallInterpretingEvent,
|
|
14822
14899
|
type BetaResponseCodeInterpreterToolCall as BetaResponseCodeInterpreterToolCall,
|
|
14900
|
+
type BetaResponseCompactionCompactingEvent as BetaResponseCompactionCompactingEvent,
|
|
14823
14901
|
type BetaResponseCompactionItem as BetaResponseCompactionItem,
|
|
14824
14902
|
type BetaResponseCompactionItemParam as BetaResponseCompactionItemParam,
|
|
14825
14903
|
type BetaResponseCompletedEvent as BetaResponseCompletedEvent,
|
|
@@ -7,6 +7,8 @@ import { type WebSocketLike, ReadyState } from '../../../internal/ws-adapter';
|
|
|
7
7
|
import {
|
|
8
8
|
SendQueue,
|
|
9
9
|
getMaxBufferedEvents,
|
|
10
|
+
recordWebSocketError,
|
|
11
|
+
rawByteLength,
|
|
10
12
|
type WebSocketStreamOptions,
|
|
11
13
|
flattenRawData,
|
|
12
14
|
isRecoverableClose,
|
|
@@ -19,6 +21,19 @@ import * as ResponsesAPI from './responses';
|
|
|
19
21
|
import { OpenAI } from '../../../client';
|
|
20
22
|
import { OpenAIError } from '../../../core/error';
|
|
21
23
|
|
|
24
|
+
const webSocketEventPayloads = new WeakMap<object, string>();
|
|
25
|
+
const webSocketEventBytes = new WeakMap<object, number>();
|
|
26
|
+
|
|
27
|
+
/** Original wire size, available only during synchronous event notification. @internal */
|
|
28
|
+
export function getWebSocketEventBytes(event: object): number | undefined {
|
|
29
|
+
return webSocketEventBytes.get(event);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** Original JSON, available only during synchronous event notification. @internal */
|
|
33
|
+
export function getWebSocketEventPayload(event: object): string | undefined {
|
|
34
|
+
return webSocketEventPayloads.get(event);
|
|
35
|
+
}
|
|
36
|
+
|
|
22
37
|
export interface ResponsesWSReconnectOptions {
|
|
23
38
|
/**
|
|
24
39
|
* Called before each reconnect attempt. Return an object with
|
|
@@ -103,7 +118,11 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
103
118
|
this.socket = this._connect();
|
|
104
119
|
}
|
|
105
120
|
|
|
106
|
-
/**
|
|
121
|
+
/**
|
|
122
|
+
* Creates a platform-specific WebSocket for the given URL and captured client auth headers.
|
|
123
|
+
* The transport must supply or validate its final credentials before connecting;
|
|
124
|
+
* these headers may be empty when authentication is managed by the transport.
|
|
125
|
+
*/
|
|
107
126
|
protected abstract _createSocket(url: URL, authHeaders: Record<string, string>): TSocket;
|
|
108
127
|
|
|
109
128
|
send(event: ResponsesAPI.BetaResponsesClientEvent) {
|
|
@@ -453,7 +472,14 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
453
472
|
return;
|
|
454
473
|
}
|
|
455
474
|
|
|
456
|
-
|
|
475
|
+
webSocketEventBytes.set(event, rawByteLength(data));
|
|
476
|
+
webSocketEventPayloads.set(event, text);
|
|
477
|
+
try {
|
|
478
|
+
this._emit('event', event);
|
|
479
|
+
} finally {
|
|
480
|
+
webSocketEventBytes.delete(event);
|
|
481
|
+
webSocketEventPayloads.delete(event);
|
|
482
|
+
}
|
|
457
483
|
|
|
458
484
|
if (event.type === 'error') {
|
|
459
485
|
this._onError(event);
|
|
@@ -464,6 +490,7 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
464
490
|
});
|
|
465
491
|
|
|
466
492
|
socket.on('error', (err: Error) => {
|
|
493
|
+
recordWebSocketError(socket, err);
|
|
467
494
|
// Suppress transient errors during reconnection — the retry loop
|
|
468
495
|
// already handles them and will surface a close if retries exhaust.
|
|
469
496
|
if (this._isReconnecting) return;
|
|
@@ -696,9 +723,7 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
696
723
|
}
|
|
697
724
|
|
|
698
725
|
protected _authHeaders(): Record<string, string> {
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
}
|
|
702
|
-
return {};
|
|
726
|
+
const apiKey = this._client.apiKey;
|
|
727
|
+
return typeof apiKey === 'string' && apiKey ? { Authorization: `Bearer ${apiKey}` } : {};
|
|
703
728
|
}
|
|
704
729
|
}
|
|
@@ -4,13 +4,17 @@ import * as WS from 'ws';
|
|
|
4
4
|
import { NodeWebSocket } from '../../../internal/ws-adapter-node';
|
|
5
5
|
import { ResponsesWSBase, type ResponsesWSBaseOptions } from './ws-base';
|
|
6
6
|
import { OpenAI } from '../../../client';
|
|
7
|
-
import {
|
|
7
|
+
import { OpenAIError } from '../../../core/error';
|
|
8
|
+
import { snapshotWebSocketCredentials } from '../../../internal/ws';
|
|
8
9
|
|
|
9
10
|
export type { WebSocketStreamOptions } from '../../../internal/ws';
|
|
10
11
|
|
|
11
12
|
export type { ResponsesWSReconnectOptions } from './ws-base';
|
|
12
13
|
|
|
13
|
-
export interface ResponsesWSClientOptions extends WS.ClientOptions, ResponsesWSBaseOptions {
|
|
14
|
+
export interface ResponsesWSClientOptions extends WS.ClientOptions, ResponsesWSBaseOptions {
|
|
15
|
+
/** Basic authentication forwarded by the Node `ws` transport. */
|
|
16
|
+
auth?: string;
|
|
17
|
+
}
|
|
14
18
|
|
|
15
19
|
export class ResponsesWS extends ResponsesWSBase<NodeWebSocket> {
|
|
16
20
|
private _wsOptions: WS.ClientOptions | null | undefined;
|
|
@@ -21,7 +25,6 @@ export class ResponsesWS extends ResponsesWSBase<NodeWebSocket> {
|
|
|
21
25
|
'ResponsesWS from "openai/resources/beta/responses/ws" requires the "ws" package but it could not be loaded.',
|
|
22
26
|
);
|
|
23
27
|
}
|
|
24
|
-
|
|
25
28
|
const { reconnect, maxQueueSize, ...wsOptions } = options ?? {};
|
|
26
29
|
super(client, { reconnect, maxQueueSize });
|
|
27
30
|
this._wsOptions = wsOptions;
|
|
@@ -29,16 +32,31 @@ export class ResponsesWS extends ResponsesWSBase<NodeWebSocket> {
|
|
|
29
32
|
}
|
|
30
33
|
|
|
31
34
|
protected _createSocket(url: URL, authHeaders: Record<string, string>): NodeWebSocket {
|
|
32
|
-
const
|
|
35
|
+
const capturedAuthHeaders = { ...authHeaders };
|
|
36
|
+
const headers = new Map(Object.entries(this._client._buildWebSocketHeaders(capturedAuthHeaders)));
|
|
37
|
+
for (const [name, value] of Object.entries(this._wsOptions?.headers ?? {})) {
|
|
38
|
+
if (value === null) {
|
|
39
|
+
headers.delete(name.toLowerCase());
|
|
40
|
+
} else if (value !== undefined) {
|
|
41
|
+
headers.set(name.toLowerCase(), value);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const socketOptions: ResponsesWSClientOptions = {
|
|
33
45
|
...this._wsOptions,
|
|
34
|
-
headers:
|
|
35
|
-
'User-Agent': `${this._client.constructor.name}/JS ${VERSION}`,
|
|
36
|
-
|
|
37
|
-
...authHeaders,
|
|
38
|
-
...this._wsOptions?.headers,
|
|
39
|
-
},
|
|
46
|
+
headers: Object.fromEntries(headers),
|
|
40
47
|
followRedirects: false,
|
|
41
|
-
}
|
|
48
|
+
};
|
|
49
|
+
if (
|
|
50
|
+
this._client._hasApiKeyProvider() &&
|
|
51
|
+
!capturedAuthHeaders['Authorization'] &&
|
|
52
|
+
!snapshotWebSocketCredentials(socketOptions)
|
|
53
|
+
) {
|
|
54
|
+
throw new OpenAIError(
|
|
55
|
+
'Cannot open a Responses WebSocket with an unresolved function-based apiKey. Resolve it before constructing the WebSocket or provide explicit WebSocket credentials.',
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const ws = new WS.WebSocket(url, socketOptions);
|
|
42
60
|
return new NodeWebSocket(ws);
|
|
43
61
|
}
|
|
44
62
|
}
|