openai 7.5.0 → 7.7.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 +117 -0
- package/README.md +46 -2
- package/auth/index.d.mts +1 -1
- package/auth/index.d.mts.map +1 -1
- package/auth/index.d.ts +1 -1
- package/auth/index.d.ts.map +1 -1
- package/auth/index.js.map +1 -1
- package/auth/index.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 +176 -4
- package/auth/subject-token-providers.js.map +1 -1
- package/auth/subject-token-providers.mjs +176 -4
- package/auth/subject-token-providers.mjs.map +1 -1
- package/auth/types.d.mts +17 -0
- package/auth/types.d.mts.map +1 -1
- package/auth/types.d.ts +17 -0
- package/auth/types.d.ts.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 +80 -7
- package/auth/workload-identity-auth.js.map +1 -1
- package/auth/workload-identity-auth.mjs +80 -7
- package/auth/workload-identity-auth.mjs.map +1 -1
- package/auth/x509-transport.d.mts +5 -0
- package/auth/x509-transport.d.mts.map +1 -0
- package/auth/x509-transport.d.ts +5 -0
- package/auth/x509-transport.d.ts.map +1 -0
- package/auth/x509-transport.js +39 -0
- package/auth/x509-transport.js.map +1 -0
- package/auth/x509-transport.mjs +36 -0
- package/auth/x509-transport.mjs.map +1 -0
- package/azure.d.mts +11 -2
- package/azure.d.mts.map +1 -1
- package/azure.d.ts +11 -2
- package/azure.d.ts.map +1 -1
- package/azure.js +7 -1
- package/azure.js.map +1 -1
- package/azure.mjs +7 -1
- package/azure.mjs.map +1 -1
- package/bedrock.d.mts +6 -2
- package/bedrock.d.mts.map +1 -1
- package/bedrock.d.ts +6 -2
- package/bedrock.d.ts.map +1 -1
- package/bedrock.js +34 -4
- package/bedrock.js.map +1 -1
- package/bedrock.mjs +35 -5
- package/bedrock.mjs.map +1 -1
- package/beta/realtime/internal-base.d.mts +2 -0
- package/beta/realtime/internal-base.d.mts.map +1 -1
- package/beta/realtime/internal-base.d.ts +2 -0
- package/beta/realtime/internal-base.d.ts.map +1 -1
- package/beta/realtime/internal-base.js +15 -0
- package/beta/realtime/internal-base.js.map +1 -1
- package/beta/realtime/internal-base.mjs +14 -0
- package/beta/realtime/internal-base.mjs.map +1 -1
- package/beta/realtime/websocket.d.mts +11 -5
- package/beta/realtime/websocket.d.mts.map +1 -1
- package/beta/realtime/websocket.d.ts +11 -5
- package/beta/realtime/websocket.d.ts.map +1 -1
- package/beta/realtime/websocket.js +106 -31
- package/beta/realtime/websocket.js.map +1 -1
- package/beta/realtime/websocket.mjs +107 -32
- package/beta/realtime/websocket.mjs.map +1 -1
- package/beta/realtime/ws.d.mts +0 -2
- package/beta/realtime/ws.d.mts.map +1 -1
- package/beta/realtime/ws.d.ts +0 -2
- package/beta/realtime/ws.d.ts.map +1 -1
- package/beta/realtime/ws.js +24 -5
- package/beta/realtime/ws.js.map +1 -1
- package/beta/realtime/ws.mjs +25 -6
- package/beta/realtime/ws.mjs.map +1 -1
- package/client.d.mts +17 -2
- package/client.d.mts.map +1 -1
- package/client.d.ts +17 -2
- package/client.d.ts.map +1 -1
- package/client.js +422 -70
- package/client.js.map +1 -1
- package/client.mjs +423 -71
- 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 +67 -9
- package/core/EventEmitter.js.map +1 -1
- package/core/EventEmitter.mjs +68 -10
- 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 +216 -26
- package/core/streaming.js.map +1 -1
- package/core/streaming.mjs +216 -26
- package/core/streaming.mjs.map +1 -1
- package/helpers/audio.d.mts +5 -5
- package/helpers/audio.d.mts.map +1 -1
- package/helpers/audio.d.ts +5 -5
- package/helpers/audio.d.ts.map +1 -1
- package/helpers/audio.js +93 -22
- package/helpers/audio.js.map +1 -1
- package/helpers/audio.mjs +93 -22
- 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 +34 -14
- package/helpers/standard-schema.js.map +1 -1
- package/helpers/standard-schema.mjs +35 -15
- package/helpers/standard-schema.mjs.map +1 -1
- package/helpers/zod-v3-strict-schema.d.mts +7 -0
- package/helpers/zod-v3-strict-schema.d.mts.map +1 -0
- package/helpers/zod-v3-strict-schema.d.ts +7 -0
- package/helpers/zod-v3-strict-schema.d.ts.map +1 -0
- package/helpers/zod-v3-strict-schema.js +403 -0
- package/helpers/zod-v3-strict-schema.js.map +1 -0
- package/helpers/zod-v3-strict-schema.mjs +399 -0
- package/helpers/zod-v3-strict-schema.mjs.map +1 -0
- package/helpers/zod.d.mts.map +1 -1
- package/helpers/zod.d.ts.map +1 -1
- package/helpers/zod.js +11 -3
- package/helpers/zod.js.map +1 -1
- package/helpers/zod.mjs +12 -4
- package/helpers/zod.mjs.map +1 -1
- package/index.d.mts +1 -1
- package/index.d.mts.map +1 -1
- package/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/index.js.map +1 -1
- package/index.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 +28 -8
- package/internal/assistant-stream-delta.js.map +1 -1
- package/internal/assistant-stream-delta.mjs +28 -8
- package/internal/assistant-stream-delta.mjs.map +1 -1
- package/internal/auth/x509-token-exchange.d.mts +16 -0
- package/internal/auth/x509-token-exchange.d.mts.map +1 -0
- package/internal/auth/x509-token-exchange.d.ts +16 -0
- package/internal/auth/x509-token-exchange.d.ts.map +1 -0
- package/internal/auth/x509-token-exchange.js +246 -0
- package/internal/auth/x509-token-exchange.js.map +1 -0
- package/internal/auth/x509-token-exchange.mjs +243 -0
- package/internal/auth/x509-token-exchange.mjs.map +1 -0
- package/internal/auth/x509-transport-capability.d.mts +37 -0
- package/internal/auth/x509-transport-capability.d.mts.map +1 -0
- package/internal/auth/x509-transport-capability.d.ts +37 -0
- package/internal/auth/x509-transport-capability.d.ts.map +1 -0
- package/internal/auth/x509-transport-capability.js +169 -0
- package/internal/auth/x509-transport-capability.js.map +1 -0
- package/internal/auth/x509-transport-capability.mjs +164 -0
- package/internal/auth/x509-transport-capability.mjs.map +1 -0
- package/internal/auth/x509-transport-registry.d.mts +63 -0
- package/internal/auth/x509-transport-registry.d.mts.map +1 -0
- package/internal/auth/x509-transport-registry.d.ts +63 -0
- package/internal/auth/x509-transport-registry.d.ts.map +1 -0
- package/internal/auth/x509-transport-registry.js +53 -0
- package/internal/auth/x509-transport-registry.js.map +1 -0
- package/internal/auth/x509-transport-registry.mjs +48 -0
- package/internal/auth/x509-transport-registry.mjs.map +1 -0
- package/internal/auth/x509-transport-state-browser.d.mts +21 -0
- package/internal/auth/x509-transport-state-browser.d.mts.map +1 -0
- package/internal/auth/x509-transport-state-browser.d.ts +21 -0
- package/internal/auth/x509-transport-state-browser.d.ts.map +1 -0
- package/internal/auth/x509-transport-state-browser.js +30 -0
- package/internal/auth/x509-transport-state-browser.js.map +1 -0
- package/internal/auth/x509-transport-state-browser.mjs +27 -0
- package/internal/auth/x509-transport-state-browser.mjs.map +1 -0
- package/internal/auth/x509-transport-state.cjs +30 -0
- package/internal/auth/x509-transport-state.cjs.map +1 -0
- package/internal/auth/x509-transport-state.d.cts +21 -0
- package/internal/auth/x509-transport-state.d.cts.map +1 -0
- package/internal/auth/x509-workload-identity-auth.d.mts +128 -0
- package/internal/auth/x509-workload-identity-auth.d.mts.map +1 -0
- package/internal/auth/x509-workload-identity-auth.d.ts +128 -0
- package/internal/auth/x509-workload-identity-auth.d.ts.map +1 -0
- package/internal/auth/x509-workload-identity-auth.js +767 -0
- package/internal/auth/x509-workload-identity-auth.js.map +1 -0
- package/internal/auth/x509-workload-identity-auth.mjs +757 -0
- package/internal/auth/x509-workload-identity-auth.mjs.map +1 -0
- package/internal/bedrock.d.mts +2 -0
- package/internal/bedrock.d.mts.map +1 -1
- package/internal/bedrock.d.ts +2 -0
- package/internal/bedrock.d.ts.map +1 -1
- package/internal/bedrock.js +169 -5
- package/internal/bedrock.js.map +1 -1
- package/internal/bedrock.mjs +168 -5
- package/internal/bedrock.mjs.map +1 -1
- package/internal/data-residency.d.mts +12 -0
- package/internal/data-residency.d.mts.map +1 -0
- package/internal/data-residency.d.ts +12 -0
- package/internal/data-residency.d.ts.map +1 -0
- package/internal/data-residency.js +34 -0
- package/internal/data-residency.js.map +1 -0
- package/internal/data-residency.mjs +30 -0
- package/internal/data-residency.mjs.map +1 -0
- package/internal/multipart-encoding.d.mts +8 -0
- package/internal/multipart-encoding.d.mts.map +1 -0
- package/internal/multipart-encoding.d.ts +8 -0
- package/internal/multipart-encoding.d.ts.map +1 -0
- package/internal/multipart-encoding.js +51 -0
- package/internal/multipart-encoding.js.map +1 -0
- package/internal/multipart-encoding.mjs +48 -0
- package/internal/multipart-encoding.mjs.map +1 -0
- package/internal/qs/utils.d.mts.map +1 -1
- package/internal/qs/utils.d.ts.map +1 -1
- package/internal/qs/utils.js +307 -10
- package/internal/qs/utils.js.map +1 -1
- package/internal/qs/utils.mjs +307 -10
- package/internal/qs/utils.mjs.map +1 -1
- package/internal/request-options.d.mts +7 -0
- package/internal/request-options.d.mts.map +1 -1
- package/internal/request-options.d.ts +7 -0
- package/internal/request-options.d.ts.map +1 -1
- package/internal/request-options.js +43 -1
- package/internal/request-options.js.map +1 -1
- package/internal/request-options.mjs +42 -1
- package/internal/request-options.mjs.map +1 -1
- package/internal/responses/canonical-output-text.js +3 -3
- package/internal/responses/canonical-output-text.js.map +1 -1
- package/internal/responses/canonical-output-text.mjs +3 -3
- package/internal/responses/canonical-output-text.mjs.map +1 -1
- package/internal/responses/response-accumulator.d.mts +1 -1
- package/internal/responses/response-accumulator.d.mts.map +1 -1
- package/internal/responses/response-accumulator.d.ts +1 -1
- package/internal/responses/response-accumulator.d.ts.map +1 -1
- package/internal/responses/response-accumulator.js +331 -25
- package/internal/responses/response-accumulator.js.map +1 -1
- package/internal/responses/response-accumulator.mjs +331 -25
- package/internal/responses/response-accumulator.mjs.map +1 -1
- package/internal/tslib.js +6 -0
- package/internal/tslib.mjs +6 -1
- package/internal/uploads.d.mts +10 -6
- package/internal/uploads.d.mts.map +1 -1
- package/internal/uploads.d.ts +10 -6
- package/internal/uploads.d.ts.map +1 -1
- package/internal/uploads.js +65 -24
- package/internal/uploads.js.map +1 -1
- package/internal/uploads.mjs +65 -24
- package/internal/uploads.mjs.map +1 -1
- package/internal/utils/env.d.mts.map +1 -1
- package/internal/utils/env.d.ts.map +1 -1
- package/internal/utils/env.js +9 -4
- package/internal/utils/env.js.map +1 -1
- package/internal/utils/env.mjs +9 -4
- package/internal/utils/env.mjs.map +1 -1
- package/internal/ws.d.mts.map +1 -1
- package/internal/ws.d.ts.map +1 -1
- package/internal/ws.js +23 -1
- package/internal/ws.js.map +1 -1
- package/internal/ws.mjs +23 -1
- 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 +32 -7
- package/lib/AbstractChatCompletionRunner.js.map +1 -1
- package/lib/AbstractChatCompletionRunner.mjs +34 -9
- 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 +211 -23
- package/lib/AssistantStream.js.map +1 -1
- package/lib/AssistantStream.mjs +211 -23
- package/lib/AssistantStream.mjs.map +1 -1
- package/lib/ChatCompletionStream.d.mts +1 -1
- package/lib/ChatCompletionStream.d.mts.map +1 -1
- package/lib/ChatCompletionStream.d.ts +1 -1
- package/lib/ChatCompletionStream.d.ts.map +1 -1
- package/lib/ChatCompletionStream.js +1118 -67
- package/lib/ChatCompletionStream.js.map +1 -1
- package/lib/ChatCompletionStream.mjs +1119 -68
- 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 +67 -9
- package/lib/EventEmitter.js.map +1 -1
- package/lib/EventEmitter.mjs +68 -10
- package/lib/EventEmitter.mjs.map +1 -1
- package/lib/EventStream.d.mts +4 -0
- package/lib/EventStream.d.mts.map +1 -1
- package/lib/EventStream.d.ts +4 -0
- package/lib/EventStream.d.ts.map +1 -1
- package/lib/EventStream.js +1096 -11
- package/lib/EventStream.js.map +1 -1
- package/lib/EventStream.mjs +1097 -12
- 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 +1 -1
- package/lib/ResponsesParser.js.map +1 -1
- package/lib/ResponsesParser.mjs +1 -1
- package/lib/ResponsesParser.mjs.map +1 -1
- package/lib/Util.d.mts +2 -0
- package/lib/Util.d.mts.map +1 -1
- package/lib/Util.d.ts +2 -0
- package/lib/Util.d.ts.map +1 -1
- package/lib/Util.js +7 -4
- package/lib/Util.js.map +1 -1
- package/lib/Util.mjs +7 -4
- package/lib/Util.mjs.map +1 -1
- package/lib/assistant-run-polling.d.mts +12 -0
- package/lib/assistant-run-polling.d.mts.map +1 -0
- package/lib/assistant-run-polling.d.ts +12 -0
- package/lib/assistant-run-polling.d.ts.map +1 -0
- package/lib/assistant-run-polling.js +17 -0
- package/lib/assistant-run-polling.js.map +1 -0
- package/lib/assistant-run-polling.mjs +14 -0
- package/lib/assistant-run-polling.mjs.map +1 -0
- package/lib/embeddings.d.mts +18 -0
- package/lib/embeddings.d.mts.map +1 -0
- package/lib/embeddings.d.ts +18 -0
- package/lib/embeddings.d.ts.map +1 -0
- package/lib/embeddings.js +50 -0
- package/lib/embeddings.js.map +1 -0
- package/lib/embeddings.mjs +47 -0
- package/lib/embeddings.mjs.map +1 -0
- package/lib/file-processing.d.mts +10 -0
- package/lib/file-processing.d.mts.map +1 -0
- package/lib/file-processing.d.ts +10 -0
- package/lib/file-processing.d.ts.map +1 -0
- package/lib/file-processing.js +30 -0
- package/lib/file-processing.js.map +1 -0
- package/lib/file-processing.mjs +27 -0
- package/lib/file-processing.mjs.map +1 -0
- package/lib/parser.d.mts.map +1 -1
- package/lib/parser.d.ts.map +1 -1
- package/lib/parser.js +16 -4
- package/lib/parser.js.map +1 -1
- package/lib/parser.mjs +16 -4
- package/lib/parser.mjs.map +1 -1
- package/lib/polling.d.mts +20 -0
- package/lib/polling.d.mts.map +1 -0
- package/lib/polling.d.ts +20 -0
- package/lib/polling.d.ts.map +1 -0
- package/lib/polling.js +130 -0
- package/lib/polling.js.map +1 -0
- package/lib/polling.mjs +127 -0
- package/lib/polling.mjs.map +1 -0
- package/lib/responses/ResponseStream.d.mts.map +1 -1
- package/lib/responses/ResponseStream.d.ts.map +1 -1
- package/lib/responses/ResponseStream.js +21 -11
- package/lib/responses/ResponseStream.js.map +1 -1
- package/lib/responses/ResponseStream.mjs +21 -11
- package/lib/responses/ResponseStream.mjs.map +1 -1
- package/lib/vector-store-polling.d.mts +22 -0
- package/lib/vector-store-polling.d.mts.map +1 -0
- package/lib/vector-store-polling.d.ts +22 -0
- package/lib/vector-store-polling.d.ts.map +1 -0
- package/lib/vector-store-polling.js +24 -0
- package/lib/vector-store-polling.js.map +1 -0
- package/lib/vector-store-polling.mjs +20 -0
- package/lib/vector-store-polling.mjs.map +1 -0
- package/lib/vector-store-upload.d.mts +17 -0
- package/lib/vector-store-upload.d.mts.map +1 -0
- package/lib/vector-store-upload.d.ts +17 -0
- package/lib/vector-store-upload.d.ts.map +1 -0
- package/lib/vector-store-upload.js +37 -0
- package/lib/vector-store-upload.js.map +1 -0
- package/lib/vector-store-upload.mjs +34 -0
- package/lib/vector-store-upload.mjs.map +1 -0
- package/lib/webhook-signature.d.mts +15 -0
- package/lib/webhook-signature.d.mts.map +1 -0
- package/lib/webhook-signature.d.ts +15 -0
- package/lib/webhook-signature.d.ts.map +1 -0
- package/lib/webhook-signature.js +125 -0
- package/lib/webhook-signature.js.map +1 -0
- package/lib/webhook-signature.mjs +121 -0
- package/lib/webhook-signature.mjs.map +1 -0
- package/package.json +14 -1
- package/realtime/internal-base.d.mts +2 -0
- package/realtime/internal-base.d.mts.map +1 -1
- package/realtime/internal-base.d.ts +2 -0
- package/realtime/internal-base.d.ts.map +1 -1
- package/realtime/internal-base.js +15 -0
- package/realtime/internal-base.js.map +1 -1
- package/realtime/internal-base.mjs +14 -0
- package/realtime/internal-base.mjs.map +1 -1
- package/realtime/websocket.d.mts +3 -2
- package/realtime/websocket.d.mts.map +1 -1
- package/realtime/websocket.d.ts +3 -2
- package/realtime/websocket.d.ts.map +1 -1
- package/realtime/websocket.js +90 -26
- package/realtime/websocket.js.map +1 -1
- package/realtime/websocket.mjs +91 -27
- 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 +9 -1
- package/realtime/ws.js.map +1 -1
- package/realtime/ws.mjs +10 -2
- package/realtime/ws.mjs.map +1 -1
- package/resources/admin/organization/index.d.mts +2 -2
- package/resources/admin/organization/index.d.mts.map +1 -1
- package/resources/admin/organization/index.d.ts +2 -2
- package/resources/admin/organization/index.d.ts.map +1 -1
- package/resources/admin/organization/index.js.map +1 -1
- package/resources/admin/organization/index.mjs.map +1 -1
- package/resources/admin/organization/organization.d.mts +4 -4
- package/resources/admin/organization/organization.d.mts.map +1 -1
- package/resources/admin/organization/organization.d.ts +4 -4
- package/resources/admin/organization/organization.d.ts.map +1 -1
- package/resources/admin/organization/organization.js.map +1 -1
- package/resources/admin/organization/organization.mjs.map +1 -1
- package/resources/admin/organization/projects/index.d.mts +1 -1
- package/resources/admin/organization/projects/index.d.mts.map +1 -1
- package/resources/admin/organization/projects/index.d.ts +1 -1
- package/resources/admin/organization/projects/index.d.ts.map +1 -1
- package/resources/admin/organization/projects/index.js.map +1 -1
- package/resources/admin/organization/projects/index.mjs.map +1 -1
- package/resources/admin/organization/projects/projects.d.mts +22 -5
- package/resources/admin/organization/projects/projects.d.mts.map +1 -1
- package/resources/admin/organization/projects/projects.d.ts +22 -5
- package/resources/admin/organization/projects/projects.d.ts.map +1 -1
- package/resources/admin/organization/projects/projects.js.map +1 -1
- package/resources/admin/organization/projects/projects.mjs.map +1 -1
- package/resources/admin/organization/usage.d.mts +62 -1
- package/resources/admin/organization/usage.d.mts.map +1 -1
- package/resources/admin/organization/usage.d.ts +62 -1
- package/resources/admin/organization/usage.d.ts.map +1 -1
- package/resources/admin/organization/usage.js.map +1 -1
- package/resources/admin/organization/usage.mjs.map +1 -1
- package/resources/beta/responses/internal-base.d.mts.map +1 -1
- package/resources/beta/responses/internal-base.d.ts.map +1 -1
- package/resources/beta/responses/internal-base.js +2 -0
- package/resources/beta/responses/internal-base.js.map +1 -1
- package/resources/beta/responses/internal-base.mjs +2 -0
- package/resources/beta/responses/internal-base.mjs.map +1 -1
- package/resources/beta/responses/responses.d.mts +17 -20
- package/resources/beta/responses/responses.d.mts.map +1 -1
- package/resources/beta/responses/responses.d.ts +17 -20
- 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/threads/runs/index.d.mts +1 -1
- package/resources/beta/threads/runs/index.d.mts.map +1 -1
- package/resources/beta/threads/runs/index.d.ts +1 -1
- package/resources/beta/threads/runs/index.d.ts.map +1 -1
- package/resources/beta/threads/runs/runs.d.mts.map +1 -1
- package/resources/beta/threads/runs/runs.d.ts.map +1 -1
- package/resources/beta/threads/runs/runs.js +2 -43
- package/resources/beta/threads/runs/runs.js.map +1 -1
- package/resources/beta/threads/runs/runs.mjs +2 -43
- package/resources/beta/threads/runs/runs.mjs.map +1 -1
- package/resources/chat/completions/completions.d.mts +6 -0
- package/resources/chat/completions/completions.d.mts.map +1 -1
- package/resources/chat/completions/completions.d.ts +6 -0
- package/resources/chat/completions/completions.d.ts.map +1 -1
- package/resources/chat/completions/completions.js.map +1 -1
- package/resources/chat/completions/completions.mjs.map +1 -1
- package/resources/embeddings.d.mts.map +1 -1
- package/resources/embeddings.d.ts.map +1 -1
- package/resources/embeddings.js +2 -36
- package/resources/embeddings.js.map +1 -1
- package/resources/embeddings.mjs +2 -36
- package/resources/embeddings.mjs.map +1 -1
- package/resources/files.d.mts.map +1 -1
- package/resources/files.d.ts.map +1 -1
- package/resources/files.js +2 -15
- package/resources/files.js.map +1 -1
- package/resources/files.mjs +2 -15
- package/resources/files.mjs.map +1 -1
- package/resources/images.d.mts +12 -22
- package/resources/images.d.mts.map +1 -1
- package/resources/images.d.ts +12 -22
- package/resources/images.d.ts.map +1 -1
- package/resources/realtime/calls.d.mts +23 -1
- package/resources/realtime/calls.d.mts.map +1 -1
- package/resources/realtime/calls.d.ts +23 -1
- package/resources/realtime/calls.d.ts.map +1 -1
- package/resources/realtime/calls.js +24 -0
- package/resources/realtime/calls.js.map +1 -1
- package/resources/realtime/calls.mjs +24 -0
- package/resources/realtime/calls.mjs.map +1 -1
- package/resources/realtime/index.d.mts +1 -1
- package/resources/realtime/index.d.mts.map +1 -1
- package/resources/realtime/index.d.ts +1 -1
- package/resources/realtime/index.d.ts.map +1 -1
- package/resources/realtime/index.js.map +1 -1
- package/resources/realtime/index.mjs +1 -1
- package/resources/realtime/index.mjs.map +1 -1
- package/resources/realtime/realtime.d.mts +5 -4
- package/resources/realtime/realtime.d.mts.map +1 -1
- package/resources/realtime/realtime.d.ts +5 -4
- package/resources/realtime/realtime.d.ts.map +1 -1
- package/resources/realtime/realtime.js.map +1 -1
- package/resources/realtime/realtime.mjs.map +1 -1
- package/resources/responses/internal-base.d.mts.map +1 -1
- package/resources/responses/internal-base.d.ts.map +1 -1
- package/resources/responses/internal-base.js +2 -0
- package/resources/responses/internal-base.js.map +1 -1
- package/resources/responses/internal-base.mjs +2 -0
- package/resources/responses/internal-base.mjs.map +1 -1
- package/resources/responses/responses.d.mts +17 -20
- package/resources/responses/responses.d.mts.map +1 -1
- package/resources/responses/responses.d.ts +17 -20
- 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/vector-stores/file-batches.d.mts.map +1 -1
- package/resources/vector-stores/file-batches.d.ts.map +1 -1
- package/resources/vector-stores/file-batches.js +4 -61
- package/resources/vector-stores/file-batches.js.map +1 -1
- package/resources/vector-stores/file-batches.mjs +4 -61
- package/resources/vector-stores/file-batches.mjs.map +1 -1
- package/resources/vector-stores/files.d.mts +1 -1
- package/resources/vector-stores/files.d.mts.map +1 -1
- package/resources/vector-stores/files.d.ts +1 -1
- package/resources/vector-stores/files.d.ts.map +1 -1
- package/resources/vector-stores/files.js +2 -35
- package/resources/vector-stores/files.js.map +1 -1
- package/resources/vector-stores/files.mjs +2 -35
- package/resources/vector-stores/files.mjs.map +1 -1
- package/resources/webhooks/webhooks.d.mts.map +1 -1
- package/resources/webhooks/webhooks.d.ts.map +1 -1
- package/resources/webhooks/webhooks.js +5 -43
- package/resources/webhooks/webhooks.js.map +1 -1
- package/resources/webhooks/webhooks.mjs +5 -43
- package/resources/webhooks/webhooks.mjs.map +1 -1
- package/src/auth/index.ts +6 -1
- package/src/auth/subject-token-providers.ts +196 -4
- package/src/auth/types.ts +24 -0
- package/src/auth/workload-identity-auth.ts +104 -7
- package/src/auth/x509-transport.ts +49 -0
- package/src/azure.ts +22 -1
- package/src/bedrock.ts +49 -5
- package/src/beta/realtime/internal-base.ts +15 -0
- package/src/beta/realtime/websocket.ts +148 -40
- package/src/beta/realtime/ws.ts +31 -13
- package/src/client.ts +536 -92
- package/src/core/EventEmitter.ts +91 -7
- package/src/core/streaming.ts +226 -30
- package/src/helpers/audio.ts +93 -22
- package/src/helpers/standard-schema.ts +50 -16
- package/src/helpers/zod-v3-strict-schema.ts +514 -0
- package/src/helpers/zod.ts +17 -4
- package/src/index.ts +1 -1
- package/src/internal/assistant-stream-delta.ts +33 -10
- package/src/internal/auth/x509-token-exchange.ts +310 -0
- package/src/internal/auth/x509-transport-capability.ts +219 -0
- package/src/internal/auth/x509-transport-registry.ts +118 -0
- package/src/internal/auth/x509-transport-state-browser.ts +36 -0
- package/src/internal/auth/x509-transport-state.cts +36 -0
- package/src/internal/auth/x509-workload-identity-auth.ts +958 -0
- package/src/internal/bedrock.ts +182 -5
- package/src/internal/data-residency.ts +44 -0
- package/src/internal/multipart-encoding.ts +53 -0
- package/src/internal/qs/utils.ts +375 -13
- package/src/internal/request-options.ts +52 -1
- package/src/internal/responses/canonical-output-text.ts +3 -3
- package/src/internal/responses/response-accumulator.ts +411 -24
- package/src/internal/uploads.ts +81 -26
- package/src/internal/utils/env.ts +9 -5
- package/src/internal/ws.ts +24 -3
- package/src/lib/AbstractChatCompletionRunner.ts +33 -6
- package/src/lib/AssistantStream.ts +262 -22
- package/src/lib/ChatCompletionStream.ts +1467 -103
- package/src/lib/EventEmitter.ts +91 -7
- package/src/lib/EventStream.ts +1483 -10
- package/src/lib/ResponsesParser.ts +4 -1
- package/src/lib/Util.ts +7 -5
- package/src/lib/assistant-run-polling.ts +27 -0
- package/src/lib/embeddings.ts +65 -0
- package/src/lib/file-processing.ts +36 -0
- package/src/lib/parser.ts +19 -4
- package/src/lib/polling.ts +144 -0
- package/src/lib/responses/ResponseStream.ts +22 -10
- package/src/lib/vector-store-polling.ts +46 -0
- package/src/lib/vector-store-upload.ts +53 -0
- package/src/lib/webhook-signature.ts +164 -0
- package/src/realtime/internal-base.ts +15 -0
- package/src/realtime/websocket.ts +130 -27
- package/src/realtime/ws.ts +15 -2
- package/src/resources/admin/organization/index.ts +2 -0
- package/src/resources/admin/organization/organization.ts +4 -0
- package/src/resources/admin/organization/projects/index.ts +1 -0
- package/src/resources/admin/organization/projects/projects.ts +37 -4
- package/src/resources/admin/organization/usage.ts +83 -0
- package/src/resources/beta/responses/internal-base.ts +2 -0
- package/src/resources/beta/responses/responses.ts +19 -22
- package/src/resources/beta/threads/runs/index.ts +1 -1
- package/src/resources/beta/threads/runs/runs.ts +2 -45
- package/src/resources/chat/completions/completions.ts +7 -0
- package/src/resources/embeddings.ts +2 -42
- package/src/resources/files.ts +2 -19
- package/src/resources/images.ts +12 -22
- package/src/resources/realtime/api.md +1 -0
- package/src/resources/realtime/calls.ts +46 -0
- package/src/resources/realtime/index.ts +7 -1
- package/src/resources/realtime/realtime.ts +5 -3
- package/src/resources/responses/internal-base.ts +2 -0
- package/src/resources/responses/responses.ts +19 -22
- package/src/resources/vector-stores/file-batches.ts +8 -77
- package/src/resources/vector-stores/files.ts +3 -43
- package/src/resources/webhooks/webhooks.ts +5 -61
- 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/src/internal/qs/utils.ts
CHANGED
|
@@ -11,6 +11,325 @@ export const has = (obj: object, key: PropertyKey): boolean => {
|
|
|
11
11
|
return resolvedHas(obj, key);
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
+
function isUnsafePropertyKey(key: unknown): boolean {
|
|
15
|
+
return key === '__proto__' || key === 'constructor' || key === 'prototype';
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface AdoptedRecord {
|
|
19
|
+
value: object;
|
|
20
|
+
descriptors: PropertyDescriptorMap;
|
|
21
|
+
keys: PropertyKey[];
|
|
22
|
+
prototype: object | null;
|
|
23
|
+
parents: Set<AdoptedRecord>;
|
|
24
|
+
ordinary: boolean;
|
|
25
|
+
array: boolean;
|
|
26
|
+
detached: boolean;
|
|
27
|
+
unsafe: boolean;
|
|
28
|
+
extensible: boolean;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
interface MergeState {
|
|
32
|
+
adopted: { target: object; key: PropertyKey }[];
|
|
33
|
+
preparedTargets: WeakMap<object, Map<PropertyKey, any>>;
|
|
34
|
+
preparedSources: WeakMap<object, WeakMap<object, object>>;
|
|
35
|
+
inspectedSources: number;
|
|
36
|
+
inspectedSourceProperties: number;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const maxAdoptedRecords = 10_000;
|
|
40
|
+
|
|
41
|
+
function isIntrinsicFunctionPrototype(
|
|
42
|
+
value: object,
|
|
43
|
+
key: PropertyKey,
|
|
44
|
+
descriptor: PropertyDescriptor,
|
|
45
|
+
): boolean {
|
|
46
|
+
return (
|
|
47
|
+
typeof value === 'function' && key === 'prototype' && !descriptor.enumerable && !descriptor.configurable
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function isObjectLike(value: unknown): value is object {
|
|
52
|
+
return value !== null && (typeof value === 'object' || typeof value === 'function');
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function rememberAdoption(state: MergeState, target: object, key: PropertyKey, value: any): void {
|
|
56
|
+
if (!isObjectLike(value)) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (state.adopted.length >= maxAdoptedRecords) {
|
|
60
|
+
throw new Error('Adopted record traversal exceeds the supported safety limit.');
|
|
61
|
+
}
|
|
62
|
+
state.adopted.push({ target, key });
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function sanitizeAdoptions(state: MergeState): void {
|
|
66
|
+
if (state.adopted.length === 0) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const records = new WeakMap<object, AdoptedRecord>();
|
|
71
|
+
const visited: AdoptedRecord[] = [];
|
|
72
|
+
const locations: {
|
|
73
|
+
target: object;
|
|
74
|
+
key: PropertyKey;
|
|
75
|
+
descriptor: PropertyDescriptor;
|
|
76
|
+
record: AdoptedRecord;
|
|
77
|
+
}[] = [];
|
|
78
|
+
let inspectedProperties = 0;
|
|
79
|
+
|
|
80
|
+
function inspect(value: object): AdoptedRecord {
|
|
81
|
+
const known = records.get(value);
|
|
82
|
+
if (known) {
|
|
83
|
+
return known;
|
|
84
|
+
}
|
|
85
|
+
if (visited.length >= maxAdoptedRecords) {
|
|
86
|
+
throw new Error('Adopted record traversal exceeds the supported safety limit.');
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const keys = Reflect.ownKeys(value);
|
|
90
|
+
if (keys.length > maxAdoptedRecords - inspectedProperties) {
|
|
91
|
+
throw new Error('Adopted record traversal exceeds the supported safety limit.');
|
|
92
|
+
}
|
|
93
|
+
inspectedProperties += keys.length;
|
|
94
|
+
const descriptors: PropertyDescriptorMap = Object.create(null);
|
|
95
|
+
for (const key of keys) {
|
|
96
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
97
|
+
if (descriptor) {
|
|
98
|
+
Reflect.set(descriptors, key, descriptor);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const prototype = Object.getPrototypeOf(value);
|
|
102
|
+
const array = isArray(value);
|
|
103
|
+
const extensible = Object.isExtensible(value);
|
|
104
|
+
const ordinary =
|
|
105
|
+
typeof value !== 'function' &&
|
|
106
|
+
(array ? prototype === Array.prototype : prototype === Object.prototype || prototype === null);
|
|
107
|
+
const record: AdoptedRecord = {
|
|
108
|
+
value,
|
|
109
|
+
descriptors,
|
|
110
|
+
keys,
|
|
111
|
+
prototype,
|
|
112
|
+
parents: new Set(),
|
|
113
|
+
ordinary,
|
|
114
|
+
array,
|
|
115
|
+
detached: ordinary && (extensible || !Object.isFrozen(value)),
|
|
116
|
+
unsafe: false,
|
|
117
|
+
extensible,
|
|
118
|
+
};
|
|
119
|
+
records.set(value, record);
|
|
120
|
+
visited.push(record);
|
|
121
|
+
return record;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
for (const { target, key } of state.adopted) {
|
|
125
|
+
const descriptor = Object.getOwnPropertyDescriptor(target, key);
|
|
126
|
+
if (descriptor && 'value' in descriptor && isObjectLike(descriptor.value)) {
|
|
127
|
+
locations.push({ target, key, descriptor, record: inspect(descriptor.value) });
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
const detached: AdoptedRecord[] = [];
|
|
132
|
+
for (const record of visited) {
|
|
133
|
+
for (const key of record.keys) {
|
|
134
|
+
const descriptor = Reflect.get(record.descriptors, key) as PropertyDescriptor | undefined;
|
|
135
|
+
if (!descriptor) {
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
if (isUnsafePropertyKey(key)) {
|
|
139
|
+
if (record.ordinary) {
|
|
140
|
+
record.detached = true;
|
|
141
|
+
record.unsafe = true;
|
|
142
|
+
} else if (!isIntrinsicFunctionPrototype(record.value, key, descriptor)) {
|
|
143
|
+
throw new TypeError('Cannot safely sanitize an adopted callable or unsupported prototype.');
|
|
144
|
+
}
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
if (!record.ordinary && !descriptor.enumerable) {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
if ('value' in descriptor && isObjectLike(descriptor.value)) {
|
|
151
|
+
inspect(descriptor.value).parents.add(record);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (record.detached) {
|
|
155
|
+
detached.push(record);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
for (let index = visited.length - 1; index >= 0; index -= 1) {
|
|
160
|
+
const record = visited[index]!;
|
|
161
|
+
if (record.ordinary) {
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
for (const key of ['__proto__', 'constructor', 'prototype'] as const) {
|
|
165
|
+
const descriptor = Object.getOwnPropertyDescriptor(record.value, key);
|
|
166
|
+
if (descriptor && !isIntrinsicFunctionPrototype(record.value, key, descriptor)) {
|
|
167
|
+
throw new TypeError('Cannot safely sanitize an adopted callable or unsupported prototype.');
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
const unsafe = visited.filter((record) => record.unsafe);
|
|
173
|
+
for (const record of unsafe) {
|
|
174
|
+
for (const parent of record.parents) {
|
|
175
|
+
if (!parent.ordinary) {
|
|
176
|
+
throw new TypeError('Cannot safely sanitize an adopted callable or unsupported prototype.');
|
|
177
|
+
}
|
|
178
|
+
if (!parent.unsafe) {
|
|
179
|
+
parent.unsafe = true;
|
|
180
|
+
unsafe.push(parent);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
for (const record of detached) {
|
|
186
|
+
for (const parent of record.parents) {
|
|
187
|
+
if (!parent.ordinary) {
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
if (!parent.detached) {
|
|
191
|
+
parent.detached = true;
|
|
192
|
+
detached.push(parent);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
const copies = new WeakMap<object, any>();
|
|
198
|
+
for (const record of detached) {
|
|
199
|
+
copies.set(record.value, record.array ? [] : Object.create(record.prototype));
|
|
200
|
+
}
|
|
201
|
+
for (const record of detached) {
|
|
202
|
+
const copy = copies.get(record.value);
|
|
203
|
+
for (const key of record.keys) {
|
|
204
|
+
if (isUnsafePropertyKey(key)) {
|
|
205
|
+
continue;
|
|
206
|
+
}
|
|
207
|
+
const descriptor = Reflect.get(record.descriptors, key) as PropertyDescriptor | undefined;
|
|
208
|
+
if (!descriptor) {
|
|
209
|
+
continue;
|
|
210
|
+
}
|
|
211
|
+
if ('value' in descriptor && isObjectLike(descriptor.value) && copies.has(descriptor.value)) {
|
|
212
|
+
descriptor.value = copies.get(descriptor.value);
|
|
213
|
+
}
|
|
214
|
+
Object.defineProperty(copy, key, descriptor);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
for (const { target, key, descriptor, record } of locations) {
|
|
219
|
+
const value = copies.get(record.value) ?? record.value;
|
|
220
|
+
if (value !== descriptor.value) {
|
|
221
|
+
Object.defineProperty(copies.get(target) ?? target, key, { ...descriptor, value });
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
for (const record of detached) {
|
|
226
|
+
if (!record.extensible) {
|
|
227
|
+
Object.preventExtensions(copies.get(record.value));
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
function readPreparedTarget(state: MergeState, target: any, key: PropertyKey): any {
|
|
233
|
+
const prepared = state.preparedTargets.get(target);
|
|
234
|
+
if (prepared?.has(key)) {
|
|
235
|
+
const value = prepared.get(key);
|
|
236
|
+
prepared.delete(key);
|
|
237
|
+
return value;
|
|
238
|
+
}
|
|
239
|
+
return target[key];
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
function previewTarget(state: MergeState, target: object, key: PropertyKey): any {
|
|
243
|
+
const descriptor = Object.getOwnPropertyDescriptor(target, key);
|
|
244
|
+
if (descriptor && 'value' in descriptor) {
|
|
245
|
+
return descriptor.value;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
const value = Reflect.get(target, key, target);
|
|
249
|
+
let prepared = state.preparedTargets.get(target);
|
|
250
|
+
if (!prepared) {
|
|
251
|
+
prepared = new Map();
|
|
252
|
+
state.preparedTargets.set(target, prepared);
|
|
253
|
+
}
|
|
254
|
+
prepared.set(key, value);
|
|
255
|
+
return value;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
function prepareMergeSource(target: any, source: any, state: MergeState, assign = false): any {
|
|
259
|
+
if (!source || typeof source !== 'object' || !target || typeof target !== 'object') {
|
|
260
|
+
return source;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
let preparedTargets = state.preparedSources.get(source);
|
|
264
|
+
if (!preparedTargets) {
|
|
265
|
+
preparedTargets = new WeakMap();
|
|
266
|
+
state.preparedSources.set(source, preparedTargets);
|
|
267
|
+
}
|
|
268
|
+
const existing = preparedTargets.get(target);
|
|
269
|
+
if (existing) {
|
|
270
|
+
return existing;
|
|
271
|
+
}
|
|
272
|
+
state.inspectedSources += 1;
|
|
273
|
+
if (state.inspectedSources > maxAdoptedRecords) {
|
|
274
|
+
throw new Error('Adopted record traversal exceeds the supported safety limit.');
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
const sourceKeys = Reflect.ownKeys(source);
|
|
278
|
+
if (sourceKeys.length > maxAdoptedRecords - state.inspectedSourceProperties) {
|
|
279
|
+
throw new Error('Adopted record traversal exceeds the supported safety limit.');
|
|
280
|
+
}
|
|
281
|
+
state.inspectedSourceProperties += sourceKeys.length;
|
|
282
|
+
const sourceIsArray = isArray(source);
|
|
283
|
+
const prepared: Record<string, any> = sourceIsArray ? [] : Object.create(null);
|
|
284
|
+
preparedTargets.set(target, prepared);
|
|
285
|
+
|
|
286
|
+
if (isArray(target) && sourceIsArray && !assign) {
|
|
287
|
+
const sourceLength = source.length;
|
|
288
|
+
(prepared as any[]).length = sourceLength;
|
|
289
|
+
for (let index = 0; index < sourceLength; index += 1) {
|
|
290
|
+
if (!(index in source)) {
|
|
291
|
+
continue;
|
|
292
|
+
}
|
|
293
|
+
const value = source[index];
|
|
294
|
+
if (has(target, index)) {
|
|
295
|
+
const targetValue = previewTarget(state, target, index);
|
|
296
|
+
prepared[index] =
|
|
297
|
+
targetValue && typeof targetValue === 'object' && value && typeof value === 'object'
|
|
298
|
+
? prepareMergeSource(targetValue, value, state)
|
|
299
|
+
: value;
|
|
300
|
+
} else {
|
|
301
|
+
prepared[index] = value;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
return prepared;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
const enumerableKeys: string[] = [];
|
|
308
|
+
for (const key of sourceKeys) {
|
|
309
|
+
if (typeof key === 'string' && Object.getOwnPropertyDescriptor(source, key)?.enumerable) {
|
|
310
|
+
enumerableKeys.push(key);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
for (const key of enumerableKeys) {
|
|
314
|
+
if (isUnsafePropertyKey(key)) {
|
|
315
|
+
continue;
|
|
316
|
+
}
|
|
317
|
+
const value = source[key];
|
|
318
|
+
prepared[key] =
|
|
319
|
+
!assign && has(target, key) && value && typeof value === 'object'
|
|
320
|
+
? prepareMergeSource(previewTarget(state, target, key), value, state)
|
|
321
|
+
: value;
|
|
322
|
+
}
|
|
323
|
+
return prepared;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
function prepareSource(target: any, source: any, state: MergeState, assign = false): any {
|
|
327
|
+
const holder = { value: prepareMergeSource(target, source, state, assign) };
|
|
328
|
+
rememberAdoption(state, holder, 'value', holder.value);
|
|
329
|
+
sanitizeAdoptions(state);
|
|
330
|
+
return holder.value;
|
|
331
|
+
}
|
|
332
|
+
|
|
14
333
|
const hex_table = /* @__PURE__ */ (() => {
|
|
15
334
|
const array = [];
|
|
16
335
|
for (let i = 0; i < 256; ++i) {
|
|
@@ -55,11 +374,12 @@ function array_to_object(source: any[], options: { plainObjects: boolean }) {
|
|
|
55
374
|
return obj;
|
|
56
375
|
}
|
|
57
376
|
|
|
58
|
-
|
|
377
|
+
function mergeWithState(
|
|
59
378
|
target: any,
|
|
60
379
|
source: any,
|
|
61
|
-
options: { plainObjects?: boolean; allowPrototypes?: boolean }
|
|
62
|
-
|
|
380
|
+
options: { plainObjects?: boolean; allowPrototypes?: boolean },
|
|
381
|
+
state: MergeState,
|
|
382
|
+
): any {
|
|
63
383
|
if (!source) {
|
|
64
384
|
return target;
|
|
65
385
|
}
|
|
@@ -68,8 +388,16 @@ export function merge(
|
|
|
68
388
|
if (isArray(target)) {
|
|
69
389
|
target.push(source);
|
|
70
390
|
} else if (target && typeof target === 'object') {
|
|
71
|
-
|
|
72
|
-
|
|
391
|
+
const propertyKey =
|
|
392
|
+
typeof source === 'string' || typeof source === 'symbol'
|
|
393
|
+
? source
|
|
394
|
+
: Reflect.ownKeys({ [source]: true })[0]!;
|
|
395
|
+
if (
|
|
396
|
+
!isUnsafePropertyKey(propertyKey) &&
|
|
397
|
+
((options && (options.plainObjects || options.allowPrototypes)) ||
|
|
398
|
+
!has(Object.prototype, propertyKey))
|
|
399
|
+
) {
|
|
400
|
+
target[propertyKey] = true;
|
|
73
401
|
}
|
|
74
402
|
} else {
|
|
75
403
|
return [target, source];
|
|
@@ -95,14 +423,17 @@ export function merge(
|
|
|
95
423
|
if (i in source) {
|
|
96
424
|
const item = source[i];
|
|
97
425
|
if (has(target, i)) {
|
|
98
|
-
const targetItem = target
|
|
426
|
+
const targetItem = readPreparedTarget(state, target, i);
|
|
99
427
|
if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
|
|
100
|
-
|
|
428
|
+
const merged = mergeWithState(targetItem, item, options, state);
|
|
429
|
+
target[i] = merged;
|
|
101
430
|
} else {
|
|
102
|
-
|
|
431
|
+
const adopted = item;
|
|
432
|
+
target.push(adopted);
|
|
103
433
|
}
|
|
104
434
|
} else {
|
|
105
|
-
|
|
435
|
+
const adopted = item;
|
|
436
|
+
target[i] = adopted;
|
|
106
437
|
}
|
|
107
438
|
}
|
|
108
439
|
}
|
|
@@ -110,16 +441,47 @@ export function merge(
|
|
|
110
441
|
}
|
|
111
442
|
|
|
112
443
|
for (const key of Object.keys(source)) {
|
|
444
|
+
if (isUnsafePropertyKey(key)) {
|
|
445
|
+
continue;
|
|
446
|
+
}
|
|
113
447
|
const value = source[key];
|
|
114
|
-
|
|
115
|
-
|
|
448
|
+
const adopted = has(mergeTarget, key)
|
|
449
|
+
? mergeWithState(readPreparedTarget(state, mergeTarget, key), value, options, state)
|
|
450
|
+
: value;
|
|
451
|
+
mergeTarget[key] = adopted;
|
|
116
452
|
}
|
|
117
453
|
return mergeTarget;
|
|
118
454
|
}
|
|
119
455
|
|
|
456
|
+
export function merge(
|
|
457
|
+
target: any,
|
|
458
|
+
source: any,
|
|
459
|
+
options: { plainObjects?: boolean; allowPrototypes?: boolean } = {},
|
|
460
|
+
) {
|
|
461
|
+
const state: MergeState = {
|
|
462
|
+
adopted: [],
|
|
463
|
+
preparedTargets: new WeakMap(),
|
|
464
|
+
preparedSources: new WeakMap(),
|
|
465
|
+
inspectedSources: 0,
|
|
466
|
+
inspectedSourceProperties: 0,
|
|
467
|
+
};
|
|
468
|
+
return mergeWithState(target, prepareSource(target, source, state), options, state);
|
|
469
|
+
}
|
|
470
|
+
|
|
120
471
|
export function assign_single_source(target: any, source: any) {
|
|
121
|
-
|
|
122
|
-
|
|
472
|
+
const state: MergeState = {
|
|
473
|
+
adopted: [],
|
|
474
|
+
preparedTargets: new WeakMap(),
|
|
475
|
+
preparedSources: new WeakMap(),
|
|
476
|
+
inspectedSources: 0,
|
|
477
|
+
inspectedSourceProperties: 0,
|
|
478
|
+
};
|
|
479
|
+
const prepared = prepareSource(target, source, state, true);
|
|
480
|
+
for (const key of Object.keys(prepared)) {
|
|
481
|
+
if (isUnsafePropertyKey(key)) {
|
|
482
|
+
continue;
|
|
483
|
+
}
|
|
484
|
+
target[key] = prepared[key];
|
|
123
485
|
}
|
|
124
486
|
return target;
|
|
125
487
|
}
|
|
@@ -84,11 +84,62 @@ export type RequestOptions = {
|
|
|
84
84
|
export type EncodedContent = { bodyHeaders: HeadersLike; body: BodyInit };
|
|
85
85
|
export type RequestEncoder = (request: { headers: NullableHeaders; body: unknown }) => EncodedContent;
|
|
86
86
|
|
|
87
|
+
interface JSONRequestBodyObserver {
|
|
88
|
+
value(holder: object, key: string, value: unknown): unknown;
|
|
89
|
+
complete(): void;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
const jsonRequestBodyObservers = new WeakMap<object, Set<JSONRequestBodyObserver>>();
|
|
93
|
+
|
|
94
|
+
/** Observes values produced by the actual JSON request serializer without changing them. */
|
|
95
|
+
export function observeJSONRequestBody(body: object, observer: JSONRequestBodyObserver): () => void {
|
|
96
|
+
let observers = jsonRequestBodyObservers.get(body);
|
|
97
|
+
if (!observers) {
|
|
98
|
+
observers = new Set();
|
|
99
|
+
jsonRequestBodyObservers.set(body, observers);
|
|
100
|
+
}
|
|
101
|
+
observers.add(observer);
|
|
102
|
+
|
|
103
|
+
return () => {
|
|
104
|
+
const active = jsonRequestBodyObservers.get(body);
|
|
105
|
+
if (!active) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
active.delete(observer);
|
|
109
|
+
if (active.size === 0) {
|
|
110
|
+
jsonRequestBodyObservers.delete(body);
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
87
115
|
export const FallbackEncoder: RequestEncoder = ({ headers, body }) => {
|
|
116
|
+
const observers =
|
|
117
|
+
typeof body === 'object' && body !== null ? jsonRequestBodyObservers.get(body) : undefined;
|
|
118
|
+
let encoded: string;
|
|
119
|
+
|
|
120
|
+
if (!observers || observers.size === 0) {
|
|
121
|
+
encoded = JSON.stringify(body);
|
|
122
|
+
} else {
|
|
123
|
+
const active = [...observers];
|
|
124
|
+
encoded = JSON.stringify(body, function (this: object, key: string, value: unknown): unknown {
|
|
125
|
+
let observed = value;
|
|
126
|
+
for (const observer of active) {
|
|
127
|
+
const replacement = observer.value(this, key, observed);
|
|
128
|
+
if (replacement !== undefined) {
|
|
129
|
+
observed = replacement;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return observed;
|
|
133
|
+
});
|
|
134
|
+
for (const observer of active) {
|
|
135
|
+
observer.complete();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
88
139
|
return {
|
|
89
140
|
bodyHeaders: {
|
|
90
141
|
'content-type': 'application/json',
|
|
91
142
|
},
|
|
92
|
-
body:
|
|
143
|
+
body: encoded,
|
|
93
144
|
};
|
|
94
145
|
};
|
|
@@ -44,9 +44,9 @@ export function ensureCanonicalOutputText(context: ResponseAccumulatorContext, s
|
|
|
44
44
|
text += outputText;
|
|
45
45
|
outputTextIndex.append(outputText.length);
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
// Comparing independently accumulated strings can scan all preceding text on
|
|
48
|
+
// every delta. The recount is authoritative, so assign it without comparing.
|
|
49
|
+
snapshot.output_text = text;
|
|
50
50
|
context.outputTextIndex = outputTextIndex;
|
|
51
51
|
context.canonicalSnapshot = snapshot;
|
|
52
52
|
}
|