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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseStream.d.ts","sourceRoot":"","sources":["../../src/lib/responses/ResponseStream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAEd,wBAAwB,EAExB,mBAAmB,EACnB,kBAAkB,EACnB,+CAA4C;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,0CAAuC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,qCAAkC;AAEhE,OAAO,KAAK,MAAM,uBAAoB;AACtC,OAAO,EAAE,WAAW,EAAE,0BAAuB;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,0BAAuB;AACjD,OAAO,KAAK,EAAE,uCAAuC,EAAE,sBAAsB,EAAE,wBAAqB;AAKpG,OAAO,KAAK,EAAE,oBAAoB,EAAE,8BAA2B;AAI/D,uFAAuF;AACvF,MAAM,MAAM,oBAAoB,GAAG,6BAA6B,GAAG,wBAAwB,CAAC;AAE5F,iFAAiF;AACjF,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,wBAAwB,EAAE,QAAQ,CAAC,GAAG;IACrF,iFAAiF;IACjF,MAAM,CAAC,EAAE,IAAI,CAAC;CACf,CAAC;AAEF,6FAA6F;AAC7F,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAE1B;;;OAGG;IACH,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAC9B,CAAC;AAEF,gGAAgG;AAChG,KAAK,cAAc,GAAG,UAAU,GAC9B,IAAI,CACF;KACG,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAClC,KAAK,EAAE,OAAO,CACZ,mBAAmB,EACnB;QACE,oFAAoF;QACpF,IAAI,EAAE,CAAC,CAAC;KACT,CACF,KACE,IAAI;CACV,EACD,4BAA4B,GAAG,wCAAwC,GAAG,OAAO,CAClF,GAAG;IACF,kFAAkF;IAClF,KAAK,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5C,6FAA6F;IAC7F,4BAA4B,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACtE,kGAAkG;IAClG,wCAAwC,EAAE,CAAC,KAAK,EAAE,uCAAuC,KAAK,IAAI,CAAC;CACpG,CAAC;AAEJ,0FAA0F;AAC1F,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,wBAAwB,EAAE,QAAQ,CAAC,GAAG;IAC/E,iFAAiF;IACjF,MAAM,CAAC,EAAE,IAAI,CAAC;CACf,CAAC;AAEF,6FAA6F;AAC7F,qBAAa,cAAc,CAAC,OAAO,GAAG,IAAI,CACxC,SAAQ,WAAW,CAAC,cAAc,CAClC,YAAW,aAAa,CAAC,mBAAmB,CAAC;;IAO7C,+FAA+F;gBACnF,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAKlD,sFAAsF;IACtF,MAAM,CAAC,cAAc,CAAC,OAAO,EAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,cAAc,CAAC,OAAO,CAAC;IAW1B,qFAAqF;IACrF,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ResponseStream.d.ts","sourceRoot":"","sources":["../../src/lib/responses/ResponseStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,45 +93,55 @@ class ResponseStream extends EventStream_1.EventStream {
|
|
|
93
93
|
const error = 'error' in event && typeof event.error === 'object' && event.error !== null ? event.error : event;
|
|
94
94
|
throw new error_1.APIError(undefined, error, event.message, undefined);
|
|
95
95
|
}
|
|
96
|
-
|
|
96
|
+
let dispatchEvent = event;
|
|
97
|
+
const response = (0, response_accumulator_1.accumulateResponseWithContext)(event, tslib_1.__classPrivateFieldGet(this, _ResponseStream_currentResponseSnapshot, "f"), tslib_1.__classPrivateFieldGet(this, _ResponseStream_accumulatorContext, "f"), true, (sanitizedEvent) => {
|
|
98
|
+
dispatchEvent = sanitizedEvent;
|
|
99
|
+
});
|
|
97
100
|
tslib_1.__classPrivateFieldSet(this, _ResponseStream_currentResponseSnapshot, response, "f");
|
|
98
101
|
maybeEmit('event', event);
|
|
99
|
-
switch (
|
|
102
|
+
switch (dispatchEvent.type) {
|
|
100
103
|
case 'response.output_text.delta': {
|
|
101
|
-
const output = response.output[
|
|
104
|
+
const output = response.output[dispatchEvent.output_index];
|
|
102
105
|
if (!output) {
|
|
103
|
-
throw new error_1.OpenAIError(`missing output at index ${
|
|
106
|
+
throw new error_1.OpenAIError(`missing output at index ${dispatchEvent.output_index}`);
|
|
104
107
|
}
|
|
105
108
|
if (output.type === 'message') {
|
|
106
|
-
const content = output.content[
|
|
109
|
+
const content = output.content[dispatchEvent.content_index];
|
|
107
110
|
if (!content) {
|
|
108
|
-
throw new error_1.OpenAIError(`missing content at index ${
|
|
111
|
+
throw new error_1.OpenAIError(`missing content at index ${dispatchEvent.content_index}`);
|
|
109
112
|
}
|
|
110
113
|
if (content.type !== 'output_text') {
|
|
111
114
|
throw new error_1.OpenAIError(`expected content to be 'output_text', got ${content.type}`);
|
|
112
115
|
}
|
|
113
116
|
maybeEmit('response.output_text.delta', {
|
|
114
|
-
...
|
|
117
|
+
...dispatchEvent,
|
|
118
|
+
type: dispatchEvent.type,
|
|
119
|
+
item_id: dispatchEvent.item_id,
|
|
120
|
+
output_index: dispatchEvent.output_index,
|
|
121
|
+
content_index: dispatchEvent.content_index,
|
|
115
122
|
snapshot: content.text,
|
|
116
123
|
});
|
|
117
124
|
}
|
|
118
125
|
break;
|
|
119
126
|
}
|
|
120
127
|
case 'response.function_call_arguments.delta': {
|
|
121
|
-
const output = response.output[
|
|
128
|
+
const output = response.output[dispatchEvent.output_index];
|
|
122
129
|
if (!output) {
|
|
123
|
-
throw new error_1.OpenAIError(`missing output at index ${
|
|
130
|
+
throw new error_1.OpenAIError(`missing output at index ${dispatchEvent.output_index}`);
|
|
124
131
|
}
|
|
125
132
|
if (output.type === 'function_call') {
|
|
126
133
|
maybeEmit('response.function_call_arguments.delta', {
|
|
127
|
-
...
|
|
134
|
+
...dispatchEvent,
|
|
135
|
+
type: dispatchEvent.type,
|
|
136
|
+
item_id: dispatchEvent.item_id,
|
|
137
|
+
output_index: dispatchEvent.output_index,
|
|
128
138
|
snapshot: output.arguments,
|
|
129
139
|
});
|
|
130
140
|
}
|
|
131
141
|
break;
|
|
132
142
|
}
|
|
133
143
|
default: {
|
|
134
|
-
maybeEmit(
|
|
144
|
+
maybeEmit(dispatchEvent.type, event);
|
|
135
145
|
break;
|
|
136
146
|
}
|
|
137
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseStream.js","sourceRoot":"","sources":["../../src/lib/responses/ResponseStream.ts"],"names":[],"mappings":";;;;;AAUA,0CAAuE;AAEvE,mDAA6C;AAG7C,2FAGuD;AAEvD,2DAAwD;AACxD,kDAAyC;AAqEzC,6FAA6F;AAC7F,MAAa,cACX,SAAQ,yBAA2B;IAQnC,+FAA+F;IAC/F,YAAY,MAAsC;QAChD,KAAK,EAAE,CAAC;;QAPV,yCAAwC;QACxC,0DAA+C;QAC/C,gDAAoD;QACpD,6CAAsB,IAAA,4CAAqB,GAAE,EAAC;QAK5C,+BAAA,IAAI,0BAAW,MAAM,MAAA,CAAC;IACxB,CAAC;IAED,sFAAsF;IACtF,MAAM,CAAC,cAAc,CACnB,MAAc,EACd,MAA4B,EAC5B,OAAwB;QAExB,MAAM,MAAM,GAAG,IAAI,cAAc,CAAU,MAAuC,CAAC,CAAC;QACpF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACf,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE;YAC/C,GAAG,OAAO;YACV,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE;SAC/D,CAAC,CACH,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qFAAqF;IACrF,MAAM,CAAC,kBAAkB,CAAC,MAAsB;QAC9C,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC;IAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"ResponseStream.js","sourceRoot":"","sources":["../../src/lib/responses/ResponseStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,45 +90,55 @@ export class ResponseStream extends EventStream {
|
|
|
90
90
|
const error = 'error' in event && typeof event.error === 'object' && event.error !== null ? event.error : event;
|
|
91
91
|
throw new APIError(undefined, error, event.message, undefined);
|
|
92
92
|
}
|
|
93
|
-
|
|
93
|
+
let dispatchEvent = event;
|
|
94
|
+
const response = accumulateResponseWithContext(event, __classPrivateFieldGet(this, _ResponseStream_currentResponseSnapshot, "f"), __classPrivateFieldGet(this, _ResponseStream_accumulatorContext, "f"), true, (sanitizedEvent) => {
|
|
95
|
+
dispatchEvent = sanitizedEvent;
|
|
96
|
+
});
|
|
94
97
|
__classPrivateFieldSet(this, _ResponseStream_currentResponseSnapshot, response, "f");
|
|
95
98
|
maybeEmit('event', event);
|
|
96
|
-
switch (
|
|
99
|
+
switch (dispatchEvent.type) {
|
|
97
100
|
case 'response.output_text.delta': {
|
|
98
|
-
const output = response.output[
|
|
101
|
+
const output = response.output[dispatchEvent.output_index];
|
|
99
102
|
if (!output) {
|
|
100
|
-
throw new OpenAIError(`missing output at index ${
|
|
103
|
+
throw new OpenAIError(`missing output at index ${dispatchEvent.output_index}`);
|
|
101
104
|
}
|
|
102
105
|
if (output.type === 'message') {
|
|
103
|
-
const content = output.content[
|
|
106
|
+
const content = output.content[dispatchEvent.content_index];
|
|
104
107
|
if (!content) {
|
|
105
|
-
throw new OpenAIError(`missing content at index ${
|
|
108
|
+
throw new OpenAIError(`missing content at index ${dispatchEvent.content_index}`);
|
|
106
109
|
}
|
|
107
110
|
if (content.type !== 'output_text') {
|
|
108
111
|
throw new OpenAIError(`expected content to be 'output_text', got ${content.type}`);
|
|
109
112
|
}
|
|
110
113
|
maybeEmit('response.output_text.delta', {
|
|
111
|
-
...
|
|
114
|
+
...dispatchEvent,
|
|
115
|
+
type: dispatchEvent.type,
|
|
116
|
+
item_id: dispatchEvent.item_id,
|
|
117
|
+
output_index: dispatchEvent.output_index,
|
|
118
|
+
content_index: dispatchEvent.content_index,
|
|
112
119
|
snapshot: content.text,
|
|
113
120
|
});
|
|
114
121
|
}
|
|
115
122
|
break;
|
|
116
123
|
}
|
|
117
124
|
case 'response.function_call_arguments.delta': {
|
|
118
|
-
const output = response.output[
|
|
125
|
+
const output = response.output[dispatchEvent.output_index];
|
|
119
126
|
if (!output) {
|
|
120
|
-
throw new OpenAIError(`missing output at index ${
|
|
127
|
+
throw new OpenAIError(`missing output at index ${dispatchEvent.output_index}`);
|
|
121
128
|
}
|
|
122
129
|
if (output.type === 'function_call') {
|
|
123
130
|
maybeEmit('response.function_call_arguments.delta', {
|
|
124
|
-
...
|
|
131
|
+
...dispatchEvent,
|
|
132
|
+
type: dispatchEvent.type,
|
|
133
|
+
item_id: dispatchEvent.item_id,
|
|
134
|
+
output_index: dispatchEvent.output_index,
|
|
125
135
|
snapshot: output.arguments,
|
|
126
136
|
});
|
|
127
137
|
}
|
|
128
138
|
break;
|
|
129
139
|
}
|
|
130
140
|
default: {
|
|
131
|
-
maybeEmit(
|
|
141
|
+
maybeEmit(dispatchEvent.type, event);
|
|
132
142
|
break;
|
|
133
143
|
}
|
|
134
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseStream.mjs","sourceRoot":"","sources":["../../src/lib/responses/ResponseStream.ts"],"names":[],"mappings":";;AAUA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,wBAAoB;AAEvE,OAAO,EAAE,WAAW,EAAE,2BAAuB;AAG7C,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,GACtB,0DAAsD;AAEvD,OAAO,EAAE,kBAAkB,EAAE,+BAA2B;AACxD,OAAO,EAAE,MAAM,EAAE,4BAAwB;AAqEzC,6FAA6F;AAC7F,MAAM,OAAO,cACX,SAAQ,WAA2B;IAQnC,+FAA+F;IAC/F,YAAY,MAAsC;QAChD,KAAK,EAAE,CAAC;;QAPV,yCAAwC;QACxC,0DAA+C;QAC/C,gDAAoD;QACpD,6CAAsB,qBAAqB,EAAE,EAAC;QAK5C,uBAAA,IAAI,0BAAW,MAAM,MAAA,CAAC;IACxB,CAAC;IAED,sFAAsF;IACtF,MAAM,CAAC,cAAc,CACnB,MAAc,EACd,MAA4B,EAC5B,OAAwB;QAExB,MAAM,MAAM,GAAG,IAAI,cAAc,CAAU,MAAuC,CAAC,CAAC;QACpF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACf,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE;YAC/C,GAAG,OAAO;YACV,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE;SAC/D,CAAC,CACH,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qFAAqF;IACrF,MAAM,CAAC,kBAAkB,CAAC,MAAsB;QAC9C,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC;IAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"ResponseStream.mjs","sourceRoot":"","sources":["../../src/lib/responses/ResponseStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { RequestOptions } from "../internal/request-options.mjs";
|
|
2
|
+
import type { FileBatches, VectorStoreFileBatch } from "../resources/vector-stores/file-batches.mjs";
|
|
3
|
+
import type { Files, VectorStoreFile } from "../resources/vector-stores/files.mjs";
|
|
4
|
+
type PollOptions = RequestOptions & {
|
|
5
|
+
pollIntervalMs?: number;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Polls an attached file through the resource's retrieve method. Failed files are
|
|
9
|
+
* returned to the caller, and cancelled files retain their existing retry behavior.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export declare function pollVectorStoreFile(resource: Pick<Files, 'retrieve'>, vectorStoreID: string, fileID: string, options?: PollOptions): Promise<VectorStoreFile>;
|
|
14
|
+
/**
|
|
15
|
+
* Polls a file batch through the resource's retrieve method until it completes,
|
|
16
|
+
* fails, or is cancelled. Retrieval errors are propagated unchanged.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare function pollVectorStoreFileBatch(resource: Pick<FileBatches, 'retrieve'>, vectorStoreID: string, batchID: string, options?: PollOptions): Promise<VectorStoreFileBatch>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=vector-store-polling.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector-store-polling.d.mts","sourceRoot":"","sources":["../src/lib/vector-store-polling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,wCAAoC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,oDAAgD;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,6CAAyC;AAG/E,KAAK,WAAW,GAAG,cAAc,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EACjC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,eAAe,CAAC,CAO1B;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EACvC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAO/B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { RequestOptions } from "../internal/request-options.js";
|
|
2
|
+
import type { FileBatches, VectorStoreFileBatch } from "../resources/vector-stores/file-batches.js";
|
|
3
|
+
import type { Files, VectorStoreFile } from "../resources/vector-stores/files.js";
|
|
4
|
+
type PollOptions = RequestOptions & {
|
|
5
|
+
pollIntervalMs?: number;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Polls an attached file through the resource's retrieve method. Failed files are
|
|
9
|
+
* returned to the caller, and cancelled files retain their existing retry behavior.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export declare function pollVectorStoreFile(resource: Pick<Files, 'retrieve'>, vectorStoreID: string, fileID: string, options?: PollOptions): Promise<VectorStoreFile>;
|
|
14
|
+
/**
|
|
15
|
+
* Polls a file batch through the resource's retrieve method until it completes,
|
|
16
|
+
* fails, or is cancelled. Retrieval errors are propagated unchanged.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare function pollVectorStoreFileBatch(resource: Pick<FileBatches, 'retrieve'>, vectorStoreID: string, batchID: string, options?: PollOptions): Promise<VectorStoreFileBatch>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=vector-store-polling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector-store-polling.d.ts","sourceRoot":"","sources":["../src/lib/vector-store-polling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,uCAAoC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,mDAAgD;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,4CAAyC;AAG/E,KAAK,WAAW,GAAG,cAAc,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EACjC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,eAAe,CAAC,CAO1B;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EACvC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAO/B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pollVectorStoreFile = pollVectorStoreFile;
|
|
4
|
+
exports.pollVectorStoreFileBatch = pollVectorStoreFileBatch;
|
|
5
|
+
const polling_1 = require("./polling.js");
|
|
6
|
+
/**
|
|
7
|
+
* Polls an attached file through the resource's retrieve method. Failed files are
|
|
8
|
+
* returned to the caller, and cancelled files retain their existing retry behavior.
|
|
9
|
+
*
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
function pollVectorStoreFile(resource, vectorStoreID, fileID, options) {
|
|
13
|
+
return (0, polling_1.pollWithResponse)((headers) => resource.retrieve(fileID, { vector_store_id: vectorStoreID }, { ...options, headers }), ['in_progress'], ['failed', 'completed'], options);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Polls a file batch through the resource's retrieve method until it completes,
|
|
17
|
+
* fails, or is cancelled. Retrieval errors are propagated unchanged.
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
function pollVectorStoreFileBatch(resource, vectorStoreID, batchID, options) {
|
|
22
|
+
return (0, polling_1.pollWithResponse)((headers) => resource.retrieve(batchID, { vector_store_id: vectorStoreID }, { ...options, headers }), ['in_progress'], ['failed', 'cancelled', 'completed'], options);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=vector-store-polling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector-store-polling.js","sourceRoot":"","sources":["../src/lib/vector-store-polling.ts"],"names":[],"mappings":";;AAaA,kDAYC;AAQD,4DAYC;AA1CD,0CAA6C;AAI7C;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,QAAiC,EACjC,aAAqB,EACrB,MAAc,EACd,OAAqB;IAErB,OAAO,IAAA,0BAAgB,EACrB,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,EACnG,CAAC,aAAa,CAAC,EACf,CAAC,QAAQ,EAAE,WAAW,CAAC,EACvB,OAAO,CACR,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CACtC,QAAuC,EACvC,aAAqB,EACrB,OAAe,EACf,OAAqB;IAErB,OAAO,IAAA,0BAAgB,EACrB,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,EACpG,CAAC,aAAa,CAAC,EACf,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,EACpC,OAAO,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { pollWithResponse } from "./polling.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Polls an attached file through the resource's retrieve method. Failed files are
|
|
4
|
+
* returned to the caller, and cancelled files retain their existing retry behavior.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export function pollVectorStoreFile(resource, vectorStoreID, fileID, options) {
|
|
9
|
+
return pollWithResponse((headers) => resource.retrieve(fileID, { vector_store_id: vectorStoreID }, { ...options, headers }), ['in_progress'], ['failed', 'completed'], options);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Polls a file batch through the resource's retrieve method until it completes,
|
|
13
|
+
* fails, or is cancelled. Retrieval errors are propagated unchanged.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export function pollVectorStoreFileBatch(resource, vectorStoreID, batchID, options) {
|
|
18
|
+
return pollWithResponse((headers) => resource.retrieve(batchID, { vector_store_id: vectorStoreID }, { ...options, headers }), ['in_progress'], ['failed', 'cancelled', 'completed'], options);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=vector-store-polling.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector-store-polling.mjs","sourceRoot":"","sources":["../src/lib/vector-store-polling.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,sBAAkB;AAI7C;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAiC,EACjC,aAAqB,EACrB,MAAc,EACd,OAAqB;IAErB,OAAO,gBAAgB,CACrB,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,EACnG,CAAC,aAAa,CAAC,EACf,CAAC,QAAQ,EAAE,WAAW,CAAC,EACvB,OAAO,CACR,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAuC,EACvC,aAAqB,EACrB,OAAe,EACf,OAAqB;IAErB,OAAO,gBAAgB,CACrB,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,EACpG,CAAC,aAAa,CAAC,EACf,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,EACpC,OAAO,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { OpenAI } from "../client.mjs";
|
|
2
|
+
import type { RequestOptions } from "../internal/request-options.mjs";
|
|
3
|
+
import type { FileBatches, VectorStoreFileBatch } from "../resources/vector-stores/file-batches.mjs";
|
|
4
|
+
import type { Uploadable } from "../uploads.mjs";
|
|
5
|
+
type UploadOptions = RequestOptions & {
|
|
6
|
+
pollIntervalMs?: number;
|
|
7
|
+
maxConcurrency?: number;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Uploads files with a shared iterator, then creates and polls the batch. Every
|
|
11
|
+
* worker settles before upload failures are propagated.
|
|
12
|
+
*
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export declare function uploadAndPollVectorStoreFileBatch(resource: Pick<FileBatches, 'createAndPoll'>, client: Pick<OpenAI, 'files'>, vectorStoreId: string, files: Uploadable[], fileIds: string[], options?: UploadOptions): Promise<VectorStoreFileBatch>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=vector-store-upload.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector-store-upload.d.mts","sourceRoot":"","sources":["../src/lib/vector-store-upload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,sBAAkB;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,wCAAoC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,oDAAgD;AACjG,OAAO,KAAK,EAAE,UAAU,EAAE,uBAAmB;AAG7C,KAAK,aAAa,GAAG,cAAc,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3F;;;;;GAKG;AACH,wBAAsB,iCAAiC,CACrD,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,EAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,oBAAoB,CAAC,CA+B/B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { OpenAI } from "../client.js";
|
|
2
|
+
import type { RequestOptions } from "../internal/request-options.js";
|
|
3
|
+
import type { FileBatches, VectorStoreFileBatch } from "../resources/vector-stores/file-batches.js";
|
|
4
|
+
import type { Uploadable } from "../uploads.js";
|
|
5
|
+
type UploadOptions = RequestOptions & {
|
|
6
|
+
pollIntervalMs?: number;
|
|
7
|
+
maxConcurrency?: number;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Uploads files with a shared iterator, then creates and polls the batch. Every
|
|
11
|
+
* worker settles before upload failures are propagated.
|
|
12
|
+
*
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export declare function uploadAndPollVectorStoreFileBatch(resource: Pick<FileBatches, 'createAndPoll'>, client: Pick<OpenAI, 'files'>, vectorStoreId: string, files: Uploadable[], fileIds: string[], options?: UploadOptions): Promise<VectorStoreFileBatch>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=vector-store-upload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector-store-upload.d.ts","sourceRoot":"","sources":["../src/lib/vector-store-upload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,qBAAkB;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,uCAAoC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,mDAAgD;AACjG,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAmB;AAG7C,KAAK,aAAa,GAAG,cAAc,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3F;;;;;GAKG;AACH,wBAAsB,iCAAiC,CACrD,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,EAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,oBAAoB,CAAC,CA+B/B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.uploadAndPollVectorStoreFileBatch = uploadAndPollVectorStoreFileBatch;
|
|
4
|
+
const Util_1 = require("./Util.js");
|
|
5
|
+
/**
|
|
6
|
+
* Uploads files with a shared iterator, then creates and polls the batch. Every
|
|
7
|
+
* worker settles before upload failures are propagated.
|
|
8
|
+
*
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
async function uploadAndPollVectorStoreFileBatch(resource, client, vectorStoreId, files, fileIds, options) {
|
|
12
|
+
if (files === null || files === undefined || files.length === 0) {
|
|
13
|
+
throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");
|
|
14
|
+
}
|
|
15
|
+
const configuredConcurrency = options?.maxConcurrency ?? 5;
|
|
16
|
+
const concurrencyLimit = Math.min(configuredConcurrency, files.length);
|
|
17
|
+
const fileIterator = files.values();
|
|
18
|
+
const allFileIds = [...fileIds];
|
|
19
|
+
// This code is based on this design. The libraries don't accommodate our environment limits.
|
|
20
|
+
// https://stackoverflow.com/questions/40639432/what-is-the-best-way-to-limit-concurrency-when-using-es6s-promise-all
|
|
21
|
+
async function processFiles(iterator) {
|
|
22
|
+
for (const item of iterator) {
|
|
23
|
+
// oxlint-disable-next-line no-await-in-loop -- Each worker uploads one file at a time.
|
|
24
|
+
const fileObj = await client.files.create({ file: item, purpose: 'assistants' }, options);
|
|
25
|
+
allFileIds.push(fileObj.id);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// Assigning length preserves native validation of invalid concurrency values.
|
|
29
|
+
const workers = [];
|
|
30
|
+
workers.length = concurrencyLimit;
|
|
31
|
+
for (let index = 0; index < workers.length; index += 1) {
|
|
32
|
+
workers[index] = processFiles(fileIterator);
|
|
33
|
+
}
|
|
34
|
+
await (0, Util_1.allSettledWithThrow)(workers);
|
|
35
|
+
return await resource.createAndPoll(vectorStoreId, { file_ids: allFileIds }, options);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=vector-store-upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector-store-upload.js","sourceRoot":"","sources":["../src/lib/vector-store-upload.ts"],"names":[],"mappings":";;AAcA,8EAsCC;AAhDD,oCAA6C;AAI7C;;;;;GAKG;AACI,KAAK,UAAU,iCAAiC,CACrD,QAA4C,EAC5C,MAA6B,EAC7B,aAAqB,EACrB,KAAmB,EACnB,OAAiB,EACjB,OAAuB;IAEvB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CACb,4GAA4G,CAC7G,CAAC;IACJ,CAAC;IAED,MAAM,qBAAqB,GAAG,OAAO,EAAE,cAAc,IAAI,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAEhC,6FAA6F;IAC7F,qHAAqH;IACrH,KAAK,UAAU,YAAY,CAAC,QAAsC;QAChE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,uFAAuF;YACvF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;YAC1F,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC;IAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,IAAA,0BAAmB,EAAC,OAAO,CAAC,CAAC;IAEnC,OAAO,MAAM,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;AACxF,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { allSettledWithThrow } from "./Util.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Uploads files with a shared iterator, then creates and polls the batch. Every
|
|
4
|
+
* worker settles before upload failures are propagated.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export async function uploadAndPollVectorStoreFileBatch(resource, client, vectorStoreId, files, fileIds, options) {
|
|
9
|
+
if (files === null || files === undefined || files.length === 0) {
|
|
10
|
+
throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");
|
|
11
|
+
}
|
|
12
|
+
const configuredConcurrency = options?.maxConcurrency ?? 5;
|
|
13
|
+
const concurrencyLimit = Math.min(configuredConcurrency, files.length);
|
|
14
|
+
const fileIterator = files.values();
|
|
15
|
+
const allFileIds = [...fileIds];
|
|
16
|
+
// This code is based on this design. The libraries don't accommodate our environment limits.
|
|
17
|
+
// https://stackoverflow.com/questions/40639432/what-is-the-best-way-to-limit-concurrency-when-using-es6s-promise-all
|
|
18
|
+
async function processFiles(iterator) {
|
|
19
|
+
for (const item of iterator) {
|
|
20
|
+
// oxlint-disable-next-line no-await-in-loop -- Each worker uploads one file at a time.
|
|
21
|
+
const fileObj = await client.files.create({ file: item, purpose: 'assistants' }, options);
|
|
22
|
+
allFileIds.push(fileObj.id);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
// Assigning length preserves native validation of invalid concurrency values.
|
|
26
|
+
const workers = [];
|
|
27
|
+
workers.length = concurrencyLimit;
|
|
28
|
+
for (let index = 0; index < workers.length; index += 1) {
|
|
29
|
+
workers[index] = processFiles(fileIterator);
|
|
30
|
+
}
|
|
31
|
+
await allSettledWithThrow(workers);
|
|
32
|
+
return await resource.createAndPoll(vectorStoreId, { file_ids: allFileIds }, options);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=vector-store-upload.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector-store-upload.mjs","sourceRoot":"","sources":["../src/lib/vector-store-upload.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,mBAAe;AAI7C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,QAA4C,EAC5C,MAA6B,EAC7B,aAAqB,EACrB,KAAmB,EACnB,OAAiB,EACjB,OAAuB;IAEvB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CACb,4GAA4G,CAC7G,CAAC;IACJ,CAAC;IAED,MAAM,qBAAqB,GAAG,OAAO,EAAE,cAAc,IAAI,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAEhC,6FAA6F;IAC7F,qHAAqH;IACrH,KAAK,UAAU,YAAY,CAAC,QAAsC;QAChE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,uFAAuF;YACvF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;YAC1F,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC;IAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAEnC,OAAO,MAAM,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;AACxF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks whether a webhook header requires constant-work HMAC signing without
|
|
3
|
+
* retaining an unbounded number of signature candidates.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare function webhookSignatureRequiresSigning(signatureHeader: string): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Checks the timestamp and HMAC signatures after the resource has validated its
|
|
10
|
+
* crypto capabilities, secret, and required headers.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare function verifyWebhookSignature(payload: string, signatureHeader: string, timestamp: string, webhookId: string, secret: string, tolerance: number): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=webhook-signature.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-signature.d.mts","sourceRoot":"","sources":["../src/lib/webhook-signature.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAIhF;AAgED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAqEf"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks whether a webhook header requires constant-work HMAC signing without
|
|
3
|
+
* retaining an unbounded number of signature candidates.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare function webhookSignatureRequiresSigning(signatureHeader: string): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Checks the timestamp and HMAC signatures after the resource has validated its
|
|
10
|
+
* crypto capabilities, secret, and required headers.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare function verifyWebhookSignature(payload: string, signatureHeader: string, timestamp: string, webhookId: string, secret: string, tolerance: number): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=webhook-signature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-signature.d.ts","sourceRoot":"","sources":["../src/lib/webhook-signature.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAIhF;AAgED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAqEf"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.webhookSignatureRequiresSigning = webhookSignatureRequiresSigning;
|
|
4
|
+
exports.verifyWebhookSignature = verifyWebhookSignature;
|
|
5
|
+
const error_1 = require("../error.js");
|
|
6
|
+
const base64_1 = require("../internal/utils/base64.js");
|
|
7
|
+
const bytes_1 = require("../internal/utils/bytes.js");
|
|
8
|
+
const MAX_DIRECT_WEBHOOK_VERIFICATIONS = 32;
|
|
9
|
+
const SHA256_SIGNATURE_LENGTH = 32;
|
|
10
|
+
/**
|
|
11
|
+
* Checks whether a webhook header requires constant-work HMAC signing without
|
|
12
|
+
* retaining an unbounded number of signature candidates.
|
|
13
|
+
*
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
function webhookSignatureRequiresSigning(signatureHeader) {
|
|
17
|
+
return (signatureHeader.split(' ', MAX_DIRECT_WEBHOOK_VERIFICATIONS + 1).length > MAX_DIRECT_WEBHOOK_VERIFICATIONS);
|
|
18
|
+
}
|
|
19
|
+
function* signatureCandidates(signatureHeader) {
|
|
20
|
+
let start = 0;
|
|
21
|
+
while (start <= signatureHeader.length) {
|
|
22
|
+
const separator = signatureHeader.indexOf(' ', start);
|
|
23
|
+
const candidate = signatureHeader.slice(start, separator === -1 ? undefined : separator);
|
|
24
|
+
yield candidate.startsWith('v1,') ? candidate.slice(3) : candidate;
|
|
25
|
+
if (separator === -1) {
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
start = separator + 1;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function decodeSignature(signature) {
|
|
32
|
+
try {
|
|
33
|
+
const signatureBytes = (0, base64_1.fromBase64)(signature);
|
|
34
|
+
return signatureBytes.byteLength === SHA256_SIGNATURE_LENGTH ? signatureBytes : undefined;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// Invalid base64 does not prevent trying the next value.
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function firstValidLengthSignature(signatureHeader) {
|
|
42
|
+
for (const signature of signatureCandidates(signatureHeader)) {
|
|
43
|
+
const signatureBytes = decodeSignature(signature);
|
|
44
|
+
if (signatureBytes) {
|
|
45
|
+
return signatureBytes;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
function selectMatchingSignature(signatureHeader, expectedSignature, firstSignature) {
|
|
51
|
+
let matchingSignature = firstSignature;
|
|
52
|
+
for (const signature of signatureCandidates(signatureHeader)) {
|
|
53
|
+
const signatureBytes = decodeSignature(signature);
|
|
54
|
+
if (!signatureBytes) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
let difference = 0;
|
|
58
|
+
for (const [index, byte] of signatureBytes.entries()) {
|
|
59
|
+
// oxlint-disable-next-line no-bitwise -- Compare every HMAC byte without short-circuiting on shared prefixes.
|
|
60
|
+
difference |= byte ^ (expectedSignature[index] ?? 0);
|
|
61
|
+
}
|
|
62
|
+
if (difference === 0) {
|
|
63
|
+
matchingSignature = signatureBytes;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return matchingSignature;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Checks the timestamp and HMAC signatures after the resource has validated its
|
|
70
|
+
* crypto capabilities, secret, and required headers.
|
|
71
|
+
*
|
|
72
|
+
* @internal
|
|
73
|
+
*/
|
|
74
|
+
async function verifyWebhookSignature(payload, signatureHeader, timestamp, webhookId, secret, tolerance) {
|
|
75
|
+
// oxlint-disable-next-line unicorn/prefer-number-coercion -- Preserve numeric-prefix parsing while signing the original timestamp text.
|
|
76
|
+
const timestampSeconds = Number.parseInt(timestamp, 10);
|
|
77
|
+
if (Number.isNaN(timestampSeconds)) {
|
|
78
|
+
throw new error_1.InvalidWebhookSignatureError('Invalid webhook timestamp format');
|
|
79
|
+
}
|
|
80
|
+
const nowSeconds = Math.floor(Date.now() / 1000);
|
|
81
|
+
if (nowSeconds - timestampSeconds > tolerance) {
|
|
82
|
+
throw new error_1.InvalidWebhookSignatureError('Webhook timestamp is too old');
|
|
83
|
+
}
|
|
84
|
+
if (timestampSeconds > nowSeconds + tolerance) {
|
|
85
|
+
throw new error_1.InvalidWebhookSignatureError('Webhook timestamp is too new');
|
|
86
|
+
}
|
|
87
|
+
// Multiple signatures are space-separated; accept a matching value at any position.
|
|
88
|
+
const useBoundedVerification = webhookSignatureRequiresSigning(signatureHeader);
|
|
89
|
+
const firstSignature = useBoundedVerification ? firstValidLengthSignature(signatureHeader) : undefined;
|
|
90
|
+
if (useBoundedVerification && !firstSignature) {
|
|
91
|
+
throw new error_1.InvalidWebhookSignatureError('The given webhook signature does not match the expected signature');
|
|
92
|
+
}
|
|
93
|
+
const decodedSecret = Uint8Array.from(secret.startsWith('whsec_') ? (0, base64_1.fromBase64)(secret.slice('whsec_'.length)) : (0, bytes_1.encodeUTF8)(secret));
|
|
94
|
+
const signedPayload = webhookId ? `${webhookId}.${timestamp}.${payload}` : `${timestamp}.${payload}`;
|
|
95
|
+
const signedPayloadBytes = Uint8Array.from((0, bytes_1.encodeUTF8)(signedPayload));
|
|
96
|
+
const key = await crypto.subtle.importKey('raw', decodedSecret, { name: 'HMAC', hash: 'SHA-256' }, false, useBoundedVerification ? ['sign', 'verify'] : ['verify']);
|
|
97
|
+
if (useBoundedVerification && firstSignature) {
|
|
98
|
+
const expectedSignature = new Uint8Array(await crypto.subtle.sign('HMAC', key, signedPayloadBytes));
|
|
99
|
+
const signatureToVerify = selectMatchingSignature(signatureHeader, expectedSignature, firstSignature);
|
|
100
|
+
try {
|
|
101
|
+
if (await crypto.subtle.verify('HMAC', key, Uint8Array.from(signatureToVerify), signedPayloadBytes)) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
// Provider verification failures have the same typed mismatch as the direct path.
|
|
107
|
+
}
|
|
108
|
+
throw new error_1.InvalidWebhookSignatureError('The given webhook signature does not match the expected signature');
|
|
109
|
+
}
|
|
110
|
+
for (const signature of signatureCandidates(signatureHeader)) {
|
|
111
|
+
try {
|
|
112
|
+
const signatureBytes = Uint8Array.from((0, base64_1.fromBase64)(signature));
|
|
113
|
+
// oxlint-disable-next-line no-await-in-loop -- Check signatures in order and stop at the first match.
|
|
114
|
+
const isValid = await crypto.subtle.verify('HMAC', key, signatureBytes, signedPayloadBytes);
|
|
115
|
+
if (isValid) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
// Invalid base64 or signature format does not prevent trying the next value.
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
throw new error_1.InvalidWebhookSignatureError('The given webhook signature does not match the expected signature');
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=webhook-signature.js.map
|