openai 7.16.0 → 7.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/_vendor/zod-to-json-schema/Options.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/Options.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/Options.js +2 -0
- package/_vendor/zod-to-json-schema/Options.js.map +1 -1
- package/_vendor/zod-to-json-schema/Options.mjs +2 -0
- package/_vendor/zod-to-json-schema/Options.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parseDef.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parseDef.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parseDef.js +1 -0
- package/_vendor/zod-to-json-schema/parseDef.js.map +1 -1
- package/_vendor/zod-to-json-schema/parseDef.mjs +1 -0
- package/_vendor/zod-to-json-schema/parseDef.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/bigint.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/bigint.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/bigint.js +2 -0
- package/_vendor/zod-to-json-schema/parsers/bigint.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/bigint.mjs +2 -0
- package/_vendor/zod-to-json-schema/parsers/bigint.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/literal.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/literal.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/literal.js +1 -0
- package/_vendor/zod-to-json-schema/parsers/literal.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/literal.mjs +1 -0
- package/_vendor/zod-to-json-schema/parsers/literal.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/null.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/null.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/null.js +1 -0
- package/_vendor/zod-to-json-schema/parsers/null.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/null.mjs +1 -0
- package/_vendor/zod-to-json-schema/parsers/null.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nullable.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nullable.js +4 -0
- package/_vendor/zod-to-json-schema/parsers/nullable.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nullable.mjs +4 -0
- package/_vendor/zod-to-json-schema/parsers/nullable.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/number.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/number.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/number.js +2 -0
- package/_vendor/zod-to-json-schema/parsers/number.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/number.mjs +2 -0
- package/_vendor/zod-to-json-schema/parsers/number.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/optional.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/optional.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/optional.js +6 -7
- package/_vendor/zod-to-json-schema/parsers/optional.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/optional.mjs +6 -7
- package/_vendor/zod-to-json-schema/parsers/optional.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/record.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/record.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/record.js +2 -0
- package/_vendor/zod-to-json-schema/parsers/record.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/record.mjs +2 -0
- package/_vendor/zod-to-json-schema/parsers/record.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.js +1 -0
- package/_vendor/zod-to-json-schema/parsers/string.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.mjs +1 -0
- package/_vendor/zod-to-json-schema/parsers/string.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/union.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/union.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/union.js +3 -0
- package/_vendor/zod-to-json-schema/parsers/union.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/union.mjs +3 -0
- package/_vendor/zod-to-json-schema/parsers/union.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/util.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/util.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/util.js +1 -0
- package/_vendor/zod-to-json-schema/util.js.map +1 -1
- package/_vendor/zod-to-json-schema/util.mjs +1 -0
- package/_vendor/zod-to-json-schema/util.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/zodToJsonSchema.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/zodToJsonSchema.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/zodToJsonSchema.js +2 -0
- package/_vendor/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
- package/_vendor/zod-to-json-schema/zodToJsonSchema.mjs +2 -0
- package/_vendor/zod-to-json-schema/zodToJsonSchema.mjs.map +1 -1
- package/auth/subject-token-providers.d.mts.map +1 -1
- package/auth/subject-token-providers.d.ts.map +1 -1
- package/auth/subject-token-providers.js +6 -1
- package/auth/subject-token-providers.js.map +1 -1
- package/auth/subject-token-providers.mjs +6 -1
- package/auth/subject-token-providers.mjs.map +1 -1
- package/auth/workload-identity-auth.d.mts.map +1 -1
- package/auth/workload-identity-auth.d.ts.map +1 -1
- package/auth/workload-identity-auth.js +9 -0
- package/auth/workload-identity-auth.js.map +1 -1
- package/auth/workload-identity-auth.mjs +9 -0
- package/auth/workload-identity-auth.mjs.map +1 -1
- package/auth/x509-transport.d.mts.map +1 -1
- package/auth/x509-transport.d.ts.map +1 -1
- package/auth/x509-transport.js +11 -0
- package/auth/x509-transport.js.map +1 -1
- package/auth/x509-transport.mjs +11 -0
- package/auth/x509-transport.mjs.map +1 -1
- package/azure.d.mts.map +1 -1
- package/azure.d.ts.map +1 -1
- package/azure.js +3 -0
- package/azure.js.map +1 -1
- package/azure.mjs +3 -0
- package/azure.mjs.map +1 -1
- package/bedrock.d.mts.map +1 -1
- package/bedrock.d.ts.map +1 -1
- package/bedrock.js +5 -0
- package/bedrock.js.map +1 -1
- package/bedrock.mjs +5 -0
- package/bedrock.mjs.map +1 -1
- package/beta/realtime/internal-base.d.mts.map +1 -1
- package/beta/realtime/internal-base.d.ts.map +1 -1
- package/beta/realtime/internal-base.js +1 -0
- package/beta/realtime/internal-base.js.map +1 -1
- package/beta/realtime/internal-base.mjs +1 -0
- package/beta/realtime/internal-base.mjs.map +1 -1
- package/beta/realtime/websocket.d.mts.map +1 -1
- package/beta/realtime/websocket.d.ts.map +1 -1
- package/beta/realtime/websocket.js +9 -1
- package/beta/realtime/websocket.js.map +1 -1
- package/beta/realtime/websocket.mjs +9 -1
- package/beta/realtime/websocket.mjs.map +1 -1
- package/beta/realtime/ws.d.mts.map +1 -1
- package/beta/realtime/ws.d.ts.map +1 -1
- package/beta/realtime/ws.js +3 -0
- package/beta/realtime/ws.js.map +1 -1
- package/beta/realtime/ws.mjs +3 -0
- package/beta/realtime/ws.mjs.map +1 -1
- package/client.d.mts +1 -0
- package/client.d.mts.map +1 -1
- package/client.d.ts +1 -0
- package/client.d.ts.map +1 -1
- package/client.js +27 -6
- package/client.js.map +1 -1
- package/client.mjs +27 -6
- package/client.mjs.map +1 -1
- package/core/EventEmitter.d.mts.map +1 -1
- package/core/EventEmitter.d.ts.map +1 -1
- package/core/EventEmitter.js +15 -0
- package/core/EventEmitter.js.map +1 -1
- package/core/EventEmitter.mjs +15 -0
- package/core/EventEmitter.mjs.map +1 -1
- package/core/streaming.d.mts +1 -0
- package/core/streaming.d.mts.map +1 -1
- package/core/streaming.d.ts +1 -0
- package/core/streaming.d.ts.map +1 -1
- package/core/streaming.js +28 -1
- package/core/streaming.js.map +1 -1
- package/core/streaming.mjs +28 -1
- package/core/streaming.mjs.map +1 -1
- package/helpers/audio.d.mts.map +1 -1
- package/helpers/audio.d.ts.map +1 -1
- package/helpers/audio.js +2 -0
- package/helpers/audio.js.map +1 -1
- package/helpers/audio.mjs +2 -0
- package/helpers/audio.mjs.map +1 -1
- package/helpers/standard-schema.d.mts.map +1 -1
- package/helpers/standard-schema.d.ts.map +1 -1
- package/helpers/standard-schema.js +28 -18
- package/helpers/standard-schema.js.map +1 -1
- package/helpers/standard-schema.mjs +28 -18
- package/helpers/standard-schema.mjs.map +1 -1
- package/helpers/zod-v3-strict-schema.d.mts.map +1 -1
- package/helpers/zod-v3-strict-schema.d.ts.map +1 -1
- package/helpers/zod-v3-strict-schema.js +5 -0
- package/helpers/zod-v3-strict-schema.js.map +1 -1
- package/helpers/zod-v3-strict-schema.mjs +5 -0
- package/helpers/zod-v3-strict-schema.mjs.map +1 -1
- package/helpers/zod.d.mts.map +1 -1
- package/helpers/zod.d.ts.map +1 -1
- package/helpers/zod.js +16 -1
- package/helpers/zod.js.map +1 -1
- package/helpers/zod.mjs +17 -2
- package/helpers/zod.mjs.map +1 -1
- package/internal/assistant-stream-delta.d.mts.map +1 -1
- package/internal/assistant-stream-delta.d.ts.map +1 -1
- package/internal/assistant-stream-delta.js +8 -1
- package/internal/assistant-stream-delta.js.map +1 -1
- package/internal/assistant-stream-delta.mjs +8 -1
- package/internal/assistant-stream-delta.mjs.map +1 -1
- package/internal/auth/x509-credential-options.d.mts.map +1 -1
- package/internal/auth/x509-credential-options.d.ts.map +1 -1
- package/internal/auth/x509-credential-options.js +3 -0
- package/internal/auth/x509-credential-options.js.map +1 -1
- package/internal/auth/x509-credential-options.mjs +3 -0
- package/internal/auth/x509-credential-options.mjs.map +1 -1
- package/internal/auth/x509-token-exchange.d.mts.map +1 -1
- package/internal/auth/x509-token-exchange.d.ts.map +1 -1
- package/internal/auth/x509-token-exchange.js +2 -0
- package/internal/auth/x509-token-exchange.js.map +1 -1
- package/internal/auth/x509-token-exchange.mjs +2 -0
- package/internal/auth/x509-token-exchange.mjs.map +1 -1
- package/internal/auth/x509-transport-capability.d.mts.map +1 -1
- package/internal/auth/x509-transport-capability.d.ts.map +1 -1
- package/internal/auth/x509-transport-capability.js +1 -0
- package/internal/auth/x509-transport-capability.js.map +1 -1
- package/internal/auth/x509-transport-capability.mjs +1 -0
- package/internal/auth/x509-transport-capability.mjs.map +1 -1
- package/internal/auth/x509-transport-state.mjs +1 -0
- package/internal/auth/x509-workload-identity-auth.d.mts.map +1 -1
- package/internal/auth/x509-workload-identity-auth.d.ts.map +1 -1
- package/internal/auth/x509-workload-identity-auth.js +11 -0
- package/internal/auth/x509-workload-identity-auth.js.map +1 -1
- package/internal/auth/x509-workload-identity-auth.mjs +11 -0
- package/internal/auth/x509-workload-identity-auth.mjs.map +1 -1
- package/internal/bedrock.d.mts.map +1 -1
- package/internal/bedrock.d.ts.map +1 -1
- package/internal/bedrock.js +17 -1
- package/internal/bedrock.js.map +1 -1
- package/internal/bedrock.mjs +17 -1
- package/internal/bedrock.mjs.map +1 -1
- package/internal/decoders/line.d.mts.map +1 -1
- package/internal/decoders/line.d.ts.map +1 -1
- package/internal/decoders/line.js +1 -0
- package/internal/decoders/line.js.map +1 -1
- package/internal/decoders/line.mjs +1 -0
- package/internal/decoders/line.mjs.map +1 -1
- package/internal/parse.d.mts +1 -0
- package/internal/parse.d.mts.map +1 -1
- package/internal/parse.d.ts +1 -0
- package/internal/parse.d.ts.map +1 -1
- package/internal/parse.js.map +1 -1
- package/internal/parse.mjs.map +1 -1
- package/internal/provider.d.mts.map +1 -1
- package/internal/provider.d.ts.map +1 -1
- package/internal/provider.js +3 -0
- package/internal/provider.js.map +1 -1
- package/internal/provider.mjs +3 -0
- package/internal/provider.mjs.map +1 -1
- package/internal/qs/stringify.d.mts.map +1 -1
- package/internal/qs/stringify.d.ts.map +1 -1
- package/internal/qs/stringify.js +3 -0
- package/internal/qs/stringify.js.map +1 -1
- package/internal/qs/stringify.mjs +3 -0
- package/internal/qs/stringify.mjs.map +1 -1
- package/internal/qs/utils.d.mts.map +1 -1
- package/internal/qs/utils.d.ts.map +1 -1
- package/internal/qs/utils.js +15 -3
- package/internal/qs/utils.js.map +1 -1
- package/internal/qs/utils.mjs +15 -3
- package/internal/qs/utils.mjs.map +1 -1
- package/internal/responses/response-accumulator.d.mts.map +1 -1
- package/internal/responses/response-accumulator.d.ts.map +1 -1
- package/internal/responses/response-accumulator.js +20 -4
- package/internal/responses/response-accumulator.js.map +1 -1
- package/internal/responses/response-accumulator.mjs +20 -4
- package/internal/responses/response-accumulator.mjs.map +1 -1
- package/internal/to-file.js.map +1 -1
- package/internal/to-file.mjs.map +1 -1
- package/internal/uploads.d.mts.map +1 -1
- package/internal/uploads.d.ts.map +1 -1
- package/internal/uploads.js +10 -0
- package/internal/uploads.js.map +1 -1
- package/internal/uploads.mjs +10 -0
- package/internal/uploads.mjs.map +1 -1
- package/internal/utils/abort.d.mts.map +1 -1
- package/internal/utils/abort.d.ts.map +1 -1
- package/internal/utils/abort.js +9 -2
- package/internal/utils/abort.js.map +1 -1
- package/internal/utils/abort.mjs +9 -2
- package/internal/utils/abort.mjs.map +1 -1
- package/internal/utils/bytes.d.mts.map +1 -1
- package/internal/utils/bytes.d.ts.map +1 -1
- package/internal/utils/bytes.js +2 -0
- package/internal/utils/bytes.js.map +1 -1
- package/internal/utils/bytes.mjs +2 -0
- package/internal/utils/bytes.mjs.map +1 -1
- package/internal/utils/path.d.mts.map +1 -1
- package/internal/utils/path.d.ts.map +1 -1
- package/internal/utils/path.js +2 -0
- package/internal/utils/path.js.map +1 -1
- package/internal/utils/path.mjs +2 -0
- package/internal/utils/path.mjs.map +1 -1
- package/internal/utils/sleep.d.mts +1 -1
- package/internal/utils/sleep.d.mts.map +1 -1
- package/internal/utils/sleep.d.ts +1 -1
- package/internal/utils/sleep.d.ts.map +1 -1
- package/internal/utils/sleep.js +51 -1
- package/internal/utils/sleep.js.map +1 -1
- package/internal/utils/sleep.mjs +51 -1
- package/internal/utils/sleep.mjs.map +1 -1
- package/internal/ws-adapter-browser.d.mts.map +1 -1
- package/internal/ws-adapter-browser.d.ts.map +1 -1
- package/internal/ws-adapter-browser.js +2 -0
- package/internal/ws-adapter-browser.js.map +1 -1
- package/internal/ws-adapter-browser.mjs +2 -0
- package/internal/ws-adapter-browser.mjs.map +1 -1
- package/internal/ws.d.mts +9 -0
- package/internal/ws.d.mts.map +1 -1
- package/internal/ws.d.ts +9 -0
- package/internal/ws.d.ts.map +1 -1
- package/internal/ws.js +36 -4
- package/internal/ws.js.map +1 -1
- package/internal/ws.mjs +35 -4
- package/internal/ws.mjs.map +1 -1
- package/lib/AbstractChatCompletionRunner.d.mts.map +1 -1
- package/lib/AbstractChatCompletionRunner.d.ts.map +1 -1
- package/lib/AbstractChatCompletionRunner.js +41 -16
- package/lib/AbstractChatCompletionRunner.js.map +1 -1
- package/lib/AbstractChatCompletionRunner.mjs +42 -17
- package/lib/AbstractChatCompletionRunner.mjs.map +1 -1
- package/lib/AssistantStream.d.mts.map +1 -1
- package/lib/AssistantStream.d.ts.map +1 -1
- package/lib/AssistantStream.js +19 -5
- package/lib/AssistantStream.js.map +1 -1
- package/lib/AssistantStream.mjs +20 -6
- package/lib/AssistantStream.mjs.map +1 -1
- package/lib/ChatCompletionRunner.d.mts.map +1 -1
- package/lib/ChatCompletionRunner.d.ts.map +1 -1
- package/lib/ChatCompletionRunner.js +1 -0
- package/lib/ChatCompletionRunner.js.map +1 -1
- package/lib/ChatCompletionRunner.mjs +1 -0
- package/lib/ChatCompletionRunner.mjs.map +1 -1
- package/lib/ChatCompletionStream.d.mts +6 -1
- package/lib/ChatCompletionStream.d.mts.map +1 -1
- package/lib/ChatCompletionStream.d.ts +6 -1
- package/lib/ChatCompletionStream.d.ts.map +1 -1
- package/lib/ChatCompletionStream.js +63 -7
- package/lib/ChatCompletionStream.js.map +1 -1
- package/lib/ChatCompletionStream.mjs +64 -8
- package/lib/ChatCompletionStream.mjs.map +1 -1
- package/lib/EventEmitter.d.mts.map +1 -1
- package/lib/EventEmitter.d.ts.map +1 -1
- package/lib/EventEmitter.js +15 -0
- package/lib/EventEmitter.js.map +1 -1
- package/lib/EventEmitter.mjs +15 -0
- package/lib/EventEmitter.mjs.map +1 -1
- package/lib/EventStream.d.mts +2 -0
- package/lib/EventStream.d.mts.map +1 -1
- package/lib/EventStream.d.ts +2 -0
- package/lib/EventStream.d.ts.map +1 -1
- package/lib/EventStream.js +111 -14
- package/lib/EventStream.js.map +1 -1
- package/lib/EventStream.mjs +111 -14
- package/lib/EventStream.mjs.map +1 -1
- package/lib/ResponsesParser.d.mts.map +1 -1
- package/lib/ResponsesParser.d.ts.map +1 -1
- package/lib/ResponsesParser.js +4 -0
- package/lib/ResponsesParser.js.map +1 -1
- package/lib/ResponsesParser.mjs +4 -0
- package/lib/ResponsesParser.mjs.map +1 -1
- package/lib/RunnableFunction.d.mts.map +1 -1
- package/lib/RunnableFunction.d.ts.map +1 -1
- package/lib/RunnableFunction.js.map +1 -1
- package/lib/RunnableFunction.mjs.map +1 -1
- package/lib/agents/agent-session-stream.d.mts.map +1 -1
- package/lib/agents/agent-session-stream.d.ts.map +1 -1
- package/lib/agents/agent-session-stream.js +5 -2
- package/lib/agents/agent-session-stream.js.map +1 -1
- package/lib/agents/agent-session-stream.mjs +5 -2
- package/lib/agents/agent-session-stream.mjs.map +1 -1
- package/lib/embeddings.d.mts.map +1 -1
- package/lib/embeddings.d.ts.map +1 -1
- package/lib/embeddings.js +2 -0
- package/lib/embeddings.js.map +1 -1
- package/lib/embeddings.mjs +2 -0
- package/lib/embeddings.mjs.map +1 -1
- package/lib/live/transcript-grouper.d.mts.map +1 -1
- package/lib/live/transcript-grouper.d.ts.map +1 -1
- package/lib/live/transcript-grouper.js +8 -2
- package/lib/live/transcript-grouper.js.map +1 -1
- package/lib/live/transcript-grouper.mjs +8 -2
- package/lib/live/transcript-grouper.mjs.map +1 -1
- package/lib/parser.d.mts.map +1 -1
- package/lib/parser.d.ts.map +1 -1
- package/lib/parser.js +13 -0
- package/lib/parser.js.map +1 -1
- package/lib/parser.mjs +13 -0
- package/lib/parser.mjs.map +1 -1
- package/lib/responses/ResponseInputItems.d.mts.map +1 -1
- package/lib/responses/ResponseInputItems.d.ts.map +1 -1
- package/lib/responses/ResponseInputItems.js +11 -0
- package/lib/responses/ResponseInputItems.js.map +1 -1
- package/lib/responses/ResponseInputItems.mjs +11 -0
- package/lib/responses/ResponseInputItems.mjs.map +1 -1
- package/lib/responses/ResponseStream.d.mts.map +1 -1
- package/lib/responses/ResponseStream.d.ts.map +1 -1
- package/lib/responses/ResponseStream.js +7 -3
- package/lib/responses/ResponseStream.js.map +1 -1
- package/lib/responses/ResponseStream.mjs +8 -4
- package/lib/responses/ResponseStream.mjs.map +1 -1
- package/lib/transform.d.mts.map +1 -1
- package/lib/transform.d.ts.map +1 -1
- package/lib/transform.js +69 -33
- package/lib/transform.js.map +1 -1
- package/lib/transform.mjs +69 -33
- package/lib/transform.mjs.map +1 -1
- package/lib/webrtc/connection.d.mts.map +1 -1
- package/lib/webrtc/connection.d.ts.map +1 -1
- package/lib/webrtc/connection.js +6 -1
- package/lib/webrtc/connection.js.map +1 -1
- package/lib/webrtc/connection.mjs +6 -1
- package/lib/webrtc/connection.mjs.map +1 -1
- package/lib/webrtc/data-channel.d.mts.map +1 -1
- package/lib/webrtc/data-channel.d.ts.map +1 -1
- package/lib/webrtc/data-channel.js +9 -1
- package/lib/webrtc/data-channel.js.map +1 -1
- package/lib/webrtc/data-channel.mjs +9 -1
- package/lib/webrtc/data-channel.mjs.map +1 -1
- package/lib/webrtc/subscriptions.d.mts.map +1 -1
- package/lib/webrtc/subscriptions.d.ts.map +1 -1
- package/lib/webrtc/subscriptions.js +2 -0
- package/lib/webrtc/subscriptions.js.map +1 -1
- package/lib/webrtc/subscriptions.mjs +2 -0
- package/lib/webrtc/subscriptions.mjs.map +1 -1
- package/lib/webrtc/types.d.mts.map +1 -1
- package/lib/webrtc/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/providers/bedrock/aws.d.mts.map +1 -1
- package/providers/bedrock/aws.d.ts.map +1 -1
- package/providers/bedrock/aws.js +4 -0
- package/providers/bedrock/aws.js.map +1 -1
- package/providers/bedrock/aws.mjs +4 -0
- package/providers/bedrock/aws.mjs.map +1 -1
- package/realtime/internal-base.d.mts.map +1 -1
- package/realtime/internal-base.d.ts.map +1 -1
- package/realtime/internal-base.js +1 -0
- package/realtime/internal-base.js.map +1 -1
- package/realtime/internal-base.mjs +1 -0
- package/realtime/internal-base.mjs.map +1 -1
- package/realtime/websocket.d.mts.map +1 -1
- package/realtime/websocket.d.ts.map +1 -1
- package/realtime/websocket.js +9 -1
- package/realtime/websocket.js.map +1 -1
- package/realtime/websocket.mjs +9 -1
- package/realtime/websocket.mjs.map +1 -1
- package/realtime/ws.d.mts.map +1 -1
- package/realtime/ws.d.ts.map +1 -1
- package/realtime/ws.js +3 -0
- package/realtime/ws.js.map +1 -1
- package/realtime/ws.mjs +3 -0
- package/realtime/ws.mjs.map +1 -1
- package/resources/beta/agents/agents.d.mts +2 -1
- package/resources/beta/agents/agents.d.mts.map +1 -1
- package/resources/beta/agents/agents.d.ts +2 -1
- package/resources/beta/agents/agents.d.ts.map +1 -1
- package/resources/beta/agents/agents.js.map +1 -1
- package/resources/beta/agents/agents.mjs.map +1 -1
- package/resources/beta/beta.d.mts +2 -2
- package/resources/beta/beta.d.mts.map +1 -1
- package/resources/beta/beta.d.ts +2 -2
- package/resources/beta/beta.d.ts.map +1 -1
- package/resources/beta/beta.js.map +1 -1
- package/resources/beta/beta.mjs.map +1 -1
- package/resources/beta/index.d.mts +1 -1
- package/resources/beta/index.d.mts.map +1 -1
- package/resources/beta/index.d.ts +1 -1
- package/resources/beta/index.d.ts.map +1 -1
- package/resources/beta/index.js.map +1 -1
- package/resources/beta/index.mjs.map +1 -1
- package/resources/beta/responses/index.d.mts +1 -1
- package/resources/beta/responses/index.d.mts.map +1 -1
- package/resources/beta/responses/index.d.ts +1 -1
- package/resources/beta/responses/index.d.ts.map +1 -1
- package/resources/beta/responses/index.js.map +1 -1
- package/resources/beta/responses/index.mjs.map +1 -1
- package/resources/beta/responses/internal-base.d.mts +3 -0
- package/resources/beta/responses/internal-base.d.mts.map +1 -1
- package/resources/beta/responses/internal-base.d.ts +3 -0
- package/resources/beta/responses/internal-base.d.ts.map +1 -1
- package/resources/beta/responses/internal-base.js +21 -12
- package/resources/beta/responses/internal-base.js.map +1 -1
- package/resources/beta/responses/internal-base.mjs +21 -12
- package/resources/beta/responses/internal-base.mjs.map +1 -1
- package/resources/beta/responses/responses.d.mts +51 -3
- package/resources/beta/responses/responses.d.mts.map +1 -1
- package/resources/beta/responses/responses.d.ts +51 -3
- package/resources/beta/responses/responses.d.ts.map +1 -1
- package/resources/beta/responses/responses.js.map +1 -1
- package/resources/beta/responses/responses.mjs.map +1 -1
- package/resources/beta/responses/ws-base.d.mts +5 -1
- package/resources/beta/responses/ws-base.d.mts.map +1 -1
- package/resources/beta/responses/ws-base.d.ts +5 -1
- package/resources/beta/responses/ws-base.d.ts.map +1 -1
- package/resources/beta/responses/ws-base.js +2 -4
- package/resources/beta/responses/ws-base.js.map +1 -1
- package/resources/beta/responses/ws-base.mjs +2 -4
- package/resources/beta/responses/ws-base.mjs.map +1 -1
- package/resources/beta/responses/ws.d.mts +2 -0
- package/resources/beta/responses/ws.d.mts.map +1 -1
- package/resources/beta/responses/ws.d.ts +2 -0
- package/resources/beta/responses/ws.d.ts.map +1 -1
- package/resources/beta/responses/ws.js +12 -3
- package/resources/beta/responses/ws.js.map +1 -1
- package/resources/beta/responses/ws.mjs +12 -3
- package/resources/beta/responses/ws.mjs.map +1 -1
- package/resources/live/forks/internal-base.d.mts +3 -0
- package/resources/live/forks/internal-base.d.mts.map +1 -1
- package/resources/live/forks/internal-base.d.ts +3 -0
- package/resources/live/forks/internal-base.d.ts.map +1 -1
- package/resources/live/forks/internal-base.js +21 -5
- package/resources/live/forks/internal-base.js.map +1 -1
- package/resources/live/forks/internal-base.mjs +21 -5
- package/resources/live/forks/internal-base.mjs.map +1 -1
- package/resources/live/internal-base.d.mts +3 -0
- package/resources/live/internal-base.d.mts.map +1 -1
- package/resources/live/internal-base.d.ts +3 -0
- package/resources/live/internal-base.d.ts.map +1 -1
- package/resources/live/internal-base.js +21 -5
- package/resources/live/internal-base.js.map +1 -1
- package/resources/live/internal-base.mjs +21 -5
- package/resources/live/internal-base.mjs.map +1 -1
- package/resources/live/sideband/internal-base.d.mts +3 -0
- package/resources/live/sideband/internal-base.d.mts.map +1 -1
- package/resources/live/sideband/internal-base.d.ts +3 -0
- package/resources/live/sideband/internal-base.d.ts.map +1 -1
- package/resources/live/sideband/internal-base.js +21 -5
- package/resources/live/sideband/internal-base.js.map +1 -1
- package/resources/live/sideband/internal-base.mjs +21 -5
- package/resources/live/sideband/internal-base.mjs.map +1 -1
- package/resources/responses/internal-base.d.mts +3 -0
- package/resources/responses/internal-base.d.mts.map +1 -1
- package/resources/responses/internal-base.d.ts +3 -0
- package/resources/responses/internal-base.d.ts.map +1 -1
- package/resources/responses/internal-base.js +21 -12
- package/resources/responses/internal-base.js.map +1 -1
- package/resources/responses/internal-base.mjs +21 -12
- package/resources/responses/internal-base.mjs.map +1 -1
- package/resources/responses/responses.d.mts +36 -3
- package/resources/responses/responses.d.mts.map +1 -1
- package/resources/responses/responses.d.ts +36 -3
- package/resources/responses/responses.d.ts.map +1 -1
- package/resources/responses/responses.js.map +1 -1
- package/resources/responses/responses.mjs.map +1 -1
- package/resources/responses/ws-base.d.mts +5 -1
- package/resources/responses/ws-base.d.mts.map +1 -1
- package/resources/responses/ws-base.d.ts +5 -1
- package/resources/responses/ws-base.d.ts.map +1 -1
- package/resources/responses/ws-base.js +2 -4
- package/resources/responses/ws-base.js.map +1 -1
- package/resources/responses/ws-base.mjs +2 -4
- package/resources/responses/ws-base.mjs.map +1 -1
- package/resources/responses/ws.d.mts +2 -0
- package/resources/responses/ws.d.mts.map +1 -1
- package/resources/responses/ws.d.ts +2 -0
- package/resources/responses/ws.d.ts.map +1 -1
- package/resources/responses/ws.js +12 -3
- package/resources/responses/ws.js.map +1 -1
- package/resources/responses/ws.mjs +12 -3
- package/resources/responses/ws.mjs.map +1 -1
- package/src/_vendor/zod-to-json-schema/Options.ts +2 -0
- package/src/_vendor/zod-to-json-schema/parseDef.ts +1 -0
- package/src/_vendor/zod-to-json-schema/parsers/bigint.ts +2 -0
- package/src/_vendor/zod-to-json-schema/parsers/literal.ts +1 -0
- package/src/_vendor/zod-to-json-schema/parsers/null.ts +1 -0
- package/src/_vendor/zod-to-json-schema/parsers/nullable.ts +4 -0
- package/src/_vendor/zod-to-json-schema/parsers/number.ts +2 -0
- package/src/_vendor/zod-to-json-schema/parsers/optional.ts +6 -7
- package/src/_vendor/zod-to-json-schema/parsers/record.ts +2 -0
- package/src/_vendor/zod-to-json-schema/parsers/string.ts +1 -0
- package/src/_vendor/zod-to-json-schema/parsers/union.ts +3 -0
- package/src/_vendor/zod-to-json-schema/util.ts +1 -0
- package/src/_vendor/zod-to-json-schema/zodToJsonSchema.ts +3 -1
- package/src/auth/subject-token-providers.ts +6 -1
- package/src/auth/workload-identity-auth.ts +10 -1
- package/src/auth/x509-transport.ts +13 -2
- package/src/azure.ts +3 -0
- package/src/bedrock.ts +5 -0
- package/src/beta/realtime/internal-base.ts +2 -0
- package/src/beta/realtime/websocket.ts +11 -1
- package/src/beta/realtime/ws.ts +3 -0
- package/src/client.ts +35 -3
- package/src/core/EventEmitter.ts +15 -0
- package/src/core/streaming.ts +30 -2
- package/src/helpers/audio.ts +2 -0
- package/src/helpers/standard-schema.ts +31 -19
- package/src/helpers/zod-v3-strict-schema.ts +8 -2
- package/src/helpers/zod.ts +32 -13
- package/src/internal/assistant-stream-delta.ts +7 -1
- package/src/internal/auth/x509-credential-options.ts +3 -0
- package/src/internal/auth/x509-token-exchange.ts +10 -1
- package/src/internal/auth/x509-transport-capability.ts +2 -1
- package/src/internal/auth/x509-workload-identity-auth.ts +13 -8
- package/src/internal/bedrock.ts +15 -0
- package/src/internal/decoders/line.ts +1 -0
- package/src/internal/parse.ts +1 -0
- package/src/internal/provider.ts +3 -0
- package/src/internal/qs/stringify.ts +3 -0
- package/src/internal/qs/utils.ts +14 -3
- package/src/internal/responses/response-accumulator.ts +34 -4
- package/src/internal/to-file.ts +1 -1
- package/src/internal/uploads.ts +11 -1
- package/src/internal/utils/abort.ts +7 -2
- package/src/internal/utils/bytes.ts +2 -0
- package/src/internal/utils/path.ts +2 -0
- package/src/internal/utils/sleep.ts +52 -1
- package/src/internal/ws-adapter-browser.ts +2 -0
- package/src/internal/ws.ts +44 -4
- package/src/lib/AbstractChatCompletionRunner.ts +40 -17
- package/src/lib/AssistantStream.ts +31 -20
- package/src/lib/ChatCompletionRunner.ts +1 -0
- package/src/lib/ChatCompletionStream.ts +81 -14
- package/src/lib/EventEmitter.ts +15 -0
- package/src/lib/EventStream.ts +93 -3
- package/src/lib/ResponsesParser.ts +5 -0
- package/src/lib/RunnableFunction.ts +4 -1
- package/src/lib/agents/agent-session-stream.ts +5 -3
- package/src/lib/embeddings.ts +3 -1
- package/src/lib/live/transcript-grouper.ts +4 -0
- package/src/lib/parser.ts +16 -2
- package/src/lib/responses/ResponseInputItems.ts +11 -0
- package/src/lib/responses/ResponseStream.ts +6 -3
- package/src/lib/transform.ts +70 -35
- package/src/lib/webrtc/connection.ts +5 -1
- package/src/lib/webrtc/data-channel.ts +7 -0
- package/src/lib/webrtc/subscriptions.ts +3 -0
- package/src/lib/webrtc/types.ts +1 -0
- package/src/providers/bedrock/aws.ts +5 -1
- package/src/realtime/internal-base.ts +2 -0
- package/src/realtime/websocket.ts +11 -1
- package/src/realtime/ws.ts +3 -0
- package/src/resources/beta/agents/agents.ts +2 -0
- package/src/resources/beta/beta.ts +2 -0
- package/src/resources/beta/index.ts +1 -0
- package/src/resources/beta/responses/index.ts +1 -0
- package/src/resources/beta/responses/internal-base.ts +24 -11
- package/src/resources/beta/responses/responses.ts +58 -0
- package/src/resources/beta/responses/ws-base.ts +7 -5
- package/src/resources/beta/responses/ws.ts +21 -6
- package/src/resources/live/forks/internal-base.ts +24 -5
- package/src/resources/live/internal-base.ts +24 -5
- package/src/resources/live/sideband/internal-base.ts +24 -5
- package/src/resources/responses/api.md +1 -0
- package/src/resources/responses/internal-base.ts +24 -11
- package/src/resources/responses/responses.ts +41 -0
- package/src/resources/responses/ws-base.ts +7 -5
- package/src/resources/responses/ws.ts +21 -6
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
package/lib/EventStream.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _EventStream_instances, _EventStream_connectedPromise, _EventStream_resolveConnectedPromise, _EventStream_rejectConnectedPromise, _EventStream_endPromise, _EventStream_resolveEndPromise, _EventStream_rejectEndPromise, _EventStream_listeners, _EventStream_abortListeners, _EventStream_emittedListenerRegistrations, _EventStream_pendingListenerCleanup, _EventStream_pendingBufferedEventChecks, _EventStream_listenerDispatchDepth, _EventStream_ended, _EventStream_errored, _EventStream_aborted, _EventStream_catchingPromiseCreated, _EventStream_terminalFailure, _EventStream_removeAbortListeners, _EventStream_onceForEmitted, _EventStream_removeEmittedListener, _EventStream_cleanupEmittedListeners, _EventStream_handleError, _EventStream_settleTerminalEvent;
|
|
1
|
+
var _EventStream_instances, _EventStream_connectedPromise, _EventStream_resolveConnectedPromise, _EventStream_rejectConnectedPromise, _EventStream_endPromise, _EventStream_resolveEndPromise, _EventStream_rejectEndPromise, _EventStream_listeners, _EventStream_abortListeners, _EventStream_emittedListenerRegistrations, _EventStream_pendingListenerCleanup, _EventStream_pendingBufferedEventChecks, _EventStream_listenerDispatchDepth, _EventStream_ended, _EventStream_errored, _EventStream_aborted, _EventStream_catchingPromiseCreated, _EventStream_terminalFailure, _EventStream_abortFromSignal, _EventStream_removeAbortListeners, _EventStream_onceForEmitted, _EventStream_removeEmittedListener, _EventStream_cleanupEmittedListeners, _EventStream_handleError, _EventStream_settleTerminalEvent;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "../internal/tslib.mjs";
|
|
3
3
|
import { APIConnectionError, APIConnectionTimeoutError, APIError, APIUserAbortError, AuthenticationError, BadRequestError, ConflictError, ContentFilterFinishReasonError, InternalServerError, InvalidWebhookSignatureError, LengthFinishReasonError, NotFoundError, OAuthError, OpenAIError, PermissionDeniedError, RateLimitError, SubjectTokenProviderError, UnprocessableEntityError, } from "../error.mjs";
|
|
4
4
|
const MAX_BUFFERED_ITERATOR_EVENTS = 4096;
|
|
@@ -10,7 +10,9 @@ const MAX_BUFFERED_EVENT_DEPTH = 256;
|
|
|
10
10
|
const bufferedJSONStringify = JSON.stringify;
|
|
11
11
|
const bufferedJSONParse = JSON.parse;
|
|
12
12
|
const sdkOwnedBufferedEventArguments = new WeakSet();
|
|
13
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
13
14
|
const typedArrayBufferGetter = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Uint8Array.prototype), 'buffer')?.get;
|
|
15
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
14
16
|
const typedArrayLengthGetter = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Uint8Array.prototype), 'length')?.get;
|
|
15
17
|
const dataViewBufferGetter = Object.getOwnPropertyDescriptor(DataView.prototype, 'buffer')?.get;
|
|
16
18
|
const symbolDescriptionGetter = Object.getOwnPropertyDescriptor(Symbol.prototype, 'description')?.get;
|
|
@@ -24,6 +26,8 @@ const errorStackDescriptor = Object.getOwnPropertyDescriptor(new Error('native s
|
|
|
24
26
|
const functionToString = Function.prototype.toString;
|
|
25
27
|
const objectToString = Object.prototype.toString;
|
|
26
28
|
const errorBrandDescriptor = Object.getOwnPropertyDescriptor(Error, 'isError');
|
|
29
|
+
// The native Error.isError predicate brands arbitrary values before an Error contract can be assumed.
|
|
30
|
+
// SAFETY: The captured native Error.isError property was checked to be a function before it is used as a brand predicate.
|
|
27
31
|
const nativeErrorBrand = errorBrandDescriptor && 'value' in errorBrandDescriptor && typeof errorBrandDescriptor.value === 'function'
|
|
28
32
|
? errorBrandDescriptor.value
|
|
29
33
|
: undefined;
|
|
@@ -53,6 +57,7 @@ const trustedIntrinsicPrototypes = new Set([
|
|
|
53
57
|
const trustedNativeConstructorSources = new Set();
|
|
54
58
|
const canonicalIntrinsicDescriptors = new Map();
|
|
55
59
|
const foreignErrorStackDescriptors = new WeakMap();
|
|
60
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- The native proxy predicate accepts arbitrary object identities without invoking their handlers.
|
|
56
61
|
function captureNativeProxyDetector() {
|
|
57
62
|
if (typeof process === 'undefined') {
|
|
58
63
|
return undefined;
|
|
@@ -62,6 +67,7 @@ function captureNativeProxyDetector() {
|
|
|
62
67
|
if (!loader || !('value' in loader) || typeof loader.value !== 'function') {
|
|
63
68
|
return undefined;
|
|
64
69
|
}
|
|
70
|
+
// oxlint-disable-next-line anti-slop/no-reflect-apply -- Invoke the descriptor value without reading a potentially overridden call property.
|
|
65
71
|
const util = Reflect.apply(loader.value, process, ['node:util']);
|
|
66
72
|
if (typeof util !== 'object' || util === null) {
|
|
67
73
|
return undefined;
|
|
@@ -74,6 +80,8 @@ function captureNativeProxyDetector() {
|
|
|
74
80
|
if (!detector || !('value' in detector) || typeof detector.value !== 'function') {
|
|
75
81
|
return undefined;
|
|
76
82
|
}
|
|
83
|
+
// SAFETY: The native detector data property was checked to be callable; it is invoked only to test the corresponding intrinsic object brand.
|
|
84
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- The captured native predicate is called only for objects, before their properties are inspected.
|
|
77
85
|
return detector.value;
|
|
78
86
|
}
|
|
79
87
|
catch {
|
|
@@ -93,6 +101,7 @@ function rememberTrustedIntrinsic(constructor) {
|
|
|
93
101
|
(typeof prototypeDescriptor.value !== 'object' && typeof prototypeDescriptor.value !== 'function')) {
|
|
94
102
|
return;
|
|
95
103
|
}
|
|
104
|
+
// SAFETY: The prototype data descriptor was checked as a non-null object before adding its identity to the trusted-intrinsic set.
|
|
96
105
|
trustedIntrinsicPrototypes.add(prototypeDescriptor.value);
|
|
97
106
|
const source = functionToString.call(constructor);
|
|
98
107
|
if (/^function [A-Za-z_$][\w$]*\(\) \{ \[native code\] \}$/u.test(source) &&
|
|
@@ -152,6 +161,7 @@ for (const name of [
|
|
|
152
161
|
rememberTrustedIntrinsic(descriptor.value);
|
|
153
162
|
}
|
|
154
163
|
}
|
|
164
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
155
165
|
const typedArrayConstructorDescriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Uint8Array.prototype), 'constructor');
|
|
156
166
|
if (typedArrayConstructorDescriptor && 'value' in typedArrayConstructorDescriptor) {
|
|
157
167
|
rememberTrustedIntrinsic(typedArrayConstructorDescriptor.value);
|
|
@@ -168,6 +178,7 @@ const blobInternalHandlePrototype = (() => {
|
|
|
168
178
|
for (const key of Object.getOwnPropertySymbols(blob)) {
|
|
169
179
|
const descriptor = Object.getOwnPropertyDescriptor(blob, key);
|
|
170
180
|
if (descriptor && 'value' in descriptor && typeof descriptor.value === 'object' && descriptor.value) {
|
|
181
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
171
182
|
return Object.getPrototypeOf(descriptor.value);
|
|
172
183
|
}
|
|
173
184
|
}
|
|
@@ -180,6 +191,7 @@ const blobInternalHandlePrototype = (() => {
|
|
|
180
191
|
const mapEntries = Map.prototype.entries;
|
|
181
192
|
const setValues = Set.prototype.values;
|
|
182
193
|
const headersEntriesDescriptor = typeof Headers === 'function' ? Object.getOwnPropertyDescriptor(Headers.prototype, 'entries') : undefined;
|
|
194
|
+
// SAFETY: The own Headers entries data property was checked to be callable and retains the native method signature.
|
|
183
195
|
const headersEntries = headersEntriesDescriptor &&
|
|
184
196
|
'value' in headersEntriesDescriptor &&
|
|
185
197
|
typeof headersEntriesDescriptor.value === 'function'
|
|
@@ -195,11 +207,13 @@ const retainedStorageBrands = new Set([
|
|
|
195
207
|
'Set',
|
|
196
208
|
'Headers',
|
|
197
209
|
]);
|
|
210
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Foreign prototypes are untrusted objects until their constructor descriptors are verified.
|
|
198
211
|
function getTrustedForeignIntrinsic(prototype) {
|
|
199
212
|
const descriptor = Object.getOwnPropertyDescriptor(prototype, 'constructor');
|
|
200
213
|
if (!descriptor || !('value' in descriptor) || typeof descriptor.value !== 'function') {
|
|
201
214
|
return undefined;
|
|
202
215
|
}
|
|
216
|
+
// SAFETY: The descriptor contains a function; the following native-source and prototype checks verify the Error constructor before use.
|
|
203
217
|
const constructor = descriptor.value;
|
|
204
218
|
const source = functionToString.call(constructor);
|
|
205
219
|
const descriptors = canonicalIntrinsicDescriptors.get(source);
|
|
@@ -214,12 +228,16 @@ function getTrustedForeignIntrinsic(prototype) {
|
|
|
214
228
|
constructorPrototype.writable !== false) {
|
|
215
229
|
return undefined;
|
|
216
230
|
}
|
|
231
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
217
232
|
return { constructor, descriptors, functionPrototype: Object.getPrototypeOf(constructor) };
|
|
218
233
|
}
|
|
234
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Intrinsic trust is established by object identity or verified cross-realm descriptors.
|
|
219
235
|
function isTrustedIntrinsicPrototype(prototype) {
|
|
220
236
|
return trustedIntrinsicPrototypes.has(prototype) || getTrustedForeignIntrinsic(prototype) !== undefined;
|
|
221
237
|
}
|
|
222
|
-
function isCanonicalIntrinsicFunction(value, canonical,
|
|
238
|
+
function isCanonicalIntrinsicFunction(value, canonical,
|
|
239
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Cross-realm function prototypes are compared by identity without trusting a callable signature.
|
|
240
|
+
functionPrototype) {
|
|
223
241
|
if (canonical === undefined) {
|
|
224
242
|
return value === undefined;
|
|
225
243
|
}
|
|
@@ -230,6 +248,7 @@ function isCanonicalIntrinsicFunction(value, canonical, functionPrototype) {
|
|
|
230
248
|
if (functionToString.call(value) !== source) {
|
|
231
249
|
return false;
|
|
232
250
|
}
|
|
251
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
233
252
|
const actualFunctionPrototype = Object.getPrototypeOf(value);
|
|
234
253
|
if (actualFunctionPrototype === functionPrototype) {
|
|
235
254
|
return true;
|
|
@@ -241,7 +260,9 @@ function isCanonicalIntrinsicFunction(value, canonical, functionPrototype) {
|
|
|
241
260
|
return (intrinsic !== undefined &&
|
|
242
261
|
functionToString.call(intrinsic.constructor) === nativeFunctionConstructorSource);
|
|
243
262
|
}
|
|
244
|
-
function isCanonicalIntrinsicDescriptor(descriptor, canonical,
|
|
263
|
+
function isCanonicalIntrinsicDescriptor(descriptor, canonical,
|
|
264
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Descriptor validation compares the verified function-prototype identity without reading its fields.
|
|
265
|
+
functionPrototype) {
|
|
245
266
|
if (!canonical ||
|
|
246
267
|
descriptor.configurable !== canonical.configurable ||
|
|
247
268
|
descriptor.enumerable !== canonical.enumerable ||
|
|
@@ -263,6 +284,7 @@ function isCanonicalIntrinsicDescriptor(descriptor, canonical, functionPrototype
|
|
|
263
284
|
return (isCanonicalIntrinsicFunction(descriptor.get, canonical.get, functionPrototype) &&
|
|
264
285
|
isCanonicalIntrinsicFunction(descriptor.set, canonical.set, functionPrototype));
|
|
265
286
|
}
|
|
287
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Native error branding must inspect arbitrary objects before assuming an Error contract.
|
|
266
288
|
function hasNativeErrorBrand(current) {
|
|
267
289
|
if (nativeErrorBrand) {
|
|
268
290
|
return nativeErrorBrand.call(Error, current);
|
|
@@ -272,21 +294,27 @@ function hasNativeErrorBrand(current) {
|
|
|
272
294
|
if (Object.getOwnPropertyDescriptor(prototype, Symbol.toStringTag)) {
|
|
273
295
|
return false;
|
|
274
296
|
}
|
|
297
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
275
298
|
prototype = Object.getPrototypeOf(prototype);
|
|
276
299
|
}
|
|
277
300
|
return prototype === null && objectToString.call(current) === '[object Error]';
|
|
278
301
|
}
|
|
279
|
-
function getVerifiedForeignErrorConstructor(
|
|
302
|
+
function getVerifiedForeignErrorConstructor(
|
|
303
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Foreign error constructors are verified from descriptors of an otherwise untrusted object.
|
|
304
|
+
current, stackDescriptor) {
|
|
280
305
|
if (typeof stackDescriptor.get !== 'function' || typeof stackDescriptor.set !== 'function') {
|
|
281
306
|
return undefined;
|
|
282
307
|
}
|
|
308
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
283
309
|
let prototype = Object.getPrototypeOf(current);
|
|
284
310
|
for (let depth = 0; prototype !== null && depth < MAX_BUFFERED_EVENT_DEPTH; depth += 1) {
|
|
285
311
|
const descriptor = Object.getOwnPropertyDescriptor(prototype, 'constructor');
|
|
286
312
|
if (descriptor && 'value' in descriptor && typeof descriptor.value === 'function') {
|
|
313
|
+
// SAFETY: The descriptor contains a function; the following intrinsic and constructor-prototype checks decide whether it is a trusted Error constructor.
|
|
287
314
|
const constructor = descriptor.value;
|
|
288
315
|
if (functionToString.call(constructor) === nativeErrorConstructorSource &&
|
|
289
316
|
isTrustedIntrinsicPrototype(prototype)) {
|
|
317
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
290
318
|
const functionPrototype = Object.getPrototypeOf(constructor);
|
|
291
319
|
if (Object.getPrototypeOf(stackDescriptor.get) === functionPrototype &&
|
|
292
320
|
Object.getPrototypeOf(stackDescriptor.set) === functionPrototype) {
|
|
@@ -295,10 +323,12 @@ function getVerifiedForeignErrorConstructor(current, stackDescriptor) {
|
|
|
295
323
|
return undefined;
|
|
296
324
|
}
|
|
297
325
|
}
|
|
326
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
298
327
|
prototype = Object.getPrototypeOf(prototype);
|
|
299
328
|
}
|
|
300
329
|
return undefined;
|
|
301
330
|
}
|
|
331
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Stack accessors are trusted only after the object passes native error branding.
|
|
302
332
|
function isTrustedNativeErrorStack(current, descriptor) {
|
|
303
333
|
if (!hasNativeErrorBrand(current)) {
|
|
304
334
|
return false;
|
|
@@ -317,6 +347,7 @@ function isTrustedNativeErrorStack(current, descriptor) {
|
|
|
317
347
|
}
|
|
318
348
|
let canonicalDescriptor = foreignErrorStackDescriptors.get(verified.prototype);
|
|
319
349
|
if (!canonicalDescriptor) {
|
|
350
|
+
// SAFETY: Reflect.construct returns an untyped value; unknown preserves that uncertainty for the descriptor checks below.
|
|
320
351
|
const canonical = Reflect.construct(verified.constructor, []);
|
|
321
352
|
if (typeof canonical !== 'object' ||
|
|
322
353
|
canonical === null ||
|
|
@@ -368,7 +399,9 @@ function createEventQueue() {
|
|
|
368
399
|
},
|
|
369
400
|
};
|
|
370
401
|
}
|
|
402
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Retained storage branding walks arbitrary object prototypes without assuming their native type.
|
|
371
403
|
function getRetainedStorageBrand(current) {
|
|
404
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
372
405
|
let prototype = Object.getPrototypeOf(current);
|
|
373
406
|
for (let depth = 0; prototype !== null && depth < MAX_BUFFERED_EVENT_DEPTH; depth += 1) {
|
|
374
407
|
if (prototype === Date.prototype) {
|
|
@@ -391,19 +424,24 @@ function getRetainedStorageBrand(current) {
|
|
|
391
424
|
retainedStorageBrands.has(descriptor.value)) {
|
|
392
425
|
return descriptor.value;
|
|
393
426
|
}
|
|
427
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
394
428
|
prototype = Object.getPrototypeOf(prototype);
|
|
395
429
|
}
|
|
396
430
|
return undefined;
|
|
397
431
|
}
|
|
398
|
-
function estimateRetainedBufferBytes(
|
|
432
|
+
function estimateRetainedBufferBytes(
|
|
433
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Memory accounting inspects arbitrary retained objects and detects native backing storage at runtime.
|
|
434
|
+
current, visit, depth) {
|
|
399
435
|
if (ArrayBuffer.isView(current)) {
|
|
400
436
|
let buffer;
|
|
401
437
|
let kind = 'typed-array';
|
|
402
438
|
try {
|
|
439
|
+
// SAFETY: The captured intrinsic getter performs its own receiver brand check; its result stays unknown until the ArrayBuffer validation below.
|
|
403
440
|
buffer = typedArrayBufferGetter?.call(current);
|
|
404
441
|
}
|
|
405
442
|
catch {
|
|
406
443
|
kind = 'data-view';
|
|
444
|
+
// SAFETY: The DataView intrinsic getter performs its receiver brand check; its result stays unknown until the ArrayBuffer validation below.
|
|
407
445
|
buffer = dataViewBufferGetter?.call(current);
|
|
408
446
|
}
|
|
409
447
|
if (typeof buffer !== 'object' || buffer === null) {
|
|
@@ -417,6 +455,7 @@ function estimateRetainedBufferBytes(current, visit, depth) {
|
|
|
417
455
|
if (!brand) {
|
|
418
456
|
return undefined;
|
|
419
457
|
}
|
|
458
|
+
// oxlint-disable-next-line anti-slop/no-unknown-returns -- Captured native accessors are checked for a finite numeric result before retained-size accounting.
|
|
420
459
|
let getter;
|
|
421
460
|
const kind = 'buffer';
|
|
422
461
|
switch (brand) {
|
|
@@ -439,6 +478,7 @@ function estimateRetainedBufferBytes(current, visit, depth) {
|
|
|
439
478
|
return { bytes: 0, kind: 'map' };
|
|
440
479
|
}
|
|
441
480
|
case 'Date': {
|
|
481
|
+
// oxlint-disable-next-line anti-slop/no-reflect-apply -- Invoke the captured intrinsic without reading its mutable call property.
|
|
442
482
|
Reflect.apply(dateTimestampGetter, current, []);
|
|
443
483
|
return { bytes: 8, kind: 'date' };
|
|
444
484
|
}
|
|
@@ -460,7 +500,9 @@ function estimateRetainedBufferBytes(current, visit, depth) {
|
|
|
460
500
|
kind,
|
|
461
501
|
};
|
|
462
502
|
}
|
|
463
|
-
function visitHiddenEventValues(
|
|
503
|
+
function visitHiddenEventValues(
|
|
504
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Native collection contents are inspected only after storage branding, without trusting structural fields.
|
|
505
|
+
current, kind, visit) {
|
|
464
506
|
if (kind === 'map') {
|
|
465
507
|
for (const [key, entry] of mapEntries.call(current)) {
|
|
466
508
|
if (!visit(key, 8) || !visit(entry, 8)) {
|
|
@@ -479,6 +521,7 @@ function visitHiddenEventValues(current, kind, visit) {
|
|
|
479
521
|
if (!headersEntries) {
|
|
480
522
|
return false;
|
|
481
523
|
}
|
|
524
|
+
// SAFETY: The captured native Headers.entries method performs its receiver brand check inside the enclosing try/catch.
|
|
482
525
|
for (const [name, value] of headersEntries.call(current)) {
|
|
483
526
|
if (!visit(name, 8) || !visit(value, 8)) {
|
|
484
527
|
return false;
|
|
@@ -487,7 +530,9 @@ function visitHiddenEventValues(current, kind, visit) {
|
|
|
487
530
|
}
|
|
488
531
|
return true;
|
|
489
532
|
}
|
|
490
|
-
function getInspectableEventKeys(
|
|
533
|
+
function getInspectableEventKeys(
|
|
534
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Event key inspection must accept arbitrary retained objects, arrays, and native storage views.
|
|
535
|
+
current, kind, availableBytes) {
|
|
491
536
|
if (Array.isArray(current)) {
|
|
492
537
|
const descriptor = Object.getOwnPropertyDescriptor(current, 'length');
|
|
493
538
|
const length = descriptor && 'value' in descriptor ? descriptor.value : undefined;
|
|
@@ -516,7 +561,9 @@ function getInspectableEventKeys(current, kind, availableBytes) {
|
|
|
516
561
|
return !Number.isInteger(index) || index < 0 || index >= length || String(index) !== key;
|
|
517
562
|
});
|
|
518
563
|
}
|
|
519
|
-
function visitInspectableEventProperties(
|
|
564
|
+
function visitInspectableEventProperties(
|
|
565
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Retained event properties are inspected through descriptors on arbitrary object identities.
|
|
566
|
+
current, kind, depth, availableBytes, charge, visit) {
|
|
520
567
|
const keys = getInspectableEventKeys(current, kind, availableBytes());
|
|
521
568
|
if (keys === undefined) {
|
|
522
569
|
return false;
|
|
@@ -542,7 +589,12 @@ function visitInspectableEventProperties(current, kind, depth, availableBytes, c
|
|
|
542
589
|
}
|
|
543
590
|
return true;
|
|
544
591
|
}
|
|
545
|
-
function visitRetainedEventPrototypes(
|
|
592
|
+
function visitRetainedEventPrototypes(
|
|
593
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Retention accounting follows arbitrary object prototypes without assuming their properties.
|
|
594
|
+
current, depth, isBlobInternalHandle, visited, availableBytes, charge, visit,
|
|
595
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- The retention callback records prototype identity before inspecting its descriptors.
|
|
596
|
+
retainPrototype) {
|
|
597
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
546
598
|
let prototype = Object.getPrototypeOf(current);
|
|
547
599
|
for (let prototypeDepth = depth + 1; prototype !== null; prototypeDepth += 1) {
|
|
548
600
|
if (prototypeDepth >= MAX_BUFFERED_EVENT_DEPTH) {
|
|
@@ -587,6 +639,7 @@ function visitRetainedEventPrototypes(current, depth, isBlobInternalHandle, visi
|
|
|
587
639
|
if (!retained) {
|
|
588
640
|
return false;
|
|
589
641
|
}
|
|
642
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
590
643
|
prototype = Object.getPrototypeOf(retainedPrototype);
|
|
591
644
|
}
|
|
592
645
|
return true;
|
|
@@ -619,6 +672,7 @@ function inspectBufferedEventGraph(value, remainingBytes) {
|
|
|
619
672
|
}
|
|
620
673
|
return bytes <= remainingBytes;
|
|
621
674
|
};
|
|
675
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- The ledger records object and symbol identities, which have no shared structural contract.
|
|
622
676
|
const addIdentity = (identity) => {
|
|
623
677
|
if (activeNode) {
|
|
624
678
|
activeNode.edges.add(identity);
|
|
@@ -627,6 +681,7 @@ function inspectBufferedEventGraph(value, remainingBytes) {
|
|
|
627
681
|
roots.add(identity);
|
|
628
682
|
}
|
|
629
683
|
};
|
|
684
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Retained graph nodes are identified by object or symbol identity independently of their fields.
|
|
630
685
|
const retainIdentity = (identity, inspect) => {
|
|
631
686
|
addIdentity(identity);
|
|
632
687
|
const node = { bytes: 0, edges: new Set() };
|
|
@@ -651,6 +706,8 @@ function inspectBufferedEventGraph(value, remainingBytes) {
|
|
|
651
706
|
if (!symbolDescriptionGetter) {
|
|
652
707
|
return false;
|
|
653
708
|
}
|
|
709
|
+
// SAFETY: The captured Symbol description getter is called after the symbol branch and returns a string or undefined by its native contract.
|
|
710
|
+
// oxlint-disable-next-line anti-slop/no-reflect-apply -- Invoke the captured intrinsic without reading its mutable call property.
|
|
654
711
|
const description = Reflect.apply(symbolDescriptionGetter, current, []);
|
|
655
712
|
return charge(8 + (description?.length ?? 0) * 2);
|
|
656
713
|
})) {
|
|
@@ -767,7 +824,9 @@ function collectBufferedLedgerIdentities(roots, candidate, records, work) {
|
|
|
767
824
|
}
|
|
768
825
|
return identities;
|
|
769
826
|
}
|
|
770
|
-
function getBufferedLedgerChange(
|
|
827
|
+
function getBufferedLedgerChange(
|
|
828
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Ledger changes are keyed by object or symbol identity, not a structural event type.
|
|
829
|
+
identity, graph, records, changes, node) {
|
|
771
830
|
const existing = changes.get(identity);
|
|
772
831
|
if (existing) {
|
|
773
832
|
if (node) {
|
|
@@ -952,6 +1011,7 @@ function createBufferedEventLedger() {
|
|
|
952
1011
|
}
|
|
953
1012
|
entry.identities.clear();
|
|
954
1013
|
};
|
|
1014
|
+
// oxlint-disable-next-line anti-slop/no-known-value-widening -- The ledger contract contextually types its callbacks and keeps retained-identity internals private.
|
|
955
1015
|
return {
|
|
956
1016
|
retain(graph) {
|
|
957
1017
|
const entry = { scalarBytes: 0, roots: new Set(), identities: new Set() };
|
|
@@ -1063,18 +1123,28 @@ export class EventStream {
|
|
|
1063
1123
|
abort() {
|
|
1064
1124
|
this.controller.abort();
|
|
1065
1125
|
}
|
|
1126
|
+
/** Creates a user-abort error retaining this runner's cancellation reason. */
|
|
1127
|
+
_userAbortError() {
|
|
1128
|
+
const error = new APIUserAbortError();
|
|
1129
|
+
Object.defineProperty(error, 'cause', {
|
|
1130
|
+
value: this.controller.signal.reason,
|
|
1131
|
+
writable: true,
|
|
1132
|
+
configurable: true,
|
|
1133
|
+
});
|
|
1134
|
+
return error;
|
|
1135
|
+
}
|
|
1066
1136
|
_listenForAbort(signal) {
|
|
1067
1137
|
if (!signal || this.ended) {
|
|
1068
1138
|
return;
|
|
1069
1139
|
}
|
|
1070
1140
|
if (signal.aborted) {
|
|
1071
|
-
this.
|
|
1141
|
+
__classPrivateFieldGet(this, _EventStream_instances, "m", _EventStream_abortFromSignal).call(this, signal);
|
|
1072
1142
|
return;
|
|
1073
1143
|
}
|
|
1074
1144
|
if (__classPrivateFieldGet(this, _EventStream_abortListeners, "f").some((registration) => registration.signal === signal)) {
|
|
1075
1145
|
return;
|
|
1076
1146
|
}
|
|
1077
|
-
const listener = () => this.
|
|
1147
|
+
const listener = () => __classPrivateFieldGet(this, _EventStream_instances, "m", _EventStream_abortFromSignal).call(this, signal);
|
|
1078
1148
|
signal.addEventListener('abort', listener, { once: true });
|
|
1079
1149
|
__classPrivateFieldGet(this, _EventStream_abortListeners, "f").push({ signal, listener });
|
|
1080
1150
|
}
|
|
@@ -1103,10 +1173,12 @@ export class EventStream {
|
|
|
1103
1173
|
if (!listeners) {
|
|
1104
1174
|
return this;
|
|
1105
1175
|
}
|
|
1176
|
+
// SAFETY: Listener functions are object identities used as WeakMap keys; registration and removal use the same function instance.
|
|
1106
1177
|
const emittedRegistration = __classPrivateFieldGet(this, _EventStream_emittedListenerRegistrations, "f").get(listener);
|
|
1107
1178
|
if (emittedRegistration?.event === event &&
|
|
1108
1179
|
!emittedRegistration.registration.removed &&
|
|
1109
1180
|
!emittedRegistration.registration.detached) {
|
|
1181
|
+
// SAFETY: The stored registration event was compared with this event above, preserving the event/listener type correlation.
|
|
1110
1182
|
__classPrivateFieldGet(this, _EventStream_instances, "m", _EventStream_removeEmittedListener).call(this, event, emittedRegistration.registration);
|
|
1111
1183
|
return this;
|
|
1112
1184
|
}
|
|
@@ -1144,6 +1216,7 @@ export class EventStream {
|
|
|
1144
1216
|
return new Promise((resolve, reject) => {
|
|
1145
1217
|
__classPrivateFieldSet(this, _EventStream_catchingPromiseCreated, true, "f");
|
|
1146
1218
|
const onError = (error) => {
|
|
1219
|
+
// SAFETY: This callback is paired with the same event when registered and removed; its variadic body forwards the event tuple or captured error.
|
|
1147
1220
|
this.off(event, onEvent);
|
|
1148
1221
|
reject(error);
|
|
1149
1222
|
};
|
|
@@ -1151,11 +1224,14 @@ export class EventStream {
|
|
|
1151
1224
|
if (event !== 'error') {
|
|
1152
1225
|
this.off('error', onError);
|
|
1153
1226
|
}
|
|
1227
|
+
// SAFETY: The emitted API returns the sole argument or the full tuple according to its existing EventTypes-dependent result contract.
|
|
1154
1228
|
resolve((values.length > 1 ? values : values[0]));
|
|
1155
1229
|
};
|
|
1156
1230
|
if (event !== 'error') {
|
|
1231
|
+
// SAFETY: This callback is paired with the same event when registered and removed; its variadic body forwards the event tuple or captured error.
|
|
1157
1232
|
__classPrivateFieldGet(this, _EventStream_instances, "m", _EventStream_onceForEmitted).call(this, 'error', onError);
|
|
1158
1233
|
}
|
|
1234
|
+
// SAFETY: This callback is paired with the same event when registered and removed; its variadic body forwards the event tuple or captured error.
|
|
1159
1235
|
__classPrivateFieldGet(this, _EventStream_instances, "m", _EventStream_onceForEmitted).call(this, event, onEvent);
|
|
1160
1236
|
});
|
|
1161
1237
|
}
|
|
@@ -1182,7 +1258,9 @@ export class EventStream {
|
|
|
1182
1258
|
sdkOwnedBufferedEventArguments.delete(args);
|
|
1183
1259
|
}
|
|
1184
1260
|
};
|
|
1261
|
+
// SAFETY: This callback is paired with the same event when registered and removed; its variadic body forwards the event tuple or captured error.
|
|
1185
1262
|
this.on(event, onEvent);
|
|
1263
|
+
// SAFETY: This callback is paired with the same event when registered and removed; its variadic body forwards the event tuple or captured error.
|
|
1186
1264
|
return () => this.off(event, onEvent);
|
|
1187
1265
|
}, {
|
|
1188
1266
|
// When iterating the 'error' or 'abort' event itself, yield it as a
|
|
@@ -1213,6 +1291,7 @@ export class EventStream {
|
|
|
1213
1291
|
let failure;
|
|
1214
1292
|
let failureDelivered = false;
|
|
1215
1293
|
let detach = () => undefined;
|
|
1294
|
+
// SAFETY: A completed iterator result has no yielded value; never preserves the iterator public result type for done: true.
|
|
1216
1295
|
const doneResult = () => ({ value: undefined, done: true });
|
|
1217
1296
|
const finishReaders = () => {
|
|
1218
1297
|
while (readQueue.length) {
|
|
@@ -1289,10 +1368,12 @@ export class EventStream {
|
|
|
1289
1368
|
return;
|
|
1290
1369
|
}
|
|
1291
1370
|
if (typeof value === 'object' && value !== null && sdkOwnedBufferedEventArguments.has(value)) {
|
|
1371
|
+
// SAFETY: Only SDK-created argument tuples are inserted into this private WeakSet, so membership establishes the array identity.
|
|
1292
1372
|
const argumentsTuple = value;
|
|
1293
1373
|
for (let index = 0; index < argumentsTuple.length; index += 1) {
|
|
1294
1374
|
const argument = argumentsTuple[index];
|
|
1295
1375
|
if (typeof argument === 'string') {
|
|
1376
|
+
// SAFETY: The branch checked argument is a string; JSON stringify/parse returns that same string value while detaching retained storage.
|
|
1296
1377
|
argumentsTuple[index] = bufferedJSONParse(bufferedJSONStringify(argument));
|
|
1297
1378
|
}
|
|
1298
1379
|
}
|
|
@@ -1429,6 +1510,7 @@ export class EventStream {
|
|
|
1429
1510
|
let dispatchThrew = false;
|
|
1430
1511
|
try {
|
|
1431
1512
|
if (listeners) {
|
|
1513
|
+
// SAFETY: Filtering only removes registrations from the same event bucket and preserves the listener signatures for that event.
|
|
1432
1514
|
__classPrivateFieldGet(this, _EventStream_listeners, "f")[event] = listeners.filter((listener) => {
|
|
1433
1515
|
if (listener.once) {
|
|
1434
1516
|
listener.detached = true;
|
|
@@ -1437,9 +1519,11 @@ export class EventStream {
|
|
|
1437
1519
|
});
|
|
1438
1520
|
__classPrivateFieldSet(this, _EventStream_listenerDispatchDepth, __classPrivateFieldGet(this, _EventStream_listenerDispatchDepth, "f") + 1, "f");
|
|
1439
1521
|
try {
|
|
1522
|
+
// SAFETY: The listener bucket and argument tuple come from the same EventTypes key; this bridges TypeScript generic indexed-access correlation.
|
|
1440
1523
|
for (const registration of listeners) {
|
|
1441
1524
|
if (!registration.removed) {
|
|
1442
1525
|
const { listener } = registration;
|
|
1526
|
+
// SAFETY: The listener bucket and argument tuple come from the same EventTypes key; this bridges TypeScript generic indexed-access correlation.
|
|
1443
1527
|
listener(...args);
|
|
1444
1528
|
}
|
|
1445
1529
|
}
|
|
@@ -1480,7 +1564,14 @@ export class EventStream {
|
|
|
1480
1564
|
// Hook for subclasses.
|
|
1481
1565
|
}
|
|
1482
1566
|
}
|
|
1483
|
-
_EventStream_connectedPromise = new WeakMap(), _EventStream_resolveConnectedPromise = new WeakMap(), _EventStream_rejectConnectedPromise = new WeakMap(), _EventStream_endPromise = new WeakMap(), _EventStream_resolveEndPromise = new WeakMap(), _EventStream_rejectEndPromise = new WeakMap(), _EventStream_listeners = new WeakMap(), _EventStream_abortListeners = new WeakMap(), _EventStream_emittedListenerRegistrations = new WeakMap(), _EventStream_pendingListenerCleanup = new WeakMap(), _EventStream_pendingBufferedEventChecks = new WeakMap(), _EventStream_listenerDispatchDepth = new WeakMap(), _EventStream_ended = new WeakMap(), _EventStream_errored = new WeakMap(), _EventStream_aborted = new WeakMap(), _EventStream_catchingPromiseCreated = new WeakMap(), _EventStream_terminalFailure = new WeakMap(), _EventStream_instances = new WeakSet(),
|
|
1567
|
+
_EventStream_connectedPromise = new WeakMap(), _EventStream_resolveConnectedPromise = new WeakMap(), _EventStream_rejectConnectedPromise = new WeakMap(), _EventStream_endPromise = new WeakMap(), _EventStream_resolveEndPromise = new WeakMap(), _EventStream_rejectEndPromise = new WeakMap(), _EventStream_listeners = new WeakMap(), _EventStream_abortListeners = new WeakMap(), _EventStream_emittedListenerRegistrations = new WeakMap(), _EventStream_pendingListenerCleanup = new WeakMap(), _EventStream_pendingBufferedEventChecks = new WeakMap(), _EventStream_listenerDispatchDepth = new WeakMap(), _EventStream_ended = new WeakMap(), _EventStream_errored = new WeakMap(), _EventStream_aborted = new WeakMap(), _EventStream_catchingPromiseCreated = new WeakMap(), _EventStream_terminalFailure = new WeakMap(), _EventStream_instances = new WeakSet(), _EventStream_abortFromSignal = function _EventStream_abortFromSignal(signal) {
|
|
1568
|
+
try {
|
|
1569
|
+
this.controller.abort(signal.reason);
|
|
1570
|
+
}
|
|
1571
|
+
catch {
|
|
1572
|
+
this.controller.abort();
|
|
1573
|
+
}
|
|
1574
|
+
}, _EventStream_removeAbortListeners = function _EventStream_removeAbortListeners() {
|
|
1484
1575
|
for (const { signal, listener } of __classPrivateFieldGet(this, _EventStream_abortListeners, "f").splice(0)) {
|
|
1485
1576
|
signal.removeEventListener('abort', listener);
|
|
1486
1577
|
}
|
|
@@ -1494,6 +1585,7 @@ _EventStream_connectedPromise = new WeakMap(), _EventStream_resolveConnectedProm
|
|
|
1494
1585
|
listeners?.length === previousLength + 1 &&
|
|
1495
1586
|
registration?.listener === listener &&
|
|
1496
1587
|
registration.once) {
|
|
1588
|
+
// SAFETY: Listener functions are object identities used as WeakMap keys; registration and removal use the same function instance.
|
|
1497
1589
|
__classPrivateFieldGet(this, _EventStream_emittedListenerRegistrations, "f").set(listener, { event, registration });
|
|
1498
1590
|
}
|
|
1499
1591
|
}, _EventStream_removeEmittedListener = function _EventStream_removeEmittedListener(event, registration) {
|
|
@@ -1501,6 +1593,7 @@ _EventStream_connectedPromise = new WeakMap(), _EventStream_resolveConnectedProm
|
|
|
1501
1593
|
return;
|
|
1502
1594
|
}
|
|
1503
1595
|
registration.removed = true;
|
|
1596
|
+
// SAFETY: Listener functions are object identities used as WeakMap keys; registration and removal use the same function instance.
|
|
1504
1597
|
__classPrivateFieldGet(this, _EventStream_emittedListenerRegistrations, "f").delete(registration.listener);
|
|
1505
1598
|
__classPrivateFieldGet(this, _EventStream_pendingListenerCleanup, "f").add(event);
|
|
1506
1599
|
if (__classPrivateFieldGet(this, _EventStream_listenerDispatchDepth, "f") === 0) {
|
|
@@ -1508,9 +1601,11 @@ _EventStream_connectedPromise = new WeakMap(), _EventStream_resolveConnectedProm
|
|
|
1508
1601
|
}
|
|
1509
1602
|
}, _EventStream_cleanupEmittedListeners = function _EventStream_cleanupEmittedListeners() {
|
|
1510
1603
|
for (const event of __classPrivateFieldGet(this, _EventStream_pendingListenerCleanup, "f")) {
|
|
1604
|
+
// SAFETY: Pending cleanup keys are added only from registered EventTypes events; the key retains its event-map membership.
|
|
1511
1605
|
const eventType = event;
|
|
1512
1606
|
const listeners = __classPrivateFieldGet(this, _EventStream_listeners, "f")[eventType];
|
|
1513
1607
|
if (listeners) {
|
|
1608
|
+
// SAFETY: Filtering only removes registrations from the same event bucket and preserves the listener signatures for that event.
|
|
1514
1609
|
__classPrivateFieldGet(this, _EventStream_listeners, "f")[eventType] = listeners.filter((listener) => !listener.removed);
|
|
1515
1610
|
}
|
|
1516
1611
|
}
|
|
@@ -1518,7 +1613,7 @@ _EventStream_connectedPromise = new WeakMap(), _EventStream_resolveConnectedProm
|
|
|
1518
1613
|
}, _EventStream_handleError = function _EventStream_handleError(error) {
|
|
1519
1614
|
__classPrivateFieldSet(this, _EventStream_errored, true, "f");
|
|
1520
1615
|
if (error instanceof Error && error.name === 'AbortError') {
|
|
1521
|
-
error =
|
|
1616
|
+
error = this._userAbortError();
|
|
1522
1617
|
}
|
|
1523
1618
|
if (error instanceof APIUserAbortError) {
|
|
1524
1619
|
__classPrivateFieldSet(this, _EventStream_aborted, true, "f");
|
|
@@ -1536,6 +1631,7 @@ _EventStream_connectedPromise = new WeakMap(), _EventStream_resolveConnectedProm
|
|
|
1536
1631
|
return this._emit('error', new OpenAIError(String(error)));
|
|
1537
1632
|
}, _EventStream_settleTerminalEvent = function _EventStream_settleTerminalEvent(event, args, hasListeners) {
|
|
1538
1633
|
if (event === 'abort') {
|
|
1634
|
+
// SAFETY: The abort event key selects the APIUserAbortError argument tuple established by the typed emit contract.
|
|
1539
1635
|
const error = args[0];
|
|
1540
1636
|
__classPrivateFieldSet(this, _EventStream_terminalFailure, __classPrivateFieldGet(this, _EventStream_terminalFailure, "f") ?? { kind: 'abort', error }, "f");
|
|
1541
1637
|
if (!__classPrivateFieldGet(this, _EventStream_catchingPromiseCreated, "f") && !hasListeners) {
|
|
@@ -1548,6 +1644,7 @@ _EventStream_connectedPromise = new WeakMap(), _EventStream_resolveConnectedProm
|
|
|
1548
1644
|
}
|
|
1549
1645
|
if (event === 'error') {
|
|
1550
1646
|
// NOTE: _emit('error', error) should only be called from #handleError().
|
|
1647
|
+
// SAFETY: The error event is emitted by the error-normalization path, which supplies an OpenAIError as its first argument.
|
|
1551
1648
|
const error = args[0];
|
|
1552
1649
|
__classPrivateFieldSet(this, _EventStream_terminalFailure, __classPrivateFieldGet(this, _EventStream_terminalFailure, "f") ?? { kind: 'error', error }, "f");
|
|
1553
1650
|
if (!__classPrivateFieldGet(this, _EventStream_catchingPromiseCreated, "f") && !hasListeners) {
|