openai 7.4.0 → 7.6.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 +424 -0
- package/README.md +59 -12
- package/_vendor/partial-json-parser/parser.d.mts.map +1 -1
- package/_vendor/partial-json-parser/parser.d.ts.map +1 -1
- package/_vendor/partial-json-parser/parser.js +52 -36
- package/_vendor/partial-json-parser/parser.js.map +1 -1
- package/_vendor/partial-json-parser/parser.mjs +52 -36
- package/_vendor/partial-json-parser/parser.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/Options.d.mts +3 -3
- package/_vendor/zod-to-json-schema/Options.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/Options.d.ts +3 -3
- package/_vendor/zod-to-json-schema/Options.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/Options.js +9 -2
- package/_vendor/zod-to-json-schema/Options.js.map +1 -1
- package/_vendor/zod-to-json-schema/Options.mjs +9 -2
- package/_vendor/zod-to-json-schema/Options.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/Refs.d.mts +2 -2
- package/_vendor/zod-to-json-schema/Refs.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/Refs.d.ts +2 -2
- package/_vendor/zod-to-json-schema/Refs.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/Refs.js +4 -4
- package/_vendor/zod-to-json-schema/Refs.js.map +1 -1
- package/_vendor/zod-to-json-schema/Refs.mjs +4 -4
- package/_vendor/zod-to-json-schema/Refs.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/errorMessages.d.mts +2 -2
- package/_vendor/zod-to-json-schema/errorMessages.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/errorMessages.d.ts +2 -2
- package/_vendor/zod-to-json-schema/errorMessages.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/errorMessages.js +2 -1
- package/_vendor/zod-to-json-schema/errorMessages.js.map +1 -1
- package/_vendor/zod-to-json-schema/errorMessages.mjs +2 -1
- package/_vendor/zod-to-json-schema/errorMessages.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/index.d.mts +1 -1
- package/_vendor/zod-to-json-schema/index.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/index.d.ts +1 -1
- package/_vendor/zod-to-json-schema/index.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/index.js +1 -1
- package/_vendor/zod-to-json-schema/index.js.map +1 -1
- package/_vendor/zod-to-json-schema/index.mjs +1 -1
- package/_vendor/zod-to-json-schema/index.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parseDef.d.mts +24 -24
- package/_vendor/zod-to-json-schema/parseDef.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parseDef.d.ts +24 -24
- package/_vendor/zod-to-json-schema/parseDef.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parseDef.js +98 -40
- package/_vendor/zod-to-json-schema/parseDef.js.map +1 -1
- package/_vendor/zod-to-json-schema/parseDef.mjs +98 -40
- package/_vendor/zod-to-json-schema/parseDef.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/array.d.mts +4 -4
- package/_vendor/zod-to-json-schema/parsers/array.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/array.d.ts +4 -4
- package/_vendor/zod-to-json-schema/parsers/array.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/array.js +1 -1
- package/_vendor/zod-to-json-schema/parsers/array.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/array.mjs +1 -1
- package/_vendor/zod-to-json-schema/parsers/array.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/bigint.d.mts +8 -8
- package/_vendor/zod-to-json-schema/parsers/bigint.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/bigint.d.ts +8 -8
- package/_vendor/zod-to-json-schema/parsers/bigint.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/bigint.js +8 -4
- package/_vendor/zod-to-json-schema/parsers/bigint.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/bigint.mjs +8 -4
- package/_vendor/zod-to-json-schema/parsers/bigint.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/branded.d.mts +3 -3
- package/_vendor/zod-to-json-schema/parsers/branded.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/branded.d.ts +3 -3
- package/_vendor/zod-to-json-schema/parsers/branded.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/catch.d.mts +3 -3
- package/_vendor/zod-to-json-schema/parsers/catch.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/catch.d.ts +3 -3
- package/_vendor/zod-to-json-schema/parsers/catch.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/catch.js +1 -3
- package/_vendor/zod-to-json-schema/parsers/catch.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/catch.mjs +1 -3
- package/_vendor/zod-to-json-schema/parsers/catch.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/date.d.mts +5 -5
- package/_vendor/zod-to-json-schema/parsers/date.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/date.d.ts +5 -5
- package/_vendor/zod-to-json-schema/parsers/date.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/date.js +10 -5
- package/_vendor/zod-to-json-schema/parsers/date.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/date.mjs +10 -5
- package/_vendor/zod-to-json-schema/parsers/date.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/default.d.mts +3 -3
- package/_vendor/zod-to-json-schema/parsers/default.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/default.d.ts +3 -3
- package/_vendor/zod-to-json-schema/parsers/default.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/default.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/default.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/effects.d.mts +3 -3
- package/_vendor/zod-to-json-schema/parsers/effects.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/effects.d.ts +3 -3
- package/_vendor/zod-to-json-schema/parsers/effects.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/effects.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/effects.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/enum.d.mts +1 -1
- package/_vendor/zod-to-json-schema/parsers/enum.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/enum.d.ts +1 -1
- package/_vendor/zod-to-json-schema/parsers/enum.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/intersection.d.mts +3 -3
- package/_vendor/zod-to-json-schema/parsers/intersection.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/intersection.d.ts +3 -3
- package/_vendor/zod-to-json-schema/parsers/intersection.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/intersection.js +6 -5
- package/_vendor/zod-to-json-schema/parsers/intersection.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/intersection.mjs +6 -5
- package/_vendor/zod-to-json-schema/parsers/intersection.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/literal.d.mts +5 -2
- package/_vendor/zod-to-json-schema/parsers/literal.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/literal.d.ts +5 -2
- package/_vendor/zod-to-json-schema/parsers/literal.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/literal.js +4 -0
- package/_vendor/zod-to-json-schema/parsers/literal.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/literal.mjs +4 -0
- package/_vendor/zod-to-json-schema/parsers/literal.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/map.d.mts +4 -4
- package/_vendor/zod-to-json-schema/parsers/map.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/map.d.ts +4 -4
- package/_vendor/zod-to-json-schema/parsers/map.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/map.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/map.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nativeEnum.d.mts +1 -1
- package/_vendor/zod-to-json-schema/parsers/nativeEnum.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nativeEnum.d.ts +1 -1
- package/_vendor/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nativeEnum.js +7 -9
- package/_vendor/zod-to-json-schema/parsers/nativeEnum.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nativeEnum.mjs +7 -9
- package/_vendor/zod-to-json-schema/parsers/nativeEnum.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/null.d.mts +1 -1
- package/_vendor/zod-to-json-schema/parsers/null.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/null.d.ts +1 -1
- package/_vendor/zod-to-json-schema/parsers/null.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/null.js +2 -2
- package/_vendor/zod-to-json-schema/parsers/null.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/null.mjs +2 -2
- package/_vendor/zod-to-json-schema/parsers/null.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nullable.d.mts +4 -4
- package/_vendor/zod-to-json-schema/parsers/nullable.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nullable.d.ts +4 -4
- package/_vendor/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nullable.js +2 -1
- package/_vendor/zod-to-json-schema/parsers/nullable.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/nullable.mjs +2 -1
- package/_vendor/zod-to-json-schema/parsers/nullable.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/number.d.mts +3 -3
- package/_vendor/zod-to-json-schema/parsers/number.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/number.d.ts +3 -3
- package/_vendor/zod-to-json-schema/parsers/number.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/number.js +10 -5
- package/_vendor/zod-to-json-schema/parsers/number.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/number.mjs +10 -5
- package/_vendor/zod-to-json-schema/parsers/number.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/object.d.mts +3 -3
- package/_vendor/zod-to-json-schema/parsers/object.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/object.d.ts +3 -3
- package/_vendor/zod-to-json-schema/parsers/object.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/object.js +43 -38
- package/_vendor/zod-to-json-schema/parsers/object.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/object.mjs +43 -38
- package/_vendor/zod-to-json-schema/parsers/object.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/optional.d.mts +3 -3
- package/_vendor/zod-to-json-schema/parsers/optional.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/optional.d.ts +3 -3
- package/_vendor/zod-to-json-schema/parsers/optional.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/optional.js +2 -2
- package/_vendor/zod-to-json-schema/parsers/optional.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/optional.mjs +2 -2
- package/_vendor/zod-to-json-schema/parsers/optional.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/pipeline.d.mts +4 -4
- package/_vendor/zod-to-json-schema/parsers/pipeline.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/pipeline.d.ts +4 -4
- package/_vendor/zod-to-json-schema/parsers/pipeline.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/pipeline.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/pipeline.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/promise.d.mts +3 -3
- package/_vendor/zod-to-json-schema/parsers/promise.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/promise.d.ts +3 -3
- package/_vendor/zod-to-json-schema/parsers/promise.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/promise.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/promise.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/readonly.d.mts +3 -3
- package/_vendor/zod-to-json-schema/parsers/readonly.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/readonly.d.ts +3 -3
- package/_vendor/zod-to-json-schema/parsers/readonly.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/readonly.js +1 -3
- package/_vendor/zod-to-json-schema/parsers/readonly.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/readonly.mjs +1 -3
- package/_vendor/zod-to-json-schema/parsers/readonly.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/record.d.mts +5 -5
- package/_vendor/zod-to-json-schema/parsers/record.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/record.d.ts +5 -5
- package/_vendor/zod-to-json-schema/parsers/record.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/record.js +5 -5
- package/_vendor/zod-to-json-schema/parsers/record.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/record.mjs +5 -5
- package/_vendor/zod-to-json-schema/parsers/record.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/set.d.mts +4 -4
- package/_vendor/zod-to-json-schema/parsers/set.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/set.d.ts +4 -4
- package/_vendor/zod-to-json-schema/parsers/set.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/set.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/set.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.d.mts +3 -3
- package/_vendor/zod-to-json-schema/parsers/string.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.d.ts +3 -3
- package/_vendor/zod-to-json-schema/parsers/string.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.js +55 -33
- package/_vendor/zod-to-json-schema/parsers/string.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/string.mjs +55 -33
- package/_vendor/zod-to-json-schema/parsers/string.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/tuple.d.mts +3 -3
- package/_vendor/zod-to-json-schema/parsers/tuple.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/tuple.d.ts +3 -3
- package/_vendor/zod-to-json-schema/parsers/tuple.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/tuple.js +12 -14
- package/_vendor/zod-to-json-schema/parsers/tuple.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/tuple.mjs +12 -14
- package/_vendor/zod-to-json-schema/parsers/tuple.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/union.d.mts +3 -3
- package/_vendor/zod-to-json-schema/parsers/union.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/union.d.ts +3 -3
- package/_vendor/zod-to-json-schema/parsers/union.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/union.js +43 -24
- package/_vendor/zod-to-json-schema/parsers/union.js.map +1 -1
- package/_vendor/zod-to-json-schema/parsers/union.mjs +43 -24
- package/_vendor/zod-to-json-schema/parsers/union.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/util.d.mts +1 -1
- package/_vendor/zod-to-json-schema/util.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/util.d.ts +1 -1
- package/_vendor/zod-to-json-schema/util.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/util.js +6 -5
- package/_vendor/zod-to-json-schema/util.js.map +1 -1
- package/_vendor/zod-to-json-schema/util.mjs +6 -5
- package/_vendor/zod-to-json-schema/util.mjs.map +1 -1
- package/_vendor/zod-to-json-schema/zodToJsonSchema.d.mts +4 -6
- package/_vendor/zod-to-json-schema/zodToJsonSchema.d.mts.map +1 -1
- package/_vendor/zod-to-json-schema/zodToJsonSchema.d.ts +4 -6
- package/_vendor/zod-to-json-schema/zodToJsonSchema.d.ts.map +1 -1
- package/_vendor/zod-to-json-schema/zodToJsonSchema.js +102 -36
- package/_vendor/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
- package/_vendor/zod-to-json-schema/zodToJsonSchema.mjs +102 -36
- package/_vendor/zod-to-json-schema/zodToJsonSchema.mjs.map +1 -1
- 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 +52 -0
- package/auth/subject-token-providers.d.mts.map +1 -1
- package/auth/subject-token-providers.d.ts +52 -0
- package/auth/subject-token-providers.d.ts.map +1 -1
- package/auth/subject-token-providers.js +222 -7
- package/auth/subject-token-providers.js.map +1 -1
- package/auth/subject-token-providers.mjs +222 -7
- package/auth/subject-token-providers.mjs.map +1 -1
- package/auth/types.d.mts +31 -5
- package/auth/types.d.mts.map +1 -1
- package/auth/types.d.ts +31 -5
- package/auth/types.d.ts.map +1 -1
- package/auth/workload-identity-auth.d.mts +26 -1
- package/auth/workload-identity-auth.d.mts.map +1 -1
- package/auth/workload-identity-auth.d.ts +26 -1
- package/auth/workload-identity-auth.d.ts.map +1 -1
- package/auth/workload-identity-auth.js +139 -22
- package/auth/workload-identity-auth.js.map +1 -1
- package/auth/workload-identity-auth.mjs +139 -22
- 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 +38 -16
- package/azure.d.mts.map +1 -1
- package/azure.d.ts +38 -16
- package/azure.d.ts.map +1 -1
- package/azure.js +36 -19
- package/azure.js.map +1 -1
- package/azure.mjs +36 -19
- package/azure.mjs.map +1 -1
- package/bedrock.d.mts +23 -5
- package/bedrock.d.mts.map +1 -1
- package/bedrock.d.ts +23 -5
- package/bedrock.d.ts.map +1 -1
- package/bedrock.js +69 -8
- package/bedrock.js.map +1 -1
- package/bedrock.mjs +69 -8
- package/bedrock.mjs.map +1 -1
- package/beta/realtime/internal-base.d.mts +47 -4
- package/beta/realtime/internal-base.d.mts.map +1 -1
- package/beta/realtime/internal-base.d.ts +47 -4
- package/beta/realtime/internal-base.d.ts.map +1 -1
- package/beta/realtime/internal-base.js +53 -10
- package/beta/realtime/internal-base.js.map +1 -1
- package/beta/realtime/internal-base.mjs +52 -10
- package/beta/realtime/internal-base.mjs.map +1 -1
- package/beta/realtime/websocket.d.mts +63 -4
- package/beta/realtime/websocket.d.mts.map +1 -1
- package/beta/realtime/websocket.d.ts +63 -4
- package/beta/realtime/websocket.d.ts.map +1 -1
- package/beta/realtime/websocket.js +161 -26
- package/beta/realtime/websocket.js.map +1 -1
- package/beta/realtime/websocket.mjs +162 -27
- package/beta/realtime/websocket.mjs.map +1 -1
- package/beta/realtime/ws.d.mts +51 -3
- package/beta/realtime/ws.d.mts.map +1 -1
- package/beta/realtime/ws.d.ts +51 -3
- package/beta/realtime/ws.d.ts.map +1 -1
- package/beta/realtime/ws.js +82 -9
- package/beta/realtime/ws.js.map +1 -1
- package/beta/realtime/ws.mjs +83 -10
- package/beta/realtime/ws.mjs.map +1 -1
- package/client.d.mts +40 -2
- package/client.d.mts.map +1 -1
- package/client.d.ts +40 -2
- package/client.d.ts.map +1 -1
- package/client.js +597 -75
- package/client.js.map +1 -1
- package/client.mjs +598 -76
- package/client.mjs.map +1 -1
- package/core/EventEmitter.d.mts +10 -6
- package/core/EventEmitter.d.mts.map +1 -1
- package/core/EventEmitter.d.ts +10 -6
- package/core/EventEmitter.d.ts.map +1 -1
- package/core/EventEmitter.js +98 -16
- package/core/EventEmitter.js.map +1 -1
- package/core/EventEmitter.mjs +99 -17
- package/core/EventEmitter.mjs.map +1 -1
- package/core/api-promise.d.mts.map +1 -1
- package/core/api-promise.d.ts.map +1 -1
- package/core/api-promise.js +0 -1
- package/core/api-promise.js.map +1 -1
- package/core/api-promise.mjs +0 -1
- package/core/api-promise.mjs.map +1 -1
- package/core/error.d.mts.map +1 -1
- package/core/error.d.ts.map +1 -1
- package/core/error.js +5 -5
- package/core/error.js.map +1 -1
- package/core/error.mjs +5 -5
- package/core/error.mjs.map +1 -1
- package/core/pagination.d.mts.map +1 -1
- package/core/pagination.d.ts.map +1 -1
- package/core/pagination.js +0 -1
- package/core/pagination.js.map +1 -1
- package/core/pagination.mjs +0 -1
- package/core/pagination.mjs.map +1 -1
- package/core/resource.d.mts.map +1 -1
- package/core/resource.d.ts.map +1 -1
- package/core/resource.js +0 -1
- package/core/resource.js.map +1 -1
- package/core/resource.mjs +0 -1
- package/core/resource.mjs.map +1 -1
- package/core/streaming.d.mts +29 -2
- package/core/streaming.d.mts.map +1 -1
- package/core/streaming.d.ts +29 -2
- package/core/streaming.d.ts.map +1 -1
- package/core/streaming.js +177 -75
- package/core/streaming.js.map +1 -1
- package/core/streaming.mjs +177 -75
- package/core/streaming.mjs.map +1 -1
- package/helpers/audio.d.mts +29 -0
- package/helpers/audio.d.mts.map +1 -1
- package/helpers/audio.d.ts +29 -0
- package/helpers/audio.d.ts.map +1 -1
- package/helpers/audio.js +163 -28
- package/helpers/audio.js.map +1 -1
- package/helpers/audio.mjs +163 -28
- package/helpers/audio.mjs.map +1 -1
- package/helpers/standard-schema.d.mts +154 -18
- package/helpers/standard-schema.d.mts.map +1 -1
- package/helpers/standard-schema.d.ts +154 -18
- package/helpers/standard-schema.d.ts.map +1 -1
- package/helpers/standard-schema.js +92 -29
- package/helpers/standard-schema.js.map +1 -1
- package/helpers/standard-schema.mjs +93 -30
- 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 +79 -5
- package/helpers/zod.d.mts.map +1 -1
- package/helpers/zod.d.ts +79 -5
- package/helpers/zod.d.ts.map +1 -1
- package/helpers/zod.js +84 -23
- package/helpers/zod.js.map +1 -1
- package/helpers/zod.mjs +86 -25
- package/helpers/zod.mjs.map +1 -1
- package/index.d.mts +2 -2
- package/index.d.mts.map +1 -1
- package/index.d.ts +2 -2
- package/index.d.ts.map +1 -1
- package/index.js +0 -1
- package/index.js.map +1 -1
- package/index.mjs +0 -1
- package/index.mjs.map +1 -1
- package/internal/assistant-stream-delta.d.mts +7 -0
- package/internal/assistant-stream-delta.d.mts.map +1 -0
- package/internal/assistant-stream-delta.d.ts +7 -0
- package/internal/assistant-stream-delta.d.ts.map +1 -0
- package/internal/assistant-stream-delta.js +309 -0
- package/internal/assistant-stream-delta.js.map +1 -0
- package/internal/assistant-stream-delta.mjs +301 -0
- package/internal/assistant-stream-delta.mjs.map +1 -0
- 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 +82 -5
- package/internal/bedrock.d.mts.map +1 -1
- package/internal/bedrock.d.ts +82 -5
- package/internal/bedrock.d.ts.map +1 -1
- package/internal/bedrock.js +312 -13
- package/internal/bedrock.js.map +1 -1
- package/internal/bedrock.mjs +307 -13
- package/internal/bedrock.mjs.map +1 -1
- package/internal/builtin-types.d.mts.map +1 -1
- package/internal/builtin-types.d.ts.map +1 -1
- package/internal/builtin-types.js +0 -1
- package/internal/builtin-types.js.map +1 -1
- package/internal/builtin-types.mjs +0 -1
- package/internal/builtin-types.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/decoders/line.d.mts +25 -2
- package/internal/decoders/line.d.mts.map +1 -1
- package/internal/decoders/line.d.ts +25 -2
- package/internal/decoders/line.d.ts.map +1 -1
- package/internal/decoders/line.js +139 -54
- package/internal/decoders/line.js.map +1 -1
- package/internal/decoders/line.mjs +140 -55
- package/internal/decoders/line.mjs.map +1 -1
- package/internal/detect-platform.d.mts.map +1 -1
- package/internal/detect-platform.d.ts.map +1 -1
- package/internal/detect-platform.js +1 -2
- package/internal/detect-platform.js.map +1 -1
- package/internal/detect-platform.mjs +1 -2
- package/internal/detect-platform.mjs.map +1 -1
- package/internal/errors.d.mts.map +1 -1
- package/internal/errors.d.ts.map +1 -1
- package/internal/errors.js +0 -1
- package/internal/errors.js.map +1 -1
- package/internal/errors.mjs +0 -1
- package/internal/errors.mjs.map +1 -1
- package/internal/headers.d.mts.map +1 -1
- package/internal/headers.d.ts.map +1 -1
- package/internal/headers.js +0 -1
- package/internal/headers.js.map +1 -1
- package/internal/headers.mjs +0 -1
- package/internal/headers.mjs.map +1 -1
- 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/parse.d.mts.map +1 -1
- package/internal/parse.d.ts.map +1 -1
- package/internal/parse.js +23 -3
- package/internal/parse.js.map +1 -1
- package/internal/parse.mjs +23 -3
- package/internal/parse.mjs.map +1 -1
- package/internal/provider.d.mts +26 -0
- package/internal/provider.d.mts.map +1 -1
- package/internal/provider.d.ts +26 -0
- package/internal/provider.d.ts.map +1 -1
- package/internal/provider.js +11 -0
- package/internal/provider.js.map +1 -1
- package/internal/provider.mjs +11 -0
- package/internal/provider.mjs.map +1 -1
- package/internal/qs/formats.d.mts +1 -1
- package/internal/qs/formats.d.mts.map +1 -1
- package/internal/qs/formats.d.ts +1 -1
- package/internal/qs/formats.d.ts.map +1 -1
- package/internal/qs/formats.js +1 -2
- package/internal/qs/formats.js.map +1 -1
- package/internal/qs/formats.mjs +1 -1
- package/internal/qs/formats.mjs.map +1 -1
- package/internal/qs/stringify.d.mts.map +1 -1
- package/internal/qs/stringify.d.ts.map +1 -1
- package/internal/qs/stringify.js +57 -51
- package/internal/qs/stringify.js.map +1 -1
- package/internal/qs/stringify.mjs +57 -51
- package/internal/qs/stringify.mjs.map +1 -1
- package/internal/qs/types.d.mts +1 -1
- package/internal/qs/types.d.mts.map +1 -1
- package/internal/qs/types.d.ts +1 -1
- package/internal/qs/types.d.ts.map +1 -1
- package/internal/qs/utils.d.mts +1 -1
- package/internal/qs/utils.d.mts.map +1 -1
- package/internal/qs/utils.d.ts +1 -1
- package/internal/qs/utils.d.ts.map +1 -1
- package/internal/qs/utils.js +356 -50
- package/internal/qs/utils.js.map +1 -1
- package/internal/qs/utils.mjs +356 -50
- 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 -2
- package/internal/request-options.js.map +1 -1
- package/internal/request-options.mjs +42 -2
- package/internal/request-options.mjs.map +1 -1
- package/internal/responses/canonical-output-text.d.mts +16 -0
- package/internal/responses/canonical-output-text.d.mts.map +1 -0
- package/internal/responses/canonical-output-text.d.ts +16 -0
- package/internal/responses/canonical-output-text.d.ts.map +1 -0
- package/internal/responses/canonical-output-text.js +123 -0
- package/internal/responses/canonical-output-text.js.map +1 -0
- package/internal/responses/canonical-output-text.mjs +115 -0
- package/internal/responses/canonical-output-text.mjs.map +1 -0
- package/internal/responses/output-text-index.d.mts +18 -0
- package/internal/responses/output-text-index.d.mts.map +1 -0
- package/internal/responses/output-text-index.d.ts +18 -0
- package/internal/responses/output-text-index.d.ts.map +1 -0
- package/internal/responses/output-text-index.js +77 -0
- package/internal/responses/output-text-index.js.map +1 -0
- package/internal/responses/output-text-index.mjs +73 -0
- package/internal/responses/output-text-index.mjs.map +1 -0
- package/internal/responses/response-accumulator.d.mts +11 -0
- package/internal/responses/response-accumulator.d.mts.map +1 -0
- package/internal/responses/response-accumulator.d.ts +11 -0
- package/internal/responses/response-accumulator.d.ts.map +1 -0
- package/internal/responses/response-accumulator.js +925 -0
- package/internal/responses/response-accumulator.js.map +1 -0
- package/internal/responses/response-accumulator.mjs +921 -0
- package/internal/responses/response-accumulator.mjs.map +1 -0
- package/internal/shim-types.d.mts.map +1 -1
- package/internal/shim-types.d.ts.map +1 -1
- package/internal/shim-types.js +6 -1
- package/internal/shim-types.js.map +1 -1
- package/internal/shim-types.mjs +6 -1
- package/internal/shim-types.mjs.map +1 -1
- package/internal/shims.d.mts.map +1 -1
- package/internal/shims.d.ts.map +1 -1
- package/internal/shims.js +6 -1
- package/internal/shims.js.map +1 -1
- package/internal/shims.mjs +6 -1
- package/internal/shims.mjs.map +1 -1
- package/internal/stream-utils.d.mts +10 -3
- package/internal/stream-utils.d.mts.map +1 -1
- package/internal/stream-utils.d.ts +10 -3
- package/internal/stream-utils.d.ts.map +1 -1
- package/internal/stream-utils.js +35 -7
- package/internal/stream-utils.js.map +1 -1
- package/internal/stream-utils.mjs +35 -7
- package/internal/stream-utils.mjs.map +1 -1
- package/internal/to-file.d.mts +39 -17
- package/internal/to-file.d.mts.map +1 -1
- package/internal/to-file.d.ts +39 -17
- package/internal/to-file.d.ts.map +1 -1
- package/internal/to-file.js +44 -22
- package/internal/to-file.js.map +1 -1
- package/internal/to-file.mjs +44 -22
- package/internal/to-file.mjs.map +1 -1
- package/internal/tslib.js +6 -0
- package/internal/tslib.mjs +6 -1
- package/internal/types.d.mts +4 -4
- package/internal/types.d.mts.map +1 -1
- package/internal/types.d.ts +4 -4
- package/internal/types.d.ts.map +1 -1
- package/internal/types.js +0 -1
- package/internal/types.js.map +1 -1
- package/internal/types.mjs +0 -1
- package/internal/types.mjs.map +1 -1
- package/internal/uploads.d.mts +84 -14
- package/internal/uploads.d.mts.map +1 -1
- package/internal/uploads.d.ts +84 -14
- package/internal/uploads.d.ts.map +1 -1
- package/internal/uploads.js +212 -75
- package/internal/uploads.js.map +1 -1
- package/internal/uploads.mjs +212 -75
- package/internal/uploads.mjs.map +1 -1
- package/internal/utils/base64.d.mts.map +1 -1
- package/internal/utils/base64.d.ts.map +1 -1
- package/internal/utils/base64.js +0 -1
- package/internal/utils/base64.js.map +1 -1
- package/internal/utils/base64.mjs +0 -1
- package/internal/utils/base64.mjs.map +1 -1
- package/internal/utils/bytes.d.mts +3 -0
- package/internal/utils/bytes.d.mts.map +1 -1
- package/internal/utils/bytes.d.ts +3 -0
- package/internal/utils/bytes.d.ts.map +1 -1
- package/internal/utils/bytes.js +3 -0
- package/internal/utils/bytes.js.map +1 -1
- package/internal/utils/bytes.mjs +3 -0
- package/internal/utils/bytes.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 -5
- package/internal/utils/env.js.map +1 -1
- package/internal/utils/env.mjs +9 -5
- package/internal/utils/env.mjs.map +1 -1
- package/internal/utils/log.d.mts.map +1 -1
- package/internal/utils/log.d.ts.map +1 -1
- package/internal/utils/log.js +3 -4
- package/internal/utils/log.js.map +1 -1
- package/internal/utils/log.mjs +3 -4
- package/internal/utils/log.mjs.map +1 -1
- package/internal/utils/path.d.mts +14 -2
- package/internal/utils/path.d.mts.map +1 -1
- package/internal/utils/path.d.ts +14 -2
- package/internal/utils/path.d.ts.map +1 -1
- package/internal/utils/path.js +48 -30
- package/internal/utils/path.js.map +1 -1
- package/internal/utils/path.mjs +48 -30
- package/internal/utils/path.mjs.map +1 -1
- package/internal/utils/query.d.mts.map +1 -1
- package/internal/utils/query.d.ts.map +1 -1
- package/internal/utils/query.js +0 -1
- package/internal/utils/query.js.map +1 -1
- package/internal/utils/query.mjs +0 -1
- package/internal/utils/query.mjs.map +1 -1
- package/internal/utils/sleep.d.mts.map +1 -1
- package/internal/utils/sleep.d.ts.map +1 -1
- package/internal/utils/sleep.js +0 -1
- package/internal/utils/sleep.js.map +1 -1
- package/internal/utils/sleep.mjs +0 -1
- package/internal/utils/sleep.mjs.map +1 -1
- package/internal/utils/uuid.d.mts.map +1 -1
- package/internal/utils/uuid.d.ts.map +1 -1
- package/internal/utils/uuid.js +0 -1
- package/internal/utils/uuid.js.map +1 -1
- package/internal/utils/uuid.mjs +0 -1
- package/internal/utils/uuid.mjs.map +1 -1
- package/internal/utils/values.d.mts.map +1 -1
- package/internal/utils/values.d.ts.map +1 -1
- package/internal/utils/values.js +0 -1
- package/internal/utils/values.js.map +1 -1
- package/internal/utils/values.mjs +0 -1
- package/internal/utils/values.mjs.map +1 -1
- package/internal/utils.d.mts.map +1 -1
- package/internal/utils.d.ts.map +1 -1
- package/internal/utils.js +0 -1
- package/internal/utils.js.map +1 -1
- package/internal/utils.mjs +0 -1
- package/internal/utils.mjs.map +1 -1
- package/internal/ws-adapter-browser.d.mts +26 -3
- package/internal/ws-adapter-browser.d.mts.map +1 -1
- package/internal/ws-adapter-browser.d.ts +26 -3
- package/internal/ws-adapter-browser.d.ts.map +1 -1
- package/internal/ws-adapter-browser.js +64 -21
- package/internal/ws-adapter-browser.js.map +1 -1
- package/internal/ws-adapter-browser.mjs +64 -21
- package/internal/ws-adapter-browser.mjs.map +1 -1
- package/internal/ws-adapter-node.d.mts +18 -3
- package/internal/ws-adapter-node.d.mts.map +1 -1
- package/internal/ws-adapter-node.d.ts +18 -3
- package/internal/ws-adapter-node.d.ts.map +1 -1
- package/internal/ws-adapter-node.js +90 -24
- package/internal/ws-adapter-node.js.map +1 -1
- package/internal/ws-adapter-node.mjs +90 -24
- package/internal/ws-adapter-node.mjs.map +1 -1
- package/internal/ws-adapter.d.mts +14 -0
- package/internal/ws-adapter.d.mts.map +1 -1
- package/internal/ws-adapter.d.ts +14 -0
- package/internal/ws-adapter.d.ts.map +1 -1
- package/internal/ws-adapter.js +4 -0
- package/internal/ws-adapter.js.map +1 -1
- package/internal/ws-adapter.mjs +4 -0
- package/internal/ws-adapter.mjs.map +1 -1
- package/internal/ws.d.mts +36 -8
- package/internal/ws.d.mts.map +1 -1
- package/internal/ws.d.ts +36 -8
- package/internal/ws.d.ts.map +1 -1
- package/internal/ws.js +116 -47
- package/internal/ws.js.map +1 -1
- package/internal/ws.mjs +115 -47
- package/internal/ws.mjs.map +1 -1
- package/lib/AbstractChatCompletionRunner.d.mts +26 -5
- package/lib/AbstractChatCompletionRunner.d.mts.map +1 -1
- package/lib/AbstractChatCompletionRunner.d.ts +26 -5
- package/lib/AbstractChatCompletionRunner.d.ts.map +1 -1
- package/lib/AbstractChatCompletionRunner.js +89 -39
- package/lib/AbstractChatCompletionRunner.js.map +1 -1
- package/lib/AbstractChatCompletionRunner.mjs +92 -42
- package/lib/AbstractChatCompletionRunner.mjs.map +1 -1
- package/lib/AssistantStream.d.mts +49 -8
- package/lib/AssistantStream.d.mts.map +1 -1
- package/lib/AssistantStream.d.ts +49 -8
- package/lib/AssistantStream.d.ts.map +1 -1
- package/lib/AssistantStream.js +388 -227
- package/lib/AssistantStream.js.map +1 -1
- package/lib/AssistantStream.mjs +389 -228
- package/lib/AssistantStream.mjs.map +1 -1
- package/lib/ChatCompletionRunner.d.mts +16 -5
- package/lib/ChatCompletionRunner.d.mts.map +1 -1
- package/lib/ChatCompletionRunner.d.ts +16 -5
- package/lib/ChatCompletionRunner.d.ts.map +1 -1
- package/lib/ChatCompletionRunner.js +4 -1
- package/lib/ChatCompletionRunner.js.map +1 -1
- package/lib/ChatCompletionRunner.mjs +5 -2
- package/lib/ChatCompletionRunner.mjs.map +1 -1
- package/lib/ChatCompletionStream.d.mts +137 -35
- package/lib/ChatCompletionStream.d.mts.map +1 -1
- package/lib/ChatCompletionStream.d.ts +137 -35
- package/lib/ChatCompletionStream.d.ts.map +1 -1
- package/lib/ChatCompletionStream.js +1252 -162
- package/lib/ChatCompletionStream.js.map +1 -1
- package/lib/ChatCompletionStream.mjs +1255 -165
- package/lib/ChatCompletionStream.mjs.map +1 -1
- package/lib/ChatCompletionStreamingRunner.d.mts +20 -7
- package/lib/ChatCompletionStreamingRunner.d.mts.map +1 -1
- package/lib/ChatCompletionStreamingRunner.d.ts +20 -7
- package/lib/ChatCompletionStreamingRunner.d.ts.map +1 -1
- package/lib/ChatCompletionStreamingRunner.js +27 -67
- package/lib/ChatCompletionStreamingRunner.js.map +1 -1
- package/lib/ChatCompletionStreamingRunner.mjs +28 -68
- package/lib/ChatCompletionStreamingRunner.mjs.map +1 -1
- package/lib/EventEmitter.d.mts +9 -6
- package/lib/EventEmitter.d.mts.map +1 -1
- package/lib/EventEmitter.d.ts +9 -6
- package/lib/EventEmitter.d.ts.map +1 -1
- package/lib/EventEmitter.js +89 -20
- package/lib/EventEmitter.js.map +1 -1
- package/lib/EventEmitter.mjs +90 -21
- package/lib/EventEmitter.mjs.map +1 -1
- package/lib/EventStream.d.mts +49 -9
- package/lib/EventStream.d.mts.map +1 -1
- package/lib/EventStream.d.ts +49 -9
- package/lib/EventStream.d.ts.map +1 -1
- package/lib/EventStream.js +1257 -51
- package/lib/EventStream.js.map +1 -1
- package/lib/EventStream.mjs +1258 -52
- package/lib/EventStream.mjs.map +1 -1
- package/lib/ResponsesParser.d.mts +52 -5
- package/lib/ResponsesParser.d.mts.map +1 -1
- package/lib/ResponsesParser.d.ts +52 -5
- package/lib/ResponsesParser.d.ts.map +1 -1
- package/lib/ResponsesParser.js +32 -17
- package/lib/ResponsesParser.js.map +1 -1
- package/lib/ResponsesParser.mjs +33 -18
- package/lib/ResponsesParser.mjs.map +1 -1
- package/lib/RunnableFunction.d.mts +38 -10
- package/lib/RunnableFunction.d.mts.map +1 -1
- package/lib/RunnableFunction.d.ts +38 -10
- package/lib/RunnableFunction.d.ts.map +1 -1
- package/lib/RunnableFunction.js +3 -0
- package/lib/RunnableFunction.js.map +1 -1
- package/lib/RunnableFunction.mjs +3 -0
- package/lib/RunnableFunction.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/chatCompletionUtils.d.mts +4 -1
- package/lib/chatCompletionUtils.d.mts.map +1 -1
- package/lib/chatCompletionUtils.d.ts +4 -1
- package/lib/chatCompletionUtils.d.ts.map +1 -1
- package/lib/chatCompletionUtils.js +5 -6
- package/lib/chatCompletionUtils.js.map +1 -1
- package/lib/chatCompletionUtils.mjs +5 -6
- package/lib/chatCompletionUtils.mjs.map +1 -1
- 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/jsonschema.d.mts +70 -14
- package/lib/jsonschema.d.mts.map +1 -1
- package/lib/jsonschema.d.ts +70 -14
- package/lib/jsonschema.d.ts.map +1 -1
- package/lib/parser.d.mts +97 -6
- package/lib/parser.d.mts.map +1 -1
- package/lib/parser.d.ts +97 -6
- package/lib/parser.d.ts.map +1 -1
- package/lib/parser.js +128 -41
- package/lib/parser.js.map +1 -1
- package/lib/parser.mjs +126 -41
- 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/EventTypes.d.mts +7 -2
- package/lib/responses/EventTypes.d.mts.map +1 -1
- package/lib/responses/EventTypes.d.ts +7 -2
- package/lib/responses/EventTypes.d.ts.map +1 -1
- package/lib/responses/ResponseAccumulator.d.mts +4 -1
- package/lib/responses/ResponseAccumulator.d.mts.map +1 -1
- package/lib/responses/ResponseAccumulator.d.ts +4 -1
- package/lib/responses/ResponseAccumulator.d.ts.map +1 -1
- package/lib/responses/ResponseAccumulator.js +2 -390
- package/lib/responses/ResponseAccumulator.js.map +1 -1
- package/lib/responses/ResponseAccumulator.mjs +2 -390
- package/lib/responses/ResponseAccumulator.mjs.map +1 -1
- package/lib/responses/ResponseInputItems.d.mts +1 -0
- package/lib/responses/ResponseInputItems.d.mts.map +1 -1
- package/lib/responses/ResponseInputItems.d.ts +1 -0
- package/lib/responses/ResponseInputItems.d.ts.map +1 -1
- package/lib/responses/ResponseInputItems.js.map +1 -1
- package/lib/responses/ResponseInputItems.mjs.map +1 -1
- package/lib/responses/ResponseStream.d.mts +29 -10
- package/lib/responses/ResponseStream.d.mts.map +1 -1
- package/lib/responses/ResponseStream.d.ts +29 -10
- package/lib/responses/ResponseStream.d.ts.map +1 -1
- package/lib/responses/ResponseStream.js +57 -71
- package/lib/responses/ResponseStream.js.map +1 -1
- package/lib/responses/ResponseStream.mjs +58 -72
- package/lib/responses/ResponseStream.mjs.map +1 -1
- package/lib/transform.d.mts +21 -0
- package/lib/transform.d.mts.map +1 -1
- package/lib/transform.d.ts +21 -0
- package/lib/transform.d.ts.map +1 -1
- package/lib/transform.js +126 -76
- package/lib/transform.js.map +1 -1
- package/lib/transform.mjs +126 -76
- package/lib/transform.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 +23 -3
- package/providers/bedrock/aws.d.mts +35 -8
- package/providers/bedrock/aws.d.mts.map +1 -1
- package/providers/bedrock/aws.d.ts +35 -8
- package/providers/bedrock/aws.d.ts.map +1 -1
- package/providers/bedrock/aws.js +60 -21
- package/providers/bedrock/aws.js.map +1 -1
- package/providers/bedrock/aws.mjs +61 -22
- package/providers/bedrock/aws.mjs.map +1 -1
- package/providers/bedrock.d.mts +17 -2
- package/providers/bedrock.d.mts.map +1 -1
- package/providers/bedrock.d.ts +17 -2
- package/providers/bedrock.d.ts.map +1 -1
- package/providers/bedrock.js +19 -2
- package/providers/bedrock.js.map +1 -1
- package/providers/bedrock.mjs +20 -3
- package/providers/bedrock.mjs.map +1 -1
- package/realtime/internal-base.d.mts +99 -10
- package/realtime/internal-base.d.mts.map +1 -1
- package/realtime/internal-base.d.ts +99 -10
- package/realtime/internal-base.d.ts.map +1 -1
- package/realtime/internal-base.js +94 -29
- package/realtime/internal-base.js.map +1 -1
- package/realtime/internal-base.mjs +93 -29
- package/realtime/internal-base.mjs.map +1 -1
- package/realtime/websocket.d.mts +63 -4
- package/realtime/websocket.d.mts.map +1 -1
- package/realtime/websocket.d.ts +63 -4
- package/realtime/websocket.d.ts.map +1 -1
- package/realtime/websocket.js +152 -27
- package/realtime/websocket.js.map +1 -1
- package/realtime/websocket.mjs +153 -28
- package/realtime/websocket.mjs.map +1 -1
- package/realtime/ws.d.mts +58 -3
- package/realtime/ws.d.mts.map +1 -1
- package/realtime/ws.d.ts +58 -3
- package/realtime/ws.d.ts.map +1 -1
- package/realtime/ws.js +72 -8
- package/realtime/ws.js.map +1 -1
- package/realtime/ws.mjs +73 -9
- package/realtime/ws.mjs.map +1 -1
- package/resources/admin/admin.js +1 -1
- package/resources/admin/admin.js.map +1 -1
- package/resources/admin/admin.mjs +1 -1
- package/resources/admin/admin.mjs.map +1 -1
- package/resources/admin/index.js +1 -1
- package/resources/admin/index.js.map +1 -1
- package/resources/admin/index.mjs +1 -1
- package/resources/admin/index.mjs.map +1 -1
- package/resources/admin/organization/admin-api-keys.js +1 -1
- package/resources/admin/organization/admin-api-keys.js.map +1 -1
- package/resources/admin/organization/admin-api-keys.mjs +1 -1
- package/resources/admin/organization/admin-api-keys.mjs.map +1 -1
- package/resources/admin/organization/audit-logs.d.mts +2 -2
- package/resources/admin/organization/audit-logs.d.mts.map +1 -1
- package/resources/admin/organization/audit-logs.d.ts +2 -2
- package/resources/admin/organization/audit-logs.d.ts.map +1 -1
- package/resources/admin/organization/audit-logs.js +1 -1
- package/resources/admin/organization/audit-logs.js.map +1 -1
- package/resources/admin/organization/audit-logs.mjs +1 -1
- package/resources/admin/organization/audit-logs.mjs.map +1 -1
- package/resources/admin/organization/certificates.js +1 -1
- package/resources/admin/organization/certificates.js.map +1 -1
- package/resources/admin/organization/certificates.mjs +1 -1
- package/resources/admin/organization/certificates.mjs.map +1 -1
- package/resources/admin/organization/data-retention.js +1 -1
- package/resources/admin/organization/data-retention.js.map +1 -1
- package/resources/admin/organization/data-retention.mjs +1 -1
- package/resources/admin/organization/data-retention.mjs.map +1 -1
- package/resources/admin/organization/groups/groups.js +1 -1
- package/resources/admin/organization/groups/groups.js.map +1 -1
- package/resources/admin/organization/groups/groups.mjs +1 -1
- package/resources/admin/organization/groups/groups.mjs.map +1 -1
- package/resources/admin/organization/groups/index.js +1 -1
- package/resources/admin/organization/groups/index.js.map +1 -1
- package/resources/admin/organization/groups/index.mjs +1 -1
- package/resources/admin/organization/groups/index.mjs.map +1 -1
- package/resources/admin/organization/groups/roles.js +1 -1
- package/resources/admin/organization/groups/roles.js.map +1 -1
- package/resources/admin/organization/groups/roles.mjs +1 -1
- package/resources/admin/organization/groups/roles.mjs.map +1 -1
- package/resources/admin/organization/groups/users.js +1 -1
- package/resources/admin/organization/groups/users.js.map +1 -1
- package/resources/admin/organization/groups/users.mjs +1 -1
- package/resources/admin/organization/groups/users.mjs.map +1 -1
- package/resources/admin/organization/groups.js +1 -1
- package/resources/admin/organization/groups.js.map +1 -1
- package/resources/admin/organization/groups.mjs +1 -1
- package/resources/admin/organization/groups.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 +1 -1
- package/resources/admin/organization/index.js.map +1 -1
- package/resources/admin/organization/index.mjs +1 -1
- package/resources/admin/organization/index.mjs.map +1 -1
- package/resources/admin/organization/invites.js +1 -1
- package/resources/admin/organization/invites.js.map +1 -1
- package/resources/admin/organization/invites.mjs +1 -1
- package/resources/admin/organization/invites.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 +1 -1
- package/resources/admin/organization/organization.js.map +1 -1
- package/resources/admin/organization/organization.mjs +1 -1
- package/resources/admin/organization/organization.mjs.map +1 -1
- package/resources/admin/organization/projects/api-keys.js +1 -1
- package/resources/admin/organization/projects/api-keys.js.map +1 -1
- package/resources/admin/organization/projects/api-keys.mjs +1 -1
- package/resources/admin/organization/projects/api-keys.mjs.map +1 -1
- package/resources/admin/organization/projects/certificates.js +1 -1
- package/resources/admin/organization/projects/certificates.js.map +1 -1
- package/resources/admin/organization/projects/certificates.mjs +1 -1
- package/resources/admin/organization/projects/certificates.mjs.map +1 -1
- package/resources/admin/organization/projects/data-retention.js +1 -1
- package/resources/admin/organization/projects/data-retention.js.map +1 -1
- package/resources/admin/organization/projects/data-retention.mjs +1 -1
- package/resources/admin/organization/projects/data-retention.mjs.map +1 -1
- package/resources/admin/organization/projects/groups/groups.js +1 -1
- package/resources/admin/organization/projects/groups/groups.js.map +1 -1
- package/resources/admin/organization/projects/groups/groups.mjs +1 -1
- package/resources/admin/organization/projects/groups/groups.mjs.map +1 -1
- package/resources/admin/organization/projects/groups/index.js +1 -1
- package/resources/admin/organization/projects/groups/index.js.map +1 -1
- package/resources/admin/organization/projects/groups/index.mjs +1 -1
- package/resources/admin/organization/projects/groups/index.mjs.map +1 -1
- package/resources/admin/organization/projects/groups/roles.js +1 -1
- package/resources/admin/organization/projects/groups/roles.js.map +1 -1
- package/resources/admin/organization/projects/groups/roles.mjs +1 -1
- package/resources/admin/organization/projects/groups/roles.mjs.map +1 -1
- package/resources/admin/organization/projects/groups.js +1 -1
- package/resources/admin/organization/projects/groups.js.map +1 -1
- package/resources/admin/organization/projects/groups.mjs +1 -1
- package/resources/admin/organization/projects/groups.mjs.map +1 -1
- package/resources/admin/organization/projects/hosted-tool-permissions.js +1 -1
- package/resources/admin/organization/projects/hosted-tool-permissions.js.map +1 -1
- package/resources/admin/organization/projects/hosted-tool-permissions.mjs +1 -1
- package/resources/admin/organization/projects/hosted-tool-permissions.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 +1 -1
- package/resources/admin/organization/projects/index.js.map +1 -1
- package/resources/admin/organization/projects/index.mjs +1 -1
- package/resources/admin/organization/projects/index.mjs.map +1 -1
- package/resources/admin/organization/projects/model-permissions.js +1 -1
- package/resources/admin/organization/projects/model-permissions.js.map +1 -1
- package/resources/admin/organization/projects/model-permissions.mjs +1 -1
- package/resources/admin/organization/projects/model-permissions.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 +1 -1
- package/resources/admin/organization/projects/projects.js.map +1 -1
- package/resources/admin/organization/projects/projects.mjs +1 -1
- package/resources/admin/organization/projects/projects.mjs.map +1 -1
- package/resources/admin/organization/projects/rate-limits.js +1 -1
- package/resources/admin/organization/projects/rate-limits.js.map +1 -1
- package/resources/admin/organization/projects/rate-limits.mjs +1 -1
- package/resources/admin/organization/projects/rate-limits.mjs.map +1 -1
- package/resources/admin/organization/projects/roles.js +1 -1
- package/resources/admin/organization/projects/roles.js.map +1 -1
- package/resources/admin/organization/projects/roles.mjs +1 -1
- package/resources/admin/organization/projects/roles.mjs.map +1 -1
- package/resources/admin/organization/projects/service-accounts/api-keys.js +1 -1
- package/resources/admin/organization/projects/service-accounts/api-keys.js.map +1 -1
- package/resources/admin/organization/projects/service-accounts/api-keys.mjs +1 -1
- package/resources/admin/organization/projects/service-accounts/api-keys.mjs.map +1 -1
- package/resources/admin/organization/projects/service-accounts/index.js +1 -1
- package/resources/admin/organization/projects/service-accounts/index.js.map +1 -1
- package/resources/admin/organization/projects/service-accounts/index.mjs +1 -1
- package/resources/admin/organization/projects/service-accounts/index.mjs.map +1 -1
- package/resources/admin/organization/projects/service-accounts/service-accounts.js +1 -1
- package/resources/admin/organization/projects/service-accounts/service-accounts.js.map +1 -1
- package/resources/admin/organization/projects/service-accounts/service-accounts.mjs +1 -1
- package/resources/admin/organization/projects/service-accounts/service-accounts.mjs.map +1 -1
- package/resources/admin/organization/projects/service-accounts.js +1 -1
- package/resources/admin/organization/projects/service-accounts.js.map +1 -1
- package/resources/admin/organization/projects/service-accounts.mjs +1 -1
- package/resources/admin/organization/projects/service-accounts.mjs.map +1 -1
- package/resources/admin/organization/projects/spend-alerts.js +1 -1
- package/resources/admin/organization/projects/spend-alerts.js.map +1 -1
- package/resources/admin/organization/projects/spend-alerts.mjs +1 -1
- package/resources/admin/organization/projects/spend-alerts.mjs.map +1 -1
- package/resources/admin/organization/projects/spend-limit.js +1 -1
- package/resources/admin/organization/projects/spend-limit.js.map +1 -1
- package/resources/admin/organization/projects/spend-limit.mjs +1 -1
- package/resources/admin/organization/projects/spend-limit.mjs.map +1 -1
- package/resources/admin/organization/projects/users/index.js +1 -1
- package/resources/admin/organization/projects/users/index.js.map +1 -1
- package/resources/admin/organization/projects/users/index.mjs +1 -1
- package/resources/admin/organization/projects/users/index.mjs.map +1 -1
- package/resources/admin/organization/projects/users/roles.js +1 -1
- package/resources/admin/organization/projects/users/roles.js.map +1 -1
- package/resources/admin/organization/projects/users/roles.mjs +1 -1
- package/resources/admin/organization/projects/users/roles.mjs.map +1 -1
- package/resources/admin/organization/projects/users/users.js +1 -1
- package/resources/admin/organization/projects/users/users.js.map +1 -1
- package/resources/admin/organization/projects/users/users.mjs +1 -1
- package/resources/admin/organization/projects/users/users.mjs.map +1 -1
- package/resources/admin/organization/projects/users.js +1 -1
- package/resources/admin/organization/projects/users.js.map +1 -1
- package/resources/admin/organization/projects/users.mjs +1 -1
- package/resources/admin/organization/projects/users.mjs.map +1 -1
- package/resources/admin/organization/projects.js +1 -1
- package/resources/admin/organization/projects.js.map +1 -1
- package/resources/admin/organization/projects.mjs +1 -1
- package/resources/admin/organization/projects.mjs.map +1 -1
- package/resources/admin/organization/roles.js +1 -1
- package/resources/admin/organization/roles.js.map +1 -1
- package/resources/admin/organization/roles.mjs +1 -1
- package/resources/admin/organization/roles.mjs.map +1 -1
- package/resources/admin/organization/spend-alerts.js +1 -1
- package/resources/admin/organization/spend-alerts.js.map +1 -1
- package/resources/admin/organization/spend-alerts.mjs +1 -1
- package/resources/admin/organization/spend-alerts.mjs.map +1 -1
- package/resources/admin/organization/spend-limit.js +1 -1
- package/resources/admin/organization/spend-limit.js.map +1 -1
- package/resources/admin/organization/spend-limit.mjs +1 -1
- package/resources/admin/organization/spend-limit.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 +1 -1
- package/resources/admin/organization/usage.js.map +1 -1
- package/resources/admin/organization/usage.mjs +1 -1
- package/resources/admin/organization/usage.mjs.map +1 -1
- package/resources/admin/organization/users/index.js +1 -1
- package/resources/admin/organization/users/index.js.map +1 -1
- package/resources/admin/organization/users/index.mjs +1 -1
- package/resources/admin/organization/users/index.mjs.map +1 -1
- package/resources/admin/organization/users/roles.js +1 -1
- package/resources/admin/organization/users/roles.js.map +1 -1
- package/resources/admin/organization/users/roles.mjs +1 -1
- package/resources/admin/organization/users/roles.mjs.map +1 -1
- package/resources/admin/organization/users/users.js +1 -1
- package/resources/admin/organization/users/users.js.map +1 -1
- package/resources/admin/organization/users/users.mjs +1 -1
- package/resources/admin/organization/users/users.mjs.map +1 -1
- package/resources/admin/organization/users.js +1 -1
- package/resources/admin/organization/users.js.map +1 -1
- package/resources/admin/organization/users.mjs +1 -1
- package/resources/admin/organization/users.mjs.map +1 -1
- package/resources/admin/organization.js +1 -1
- package/resources/admin/organization.js.map +1 -1
- package/resources/admin/organization.mjs +1 -1
- package/resources/admin/organization.mjs.map +1 -1
- package/resources/admin.js +1 -1
- package/resources/admin.js.map +1 -1
- package/resources/admin.mjs +1 -1
- package/resources/admin.mjs.map +1 -1
- package/resources/audio/audio.js +1 -1
- package/resources/audio/audio.js.map +1 -1
- package/resources/audio/audio.mjs +1 -1
- package/resources/audio/audio.mjs.map +1 -1
- package/resources/audio/index.js +1 -1
- package/resources/audio/index.js.map +1 -1
- package/resources/audio/index.mjs +1 -1
- package/resources/audio/index.mjs.map +1 -1
- package/resources/audio/speech.js +1 -1
- package/resources/audio/speech.js.map +1 -1
- package/resources/audio/speech.mjs +1 -1
- package/resources/audio/speech.mjs.map +1 -1
- package/resources/audio/transcriptions.d.mts +3 -1
- package/resources/audio/transcriptions.d.mts.map +1 -1
- package/resources/audio/transcriptions.d.ts +3 -1
- package/resources/audio/transcriptions.d.ts.map +1 -1
- package/resources/audio/transcriptions.js +1 -1
- package/resources/audio/transcriptions.js.map +1 -1
- package/resources/audio/transcriptions.mjs +1 -1
- package/resources/audio/transcriptions.mjs.map +1 -1
- package/resources/audio/translations.d.mts +3 -1
- package/resources/audio/translations.d.mts.map +1 -1
- package/resources/audio/translations.d.ts +3 -1
- package/resources/audio/translations.d.ts.map +1 -1
- package/resources/audio/translations.js +1 -1
- package/resources/audio/translations.js.map +1 -1
- package/resources/audio/translations.mjs +1 -1
- package/resources/audio/translations.mjs.map +1 -1
- package/resources/audio.js +1 -1
- package/resources/audio.js.map +1 -1
- package/resources/audio.mjs +1 -1
- package/resources/audio.mjs.map +1 -1
- package/resources/batches.js +1 -1
- package/resources/batches.js.map +1 -1
- package/resources/batches.mjs +1 -1
- package/resources/batches.mjs.map +1 -1
- package/resources/beta/assistants.js +1 -1
- package/resources/beta/assistants.js.map +1 -1
- package/resources/beta/assistants.mjs +1 -1
- package/resources/beta/assistants.mjs.map +1 -1
- package/resources/beta/beta.d.mts +2 -2
- package/resources/beta/beta.d.mts.map +1 -1
- package/resources/beta/beta.d.ts +2 -2
- package/resources/beta/beta.d.ts.map +1 -1
- package/resources/beta/beta.js +1 -1
- package/resources/beta/beta.js.map +1 -1
- package/resources/beta/beta.mjs +1 -1
- package/resources/beta/beta.mjs.map +1 -1
- package/resources/beta/chatkit/chatkit.js +1 -1
- package/resources/beta/chatkit/chatkit.js.map +1 -1
- package/resources/beta/chatkit/chatkit.mjs +1 -1
- package/resources/beta/chatkit/chatkit.mjs.map +1 -1
- package/resources/beta/chatkit/index.js +1 -1
- package/resources/beta/chatkit/index.js.map +1 -1
- package/resources/beta/chatkit/index.mjs +1 -1
- package/resources/beta/chatkit/index.mjs.map +1 -1
- package/resources/beta/chatkit/sessions.js +1 -1
- package/resources/beta/chatkit/sessions.js.map +1 -1
- package/resources/beta/chatkit/sessions.mjs +1 -1
- package/resources/beta/chatkit/sessions.mjs.map +1 -1
- package/resources/beta/chatkit/threads.js +1 -1
- package/resources/beta/chatkit/threads.js.map +1 -1
- package/resources/beta/chatkit/threads.mjs +1 -1
- package/resources/beta/chatkit/threads.mjs.map +1 -1
- package/resources/beta/chatkit.js +1 -1
- package/resources/beta/chatkit.js.map +1 -1
- package/resources/beta/chatkit.mjs +1 -1
- package/resources/beta/chatkit.mjs.map +1 -1
- package/resources/beta/index.d.mts +1 -1
- package/resources/beta/index.d.mts.map +1 -1
- package/resources/beta/index.d.ts +1 -1
- package/resources/beta/index.d.ts.map +1 -1
- package/resources/beta/index.js +1 -1
- package/resources/beta/index.js.map +1 -1
- package/resources/beta/index.mjs +1 -1
- package/resources/beta/index.mjs.map +1 -1
- package/resources/beta/realtime/index.d.mts.map +1 -1
- package/resources/beta/realtime/index.d.ts.map +1 -1
- package/resources/beta/realtime/index.js +0 -1
- package/resources/beta/realtime/index.js.map +1 -1
- package/resources/beta/realtime/index.mjs +0 -1
- package/resources/beta/realtime/index.mjs.map +1 -1
- package/resources/beta/realtime/realtime.d.mts.map +1 -1
- package/resources/beta/realtime/realtime.d.ts.map +1 -1
- package/resources/beta/realtime/realtime.js +0 -1
- package/resources/beta/realtime/realtime.js.map +1 -1
- package/resources/beta/realtime/realtime.mjs +0 -1
- package/resources/beta/realtime/realtime.mjs.map +1 -1
- package/resources/beta/realtime/sessions.d.mts.map +1 -1
- package/resources/beta/realtime/sessions.d.ts.map +1 -1
- package/resources/beta/realtime/sessions.js +0 -1
- package/resources/beta/realtime/sessions.js.map +1 -1
- package/resources/beta/realtime/sessions.mjs +0 -1
- package/resources/beta/realtime/sessions.mjs.map +1 -1
- package/resources/beta/realtime/transcription-sessions.d.mts.map +1 -1
- package/resources/beta/realtime/transcription-sessions.d.ts.map +1 -1
- package/resources/beta/realtime/transcription-sessions.js +0 -1
- package/resources/beta/realtime/transcription-sessions.js.map +1 -1
- package/resources/beta/realtime/transcription-sessions.mjs +0 -1
- package/resources/beta/realtime/transcription-sessions.mjs.map +1 -1
- package/resources/beta/realtime.d.mts.map +1 -1
- package/resources/beta/realtime.d.ts.map +1 -1
- package/resources/beta/realtime.js +0 -1
- package/resources/beta/realtime.js.map +1 -1
- package/resources/beta/realtime.mjs +0 -1
- package/resources/beta/realtime.mjs.map +1 -1
- package/resources/beta/responses/index.d.mts +1 -1
- package/resources/beta/responses/index.d.mts.map +1 -1
- package/resources/beta/responses/index.d.ts +1 -1
- package/resources/beta/responses/index.d.ts.map +1 -1
- package/resources/beta/responses/index.js +1 -1
- package/resources/beta/responses/index.js.map +1 -1
- package/resources/beta/responses/index.mjs +1 -1
- package/resources/beta/responses/index.mjs.map +1 -1
- package/resources/beta/responses/input-items.js +1 -1
- package/resources/beta/responses/input-items.js.map +1 -1
- package/resources/beta/responses/input-items.mjs +1 -1
- package/resources/beta/responses/input-items.mjs.map +1 -1
- package/resources/beta/responses/input-tokens.js +1 -1
- package/resources/beta/responses/input-tokens.js.map +1 -1
- package/resources/beta/responses/input-tokens.mjs +1 -1
- package/resources/beta/responses/input-tokens.mjs.map +1 -1
- package/resources/beta/responses/internal-base.d.mts +6 -3
- package/resources/beta/responses/internal-base.d.mts.map +1 -1
- package/resources/beta/responses/internal-base.d.ts +6 -3
- package/resources/beta/responses/internal-base.d.ts.map +1 -1
- package/resources/beta/responses/internal-base.js +5 -2
- package/resources/beta/responses/internal-base.js.map +1 -1
- package/resources/beta/responses/internal-base.mjs +5 -2
- package/resources/beta/responses/internal-base.mjs.map +1 -1
- package/resources/beta/responses/responses.d.mts +1243 -132
- package/resources/beta/responses/responses.d.mts.map +1 -1
- package/resources/beta/responses/responses.d.ts +1243 -132
- package/resources/beta/responses/responses.d.ts.map +1 -1
- package/resources/beta/responses/responses.js +1 -1
- package/resources/beta/responses/responses.js.map +1 -1
- package/resources/beta/responses/responses.mjs +1 -1
- package/resources/beta/responses/responses.mjs.map +1 -1
- package/resources/beta/responses/ws-base.js +1 -1
- package/resources/beta/responses/ws-base.js.map +1 -1
- package/resources/beta/responses/ws-base.mjs +1 -1
- package/resources/beta/responses/ws-base.mjs.map +1 -1
- package/resources/beta/responses/ws.js +1 -1
- package/resources/beta/responses/ws.js.map +1 -1
- package/resources/beta/responses/ws.mjs +1 -1
- package/resources/beta/responses/ws.mjs.map +1 -1
- package/resources/beta/responses.js +1 -1
- package/resources/beta/responses.js.map +1 -1
- package/resources/beta/responses.mjs +1 -1
- package/resources/beta/responses.mjs.map +1 -1
- package/resources/beta/threads/index.js +1 -1
- package/resources/beta/threads/index.js.map +1 -1
- package/resources/beta/threads/index.mjs +1 -1
- package/resources/beta/threads/index.mjs.map +1 -1
- package/resources/beta/threads/messages.js +1 -1
- package/resources/beta/threads/messages.js.map +1 -1
- package/resources/beta/threads/messages.mjs +1 -1
- package/resources/beta/threads/messages.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/index.js +1 -1
- package/resources/beta/threads/runs/index.js.map +1 -1
- package/resources/beta/threads/runs/index.mjs +1 -1
- package/resources/beta/threads/runs/index.mjs.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 +3 -44
- package/resources/beta/threads/runs/runs.js.map +1 -1
- package/resources/beta/threads/runs/runs.mjs +3 -44
- package/resources/beta/threads/runs/runs.mjs.map +1 -1
- package/resources/beta/threads/runs/steps.js +1 -1
- package/resources/beta/threads/runs/steps.js.map +1 -1
- package/resources/beta/threads/runs/steps.mjs +1 -1
- package/resources/beta/threads/runs/steps.mjs.map +1 -1
- package/resources/beta/threads/runs.js +1 -1
- package/resources/beta/threads/runs.js.map +1 -1
- package/resources/beta/threads/runs.mjs +1 -1
- package/resources/beta/threads/runs.mjs.map +1 -1
- package/resources/beta/threads/threads.js +1 -1
- package/resources/beta/threads/threads.js.map +1 -1
- package/resources/beta/threads/threads.mjs +1 -1
- package/resources/beta/threads/threads.mjs.map +1 -1
- package/resources/beta/threads.js +1 -1
- package/resources/beta/threads.js.map +1 -1
- package/resources/beta/threads.mjs +1 -1
- package/resources/beta/threads.mjs.map +1 -1
- package/resources/beta.js +1 -1
- package/resources/beta.js.map +1 -1
- package/resources/beta.mjs +1 -1
- package/resources/beta.mjs.map +1 -1
- package/resources/chat/chat.js +1 -1
- package/resources/chat/chat.js.map +1 -1
- package/resources/chat/chat.mjs +1 -1
- package/resources/chat/chat.mjs.map +1 -1
- package/resources/chat/completions/completions.d.mts +36 -3
- package/resources/chat/completions/completions.d.mts.map +1 -1
- package/resources/chat/completions/completions.d.ts +36 -3
- package/resources/chat/completions/completions.d.ts.map +1 -1
- package/resources/chat/completions/completions.js +2 -5
- package/resources/chat/completions/completions.js.map +1 -1
- package/resources/chat/completions/completions.mjs +2 -5
- package/resources/chat/completions/completions.mjs.map +1 -1
- package/resources/chat/completions/index.js +1 -1
- package/resources/chat/completions/index.js.map +1 -1
- package/resources/chat/completions/index.mjs +1 -1
- package/resources/chat/completions/index.mjs.map +1 -1
- package/resources/chat/completions/messages.js +1 -1
- package/resources/chat/completions/messages.js.map +1 -1
- package/resources/chat/completions/messages.mjs +1 -1
- package/resources/chat/completions/messages.mjs.map +1 -1
- package/resources/chat/completions.js +1 -1
- package/resources/chat/completions.js.map +1 -1
- package/resources/chat/completions.mjs +1 -1
- package/resources/chat/completions.mjs.map +1 -1
- package/resources/chat/index.js +1 -1
- package/resources/chat/index.js.map +1 -1
- package/resources/chat/index.mjs +1 -1
- package/resources/chat/index.mjs.map +1 -1
- package/resources/chat.js +1 -1
- package/resources/chat.js.map +1 -1
- package/resources/chat.mjs +1 -1
- package/resources/chat.mjs.map +1 -1
- package/resources/completions.d.mts +12 -0
- package/resources/completions.d.mts.map +1 -1
- package/resources/completions.d.ts +12 -0
- package/resources/completions.d.ts.map +1 -1
- package/resources/completions.js +1 -1
- package/resources/completions.js.map +1 -1
- package/resources/completions.mjs +1 -1
- package/resources/completions.mjs.map +1 -1
- package/resources/containers/containers.js +1 -1
- package/resources/containers/containers.js.map +1 -1
- package/resources/containers/containers.mjs +1 -1
- package/resources/containers/containers.mjs.map +1 -1
- package/resources/containers/files/content.js +1 -1
- package/resources/containers/files/content.js.map +1 -1
- package/resources/containers/files/content.mjs +1 -1
- package/resources/containers/files/content.mjs.map +1 -1
- package/resources/containers/files/files.js +1 -1
- package/resources/containers/files/files.js.map +1 -1
- package/resources/containers/files/files.mjs +1 -1
- package/resources/containers/files/files.mjs.map +1 -1
- package/resources/containers/files/index.js +1 -1
- package/resources/containers/files/index.js.map +1 -1
- package/resources/containers/files/index.mjs +1 -1
- package/resources/containers/files/index.mjs.map +1 -1
- package/resources/containers/files.js +1 -1
- package/resources/containers/files.js.map +1 -1
- package/resources/containers/files.mjs +1 -1
- package/resources/containers/files.mjs.map +1 -1
- package/resources/containers/index.js +1 -1
- package/resources/containers/index.js.map +1 -1
- package/resources/containers/index.mjs +1 -1
- package/resources/containers/index.mjs.map +1 -1
- package/resources/containers.js +1 -1
- package/resources/containers.js.map +1 -1
- package/resources/containers.mjs +1 -1
- package/resources/containers.mjs.map +1 -1
- package/resources/content-provenance-checks.js +1 -1
- package/resources/content-provenance-checks.js.map +1 -1
- package/resources/content-provenance-checks.mjs +1 -1
- package/resources/content-provenance-checks.mjs.map +1 -1
- package/resources/conversations/conversations.d.mts +1 -1
- package/resources/conversations/conversations.d.mts.map +1 -1
- package/resources/conversations/conversations.d.ts +1 -1
- package/resources/conversations/conversations.d.ts.map +1 -1
- package/resources/conversations/conversations.js +1 -1
- package/resources/conversations/conversations.js.map +1 -1
- package/resources/conversations/conversations.mjs +1 -1
- package/resources/conversations/conversations.mjs.map +1 -1
- package/resources/conversations/index.js +1 -1
- package/resources/conversations/index.js.map +1 -1
- package/resources/conversations/index.mjs +1 -1
- package/resources/conversations/index.mjs.map +1 -1
- package/resources/conversations/items.d.mts +1 -1
- package/resources/conversations/items.d.mts.map +1 -1
- package/resources/conversations/items.d.ts +1 -1
- package/resources/conversations/items.d.ts.map +1 -1
- package/resources/conversations/items.js +1 -1
- package/resources/conversations/items.js.map +1 -1
- package/resources/conversations/items.mjs +1 -1
- package/resources/conversations/items.mjs.map +1 -1
- package/resources/conversations.js +1 -1
- package/resources/conversations.js.map +1 -1
- package/resources/conversations.mjs +1 -1
- package/resources/conversations.mjs.map +1 -1
- package/resources/embeddings.d.mts +9 -0
- package/resources/embeddings.d.mts.map +1 -1
- package/resources/embeddings.d.ts +9 -0
- package/resources/embeddings.d.ts.map +1 -1
- package/resources/embeddings.js +3 -47
- package/resources/embeddings.js.map +1 -1
- package/resources/embeddings.mjs +3 -47
- package/resources/embeddings.mjs.map +1 -1
- package/resources/evals/evals.js +1 -1
- package/resources/evals/evals.js.map +1 -1
- package/resources/evals/evals.mjs +1 -1
- package/resources/evals/evals.mjs.map +1 -1
- package/resources/evals/index.js +1 -1
- package/resources/evals/index.js.map +1 -1
- package/resources/evals/index.mjs +1 -1
- package/resources/evals/index.mjs.map +1 -1
- package/resources/evals/runs/index.js +1 -1
- package/resources/evals/runs/index.js.map +1 -1
- package/resources/evals/runs/index.mjs +1 -1
- package/resources/evals/runs/index.mjs.map +1 -1
- package/resources/evals/runs/output-items.js +1 -1
- package/resources/evals/runs/output-items.js.map +1 -1
- package/resources/evals/runs/output-items.mjs +1 -1
- package/resources/evals/runs/output-items.mjs.map +1 -1
- package/resources/evals/runs/runs.js +1 -1
- package/resources/evals/runs/runs.js.map +1 -1
- package/resources/evals/runs/runs.mjs +1 -1
- package/resources/evals/runs/runs.mjs.map +1 -1
- package/resources/evals/runs.js +1 -1
- package/resources/evals/runs.js.map +1 -1
- package/resources/evals/runs.mjs +1 -1
- package/resources/evals/runs.mjs.map +1 -1
- package/resources/evals.js +1 -1
- package/resources/evals.js.map +1 -1
- package/resources/evals.mjs +1 -1
- package/resources/evals.mjs.map +1 -1
- package/resources/files.d.mts +1 -1
- package/resources/files.d.mts.map +1 -1
- package/resources/files.d.ts +1 -1
- package/resources/files.d.ts.map +1 -1
- package/resources/files.js +4 -17
- package/resources/files.js.map +1 -1
- package/resources/files.mjs +4 -17
- package/resources/files.mjs.map +1 -1
- package/resources/fine-tuning/alpha/alpha.js +1 -1
- package/resources/fine-tuning/alpha/alpha.js.map +1 -1
- package/resources/fine-tuning/alpha/alpha.mjs +1 -1
- package/resources/fine-tuning/alpha/alpha.mjs.map +1 -1
- package/resources/fine-tuning/alpha/graders.js +1 -1
- package/resources/fine-tuning/alpha/graders.js.map +1 -1
- package/resources/fine-tuning/alpha/graders.mjs +1 -1
- package/resources/fine-tuning/alpha/graders.mjs.map +1 -1
- package/resources/fine-tuning/alpha/index.js +1 -1
- package/resources/fine-tuning/alpha/index.js.map +1 -1
- package/resources/fine-tuning/alpha/index.mjs +1 -1
- package/resources/fine-tuning/alpha/index.mjs.map +1 -1
- package/resources/fine-tuning/alpha.js +1 -1
- package/resources/fine-tuning/alpha.js.map +1 -1
- package/resources/fine-tuning/alpha.mjs +1 -1
- package/resources/fine-tuning/alpha.mjs.map +1 -1
- package/resources/fine-tuning/checkpoints/checkpoints.js +1 -1
- package/resources/fine-tuning/checkpoints/checkpoints.js.map +1 -1
- package/resources/fine-tuning/checkpoints/checkpoints.mjs +1 -1
- package/resources/fine-tuning/checkpoints/checkpoints.mjs.map +1 -1
- package/resources/fine-tuning/checkpoints/index.js +1 -1
- package/resources/fine-tuning/checkpoints/index.js.map +1 -1
- package/resources/fine-tuning/checkpoints/index.mjs +1 -1
- package/resources/fine-tuning/checkpoints/index.mjs.map +1 -1
- package/resources/fine-tuning/checkpoints/permissions.js +1 -1
- package/resources/fine-tuning/checkpoints/permissions.js.map +1 -1
- package/resources/fine-tuning/checkpoints/permissions.mjs +1 -1
- package/resources/fine-tuning/checkpoints/permissions.mjs.map +1 -1
- package/resources/fine-tuning/checkpoints.js +1 -1
- package/resources/fine-tuning/checkpoints.js.map +1 -1
- package/resources/fine-tuning/checkpoints.mjs +1 -1
- package/resources/fine-tuning/checkpoints.mjs.map +1 -1
- package/resources/fine-tuning/fine-tuning.js +1 -1
- package/resources/fine-tuning/fine-tuning.js.map +1 -1
- package/resources/fine-tuning/fine-tuning.mjs +1 -1
- package/resources/fine-tuning/fine-tuning.mjs.map +1 -1
- package/resources/fine-tuning/index.js +1 -1
- package/resources/fine-tuning/index.js.map +1 -1
- package/resources/fine-tuning/index.mjs +1 -1
- package/resources/fine-tuning/index.mjs.map +1 -1
- package/resources/fine-tuning/jobs/checkpoints.js +1 -1
- package/resources/fine-tuning/jobs/checkpoints.js.map +1 -1
- package/resources/fine-tuning/jobs/checkpoints.mjs +1 -1
- package/resources/fine-tuning/jobs/checkpoints.mjs.map +1 -1
- package/resources/fine-tuning/jobs/index.js +1 -1
- package/resources/fine-tuning/jobs/index.js.map +1 -1
- package/resources/fine-tuning/jobs/index.mjs +1 -1
- package/resources/fine-tuning/jobs/index.mjs.map +1 -1
- package/resources/fine-tuning/jobs/jobs.js +1 -1
- package/resources/fine-tuning/jobs/jobs.js.map +1 -1
- package/resources/fine-tuning/jobs/jobs.mjs +1 -1
- package/resources/fine-tuning/jobs/jobs.mjs.map +1 -1
- package/resources/fine-tuning/jobs.js +1 -1
- package/resources/fine-tuning/jobs.js.map +1 -1
- package/resources/fine-tuning/jobs.mjs +1 -1
- package/resources/fine-tuning/jobs.mjs.map +1 -1
- package/resources/fine-tuning/methods.js +1 -1
- package/resources/fine-tuning/methods.js.map +1 -1
- package/resources/fine-tuning/methods.mjs +1 -1
- package/resources/fine-tuning/methods.mjs.map +1 -1
- package/resources/fine-tuning.js +1 -1
- package/resources/fine-tuning.js.map +1 -1
- package/resources/fine-tuning.mjs +1 -1
- package/resources/fine-tuning.mjs.map +1 -1
- package/resources/graders/grader-models.js +1 -1
- package/resources/graders/grader-models.js.map +1 -1
- package/resources/graders/grader-models.mjs +1 -1
- package/resources/graders/grader-models.mjs.map +1 -1
- package/resources/graders/graders.js +1 -1
- package/resources/graders/graders.js.map +1 -1
- package/resources/graders/graders.mjs +1 -1
- package/resources/graders/graders.mjs.map +1 -1
- package/resources/graders/index.js +1 -1
- package/resources/graders/index.js.map +1 -1
- package/resources/graders/index.mjs +1 -1
- package/resources/graders/index.mjs.map +1 -1
- package/resources/graders.js +1 -1
- package/resources/graders.js.map +1 -1
- package/resources/graders.mjs +1 -1
- package/resources/graders.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/images.js +8 -2
- package/resources/images.js.map +1 -1
- package/resources/images.mjs +8 -2
- package/resources/images.mjs.map +1 -1
- package/resources/index.js +1 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +1 -1
- package/resources/index.mjs.map +1 -1
- package/resources/models.d.mts +4 -0
- package/resources/models.d.mts.map +1 -1
- package/resources/models.d.ts +4 -0
- package/resources/models.d.ts.map +1 -1
- package/resources/models.js +1 -1
- package/resources/models.js.map +1 -1
- package/resources/models.mjs +1 -1
- package/resources/models.mjs.map +1 -1
- package/resources/moderations.js +1 -1
- package/resources/moderations.js.map +1 -1
- package/resources/moderations.mjs +1 -1
- package/resources/moderations.mjs.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 +25 -1
- package/resources/realtime/calls.js.map +1 -1
- package/resources/realtime/calls.mjs +25 -1
- package/resources/realtime/calls.mjs.map +1 -1
- package/resources/realtime/client-secrets.js +1 -1
- package/resources/realtime/client-secrets.js.map +1 -1
- package/resources/realtime/client-secrets.mjs +1 -1
- package/resources/realtime/client-secrets.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 +1 -1
- package/resources/realtime/index.js.map +1 -1
- package/resources/realtime/index.mjs +2 -2
- 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 +1 -1
- package/resources/realtime/realtime.js.map +1 -1
- package/resources/realtime/realtime.mjs +1 -1
- package/resources/realtime/realtime.mjs.map +1 -1
- package/resources/realtime.js +1 -1
- package/resources/realtime.js.map +1 -1
- package/resources/realtime.mjs +1 -1
- package/resources/realtime.mjs.map +1 -1
- package/resources/responses/index.js +1 -1
- package/resources/responses/index.js.map +1 -1
- package/resources/responses/index.mjs +1 -1
- package/resources/responses/index.mjs.map +1 -1
- package/resources/responses/input-items.js +1 -1
- package/resources/responses/input-items.js.map +1 -1
- package/resources/responses/input-items.mjs +1 -1
- package/resources/responses/input-items.mjs.map +1 -1
- package/resources/responses/input-tokens.js +1 -1
- package/resources/responses/input-tokens.js.map +1 -1
- package/resources/responses/input-tokens.mjs +1 -1
- package/resources/responses/input-tokens.mjs.map +1 -1
- package/resources/responses/internal-base.d.mts +6 -3
- package/resources/responses/internal-base.d.mts.map +1 -1
- package/resources/responses/internal-base.d.ts +6 -3
- package/resources/responses/internal-base.d.ts.map +1 -1
- package/resources/responses/internal-base.js +5 -2
- package/resources/responses/internal-base.js.map +1 -1
- package/resources/responses/internal-base.mjs +5 -2
- package/resources/responses/internal-base.mjs.map +1 -1
- package/resources/responses/responses.d.mts +1059 -32
- package/resources/responses/responses.d.mts.map +1 -1
- package/resources/responses/responses.d.ts +1059 -32
- package/resources/responses/responses.d.ts.map +1 -1
- package/resources/responses/responses.js +1 -1
- package/resources/responses/responses.js.map +1 -1
- package/resources/responses/responses.mjs +1 -1
- package/resources/responses/responses.mjs.map +1 -1
- package/resources/responses/ws-base.js +1 -1
- package/resources/responses/ws-base.js.map +1 -1
- package/resources/responses/ws-base.mjs +1 -1
- package/resources/responses/ws-base.mjs.map +1 -1
- package/resources/responses/ws.js +1 -1
- package/resources/responses/ws.js.map +1 -1
- package/resources/responses/ws.mjs +1 -1
- package/resources/responses/ws.mjs.map +1 -1
- package/resources/responses.js +1 -1
- package/resources/responses.js.map +1 -1
- package/resources/responses.mjs +1 -1
- package/resources/responses.mjs.map +1 -1
- package/resources/shared.d.mts +3 -3
- package/resources/shared.d.mts.map +1 -1
- package/resources/shared.d.ts +3 -3
- package/resources/shared.d.ts.map +1 -1
- package/resources/shared.js +1 -1
- package/resources/shared.js.map +1 -1
- package/resources/shared.mjs +1 -1
- package/resources/shared.mjs.map +1 -1
- package/resources/skills/content.js +1 -1
- package/resources/skills/content.js.map +1 -1
- package/resources/skills/content.mjs +1 -1
- package/resources/skills/content.mjs.map +1 -1
- package/resources/skills/index.js +1 -1
- package/resources/skills/index.js.map +1 -1
- package/resources/skills/index.mjs +1 -1
- package/resources/skills/index.mjs.map +1 -1
- package/resources/skills/skills.d.mts.map +1 -1
- package/resources/skills/skills.d.ts.map +1 -1
- package/resources/skills/skills.js +4 -2
- package/resources/skills/skills.js.map +1 -1
- package/resources/skills/skills.mjs +4 -2
- package/resources/skills/skills.mjs.map +1 -1
- package/resources/skills/versions/content.js +1 -1
- package/resources/skills/versions/content.js.map +1 -1
- package/resources/skills/versions/content.mjs +1 -1
- package/resources/skills/versions/content.mjs.map +1 -1
- package/resources/skills/versions/index.js +1 -1
- package/resources/skills/versions/index.js.map +1 -1
- package/resources/skills/versions/index.mjs +1 -1
- package/resources/skills/versions/index.mjs.map +1 -1
- package/resources/skills/versions/versions.d.mts.map +1 -1
- package/resources/skills/versions/versions.d.ts.map +1 -1
- package/resources/skills/versions/versions.js +4 -2
- package/resources/skills/versions/versions.js.map +1 -1
- package/resources/skills/versions/versions.mjs +4 -2
- package/resources/skills/versions/versions.mjs.map +1 -1
- package/resources/skills/versions.js +1 -1
- package/resources/skills/versions.js.map +1 -1
- package/resources/skills/versions.mjs +1 -1
- package/resources/skills/versions.mjs.map +1 -1
- package/resources/skills.js +1 -1
- package/resources/skills.js.map +1 -1
- package/resources/skills.mjs +1 -1
- package/resources/skills.mjs.map +1 -1
- package/resources/uploads/index.js +1 -1
- package/resources/uploads/index.js.map +1 -1
- package/resources/uploads/index.mjs +1 -1
- package/resources/uploads/index.mjs.map +1 -1
- package/resources/uploads/parts.js +1 -1
- package/resources/uploads/parts.js.map +1 -1
- package/resources/uploads/parts.mjs +1 -1
- package/resources/uploads/parts.mjs.map +1 -1
- package/resources/uploads/uploads.js +1 -1
- package/resources/uploads/uploads.js.map +1 -1
- package/resources/uploads/uploads.mjs +1 -1
- package/resources/uploads/uploads.mjs.map +1 -1
- package/resources/uploads.js +1 -1
- package/resources/uploads.js.map +1 -1
- package/resources/uploads.mjs +1 -1
- package/resources/uploads.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 +6 -63
- package/resources/vector-stores/file-batches.js.map +1 -1
- package/resources/vector-stores/file-batches.mjs +6 -63
- 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 +3 -36
- package/resources/vector-stores/files.js.map +1 -1
- package/resources/vector-stores/files.mjs +3 -36
- package/resources/vector-stores/files.mjs.map +1 -1
- package/resources/vector-stores/index.js +1 -1
- package/resources/vector-stores/index.js.map +1 -1
- package/resources/vector-stores/index.mjs +1 -1
- package/resources/vector-stores/index.mjs.map +1 -1
- package/resources/vector-stores/vector-stores.js +1 -1
- package/resources/vector-stores/vector-stores.js.map +1 -1
- package/resources/vector-stores/vector-stores.mjs +1 -1
- package/resources/vector-stores/vector-stores.mjs.map +1 -1
- package/resources/vector-stores.js +1 -1
- package/resources/vector-stores.js.map +1 -1
- package/resources/vector-stores.mjs +1 -1
- package/resources/vector-stores.mjs.map +1 -1
- package/resources/videos.d.mts +23 -0
- package/resources/videos.d.mts.map +1 -1
- package/resources/videos.d.ts +23 -0
- package/resources/videos.d.ts.map +1 -1
- package/resources/videos.js +24 -1
- package/resources/videos.js.map +1 -1
- package/resources/videos.mjs +24 -1
- package/resources/videos.mjs.map +1 -1
- package/resources/webhooks/index.js +1 -1
- package/resources/webhooks/index.js.map +1 -1
- package/resources/webhooks/index.mjs +1 -1
- package/resources/webhooks/index.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 +6 -43
- package/resources/webhooks/webhooks.js.map +1 -1
- package/resources/webhooks/webhooks.mjs +6 -43
- package/resources/webhooks/webhooks.mjs.map +1 -1
- package/resources/webhooks.js +1 -1
- package/resources/webhooks.js.map +1 -1
- package/resources/webhooks.mjs +1 -1
- package/resources/webhooks.mjs.map +1 -1
- package/src/_vendor/partial-json-parser/parser.ts +63 -33
- package/src/_vendor/zod-to-json-schema/Options.ts +30 -18
- package/src/_vendor/zod-to-json-schema/Refs.ts +7 -6
- package/src/_vendor/zod-to-json-schema/errorMessages.ts +5 -3
- package/src/_vendor/zod-to-json-schema/index.ts +3 -1
- package/src/_vendor/zod-to-json-schema/parseDef.ts +150 -64
- package/src/_vendor/zod-to-json-schema/parsers/array.ts +8 -5
- package/src/_vendor/zod-to-json-schema/parsers/bigint.ts +18 -12
- package/src/_vendor/zod-to-json-schema/parsers/branded.ts +2 -2
- package/src/_vendor/zod-to-json-schema/parsers/catch.ts +4 -5
- package/src/_vendor/zod-to-json-schema/parsers/date.ts +16 -10
- package/src/_vendor/zod-to-json-schema/parsers/default.ts +4 -3
- package/src/_vendor/zod-to-json-schema/parsers/effects.ts +4 -3
- package/src/_vendor/zod-to-json-schema/parsers/enum.ts +1 -1
- package/src/_vendor/zod-to-json-schema/parsers/intersection.ts +12 -9
- package/src/_vendor/zod-to-json-schema/parsers/literal.ts +11 -2
- package/src/_vendor/zod-to-json-schema/parsers/map.ts +6 -4
- package/src/_vendor/zod-to-json-schema/parsers/nativeEnum.ts +10 -11
- package/src/_vendor/zod-to-json-schema/parsers/null.ts +3 -3
- package/src/_vendor/zod-to-json-schema/parsers/nullable.ts +8 -5
- package/src/_vendor/zod-to-json-schema/parsers/number.ts +15 -8
- package/src/_vendor/zod-to-json-schema/parsers/object.ts +57 -54
- package/src/_vendor/zod-to-json-schema/parsers/optional.ts +6 -5
- package/src/_vendor/zod-to-json-schema/parsers/pipeline.ts +5 -4
- package/src/_vendor/zod-to-json-schema/parsers/promise.ts +4 -3
- package/src/_vendor/zod-to-json-schema/parsers/readonly.ts +4 -5
- package/src/_vendor/zod-to-json-schema/parsers/record.ts +20 -19
- package/src/_vendor/zod-to-json-schema/parsers/set.ts +6 -4
- package/src/_vendor/zod-to-json-schema/parsers/string.ts +60 -36
- package/src/_vendor/zod-to-json-schema/parsers/tuple.ts +18 -18
- package/src/_vendor/zod-to-json-schema/parsers/union.ts +48 -33
- package/src/_vendor/zod-to-json-schema/util.ts +10 -6
- package/src/_vendor/zod-to-json-schema/zodToJsonSchema.ts +119 -45
- package/src/auth/index.ts +6 -1
- package/src/auth/subject-token-providers.ts +267 -12
- package/src/auth/types.ts +42 -5
- package/src/auth/workload-identity-auth.ts +164 -22
- package/src/auth/x509-transport.ts +49 -0
- package/src/azure.ts +81 -26
- package/src/bedrock.ts +93 -9
- package/src/beta/realtime/internal-base.ts +94 -15
- package/src/beta/realtime/websocket.ts +237 -44
- package/src/beta/realtime/ws.ts +124 -23
- package/src/client.ts +760 -104
- package/src/core/EventEmitter.ts +136 -24
- package/src/core/api-promise.ts +0 -2
- package/src/core/error.ts +6 -8
- package/src/core/pagination.ts +3 -5
- package/src/core/resource.ts +0 -2
- package/src/core/streaming.ts +216 -83
- package/src/helpers/audio.ts +177 -31
- package/src/helpers/standard-schema.ts +294 -57
- package/src/helpers/zod-v3-strict-schema.ts +514 -0
- package/src/helpers/zod.ts +151 -41
- package/src/index.ts +2 -4
- package/src/internal/assistant-stream-delta.ts +434 -0
- 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 +410 -18
- package/src/internal/builtin-types.ts +0 -2
- package/src/internal/data-residency.ts +44 -0
- package/src/internal/decoders/line.ts +144 -61
- package/src/internal/detect-platform.ts +1 -3
- package/src/internal/errors.ts +0 -2
- package/src/internal/headers.ts +0 -2
- package/src/internal/multipart-encoding.ts +53 -0
- package/src/internal/parse.ts +31 -8
- package/src/internal/provider.ts +29 -0
- package/src/internal/qs/formats.ts +1 -1
- package/src/internal/qs/stringify.ts +54 -53
- package/src/internal/qs/types.ts +1 -1
- package/src/internal/qs/utils.ts +432 -54
- package/src/internal/request-options.ts +52 -3
- package/src/internal/responses/canonical-output-text.ts +160 -0
- package/src/internal/responses/output-text-index.ts +84 -0
- package/src/internal/responses/response-accumulator.ts +1232 -0
- package/src/internal/shim-types.ts +3 -4
- package/src/internal/shims.ts +0 -2
- package/src/internal/stream-utils.ts +37 -5
- package/src/internal/to-file.ts +87 -33
- package/src/internal/types.ts +21 -29
- package/src/internal/uploads.ts +323 -86
- package/src/internal/utils/base64.ts +0 -2
- package/src/internal/utils/bytes.ts +5 -0
- package/src/internal/utils/env.ts +9 -7
- package/src/internal/utils/log.ts +8 -12
- package/src/internal/utils/path.ts +51 -32
- package/src/internal/utils/query.ts +0 -2
- package/src/internal/utils/sleep.ts +0 -2
- package/src/internal/utils/uuid.ts +0 -2
- package/src/internal/utils/values.ts +0 -2
- package/src/internal/utils.ts +0 -2
- package/src/internal/ws-adapter-browser.ts +81 -24
- package/src/internal/ws-adapter-node.ts +105 -26
- package/src/internal/ws-adapter.ts +23 -0
- package/src/internal/ws.ts +153 -50
- package/src/lib/.keep +2 -2
- package/src/lib/AbstractChatCompletionRunner.ts +140 -62
- package/src/lib/AssistantStream.ts +498 -239
- package/src/lib/ChatCompletionRunner.ts +24 -16
- package/src/lib/ChatCompletionStream.ts +1783 -249
- package/src/lib/ChatCompletionStreamingRunner.ts +54 -94
- package/src/lib/EventEmitter.ts +127 -27
- package/src/lib/EventStream.ts +1704 -62
- package/src/lib/ResponsesParser.ts +95 -40
- package/src/lib/RunnableFunction.ts +62 -32
- package/src/lib/Util.ts +7 -5
- package/src/lib/assistant-run-polling.ts +27 -0
- package/src/lib/chatCompletionUtils.ts +9 -10
- package/src/lib/embeddings.ts +65 -0
- package/src/lib/file-processing.ts +36 -0
- package/src/lib/jsonschema.ts +74 -34
- package/src/lib/parser.ts +197 -61
- package/src/lib/polling.ts +144 -0
- package/src/lib/responses/EventTypes.ts +16 -1
- package/src/lib/responses/ResponseAccumulator.ts +8 -402
- package/src/lib/responses/ResponseInputItems.ts +1 -0
- package/src/lib/responses/ResponseStream.ts +105 -91
- package/src/lib/transform.ts +160 -108
- 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/providers/bedrock/aws.ts +114 -41
- package/src/providers/bedrock.ts +22 -4
- package/src/realtime/internal-base.ts +206 -41
- package/src/realtime/websocket.ts +226 -41
- package/src/realtime/ws.ts +112 -18
- package/src/resources/admin/admin.ts +1 -1
- package/src/resources/admin/index.ts +1 -1
- package/src/resources/admin/organization/admin-api-keys.ts +1 -1
- package/src/resources/admin/organization/audit-logs.ts +5 -1
- package/src/resources/admin/organization/certificates.ts +1 -1
- package/src/resources/admin/organization/data-retention.ts +1 -1
- package/src/resources/admin/organization/groups/groups.ts +1 -1
- package/src/resources/admin/organization/groups/index.ts +1 -1
- package/src/resources/admin/organization/groups/roles.ts +1 -1
- package/src/resources/admin/organization/groups/users.ts +1 -1
- package/src/resources/admin/organization/groups.ts +1 -1
- package/src/resources/admin/organization/index.ts +3 -1
- package/src/resources/admin/organization/invites.ts +1 -1
- package/src/resources/admin/organization/organization.ts +5 -1
- package/src/resources/admin/organization/projects/api-keys.ts +1 -1
- package/src/resources/admin/organization/projects/certificates.ts +1 -1
- package/src/resources/admin/organization/projects/data-retention.ts +1 -1
- package/src/resources/admin/organization/projects/groups/groups.ts +1 -1
- package/src/resources/admin/organization/projects/groups/index.ts +1 -1
- package/src/resources/admin/organization/projects/groups/roles.ts +1 -1
- package/src/resources/admin/organization/projects/groups.ts +1 -1
- package/src/resources/admin/organization/projects/hosted-tool-permissions.ts +1 -1
- package/src/resources/admin/organization/projects/index.ts +2 -1
- package/src/resources/admin/organization/projects/model-permissions.ts +1 -1
- package/src/resources/admin/organization/projects/projects.ts +38 -5
- package/src/resources/admin/organization/projects/rate-limits.ts +1 -1
- package/src/resources/admin/organization/projects/roles.ts +1 -1
- package/src/resources/admin/organization/projects/service-accounts/api-keys.ts +1 -1
- package/src/resources/admin/organization/projects/service-accounts/index.ts +1 -1
- package/src/resources/admin/organization/projects/service-accounts/service-accounts.ts +1 -1
- package/src/resources/admin/organization/projects/service-accounts.ts +1 -1
- package/src/resources/admin/organization/projects/spend-alerts.ts +1 -1
- package/src/resources/admin/organization/projects/spend-limit.ts +1 -1
- package/src/resources/admin/organization/projects/users/index.ts +1 -1
- package/src/resources/admin/organization/projects/users/roles.ts +1 -1
- package/src/resources/admin/organization/projects/users/users.ts +1 -1
- package/src/resources/admin/organization/projects/users.ts +1 -1
- package/src/resources/admin/organization/projects.ts +1 -1
- package/src/resources/admin/organization/roles.ts +1 -1
- package/src/resources/admin/organization/spend-alerts.ts +1 -1
- package/src/resources/admin/organization/spend-limit.ts +1 -1
- package/src/resources/admin/organization/usage.ts +84 -1
- package/src/resources/admin/organization/users/index.ts +1 -1
- package/src/resources/admin/organization/users/roles.ts +1 -1
- package/src/resources/admin/organization/users/users.ts +1 -1
- package/src/resources/admin/organization/users.ts +1 -1
- package/src/resources/admin/organization.ts +1 -1
- package/src/resources/admin.ts +1 -1
- package/src/resources/audio/audio.ts +1 -1
- package/src/resources/audio/index.ts +1 -1
- package/src/resources/audio/speech.ts +1 -1
- package/src/resources/audio/transcriptions.ts +4 -2
- package/src/resources/audio/translations.ts +4 -2
- package/src/resources/audio.ts +1 -1
- package/src/resources/batches.ts +1 -1
- package/src/resources/beta/assistants.ts +1 -1
- package/src/resources/beta/beta.ts +17 -1
- package/src/resources/beta/chatkit/chatkit.ts +1 -1
- package/src/resources/beta/chatkit/index.ts +1 -1
- package/src/resources/beta/chatkit/sessions.ts +1 -1
- package/src/resources/beta/chatkit/threads.ts +1 -1
- package/src/resources/beta/chatkit.ts +1 -1
- package/src/resources/beta/index.ts +9 -1
- package/src/resources/beta/realtime/index.ts +0 -2
- package/src/resources/beta/realtime/realtime.ts +0 -2
- package/src/resources/beta/realtime/sessions.ts +0 -2
- package/src/resources/beta/realtime/transcription-sessions.ts +0 -2
- package/src/resources/beta/realtime.ts +0 -2
- package/src/resources/beta/responses/index.ts +9 -1
- package/src/resources/beta/responses/input-items.ts +1 -1
- package/src/resources/beta/responses/input-tokens.ts +1 -1
- package/src/resources/beta/responses/internal-base.ts +11 -10
- package/src/resources/beta/responses/responses.ts +2276 -956
- package/src/resources/beta/responses/ws-base.ts +1 -1
- package/src/resources/beta/responses/ws.ts +1 -1
- package/src/resources/beta/responses.ts +1 -1
- package/src/resources/beta/threads/index.ts +1 -1
- package/src/resources/beta/threads/messages.ts +1 -1
- package/src/resources/beta/threads/runs/index.ts +2 -2
- package/src/resources/beta/threads/runs/runs.ts +3 -46
- package/src/resources/beta/threads/runs/steps.ts +1 -1
- package/src/resources/beta/threads/runs.ts +1 -1
- package/src/resources/beta/threads/threads.ts +1 -1
- package/src/resources/beta/threads.ts +1 -1
- package/src/resources/beta.ts +1 -1
- package/src/resources/chat/chat.ts +1 -1
- package/src/resources/chat/completions/completions.ts +46 -8
- package/src/resources/chat/completions/index.ts +1 -1
- package/src/resources/chat/completions/messages.ts +1 -1
- package/src/resources/chat/completions.ts +1 -1
- package/src/resources/chat/index.ts +1 -1
- package/src/resources/chat.ts +1 -1
- package/src/resources/completions.ts +16 -1
- package/src/resources/containers/containers.ts +1 -1
- package/src/resources/containers/files/content.ts +1 -1
- package/src/resources/containers/files/files.ts +1 -1
- package/src/resources/containers/files/index.ts +1 -1
- package/src/resources/containers/files.ts +1 -1
- package/src/resources/containers/index.ts +1 -1
- package/src/resources/containers.ts +1 -1
- package/src/resources/content-provenance-checks.ts +1 -1
- package/src/resources/conversations/conversations.ts +2 -2
- package/src/resources/conversations/index.ts +1 -1
- package/src/resources/conversations/items.ts +2 -2
- package/src/resources/conversations.ts +1 -1
- package/src/resources/embeddings.ts +16 -43
- package/src/resources/evals/evals.ts +1 -1
- package/src/resources/evals/index.ts +1 -1
- package/src/resources/evals/runs/index.ts +1 -1
- package/src/resources/evals/runs/output-items.ts +1 -1
- package/src/resources/evals/runs/runs.ts +1 -1
- package/src/resources/evals/runs.ts +1 -1
- package/src/resources/evals.ts +1 -1
- package/src/resources/files.ts +4 -21
- package/src/resources/fine-tuning/alpha/alpha.ts +1 -1
- package/src/resources/fine-tuning/alpha/graders.ts +1 -1
- package/src/resources/fine-tuning/alpha/index.ts +1 -1
- package/src/resources/fine-tuning/alpha.ts +1 -1
- package/src/resources/fine-tuning/checkpoints/checkpoints.ts +1 -1
- package/src/resources/fine-tuning/checkpoints/index.ts +1 -1
- package/src/resources/fine-tuning/checkpoints/permissions.ts +1 -1
- package/src/resources/fine-tuning/checkpoints.ts +1 -1
- package/src/resources/fine-tuning/fine-tuning.ts +1 -1
- package/src/resources/fine-tuning/index.ts +1 -1
- package/src/resources/fine-tuning/jobs/checkpoints.ts +1 -1
- package/src/resources/fine-tuning/jobs/index.ts +1 -1
- package/src/resources/fine-tuning/jobs/jobs.ts +1 -1
- package/src/resources/fine-tuning/jobs.ts +1 -1
- package/src/resources/fine-tuning/methods.ts +1 -1
- package/src/resources/fine-tuning.ts +1 -1
- package/src/resources/graders/grader-models.ts +1 -1
- package/src/resources/graders/graders.ts +1 -1
- package/src/resources/graders/index.ts +1 -1
- package/src/resources/graders.ts +1 -1
- package/src/resources/images.ts +20 -24
- package/src/resources/index.ts +1 -1
- package/src/resources/models.ts +6 -1
- package/src/resources/moderations.ts +1 -1
- package/src/resources/realtime/api.md +1 -0
- package/src/resources/realtime/calls.ts +47 -1
- package/src/resources/realtime/client-secrets.ts +1 -1
- package/src/resources/realtime/index.ts +8 -2
- package/src/resources/realtime/realtime.ts +6 -4
- package/src/resources/realtime.ts +1 -1
- package/src/resources/responses/api.md +8 -0
- package/src/resources/responses/index.ts +1 -1
- package/src/resources/responses/input-items.ts +1 -1
- package/src/resources/responses/input-tokens.ts +1 -1
- package/src/resources/responses/internal-base.ts +11 -10
- package/src/resources/responses/responses.ts +1530 -332
- package/src/resources/responses/ws-base.ts +1 -1
- package/src/resources/responses/ws.ts +1 -1
- package/src/resources/responses.ts +1 -1
- package/src/resources/shared.ts +14 -3
- package/src/resources/skills/content.ts +1 -1
- package/src/resources/skills/index.ts +1 -1
- package/src/resources/skills/skills.ts +4 -2
- package/src/resources/skills/versions/content.ts +1 -1
- package/src/resources/skills/versions/index.ts +1 -1
- package/src/resources/skills/versions/versions.ts +4 -2
- package/src/resources/skills/versions.ts +1 -1
- package/src/resources/skills.ts +1 -1
- package/src/resources/uploads/index.ts +1 -1
- package/src/resources/uploads/parts.ts +1 -1
- package/src/resources/uploads/uploads.ts +1 -1
- package/src/resources/uploads.ts +1 -1
- package/src/resources/vector-stores/file-batches.ts +13 -78
- package/src/resources/vector-stores/files.ts +4 -44
- package/src/resources/vector-stores/index.ts +1 -1
- package/src/resources/vector-stores/vector-stores.ts +1 -1
- package/src/resources/vector-stores.ts +1 -1
- package/src/resources/videos.ts +24 -1
- package/src/resources/webhooks/index.ts +1 -1
- package/src/resources/webhooks/webhooks.ts +6 -65
- package/src/resources/webhooks.ts +1 -1
- package/src/tsconfig.dist-src.d.ts +29 -0
- package/src/tsconfig.json +6 -3
- package/src/version.ts +2 -1
- package/version.d.mts +2 -1
- package/version.d.mts.map +1 -1
- package/version.d.ts +2 -1
- package/version.d.ts.map +1 -1
- package/version.js +2 -1
- package/version.js.map +1 -1
- package/version.mjs +2 -1
- package/version.mjs.map +1 -1
|
@@ -1,14 +1,28 @@
|
|
|
1
|
-
var _ChatCompletionStream_instances, _ChatCompletionStream_params, _ChatCompletionStream_audioDoneChoiceIndexes, _ChatCompletionStream_choiceEventStates, _ChatCompletionStream_currentChatCompletionSnapshot, _ChatCompletionStream_beginRequest, _ChatCompletionStream_getChoiceEventState, _ChatCompletionStream_addChunk, _ChatCompletionStream_emitToolCallDoneEvent, _ChatCompletionStream_emitContentDoneEvents,
|
|
1
|
+
var _ChatCompletionStream_instances, _ChatCompletionStream_params, _ChatCompletionStream_audioDoneChoiceIndexes, _ChatCompletionStream_choiceEventStates, _ChatCompletionStream_currentChatCompletionSnapshot, _ChatCompletionStream_hasAutoParseableTool, _ChatCompletionStream_partialJSONParseBudget, _ChatCompletionStream_beginRequest, _ChatCompletionStream_getChoiceEventState, _ChatCompletionStream_addChunk, _ChatCompletionStream_emitToolCallDoneEvent, _ChatCompletionStream_emitContentDoneEvents, _ChatCompletionStream_validateStructuredSnapshots, _ChatCompletionStream_endRequest, _ChatCompletionStream_accumulateChatCompletion;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "../internal/tslib.mjs";
|
|
3
|
-
import { partialParse } from "../_vendor/partial-json-parser/parser.mjs";
|
|
3
|
+
import { MalformedJSON, partialParse } from "../_vendor/partial-json-parser/parser.mjs";
|
|
4
4
|
import { APIUserAbortError, ContentFilterFinishReasonError, LengthFinishReasonError, OpenAIError, } from "../error.mjs";
|
|
5
|
+
import { observeJSONRequestBody } from "../internal/request-options.mjs";
|
|
5
6
|
import { uuid4 } from "../internal/utils/uuid.mjs";
|
|
6
|
-
import {
|
|
7
|
+
import { hasOwn } from "../internal/utils/values.mjs";
|
|
8
|
+
import { hasAutoParseableInput, isAutoParsableTool, isChatCompletionFunctionTool, isParseableResponseFormat, maybeParseChatCompletion, parseResponseFormatContent, shouldParseToolCall, } from "../lib/parser.mjs";
|
|
7
9
|
import { Stream } from "../streaming.mjs";
|
|
8
|
-
import { AbstractChatCompletionRunner
|
|
10
|
+
import { AbstractChatCompletionRunner } from "./AbstractChatCompletionRunner.mjs";
|
|
11
|
+
function parseStructuredStreamingJSON(content) {
|
|
12
|
+
try {
|
|
13
|
+
return partialParse(content);
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
if (error instanceof MalformedJSON || error instanceof SyntaxError) {
|
|
17
|
+
return parseResponseFormatContent({ type: 'json_schema', $parseRaw: undefined }, content);
|
|
18
|
+
}
|
|
19
|
+
throw error;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
9
22
|
// Keep message records readable as empty chunks by older SDKs. Their finalizer
|
|
10
23
|
// overwrites `object`, so the encoded payload does not leak into completions.
|
|
11
24
|
const CHAT_COMPLETION_READABLE_STREAM_MESSAGE_PREFIX = 'chat.completion.chunk.message:';
|
|
25
|
+
/** Encodes a tool-result message as a backwards-compatible, empty completion chunk. */
|
|
12
26
|
export function makeChatCompletionReadableStreamMessageChunk(chunk, message, toolCallIds) {
|
|
13
27
|
const payload = {
|
|
14
28
|
type: 'message',
|
|
@@ -35,7 +49,719 @@ function getChatCompletionReadableStreamMessage(item) {
|
|
|
35
49
|
}
|
|
36
50
|
return JSON.parse(item.object.slice(CHAT_COMPLETION_READABLE_STREAM_MESSAGE_PREFIX.length));
|
|
37
51
|
}
|
|
52
|
+
// The Chat Completions schema limits n to 128. Replayed streams do not retain
|
|
53
|
+
// request parameters, so apply that choice limit independently and use the same
|
|
54
|
+
// conservative ceiling to prevent sparse tool-call arrays from growing unbounded.
|
|
55
|
+
const MAX_STREAM_CHOICES = 128;
|
|
56
|
+
const MAX_STREAM_TOOL_CALLS = 128;
|
|
57
|
+
const MAX_PARTIAL_JSON_BYTES = 16 * 1024 * 1024;
|
|
58
|
+
const MAX_PARTIAL_JSON_FRAGMENTS = 65536;
|
|
59
|
+
const MAX_PARTIAL_JSON_DEPTH = 128;
|
|
60
|
+
const MAX_PARTIAL_JSON_PARSE_WORK = 64 * 1024 * 1024;
|
|
61
|
+
const EAGER_PARTIAL_JSON_BYTES = 1024;
|
|
62
|
+
function createPartialJSONParseState() {
|
|
63
|
+
return {
|
|
64
|
+
bytes: 0,
|
|
65
|
+
depth: 0,
|
|
66
|
+
fragments: 0,
|
|
67
|
+
work: 0,
|
|
68
|
+
escaped: false,
|
|
69
|
+
has_non_whitespace: false,
|
|
70
|
+
in_string: false,
|
|
71
|
+
last_parsed_bytes: 0,
|
|
72
|
+
pending_high_surrogate: false,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function recordPartialJSONFragment(state, budget, fragment, validationWorkBudget) {
|
|
76
|
+
if (budget.fragments >= MAX_PARTIAL_JSON_FRAGMENTS) {
|
|
77
|
+
throw new OpenAIError('Chat completion stream exceeded its structured JSON fragment limit');
|
|
78
|
+
}
|
|
79
|
+
let bytes = 0;
|
|
80
|
+
let { depth, escaped, has_non_whitespace: hasNonWhitespace, in_string: inString } = state;
|
|
81
|
+
let completed = false;
|
|
82
|
+
let firstCharacter = true;
|
|
83
|
+
for (const character of fragment) {
|
|
84
|
+
const previousBytes = bytes;
|
|
85
|
+
const codePoint = character.codePointAt(0);
|
|
86
|
+
if (firstCharacter && state.pending_high_surrogate && codePoint >= 56320 && codePoint <= 57343) {
|
|
87
|
+
bytes += 1;
|
|
88
|
+
}
|
|
89
|
+
else if (codePoint <= 0x7f) {
|
|
90
|
+
bytes += 1;
|
|
91
|
+
}
|
|
92
|
+
else if (codePoint <= 2047) {
|
|
93
|
+
bytes += 2;
|
|
94
|
+
}
|
|
95
|
+
else if (codePoint <= 65535) {
|
|
96
|
+
bytes += 3;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
bytes += 4;
|
|
100
|
+
}
|
|
101
|
+
firstCharacter = false;
|
|
102
|
+
if (budget.bytes + bytes > MAX_PARTIAL_JSON_BYTES) {
|
|
103
|
+
throw new OpenAIError('Chat completion stream exceeded its structured JSON byte limit');
|
|
104
|
+
}
|
|
105
|
+
if (validationWorkBudget && validationWorkBudget.work + bytes > MAX_PARTIAL_JSON_PARSE_WORK) {
|
|
106
|
+
validationWorkBudget.work += previousBytes;
|
|
107
|
+
throw new OpenAIError('Chat completion stream exceeded its structured JSON parse-work limit');
|
|
108
|
+
}
|
|
109
|
+
if (character !== ' ' && character !== '\n' && character !== '\r' && character !== '\t') {
|
|
110
|
+
hasNonWhitespace = true;
|
|
111
|
+
}
|
|
112
|
+
if (inString) {
|
|
113
|
+
if (escaped) {
|
|
114
|
+
escaped = false;
|
|
115
|
+
}
|
|
116
|
+
else if (character === '\\') {
|
|
117
|
+
escaped = true;
|
|
118
|
+
}
|
|
119
|
+
else if (character === '"') {
|
|
120
|
+
inString = false;
|
|
121
|
+
completed || (completed = depth === 0);
|
|
122
|
+
}
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
if (character === '"') {
|
|
126
|
+
inString = true;
|
|
127
|
+
}
|
|
128
|
+
else if (character === '{' || character === '[') {
|
|
129
|
+
depth += 1;
|
|
130
|
+
if (depth > MAX_PARTIAL_JSON_DEPTH) {
|
|
131
|
+
throw new OpenAIError('Chat completion stream exceeded its structured JSON nesting depth limit');
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else if ((character === '}' || character === ']') && depth > 0) {
|
|
135
|
+
depth -= 1;
|
|
136
|
+
completed || (completed = depth === 0);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
state.bytes += bytes;
|
|
140
|
+
state.fragments += 1;
|
|
141
|
+
state.depth = depth;
|
|
142
|
+
state.escaped = escaped;
|
|
143
|
+
state.has_non_whitespace = hasNonWhitespace;
|
|
144
|
+
state.in_string = inString;
|
|
145
|
+
if (fragment.length > 0) {
|
|
146
|
+
const finalCodeUnit = fragment.codePointAt(fragment.length - 1) ?? 0;
|
|
147
|
+
state.pending_high_surrogate = finalCodeUnit >= 55296 && finalCodeUnit <= 56319;
|
|
148
|
+
}
|
|
149
|
+
budget.bytes += bytes;
|
|
150
|
+
budget.fragments += 1;
|
|
151
|
+
if (validationWorkBudget) {
|
|
152
|
+
validationWorkBudget.work += bytes;
|
|
153
|
+
}
|
|
154
|
+
if (!hasNonWhitespace || bytes === 0) {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
const minimumGrowth = Math.max(EAGER_PARTIAL_JSON_BYTES, Math.floor(state.last_parsed_bytes / 2));
|
|
158
|
+
if (state.bytes > EAGER_PARTIAL_JSON_BYTES &&
|
|
159
|
+
!completed &&
|
|
160
|
+
state.bytes - state.last_parsed_bytes < minimumGrowth) {
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
return true;
|
|
164
|
+
}
|
|
165
|
+
function reservePartialJSONParse(state, budget) {
|
|
166
|
+
if (budget.work + state.bytes > MAX_PARTIAL_JSON_PARSE_WORK) {
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
budget.work += state.bytes;
|
|
170
|
+
state.work += state.bytes;
|
|
171
|
+
state.last_parsed_bytes = state.bytes;
|
|
172
|
+
return true;
|
|
173
|
+
}
|
|
174
|
+
function captureStructuredJSONSnapshot(snapshot, property) {
|
|
175
|
+
const descriptor = Object.getOwnPropertyDescriptor(snapshot, property);
|
|
176
|
+
if (!descriptor) {
|
|
177
|
+
let prototype = Object.getPrototypeOf(snapshot);
|
|
178
|
+
for (let depth = 0; prototype !== null; depth += 1) {
|
|
179
|
+
if (depth >= MAX_PARTIAL_JSON_DEPTH || Object.getOwnPropertyDescriptor(prototype, property)) {
|
|
180
|
+
throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
181
|
+
}
|
|
182
|
+
prototype = Object.getPrototypeOf(prototype);
|
|
183
|
+
}
|
|
184
|
+
return undefined;
|
|
185
|
+
}
|
|
186
|
+
if (!('value' in descriptor) ||
|
|
187
|
+
(typeof descriptor.value !== 'string' && descriptor.value !== null && descriptor.value !== undefined)) {
|
|
188
|
+
throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
189
|
+
}
|
|
190
|
+
return descriptor.value;
|
|
191
|
+
}
|
|
192
|
+
function captureStructuredMessageSnapshot(choice) {
|
|
193
|
+
const descriptor = Object.getOwnPropertyDescriptor(choice, 'message');
|
|
194
|
+
if (!descriptor ||
|
|
195
|
+
!('value' in descriptor) ||
|
|
196
|
+
typeof descriptor.value !== 'object' ||
|
|
197
|
+
descriptor.value === null) {
|
|
198
|
+
throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
199
|
+
}
|
|
200
|
+
return descriptor.value;
|
|
201
|
+
}
|
|
202
|
+
function captureSnapshotArray(snapshot, property, maximum, kind) {
|
|
203
|
+
const descriptor = Object.getOwnPropertyDescriptor(snapshot, property);
|
|
204
|
+
if (!descriptor) {
|
|
205
|
+
let prototype = Object.getPrototypeOf(snapshot);
|
|
206
|
+
for (let depth = 0; prototype !== null; depth += 1) {
|
|
207
|
+
if (depth >= MAX_PARTIAL_JSON_DEPTH || Object.getOwnPropertyDescriptor(prototype, property)) {
|
|
208
|
+
throw new OpenAIError(`Chat completion stream contains an unsafe snapshot ${kind} collection`);
|
|
209
|
+
}
|
|
210
|
+
prototype = Object.getPrototypeOf(prototype);
|
|
211
|
+
}
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
214
|
+
if (!('value' in descriptor) || !Array.isArray(descriptor.value)) {
|
|
215
|
+
throw new OpenAIError(`Chat completion stream contains an unsafe snapshot ${kind} collection`);
|
|
216
|
+
}
|
|
217
|
+
const length = Object.getOwnPropertyDescriptor(descriptor.value, 'length');
|
|
218
|
+
if (!length || !('value' in length) || !Number.isSafeInteger(length.value) || length.value > maximum) {
|
|
219
|
+
throw new OpenAIError(`Chat completion stream exceeded its snapshot ${kind} limit`);
|
|
220
|
+
}
|
|
221
|
+
return descriptor.value;
|
|
222
|
+
}
|
|
223
|
+
function captureSnapshotArrayItem(array, index) {
|
|
224
|
+
const descriptor = Object.getOwnPropertyDescriptor(array, index);
|
|
225
|
+
if (!descriptor) {
|
|
226
|
+
return undefined;
|
|
227
|
+
}
|
|
228
|
+
if (!('value' in descriptor)) {
|
|
229
|
+
throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
230
|
+
}
|
|
231
|
+
return descriptor.value;
|
|
232
|
+
}
|
|
233
|
+
function mapCapturedSnapshotArray(array, maximum, kind, map) {
|
|
234
|
+
const descriptor = Object.getOwnPropertyDescriptor(array, 'length');
|
|
235
|
+
const length = descriptor && 'value' in descriptor ? descriptor.value : undefined;
|
|
236
|
+
if (typeof length !== 'number' || !Number.isSafeInteger(length) || length < 0 || length > maximum) {
|
|
237
|
+
throw new OpenAIError(`Chat completion stream exceeded its snapshot ${kind} limit`);
|
|
238
|
+
}
|
|
239
|
+
const mapped = [];
|
|
240
|
+
mapped.length = length;
|
|
241
|
+
for (let index = 0; index < length; index += 1) {
|
|
242
|
+
const item = Object.getOwnPropertyDescriptor(array, index);
|
|
243
|
+
if (!item) {
|
|
244
|
+
continue;
|
|
245
|
+
}
|
|
246
|
+
if (!('value' in item)) {
|
|
247
|
+
throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
248
|
+
}
|
|
249
|
+
mapped[index] = map(item.value, index);
|
|
250
|
+
}
|
|
251
|
+
return mapped;
|
|
252
|
+
}
|
|
253
|
+
function validateStructuredJSONSnapshot(value, budget, validationWorkBudget) {
|
|
254
|
+
const state = createPartialJSONParseState();
|
|
255
|
+
const parseBudget = budget ?? { bytes: 0, fragments: 0, work: 0 };
|
|
256
|
+
recordPartialJSONFragment(state, parseBudget, value, validationWorkBudget);
|
|
257
|
+
if (!reservePartialJSONParse(state, parseBudget)) {
|
|
258
|
+
throw new OpenAIError('Chat completion stream exceeded its structured JSON parse-work limit');
|
|
259
|
+
}
|
|
260
|
+
return value;
|
|
261
|
+
}
|
|
262
|
+
function ownFunctionToolIdentity(toolCall) {
|
|
263
|
+
const type = Object.getOwnPropertyDescriptor(toolCall, 'type');
|
|
264
|
+
const fn = Object.getOwnPropertyDescriptor(toolCall, 'function');
|
|
265
|
+
if (!type || !('value' in type) || type.value !== 'function' || !fn || !('value' in fn)) {
|
|
266
|
+
return undefined;
|
|
267
|
+
}
|
|
268
|
+
if (typeof fn.value !== 'object' || fn.value === null) {
|
|
269
|
+
return undefined;
|
|
270
|
+
}
|
|
271
|
+
const name = Object.getOwnPropertyDescriptor(fn.value, 'name');
|
|
272
|
+
if (!name || !('value' in name) || typeof name.value !== 'string' || name.value.length === 0) {
|
|
273
|
+
return undefined;
|
|
274
|
+
}
|
|
275
|
+
return { type: 'function', name: name.value };
|
|
276
|
+
}
|
|
277
|
+
function assertBoundToolCallIdentity(toolCall, identity) {
|
|
278
|
+
const current = ownFunctionToolIdentity(toolCall);
|
|
279
|
+
if (!current || current.name !== identity.name || current.type !== identity.type) {
|
|
280
|
+
throw new OpenAIError('Chat completion stream contains a changed tool call identity');
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
function assignOwnProperties(target, source) {
|
|
284
|
+
if (Object.prototype.propertyIsEnumerable.call(source, '__proto__') && !hasOwn(target, '__proto__')) {
|
|
285
|
+
Object.defineProperty(target, '__proto__', {
|
|
286
|
+
value: undefined,
|
|
287
|
+
writable: true,
|
|
288
|
+
enumerable: true,
|
|
289
|
+
configurable: true,
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
return Object.assign(target, source);
|
|
293
|
+
}
|
|
294
|
+
function cloneParserConfigObject(value, stableFields = []) {
|
|
295
|
+
const descriptors = Object.getOwnPropertyDescriptors(value);
|
|
296
|
+
for (const field of stableFields) {
|
|
297
|
+
const descriptor = descriptors[field];
|
|
298
|
+
if (!descriptor && !(field in value)) {
|
|
299
|
+
continue;
|
|
300
|
+
}
|
|
301
|
+
descriptors[field] = {
|
|
302
|
+
value: descriptor && 'value' in descriptor ? descriptor.value : Reflect.get(value, field, value),
|
|
303
|
+
enumerable: descriptor?.enumerable ?? false,
|
|
304
|
+
configurable: descriptor?.configurable ?? true,
|
|
305
|
+
writable: descriptor && 'writable' in descriptor ? descriptor.writable : false,
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
return Object.create(Object.getPrototypeOf(value), descriptors);
|
|
309
|
+
}
|
|
310
|
+
function snapshotChatCompletionParserParams(params) {
|
|
311
|
+
const snapshot = cloneParserConfigObject(params);
|
|
312
|
+
if (params.tools) {
|
|
313
|
+
const stableTools = [];
|
|
314
|
+
const lengthDescriptor = Object.getOwnPropertyDescriptor(params.tools, 'length');
|
|
315
|
+
const length = lengthDescriptor && 'value' in lengthDescriptor ? lengthDescriptor.value : undefined;
|
|
316
|
+
const toolCount = typeof length === 'number' && Number.isSafeInteger(length) && length >= 0
|
|
317
|
+
? Math.min(length, MAX_STREAM_TOOL_CALLS)
|
|
318
|
+
: 0;
|
|
319
|
+
for (let index = 0; index < toolCount; index += 1) {
|
|
320
|
+
const item = Object.getOwnPropertyDescriptor(params.tools, String(index));
|
|
321
|
+
if (!item || !('value' in item)) {
|
|
322
|
+
stableTools.length = index + 1;
|
|
323
|
+
continue;
|
|
324
|
+
}
|
|
325
|
+
const tool = item.value;
|
|
326
|
+
const stableTool = cloneParserConfigObject(tool, [
|
|
327
|
+
'type',
|
|
328
|
+
'$brand',
|
|
329
|
+
'$parseRaw',
|
|
330
|
+
'$callback',
|
|
331
|
+
'function',
|
|
332
|
+
]);
|
|
333
|
+
const descriptors = Object.getOwnPropertyDescriptors(stableTool);
|
|
334
|
+
if (isChatCompletionFunctionTool(stableTool)) {
|
|
335
|
+
const descriptor = descriptors.function;
|
|
336
|
+
descriptors.function = {
|
|
337
|
+
...(descriptor && 'value' in descriptor
|
|
338
|
+
? descriptor
|
|
339
|
+
: { configurable: true, enumerable: true, writable: true }),
|
|
340
|
+
value: cloneParserConfigObject(stableTool.function, ['name', 'strict']),
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
stableTools[index] = Object.create(Object.getPrototypeOf(tool), descriptors);
|
|
344
|
+
}
|
|
345
|
+
snapshot.tools = stableTools;
|
|
346
|
+
}
|
|
347
|
+
if (params.response_format) {
|
|
348
|
+
snapshot.response_format = cloneParserConfigObject(params.response_format, [
|
|
349
|
+
'type',
|
|
350
|
+
'$brand',
|
|
351
|
+
'$parseRaw',
|
|
352
|
+
]);
|
|
353
|
+
}
|
|
354
|
+
return snapshot;
|
|
355
|
+
}
|
|
356
|
+
const MAX_SERIALIZED_PARSER_SCHEMA_NODES = 4096;
|
|
357
|
+
const stringifyParserSchemaValue = JSON.stringify;
|
|
358
|
+
const MAX_SERIALIZED_PARSER_SCHEMA_BYTES = 1024 * 1024;
|
|
359
|
+
const MAX_SERIALIZED_PARSER_SCHEMA_DEPTH = 64;
|
|
360
|
+
const OMITTED_SERIALIZED_PARSER_VALUE = Symbol('omitted serialized parser value');
|
|
361
|
+
const UNSAFE_SERIALIZED_PARSER_VALUE = Symbol('unsafe serialized parser value');
|
|
362
|
+
function canonicalSerializedParserSchema(value, budget) {
|
|
363
|
+
const ancestors = new WeakSet();
|
|
364
|
+
const charge = (bytes) => {
|
|
365
|
+
if (!Number.isSafeInteger(bytes) ||
|
|
366
|
+
bytes < 0 ||
|
|
367
|
+
budget.bytes + bytes > MAX_SERIALIZED_PARSER_SCHEMA_BYTES) {
|
|
368
|
+
return false;
|
|
369
|
+
}
|
|
370
|
+
budget.bytes += bytes;
|
|
371
|
+
return true;
|
|
372
|
+
};
|
|
373
|
+
const visit = (current, depth) => {
|
|
374
|
+
if (depth > MAX_SERIALIZED_PARSER_SCHEMA_DEPTH || budget.nodes >= MAX_SERIALIZED_PARSER_SCHEMA_NODES) {
|
|
375
|
+
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
376
|
+
}
|
|
377
|
+
budget.nodes += 1;
|
|
378
|
+
if (current === undefined || typeof current === 'function' || typeof current === 'symbol') {
|
|
379
|
+
return OMITTED_SERIALIZED_PARSER_VALUE;
|
|
380
|
+
}
|
|
381
|
+
if (typeof current === 'bigint') {
|
|
382
|
+
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
383
|
+
}
|
|
384
|
+
if (current === null || typeof current === 'boolean' || typeof current === 'number') {
|
|
385
|
+
const serialized = stringifyParserSchemaValue(current);
|
|
386
|
+
return typeof serialized === 'string' && charge(serialized.length)
|
|
387
|
+
? serialized
|
|
388
|
+
: UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
389
|
+
}
|
|
390
|
+
if (typeof current === 'string') {
|
|
391
|
+
if (!charge(current.length * 6 + 2)) {
|
|
392
|
+
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
393
|
+
}
|
|
394
|
+
return stringifyParserSchemaValue(current);
|
|
395
|
+
}
|
|
396
|
+
if (typeof current !== 'object' || ancestors.has(current)) {
|
|
397
|
+
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
398
|
+
}
|
|
399
|
+
const array = Array.isArray(current);
|
|
400
|
+
const prototype = Object.getPrototypeOf(current);
|
|
401
|
+
if ((array && prototype !== Array.prototype) ||
|
|
402
|
+
(!array && prototype !== null && prototype !== Object.prototype)) {
|
|
403
|
+
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
404
|
+
}
|
|
405
|
+
for (let owner = current; owner !== null; owner = Object.getPrototypeOf(owner)) {
|
|
406
|
+
const serializer = Object.getOwnPropertyDescriptor(owner, 'toJSON');
|
|
407
|
+
if (!serializer) {
|
|
408
|
+
continue;
|
|
409
|
+
}
|
|
410
|
+
if (!('value' in serializer) || typeof serializer.value === 'function') {
|
|
411
|
+
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
412
|
+
}
|
|
413
|
+
break;
|
|
414
|
+
}
|
|
415
|
+
ancestors.add(current);
|
|
416
|
+
try {
|
|
417
|
+
if (!charge(2)) {
|
|
418
|
+
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
419
|
+
}
|
|
420
|
+
if (array) {
|
|
421
|
+
const lengthDescriptor = Object.getOwnPropertyDescriptor(current, 'length');
|
|
422
|
+
const length = lengthDescriptor && 'value' in lengthDescriptor ? lengthDescriptor.value : undefined;
|
|
423
|
+
if (typeof length !== 'number' ||
|
|
424
|
+
!Number.isSafeInteger(length) ||
|
|
425
|
+
length < 0 ||
|
|
426
|
+
length > MAX_SERIALIZED_PARSER_SCHEMA_NODES - budget.nodes) {
|
|
427
|
+
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
428
|
+
}
|
|
429
|
+
const items = [];
|
|
430
|
+
for (let index = 0; index < length; index += 1) {
|
|
431
|
+
const key = String(index);
|
|
432
|
+
const descriptor = Object.getOwnPropertyDescriptor(current, key);
|
|
433
|
+
if (!descriptor) {
|
|
434
|
+
if (Object.getOwnPropertyDescriptor(Array.prototype, key) ||
|
|
435
|
+
Object.getOwnPropertyDescriptor(Object.prototype, key)) {
|
|
436
|
+
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
437
|
+
}
|
|
438
|
+
budget.nodes += 1;
|
|
439
|
+
if (!charge(4)) {
|
|
440
|
+
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
441
|
+
}
|
|
442
|
+
items.push('null');
|
|
443
|
+
continue;
|
|
444
|
+
}
|
|
445
|
+
if (!('value' in descriptor)) {
|
|
446
|
+
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
447
|
+
}
|
|
448
|
+
const item = visit(descriptor.value, depth + 1);
|
|
449
|
+
if (item === UNSAFE_SERIALIZED_PARSER_VALUE) {
|
|
450
|
+
return item;
|
|
451
|
+
}
|
|
452
|
+
items.push(item === OMITTED_SERIALIZED_PARSER_VALUE ? 'null' : item);
|
|
453
|
+
}
|
|
454
|
+
return `[${items.join(',')}]`;
|
|
455
|
+
}
|
|
456
|
+
const keys = Reflect.ownKeys(current);
|
|
457
|
+
if (keys.length > MAX_SERIALIZED_PARSER_SCHEMA_NODES - budget.nodes) {
|
|
458
|
+
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
459
|
+
}
|
|
460
|
+
const entries = [];
|
|
461
|
+
for (const key of keys) {
|
|
462
|
+
if (typeof key !== 'string') {
|
|
463
|
+
continue;
|
|
464
|
+
}
|
|
465
|
+
const descriptor = Object.getOwnPropertyDescriptor(current, key);
|
|
466
|
+
if (!descriptor) {
|
|
467
|
+
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
468
|
+
}
|
|
469
|
+
if (!descriptor.enumerable) {
|
|
470
|
+
continue;
|
|
471
|
+
}
|
|
472
|
+
if (!('value' in descriptor)) {
|
|
473
|
+
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
474
|
+
}
|
|
475
|
+
entries.push([key, descriptor.value]);
|
|
476
|
+
}
|
|
477
|
+
entries.sort(([left], [right]) => {
|
|
478
|
+
if (left === right) {
|
|
479
|
+
return 0;
|
|
480
|
+
}
|
|
481
|
+
return left < right ? -1 : 1;
|
|
482
|
+
});
|
|
483
|
+
const fields = [];
|
|
484
|
+
for (const [key, entry] of entries) {
|
|
485
|
+
const normalized = visit(entry, depth + 1);
|
|
486
|
+
if (normalized === UNSAFE_SERIALIZED_PARSER_VALUE) {
|
|
487
|
+
return normalized;
|
|
488
|
+
}
|
|
489
|
+
if (normalized === OMITTED_SERIALIZED_PARSER_VALUE) {
|
|
490
|
+
continue;
|
|
491
|
+
}
|
|
492
|
+
if (!charge(key.length * 6 + 3)) {
|
|
493
|
+
return UNSAFE_SERIALIZED_PARSER_VALUE;
|
|
494
|
+
}
|
|
495
|
+
fields.push(`${stringifyParserSchemaValue(key)}:${normalized}`);
|
|
496
|
+
}
|
|
497
|
+
return `{${fields.join(',')}}`;
|
|
498
|
+
}
|
|
499
|
+
finally {
|
|
500
|
+
ancestors.delete(current);
|
|
501
|
+
}
|
|
502
|
+
};
|
|
503
|
+
try {
|
|
504
|
+
const normalized = visit(value, 0);
|
|
505
|
+
return typeof normalized === 'string' ? normalized : undefined;
|
|
506
|
+
}
|
|
507
|
+
catch {
|
|
508
|
+
return undefined;
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
function rememberSerializedParserSchema(signatures, source, holder, key) {
|
|
512
|
+
const parser = Object.getOwnPropertyDescriptor(source, '$parseRaw');
|
|
513
|
+
const schema = Object.getOwnPropertyDescriptor(holder, key);
|
|
514
|
+
if (!parser ||
|
|
515
|
+
!('value' in parser) ||
|
|
516
|
+
typeof parser.value !== 'function' ||
|
|
517
|
+
!schema ||
|
|
518
|
+
!('value' in schema)) {
|
|
519
|
+
return;
|
|
520
|
+
}
|
|
521
|
+
const normalized = canonicalSerializedParserSchema(schema.value, { nodes: 0, bytes: 0 });
|
|
522
|
+
if (normalized !== undefined) {
|
|
523
|
+
signatures.set(source, normalized);
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
function hasMatchingSerializedParserSchema(signatures, source, holder, key, value) {
|
|
527
|
+
const expected = source && signatures.get(source);
|
|
528
|
+
const descriptor = Object.getOwnPropertyDescriptor(holder, key);
|
|
529
|
+
return (expected !== undefined &&
|
|
530
|
+
descriptor !== undefined &&
|
|
531
|
+
'value' in descriptor &&
|
|
532
|
+
canonicalSerializedParserSchema(value, { nodes: 0, bytes: 0 }) === expected);
|
|
533
|
+
}
|
|
534
|
+
function serializedParserDescriptor(descriptor, value) {
|
|
535
|
+
return descriptor && 'value' in descriptor
|
|
536
|
+
? { ...descriptor, value }
|
|
537
|
+
: { configurable: true, enumerable: true, writable: true, value };
|
|
538
|
+
}
|
|
539
|
+
function shadowSerializedParserMetadata(descriptors, source, fields) {
|
|
540
|
+
for (const field of fields) {
|
|
541
|
+
const descriptor = descriptors[field];
|
|
542
|
+
if (!descriptor && !(field in source)) {
|
|
543
|
+
continue;
|
|
544
|
+
}
|
|
545
|
+
descriptors[field] =
|
|
546
|
+
descriptor && 'value' in descriptor
|
|
547
|
+
? { ...descriptor, value: undefined }
|
|
548
|
+
: {
|
|
549
|
+
configurable: descriptor?.configurable ?? true,
|
|
550
|
+
enumerable: descriptor?.enumerable ?? false,
|
|
551
|
+
writable: false,
|
|
552
|
+
value: undefined,
|
|
553
|
+
};
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
function snapshotSerializedParserTool(serialized) {
|
|
557
|
+
const source = serialized.source ??
|
|
558
|
+
{
|
|
559
|
+
type: serialized.type,
|
|
560
|
+
...(serialized.type === 'function' ? { function: {} } : {}),
|
|
561
|
+
};
|
|
562
|
+
const descriptors = Object.getOwnPropertyDescriptors(source);
|
|
563
|
+
descriptors.type = serializedParserDescriptor(descriptors.type, serialized.type);
|
|
564
|
+
if (serialized.type !== 'function' || !serialized.function) {
|
|
565
|
+
if (descriptors.function) {
|
|
566
|
+
descriptors.function = serializedParserDescriptor(descriptors.function, undefined);
|
|
567
|
+
}
|
|
568
|
+
shadowSerializedParserMetadata(descriptors, source, ['$brand', '$parseRaw', '$callback']);
|
|
569
|
+
return Object.create(Object.getPrototypeOf(source), descriptors);
|
|
570
|
+
}
|
|
571
|
+
const descriptor = descriptors.function;
|
|
572
|
+
const original = descriptor && 'value' in descriptor && typeof descriptor.value === 'object' && descriptor.value !== null
|
|
573
|
+
? descriptor.value
|
|
574
|
+
: {};
|
|
575
|
+
const functionDescriptors = Object.getOwnPropertyDescriptors(original);
|
|
576
|
+
functionDescriptors['name'] = serializedParserDescriptor(functionDescriptors['name'], serialized.function.name);
|
|
577
|
+
functionDescriptors['strict'] = serializedParserDescriptor(functionDescriptors['strict'], serialized.function.strict);
|
|
578
|
+
descriptors.function = serializedParserDescriptor(descriptor, Object.create(Object.getPrototypeOf(original), functionDescriptors));
|
|
579
|
+
if (!serialized.function.schemaMatches) {
|
|
580
|
+
shadowSerializedParserMetadata(descriptors, source, ['$brand', '$parseRaw', '$callback']);
|
|
581
|
+
}
|
|
582
|
+
return Object.create(Object.getPrototypeOf(source), descriptors);
|
|
583
|
+
}
|
|
584
|
+
function snapshotSerializedResponseFormat(serialized) {
|
|
585
|
+
const source = serialized.source ?? { type: serialized.type };
|
|
586
|
+
const descriptors = Object.getOwnPropertyDescriptors(source);
|
|
587
|
+
descriptors.type = serializedParserDescriptor(descriptors.type, serialized.type);
|
|
588
|
+
if (serialized.type !== 'json_schema' || !serialized.source || !serialized.schemaMatches) {
|
|
589
|
+
shadowSerializedParserMetadata(descriptors, source, ['$brand', '$parseRaw']);
|
|
590
|
+
}
|
|
591
|
+
return Object.create(Object.getPrototypeOf(source), descriptors);
|
|
592
|
+
}
|
|
593
|
+
function ownSerializedParserObject(holder, key) {
|
|
594
|
+
const descriptor = Object.getOwnPropertyDescriptor(holder, key);
|
|
595
|
+
if (!descriptor || !('value' in descriptor)) {
|
|
596
|
+
return undefined;
|
|
597
|
+
}
|
|
598
|
+
const { value } = descriptor;
|
|
599
|
+
return typeof value === 'object' && value !== null ? value : undefined;
|
|
600
|
+
}
|
|
601
|
+
function observeSerializedChatCompletionParserParams(body, initial, update) {
|
|
602
|
+
const originalToolOwners = new WeakMap();
|
|
603
|
+
const originalSchemaSignatures = new WeakMap();
|
|
604
|
+
// At most 128 tools plus one response format each receive an independent
|
|
605
|
+
// 4,096-node/1 MiB source and wire allowance (129 MiB maximum per pass).
|
|
606
|
+
if (body.tools) {
|
|
607
|
+
for (let index = 0; index < body.tools.length && index < MAX_STREAM_TOOL_CALLS; index += 1) {
|
|
608
|
+
const owner = ownSerializedParserObject(body.tools, String(index));
|
|
609
|
+
const source = initial.tools?.[index];
|
|
610
|
+
if (owner && source) {
|
|
611
|
+
originalToolOwners.set(owner, source);
|
|
612
|
+
const originalFunction = ownSerializedParserObject(source, 'function');
|
|
613
|
+
if (originalFunction) {
|
|
614
|
+
rememberSerializedParserSchema(originalSchemaSignatures, source, originalFunction, 'parameters');
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
if (initial.response_format) {
|
|
620
|
+
rememberSerializedParserSchema(originalSchemaSignatures, initial.response_format, initial.response_format, 'json_schema');
|
|
621
|
+
}
|
|
622
|
+
let root;
|
|
623
|
+
let tools;
|
|
624
|
+
let responseFormat;
|
|
625
|
+
let responseFrame;
|
|
626
|
+
let frames = [];
|
|
627
|
+
let toolFrames = new WeakMap();
|
|
628
|
+
let actualToolOwners = new Map();
|
|
629
|
+
let functionFrames = new WeakMap();
|
|
630
|
+
return observeJSONRequestBody(body, {
|
|
631
|
+
value(holder, key, value) {
|
|
632
|
+
if (!root && key === '' && typeof value === 'object' && value !== null) {
|
|
633
|
+
root = value;
|
|
634
|
+
tools = undefined;
|
|
635
|
+
responseFormat = undefined;
|
|
636
|
+
responseFrame = undefined;
|
|
637
|
+
frames = [];
|
|
638
|
+
toolFrames = new WeakMap();
|
|
639
|
+
actualToolOwners = new Map();
|
|
640
|
+
functionFrames = new WeakMap();
|
|
641
|
+
return;
|
|
642
|
+
}
|
|
643
|
+
if (holder === root && key === 'response_format') {
|
|
644
|
+
if (typeof value === 'object' && value !== null) {
|
|
645
|
+
responseFormat = value;
|
|
646
|
+
const owner = ownSerializedParserObject(holder, key);
|
|
647
|
+
responseFrame = {
|
|
648
|
+
source: owner === body.response_format ? initial.response_format : undefined,
|
|
649
|
+
schemaMatches: false,
|
|
650
|
+
};
|
|
651
|
+
}
|
|
652
|
+
return;
|
|
653
|
+
}
|
|
654
|
+
if (holder === root && key === 'tools') {
|
|
655
|
+
if (Array.isArray(value)) {
|
|
656
|
+
tools = new Proxy(value, {
|
|
657
|
+
get(target, property) {
|
|
658
|
+
const actual = Reflect.get(target, property, target);
|
|
659
|
+
if (typeof property === 'string') {
|
|
660
|
+
const index = Number(property);
|
|
661
|
+
if (Number.isSafeInteger(index) &&
|
|
662
|
+
index >= 0 &&
|
|
663
|
+
index < MAX_STREAM_TOOL_CALLS &&
|
|
664
|
+
String(index) === property) {
|
|
665
|
+
actualToolOwners.set(index, typeof actual === 'object' && actual !== null ? actual : undefined);
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
return actual;
|
|
669
|
+
},
|
|
670
|
+
});
|
|
671
|
+
return tools;
|
|
672
|
+
}
|
|
673
|
+
return;
|
|
674
|
+
}
|
|
675
|
+
if (holder === tools) {
|
|
676
|
+
const index = Number(key);
|
|
677
|
+
if (!Number.isSafeInteger(index) ||
|
|
678
|
+
index < 0 ||
|
|
679
|
+
index >= MAX_STREAM_TOOL_CALLS ||
|
|
680
|
+
typeof value !== 'object' ||
|
|
681
|
+
value === null) {
|
|
682
|
+
return;
|
|
683
|
+
}
|
|
684
|
+
const owner = actualToolOwners.get(index);
|
|
685
|
+
const source = owner ? originalToolOwners.get(owner) : undefined;
|
|
686
|
+
const frame = { source };
|
|
687
|
+
frames[index] = frame;
|
|
688
|
+
toolFrames.set(value, frame);
|
|
689
|
+
return;
|
|
690
|
+
}
|
|
691
|
+
const tool = toolFrames.get(holder);
|
|
692
|
+
if (tool) {
|
|
693
|
+
if (key === 'type' && typeof value === 'string') {
|
|
694
|
+
tool.type = value;
|
|
695
|
+
}
|
|
696
|
+
else if (key === 'function' && typeof value === 'object' && value !== null) {
|
|
697
|
+
const fn = { source: tool.source, schemaMatches: false };
|
|
698
|
+
tool.function = fn;
|
|
699
|
+
functionFrames.set(value, fn);
|
|
700
|
+
}
|
|
701
|
+
return;
|
|
702
|
+
}
|
|
703
|
+
if (holder === responseFormat && responseFrame) {
|
|
704
|
+
if (key === 'type' && typeof value === 'string') {
|
|
705
|
+
responseFrame.type = value;
|
|
706
|
+
}
|
|
707
|
+
else if (key === 'json_schema') {
|
|
708
|
+
responseFrame.schemaMatches = hasMatchingSerializedParserSchema(originalSchemaSignatures, responseFrame.source, holder, key, value);
|
|
709
|
+
}
|
|
710
|
+
return;
|
|
711
|
+
}
|
|
712
|
+
const fn = functionFrames.get(holder);
|
|
713
|
+
if (fn) {
|
|
714
|
+
if (key === 'name' && typeof value === 'string') {
|
|
715
|
+
fn.name = value;
|
|
716
|
+
}
|
|
717
|
+
else if (key === 'strict' && typeof value === 'boolean') {
|
|
718
|
+
fn.strict = value;
|
|
719
|
+
}
|
|
720
|
+
else if (key === 'parameters') {
|
|
721
|
+
fn.schemaMatches = hasMatchingSerializedParserSchema(originalSchemaSignatures, fn.source, holder, key, value);
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
return undefined;
|
|
725
|
+
},
|
|
726
|
+
complete() {
|
|
727
|
+
if (!root) {
|
|
728
|
+
return;
|
|
729
|
+
}
|
|
730
|
+
const snapshot = cloneParserConfigObject(initial);
|
|
731
|
+
if (tools) {
|
|
732
|
+
const serializedTools = [];
|
|
733
|
+
for (let index = 0; index < frames.length; index += 1) {
|
|
734
|
+
const frame = frames[index];
|
|
735
|
+
if (frame) {
|
|
736
|
+
serializedTools[index] = snapshotSerializedParserTool(frame);
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
snapshot.tools = serializedTools;
|
|
740
|
+
}
|
|
741
|
+
else {
|
|
742
|
+
delete snapshot.tools;
|
|
743
|
+
}
|
|
744
|
+
if (responseFrame) {
|
|
745
|
+
snapshot.response_format = snapshotSerializedResponseFormat(responseFrame);
|
|
746
|
+
}
|
|
747
|
+
else {
|
|
748
|
+
delete snapshot.response_format;
|
|
749
|
+
}
|
|
750
|
+
update(snapshot);
|
|
751
|
+
root = undefined;
|
|
752
|
+
tools = undefined;
|
|
753
|
+
responseFormat = undefined;
|
|
754
|
+
responseFrame = undefined;
|
|
755
|
+
frames = [];
|
|
756
|
+
toolFrames = new WeakMap();
|
|
757
|
+
actualToolOwners = new Map();
|
|
758
|
+
functionFrames = new WeakMap();
|
|
759
|
+
},
|
|
760
|
+
});
|
|
761
|
+
}
|
|
762
|
+
/** Streams chat completion chunks while accumulating snapshots, parsed output, and events. */
|
|
38
763
|
export class ChatCompletionStream extends AbstractChatCompletionRunner {
|
|
764
|
+
/** Creates an unstarted stream, retaining request parameters for structured-output parsing. */
|
|
39
765
|
constructor(params) {
|
|
40
766
|
super();
|
|
41
767
|
_ChatCompletionStream_instances.add(this);
|
|
@@ -43,10 +769,32 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
|
|
|
43
769
|
_ChatCompletionStream_audioDoneChoiceIndexes.set(this, void 0);
|
|
44
770
|
_ChatCompletionStream_choiceEventStates.set(this, void 0);
|
|
45
771
|
_ChatCompletionStream_currentChatCompletionSnapshot.set(this, void 0);
|
|
772
|
+
_ChatCompletionStream_hasAutoParseableTool.set(this, void 0);
|
|
773
|
+
_ChatCompletionStream_partialJSONParseBudget.set(this, void 0);
|
|
46
774
|
__classPrivateFieldSet(this, _ChatCompletionStream_params, params, "f");
|
|
47
775
|
__classPrivateFieldSet(this, _ChatCompletionStream_audioDoneChoiceIndexes, new Set(), "f");
|
|
48
776
|
__classPrivateFieldSet(this, _ChatCompletionStream_choiceEventStates, [], "f");
|
|
777
|
+
__classPrivateFieldSet(this, _ChatCompletionStream_hasAutoParseableTool, false, "f");
|
|
778
|
+
const tools = params?.tools;
|
|
779
|
+
const lengthDescriptor = tools && Object.getOwnPropertyDescriptor(tools, 'length');
|
|
780
|
+
const length = lengthDescriptor && 'value' in lengthDescriptor ? lengthDescriptor.value : undefined;
|
|
781
|
+
if (tools && typeof length === 'number' && Number.isSafeInteger(length) && length >= 0) {
|
|
782
|
+
for (let index = 0; index < Math.min(length, MAX_STREAM_TOOL_CALLS); index += 1) {
|
|
783
|
+
const descriptor = Object.getOwnPropertyDescriptor(tools, String(index));
|
|
784
|
+
if (!descriptor || !('value' in descriptor)) {
|
|
785
|
+
continue;
|
|
786
|
+
}
|
|
787
|
+
const tool = descriptor.value;
|
|
788
|
+
if (isChatCompletionFunctionTool(tool) &&
|
|
789
|
+
(isAutoParsableTool(tool) || tool.function.strict === true)) {
|
|
790
|
+
__classPrivateFieldSet(this, _ChatCompletionStream_hasAutoParseableTool, true, "f");
|
|
791
|
+
break;
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
__classPrivateFieldSet(this, _ChatCompletionStream_partialJSONParseBudget, { bytes: 0, fragments: 0, work: 0 }, "f");
|
|
49
796
|
}
|
|
797
|
+
/** The latest accumulated completion, or `undefined` before a chunk arrives or after finalization. */
|
|
50
798
|
get currentChatCompletionSnapshot() {
|
|
51
799
|
return __classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f");
|
|
52
800
|
}
|
|
@@ -54,24 +802,41 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
|
|
|
54
802
|
* Intended for use on the frontend, consuming a stream produced with
|
|
55
803
|
* `.toReadableStream()` on the backend.
|
|
56
804
|
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
805
|
+
* Original input messages are not included in the serialized stream. Tool-result
|
|
806
|
+
* messages explicitly serialized by a streaming tool runner are replayed.
|
|
59
807
|
*/
|
|
60
808
|
static fromReadableStream(stream) {
|
|
61
809
|
const runner = new ChatCompletionStream(null);
|
|
62
810
|
runner._run(() => runner._fromReadableStream(stream));
|
|
63
811
|
return runner;
|
|
64
812
|
}
|
|
813
|
+
/** Starts a streaming chat completion request and returns its event-driven helper. */
|
|
65
814
|
static createChatCompletion(client, params, options) {
|
|
66
815
|
const runner = new ChatCompletionStream(params);
|
|
67
|
-
runner._run(() => runner._runChatCompletion(client, { ...params, stream: true }, { ...options,
|
|
816
|
+
runner._run(() => runner._runChatCompletion(client, { ...params, stream: true }, { ...options, __metadata: { ...options?.__metadata, helperMethod: 'stream' } }));
|
|
68
817
|
return runner;
|
|
69
818
|
}
|
|
70
819
|
async _createChatCompletion(client, params, options) {
|
|
71
|
-
super._createChatCompletion;
|
|
72
820
|
this._listenForAbort(options?.signal);
|
|
821
|
+
const requestParams = { ...params, stream: true };
|
|
822
|
+
__classPrivateFieldSet(this, _ChatCompletionStream_params, requestParams, "f");
|
|
73
823
|
__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_beginRequest).call(this);
|
|
74
|
-
const
|
|
824
|
+
const parserParams = snapshotChatCompletionParserParams(requestParams);
|
|
825
|
+
__classPrivateFieldSet(this, _ChatCompletionStream_params, parserParams, "f");
|
|
826
|
+
__classPrivateFieldSet(this, _ChatCompletionStream_hasAutoParseableTool, parserParams.tools?.some((tool) => isChatCompletionFunctionTool(tool) && (isAutoParsableTool(tool) || tool.function.strict === true)) ?? false, "f");
|
|
827
|
+
const stopObserving = requestParams.tools || requestParams.response_format
|
|
828
|
+
? observeSerializedChatCompletionParserParams(requestParams, parserParams, (serialized) => {
|
|
829
|
+
__classPrivateFieldSet(this, _ChatCompletionStream_params, serialized, "f");
|
|
830
|
+
__classPrivateFieldSet(this, _ChatCompletionStream_hasAutoParseableTool, serialized.tools?.some((tool) => isChatCompletionFunctionTool(tool) &&
|
|
831
|
+
(isAutoParsableTool(tool) || tool.function.strict === true)) ?? false, "f");
|
|
832
|
+
})
|
|
833
|
+
: undefined;
|
|
834
|
+
const stream = await client.chat.completions
|
|
835
|
+
.create(requestParams, {
|
|
836
|
+
...options,
|
|
837
|
+
signal: this.controller.signal,
|
|
838
|
+
})
|
|
839
|
+
.finally(stopObserving);
|
|
75
840
|
this._connected();
|
|
76
841
|
for await (const chunk of stream) {
|
|
77
842
|
__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_addChunk).call(this, chunk);
|
|
@@ -110,8 +875,9 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
|
|
|
110
875
|
this._addChatCompletion(__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_endRequest).call(this));
|
|
111
876
|
}
|
|
112
877
|
__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_addChunk).call(this, chunk);
|
|
113
|
-
if (chunk.id)
|
|
878
|
+
if (chunk.id) {
|
|
114
879
|
chatId = chunk.id;
|
|
880
|
+
}
|
|
115
881
|
}
|
|
116
882
|
if (stream.controller.signal?.aborted) {
|
|
117
883
|
throw new APIUserAbortError();
|
|
@@ -125,11 +891,14 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
|
|
|
125
891
|
}
|
|
126
892
|
throw new OpenAIError(`request ended without sending any chunks`);
|
|
127
893
|
}
|
|
128
|
-
|
|
129
|
-
|
|
894
|
+
/** Iterates over raw API chunks; stopping iteration early aborts the underlying request. */
|
|
895
|
+
[(_ChatCompletionStream_params = new WeakMap(), _ChatCompletionStream_audioDoneChoiceIndexes = new WeakMap(), _ChatCompletionStream_choiceEventStates = new WeakMap(), _ChatCompletionStream_currentChatCompletionSnapshot = new WeakMap(), _ChatCompletionStream_hasAutoParseableTool = new WeakMap(), _ChatCompletionStream_partialJSONParseBudget = new WeakMap(), _ChatCompletionStream_instances = new WeakSet(), _ChatCompletionStream_beginRequest = function _ChatCompletionStream_beginRequest() {
|
|
896
|
+
if (this.ended) {
|
|
130
897
|
return;
|
|
898
|
+
}
|
|
131
899
|
__classPrivateFieldSet(this, _ChatCompletionStream_audioDoneChoiceIndexes, new Set(), "f");
|
|
132
900
|
__classPrivateFieldSet(this, _ChatCompletionStream_currentChatCompletionSnapshot, undefined, "f");
|
|
901
|
+
__classPrivateFieldSet(this, _ChatCompletionStream_partialJSONParseBudget, { bytes: 0, fragments: 0, work: 0 }, "f");
|
|
133
902
|
}, _ChatCompletionStream_getChoiceEventState = function _ChatCompletionStream_getChoiceEventState(choice) {
|
|
134
903
|
let state = __classPrivateFieldGet(this, _ChatCompletionStream_choiceEventStates, "f")[choice.index];
|
|
135
904
|
if (state) {
|
|
@@ -137,47 +906,62 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
|
|
|
137
906
|
}
|
|
138
907
|
state = {
|
|
139
908
|
content_done: false,
|
|
909
|
+
content_parse_state: undefined,
|
|
140
910
|
refusal_done: false,
|
|
141
911
|
logprobs_content_done: false,
|
|
142
912
|
logprobs_refusal_done: false,
|
|
143
913
|
done_tool_calls: new Set(),
|
|
144
914
|
current_tool_call_index: null,
|
|
915
|
+
tool_call_parse_states: new Map(),
|
|
916
|
+
tool_call_identities: new Map(),
|
|
145
917
|
};
|
|
146
918
|
__classPrivateFieldGet(this, _ChatCompletionStream_choiceEventStates, "f")[choice.index] = state;
|
|
147
919
|
return state;
|
|
148
920
|
}, _ChatCompletionStream_addChunk = function _ChatCompletionStream_addChunk(chunk) {
|
|
149
|
-
if (this.ended)
|
|
921
|
+
if (this.ended) {
|
|
150
922
|
return;
|
|
151
|
-
|
|
923
|
+
}
|
|
924
|
+
const capturedChoiceFrames = new WeakMap();
|
|
925
|
+
const completion = __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_accumulateChatCompletion).call(this, chunk, capturedChoiceFrames);
|
|
152
926
|
this._emit('chunk', chunk, completion);
|
|
153
927
|
for (const choice of chunk.choices) {
|
|
154
|
-
const
|
|
928
|
+
const capturedChoice = capturedChoiceFrames.get(choice);
|
|
929
|
+
const choiceSnapshot = completion.choices[capturedChoice?.index ?? choice.index];
|
|
930
|
+
const capturedToolCalls = capturedChoice?.tool_calls ?? [];
|
|
155
931
|
const { delta } = choice;
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
932
|
+
const structuredResponse = isParseableResponseFormat(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.response_format);
|
|
933
|
+
const boundedSnapshot = structuredResponse || __classPrivateFieldGet(this, _ChatCompletionStream_hasAutoParseableTool, "f");
|
|
934
|
+
const messageSnapshot = boundedSnapshot
|
|
935
|
+
? captureStructuredMessageSnapshot(choiceSnapshot)
|
|
936
|
+
: choiceSnapshot.message;
|
|
937
|
+
const refusal = boundedSnapshot
|
|
938
|
+
? captureStructuredJSONSnapshot(messageSnapshot, 'refusal')
|
|
939
|
+
: messageSnapshot.refusal;
|
|
940
|
+
const parseableContent = !refusal && structuredResponse;
|
|
941
|
+
const messageContent = parseableContent
|
|
942
|
+
? captureStructuredJSONSnapshot(messageSnapshot, 'content')
|
|
943
|
+
: messageSnapshot.content;
|
|
944
|
+
if (delta?.content != null && messageSnapshot.role === 'assistant' && messageContent) {
|
|
945
|
+
this._emit('content', delta.content, messageContent);
|
|
160
946
|
this._emit('content.delta', {
|
|
161
947
|
delta: delta.content,
|
|
162
|
-
snapshot:
|
|
163
|
-
parsed:
|
|
948
|
+
snapshot: messageContent,
|
|
949
|
+
parsed: messageSnapshot.parsed,
|
|
164
950
|
});
|
|
165
951
|
}
|
|
166
|
-
if (delta?.refusal != null &&
|
|
167
|
-
choiceSnapshot.message?.role === 'assistant' &&
|
|
168
|
-
choiceSnapshot.message?.refusal) {
|
|
952
|
+
if (delta?.refusal != null && messageSnapshot.role === 'assistant' && refusal) {
|
|
169
953
|
this._emit('refusal.delta', {
|
|
170
954
|
delta: delta.refusal,
|
|
171
|
-
snapshot:
|
|
955
|
+
snapshot: refusal,
|
|
172
956
|
});
|
|
173
957
|
}
|
|
174
|
-
if (choice.logprobs?.content != null &&
|
|
958
|
+
if (choice.logprobs?.content != null && messageSnapshot.role === 'assistant') {
|
|
175
959
|
this._emit('logprobs.content.delta', {
|
|
176
960
|
content: choice.logprobs?.content,
|
|
177
961
|
snapshot: choiceSnapshot.logprobs?.content ?? [],
|
|
178
962
|
});
|
|
179
963
|
}
|
|
180
|
-
if (choice.logprobs?.refusal != null &&
|
|
964
|
+
if (choice.logprobs?.refusal != null && messageSnapshot.role === 'assistant') {
|
|
181
965
|
this._emit('logprobs.refusal.delta', {
|
|
182
966
|
refusal: choice.logprobs?.refusal,
|
|
183
967
|
snapshot: choiceSnapshot.logprobs?.refusal ?? [],
|
|
@@ -190,7 +974,7 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
|
|
|
190
974
|
__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_emitToolCallDoneEvent).call(this, choiceSnapshot, state.current_tool_call_index);
|
|
191
975
|
}
|
|
192
976
|
}
|
|
193
|
-
for (const toolCall of
|
|
977
|
+
for (const toolCall of capturedToolCalls) {
|
|
194
978
|
if (state.current_tool_call_index !== toolCall.index) {
|
|
195
979
|
__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_emitContentDoneEvents).call(this, choiceSnapshot);
|
|
196
980
|
// new tool call started, the previous one is done
|
|
@@ -200,22 +984,34 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
|
|
|
200
984
|
}
|
|
201
985
|
state.current_tool_call_index = toolCall.index;
|
|
202
986
|
}
|
|
203
|
-
for (const toolCallDelta of
|
|
204
|
-
const toolCallSnapshot =
|
|
987
|
+
for (const toolCallDelta of capturedToolCalls) {
|
|
988
|
+
const toolCallSnapshot = messageSnapshot.tool_calls?.[toolCallDelta.index];
|
|
205
989
|
if (!toolCallSnapshot?.type) {
|
|
206
990
|
continue;
|
|
207
991
|
}
|
|
208
|
-
if (toolCallSnapshot
|
|
992
|
+
if (toolCallSnapshot.type === 'function') {
|
|
993
|
+
const boundIdentity = state.tool_call_identities.get(toolCallDelta.index);
|
|
994
|
+
let argumentsSnapshot;
|
|
995
|
+
if (boundIdentity?.parseable) {
|
|
996
|
+
const capturedArguments = captureStructuredJSONSnapshot(toolCallSnapshot.function, 'arguments');
|
|
997
|
+
if (typeof capturedArguments !== 'string') {
|
|
998
|
+
throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
999
|
+
}
|
|
1000
|
+
argumentsSnapshot = capturedArguments;
|
|
1001
|
+
}
|
|
1002
|
+
else {
|
|
1003
|
+
argumentsSnapshot = toolCallSnapshot.function.arguments;
|
|
1004
|
+
}
|
|
209
1005
|
this._emit('tool_calls.function.arguments.delta', {
|
|
210
|
-
name: toolCallSnapshot.function
|
|
1006
|
+
name: toolCallSnapshot.function.name,
|
|
211
1007
|
index: toolCallDelta.index,
|
|
212
|
-
arguments:
|
|
1008
|
+
arguments: argumentsSnapshot,
|
|
213
1009
|
parsed_arguments: toolCallSnapshot.function.parsed_arguments,
|
|
214
|
-
arguments_delta: toolCallDelta.
|
|
1010
|
+
arguments_delta: toolCallDelta.arguments_delta,
|
|
215
1011
|
});
|
|
216
1012
|
}
|
|
217
|
-
else {
|
|
218
|
-
assertNever(toolCallSnapshot
|
|
1013
|
+
else if (toolCallSnapshot.type !== 'custom') {
|
|
1014
|
+
assertNever(toolCallSnapshot);
|
|
219
1015
|
}
|
|
220
1016
|
}
|
|
221
1017
|
}
|
|
@@ -225,40 +1021,86 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
|
|
|
225
1021
|
// we've already fired the done event
|
|
226
1022
|
return;
|
|
227
1023
|
}
|
|
228
|
-
const
|
|
1024
|
+
const messageSnapshot = __classPrivateFieldGet(this, _ChatCompletionStream_hasAutoParseableTool, "f")
|
|
1025
|
+
? captureStructuredMessageSnapshot(choiceSnapshot)
|
|
1026
|
+
: choiceSnapshot.message;
|
|
1027
|
+
const toolCallSnapshot = messageSnapshot.tool_calls?.[toolCallIndex];
|
|
229
1028
|
if (!toolCallSnapshot) {
|
|
230
1029
|
throw new Error('no tool call snapshot');
|
|
231
1030
|
}
|
|
1031
|
+
const boundIdentity = state.tool_call_identities.get(toolCallIndex);
|
|
1032
|
+
if (boundIdentity) {
|
|
1033
|
+
assertBoundToolCallIdentity(toolCallSnapshot, boundIdentity);
|
|
1034
|
+
}
|
|
232
1035
|
if (!toolCallSnapshot.type) {
|
|
233
1036
|
throw new Error('tool call snapshot missing `type`');
|
|
234
1037
|
}
|
|
235
1038
|
if (toolCallSnapshot.type === 'function') {
|
|
236
1039
|
const inputTool = __classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.tools?.find((tool) => isChatCompletionFunctionTool(tool) && tool.function.name === toolCallSnapshot.function.name); // TS doesn't narrow based on isChatCompletionTool
|
|
1040
|
+
let parsedArguments = null;
|
|
1041
|
+
const parseable = isAutoParsableTool(inputTool) || inputTool?.function.strict === true;
|
|
1042
|
+
let argumentsSnapshot;
|
|
1043
|
+
if (parseable) {
|
|
1044
|
+
if (__classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f")) {
|
|
1045
|
+
__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_validateStructuredSnapshots).call(this, __classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f"));
|
|
1046
|
+
}
|
|
1047
|
+
const capturedArguments = captureStructuredJSONSnapshot(toolCallSnapshot.function, 'arguments');
|
|
1048
|
+
if (typeof capturedArguments !== 'string') {
|
|
1049
|
+
throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
1050
|
+
}
|
|
1051
|
+
argumentsSnapshot = capturedArguments;
|
|
1052
|
+
}
|
|
1053
|
+
else {
|
|
1054
|
+
argumentsSnapshot = toolCallSnapshot.function.arguments;
|
|
1055
|
+
}
|
|
1056
|
+
if (isAutoParsableTool(inputTool)) {
|
|
1057
|
+
parsedArguments = inputTool.$parseRaw(validateStructuredJSONSnapshot(argumentsSnapshot));
|
|
1058
|
+
}
|
|
1059
|
+
else if (inputTool?.function.strict) {
|
|
1060
|
+
parsedArguments = parseResponseFormatContent({ type: 'json_schema', $parseRaw: undefined }, validateStructuredJSONSnapshot(argumentsSnapshot));
|
|
1061
|
+
}
|
|
237
1062
|
this._emit('tool_calls.function.arguments.done', {
|
|
238
1063
|
name: toolCallSnapshot.function.name,
|
|
239
1064
|
index: toolCallIndex,
|
|
240
|
-
arguments:
|
|
241
|
-
parsed_arguments:
|
|
242
|
-
: inputTool?.function.strict ? JSON.parse(toolCallSnapshot.function.arguments)
|
|
243
|
-
: null,
|
|
1065
|
+
arguments: argumentsSnapshot,
|
|
1066
|
+
parsed_arguments: parsedArguments,
|
|
244
1067
|
});
|
|
245
1068
|
}
|
|
246
|
-
else {
|
|
247
|
-
assertNever(toolCallSnapshot
|
|
1069
|
+
else if (toolCallSnapshot.type !== 'custom') {
|
|
1070
|
+
assertNever(toolCallSnapshot);
|
|
248
1071
|
}
|
|
249
1072
|
}, _ChatCompletionStream_emitContentDoneEvents = function _ChatCompletionStream_emitContentDoneEvents(choiceSnapshot) {
|
|
250
1073
|
const state = __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_getChoiceEventState).call(this, choiceSnapshot);
|
|
251
|
-
|
|
1074
|
+
const structuredResponse = isParseableResponseFormat(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.response_format);
|
|
1075
|
+
const boundedSnapshot = structuredResponse || __classPrivateFieldGet(this, _ChatCompletionStream_hasAutoParseableTool, "f");
|
|
1076
|
+
const messageSnapshot = boundedSnapshot
|
|
1077
|
+
? captureStructuredMessageSnapshot(choiceSnapshot)
|
|
1078
|
+
: choiceSnapshot.message;
|
|
1079
|
+
const refusal = boundedSnapshot
|
|
1080
|
+
? captureStructuredJSONSnapshot(messageSnapshot, 'refusal')
|
|
1081
|
+
: messageSnapshot.refusal;
|
|
1082
|
+
const parseableContent = !refusal && structuredResponse;
|
|
1083
|
+
const content = parseableContent
|
|
1084
|
+
? captureStructuredJSONSnapshot(messageSnapshot, 'content')
|
|
1085
|
+
: messageSnapshot.content;
|
|
1086
|
+
if (content != null &&
|
|
1087
|
+
(content !== '' ||
|
|
1088
|
+
(!refusal && !messageSnapshot.tool_calls?.length && !messageSnapshot.function_call)) &&
|
|
1089
|
+
!state.content_done) {
|
|
1090
|
+
if (parseableContent && __classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f")) {
|
|
1091
|
+
__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_validateStructuredSnapshots).call(this, __classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f"));
|
|
1092
|
+
}
|
|
252
1093
|
state.content_done = true;
|
|
253
|
-
const responseFormat = __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_getAutoParseableResponseFormat).call(this);
|
|
254
1094
|
this._emit('content.done', {
|
|
255
|
-
content
|
|
256
|
-
parsed:
|
|
1095
|
+
content,
|
|
1096
|
+
parsed: refusal
|
|
1097
|
+
? null
|
|
1098
|
+
: parseResponseFormatContent(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.response_format, parseableContent ? validateStructuredJSONSnapshot(content) : content),
|
|
257
1099
|
});
|
|
258
1100
|
}
|
|
259
|
-
if (
|
|
1101
|
+
if (refusal && !state.refusal_done) {
|
|
260
1102
|
state.refusal_done = true;
|
|
261
|
-
this._emit('refusal.done', { refusal
|
|
1103
|
+
this._emit('refusal.done', { refusal });
|
|
262
1104
|
}
|
|
263
1105
|
if (choiceSnapshot.logprobs?.content && !state.logprobs_content_done) {
|
|
264
1106
|
state.logprobs_content_done = true;
|
|
@@ -268,6 +1110,97 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
|
|
|
268
1110
|
state.logprobs_refusal_done = true;
|
|
269
1111
|
this._emit('logprobs.refusal.done', { refusal: choiceSnapshot.logprobs.refusal });
|
|
270
1112
|
}
|
|
1113
|
+
}, _ChatCompletionStream_validateStructuredSnapshots = function _ChatCompletionStream_validateStructuredSnapshots(snapshot) {
|
|
1114
|
+
const finalJSONBudget = { bytes: 0, fragments: 0, work: 0 };
|
|
1115
|
+
const parseableContent = isParseableResponseFormat(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.response_format);
|
|
1116
|
+
const validatedMessages = new WeakMap();
|
|
1117
|
+
const choices = captureSnapshotArray(snapshot, 'choices', MAX_STREAM_CHOICES, 'choice');
|
|
1118
|
+
if (!choices) {
|
|
1119
|
+
throw new OpenAIError('Chat completion stream contains an unsafe snapshot choice collection');
|
|
1120
|
+
}
|
|
1121
|
+
for (let choiceIndex = 0; choiceIndex < choices.length; choiceIndex += 1) {
|
|
1122
|
+
const choice = captureSnapshotArrayItem(choices, choiceIndex);
|
|
1123
|
+
if (!choice) {
|
|
1124
|
+
continue;
|
|
1125
|
+
}
|
|
1126
|
+
const message = captureStructuredMessageSnapshot(choice);
|
|
1127
|
+
const refusal = captureStructuredJSONSnapshot(message, 'refusal');
|
|
1128
|
+
const content = captureStructuredJSONSnapshot(message, 'content');
|
|
1129
|
+
const validatedTools = new Map();
|
|
1130
|
+
const toolCalls = captureSnapshotArray(message, 'tool_calls', MAX_STREAM_TOOL_CALLS, 'tool-call');
|
|
1131
|
+
validatedMessages.set(choice, Object.freeze({
|
|
1132
|
+
message,
|
|
1133
|
+
content,
|
|
1134
|
+
refusal,
|
|
1135
|
+
toolCallCollection: toolCalls,
|
|
1136
|
+
toolCalls: validatedTools,
|
|
1137
|
+
}));
|
|
1138
|
+
const state = __classPrivateFieldGet(this, _ChatCompletionStream_choiceEventStates, "f")[choice.index];
|
|
1139
|
+
if (parseableContent && !refusal && typeof content === 'string') {
|
|
1140
|
+
validateStructuredJSONSnapshot(content, finalJSONBudget, __classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f"));
|
|
1141
|
+
}
|
|
1142
|
+
for (const [index, identity] of state?.tool_call_identities ?? []) {
|
|
1143
|
+
const toolCall = toolCalls && captureSnapshotArrayItem(toolCalls, index);
|
|
1144
|
+
if (!toolCall) {
|
|
1145
|
+
throw new OpenAIError('Chat completion stream contains a changed tool call identity');
|
|
1146
|
+
}
|
|
1147
|
+
assertBoundToolCallIdentity(toolCall, identity);
|
|
1148
|
+
}
|
|
1149
|
+
if (!__classPrivateFieldGet(this, _ChatCompletionStream_hasAutoParseableTool, "f")) {
|
|
1150
|
+
continue;
|
|
1151
|
+
}
|
|
1152
|
+
for (let toolCallIndex = 0; toolCallIndex < (toolCalls?.length ?? 0); toolCallIndex += 1) {
|
|
1153
|
+
const toolCall = captureSnapshotArrayItem(toolCalls, toolCallIndex);
|
|
1154
|
+
if (!toolCall) {
|
|
1155
|
+
continue;
|
|
1156
|
+
}
|
|
1157
|
+
const identity = ownFunctionToolIdentity(toolCall);
|
|
1158
|
+
if (!identity) {
|
|
1159
|
+
const type = Object.getOwnPropertyDescriptor(toolCall, 'type');
|
|
1160
|
+
if (type && !('value' in type)) {
|
|
1161
|
+
throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
1162
|
+
}
|
|
1163
|
+
if (type?.value !== 'function') {
|
|
1164
|
+
continue;
|
|
1165
|
+
}
|
|
1166
|
+
const fn = Object.getOwnPropertyDescriptor(toolCall, 'function');
|
|
1167
|
+
if (fn && !('value' in fn)) {
|
|
1168
|
+
throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
1169
|
+
}
|
|
1170
|
+
if (fn && typeof fn.value === 'object' && fn.value !== null) {
|
|
1171
|
+
const name = Object.getOwnPropertyDescriptor(fn.value, 'name');
|
|
1172
|
+
if (name && !('value' in name)) {
|
|
1173
|
+
throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1176
|
+
continue;
|
|
1177
|
+
}
|
|
1178
|
+
if (!shouldParseToolCall(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f"), {
|
|
1179
|
+
type: identity.type,
|
|
1180
|
+
function: { name: identity.name },
|
|
1181
|
+
})) {
|
|
1182
|
+
continue;
|
|
1183
|
+
}
|
|
1184
|
+
const descriptor = Object.getOwnPropertyDescriptor(toolCall, 'function');
|
|
1185
|
+
if (!descriptor || !('value' in descriptor)) {
|
|
1186
|
+
throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
1187
|
+
}
|
|
1188
|
+
const fn = descriptor.value;
|
|
1189
|
+
const argumentsSnapshot = captureStructuredJSONSnapshot(fn, 'arguments');
|
|
1190
|
+
if (typeof argumentsSnapshot !== 'string') {
|
|
1191
|
+
throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
1192
|
+
}
|
|
1193
|
+
validateStructuredJSONSnapshot(argumentsSnapshot, finalJSONBudget, __classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f"));
|
|
1194
|
+
validatedTools.set(toolCallIndex, Object.freeze({
|
|
1195
|
+
tool: toolCall,
|
|
1196
|
+
function: fn,
|
|
1197
|
+
type: identity.type,
|
|
1198
|
+
name: identity.name,
|
|
1199
|
+
arguments: argumentsSnapshot,
|
|
1200
|
+
}));
|
|
1201
|
+
}
|
|
1202
|
+
}
|
|
1203
|
+
return validatedMessages;
|
|
271
1204
|
}, _ChatCompletionStream_endRequest = function _ChatCompletionStream_endRequest() {
|
|
272
1205
|
if (this.ended) {
|
|
273
1206
|
throw new OpenAIError(`stream has ended, this shouldn't happen`);
|
|
@@ -276,43 +1209,54 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
|
|
|
276
1209
|
if (!snapshot) {
|
|
277
1210
|
throw new OpenAIError(`request ended without sending any chunks`);
|
|
278
1211
|
}
|
|
1212
|
+
const validatedMessages = __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_validateStructuredSnapshots).call(this, snapshot);
|
|
279
1213
|
const audioDoneChoiceIndexes = __classPrivateFieldGet(this, _ChatCompletionStream_audioDoneChoiceIndexes, "f");
|
|
280
1214
|
__classPrivateFieldSet(this, _ChatCompletionStream_audioDoneChoiceIndexes, new Set(), "f");
|
|
281
1215
|
__classPrivateFieldSet(this, _ChatCompletionStream_currentChatCompletionSnapshot, undefined, "f");
|
|
282
1216
|
__classPrivateFieldSet(this, _ChatCompletionStream_choiceEventStates, [], "f");
|
|
283
|
-
return finalizeChatCompletion(snapshot, __classPrivateFieldGet(this, _ChatCompletionStream_params, "f"), audioDoneChoiceIndexes);
|
|
284
|
-
},
|
|
285
|
-
const responseFormat = __classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.response_format;
|
|
286
|
-
if (isAutoParsableResponseFormat(responseFormat)) {
|
|
287
|
-
return responseFormat;
|
|
288
|
-
}
|
|
289
|
-
return null;
|
|
290
|
-
}, _ChatCompletionStream_accumulateChatCompletion = function _ChatCompletionStream_accumulateChatCompletion(chunk) {
|
|
1217
|
+
return finalizeChatCompletion(snapshot, __classPrivateFieldGet(this, _ChatCompletionStream_params, "f"), audioDoneChoiceIndexes, validatedMessages);
|
|
1218
|
+
}, _ChatCompletionStream_accumulateChatCompletion = function _ChatCompletionStream_accumulateChatCompletion(chunk, capturedChoiceFrames) {
|
|
291
1219
|
var _a, _b, _c, _d, _e;
|
|
292
1220
|
let snapshot = __classPrivateFieldGet(this, _ChatCompletionStream_currentChatCompletionSnapshot, "f");
|
|
293
|
-
const { choices, ...rest } = chunk;
|
|
1221
|
+
const { choices, obfuscation: _obfuscation, ...rest } = chunk;
|
|
294
1222
|
if (!snapshot) {
|
|
295
|
-
|
|
1223
|
+
const newSnapshot = {
|
|
296
1224
|
...rest,
|
|
297
1225
|
choices: [],
|
|
298
|
-
}
|
|
1226
|
+
};
|
|
1227
|
+
__classPrivateFieldSet(this, _ChatCompletionStream_currentChatCompletionSnapshot, newSnapshot, "f");
|
|
1228
|
+
snapshot = newSnapshot;
|
|
299
1229
|
}
|
|
300
1230
|
else if (chunk.id) {
|
|
301
|
-
|
|
1231
|
+
assignOwnProperties(snapshot, rest);
|
|
302
1232
|
}
|
|
303
|
-
|
|
1233
|
+
const requestedChoiceCount = __classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.n;
|
|
1234
|
+
const maxChoices = typeof requestedChoiceCount === 'number' &&
|
|
1235
|
+
Number.isSafeInteger(requestedChoiceCount) &&
|
|
1236
|
+
requestedChoiceCount > 0
|
|
1237
|
+
? Math.min(requestedChoiceCount, MAX_STREAM_CHOICES)
|
|
1238
|
+
: MAX_STREAM_CHOICES;
|
|
1239
|
+
for (const chunkChoice of chunk.choices) {
|
|
1240
|
+
const { delta, finish_reason, index, logprobs = null, ...other } = chunkChoice;
|
|
1241
|
+
const capturedToolCalls = [];
|
|
1242
|
+
capturedChoiceFrames.set(chunkChoice, Object.freeze({ index, tool_calls: capturedToolCalls }));
|
|
1243
|
+
if (!Number.isSafeInteger(index) || index < 0 || index >= maxChoices) {
|
|
1244
|
+
throw new OpenAIError(`Chat completion stream contains an invalid choice index: ${index}`);
|
|
1245
|
+
}
|
|
304
1246
|
let choice = snapshot.choices[index];
|
|
305
1247
|
if (!choice) {
|
|
306
|
-
|
|
1248
|
+
const newChoice = { finish_reason, index, message: {}, logprobs: null, ...other };
|
|
1249
|
+
snapshot.choices[index] = newChoice;
|
|
1250
|
+
choice = newChoice;
|
|
1251
|
+
}
|
|
1252
|
+
if (isParseableResponseFormat(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.response_format) || __classPrivateFieldGet(this, _ChatCompletionStream_hasAutoParseableTool, "f")) {
|
|
1253
|
+
captureStructuredJSONSnapshot(captureStructuredMessageSnapshot(choice), 'refusal');
|
|
307
1254
|
}
|
|
308
1255
|
if (logprobs) {
|
|
309
|
-
if (
|
|
310
|
-
choice.logprobs = Object.assign({}, logprobs);
|
|
311
|
-
}
|
|
312
|
-
else {
|
|
1256
|
+
if (choice.logprobs) {
|
|
313
1257
|
const { content, refusal, ...rest } = logprobs;
|
|
314
1258
|
assertIsEmpty(rest);
|
|
315
|
-
|
|
1259
|
+
assignOwnProperties(choice.logprobs, rest);
|
|
316
1260
|
if (content) {
|
|
317
1261
|
(_a = choice.logprobs).content ?? (_a.content = []);
|
|
318
1262
|
choice.logprobs.content.push(...content);
|
|
@@ -322,6 +1266,15 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
|
|
|
322
1266
|
choice.logprobs.refusal.push(...refusal);
|
|
323
1267
|
}
|
|
324
1268
|
}
|
|
1269
|
+
else {
|
|
1270
|
+
choice.logprobs = { ...logprobs };
|
|
1271
|
+
if (logprobs.content) {
|
|
1272
|
+
choice.logprobs.content = [...logprobs.content];
|
|
1273
|
+
}
|
|
1274
|
+
if (logprobs.refusal) {
|
|
1275
|
+
choice.logprobs.refusal = [...logprobs.refusal];
|
|
1276
|
+
}
|
|
1277
|
+
}
|
|
325
1278
|
}
|
|
326
1279
|
if (finish_reason) {
|
|
327
1280
|
choice.finish_reason = finish_reason;
|
|
@@ -334,13 +1287,17 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
|
|
|
334
1287
|
}
|
|
335
1288
|
}
|
|
336
1289
|
}
|
|
337
|
-
|
|
338
|
-
if (!delta)
|
|
339
|
-
|
|
1290
|
+
assignOwnProperties(choice, other);
|
|
1291
|
+
if (!delta) {
|
|
1292
|
+
Object.freeze(capturedToolCalls);
|
|
1293
|
+
continue;
|
|
1294
|
+
} // Shouldn't happen; just in case.
|
|
340
1295
|
__classPrivateFieldGet(this, _ChatCompletionStream_audioDoneChoiceIndexes, "f").delete(index);
|
|
341
|
-
const { audio, content, refusal, function_call, role,
|
|
1296
|
+
const { audio, content, refusal, function_call, role, ...capturedDeltaFields } = delta;
|
|
1297
|
+
const { tool_calls: capturedToolCallDelta, ...rest } = capturedDeltaFields;
|
|
1298
|
+
const tool_calls = hasOwn(capturedDeltaFields, 'tool_calls') ? capturedToolCallDelta : delta.tool_calls;
|
|
342
1299
|
assertIsEmpty(rest);
|
|
343
|
-
|
|
1300
|
+
assignOwnProperties(choice.message, rest);
|
|
344
1301
|
if (audio?.expires_at != null &&
|
|
345
1302
|
audio.id == null &&
|
|
346
1303
|
audio.data == null &&
|
|
@@ -356,126 +1313,208 @@ export class ChatCompletionStream extends AbstractChatCompletionRunner {
|
|
|
356
1313
|
if (refusal) {
|
|
357
1314
|
choice.message.refusal = (choice.message.refusal || '') + refusal;
|
|
358
1315
|
}
|
|
359
|
-
if (role)
|
|
1316
|
+
if (role) {
|
|
360
1317
|
choice.message.role = role;
|
|
1318
|
+
}
|
|
361
1319
|
if (audio) {
|
|
362
1320
|
const audioSnapshot = ((_c = choice.message).audio ?? (_c.audio = {}));
|
|
363
|
-
if (audio.id != null)
|
|
1321
|
+
if (audio.id != null) {
|
|
364
1322
|
audioSnapshot.id = audio.id;
|
|
365
|
-
|
|
1323
|
+
}
|
|
1324
|
+
if (audio.data != null) {
|
|
366
1325
|
audioSnapshot.data = (audioSnapshot.data ?? '') + audio.data;
|
|
1326
|
+
}
|
|
367
1327
|
if (audio.transcript != null) {
|
|
368
1328
|
audioSnapshot.transcript = (audioSnapshot.transcript ?? '') + audio.transcript;
|
|
369
1329
|
}
|
|
370
|
-
if (audio.expires_at != null)
|
|
1330
|
+
if (audio.expires_at != null) {
|
|
371
1331
|
audioSnapshot.expires_at = audio.expires_at;
|
|
1332
|
+
}
|
|
372
1333
|
}
|
|
373
1334
|
if (function_call) {
|
|
374
|
-
if (
|
|
375
|
-
|
|
376
|
-
}
|
|
377
|
-
else {
|
|
378
|
-
if (function_call.name)
|
|
1335
|
+
if (choice.message.function_call) {
|
|
1336
|
+
if (function_call.name) {
|
|
379
1337
|
choice.message.function_call.name = function_call.name;
|
|
1338
|
+
}
|
|
380
1339
|
if (function_call.arguments) {
|
|
381
1340
|
(_d = choice.message.function_call).arguments ?? (_d.arguments = '');
|
|
382
1341
|
choice.message.function_call.arguments += function_call.arguments;
|
|
383
1342
|
}
|
|
384
1343
|
}
|
|
1344
|
+
else {
|
|
1345
|
+
choice.message.function_call = function_call;
|
|
1346
|
+
}
|
|
385
1347
|
}
|
|
386
|
-
if (content) {
|
|
387
|
-
choice.message.
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
1348
|
+
if (content != null) {
|
|
1349
|
+
if (!choice.message.refusal && isParseableResponseFormat(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.response_format)) {
|
|
1350
|
+
const eventState = __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_getChoiceEventState).call(this, choice);
|
|
1351
|
+
const parseState = (eventState.content_parse_state ?? (eventState.content_parse_state = createPartialJSONParseState()));
|
|
1352
|
+
const shouldParse = recordPartialJSONFragment(parseState, __classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f"), content);
|
|
1353
|
+
choice.message.content = (captureStructuredJSONSnapshot(choice.message, 'content') || '') + content;
|
|
1354
|
+
// The partial parser does not accept whitespace-only input. Once output
|
|
1355
|
+
// grows, coalesce prefix reparses while preserving every raw snapshot.
|
|
1356
|
+
if (!parseState.has_non_whitespace) {
|
|
1357
|
+
choice.message.parsed = null;
|
|
1358
|
+
}
|
|
1359
|
+
else if (shouldParse && reservePartialJSONParse(parseState, __classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f"))) {
|
|
1360
|
+
__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_validateStructuredSnapshots).call(this, snapshot);
|
|
1361
|
+
choice.message.parsed = parseStructuredStreamingJSON(validateStructuredJSONSnapshot(choice.message.content));
|
|
1362
|
+
}
|
|
1363
|
+
else if (content.length > 0) {
|
|
1364
|
+
choice.message.parsed = null;
|
|
1365
|
+
}
|
|
1366
|
+
}
|
|
1367
|
+
else {
|
|
1368
|
+
choice.message.content = (choice.message.content || '') + content;
|
|
391
1369
|
}
|
|
392
1370
|
}
|
|
393
1371
|
if (tool_calls) {
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
1372
|
+
// Tool calls are built up across chunks, so while the stream is in progress the
|
|
1373
|
+
// entries are only partially filled in; they match `ChatCompletionSnapshot.Choice.Message.ToolCall`
|
|
1374
|
+
// once every delta for them has been accumulated.
|
|
1375
|
+
const toolCallSnapshots = ((_e = choice.message).tool_calls ?? (_e.tool_calls = []));
|
|
1376
|
+
for (const toolCallDelta of tool_calls) {
|
|
1377
|
+
const { index, id, type, function: fn, custom, ...rest } = toolCallDelta;
|
|
1378
|
+
if (!Number.isSafeInteger(index) || index < 0 || index >= MAX_STREAM_TOOL_CALLS) {
|
|
1379
|
+
throw new OpenAIError(`Chat completion stream contains an invalid tool call index: ${index}`);
|
|
1380
|
+
}
|
|
1381
|
+
let argumentsDelta = '';
|
|
1382
|
+
const tool_call = (toolCallSnapshots[index] ?? (toolCallSnapshots[index] = {}));
|
|
1383
|
+
const functionName = fn?.name;
|
|
1384
|
+
const eventState = __classPrivateFieldGet(this, _ChatCompletionStream_hasAutoParseableTool, "f") ? __classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_getChoiceEventState).call(this, choice) : undefined;
|
|
1385
|
+
let boundIdentity = eventState?.tool_call_identities.get(index);
|
|
1386
|
+
if (boundIdentity) {
|
|
1387
|
+
assertBoundToolCallIdentity(tool_call, boundIdentity);
|
|
1388
|
+
if ((type !== undefined && type !== boundIdentity.type) ||
|
|
1389
|
+
(functionName !== undefined && functionName !== boundIdentity.name)) {
|
|
1390
|
+
throw new OpenAIError('Chat completion stream contains a changed tool call identity');
|
|
1391
|
+
}
|
|
1392
|
+
}
|
|
1393
|
+
assignOwnProperties(tool_call, rest);
|
|
1394
|
+
if (id) {
|
|
400
1395
|
tool_call.id = id;
|
|
401
|
-
|
|
1396
|
+
}
|
|
1397
|
+
if (type) {
|
|
402
1398
|
tool_call.type = type;
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
if (
|
|
410
|
-
|
|
1399
|
+
}
|
|
1400
|
+
if (custom) {
|
|
1401
|
+
const customSnapshot = (tool_call.custom ?? (tool_call.custom = { name: custom.name ?? '', input: '' }));
|
|
1402
|
+
if (custom.name) {
|
|
1403
|
+
customSnapshot.name = custom.name;
|
|
1404
|
+
}
|
|
1405
|
+
if (custom.input) {
|
|
1406
|
+
customSnapshot.input += custom.input;
|
|
1407
|
+
}
|
|
1408
|
+
}
|
|
1409
|
+
if (fn) {
|
|
1410
|
+
const functionSnapshot = (tool_call.function ?? (tool_call.function = { name: functionName ?? '', arguments: '' }));
|
|
1411
|
+
if (functionName) {
|
|
1412
|
+
functionSnapshot.name = functionName;
|
|
1413
|
+
}
|
|
1414
|
+
if (eventState && !boundIdentity) {
|
|
1415
|
+
const identity = ownFunctionToolIdentity(tool_call);
|
|
1416
|
+
const configuredTool = identity &&
|
|
1417
|
+
__classPrivateFieldGet(this, _ChatCompletionStream_params, "f")?.tools?.find((tool) => isChatCompletionFunctionTool(tool) && tool.function.name === identity.name);
|
|
1418
|
+
if (identity) {
|
|
1419
|
+
boundIdentity = {
|
|
1420
|
+
...identity,
|
|
1421
|
+
parseable: configuredTool !== undefined &&
|
|
1422
|
+
shouldParseToolCall(__classPrivateFieldGet(this, _ChatCompletionStream_params, "f"), {
|
|
1423
|
+
type: identity.type,
|
|
1424
|
+
function: { name: identity.name },
|
|
1425
|
+
}),
|
|
1426
|
+
};
|
|
1427
|
+
eventState.tool_call_identities.set(index, boundIdentity);
|
|
1428
|
+
if (!boundIdentity.parseable) {
|
|
1429
|
+
const provisionalState = eventState.tool_call_parse_states.get(index);
|
|
1430
|
+
if (provisionalState) {
|
|
1431
|
+
__classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f").bytes -= provisionalState.bytes;
|
|
1432
|
+
__classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f").fragments -= provisionalState.fragments;
|
|
1433
|
+
__classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f").work -= provisionalState.work;
|
|
1434
|
+
eventState.tool_call_parse_states.delete(index);
|
|
1435
|
+
}
|
|
1436
|
+
}
|
|
1437
|
+
}
|
|
1438
|
+
}
|
|
1439
|
+
const argumentFragment = fn.arguments;
|
|
1440
|
+
if (argumentFragment != null) {
|
|
1441
|
+
argumentsDelta = argumentFragment;
|
|
1442
|
+
if (eventState && boundIdentity?.parseable !== false) {
|
|
1443
|
+
let parseState = eventState.tool_call_parse_states.get(index);
|
|
1444
|
+
if (!parseState) {
|
|
1445
|
+
parseState = createPartialJSONParseState();
|
|
1446
|
+
eventState.tool_call_parse_states.set(index, parseState);
|
|
1447
|
+
}
|
|
1448
|
+
const shouldParse = recordPartialJSONFragment(parseState, __classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f"), argumentFragment);
|
|
1449
|
+
const previousArguments = captureStructuredJSONSnapshot(functionSnapshot, 'arguments');
|
|
1450
|
+
if (typeof previousArguments !== 'string') {
|
|
1451
|
+
throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
1452
|
+
}
|
|
1453
|
+
functionSnapshot.arguments = previousArguments + argumentFragment;
|
|
1454
|
+
if (shouldParse &&
|
|
1455
|
+
boundIdentity?.parseable === true &&
|
|
1456
|
+
reservePartialJSONParse(parseState, __classPrivateFieldGet(this, _ChatCompletionStream_partialJSONParseBudget, "f"))) {
|
|
1457
|
+
__classPrivateFieldGet(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_validateStructuredSnapshots).call(this, snapshot);
|
|
1458
|
+
functionSnapshot.parsed_arguments = parseStructuredStreamingJSON(validateStructuredJSONSnapshot(functionSnapshot.arguments));
|
|
1459
|
+
}
|
|
1460
|
+
else if (argumentFragment.length > 0 && hasOwn(functionSnapshot, 'parsed_arguments')) {
|
|
1461
|
+
functionSnapshot.parsed_arguments = undefined;
|
|
1462
|
+
}
|
|
1463
|
+
}
|
|
1464
|
+
else {
|
|
1465
|
+
functionSnapshot.arguments += argumentFragment;
|
|
1466
|
+
}
|
|
411
1467
|
}
|
|
412
1468
|
}
|
|
1469
|
+
capturedToolCalls.push(Object.freeze({ index, arguments_delta: argumentsDelta }));
|
|
413
1470
|
}
|
|
414
1471
|
}
|
|
1472
|
+
Object.freeze(capturedToolCalls);
|
|
415
1473
|
}
|
|
416
1474
|
return snapshot;
|
|
417
1475
|
}, Symbol.asyncIterator)]() {
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
if (reader) {
|
|
424
|
-
reader.resolve(chunk);
|
|
425
|
-
}
|
|
426
|
-
else {
|
|
427
|
-
pushQueue.push(chunk);
|
|
428
|
-
}
|
|
429
|
-
});
|
|
430
|
-
this.on('end', () => {
|
|
431
|
-
done = true;
|
|
432
|
-
for (const reader of readQueue) {
|
|
433
|
-
reader.resolve(undefined);
|
|
434
|
-
}
|
|
435
|
-
readQueue.length = 0;
|
|
436
|
-
});
|
|
437
|
-
this.on('abort', (err) => {
|
|
438
|
-
done = true;
|
|
439
|
-
for (const reader of readQueue) {
|
|
440
|
-
reader.reject(err);
|
|
441
|
-
}
|
|
442
|
-
readQueue.length = 0;
|
|
443
|
-
});
|
|
444
|
-
this.on('error', (err) => {
|
|
445
|
-
done = true;
|
|
446
|
-
for (const reader of readQueue) {
|
|
447
|
-
reader.reject(err);
|
|
448
|
-
}
|
|
449
|
-
readQueue.length = 0;
|
|
450
|
-
});
|
|
451
|
-
return {
|
|
452
|
-
next: async () => {
|
|
453
|
-
if (!pushQueue.length) {
|
|
454
|
-
if (done) {
|
|
455
|
-
return { value: undefined, done: true };
|
|
456
|
-
}
|
|
457
|
-
return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk) => (chunk ? { value: chunk, done: false } : { value: undefined, done: true }));
|
|
458
|
-
}
|
|
459
|
-
const chunk = pushQueue.shift();
|
|
460
|
-
return { value: chunk, done: false };
|
|
461
|
-
},
|
|
462
|
-
return: async () => {
|
|
463
|
-
this.abort();
|
|
464
|
-
return { value: undefined, done: true };
|
|
465
|
-
},
|
|
466
|
-
};
|
|
1476
|
+
return this._createIterator((push) => {
|
|
1477
|
+
const onChunk = (chunk) => push(chunk);
|
|
1478
|
+
this.on('chunk', onChunk);
|
|
1479
|
+
return () => this.off('chunk', onChunk);
|
|
1480
|
+
}, { onReturn: () => this.abort() });
|
|
467
1481
|
}
|
|
1482
|
+
/** Serializes raw completion chunks into a readable stream for transfer to another runtime. */
|
|
468
1483
|
toReadableStream() {
|
|
469
1484
|
const stream = new Stream(this[Symbol.asyncIterator].bind(this), this.controller);
|
|
470
1485
|
return stream.toReadableStream();
|
|
471
1486
|
}
|
|
472
1487
|
}
|
|
473
|
-
function finalizeChatCompletion(snapshot, params, audioDoneChoiceIndexes) {
|
|
1488
|
+
function finalizeChatCompletion(snapshot, params, audioDoneChoiceIndexes, validatedMessages) {
|
|
474
1489
|
const { id, choices, created, model, system_fingerprint, ...rest } = snapshot;
|
|
475
1490
|
const completion = {
|
|
476
1491
|
...rest,
|
|
477
1492
|
id,
|
|
478
|
-
choices: choices
|
|
1493
|
+
choices: mapCapturedSnapshotArray(choices, MAX_STREAM_CHOICES, 'choice', (choice) => {
|
|
1494
|
+
const validated = validatedMessages.get(choice);
|
|
1495
|
+
if (!validated) {
|
|
1496
|
+
throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
1497
|
+
}
|
|
1498
|
+
const stableChoice = new Proxy(choice, {
|
|
1499
|
+
get(target, property, receiver) {
|
|
1500
|
+
return property === 'message' ? validated.message : Reflect.get(target, property, receiver);
|
|
1501
|
+
},
|
|
1502
|
+
});
|
|
1503
|
+
const { message: sourceMessage, finish_reason, index, logprobs, ...choiceRest } = stableChoice;
|
|
1504
|
+
const message = new Proxy(sourceMessage, {
|
|
1505
|
+
get(target, property, receiver) {
|
|
1506
|
+
if (property === 'content') {
|
|
1507
|
+
return validated.content;
|
|
1508
|
+
}
|
|
1509
|
+
if (property === 'refusal') {
|
|
1510
|
+
return validated.refusal;
|
|
1511
|
+
}
|
|
1512
|
+
if (property === 'tool_calls') {
|
|
1513
|
+
return validated.toolCallCollection;
|
|
1514
|
+
}
|
|
1515
|
+
return Reflect.get(target, property, receiver);
|
|
1516
|
+
},
|
|
1517
|
+
});
|
|
479
1518
|
const { content = null, function_call, tool_calls, audio, ...messageRest } = message;
|
|
480
1519
|
// Audio streams can end with an expires_at-only chunk after the
|
|
481
1520
|
// generated audio, without a separate finish_reason.
|
|
@@ -522,17 +1561,69 @@ function finalizeChatCompletion(snapshot, params, audioDoneChoiceIndexes) {
|
|
|
522
1561
|
role,
|
|
523
1562
|
content,
|
|
524
1563
|
refusal: message.refusal ?? null,
|
|
525
|
-
tool_calls: tool_calls
|
|
526
|
-
const
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
1564
|
+
tool_calls: mapCapturedSnapshotArray(tool_calls, MAX_STREAM_TOOL_CALLS, 'tool-call', (tool_call, i) => {
|
|
1565
|
+
const captured = validated.toolCalls.get(i);
|
|
1566
|
+
if (!captured) {
|
|
1567
|
+
const identity = ownFunctionToolIdentity(tool_call);
|
|
1568
|
+
if (identity &&
|
|
1569
|
+
shouldParseToolCall(params, {
|
|
1570
|
+
type: identity.type,
|
|
1571
|
+
function: { name: identity.name },
|
|
1572
|
+
})) {
|
|
1573
|
+
throw new OpenAIError('Chat completion stream contains an unsafe structured JSON snapshot');
|
|
1574
|
+
}
|
|
1575
|
+
}
|
|
1576
|
+
if (captured && captured.tool !== tool_call) {
|
|
1577
|
+
throw new OpenAIError('Chat completion stream contains a changed tool call identity');
|
|
1578
|
+
}
|
|
1579
|
+
const stableFunction = captured &&
|
|
1580
|
+
new Proxy(captured.function, {
|
|
1581
|
+
get(target, property, receiver) {
|
|
1582
|
+
if (property === 'arguments') {
|
|
1583
|
+
return captured.arguments;
|
|
1584
|
+
}
|
|
1585
|
+
if (property === 'name') {
|
|
1586
|
+
return captured.name;
|
|
1587
|
+
}
|
|
1588
|
+
return Reflect.get(target, property, receiver);
|
|
1589
|
+
},
|
|
1590
|
+
});
|
|
1591
|
+
const stableTool = captured && stableFunction
|
|
1592
|
+
? new Proxy(tool_call, {
|
|
1593
|
+
get(target, property, receiver) {
|
|
1594
|
+
if (property === 'type') {
|
|
1595
|
+
return captured.type;
|
|
1596
|
+
}
|
|
1597
|
+
if (property === 'function') {
|
|
1598
|
+
return stableFunction;
|
|
1599
|
+
}
|
|
1600
|
+
return Reflect.get(target, property, receiver);
|
|
1601
|
+
},
|
|
1602
|
+
})
|
|
1603
|
+
: tool_call;
|
|
1604
|
+
if (stableTool.type == null) {
|
|
1605
|
+
throw new OpenAIError(`missing choices[${index}].tool_calls[${i}].type`);
|
|
530
1606
|
}
|
|
1607
|
+
if (stableTool.type === 'custom') {
|
|
1608
|
+
const { custom, type, id, ...toolRest } = stableTool;
|
|
1609
|
+
const { input = '', name, ...customRest } = custom || {};
|
|
1610
|
+
if (name == null) {
|
|
1611
|
+
throw new OpenAIError(`missing choices[${index}].tool_calls[${i}].custom.name`);
|
|
1612
|
+
}
|
|
1613
|
+
return {
|
|
1614
|
+
...toolRest,
|
|
1615
|
+
id: id || `call_${uuid4()}`,
|
|
1616
|
+
type,
|
|
1617
|
+
custom: { ...customRest, name, input },
|
|
1618
|
+
};
|
|
1619
|
+
}
|
|
1620
|
+
const { function: fn, type, id, ...toolRest } = stableTool;
|
|
1621
|
+
const { arguments: args, name, ...fnRest } = fn || {};
|
|
531
1622
|
if (name == null) {
|
|
532
|
-
throw new OpenAIError(`missing choices[${index}].tool_calls[${i}].function.name
|
|
1623
|
+
throw new OpenAIError(`missing choices[${index}].tool_calls[${i}].function.name`);
|
|
533
1624
|
}
|
|
534
1625
|
if (args == null) {
|
|
535
|
-
throw new OpenAIError(`missing choices[${index}].tool_calls[${i}].function.arguments
|
|
1626
|
+
throw new OpenAIError(`missing choices[${index}].tool_calls[${i}].function.arguments`);
|
|
536
1627
|
}
|
|
537
1628
|
return {
|
|
538
1629
|
...toolRest,
|
|
@@ -562,16 +1653,15 @@ function finalizeChatCompletion(snapshot, params, audioDoneChoiceIndexes) {
|
|
|
562
1653
|
function isCompleteAudio(audio) {
|
|
563
1654
|
return audio?.id != null && audio.data != null && audio.transcript != null && audio.expires_at != null;
|
|
564
1655
|
}
|
|
565
|
-
function str(x) {
|
|
566
|
-
return JSON.stringify(x);
|
|
567
|
-
}
|
|
568
1656
|
/**
|
|
569
1657
|
* Ensures the given argument is an empty object, useful for
|
|
570
1658
|
* asserting that all known properties on an object have been
|
|
571
1659
|
* destructured.
|
|
572
1660
|
*/
|
|
573
1661
|
function assertIsEmpty(obj) {
|
|
574
|
-
|
|
1662
|
+
void obj;
|
|
1663
|
+
}
|
|
1664
|
+
function assertNever(_x) {
|
|
1665
|
+
return _x;
|
|
575
1666
|
}
|
|
576
|
-
function assertNever(_x) { }
|
|
577
1667
|
//# sourceMappingURL=ChatCompletionStream.mjs.map
|