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
|
@@ -22,13 +22,21 @@ export type ForksStreamMessage =
|
|
|
22
22
|
export class WebSocketError extends OpenAIError {
|
|
23
23
|
/**
|
|
24
24
|
* The error data that the API sent back in an error event.
|
|
25
|
+
*
|
|
26
|
+
* This property is non-enumerable to avoid exposing the event through
|
|
27
|
+
* JSON serialization, object spread, or Object.assign.
|
|
25
28
|
*/
|
|
26
29
|
error?: LiveAPI.ErrorEvent | undefined;
|
|
27
30
|
|
|
28
31
|
constructor(message: string, event: LiveAPI.ErrorEvent | null) {
|
|
29
32
|
super(message);
|
|
30
33
|
|
|
31
|
-
this
|
|
34
|
+
Object.defineProperty(this, 'error', {
|
|
35
|
+
value: event ?? undefined,
|
|
36
|
+
writable: true,
|
|
37
|
+
configurable: true,
|
|
38
|
+
enumerable: false,
|
|
39
|
+
});
|
|
32
40
|
}
|
|
33
41
|
}
|
|
34
42
|
|
|
@@ -68,7 +76,8 @@ export abstract class ForksEmitter extends EventEmitter<WebSocketEvents> {
|
|
|
68
76
|
protected _onError(event: null, message: string, cause: any): void;
|
|
69
77
|
protected _onError(event: LiveAPI.ErrorEvent, message?: string | undefined): void;
|
|
70
78
|
protected _onError(event: LiveAPI.ErrorEvent | null, message?: string | undefined, cause?: any): void {
|
|
71
|
-
|
|
79
|
+
const safeMessage = safeWebSocketErrorMessage(event, message);
|
|
80
|
+
message = safeMessage ?? 'unknown error';
|
|
72
81
|
|
|
73
82
|
if (!this._hasListener('error')) {
|
|
74
83
|
const error = new WebSocketError(
|
|
@@ -98,10 +107,20 @@ export function buildURL(client: OpenAI, parameters: Record<string, unknown>): U
|
|
|
98
107
|
return url;
|
|
99
108
|
}
|
|
100
109
|
|
|
101
|
-
function
|
|
110
|
+
function safeWebSocketErrorMessage(event: unknown, message: unknown): string | undefined {
|
|
111
|
+
if (typeof message === 'string') return message;
|
|
112
|
+
if (typeof event !== 'object' || event === null) return undefined;
|
|
113
|
+
|
|
102
114
|
try {
|
|
103
|
-
|
|
115
|
+
const error = Object.getOwnPropertyDescriptor(event, 'error')?.value;
|
|
116
|
+
const nestedMessage =
|
|
117
|
+
typeof error === 'object' && error !== null
|
|
118
|
+
? Object.getOwnPropertyDescriptor(error, 'message')?.value
|
|
119
|
+
: undefined;
|
|
120
|
+
const eventMessage = Object.getOwnPropertyDescriptor(event, 'message')?.value;
|
|
121
|
+
const candidate = typeof nestedMessage === 'string' ? nestedMessage : eventMessage;
|
|
122
|
+
return typeof candidate === 'string' ? candidate : undefined;
|
|
104
123
|
} catch {
|
|
105
|
-
return
|
|
124
|
+
return undefined;
|
|
106
125
|
}
|
|
107
126
|
}
|
|
@@ -4,7 +4,6 @@ import * as WS from 'ws';
|
|
|
4
4
|
import { NodeWebSocket } from '../../../internal/ws-adapter-node';
|
|
5
5
|
import { ForksWSBase, type ForksWSBaseOptions, type ForksWSParameters } from './ws-base';
|
|
6
6
|
import { OpenAI } from '../../../client';
|
|
7
|
-
import { VERSION } from '../../../version';
|
|
8
7
|
|
|
9
8
|
export type { WebSocketStreamOptions } from '../../../internal/ws';
|
|
10
9
|
|
|
@@ -36,10 +35,10 @@ export class ForksWS extends ForksWSBase<NodeWebSocket> {
|
|
|
36
35
|
const ws = new WS.WebSocket(url, {
|
|
37
36
|
...this._wsOptions,
|
|
38
37
|
headers: {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
...this._client._buildWebSocketHeaders(authHeaders),
|
|
39
|
+
...Object.fromEntries(
|
|
40
|
+
Object.entries(this._wsOptions?.headers ?? {}).map(([name, value]) => [name.toLowerCase(), value]),
|
|
41
|
+
),
|
|
43
42
|
},
|
|
44
43
|
followRedirects: false,
|
|
45
44
|
});
|
|
@@ -19,13 +19,21 @@ export type LiveStreamMessage =
|
|
|
19
19
|
export class WebSocketError extends OpenAIError {
|
|
20
20
|
/**
|
|
21
21
|
* The error data that the API sent back in an error event.
|
|
22
|
+
*
|
|
23
|
+
* This property is non-enumerable to avoid exposing the event through
|
|
24
|
+
* JSON serialization, object spread, or Object.assign.
|
|
22
25
|
*/
|
|
23
26
|
error?: LiveAPI.ErrorEvent | undefined;
|
|
24
27
|
|
|
25
28
|
constructor(message: string, event: LiveAPI.ErrorEvent | null) {
|
|
26
29
|
super(message);
|
|
27
30
|
|
|
28
|
-
this
|
|
31
|
+
Object.defineProperty(this, 'error', {
|
|
32
|
+
value: event ?? undefined,
|
|
33
|
+
writable: true,
|
|
34
|
+
configurable: true,
|
|
35
|
+
enumerable: false,
|
|
36
|
+
});
|
|
29
37
|
}
|
|
30
38
|
}
|
|
31
39
|
|
|
@@ -65,7 +73,8 @@ export abstract class LiveEmitter extends EventEmitter<WebSocketEvents> {
|
|
|
65
73
|
protected _onError(event: null, message: string, cause: any): void;
|
|
66
74
|
protected _onError(event: LiveAPI.ErrorEvent, message?: string | undefined): void;
|
|
67
75
|
protected _onError(event: LiveAPI.ErrorEvent | null, message?: string | undefined, cause?: any): void {
|
|
68
|
-
|
|
76
|
+
const safeMessage = safeWebSocketErrorMessage(event, message);
|
|
77
|
+
message = safeMessage ?? 'unknown error';
|
|
69
78
|
|
|
70
79
|
if (!this._hasListener('error')) {
|
|
71
80
|
const error = new WebSocketError(
|
|
@@ -95,10 +104,20 @@ export function buildURL(client: OpenAI, parameters: Record<string, unknown>): U
|
|
|
95
104
|
return url;
|
|
96
105
|
}
|
|
97
106
|
|
|
98
|
-
function
|
|
107
|
+
function safeWebSocketErrorMessage(event: unknown, message: unknown): string | undefined {
|
|
108
|
+
if (typeof message === 'string') return message;
|
|
109
|
+
if (typeof event !== 'object' || event === null) return undefined;
|
|
110
|
+
|
|
99
111
|
try {
|
|
100
|
-
|
|
112
|
+
const error = Object.getOwnPropertyDescriptor(event, 'error')?.value;
|
|
113
|
+
const nestedMessage =
|
|
114
|
+
typeof error === 'object' && error !== null
|
|
115
|
+
? Object.getOwnPropertyDescriptor(error, 'message')?.value
|
|
116
|
+
: undefined;
|
|
117
|
+
const eventMessage = Object.getOwnPropertyDescriptor(event, 'message')?.value;
|
|
118
|
+
const candidate = typeof nestedMessage === 'string' ? nestedMessage : eventMessage;
|
|
119
|
+
return typeof candidate === 'string' ? candidate : undefined;
|
|
101
120
|
} catch {
|
|
102
|
-
return
|
|
121
|
+
return undefined;
|
|
103
122
|
}
|
|
104
123
|
}
|
|
@@ -22,13 +22,21 @@ export type SidebandStreamMessage =
|
|
|
22
22
|
export class WebSocketError extends OpenAIError {
|
|
23
23
|
/**
|
|
24
24
|
* The error data that the API sent back in an error event.
|
|
25
|
+
*
|
|
26
|
+
* This property is non-enumerable to avoid exposing the event through
|
|
27
|
+
* JSON serialization, object spread, or Object.assign.
|
|
25
28
|
*/
|
|
26
29
|
error?: LiveAPI.ErrorEvent | undefined;
|
|
27
30
|
|
|
28
31
|
constructor(message: string, event: LiveAPI.ErrorEvent | null) {
|
|
29
32
|
super(message);
|
|
30
33
|
|
|
31
|
-
this
|
|
34
|
+
Object.defineProperty(this, 'error', {
|
|
35
|
+
value: event ?? undefined,
|
|
36
|
+
writable: true,
|
|
37
|
+
configurable: true,
|
|
38
|
+
enumerable: false,
|
|
39
|
+
});
|
|
32
40
|
}
|
|
33
41
|
}
|
|
34
42
|
|
|
@@ -68,7 +76,8 @@ export abstract class SidebandEmitter extends EventEmitter<WebSocketEvents> {
|
|
|
68
76
|
protected _onError(event: null, message: string, cause: any): void;
|
|
69
77
|
protected _onError(event: LiveAPI.ErrorEvent, message?: string | undefined): void;
|
|
70
78
|
protected _onError(event: LiveAPI.ErrorEvent | null, message?: string | undefined, cause?: any): void {
|
|
71
|
-
|
|
79
|
+
const safeMessage = safeWebSocketErrorMessage(event, message);
|
|
80
|
+
message = safeMessage ?? 'unknown error';
|
|
72
81
|
|
|
73
82
|
if (!this._hasListener('error')) {
|
|
74
83
|
const error = new WebSocketError(
|
|
@@ -98,10 +107,20 @@ export function buildURL(client: OpenAI, parameters: Record<string, unknown>): U
|
|
|
98
107
|
return url;
|
|
99
108
|
}
|
|
100
109
|
|
|
101
|
-
function
|
|
110
|
+
function safeWebSocketErrorMessage(event: unknown, message: unknown): string | undefined {
|
|
111
|
+
if (typeof message === 'string') return message;
|
|
112
|
+
if (typeof event !== 'object' || event === null) return undefined;
|
|
113
|
+
|
|
102
114
|
try {
|
|
103
|
-
|
|
115
|
+
const error = Object.getOwnPropertyDescriptor(event, 'error')?.value;
|
|
116
|
+
const nestedMessage =
|
|
117
|
+
typeof error === 'object' && error !== null
|
|
118
|
+
? Object.getOwnPropertyDescriptor(error, 'message')?.value
|
|
119
|
+
: undefined;
|
|
120
|
+
const eventMessage = Object.getOwnPropertyDescriptor(event, 'message')?.value;
|
|
121
|
+
const candidate = typeof nestedMessage === 'string' ? nestedMessage : eventMessage;
|
|
122
|
+
return typeof candidate === 'string' ? candidate : undefined;
|
|
104
123
|
} catch {
|
|
105
|
-
return
|
|
124
|
+
return undefined;
|
|
106
125
|
}
|
|
107
126
|
}
|
|
@@ -4,7 +4,6 @@ import * as WS from 'ws';
|
|
|
4
4
|
import { NodeWebSocket } from '../../../internal/ws-adapter-node';
|
|
5
5
|
import { SidebandWSBase, type SidebandWSBaseOptions, type SidebandWSParameters } from './ws-base';
|
|
6
6
|
import { OpenAI } from '../../../client';
|
|
7
|
-
import { VERSION } from '../../../version';
|
|
8
7
|
|
|
9
8
|
export type { WebSocketStreamOptions } from '../../../internal/ws';
|
|
10
9
|
|
|
@@ -36,10 +35,10 @@ export class SidebandWS extends SidebandWSBase<NodeWebSocket> {
|
|
|
36
35
|
const ws = new WS.WebSocket(url, {
|
|
37
36
|
...this._wsOptions,
|
|
38
37
|
headers: {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
...this._client._buildWebSocketHeaders(authHeaders),
|
|
39
|
+
...Object.fromEntries(
|
|
40
|
+
Object.entries(this._wsOptions?.headers ?? {}).map(([name, value]) => [name.toLowerCase(), value]),
|
|
41
|
+
),
|
|
43
42
|
},
|
|
44
43
|
followRedirects: false,
|
|
45
44
|
});
|
package/src/resources/live/ws.ts
CHANGED
|
@@ -4,7 +4,6 @@ import * as WS from 'ws';
|
|
|
4
4
|
import { NodeWebSocket } from '../../internal/ws-adapter-node';
|
|
5
5
|
import { LiveWSBase, type LiveWSBaseOptions } from './ws-base';
|
|
6
6
|
import { OpenAI } from '../../client';
|
|
7
|
-
import { VERSION } from '../../version';
|
|
8
7
|
|
|
9
8
|
export type { WebSocketStreamOptions } from '../../internal/ws';
|
|
10
9
|
|
|
@@ -32,10 +31,10 @@ export class LiveWS extends LiveWSBase<NodeWebSocket> {
|
|
|
32
31
|
const ws = new WS.WebSocket(url, {
|
|
33
32
|
...this._wsOptions,
|
|
34
33
|
headers: {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
...this._client._buildWebSocketHeaders(authHeaders),
|
|
35
|
+
...Object.fromEntries(
|
|
36
|
+
Object.entries(this._wsOptions?.headers ?? {}).map(([name, value]) => [name.toLowerCase(), value]),
|
|
37
|
+
),
|
|
39
38
|
},
|
|
40
39
|
followRedirects: false,
|
|
41
40
|
});
|
|
@@ -38,6 +38,7 @@ Types:
|
|
|
38
38
|
- <code><a href="./src/resources/responses/responses.ts">ResponseCodeInterpreterCallInProgressEvent</a></code>
|
|
39
39
|
- <code><a href="./src/resources/responses/responses.ts">ResponseCodeInterpreterCallInterpretingEvent</a></code>
|
|
40
40
|
- <code><a href="./src/resources/responses/responses.ts">ResponseCodeInterpreterToolCall</a></code>
|
|
41
|
+
- <code><a href="./src/resources/responses/responses.ts">ResponseCompactionCompactingEvent</a></code>
|
|
41
42
|
- <code><a href="./src/resources/responses/responses.ts">ResponseCompactionItem</a></code>
|
|
42
43
|
- <code><a href="./src/resources/responses/responses.ts">ResponseCompactionItemParam</a></code>
|
|
43
44
|
- <code><a href="./src/resources/responses/responses.ts">ResponseCompletedEvent</a></code>
|
|
@@ -27,13 +27,21 @@ type WebSocketErrorEvent = Extract<ResponsesAPI.ResponsesServerEvent, { type: 'e
|
|
|
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
|
|
|
@@ -73,13 +81,8 @@ export abstract class ResponsesEmitter extends EventEmitter<WebSocketEvents> {
|
|
|
73
81
|
protected _onError(event: null, message: string, cause: any): void;
|
|
74
82
|
protected _onError(event: WebSocketErrorEvent, message?: string | undefined): void;
|
|
75
83
|
protected _onError(event: WebSocketErrorEvent | null, message?: string | undefined, cause?: any): void {
|
|
76
|
-
const
|
|
77
|
-
message =
|
|
78
|
-
try {
|
|
79
|
-
message = String(message);
|
|
80
|
-
} catch {
|
|
81
|
-
message = '[unserializable error value]';
|
|
82
|
-
}
|
|
84
|
+
const safeMessage = safeWebSocketErrorMessage(event, message);
|
|
85
|
+
message = safeMessage ?? 'unknown error';
|
|
83
86
|
|
|
84
87
|
if (!this._hasListener('error')) {
|
|
85
88
|
const error = new WebSocketError(
|
|
@@ -110,10 +113,20 @@ export function buildURL(client: OpenAI, parameters: Record<string, unknown>): U
|
|
|
110
113
|
return url;
|
|
111
114
|
}
|
|
112
115
|
|
|
113
|
-
function
|
|
116
|
+
function safeWebSocketErrorMessage(event: unknown, message: unknown): string | undefined {
|
|
117
|
+
if (typeof message === 'string') return message;
|
|
118
|
+
if (typeof event !== 'object' || event === null) return undefined;
|
|
119
|
+
|
|
114
120
|
try {
|
|
115
|
-
|
|
121
|
+
const error = Object.getOwnPropertyDescriptor(event, 'error')?.value;
|
|
122
|
+
const nestedMessage =
|
|
123
|
+
typeof error === 'object' && error !== null
|
|
124
|
+
? Object.getOwnPropertyDescriptor(error, 'message')?.value
|
|
125
|
+
: undefined;
|
|
126
|
+
const eventMessage = Object.getOwnPropertyDescriptor(event, 'message')?.value;
|
|
127
|
+
const candidate = typeof nestedMessage === 'string' ? nestedMessage : eventMessage;
|
|
128
|
+
return typeof candidate === 'string' ? candidate : undefined;
|
|
116
129
|
} catch {
|
|
117
|
-
return
|
|
130
|
+
return undefined;
|
|
118
131
|
}
|
|
119
132
|
}
|
|
@@ -2026,6 +2026,32 @@ export namespace ResponseCodeInterpreterToolCall {
|
|
|
2026
2026
|
}
|
|
2027
2027
|
}
|
|
2028
2028
|
|
|
2029
|
+
/**
|
|
2030
|
+
* Emitted when new summary content is sampled for a compaction trigger. Contains
|
|
2031
|
+
* no summary content.
|
|
2032
|
+
*/
|
|
2033
|
+
export interface ResponseCompactionCompactingEvent {
|
|
2034
|
+
/**
|
|
2035
|
+
* The ID of the compaction output item.
|
|
2036
|
+
*/
|
|
2037
|
+
item_id: string;
|
|
2038
|
+
|
|
2039
|
+
/**
|
|
2040
|
+
* The index of the compaction output item.
|
|
2041
|
+
*/
|
|
2042
|
+
output_index: number;
|
|
2043
|
+
|
|
2044
|
+
/**
|
|
2045
|
+
* The sequence number of the event that was emitted.
|
|
2046
|
+
*/
|
|
2047
|
+
sequence_number: number;
|
|
2048
|
+
|
|
2049
|
+
/**
|
|
2050
|
+
* The type of the event, always `response.compaction.compacting`.
|
|
2051
|
+
*/
|
|
2052
|
+
type: 'response.compaction.compacting';
|
|
2053
|
+
}
|
|
2054
|
+
|
|
2029
2055
|
/**
|
|
2030
2056
|
* A compaction item generated by the
|
|
2031
2057
|
* [`v1/responses/compact` API](https://developers.openai.com/api/reference/resources/responses/methods/compact).
|
|
@@ -8136,6 +8162,7 @@ export type ResponseStreamEvent =
|
|
|
8136
8162
|
| ResponseCodeInterpreterCallCompletedEvent
|
|
8137
8163
|
| ResponseCodeInterpreterCallInProgressEvent
|
|
8138
8164
|
| ResponseCodeInterpreterCallInterpretingEvent
|
|
8165
|
+
| ResponseCompactionCompactingEvent
|
|
8139
8166
|
| ResponseCompletedEvent
|
|
8140
8167
|
| ResponseContentPartAddedEvent
|
|
8141
8168
|
| ResponseContentPartDoneEvent
|
|
@@ -9083,6 +9110,12 @@ export namespace ResponsesClientEvent {
|
|
|
9083
9110
|
*/
|
|
9084
9111
|
mode?: 'implicit' | 'explicit';
|
|
9085
9112
|
|
|
9113
|
+
/**
|
|
9114
|
+
* Prepares the prompt cache without generating output. Defaults to `false`. When
|
|
9115
|
+
* set to `true`, overrides the `generate` field to `false`.
|
|
9116
|
+
*/
|
|
9117
|
+
prewarm?: boolean;
|
|
9118
|
+
|
|
9086
9119
|
/**
|
|
9087
9120
|
* The minimum lifetime applied to every implicit and explicit cache breakpoint
|
|
9088
9121
|
* written by the request. Defaults to `30m`, which is currently the only supported
|
|
@@ -9128,6 +9161,7 @@ export type ResponsesServerEvent =
|
|
|
9128
9161
|
| ResponsesServerEvent.ResponseCodeInterpreterCallWsCompleted
|
|
9129
9162
|
| ResponsesServerEvent.ResponseCodeInterpreterCallInWsProgress
|
|
9130
9163
|
| ResponsesServerEvent.ResponseCodeInterpreterCallWsInterpreting
|
|
9164
|
+
| ResponsesServerEvent.ResponseCompactionWsCompacting
|
|
9131
9165
|
| ResponsesServerEvent.ResponseWsCompleted
|
|
9132
9166
|
| ResponsesServerEvent.ResponseContentPartWsAdded
|
|
9133
9167
|
| ResponsesServerEvent.ResponseContentPartWsDone
|
|
@@ -9282,6 +9316,18 @@ export namespace ResponsesServerEvent {
|
|
|
9282
9316
|
stream_id?: string;
|
|
9283
9317
|
}
|
|
9284
9318
|
|
|
9319
|
+
/**
|
|
9320
|
+
* Emitted when new summary content is sampled for a compaction trigger. Contains
|
|
9321
|
+
* no summary content.
|
|
9322
|
+
*/
|
|
9323
|
+
export interface ResponseCompactionWsCompacting extends ResponseCompactionCompactingEvent {
|
|
9324
|
+
/**
|
|
9325
|
+
* The WebSocket lane that emitted this event. This field is present when the
|
|
9326
|
+
* originating `response.create` event supplied a `stream_id`.
|
|
9327
|
+
*/
|
|
9328
|
+
stream_id?: string;
|
|
9329
|
+
}
|
|
9330
|
+
|
|
9285
9331
|
/**
|
|
9286
9332
|
* Emitted when the model response is complete.
|
|
9287
9333
|
*/
|
|
@@ -11093,6 +11139,12 @@ export namespace ResponseCreateParams {
|
|
|
11093
11139
|
*/
|
|
11094
11140
|
mode?: 'implicit' | 'explicit';
|
|
11095
11141
|
|
|
11142
|
+
/**
|
|
11143
|
+
* Prepares the prompt cache without generating output. Defaults to `false`. When
|
|
11144
|
+
* set to `true`, overrides the `generate` field to `false`.
|
|
11145
|
+
*/
|
|
11146
|
+
prewarm?: boolean;
|
|
11147
|
+
|
|
11096
11148
|
/**
|
|
11097
11149
|
* The minimum lifetime applied to every implicit and explicit cache breakpoint
|
|
11098
11150
|
* written by the request. Defaults to `30m`, which is currently the only supported
|
|
@@ -11244,7 +11296,6 @@ export interface ResponseCompactParams {
|
|
|
11244
11296
|
| 'gpt-5.1'
|
|
11245
11297
|
| 'gpt-5.1-2025-11-13'
|
|
11246
11298
|
| 'gpt-5.1-codex'
|
|
11247
|
-
| 'gpt-5.1-mini'
|
|
11248
11299
|
| 'gpt-5.1-chat-latest'
|
|
11249
11300
|
| 'gpt-5'
|
|
11250
11301
|
| 'gpt-5-mini'
|
|
@@ -11275,6 +11326,8 @@ export interface ResponseCompactParams {
|
|
|
11275
11326
|
| 'gpt-4o-2024-11-20'
|
|
11276
11327
|
| 'gpt-4o-2024-08-06'
|
|
11277
11328
|
| 'gpt-4o-2024-05-13'
|
|
11329
|
+
| 'gpt-audio-mini'
|
|
11330
|
+
| 'gpt-audio-mini-2025-12-15'
|
|
11278
11331
|
| 'gpt-4o-audio-preview'
|
|
11279
11332
|
| 'gpt-4o-audio-preview-2024-10-01'
|
|
11280
11333
|
| 'gpt-4o-audio-preview-2024-12-17'
|
|
@@ -11308,6 +11361,7 @@ export interface ResponseCompactParams {
|
|
|
11308
11361
|
| 'gpt-3.5-turbo-1106'
|
|
11309
11362
|
| 'gpt-3.5-turbo-0125'
|
|
11310
11363
|
| 'gpt-3.5-turbo-16k-0613'
|
|
11364
|
+
| 'gpt-5.1-mini'
|
|
11311
11365
|
| 'o1-pro'
|
|
11312
11366
|
| 'o1-pro-2025-03-19'
|
|
11313
11367
|
| 'o3-pro'
|
|
@@ -11468,6 +11522,7 @@ export declare namespace Responses {
|
|
|
11468
11522
|
type ResponseCodeInterpreterCallInProgressEvent as ResponseCodeInterpreterCallInProgressEvent,
|
|
11469
11523
|
type ResponseCodeInterpreterCallInterpretingEvent as ResponseCodeInterpreterCallInterpretingEvent,
|
|
11470
11524
|
type ResponseCodeInterpreterToolCall as ResponseCodeInterpreterToolCall,
|
|
11525
|
+
type ResponseCompactionCompactingEvent as ResponseCompactionCompactingEvent,
|
|
11471
11526
|
type ResponseCompactionItem as ResponseCompactionItem,
|
|
11472
11527
|
type ResponseCompactionItemParam as ResponseCompactionItemParam,
|
|
11473
11528
|
type ResponseCompletedEvent as ResponseCompletedEvent,
|
|
@@ -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,21 @@ 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<ResponsesAPI.ResponsesServerEvent, string>();
|
|
25
|
+
const webSocketEventBytes = new WeakMap<ResponsesAPI.ResponsesServerEvent, number>();
|
|
26
|
+
|
|
27
|
+
/** Uses immutable wire size, or JSON accounting for a custom emitter. @internal */
|
|
28
|
+
export function getWebSocketEventBytes(event: ResponsesAPI.ResponsesServerEvent): number {
|
|
29
|
+
return webSocketEventBytes.get(event) ?? rawByteLength(JSON.stringify(event));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** Original JSON, available only during synchronous event notification.
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export function getWebSocketEventPayload(event: ResponsesAPI.ResponsesServerEvent): string | undefined {
|
|
36
|
+
return webSocketEventPayloads.get(event);
|
|
37
|
+
}
|
|
38
|
+
|
|
22
39
|
export interface ResponsesWSReconnectOptions {
|
|
23
40
|
/**
|
|
24
41
|
* Called before each reconnect attempt. Return an object with
|
|
@@ -99,7 +116,11 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
99
116
|
this.socket = this._connect();
|
|
100
117
|
}
|
|
101
118
|
|
|
102
|
-
/**
|
|
119
|
+
/**
|
|
120
|
+
* Creates a platform-specific WebSocket for the given URL and captured client auth headers.
|
|
121
|
+
* The transport must supply or validate its final credentials before connecting;
|
|
122
|
+
* these headers may be empty when authentication is managed by the transport.
|
|
123
|
+
*/
|
|
103
124
|
protected abstract _createSocket(url: URL, authHeaders: Record<string, string>): TSocket;
|
|
104
125
|
|
|
105
126
|
send(event: ResponsesAPI.ResponsesClientEvent) {
|
|
@@ -436,6 +457,7 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
436
457
|
}
|
|
437
458
|
|
|
438
459
|
const eventType: string = event.type;
|
|
460
|
+
const errorEvent = event.type === 'error' ? event : undefined;
|
|
439
461
|
const reservedEventType =
|
|
440
462
|
eventType === 'raw' ||
|
|
441
463
|
eventType === 'close' ||
|
|
@@ -449,17 +471,24 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
449
471
|
return;
|
|
450
472
|
}
|
|
451
473
|
|
|
452
|
-
|
|
474
|
+
webSocketEventBytes.set(event, rawByteLength(data));
|
|
475
|
+
webSocketEventPayloads.set(event, text);
|
|
476
|
+
try {
|
|
477
|
+
this._emit('event', event);
|
|
478
|
+
} finally {
|
|
479
|
+
webSocketEventPayloads.delete(event);
|
|
480
|
+
}
|
|
453
481
|
|
|
454
|
-
if (
|
|
455
|
-
this._onError(
|
|
482
|
+
if (errorEvent) {
|
|
483
|
+
this._onError(errorEvent);
|
|
456
484
|
} else {
|
|
457
485
|
// @ts-ignore TS isn't smart enough to get the relationship right here
|
|
458
|
-
this._emit(
|
|
486
|
+
this._emit(eventType, event);
|
|
459
487
|
}
|
|
460
488
|
});
|
|
461
489
|
|
|
462
490
|
socket.on('error', (err: Error) => {
|
|
491
|
+
recordWebSocketError(socket, err);
|
|
463
492
|
// Suppress transient errors during reconnection — the retry loop
|
|
464
493
|
// already handles them and will surface a close if retries exhaust.
|
|
465
494
|
if (this._isReconnecting) return;
|
|
@@ -692,9 +721,7 @@ export abstract class ResponsesWSBase<TSocket extends WebSocketLike> extends Res
|
|
|
692
721
|
}
|
|
693
722
|
|
|
694
723
|
protected _authHeaders(): Record<string, string> {
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
}
|
|
698
|
-
return {};
|
|
724
|
+
const apiKey = this._client.apiKey;
|
|
725
|
+
return typeof apiKey === 'string' && apiKey ? { Authorization: `Bearer ${apiKey}` } : {};
|
|
699
726
|
}
|
|
700
727
|
}
|
|
@@ -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/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
|
}
|
package/src/resources/shared.ts
CHANGED
|
@@ -44,7 +44,6 @@ export type ChatModel =
|
|
|
44
44
|
| 'gpt-5.1'
|
|
45
45
|
| 'gpt-5.1-2025-11-13'
|
|
46
46
|
| 'gpt-5.1-codex'
|
|
47
|
-
| 'gpt-5.1-mini'
|
|
48
47
|
| 'gpt-5.1-chat-latest'
|
|
49
48
|
| 'gpt-5'
|
|
50
49
|
| 'gpt-5-mini'
|
|
@@ -75,6 +74,8 @@ export type ChatModel =
|
|
|
75
74
|
| 'gpt-4o-2024-11-20'
|
|
76
75
|
| 'gpt-4o-2024-08-06'
|
|
77
76
|
| 'gpt-4o-2024-05-13'
|
|
77
|
+
| 'gpt-audio-mini'
|
|
78
|
+
| 'gpt-audio-mini-2025-12-15'
|
|
78
79
|
| 'gpt-4o-audio-preview'
|
|
79
80
|
| 'gpt-4o-audio-preview-2024-10-01'
|
|
80
81
|
| 'gpt-4o-audio-preview-2024-12-17'
|
|
@@ -107,7 +108,8 @@ export type ChatModel =
|
|
|
107
108
|
| 'gpt-3.5-turbo-0613'
|
|
108
109
|
| 'gpt-3.5-turbo-1106'
|
|
109
110
|
| 'gpt-3.5-turbo-0125'
|
|
110
|
-
| 'gpt-3.5-turbo-16k-0613'
|
|
111
|
+
| 'gpt-3.5-turbo-16k-0613'
|
|
112
|
+
| 'gpt-5.1-mini';
|
|
111
113
|
|
|
112
114
|
/**
|
|
113
115
|
* A filter used to compare a specified attribute key to a given value using a
|
|
@@ -684,10 +684,9 @@ export namespace RealtimeCallIncomingWebhookEvent {
|
|
|
684
684
|
*/
|
|
685
685
|
export interface Data {
|
|
686
686
|
/**
|
|
687
|
-
* The
|
|
688
|
-
*
|
|
689
|
-
*
|
|
690
|
-
* Realtime or Live API.
|
|
687
|
+
* The ID of the pending SIP call. Pass this value unchanged when accepting or
|
|
688
|
+
* rejecting the call through the Realtime API. For the Live API, use the
|
|
689
|
+
* `session_id` from `live.transport.incoming` instead.
|
|
691
690
|
*/
|
|
692
691
|
call_id: string;
|
|
693
692
|
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** Version of the installed OpenAI SDK package. */
|
|
2
|
-
export const VERSION = '7.
|
|
2
|
+
export const VERSION = '7.18.0'; // x-release-please-version
|
package/version.d.mts
CHANGED
package/version.d.ts
CHANGED
package/version.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VERSION = void 0;
|
|
4
4
|
/** Version of the installed OpenAI SDK package. */
|
|
5
|
-
exports.VERSION = '7.
|
|
5
|
+
exports.VERSION = '7.18.0'; // x-release-please-version
|
|
6
6
|
//# sourceMappingURL=version.js.map
|