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.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
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;
|
|
2
|
+
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;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.EventStream = void 0;
|
|
5
5
|
const tslib_1 = require("../internal/tslib.js");
|
|
@@ -13,7 +13,9 @@ const MAX_BUFFERED_EVENT_DEPTH = 256;
|
|
|
13
13
|
const bufferedJSONStringify = JSON.stringify;
|
|
14
14
|
const bufferedJSONParse = JSON.parse;
|
|
15
15
|
const sdkOwnedBufferedEventArguments = new WeakSet();
|
|
16
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
16
17
|
const typedArrayBufferGetter = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Uint8Array.prototype), 'buffer')?.get;
|
|
18
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
17
19
|
const typedArrayLengthGetter = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Uint8Array.prototype), 'length')?.get;
|
|
18
20
|
const dataViewBufferGetter = Object.getOwnPropertyDescriptor(DataView.prototype, 'buffer')?.get;
|
|
19
21
|
const symbolDescriptionGetter = Object.getOwnPropertyDescriptor(Symbol.prototype, 'description')?.get;
|
|
@@ -27,6 +29,8 @@ const errorStackDescriptor = Object.getOwnPropertyDescriptor(new Error('native s
|
|
|
27
29
|
const functionToString = Function.prototype.toString;
|
|
28
30
|
const objectToString = Object.prototype.toString;
|
|
29
31
|
const errorBrandDescriptor = Object.getOwnPropertyDescriptor(Error, 'isError');
|
|
32
|
+
// The native Error.isError predicate brands arbitrary values before an Error contract can be assumed.
|
|
33
|
+
// SAFETY: The captured native Error.isError property was checked to be a function before it is used as a brand predicate.
|
|
30
34
|
const nativeErrorBrand = errorBrandDescriptor && 'value' in errorBrandDescriptor && typeof errorBrandDescriptor.value === 'function'
|
|
31
35
|
? errorBrandDescriptor.value
|
|
32
36
|
: undefined;
|
|
@@ -56,6 +60,7 @@ const trustedIntrinsicPrototypes = new Set([
|
|
|
56
60
|
const trustedNativeConstructorSources = new Set();
|
|
57
61
|
const canonicalIntrinsicDescriptors = new Map();
|
|
58
62
|
const foreignErrorStackDescriptors = new WeakMap();
|
|
63
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- The native proxy predicate accepts arbitrary object identities without invoking their handlers.
|
|
59
64
|
function captureNativeProxyDetector() {
|
|
60
65
|
if (typeof process === 'undefined') {
|
|
61
66
|
return undefined;
|
|
@@ -65,6 +70,7 @@ function captureNativeProxyDetector() {
|
|
|
65
70
|
if (!loader || !('value' in loader) || typeof loader.value !== 'function') {
|
|
66
71
|
return undefined;
|
|
67
72
|
}
|
|
73
|
+
// oxlint-disable-next-line anti-slop/no-reflect-apply -- Invoke the descriptor value without reading a potentially overridden call property.
|
|
68
74
|
const util = Reflect.apply(loader.value, process, ['node:util']);
|
|
69
75
|
if (typeof util !== 'object' || util === null) {
|
|
70
76
|
return undefined;
|
|
@@ -77,6 +83,8 @@ function captureNativeProxyDetector() {
|
|
|
77
83
|
if (!detector || !('value' in detector) || typeof detector.value !== 'function') {
|
|
78
84
|
return undefined;
|
|
79
85
|
}
|
|
86
|
+
// SAFETY: The native detector data property was checked to be callable; it is invoked only to test the corresponding intrinsic object brand.
|
|
87
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- The captured native predicate is called only for objects, before their properties are inspected.
|
|
80
88
|
return detector.value;
|
|
81
89
|
}
|
|
82
90
|
catch {
|
|
@@ -96,6 +104,7 @@ function rememberTrustedIntrinsic(constructor) {
|
|
|
96
104
|
(typeof prototypeDescriptor.value !== 'object' && typeof prototypeDescriptor.value !== 'function')) {
|
|
97
105
|
return;
|
|
98
106
|
}
|
|
107
|
+
// SAFETY: The prototype data descriptor was checked as a non-null object before adding its identity to the trusted-intrinsic set.
|
|
99
108
|
trustedIntrinsicPrototypes.add(prototypeDescriptor.value);
|
|
100
109
|
const source = functionToString.call(constructor);
|
|
101
110
|
if (/^function [A-Za-z_$][\w$]*\(\) \{ \[native code\] \}$/u.test(source) &&
|
|
@@ -155,6 +164,7 @@ for (const name of [
|
|
|
155
164
|
rememberTrustedIntrinsic(descriptor.value);
|
|
156
165
|
}
|
|
157
166
|
}
|
|
167
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
158
168
|
const typedArrayConstructorDescriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Uint8Array.prototype), 'constructor');
|
|
159
169
|
if (typedArrayConstructorDescriptor && 'value' in typedArrayConstructorDescriptor) {
|
|
160
170
|
rememberTrustedIntrinsic(typedArrayConstructorDescriptor.value);
|
|
@@ -171,6 +181,7 @@ const blobInternalHandlePrototype = (() => {
|
|
|
171
181
|
for (const key of Object.getOwnPropertySymbols(blob)) {
|
|
172
182
|
const descriptor = Object.getOwnPropertyDescriptor(blob, key);
|
|
173
183
|
if (descriptor && 'value' in descriptor && typeof descriptor.value === 'object' && descriptor.value) {
|
|
184
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
174
185
|
return Object.getPrototypeOf(descriptor.value);
|
|
175
186
|
}
|
|
176
187
|
}
|
|
@@ -183,6 +194,7 @@ const blobInternalHandlePrototype = (() => {
|
|
|
183
194
|
const mapEntries = Map.prototype.entries;
|
|
184
195
|
const setValues = Set.prototype.values;
|
|
185
196
|
const headersEntriesDescriptor = typeof Headers === 'function' ? Object.getOwnPropertyDescriptor(Headers.prototype, 'entries') : undefined;
|
|
197
|
+
// SAFETY: The own Headers entries data property was checked to be callable and retains the native method signature.
|
|
186
198
|
const headersEntries = headersEntriesDescriptor &&
|
|
187
199
|
'value' in headersEntriesDescriptor &&
|
|
188
200
|
typeof headersEntriesDescriptor.value === 'function'
|
|
@@ -198,11 +210,13 @@ const retainedStorageBrands = new Set([
|
|
|
198
210
|
'Set',
|
|
199
211
|
'Headers',
|
|
200
212
|
]);
|
|
213
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Foreign prototypes are untrusted objects until their constructor descriptors are verified.
|
|
201
214
|
function getTrustedForeignIntrinsic(prototype) {
|
|
202
215
|
const descriptor = Object.getOwnPropertyDescriptor(prototype, 'constructor');
|
|
203
216
|
if (!descriptor || !('value' in descriptor) || typeof descriptor.value !== 'function') {
|
|
204
217
|
return undefined;
|
|
205
218
|
}
|
|
219
|
+
// SAFETY: The descriptor contains a function; the following native-source and prototype checks verify the Error constructor before use.
|
|
206
220
|
const constructor = descriptor.value;
|
|
207
221
|
const source = functionToString.call(constructor);
|
|
208
222
|
const descriptors = canonicalIntrinsicDescriptors.get(source);
|
|
@@ -217,12 +231,16 @@ function getTrustedForeignIntrinsic(prototype) {
|
|
|
217
231
|
constructorPrototype.writable !== false) {
|
|
218
232
|
return undefined;
|
|
219
233
|
}
|
|
234
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
220
235
|
return { constructor, descriptors, functionPrototype: Object.getPrototypeOf(constructor) };
|
|
221
236
|
}
|
|
237
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Intrinsic trust is established by object identity or verified cross-realm descriptors.
|
|
222
238
|
function isTrustedIntrinsicPrototype(prototype) {
|
|
223
239
|
return trustedIntrinsicPrototypes.has(prototype) || getTrustedForeignIntrinsic(prototype) !== undefined;
|
|
224
240
|
}
|
|
225
|
-
function isCanonicalIntrinsicFunction(value, canonical,
|
|
241
|
+
function isCanonicalIntrinsicFunction(value, canonical,
|
|
242
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Cross-realm function prototypes are compared by identity without trusting a callable signature.
|
|
243
|
+
functionPrototype) {
|
|
226
244
|
if (canonical === undefined) {
|
|
227
245
|
return value === undefined;
|
|
228
246
|
}
|
|
@@ -233,6 +251,7 @@ function isCanonicalIntrinsicFunction(value, canonical, functionPrototype) {
|
|
|
233
251
|
if (functionToString.call(value) !== source) {
|
|
234
252
|
return false;
|
|
235
253
|
}
|
|
254
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
236
255
|
const actualFunctionPrototype = Object.getPrototypeOf(value);
|
|
237
256
|
if (actualFunctionPrototype === functionPrototype) {
|
|
238
257
|
return true;
|
|
@@ -244,7 +263,9 @@ function isCanonicalIntrinsicFunction(value, canonical, functionPrototype) {
|
|
|
244
263
|
return (intrinsic !== undefined &&
|
|
245
264
|
functionToString.call(intrinsic.constructor) === nativeFunctionConstructorSource);
|
|
246
265
|
}
|
|
247
|
-
function isCanonicalIntrinsicDescriptor(descriptor, canonical,
|
|
266
|
+
function isCanonicalIntrinsicDescriptor(descriptor, canonical,
|
|
267
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Descriptor validation compares the verified function-prototype identity without reading its fields.
|
|
268
|
+
functionPrototype) {
|
|
248
269
|
if (!canonical ||
|
|
249
270
|
descriptor.configurable !== canonical.configurable ||
|
|
250
271
|
descriptor.enumerable !== canonical.enumerable ||
|
|
@@ -266,6 +287,7 @@ function isCanonicalIntrinsicDescriptor(descriptor, canonical, functionPrototype
|
|
|
266
287
|
return (isCanonicalIntrinsicFunction(descriptor.get, canonical.get, functionPrototype) &&
|
|
267
288
|
isCanonicalIntrinsicFunction(descriptor.set, canonical.set, functionPrototype));
|
|
268
289
|
}
|
|
290
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Native error branding must inspect arbitrary objects before assuming an Error contract.
|
|
269
291
|
function hasNativeErrorBrand(current) {
|
|
270
292
|
if (nativeErrorBrand) {
|
|
271
293
|
return nativeErrorBrand.call(Error, current);
|
|
@@ -275,21 +297,27 @@ function hasNativeErrorBrand(current) {
|
|
|
275
297
|
if (Object.getOwnPropertyDescriptor(prototype, Symbol.toStringTag)) {
|
|
276
298
|
return false;
|
|
277
299
|
}
|
|
300
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
278
301
|
prototype = Object.getPrototypeOf(prototype);
|
|
279
302
|
}
|
|
280
303
|
return prototype === null && objectToString.call(current) === '[object Error]';
|
|
281
304
|
}
|
|
282
|
-
function getVerifiedForeignErrorConstructor(
|
|
305
|
+
function getVerifiedForeignErrorConstructor(
|
|
306
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Foreign error constructors are verified from descriptors of an otherwise untrusted object.
|
|
307
|
+
current, stackDescriptor) {
|
|
283
308
|
if (typeof stackDescriptor.get !== 'function' || typeof stackDescriptor.set !== 'function') {
|
|
284
309
|
return undefined;
|
|
285
310
|
}
|
|
311
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
286
312
|
let prototype = Object.getPrototypeOf(current);
|
|
287
313
|
for (let depth = 0; prototype !== null && depth < MAX_BUFFERED_EVENT_DEPTH; depth += 1) {
|
|
288
314
|
const descriptor = Object.getOwnPropertyDescriptor(prototype, 'constructor');
|
|
289
315
|
if (descriptor && 'value' in descriptor && typeof descriptor.value === 'function') {
|
|
316
|
+
// SAFETY: The descriptor contains a function; the following intrinsic and constructor-prototype checks decide whether it is a trusted Error constructor.
|
|
290
317
|
const constructor = descriptor.value;
|
|
291
318
|
if (functionToString.call(constructor) === nativeErrorConstructorSource &&
|
|
292
319
|
isTrustedIntrinsicPrototype(prototype)) {
|
|
320
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
293
321
|
const functionPrototype = Object.getPrototypeOf(constructor);
|
|
294
322
|
if (Object.getPrototypeOf(stackDescriptor.get) === functionPrototype &&
|
|
295
323
|
Object.getPrototypeOf(stackDescriptor.set) === functionPrototype) {
|
|
@@ -298,10 +326,12 @@ function getVerifiedForeignErrorConstructor(current, stackDescriptor) {
|
|
|
298
326
|
return undefined;
|
|
299
327
|
}
|
|
300
328
|
}
|
|
329
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
301
330
|
prototype = Object.getPrototypeOf(prototype);
|
|
302
331
|
}
|
|
303
332
|
return undefined;
|
|
304
333
|
}
|
|
334
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Stack accessors are trusted only after the object passes native error branding.
|
|
305
335
|
function isTrustedNativeErrorStack(current, descriptor) {
|
|
306
336
|
if (!hasNativeErrorBrand(current)) {
|
|
307
337
|
return false;
|
|
@@ -320,6 +350,7 @@ function isTrustedNativeErrorStack(current, descriptor) {
|
|
|
320
350
|
}
|
|
321
351
|
let canonicalDescriptor = foreignErrorStackDescriptors.get(verified.prototype);
|
|
322
352
|
if (!canonicalDescriptor) {
|
|
353
|
+
// SAFETY: Reflect.construct returns an untyped value; unknown preserves that uncertainty for the descriptor checks below.
|
|
323
354
|
const canonical = Reflect.construct(verified.constructor, []);
|
|
324
355
|
if (typeof canonical !== 'object' ||
|
|
325
356
|
canonical === null ||
|
|
@@ -371,7 +402,9 @@ function createEventQueue() {
|
|
|
371
402
|
},
|
|
372
403
|
};
|
|
373
404
|
}
|
|
405
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Retained storage branding walks arbitrary object prototypes without assuming their native type.
|
|
374
406
|
function getRetainedStorageBrand(current) {
|
|
407
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
375
408
|
let prototype = Object.getPrototypeOf(current);
|
|
376
409
|
for (let depth = 0; prototype !== null && depth < MAX_BUFFERED_EVENT_DEPTH; depth += 1) {
|
|
377
410
|
if (prototype === Date.prototype) {
|
|
@@ -394,19 +427,24 @@ function getRetainedStorageBrand(current) {
|
|
|
394
427
|
retainedStorageBrands.has(descriptor.value)) {
|
|
395
428
|
return descriptor.value;
|
|
396
429
|
}
|
|
430
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
397
431
|
prototype = Object.getPrototypeOf(prototype);
|
|
398
432
|
}
|
|
399
433
|
return undefined;
|
|
400
434
|
}
|
|
401
|
-
function estimateRetainedBufferBytes(
|
|
435
|
+
function estimateRetainedBufferBytes(
|
|
436
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Memory accounting inspects arbitrary retained objects and detects native backing storage at runtime.
|
|
437
|
+
current, visit, depth) {
|
|
402
438
|
if (ArrayBuffer.isView(current)) {
|
|
403
439
|
let buffer;
|
|
404
440
|
let kind = 'typed-array';
|
|
405
441
|
try {
|
|
442
|
+
// SAFETY: The captured intrinsic getter performs its own receiver brand check; its result stays unknown until the ArrayBuffer validation below.
|
|
406
443
|
buffer = typedArrayBufferGetter?.call(current);
|
|
407
444
|
}
|
|
408
445
|
catch {
|
|
409
446
|
kind = 'data-view';
|
|
447
|
+
// SAFETY: The DataView intrinsic getter performs its receiver brand check; its result stays unknown until the ArrayBuffer validation below.
|
|
410
448
|
buffer = dataViewBufferGetter?.call(current);
|
|
411
449
|
}
|
|
412
450
|
if (typeof buffer !== 'object' || buffer === null) {
|
|
@@ -420,6 +458,7 @@ function estimateRetainedBufferBytes(current, visit, depth) {
|
|
|
420
458
|
if (!brand) {
|
|
421
459
|
return undefined;
|
|
422
460
|
}
|
|
461
|
+
// oxlint-disable-next-line anti-slop/no-unknown-returns -- Captured native accessors are checked for a finite numeric result before retained-size accounting.
|
|
423
462
|
let getter;
|
|
424
463
|
const kind = 'buffer';
|
|
425
464
|
switch (brand) {
|
|
@@ -442,6 +481,7 @@ function estimateRetainedBufferBytes(current, visit, depth) {
|
|
|
442
481
|
return { bytes: 0, kind: 'map' };
|
|
443
482
|
}
|
|
444
483
|
case 'Date': {
|
|
484
|
+
// oxlint-disable-next-line anti-slop/no-reflect-apply -- Invoke the captured intrinsic without reading its mutable call property.
|
|
445
485
|
Reflect.apply(dateTimestampGetter, current, []);
|
|
446
486
|
return { bytes: 8, kind: 'date' };
|
|
447
487
|
}
|
|
@@ -463,7 +503,9 @@ function estimateRetainedBufferBytes(current, visit, depth) {
|
|
|
463
503
|
kind,
|
|
464
504
|
};
|
|
465
505
|
}
|
|
466
|
-
function visitHiddenEventValues(
|
|
506
|
+
function visitHiddenEventValues(
|
|
507
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Native collection contents are inspected only after storage branding, without trusting structural fields.
|
|
508
|
+
current, kind, visit) {
|
|
467
509
|
if (kind === 'map') {
|
|
468
510
|
for (const [key, entry] of mapEntries.call(current)) {
|
|
469
511
|
if (!visit(key, 8) || !visit(entry, 8)) {
|
|
@@ -482,6 +524,7 @@ function visitHiddenEventValues(current, kind, visit) {
|
|
|
482
524
|
if (!headersEntries) {
|
|
483
525
|
return false;
|
|
484
526
|
}
|
|
527
|
+
// SAFETY: The captured native Headers.entries method performs its receiver brand check inside the enclosing try/catch.
|
|
485
528
|
for (const [name, value] of headersEntries.call(current)) {
|
|
486
529
|
if (!visit(name, 8) || !visit(value, 8)) {
|
|
487
530
|
return false;
|
|
@@ -490,7 +533,9 @@ function visitHiddenEventValues(current, kind, visit) {
|
|
|
490
533
|
}
|
|
491
534
|
return true;
|
|
492
535
|
}
|
|
493
|
-
function getInspectableEventKeys(
|
|
536
|
+
function getInspectableEventKeys(
|
|
537
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Event key inspection must accept arbitrary retained objects, arrays, and native storage views.
|
|
538
|
+
current, kind, availableBytes) {
|
|
494
539
|
if (Array.isArray(current)) {
|
|
495
540
|
const descriptor = Object.getOwnPropertyDescriptor(current, 'length');
|
|
496
541
|
const length = descriptor && 'value' in descriptor ? descriptor.value : undefined;
|
|
@@ -519,7 +564,9 @@ function getInspectableEventKeys(current, kind, availableBytes) {
|
|
|
519
564
|
return !Number.isInteger(index) || index < 0 || index >= length || String(index) !== key;
|
|
520
565
|
});
|
|
521
566
|
}
|
|
522
|
-
function visitInspectableEventProperties(
|
|
567
|
+
function visitInspectableEventProperties(
|
|
568
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Retained event properties are inspected through descriptors on arbitrary object identities.
|
|
569
|
+
current, kind, depth, availableBytes, charge, visit) {
|
|
523
570
|
const keys = getInspectableEventKeys(current, kind, availableBytes());
|
|
524
571
|
if (keys === undefined) {
|
|
525
572
|
return false;
|
|
@@ -545,7 +592,12 @@ function visitInspectableEventProperties(current, kind, depth, availableBytes, c
|
|
|
545
592
|
}
|
|
546
593
|
return true;
|
|
547
594
|
}
|
|
548
|
-
function visitRetainedEventPrototypes(
|
|
595
|
+
function visitRetainedEventPrototypes(
|
|
596
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Retention accounting follows arbitrary object prototypes without assuming their properties.
|
|
597
|
+
current, depth, isBlobInternalHandle, visited, availableBytes, charge, visit,
|
|
598
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- The retention callback records prototype identity before inspecting its descriptors.
|
|
599
|
+
retainPrototype) {
|
|
600
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
549
601
|
let prototype = Object.getPrototypeOf(current);
|
|
550
602
|
for (let prototypeDepth = depth + 1; prototype !== null; prototypeDepth += 1) {
|
|
551
603
|
if (prototypeDepth >= MAX_BUFFERED_EVENT_DEPTH) {
|
|
@@ -590,6 +642,7 @@ function visitRetainedEventPrototypes(current, depth, isBlobInternalHandle, visi
|
|
|
590
642
|
if (!retained) {
|
|
591
643
|
return false;
|
|
592
644
|
}
|
|
645
|
+
// SAFETY: Object.getPrototypeOf returns an object or null; this native-prototype inspection does not assume an application-specific instance type.
|
|
593
646
|
prototype = Object.getPrototypeOf(retainedPrototype);
|
|
594
647
|
}
|
|
595
648
|
return true;
|
|
@@ -622,6 +675,7 @@ function inspectBufferedEventGraph(value, remainingBytes) {
|
|
|
622
675
|
}
|
|
623
676
|
return bytes <= remainingBytes;
|
|
624
677
|
};
|
|
678
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- The ledger records object and symbol identities, which have no shared structural contract.
|
|
625
679
|
const addIdentity = (identity) => {
|
|
626
680
|
if (activeNode) {
|
|
627
681
|
activeNode.edges.add(identity);
|
|
@@ -630,6 +684,7 @@ function inspectBufferedEventGraph(value, remainingBytes) {
|
|
|
630
684
|
roots.add(identity);
|
|
631
685
|
}
|
|
632
686
|
};
|
|
687
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Retained graph nodes are identified by object or symbol identity independently of their fields.
|
|
633
688
|
const retainIdentity = (identity, inspect) => {
|
|
634
689
|
addIdentity(identity);
|
|
635
690
|
const node = { bytes: 0, edges: new Set() };
|
|
@@ -654,6 +709,8 @@ function inspectBufferedEventGraph(value, remainingBytes) {
|
|
|
654
709
|
if (!symbolDescriptionGetter) {
|
|
655
710
|
return false;
|
|
656
711
|
}
|
|
712
|
+
// SAFETY: The captured Symbol description getter is called after the symbol branch and returns a string or undefined by its native contract.
|
|
713
|
+
// oxlint-disable-next-line anti-slop/no-reflect-apply -- Invoke the captured intrinsic without reading its mutable call property.
|
|
657
714
|
const description = Reflect.apply(symbolDescriptionGetter, current, []);
|
|
658
715
|
return charge(8 + (description?.length ?? 0) * 2);
|
|
659
716
|
})) {
|
|
@@ -770,7 +827,9 @@ function collectBufferedLedgerIdentities(roots, candidate, records, work) {
|
|
|
770
827
|
}
|
|
771
828
|
return identities;
|
|
772
829
|
}
|
|
773
|
-
function getBufferedLedgerChange(
|
|
830
|
+
function getBufferedLedgerChange(
|
|
831
|
+
// oxlint-disable-next-line anti-slop/no-object-parameters -- Ledger changes are keyed by object or symbol identity, not a structural event type.
|
|
832
|
+
identity, graph, records, changes, node) {
|
|
774
833
|
const existing = changes.get(identity);
|
|
775
834
|
if (existing) {
|
|
776
835
|
if (node) {
|
|
@@ -955,6 +1014,7 @@ function createBufferedEventLedger() {
|
|
|
955
1014
|
}
|
|
956
1015
|
entry.identities.clear();
|
|
957
1016
|
};
|
|
1017
|
+
// oxlint-disable-next-line anti-slop/no-known-value-widening -- The ledger contract contextually types its callbacks and keeps retained-identity internals private.
|
|
958
1018
|
return {
|
|
959
1019
|
retain(graph) {
|
|
960
1020
|
const entry = { scalarBytes: 0, roots: new Set(), identities: new Set() };
|
|
@@ -1066,18 +1126,28 @@ class EventStream {
|
|
|
1066
1126
|
abort() {
|
|
1067
1127
|
this.controller.abort();
|
|
1068
1128
|
}
|
|
1129
|
+
/** Creates a user-abort error retaining this runner's cancellation reason. */
|
|
1130
|
+
_userAbortError() {
|
|
1131
|
+
const error = new error_1.APIUserAbortError();
|
|
1132
|
+
Object.defineProperty(error, 'cause', {
|
|
1133
|
+
value: this.controller.signal.reason,
|
|
1134
|
+
writable: true,
|
|
1135
|
+
configurable: true,
|
|
1136
|
+
});
|
|
1137
|
+
return error;
|
|
1138
|
+
}
|
|
1069
1139
|
_listenForAbort(signal) {
|
|
1070
1140
|
if (!signal || this.ended) {
|
|
1071
1141
|
return;
|
|
1072
1142
|
}
|
|
1073
1143
|
if (signal.aborted) {
|
|
1074
|
-
this.
|
|
1144
|
+
tslib_1.__classPrivateFieldGet(this, _EventStream_instances, "m", _EventStream_abortFromSignal).call(this, signal);
|
|
1075
1145
|
return;
|
|
1076
1146
|
}
|
|
1077
1147
|
if (tslib_1.__classPrivateFieldGet(this, _EventStream_abortListeners, "f").some((registration) => registration.signal === signal)) {
|
|
1078
1148
|
return;
|
|
1079
1149
|
}
|
|
1080
|
-
const listener = () => this.
|
|
1150
|
+
const listener = () => tslib_1.__classPrivateFieldGet(this, _EventStream_instances, "m", _EventStream_abortFromSignal).call(this, signal);
|
|
1081
1151
|
signal.addEventListener('abort', listener, { once: true });
|
|
1082
1152
|
tslib_1.__classPrivateFieldGet(this, _EventStream_abortListeners, "f").push({ signal, listener });
|
|
1083
1153
|
}
|
|
@@ -1106,10 +1176,12 @@ class EventStream {
|
|
|
1106
1176
|
if (!listeners) {
|
|
1107
1177
|
return this;
|
|
1108
1178
|
}
|
|
1179
|
+
// SAFETY: Listener functions are object identities used as WeakMap keys; registration and removal use the same function instance.
|
|
1109
1180
|
const emittedRegistration = tslib_1.__classPrivateFieldGet(this, _EventStream_emittedListenerRegistrations, "f").get(listener);
|
|
1110
1181
|
if (emittedRegistration?.event === event &&
|
|
1111
1182
|
!emittedRegistration.registration.removed &&
|
|
1112
1183
|
!emittedRegistration.registration.detached) {
|
|
1184
|
+
// SAFETY: The stored registration event was compared with this event above, preserving the event/listener type correlation.
|
|
1113
1185
|
tslib_1.__classPrivateFieldGet(this, _EventStream_instances, "m", _EventStream_removeEmittedListener).call(this, event, emittedRegistration.registration);
|
|
1114
1186
|
return this;
|
|
1115
1187
|
}
|
|
@@ -1147,6 +1219,7 @@ class EventStream {
|
|
|
1147
1219
|
return new Promise((resolve, reject) => {
|
|
1148
1220
|
tslib_1.__classPrivateFieldSet(this, _EventStream_catchingPromiseCreated, true, "f");
|
|
1149
1221
|
const onError = (error) => {
|
|
1222
|
+
// SAFETY: This callback is paired with the same event when registered and removed; its variadic body forwards the event tuple or captured error.
|
|
1150
1223
|
this.off(event, onEvent);
|
|
1151
1224
|
reject(error);
|
|
1152
1225
|
};
|
|
@@ -1154,11 +1227,14 @@ class EventStream {
|
|
|
1154
1227
|
if (event !== 'error') {
|
|
1155
1228
|
this.off('error', onError);
|
|
1156
1229
|
}
|
|
1230
|
+
// SAFETY: The emitted API returns the sole argument or the full tuple according to its existing EventTypes-dependent result contract.
|
|
1157
1231
|
resolve((values.length > 1 ? values : values[0]));
|
|
1158
1232
|
};
|
|
1159
1233
|
if (event !== 'error') {
|
|
1234
|
+
// SAFETY: This callback is paired with the same event when registered and removed; its variadic body forwards the event tuple or captured error.
|
|
1160
1235
|
tslib_1.__classPrivateFieldGet(this, _EventStream_instances, "m", _EventStream_onceForEmitted).call(this, 'error', onError);
|
|
1161
1236
|
}
|
|
1237
|
+
// SAFETY: This callback is paired with the same event when registered and removed; its variadic body forwards the event tuple or captured error.
|
|
1162
1238
|
tslib_1.__classPrivateFieldGet(this, _EventStream_instances, "m", _EventStream_onceForEmitted).call(this, event, onEvent);
|
|
1163
1239
|
});
|
|
1164
1240
|
}
|
|
@@ -1185,7 +1261,9 @@ class EventStream {
|
|
|
1185
1261
|
sdkOwnedBufferedEventArguments.delete(args);
|
|
1186
1262
|
}
|
|
1187
1263
|
};
|
|
1264
|
+
// SAFETY: This callback is paired with the same event when registered and removed; its variadic body forwards the event tuple or captured error.
|
|
1188
1265
|
this.on(event, onEvent);
|
|
1266
|
+
// SAFETY: This callback is paired with the same event when registered and removed; its variadic body forwards the event tuple or captured error.
|
|
1189
1267
|
return () => this.off(event, onEvent);
|
|
1190
1268
|
}, {
|
|
1191
1269
|
// When iterating the 'error' or 'abort' event itself, yield it as a
|
|
@@ -1216,6 +1294,7 @@ class EventStream {
|
|
|
1216
1294
|
let failure;
|
|
1217
1295
|
let failureDelivered = false;
|
|
1218
1296
|
let detach = () => undefined;
|
|
1297
|
+
// SAFETY: A completed iterator result has no yielded value; never preserves the iterator public result type for done: true.
|
|
1219
1298
|
const doneResult = () => ({ value: undefined, done: true });
|
|
1220
1299
|
const finishReaders = () => {
|
|
1221
1300
|
while (readQueue.length) {
|
|
@@ -1292,10 +1371,12 @@ class EventStream {
|
|
|
1292
1371
|
return;
|
|
1293
1372
|
}
|
|
1294
1373
|
if (typeof value === 'object' && value !== null && sdkOwnedBufferedEventArguments.has(value)) {
|
|
1374
|
+
// SAFETY: Only SDK-created argument tuples are inserted into this private WeakSet, so membership establishes the array identity.
|
|
1295
1375
|
const argumentsTuple = value;
|
|
1296
1376
|
for (let index = 0; index < argumentsTuple.length; index += 1) {
|
|
1297
1377
|
const argument = argumentsTuple[index];
|
|
1298
1378
|
if (typeof argument === 'string') {
|
|
1379
|
+
// SAFETY: The branch checked argument is a string; JSON stringify/parse returns that same string value while detaching retained storage.
|
|
1299
1380
|
argumentsTuple[index] = bufferedJSONParse(bufferedJSONStringify(argument));
|
|
1300
1381
|
}
|
|
1301
1382
|
}
|
|
@@ -1432,6 +1513,7 @@ class EventStream {
|
|
|
1432
1513
|
let dispatchThrew = false;
|
|
1433
1514
|
try {
|
|
1434
1515
|
if (listeners) {
|
|
1516
|
+
// SAFETY: Filtering only removes registrations from the same event bucket and preserves the listener signatures for that event.
|
|
1435
1517
|
tslib_1.__classPrivateFieldGet(this, _EventStream_listeners, "f")[event] = listeners.filter((listener) => {
|
|
1436
1518
|
if (listener.once) {
|
|
1437
1519
|
listener.detached = true;
|
|
@@ -1440,9 +1522,11 @@ class EventStream {
|
|
|
1440
1522
|
});
|
|
1441
1523
|
tslib_1.__classPrivateFieldSet(this, _EventStream_listenerDispatchDepth, tslib_1.__classPrivateFieldGet(this, _EventStream_listenerDispatchDepth, "f") + 1, "f");
|
|
1442
1524
|
try {
|
|
1525
|
+
// SAFETY: The listener bucket and argument tuple come from the same EventTypes key; this bridges TypeScript generic indexed-access correlation.
|
|
1443
1526
|
for (const registration of listeners) {
|
|
1444
1527
|
if (!registration.removed) {
|
|
1445
1528
|
const { listener } = registration;
|
|
1529
|
+
// SAFETY: The listener bucket and argument tuple come from the same EventTypes key; this bridges TypeScript generic indexed-access correlation.
|
|
1446
1530
|
listener(...args);
|
|
1447
1531
|
}
|
|
1448
1532
|
}
|
|
@@ -1484,7 +1568,14 @@ class EventStream {
|
|
|
1484
1568
|
}
|
|
1485
1569
|
}
|
|
1486
1570
|
exports.EventStream = EventStream;
|
|
1487
|
-
_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(),
|
|
1571
|
+
_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) {
|
|
1572
|
+
try {
|
|
1573
|
+
this.controller.abort(signal.reason);
|
|
1574
|
+
}
|
|
1575
|
+
catch {
|
|
1576
|
+
this.controller.abort();
|
|
1577
|
+
}
|
|
1578
|
+
}, _EventStream_removeAbortListeners = function _EventStream_removeAbortListeners() {
|
|
1488
1579
|
for (const { signal, listener } of tslib_1.__classPrivateFieldGet(this, _EventStream_abortListeners, "f").splice(0)) {
|
|
1489
1580
|
signal.removeEventListener('abort', listener);
|
|
1490
1581
|
}
|
|
@@ -1498,6 +1589,7 @@ _EventStream_connectedPromise = new WeakMap(), _EventStream_resolveConnectedProm
|
|
|
1498
1589
|
listeners?.length === previousLength + 1 &&
|
|
1499
1590
|
registration?.listener === listener &&
|
|
1500
1591
|
registration.once) {
|
|
1592
|
+
// SAFETY: Listener functions are object identities used as WeakMap keys; registration and removal use the same function instance.
|
|
1501
1593
|
tslib_1.__classPrivateFieldGet(this, _EventStream_emittedListenerRegistrations, "f").set(listener, { event, registration });
|
|
1502
1594
|
}
|
|
1503
1595
|
}, _EventStream_removeEmittedListener = function _EventStream_removeEmittedListener(event, registration) {
|
|
@@ -1505,6 +1597,7 @@ _EventStream_connectedPromise = new WeakMap(), _EventStream_resolveConnectedProm
|
|
|
1505
1597
|
return;
|
|
1506
1598
|
}
|
|
1507
1599
|
registration.removed = true;
|
|
1600
|
+
// SAFETY: Listener functions are object identities used as WeakMap keys; registration and removal use the same function instance.
|
|
1508
1601
|
tslib_1.__classPrivateFieldGet(this, _EventStream_emittedListenerRegistrations, "f").delete(registration.listener);
|
|
1509
1602
|
tslib_1.__classPrivateFieldGet(this, _EventStream_pendingListenerCleanup, "f").add(event);
|
|
1510
1603
|
if (tslib_1.__classPrivateFieldGet(this, _EventStream_listenerDispatchDepth, "f") === 0) {
|
|
@@ -1512,9 +1605,11 @@ _EventStream_connectedPromise = new WeakMap(), _EventStream_resolveConnectedProm
|
|
|
1512
1605
|
}
|
|
1513
1606
|
}, _EventStream_cleanupEmittedListeners = function _EventStream_cleanupEmittedListeners() {
|
|
1514
1607
|
for (const event of tslib_1.__classPrivateFieldGet(this, _EventStream_pendingListenerCleanup, "f")) {
|
|
1608
|
+
// SAFETY: Pending cleanup keys are added only from registered EventTypes events; the key retains its event-map membership.
|
|
1515
1609
|
const eventType = event;
|
|
1516
1610
|
const listeners = tslib_1.__classPrivateFieldGet(this, _EventStream_listeners, "f")[eventType];
|
|
1517
1611
|
if (listeners) {
|
|
1612
|
+
// SAFETY: Filtering only removes registrations from the same event bucket and preserves the listener signatures for that event.
|
|
1518
1613
|
tslib_1.__classPrivateFieldGet(this, _EventStream_listeners, "f")[eventType] = listeners.filter((listener) => !listener.removed);
|
|
1519
1614
|
}
|
|
1520
1615
|
}
|
|
@@ -1522,7 +1617,7 @@ _EventStream_connectedPromise = new WeakMap(), _EventStream_resolveConnectedProm
|
|
|
1522
1617
|
}, _EventStream_handleError = function _EventStream_handleError(error) {
|
|
1523
1618
|
tslib_1.__classPrivateFieldSet(this, _EventStream_errored, true, "f");
|
|
1524
1619
|
if (error instanceof Error && error.name === 'AbortError') {
|
|
1525
|
-
error =
|
|
1620
|
+
error = this._userAbortError();
|
|
1526
1621
|
}
|
|
1527
1622
|
if (error instanceof error_1.APIUserAbortError) {
|
|
1528
1623
|
tslib_1.__classPrivateFieldSet(this, _EventStream_aborted, true, "f");
|
|
@@ -1540,6 +1635,7 @@ _EventStream_connectedPromise = new WeakMap(), _EventStream_resolveConnectedProm
|
|
|
1540
1635
|
return this._emit('error', new error_1.OpenAIError(String(error)));
|
|
1541
1636
|
}, _EventStream_settleTerminalEvent = function _EventStream_settleTerminalEvent(event, args, hasListeners) {
|
|
1542
1637
|
if (event === 'abort') {
|
|
1638
|
+
// SAFETY: The abort event key selects the APIUserAbortError argument tuple established by the typed emit contract.
|
|
1543
1639
|
const error = args[0];
|
|
1544
1640
|
tslib_1.__classPrivateFieldSet(this, _EventStream_terminalFailure, tslib_1.__classPrivateFieldGet(this, _EventStream_terminalFailure, "f") ?? { kind: 'abort', error }, "f");
|
|
1545
1641
|
if (!tslib_1.__classPrivateFieldGet(this, _EventStream_catchingPromiseCreated, "f") && !hasListeners) {
|
|
@@ -1552,6 +1648,7 @@ _EventStream_connectedPromise = new WeakMap(), _EventStream_resolveConnectedProm
|
|
|
1552
1648
|
}
|
|
1553
1649
|
if (event === 'error') {
|
|
1554
1650
|
// NOTE: _emit('error', error) should only be called from #handleError().
|
|
1651
|
+
// SAFETY: The error event is emitted by the error-normalization path, which supplies an OpenAIError as its first argument.
|
|
1555
1652
|
const error = args[0];
|
|
1556
1653
|
tslib_1.__classPrivateFieldSet(this, _EventStream_terminalFailure, tslib_1.__classPrivateFieldGet(this, _EventStream_terminalFailure, "f") ?? { kind: 'error', error }, "f");
|
|
1557
1654
|
if (!tslib_1.__classPrivateFieldGet(this, _EventStream_catchingPromiseCreated, "f") && !hasListeners) {
|