@tetral-ai/sdk 0.110.0-alpha.1
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/.github/logo.svg +3 -0
- package/CHANGELOG.md +2815 -0
- package/COMPATIBILITY.md +97 -0
- package/LICENSE +8 -0
- package/README.md +132 -0
- package/_vendor/partial-json-parser/parser.d.mts +3 -0
- package/_vendor/partial-json-parser/parser.d.mts.map +1 -0
- package/_vendor/partial-json-parser/parser.d.ts +3 -0
- package/_vendor/partial-json-parser/parser.d.ts.map +1 -0
- package/_vendor/partial-json-parser/parser.js +238 -0
- package/_vendor/partial-json-parser/parser.js.map +1 -0
- package/_vendor/partial-json-parser/parser.mjs +235 -0
- package/_vendor/partial-json-parser/parser.mjs.map +1 -0
- package/api-promise.d.mts +3 -0
- package/api-promise.d.mts.map +1 -0
- package/api-promise.d.ts +3 -0
- package/api-promise.d.ts.map +1 -0
- package/api-promise.js +6 -0
- package/api-promise.js.map +1 -0
- package/api-promise.mjs +3 -0
- package/api-promise.mjs.map +1 -0
- package/api.md +1297 -0
- package/bin/cli +53 -0
- package/bin/migration-config.json +933 -0
- package/client.d.mts +387 -0
- package/client.d.mts.map +1 -0
- package/client.d.ts +387 -0
- package/client.d.ts.map +1 -0
- package/client.js +943 -0
- package/client.js.map +1 -0
- package/client.mjs +938 -0
- package/client.mjs.map +1 -0
- package/core/api-promise.d.mts +49 -0
- package/core/api-promise.d.mts.map +1 -0
- package/core/api-promise.d.ts +49 -0
- package/core/api-promise.d.ts.map +1 -0
- package/core/api-promise.js +76 -0
- package/core/api-promise.js.map +1 -0
- package/core/api-promise.mjs +72 -0
- package/core/api-promise.mjs.map +1 -0
- package/core/api.d.mts +11 -0
- package/core/api.d.mts.map +1 -0
- package/core/api.d.ts +11 -0
- package/core/api.d.ts.map +1 -0
- package/core/api.js +3 -0
- package/core/api.js.map +1 -0
- package/core/api.mjs +2 -0
- package/core/api.mjs.map +1 -0
- package/core/credentials.d.mts +131 -0
- package/core/credentials.d.mts.map +1 -0
- package/core/credentials.d.ts +131 -0
- package/core/credentials.d.ts.map +1 -0
- package/core/credentials.js +317 -0
- package/core/credentials.js.map +1 -0
- package/core/credentials.mjs +277 -0
- package/core/credentials.mjs.map +1 -0
- package/core/error.d.mts +61 -0
- package/core/error.d.mts.map +1 -0
- package/core/error.d.ts +61 -0
- package/core/error.d.ts.map +1 -0
- package/core/error.js +132 -0
- package/core/error.js.map +1 -0
- package/core/error.mjs +115 -0
- package/core/error.mjs.map +1 -0
- package/core/middleware.d.mts +154 -0
- package/core/middleware.d.mts.map +1 -0
- package/core/middleware.d.ts +154 -0
- package/core/middleware.d.ts.map +1 -0
- package/core/middleware.js +174 -0
- package/core/middleware.js.map +1 -0
- package/core/middleware.mjs +168 -0
- package/core/middleware.mjs.map +1 -0
- package/core/pagination.d.mts +122 -0
- package/core/pagination.d.mts.map +1 -0
- package/core/pagination.d.ts +122 -0
- package/core/pagination.d.ts.map +1 -0
- package/core/pagination.js +203 -0
- package/core/pagination.js.map +1 -0
- package/core/pagination.mjs +194 -0
- package/core/pagination.mjs.map +1 -0
- package/core/resource.d.mts +6 -0
- package/core/resource.d.mts.map +1 -0
- package/core/resource.d.ts +6 -0
- package/core/resource.d.ts.map +1 -0
- package/core/resource.js +11 -0
- package/core/resource.js.map +1 -0
- package/core/resource.mjs +7 -0
- package/core/resource.mjs.map +1 -0
- package/core/streaming.d.mts +42 -0
- package/core/streaming.d.mts.map +1 -0
- package/core/streaming.d.ts +42 -0
- package/core/streaming.d.ts.map +1 -0
- package/core/streaming.js +341 -0
- package/core/streaming.js.map +1 -0
- package/core/streaming.mjs +336 -0
- package/core/streaming.mjs.map +1 -0
- package/core/uploads.d.mts +3 -0
- package/core/uploads.d.mts.map +1 -0
- package/core/uploads.d.ts +3 -0
- package/core/uploads.d.ts.map +1 -0
- package/core/uploads.js +6 -0
- package/core/uploads.js.map +1 -0
- package/core/uploads.mjs +2 -0
- package/core/uploads.mjs.map +1 -0
- package/error.d.mts +3 -0
- package/error.d.mts.map +1 -0
- package/error.d.ts +3 -0
- package/error.d.ts.map +1 -0
- package/error.js +6 -0
- package/error.js.map +1 -0
- package/error.mjs +3 -0
- package/error.mjs.map +1 -0
- package/helpers/beta/environments.d.mts +25 -0
- package/helpers/beta/environments.d.mts.map +1 -0
- package/helpers/beta/environments.d.ts +25 -0
- package/helpers/beta/environments.d.ts.map +1 -0
- package/helpers/beta/environments.js +33 -0
- package/helpers/beta/environments.js.map +1 -0
- package/helpers/beta/environments.mjs +25 -0
- package/helpers/beta/environments.mjs.map +1 -0
- package/helpers/beta/json-schema.d.mts +37 -0
- package/helpers/beta/json-schema.d.mts.map +1 -0
- package/helpers/beta/json-schema.d.ts +37 -0
- package/helpers/beta/json-schema.d.ts.map +1 -0
- package/helpers/beta/json-schema.js +57 -0
- package/helpers/beta/json-schema.js.map +1 -0
- package/helpers/beta/json-schema.mjs +53 -0
- package/helpers/beta/json-schema.mjs.map +1 -0
- package/helpers/beta/mcp.d.mts +303 -0
- package/helpers/beta/mcp.d.mts.map +1 -0
- package/helpers/beta/mcp.d.ts +303 -0
- package/helpers/beta/mcp.d.ts.map +1 -0
- package/helpers/beta/mcp.js +419 -0
- package/helpers/beta/mcp.js.map +1 -0
- package/helpers/beta/mcp.mjs +406 -0
- package/helpers/beta/mcp.mjs.map +1 -0
- package/helpers/beta/memory.d.mts +11 -0
- package/helpers/beta/memory.d.mts.map +1 -0
- package/helpers/beta/memory.d.ts +11 -0
- package/helpers/beta/memory.d.ts.map +1 -0
- package/helpers/beta/memory.js +18 -0
- package/helpers/beta/memory.js.map +1 -0
- package/helpers/beta/memory.mjs +15 -0
- package/helpers/beta/memory.mjs.map +1 -0
- package/helpers/beta/zod.d.mts +33 -0
- package/helpers/beta/zod.d.mts.map +1 -0
- package/helpers/beta/zod.d.ts +33 -0
- package/helpers/beta/zod.d.ts.map +1 -0
- package/helpers/beta/zod.js +58 -0
- package/helpers/beta/zod.js.map +1 -0
- package/helpers/beta/zod.mjs +53 -0
- package/helpers/beta/zod.mjs.map +1 -0
- package/helpers/index.d.mts +3 -0
- package/helpers/index.d.mts.map +1 -0
- package/helpers/index.d.ts +3 -0
- package/helpers/index.d.ts.map +1 -0
- package/helpers/index.js +8 -0
- package/helpers/index.js.map +1 -0
- package/helpers/index.mjs +3 -0
- package/helpers/index.mjs.map +1 -0
- package/helpers/json-schema.d.mts +18 -0
- package/helpers/json-schema.d.mts.map +1 -0
- package/helpers/json-schema.d.ts +18 -0
- package/helpers/json-schema.d.ts.map +1 -0
- package/helpers/json-schema.js +37 -0
- package/helpers/json-schema.js.map +1 -0
- package/helpers/json-schema.mjs +34 -0
- package/helpers/json-schema.mjs.map +1 -0
- package/helpers/zod.d.mts +13 -0
- package/helpers/zod.d.mts.map +1 -0
- package/helpers/zod.d.ts +13 -0
- package/helpers/zod.d.ts.map +1 -0
- package/helpers/zod.js +47 -0
- package/helpers/zod.js.map +1 -0
- package/helpers/zod.mjs +43 -0
- package/helpers/zod.mjs.map +1 -0
- package/index.d.mts +10 -0
- package/index.d.mts.map +1 -0
- package/index.d.ts +10 -0
- package/index.d.ts.map +1 -0
- package/index.js +40 -0
- package/index.js.map +1 -0
- package/index.mjs +9 -0
- package/index.mjs.map +1 -0
- package/internal/builtin-types.d.mts +73 -0
- package/internal/builtin-types.d.mts.map +1 -0
- package/internal/builtin-types.d.ts +73 -0
- package/internal/builtin-types.d.ts.map +1 -0
- package/internal/builtin-types.js +4 -0
- package/internal/builtin-types.js.map +1 -0
- package/internal/builtin-types.mjs +3 -0
- package/internal/builtin-types.mjs.map +1 -0
- package/internal/constants.d.mts +5 -0
- package/internal/constants.d.mts.map +1 -0
- package/internal/constants.d.ts +5 -0
- package/internal/constants.d.ts.map +1 -0
- package/internal/constants.js +18 -0
- package/internal/constants.js.map +1 -0
- package/internal/constants.mjs +15 -0
- package/internal/constants.mjs.map +1 -0
- package/internal/decoders/jsonl.d.mts +10 -0
- package/internal/decoders/jsonl.d.mts.map +1 -0
- package/internal/decoders/jsonl.d.ts +10 -0
- package/internal/decoders/jsonl.d.ts.map +1 -0
- package/internal/decoders/jsonl.js +39 -0
- package/internal/decoders/jsonl.js.map +1 -0
- package/internal/decoders/jsonl.mjs +35 -0
- package/internal/decoders/jsonl.mjs.map +1 -0
- package/internal/decoders/line.d.mts +17 -0
- package/internal/decoders/line.d.mts.map +1 -0
- package/internal/decoders/line.d.ts +17 -0
- package/internal/decoders/line.d.ts.map +1 -0
- package/internal/decoders/line.js +113 -0
- package/internal/decoders/line.js.map +1 -0
- package/internal/decoders/line.mjs +108 -0
- package/internal/decoders/line.mjs.map +1 -0
- package/internal/detect-platform.d.mts +15 -0
- package/internal/detect-platform.d.mts.map +1 -0
- package/internal/detect-platform.d.ts +15 -0
- package/internal/detect-platform.d.ts.map +1 -0
- package/internal/detect-platform.js +162 -0
- package/internal/detect-platform.js.map +1 -0
- package/internal/detect-platform.mjs +157 -0
- package/internal/detect-platform.mjs.map +1 -0
- package/internal/errors.d.mts +3 -0
- package/internal/errors.d.mts.map +1 -0
- package/internal/errors.d.ts +3 -0
- package/internal/errors.d.ts.map +1 -0
- package/internal/errors.js +41 -0
- package/internal/errors.js.map +1 -0
- package/internal/errors.mjs +36 -0
- package/internal/errors.mjs.map +1 -0
- package/internal/headers.d.mts +29 -0
- package/internal/headers.d.mts.map +1 -0
- package/internal/headers.d.ts +29 -0
- package/internal/headers.d.ts.map +1 -0
- package/internal/headers.js +120 -0
- package/internal/headers.js.map +1 -0
- package/internal/headers.mjs +114 -0
- package/internal/headers.mjs.map +1 -0
- package/internal/message-stream-utils.d.mts +10 -0
- package/internal/message-stream-utils.d.mts.map +1 -0
- package/internal/message-stream-utils.d.ts +10 -0
- package/internal/message-stream-utils.d.ts.map +1 -0
- package/internal/message-stream-utils.js +34 -0
- package/internal/message-stream-utils.js.map +1 -0
- package/internal/message-stream-utils.mjs +30 -0
- package/internal/message-stream-utils.mjs.map +1 -0
- package/internal/parse.d.mts +17 -0
- package/internal/parse.d.mts.map +1 -0
- package/internal/parse.d.ts +17 -0
- package/internal/parse.d.ts.map +1 -0
- package/internal/parse.js +57 -0
- package/internal/parse.js.map +1 -0
- package/internal/parse.mjs +53 -0
- package/internal/parse.mjs.map +1 -0
- package/internal/qs/formats.d.mts +7 -0
- package/internal/qs/formats.d.mts.map +1 -0
- package/internal/qs/formats.d.ts +7 -0
- package/internal/qs/formats.d.ts.map +1 -0
- package/internal/qs/formats.js +13 -0
- package/internal/qs/formats.js.map +1 -0
- package/internal/qs/formats.mjs +9 -0
- package/internal/qs/formats.mjs.map +1 -0
- package/internal/qs/index.d.mts +10 -0
- package/internal/qs/index.d.mts.map +1 -0
- package/internal/qs/index.d.ts +10 -0
- package/internal/qs/index.d.ts.map +1 -0
- package/internal/qs/index.js +14 -0
- package/internal/qs/index.js.map +1 -0
- package/internal/qs/index.mjs +10 -0
- package/internal/qs/index.mjs.map +1 -0
- package/internal/qs/stringify.d.mts +3 -0
- package/internal/qs/stringify.d.mts.map +1 -0
- package/internal/qs/stringify.d.ts +3 -0
- package/internal/qs/stringify.d.ts.map +1 -0
- package/internal/qs/stringify.js +277 -0
- package/internal/qs/stringify.js.map +1 -0
- package/internal/qs/stringify.mjs +274 -0
- package/internal/qs/stringify.mjs.map +1 -0
- package/internal/qs/types.d.mts +57 -0
- package/internal/qs/types.d.mts.map +1 -0
- package/internal/qs/types.d.ts +57 -0
- package/internal/qs/types.d.ts.map +1 -0
- package/internal/qs/types.js +3 -0
- package/internal/qs/types.js.map +1 -0
- package/internal/qs/types.mjs +2 -0
- package/internal/qs/types.mjs.map +1 -0
- package/internal/qs/utils.d.mts +15 -0
- package/internal/qs/utils.d.mts.map +1 -0
- package/internal/qs/utils.d.ts +15 -0
- package/internal/qs/utils.d.ts.map +1 -0
- package/internal/qs/utils.js +230 -0
- package/internal/qs/utils.js.map +1 -0
- package/internal/qs/utils.mjs +217 -0
- package/internal/qs/utils.mjs.map +1 -0
- package/internal/request-options.d.mts +127 -0
- package/internal/request-options.d.mts.map +1 -0
- package/internal/request-options.d.ts +127 -0
- package/internal/request-options.d.ts.map +1 -0
- package/internal/request-options.js +25 -0
- package/internal/request-options.js.map +1 -0
- package/internal/request-options.mjs +20 -0
- package/internal/request-options.mjs.map +1 -0
- package/internal/shim-types.d.mts +17 -0
- package/internal/shim-types.d.mts.map +1 -0
- package/internal/shim-types.d.ts +17 -0
- package/internal/shim-types.d.ts.map +1 -0
- package/internal/shim-types.js +4 -0
- package/internal/shim-types.js.map +1 -0
- package/internal/shim-types.mjs +3 -0
- package/internal/shim-types.mjs.map +1 -0
- package/internal/shims.d.mts +26 -0
- package/internal/shims.d.mts.map +1 -0
- package/internal/shims.d.ts +26 -0
- package/internal/shims.d.ts.map +1 -0
- package/internal/shims.js +92 -0
- package/internal/shims.js.map +1 -0
- package/internal/shims.mjs +85 -0
- package/internal/shims.mjs.map +1 -0
- package/internal/stainless-helper-header.d.mts +60 -0
- package/internal/stainless-helper-header.d.mts.map +1 -0
- package/internal/stainless-helper-header.d.ts +60 -0
- package/internal/stainless-helper-header.d.ts.map +1 -0
- package/internal/stainless-helper-header.js +91 -0
- package/internal/stainless-helper-header.js.map +1 -0
- package/internal/stainless-helper-header.mjs +83 -0
- package/internal/stainless-helper-header.mjs.map +1 -0
- package/internal/stream-utils.d.mts +8 -0
- package/internal/stream-utils.d.mts.map +1 -0
- package/internal/stream-utils.d.ts +8 -0
- package/internal/stream-utils.d.ts.map +1 -0
- package/internal/stream-utils.js +38 -0
- package/internal/stream-utils.js.map +1 -0
- package/internal/stream-utils.mjs +35 -0
- package/internal/stream-utils.mjs.map +1 -0
- package/internal/to-file.d.mts +45 -0
- package/internal/to-file.d.mts.map +1 -0
- package/internal/to-file.d.ts +45 -0
- package/internal/to-file.d.ts.map +1 -0
- package/internal/to-file.js +96 -0
- package/internal/to-file.js.map +1 -0
- package/internal/to-file.mjs +93 -0
- package/internal/to-file.mjs.map +1 -0
- package/internal/tslib.js +81 -0
- package/internal/tslib.mjs +17 -0
- package/internal/types.d.mts +69 -0
- package/internal/types.d.mts.map +1 -0
- package/internal/types.d.ts +69 -0
- package/internal/types.d.ts.map +1 -0
- package/internal/types.js +4 -0
- package/internal/types.js.map +1 -0
- package/internal/types.mjs +3 -0
- package/internal/types.mjs.map +1 -0
- package/internal/uploads.d.mts +42 -0
- package/internal/uploads.d.mts.map +1 -0
- package/internal/uploads.d.ts +42 -0
- package/internal/uploads.d.ts.map +1 -0
- package/internal/uploads.js +145 -0
- package/internal/uploads.js.map +1 -0
- package/internal/uploads.mjs +135 -0
- package/internal/uploads.mjs.map +1 -0
- package/internal/utils/abort.d.mts +13 -0
- package/internal/utils/abort.d.mts.map +1 -0
- package/internal/utils/abort.d.ts +13 -0
- package/internal/utils/abort.d.ts.map +1 -0
- package/internal/utils/abort.js +26 -0
- package/internal/utils/abort.js.map +1 -0
- package/internal/utils/abort.mjs +23 -0
- package/internal/utils/abort.mjs.map +1 -0
- package/internal/utils/async-queue.d.mts +31 -0
- package/internal/utils/async-queue.d.mts.map +1 -0
- package/internal/utils/async-queue.d.ts +31 -0
- package/internal/utils/async-queue.d.ts.map +1 -0
- package/internal/utils/async-queue.js +75 -0
- package/internal/utils/async-queue.js.map +1 -0
- package/internal/utils/async-queue.mjs +71 -0
- package/internal/utils/async-queue.mjs.map +1 -0
- package/internal/utils/backoff.d.mts +23 -0
- package/internal/utils/backoff.d.mts.map +1 -0
- package/internal/utils/backoff.d.ts +23 -0
- package/internal/utils/backoff.d.ts.map +1 -0
- package/internal/utils/backoff.js +44 -0
- package/internal/utils/backoff.js.map +1 -0
- package/internal/utils/backoff.mjs +36 -0
- package/internal/utils/backoff.mjs.map +1 -0
- package/internal/utils/base64.d.mts +3 -0
- package/internal/utils/base64.d.mts.map +1 -0
- package/internal/utils/base64.d.ts +3 -0
- package/internal/utils/base64.d.ts.map +1 -0
- package/internal/utils/base64.js +38 -0
- package/internal/utils/base64.js.map +1 -0
- package/internal/utils/base64.mjs +33 -0
- package/internal/utils/base64.mjs.map +1 -0
- package/internal/utils/bytes.d.mts +4 -0
- package/internal/utils/bytes.d.mts.map +1 -0
- package/internal/utils/bytes.d.ts +4 -0
- package/internal/utils/bytes.d.ts.map +1 -0
- package/internal/utils/bytes.js +31 -0
- package/internal/utils/bytes.js.map +1 -0
- package/internal/utils/bytes.mjs +26 -0
- package/internal/utils/bytes.mjs.map +1 -0
- package/internal/utils/env.d.mts +9 -0
- package/internal/utils/env.d.mts.map +1 -0
- package/internal/utils/env.d.ts +9 -0
- package/internal/utils/env.d.ts.map +1 -0
- package/internal/utils/env.js +22 -0
- package/internal/utils/env.js.map +1 -0
- package/internal/utils/env.mjs +18 -0
- package/internal/utils/env.mjs.map +1 -0
- package/internal/utils/log.d.mts +47 -0
- package/internal/utils/log.d.mts.map +1 -0
- package/internal/utils/log.d.ts +47 -0
- package/internal/utils/log.d.ts.map +1 -0
- package/internal/utils/log.js +112 -0
- package/internal/utils/log.js.map +1 -0
- package/internal/utils/log.mjs +105 -0
- package/internal/utils/log.mjs.map +1 -0
- package/internal/utils/path.d.mts +15 -0
- package/internal/utils/path.d.mts.map +1 -0
- package/internal/utils/path.d.ts +15 -0
- package/internal/utils/path.d.ts.map +1 -0
- package/internal/utils/path.js +79 -0
- package/internal/utils/path.js.map +1 -0
- package/internal/utils/path.mjs +74 -0
- package/internal/utils/path.mjs.map +1 -0
- package/internal/utils/promise.d.mts +11 -0
- package/internal/utils/promise.d.mts.map +1 -0
- package/internal/utils/promise.d.ts +11 -0
- package/internal/utils/promise.d.ts.map +1 -0
- package/internal/utils/promise.js +18 -0
- package/internal/utils/promise.js.map +1 -0
- package/internal/utils/promise.mjs +15 -0
- package/internal/utils/promise.mjs.map +1 -0
- package/internal/utils/query.d.mts +2 -0
- package/internal/utils/query.d.mts.map +1 -0
- package/internal/utils/query.d.ts +2 -0
- package/internal/utils/query.d.ts.map +1 -0
- package/internal/utils/query.js +10 -0
- package/internal/utils/query.js.map +1 -0
- package/internal/utils/query.mjs +6 -0
- package/internal/utils/query.mjs.map +1 -0
- package/internal/utils/sleep.d.mts +10 -0
- package/internal/utils/sleep.d.mts.map +1 -0
- package/internal/utils/sleep.d.ts +10 -0
- package/internal/utils/sleep.d.ts.map +1 -0
- package/internal/utils/sleep.js +28 -0
- package/internal/utils/sleep.js.map +1 -0
- package/internal/utils/sleep.mjs +24 -0
- package/internal/utils/sleep.mjs.map +1 -0
- package/internal/utils/time.d.mts +3 -0
- package/internal/utils/time.d.mts.map +1 -0
- package/internal/utils/time.d.ts +3 -0
- package/internal/utils/time.d.ts.map +1 -0
- package/internal/utils/time.js +8 -0
- package/internal/utils/time.js.map +1 -0
- package/internal/utils/time.mjs +5 -0
- package/internal/utils/time.mjs.map +1 -0
- package/internal/utils/uuid.d.mts +5 -0
- package/internal/utils/uuid.d.mts.map +1 -0
- package/internal/utils/uuid.d.ts +5 -0
- package/internal/utils/uuid.d.ts.map +1 -0
- package/internal/utils/uuid.js +19 -0
- package/internal/utils/uuid.js.map +1 -0
- package/internal/utils/uuid.mjs +15 -0
- package/internal/utils/uuid.mjs.map +1 -0
- package/internal/utils/values.d.mts +19 -0
- package/internal/utils/values.d.mts.map +1 -0
- package/internal/utils/values.d.ts +19 -0
- package/internal/utils/values.d.ts.map +1 -0
- package/internal/utils/values.js +119 -0
- package/internal/utils/values.js.map +1 -0
- package/internal/utils/values.mjs +100 -0
- package/internal/utils/values.mjs.map +1 -0
- package/internal/utils.d.mts +8 -0
- package/internal/utils.d.mts.map +1 -0
- package/internal/utils.d.ts +8 -0
- package/internal/utils.d.ts.map +1 -0
- package/internal/utils.js +12 -0
- package/internal/utils.js.map +1 -0
- package/internal/utils.mjs +9 -0
- package/internal/utils.mjs.map +1 -0
- package/lib/BetaMessageStream.d.mts +122 -0
- package/lib/BetaMessageStream.d.mts.map +1 -0
- package/lib/BetaMessageStream.d.ts +122 -0
- package/lib/BetaMessageStream.d.ts.map +1 -0
- package/lib/BetaMessageStream.js +639 -0
- package/lib/BetaMessageStream.js.map +1 -0
- package/lib/BetaMessageStream.mjs +635 -0
- package/lib/BetaMessageStream.mjs.map +1 -0
- package/lib/MessageStream.d.mts +121 -0
- package/lib/MessageStream.d.mts.map +1 -0
- package/lib/MessageStream.d.ts +121 -0
- package/lib/MessageStream.d.ts.map +1 -0
- package/lib/MessageStream.js +595 -0
- package/lib/MessageStream.js.map +1 -0
- package/lib/MessageStream.mjs +591 -0
- package/lib/MessageStream.mjs.map +1 -0
- package/lib/beta-parser.d.mts +37 -0
- package/lib/beta-parser.d.mts.map +1 -0
- package/lib/beta-parser.d.ts +37 -0
- package/lib/beta-parser.d.ts.map +1 -0
- package/lib/beta-parser.js +79 -0
- package/lib/beta-parser.js.map +1 -0
- package/lib/beta-parser.mjs +75 -0
- package/lib/beta-parser.mjs.map +1 -0
- package/lib/credentials/credential-chain.d.mts +39 -0
- package/lib/credentials/credential-chain.d.mts.map +1 -0
- package/lib/credentials/credential-chain.d.ts +39 -0
- package/lib/credentials/credential-chain.d.ts.map +1 -0
- package/lib/credentials/credential-chain.js +245 -0
- package/lib/credentials/credential-chain.js.map +1 -0
- package/lib/credentials/credential-chain.mjs +208 -0
- package/lib/credentials/credential-chain.mjs.map +1 -0
- package/lib/credentials/identity-token.d.mts +11 -0
- package/lib/credentials/identity-token.d.mts.map +1 -0
- package/lib/credentials/identity-token.d.ts +11 -0
- package/lib/credentials/identity-token.d.ts.map +1 -0
- package/lib/credentials/identity-token.js +72 -0
- package/lib/credentials/identity-token.js.map +1 -0
- package/lib/credentials/identity-token.mjs +35 -0
- package/lib/credentials/identity-token.mjs.map +1 -0
- package/lib/credentials/oidc-federation.d.mts +40 -0
- package/lib/credentials/oidc-federation.d.mts.map +1 -0
- package/lib/credentials/oidc-federation.d.ts +40 -0
- package/lib/credentials/oidc-federation.d.ts.map +1 -0
- package/lib/credentials/oidc-federation.js +82 -0
- package/lib/credentials/oidc-federation.js.map +1 -0
- package/lib/credentials/oidc-federation.mjs +79 -0
- package/lib/credentials/oidc-federation.mjs.map +1 -0
- package/lib/credentials/token-cache.d.mts +54 -0
- package/lib/credentials/token-cache.d.mts.map +1 -0
- package/lib/credentials/token-cache.d.ts +54 -0
- package/lib/credentials/token-cache.d.ts.map +1 -0
- package/lib/credentials/token-cache.js +112 -0
- package/lib/credentials/token-cache.js.map +1 -0
- package/lib/credentials/token-cache.mjs +108 -0
- package/lib/credentials/token-cache.mjs.map +1 -0
- package/lib/credentials/types.d.mts +96 -0
- package/lib/credentials/types.d.mts.map +1 -0
- package/lib/credentials/types.d.ts +96 -0
- package/lib/credentials/types.d.ts.map +1 -0
- package/lib/credentials/types.js +266 -0
- package/lib/credentials/types.js.map +1 -0
- package/lib/credentials/types.mjs +224 -0
- package/lib/credentials/types.mjs.map +1 -0
- package/lib/credentials/user-oauth.d.mts +21 -0
- package/lib/credentials/user-oauth.d.mts.map +1 -0
- package/lib/credentials/user-oauth.d.ts +21 -0
- package/lib/credentials/user-oauth.d.ts.map +1 -0
- package/lib/credentials/user-oauth.js +130 -0
- package/lib/credentials/user-oauth.js.map +1 -0
- package/lib/credentials/user-oauth.mjs +94 -0
- package/lib/credentials/user-oauth.mjs.map +1 -0
- package/lib/credentials.d.mts +4 -0
- package/lib/credentials.d.mts.map +1 -0
- package/lib/credentials.d.ts +4 -0
- package/lib/credentials.d.ts.map +1 -0
- package/lib/credentials.js +8 -0
- package/lib/credentials.js.map +1 -0
- package/lib/credentials.mjs +3 -0
- package/lib/credentials.mjs.map +1 -0
- package/lib/environments/index.d.mts +4 -0
- package/lib/environments/index.d.mts.map +1 -0
- package/lib/environments/index.d.ts +4 -0
- package/lib/environments/index.d.ts.map +1 -0
- package/lib/environments/index.js +18 -0
- package/lib/environments/index.js.map +1 -0
- package/lib/environments/index.mjs +4 -0
- package/lib/environments/index.mjs.map +1 -0
- package/lib/environments/poller.d.mts +93 -0
- package/lib/environments/poller.d.mts.map +1 -0
- package/lib/environments/poller.d.ts +93 -0
- package/lib/environments/poller.d.ts.map +1 -0
- package/lib/environments/poller.js +185 -0
- package/lib/environments/poller.js.map +1 -0
- package/lib/environments/poller.mjs +176 -0
- package/lib/environments/poller.mjs.map +1 -0
- package/lib/environments/worker.d.mts +150 -0
- package/lib/environments/worker.d.mts.map +1 -0
- package/lib/environments/worker.d.ts +150 -0
- package/lib/environments/worker.d.ts.map +1 -0
- package/lib/environments/worker.js +271 -0
- package/lib/environments/worker.js.map +1 -0
- package/lib/environments/worker.mjs +267 -0
- package/lib/environments/worker.mjs.map +1 -0
- package/lib/helper-client.d.mts +34 -0
- package/lib/helper-client.d.mts.map +1 -0
- package/lib/helper-client.d.ts +34 -0
- package/lib/helper-client.d.ts.map +1 -0
- package/lib/helper-client.js +73 -0
- package/lib/helper-client.js.map +1 -0
- package/lib/helper-client.mjs +70 -0
- package/lib/helper-client.mjs.map +1 -0
- package/lib/middleware.d.mts +96 -0
- package/lib/middleware.d.mts.map +1 -0
- package/lib/middleware.d.ts +96 -0
- package/lib/middleware.d.ts.map +1 -0
- package/lib/middleware.js +711 -0
- package/lib/middleware.js.map +1 -0
- package/lib/middleware.mjs +706 -0
- package/lib/middleware.mjs.map +1 -0
- package/lib/parser.d.mts +32 -0
- package/lib/parser.d.mts.map +1 -0
- package/lib/parser.d.ts +32 -0
- package/lib/parser.d.ts.map +1 -0
- package/lib/parser.js +66 -0
- package/lib/parser.js.map +1 -0
- package/lib/parser.mjs +62 -0
- package/lib/parser.mjs.map +1 -0
- package/lib/sessions/accumulate.d.mts +22 -0
- package/lib/sessions/accumulate.d.mts.map +1 -0
- package/lib/sessions/accumulate.d.ts +22 -0
- package/lib/sessions/accumulate.d.ts.map +1 -0
- package/lib/sessions/accumulate.js +87 -0
- package/lib/sessions/accumulate.js.map +1 -0
- package/lib/sessions/accumulate.mjs +84 -0
- package/lib/sessions/accumulate.mjs.map +1 -0
- package/lib/tools/BetaRunnableTool.d.mts +68 -0
- package/lib/tools/BetaRunnableTool.d.mts.map +1 -0
- package/lib/tools/BetaRunnableTool.d.ts +68 -0
- package/lib/tools/BetaRunnableTool.d.ts.map +1 -0
- package/lib/tools/BetaRunnableTool.js +40 -0
- package/lib/tools/BetaRunnableTool.js.map +1 -0
- package/lib/tools/BetaRunnableTool.mjs +35 -0
- package/lib/tools/BetaRunnableTool.mjs.map +1 -0
- package/lib/tools/BetaToolRunner.d.mts +161 -0
- package/lib/tools/BetaToolRunner.d.mts.map +1 -0
- package/lib/tools/BetaToolRunner.d.ts +161 -0
- package/lib/tools/BetaToolRunner.d.ts.map +1 -0
- package/lib/tools/BetaToolRunner.js +400 -0
- package/lib/tools/BetaToolRunner.js.map +1 -0
- package/lib/tools/BetaToolRunner.mjs +396 -0
- package/lib/tools/BetaToolRunner.mjs.map +1 -0
- package/lib/tools/CompactionControl.d.mts +30 -0
- package/lib/tools/CompactionControl.d.mts.map +1 -0
- package/lib/tools/CompactionControl.d.ts +30 -0
- package/lib/tools/CompactionControl.d.ts.map +1 -0
- package/lib/tools/CompactionControl.js +28 -0
- package/lib/tools/CompactionControl.js.map +1 -0
- package/lib/tools/CompactionControl.mjs +25 -0
- package/lib/tools/CompactionControl.mjs.map +1 -0
- package/lib/tools/SessionToolRunner.d.mts +154 -0
- package/lib/tools/SessionToolRunner.d.mts.map +1 -0
- package/lib/tools/SessionToolRunner.d.ts +154 -0
- package/lib/tools/SessionToolRunner.d.ts.map +1 -0
- package/lib/tools/SessionToolRunner.js +474 -0
- package/lib/tools/SessionToolRunner.js.map +1 -0
- package/lib/tools/SessionToolRunner.mjs +470 -0
- package/lib/tools/SessionToolRunner.mjs.map +1 -0
- package/lib/tools/ToolError.d.mts +33 -0
- package/lib/tools/ToolError.d.mts.map +1 -0
- package/lib/tools/ToolError.d.ts +33 -0
- package/lib/tools/ToolError.d.ts.map +1 -0
- package/lib/tools/ToolError.js +42 -0
- package/lib/tools/ToolError.js.map +1 -0
- package/lib/tools/ToolError.mjs +38 -0
- package/lib/tools/ToolError.mjs.map +1 -0
- package/lib/tools/ToolRunner.d.mts +132 -0
- package/lib/tools/ToolRunner.d.mts.map +1 -0
- package/lib/tools/ToolRunner.d.ts +132 -0
- package/lib/tools/ToolRunner.d.ts.map +1 -0
- package/lib/tools/ToolRunner.js +294 -0
- package/lib/tools/ToolRunner.js.map +1 -0
- package/lib/tools/ToolRunner.mjs +290 -0
- package/lib/tools/ToolRunner.mjs.map +1 -0
- package/lib/transform-json-schema.d.mts +3 -0
- package/lib/transform-json-schema.d.mts.map +1 -0
- package/lib/transform-json-schema.d.ts +3 -0
- package/lib/transform-json-schema.d.ts.map +1 -0
- package/lib/transform-json-schema.js +114 -0
- package/lib/transform-json-schema.js.map +1 -0
- package/lib/transform-json-schema.mjs +111 -0
- package/lib/transform-json-schema.mjs.map +1 -0
- package/package.json +266 -0
- package/pagination.d.mts +3 -0
- package/pagination.d.mts.map +1 -0
- package/pagination.d.ts +3 -0
- package/pagination.d.ts.map +1 -0
- package/pagination.js +6 -0
- package/pagination.js.map +1 -0
- package/pagination.mjs +3 -0
- package/pagination.mjs.map +1 -0
- package/resource.d.mts +3 -0
- package/resource.d.mts.map +1 -0
- package/resource.d.ts +3 -0
- package/resource.d.ts.map +1 -0
- package/resource.js +6 -0
- package/resource.js.map +1 -0
- package/resource.mjs +3 -0
- package/resource.mjs.map +1 -0
- package/resources/beta/agents/agents.d.mts +917 -0
- package/resources/beta/agents/agents.d.mts.map +1 -0
- package/resources/beta/agents/agents.d.ts +917 -0
- package/resources/beta/agents/agents.d.ts.map +1 -0
- package/resources/beta/agents/agents.js +133 -0
- package/resources/beta/agents/agents.js.map +1 -0
- package/resources/beta/agents/agents.mjs +128 -0
- package/resources/beta/agents/agents.mjs.map +1 -0
- package/resources/beta/agents/index.d.mts +3 -0
- package/resources/beta/agents/index.d.mts.map +1 -0
- package/resources/beta/agents/index.d.ts +3 -0
- package/resources/beta/agents/index.d.ts.map +1 -0
- package/resources/beta/agents/index.js +9 -0
- package/resources/beta/agents/index.js.map +1 -0
- package/resources/beta/agents/index.mjs +4 -0
- package/resources/beta/agents/index.mjs.map +1 -0
- package/resources/beta/agents/versions.d.mts +33 -0
- package/resources/beta/agents/versions.d.mts.map +1 -0
- package/resources/beta/agents/versions.d.ts +33 -0
- package/resources/beta/agents/versions.d.ts.map +1 -0
- package/resources/beta/agents/versions.js +36 -0
- package/resources/beta/agents/versions.js.map +1 -0
- package/resources/beta/agents/versions.mjs +32 -0
- package/resources/beta/agents/versions.mjs.map +1 -0
- package/resources/beta/agents.d.mts +2 -0
- package/resources/beta/agents.d.mts.map +1 -0
- package/resources/beta/agents.d.ts +2 -0
- package/resources/beta/agents.d.ts.map +1 -0
- package/resources/beta/agents.js +6 -0
- package/resources/beta/agents.js.map +1 -0
- package/resources/beta/agents.mjs +3 -0
- package/resources/beta/agents.mjs.map +1 -0
- package/resources/beta/beta.d.mts +102 -0
- package/resources/beta/beta.d.mts.map +1 -0
- package/resources/beta/beta.d.ts +102 -0
- package/resources/beta/beta.d.ts.map +1 -0
- package/resources/beta/beta.js +65 -0
- package/resources/beta/beta.js.map +1 -0
- package/resources/beta/beta.mjs +60 -0
- package/resources/beta/beta.mjs.map +1 -0
- package/resources/beta/deployment-runs.d.mts +311 -0
- package/resources/beta/deployment-runs.d.mts.map +1 -0
- package/resources/beta/deployment-runs.d.ts +311 -0
- package/resources/beta/deployment-runs.d.ts.map +1 -0
- package/resources/beta/deployment-runs.js +60 -0
- package/resources/beta/deployment-runs.js.map +1 -0
- package/resources/beta/deployment-runs.mjs +56 -0
- package/resources/beta/deployment-runs.mjs.map +1 -0
- package/resources/beta/deployments.d.mts +688 -0
- package/resources/beta/deployments.d.mts.map +1 -0
- package/resources/beta/deployments.d.ts +688 -0
- package/resources/beta/deployments.d.ts.map +1 -0
- package/resources/beta/deployments.js +201 -0
- package/resources/beta/deployments.js.map +1 -0
- package/resources/beta/deployments.mjs +197 -0
- package/resources/beta/deployments.mjs.map +1 -0
- package/resources/beta/environments/environments.d.mts +463 -0
- package/resources/beta/environments/environments.d.mts.map +1 -0
- package/resources/beta/environments/environments.d.ts +463 -0
- package/resources/beta/environments/environments.d.ts.map +1 -0
- package/resources/beta/environments/environments.js +150 -0
- package/resources/beta/environments/environments.js.map +1 -0
- package/resources/beta/environments/environments.mjs +145 -0
- package/resources/beta/environments/environments.mjs.map +1 -0
- package/resources/beta/environments/index.d.mts +3 -0
- package/resources/beta/environments/index.d.mts.map +1 -0
- package/resources/beta/environments/index.d.ts +3 -0
- package/resources/beta/environments/index.d.ts.map +1 -0
- package/resources/beta/environments/index.js +9 -0
- package/resources/beta/environments/index.js.map +1 -0
- package/resources/beta/environments/index.mjs +4 -0
- package/resources/beta/environments/index.mjs.map +1 -0
- package/resources/beta/environments/work.d.mts +499 -0
- package/resources/beta/environments/work.d.mts.map +1 -0
- package/resources/beta/environments/work.d.ts +499 -0
- package/resources/beta/environments/work.d.ts.map +1 -0
- package/resources/beta/environments/work.js +281 -0
- package/resources/beta/environments/work.js.map +1 -0
- package/resources/beta/environments/work.mjs +275 -0
- package/resources/beta/environments/work.mjs.map +1 -0
- package/resources/beta/environments.d.mts +2 -0
- package/resources/beta/environments.d.mts.map +1 -0
- package/resources/beta/environments.d.ts +2 -0
- package/resources/beta/environments.d.ts.map +1 -0
- package/resources/beta/environments.js +6 -0
- package/resources/beta/environments.js.map +1 -0
- package/resources/beta/environments.mjs +3 -0
- package/resources/beta/environments.mjs.map +1 -0
- package/resources/beta/files.d.mts +179 -0
- package/resources/beta/files.d.mts.map +1 -0
- package/resources/beta/files.d.ts +179 -0
- package/resources/beta/files.d.ts.map +1 -0
- package/resources/beta/files.js +132 -0
- package/resources/beta/files.js.map +1 -0
- package/resources/beta/files.mjs +128 -0
- package/resources/beta/files.mjs.map +1 -0
- package/resources/beta/index.d.mts +15 -0
- package/resources/beta/index.d.mts.map +1 -0
- package/resources/beta/index.d.ts +15 -0
- package/resources/beta/index.d.ts.map +1 -0
- package/resources/beta/index.js +33 -0
- package/resources/beta/index.js.map +1 -0
- package/resources/beta/index.mjs +16 -0
- package/resources/beta/index.mjs.map +1 -0
- package/resources/beta/memory-stores/index.d.mts +4 -0
- package/resources/beta/memory-stores/index.d.mts.map +1 -0
- package/resources/beta/memory-stores/index.d.ts +4 -0
- package/resources/beta/memory-stores/index.d.ts.map +1 -0
- package/resources/beta/memory-stores/index.js +11 -0
- package/resources/beta/memory-stores/index.js.map +1 -0
- package/resources/beta/memory-stores/index.mjs +5 -0
- package/resources/beta/memory-stores/index.mjs.map +1 -0
- package/resources/beta/memory-stores/memories.d.mts +368 -0
- package/resources/beta/memory-stores/memories.d.mts.map +1 -0
- package/resources/beta/memory-stores/memories.d.ts +368 -0
- package/resources/beta/memory-stores/memories.d.ts.map +1 -0
- package/resources/beta/memory-stores/memories.js +134 -0
- package/resources/beta/memory-stores/memories.js.map +1 -0
- package/resources/beta/memory-stores/memories.mjs +130 -0
- package/resources/beta/memory-stores/memories.mjs.map +1 -0
- package/resources/beta/memory-stores/memory-stores.d.mts +235 -0
- package/resources/beta/memory-stores/memory-stores.d.mts.map +1 -0
- package/resources/beta/memory-stores/memory-stores.d.ts +235 -0
- package/resources/beta/memory-stores/memory-stores.d.ts.map +1 -0
- package/resources/beta/memory-stores/memory-stores.js +149 -0
- package/resources/beta/memory-stores/memory-stores.js.map +1 -0
- package/resources/beta/memory-stores/memory-stores.mjs +144 -0
- package/resources/beta/memory-stores/memory-stores.mjs.map +1 -0
- package/resources/beta/memory-stores/memory-versions.d.mts +241 -0
- package/resources/beta/memory-stores/memory-versions.d.mts.map +1 -0
- package/resources/beta/memory-stores/memory-versions.d.ts +241 -0
- package/resources/beta/memory-stores/memory-versions.d.ts.map +1 -0
- package/resources/beta/memory-stores/memory-versions.js +85 -0
- package/resources/beta/memory-stores/memory-versions.js.map +1 -0
- package/resources/beta/memory-stores/memory-versions.mjs +81 -0
- package/resources/beta/memory-stores/memory-versions.mjs.map +1 -0
- package/resources/beta/memory-stores.d.mts +2 -0
- package/resources/beta/memory-stores.d.mts.map +1 -0
- package/resources/beta/memory-stores.d.ts +2 -0
- package/resources/beta/memory-stores.d.ts.map +1 -0
- package/resources/beta/memory-stores.js +6 -0
- package/resources/beta/memory-stores.js.map +1 -0
- package/resources/beta/memory-stores.mjs +3 -0
- package/resources/beta/memory-stores.mjs.map +1 -0
- package/resources/beta/messages/batches.d.mts +689 -0
- package/resources/beta/messages/batches.d.mts.map +1 -0
- package/resources/beta/messages/batches.d.ts +689 -0
- package/resources/beta/messages/batches.d.ts.map +1 -0
- package/resources/beta/messages/batches.js +212 -0
- package/resources/beta/messages/batches.js.map +1 -0
- package/resources/beta/messages/batches.mjs +208 -0
- package/resources/beta/messages/batches.mjs.map +1 -0
- package/resources/beta/messages/index.d.mts +4 -0
- package/resources/beta/messages/index.d.mts.map +1 -0
- package/resources/beta/messages/index.d.ts +4 -0
- package/resources/beta/messages/index.d.ts.map +1 -0
- package/resources/beta/messages/index.js +12 -0
- package/resources/beta/messages/index.js.map +1 -0
- package/resources/beta/messages/index.mjs +5 -0
- package/resources/beta/messages/index.mjs.map +1 -0
- package/resources/beta/messages/messages.d.mts +3795 -0
- package/resources/beta/messages/messages.d.mts.map +1 -0
- package/resources/beta/messages/messages.d.ts +3795 -0
- package/resources/beta/messages/messages.d.ts.map +1 -0
- package/resources/beta/messages/messages.js +188 -0
- package/resources/beta/messages/messages.js.map +1 -0
- package/resources/beta/messages/messages.mjs +181 -0
- package/resources/beta/messages/messages.mjs.map +1 -0
- package/resources/beta/messages.d.mts +2 -0
- package/resources/beta/messages.d.mts.map +1 -0
- package/resources/beta/messages.d.ts +2 -0
- package/resources/beta/messages.d.ts.map +1 -0
- package/resources/beta/messages.js +6 -0
- package/resources/beta/messages.js.map +1 -0
- package/resources/beta/messages.mjs +3 -0
- package/resources/beta/messages.mjs.map +1 -0
- package/resources/beta/models.d.mts +223 -0
- package/resources/beta/models.d.mts.map +1 -0
- package/resources/beta/models.d.ts +223 -0
- package/resources/beta/models.d.ts.map +1 -0
- package/resources/beta/models.js +65 -0
- package/resources/beta/models.js.map +1 -0
- package/resources/beta/models.mjs +61 -0
- package/resources/beta/models.mjs.map +1 -0
- package/resources/beta/sessions/events.d.mts +1466 -0
- package/resources/beta/sessions/events.d.mts.map +1 -0
- package/resources/beta/sessions/events.d.ts +1466 -0
- package/resources/beta/sessions/events.d.ts.map +1 -0
- package/resources/beta/sessions/events.js +122 -0
- package/resources/beta/sessions/events.js.map +1 -0
- package/resources/beta/sessions/events.mjs +117 -0
- package/resources/beta/sessions/events.mjs.map +1 -0
- package/resources/beta/sessions/index.d.mts +5 -0
- package/resources/beta/sessions/index.d.mts.map +1 -0
- package/resources/beta/sessions/index.d.ts +5 -0
- package/resources/beta/sessions/index.d.ts.map +1 -0
- package/resources/beta/sessions/index.js +13 -0
- package/resources/beta/sessions/index.js.map +1 -0
- package/resources/beta/sessions/index.mjs +6 -0
- package/resources/beta/sessions/index.mjs.map +1 -0
- package/resources/beta/sessions/resources.d.mts +231 -0
- package/resources/beta/sessions/resources.d.mts.map +1 -0
- package/resources/beta/sessions/resources.d.ts +231 -0
- package/resources/beta/sessions/resources.d.ts.map +1 -0
- package/resources/beta/sessions/resources.js +135 -0
- package/resources/beta/sessions/resources.js.map +1 -0
- package/resources/beta/sessions/resources.mjs +131 -0
- package/resources/beta/sessions/resources.mjs.map +1 -0
- package/resources/beta/sessions/sessions.d.mts +819 -0
- package/resources/beta/sessions/sessions.d.mts.map +1 -0
- package/resources/beta/sessions/sessions.d.ts +819 -0
- package/resources/beta/sessions/sessions.d.ts.map +1 -0
- package/resources/beta/sessions/sessions.js +159 -0
- package/resources/beta/sessions/sessions.js.map +1 -0
- package/resources/beta/sessions/sessions.mjs +154 -0
- package/resources/beta/sessions/sessions.mjs.map +1 -0
- package/resources/beta/sessions/threads/events.d.mts +64 -0
- package/resources/beta/sessions/threads/events.d.mts.map +1 -0
- package/resources/beta/sessions/threads/events.d.ts +64 -0
- package/resources/beta/sessions/threads/events.d.ts.map +1 -0
- package/resources/beta/sessions/threads/events.js +60 -0
- package/resources/beta/sessions/threads/events.js.map +1 -0
- package/resources/beta/sessions/threads/events.mjs +56 -0
- package/resources/beta/sessions/threads/events.mjs.map +1 -0
- package/resources/beta/sessions/threads/index.d.mts +3 -0
- package/resources/beta/sessions/threads/index.d.mts.map +1 -0
- package/resources/beta/sessions/threads/index.d.ts +3 -0
- package/resources/beta/sessions/threads/index.d.ts.map +1 -0
- package/resources/beta/sessions/threads/index.js +9 -0
- package/resources/beta/sessions/threads/index.js.map +1 -0
- package/resources/beta/sessions/threads/index.mjs +4 -0
- package/resources/beta/sessions/threads/index.mjs.map +1 -0
- package/resources/beta/sessions/threads/threads.d.mts +183 -0
- package/resources/beta/sessions/threads/threads.d.mts.map +1 -0
- package/resources/beta/sessions/threads/threads.d.ts +183 -0
- package/resources/beta/sessions/threads/threads.d.ts.map +1 -0
- package/resources/beta/sessions/threads/threads.js +88 -0
- package/resources/beta/sessions/threads/threads.js.map +1 -0
- package/resources/beta/sessions/threads/threads.mjs +83 -0
- package/resources/beta/sessions/threads/threads.mjs.map +1 -0
- package/resources/beta/sessions/threads.d.mts +2 -0
- package/resources/beta/sessions/threads.d.mts.map +1 -0
- package/resources/beta/sessions/threads.d.ts +2 -0
- package/resources/beta/sessions/threads.d.ts.map +1 -0
- package/resources/beta/sessions/threads.js +6 -0
- package/resources/beta/sessions/threads.js.map +1 -0
- package/resources/beta/sessions/threads.mjs +3 -0
- package/resources/beta/sessions/threads.mjs.map +1 -0
- package/resources/beta/sessions.d.mts +2 -0
- package/resources/beta/sessions.d.mts.map +1 -0
- package/resources/beta/sessions.d.ts +2 -0
- package/resources/beta/sessions.d.ts.map +1 -0
- package/resources/beta/sessions.js +6 -0
- package/resources/beta/sessions.js.map +1 -0
- package/resources/beta/sessions.mjs +3 -0
- package/resources/beta/sessions.mjs.map +1 -0
- package/resources/beta/skills/index.d.mts +3 -0
- package/resources/beta/skills/index.d.mts.map +1 -0
- package/resources/beta/skills/index.d.ts +3 -0
- package/resources/beta/skills/index.d.ts.map +1 -0
- package/resources/beta/skills/index.js +9 -0
- package/resources/beta/skills/index.js.map +1 -0
- package/resources/beta/skills/index.mjs +4 -0
- package/resources/beta/skills/index.mjs.map +1 -0
- package/resources/beta/skills/skills.d.mts +258 -0
- package/resources/beta/skills/skills.d.mts.map +1 -0
- package/resources/beta/skills/skills.d.ts +258 -0
- package/resources/beta/skills/skills.d.ts.map +1 -0
- package/resources/beta/skills/skills.js +105 -0
- package/resources/beta/skills/skills.js.map +1 -0
- package/resources/beta/skills/skills.mjs +100 -0
- package/resources/beta/skills/skills.mjs.map +1 -0
- package/resources/beta/skills/versions.d.mts +298 -0
- package/resources/beta/skills/versions.d.mts.map +1 -0
- package/resources/beta/skills/versions.d.ts +298 -0
- package/resources/beta/skills/versions.d.ts.map +1 -0
- package/resources/beta/skills/versions.js +137 -0
- package/resources/beta/skills/versions.js.map +1 -0
- package/resources/beta/skills/versions.mjs +133 -0
- package/resources/beta/skills/versions.mjs.map +1 -0
- package/resources/beta/skills.d.mts +2 -0
- package/resources/beta/skills.d.mts.map +1 -0
- package/resources/beta/skills.d.ts +2 -0
- package/resources/beta/skills.d.ts.map +1 -0
- package/resources/beta/skills.js +6 -0
- package/resources/beta/skills.js.map +1 -0
- package/resources/beta/skills.mjs +3 -0
- package/resources/beta/skills.mjs.map +1 -0
- package/resources/beta/user-profiles.d.mts +228 -0
- package/resources/beta/user-profiles.d.mts.map +1 -0
- package/resources/beta/user-profiles.d.ts +228 -0
- package/resources/beta/user-profiles.d.ts.map +1 -0
- package/resources/beta/user-profiles.js +123 -0
- package/resources/beta/user-profiles.js.map +1 -0
- package/resources/beta/user-profiles.mjs +119 -0
- package/resources/beta/user-profiles.mjs.map +1 -0
- package/resources/beta/vaults/credentials.d.mts +843 -0
- package/resources/beta/vaults/credentials.d.mts.map +1 -0
- package/resources/beta/vaults/credentials.d.ts +843 -0
- package/resources/beta/vaults/credentials.d.ts.map +1 -0
- package/resources/beta/vaults/credentials.js +177 -0
- package/resources/beta/vaults/credentials.js.map +1 -0
- package/resources/beta/vaults/credentials.mjs +173 -0
- package/resources/beta/vaults/credentials.mjs.map +1 -0
- package/resources/beta/vaults/index.d.mts +3 -0
- package/resources/beta/vaults/index.d.mts.map +1 -0
- package/resources/beta/vaults/index.d.ts +3 -0
- package/resources/beta/vaults/index.d.ts.map +1 -0
- package/resources/beta/vaults/index.js +9 -0
- package/resources/beta/vaults/index.js.map +1 -0
- package/resources/beta/vaults/index.mjs +4 -0
- package/resources/beta/vaults/index.mjs.map +1 -0
- package/resources/beta/vaults/vaults.d.mts +192 -0
- package/resources/beta/vaults/vaults.d.mts.map +1 -0
- package/resources/beta/vaults/vaults.d.ts +192 -0
- package/resources/beta/vaults/vaults.d.ts.map +1 -0
- package/resources/beta/vaults/vaults.js +149 -0
- package/resources/beta/vaults/vaults.js.map +1 -0
- package/resources/beta/vaults/vaults.mjs +144 -0
- package/resources/beta/vaults/vaults.mjs.map +1 -0
- package/resources/beta/vaults.d.mts +2 -0
- package/resources/beta/vaults.d.mts.map +1 -0
- package/resources/beta/vaults.d.ts +2 -0
- package/resources/beta/vaults.d.ts.map +1 -0
- package/resources/beta/vaults.js +6 -0
- package/resources/beta/vaults.js.map +1 -0
- package/resources/beta/vaults.mjs +3 -0
- package/resources/beta/vaults.mjs.map +1 -0
- package/resources/beta/webhooks.d.mts +399 -0
- package/resources/beta/webhooks.d.mts.map +1 -0
- package/resources/beta/webhooks.d.ts +399 -0
- package/resources/beta/webhooks.d.ts.map +1 -0
- package/resources/beta/webhooks.js +25 -0
- package/resources/beta/webhooks.js.map +1 -0
- package/resources/beta/webhooks.mjs +21 -0
- package/resources/beta/webhooks.mjs.map +1 -0
- package/resources/beta.d.mts +2 -0
- package/resources/beta.d.mts.map +1 -0
- package/resources/beta.d.ts +2 -0
- package/resources/beta.d.ts.map +1 -0
- package/resources/beta.js +6 -0
- package/resources/beta.js.map +1 -0
- package/resources/beta.mjs +3 -0
- package/resources/beta.mjs.map +1 -0
- package/resources/completions.d.mts +173 -0
- package/resources/completions.d.mts.map +1 -0
- package/resources/completions.d.ts +173 -0
- package/resources/completions.d.ts.map +1 -0
- package/resources/completions.js +23 -0
- package/resources/completions.js.map +1 -0
- package/resources/completions.mjs +19 -0
- package/resources/completions.mjs.map +1 -0
- package/resources/index.d.mts +6 -0
- package/resources/index.d.mts.map +1 -0
- package/resources/index.d.ts +6 -0
- package/resources/index.d.ts.map +1 -0
- package/resources/index.js +15 -0
- package/resources/index.js.map +1 -0
- package/resources/index.mjs +7 -0
- package/resources/index.mjs.map +1 -0
- package/resources/messages/batches.d.mts +313 -0
- package/resources/messages/batches.d.mts.map +1 -0
- package/resources/messages/batches.d.ts +313 -0
- package/resources/messages/batches.d.ts.map +1 -0
- package/resources/messages/batches.js +161 -0
- package/resources/messages/batches.js.map +1 -0
- package/resources/messages/batches.mjs +157 -0
- package/resources/messages/batches.mjs.map +1 -0
- package/resources/messages/index.d.mts +3 -0
- package/resources/messages/index.d.mts.map +1 -0
- package/resources/messages/index.d.ts +3 -0
- package/resources/messages/index.d.ts.map +1 -0
- package/resources/messages/index.js +9 -0
- package/resources/messages/index.js.map +1 -0
- package/resources/messages/index.mjs +4 -0
- package/resources/messages/index.mjs.map +1 -0
- package/resources/messages/messages.d.mts +2580 -0
- package/resources/messages/messages.d.mts.map +1 -0
- package/resources/messages/messages.d.ts +2580 -0
- package/resources/messages/messages.d.ts.map +1 -0
- package/resources/messages/messages.js +148 -0
- package/resources/messages/messages.js.map +1 -0
- package/resources/messages/messages.mjs +143 -0
- package/resources/messages/messages.mjs.map +1 -0
- package/resources/messages.d.mts +2 -0
- package/resources/messages.d.mts.map +1 -0
- package/resources/messages.d.ts +2 -0
- package/resources/messages.d.ts.map +1 -0
- package/resources/messages.js +6 -0
- package/resources/messages.js.map +1 -0
- package/resources/messages.mjs +3 -0
- package/resources/messages.mjs.map +1 -0
- package/resources/models.d.mts +197 -0
- package/resources/models.d.mts.map +1 -0
- package/resources/models.d.ts +197 -0
- package/resources/models.d.ts.map +1 -0
- package/resources/models.js +45 -0
- package/resources/models.js.map +1 -0
- package/resources/models.mjs +41 -0
- package/resources/models.mjs.map +1 -0
- package/resources/shared.d.mts +59 -0
- package/resources/shared.d.mts.map +1 -0
- package/resources/shared.d.ts +59 -0
- package/resources/shared.d.ts.map +1 -0
- package/resources/shared.js +4 -0
- package/resources/shared.js.map +1 -0
- package/resources/shared.mjs +3 -0
- package/resources/shared.mjs.map +1 -0
- package/resources/top-level.d.mts +2 -0
- package/resources/top-level.d.mts.map +1 -0
- package/resources/top-level.d.ts +2 -0
- package/resources/top-level.d.ts.map +1 -0
- package/resources/top-level.js +4 -0
- package/resources/top-level.js.map +1 -0
- package/resources/top-level.mjs +3 -0
- package/resources/top-level.mjs.map +1 -0
- package/resources.d.mts +2 -0
- package/resources.d.mts.map +1 -0
- package/resources.d.ts +2 -0
- package/resources.d.ts.map +1 -0
- package/resources.js +5 -0
- package/resources.js.map +1 -0
- package/resources.mjs +2 -0
- package/resources.mjs.map +1 -0
- package/src/_vendor/partial-json-parser/README.md +3 -0
- package/src/_vendor/partial-json-parser/parser.ts +280 -0
- package/src/api-promise.ts +2 -0
- package/src/client.ts +1858 -0
- package/src/core/README.md +3 -0
- package/src/core/api-promise.ts +101 -0
- package/src/core/api.ts +11 -0
- package/src/core/credentials.ts +379 -0
- package/src/core/error.ts +160 -0
- package/src/core/middleware.ts +339 -0
- package/src/core/pagination.ts +378 -0
- package/src/core/resource.ts +11 -0
- package/src/core/streaming.ts +403 -0
- package/src/core/uploads.ts +2 -0
- package/src/error.ts +2 -0
- package/src/helpers/beta/environments.ts +36 -0
- package/src/helpers/beta/json-schema.ts +85 -0
- package/src/helpers/beta/mcp.ts +624 -0
- package/src/helpers/beta/memory.ts +28 -0
- package/src/helpers/beta/zod.ts +81 -0
- package/src/helpers/index.ts +2 -0
- package/src/helpers/json-schema.ts +48 -0
- package/src/helpers/zod.ts +57 -0
- package/src/index.ts +47 -0
- package/src/internal/README.md +3 -0
- package/src/internal/builtin-types.ts +93 -0
- package/src/internal/constants.ts +15 -0
- package/src/internal/decoders/jsonl.ts +48 -0
- package/src/internal/decoders/line.ts +135 -0
- package/src/internal/detect-platform.ts +196 -0
- package/src/internal/errors.ts +33 -0
- package/src/internal/headers.ts +142 -0
- package/src/internal/message-stream-utils.ts +30 -0
- package/src/internal/parse.ts +86 -0
- package/src/internal/qs/LICENSE.md +13 -0
- package/src/internal/qs/README.md +3 -0
- package/src/internal/qs/formats.ts +10 -0
- package/src/internal/qs/index.ts +13 -0
- package/src/internal/qs/stringify.ts +385 -0
- package/src/internal/qs/types.ts +71 -0
- package/src/internal/qs/utils.ts +265 -0
- package/src/internal/request-options.ts +146 -0
- package/src/internal/shim-types.ts +26 -0
- package/src/internal/shims.ts +107 -0
- package/src/internal/stainless-helper-header.ts +122 -0
- package/src/internal/stream-utils.ts +32 -0
- package/src/internal/to-file.ts +159 -0
- package/src/internal/types.ts +93 -0
- package/src/internal/uploads.ts +204 -0
- package/src/internal/utils/abort.ts +21 -0
- package/src/internal/utils/async-queue.ts +66 -0
- package/src/internal/utils/backoff.ts +41 -0
- package/src/internal/utils/base64.ts +40 -0
- package/src/internal/utils/bytes.ts +32 -0
- package/src/internal/utils/env.ts +18 -0
- package/src/internal/utils/log.ts +158 -0
- package/src/internal/utils/path.ts +88 -0
- package/src/internal/utils/promise.ts +18 -0
- package/src/internal/utils/query.ts +7 -0
- package/src/internal/utils/sleep.ts +26 -0
- package/src/internal/utils/time.ts +4 -0
- package/src/internal/utils/uuid.ts +17 -0
- package/src/internal/utils/values.ts +112 -0
- package/src/internal/utils.ts +9 -0
- package/src/lib/.keep +4 -0
- package/src/lib/BetaMessageStream.ts +781 -0
- package/src/lib/MessageStream.ts +740 -0
- package/src/lib/beta-parser.ts +148 -0
- package/src/lib/credentials/credential-chain.ts +292 -0
- package/src/lib/credentials/identity-token.ts +37 -0
- package/src/lib/credentials/oidc-federation.ts +140 -0
- package/src/lib/credentials/token-cache.ts +130 -0
- package/src/lib/credentials/types.ts +295 -0
- package/src/lib/credentials/user-oauth.ts +144 -0
- package/src/lib/credentials.ts +3 -0
- package/src/lib/environments/index.ts +23 -0
- package/src/lib/environments/poller.ts +257 -0
- package/src/lib/environments/worker.ts +404 -0
- package/src/lib/helper-client.ts +102 -0
- package/src/lib/middleware.ts +949 -0
- package/src/lib/parser.ts +125 -0
- package/src/lib/sessions/accumulate.ts +129 -0
- package/src/lib/tools/BetaRunnableTool.ts +130 -0
- package/src/lib/tools/BetaToolRunner.ts +542 -0
- package/src/lib/tools/CompactionControl.ts +57 -0
- package/src/lib/tools/SessionToolRunner.ts +616 -0
- package/src/lib/tools/ToolError.ts +47 -0
- package/src/lib/tools/ToolRunner.ts +381 -0
- package/src/lib/transform-json-schema.ts +124 -0
- package/src/pagination.ts +2 -0
- package/src/resource.ts +2 -0
- package/src/resources/beta/agents/agents.ts +1279 -0
- package/src/resources/beta/agents/index.ts +65 -0
- package/src/resources/beta/agents/versions.ts +58 -0
- package/src/resources/beta/agents.ts +3 -0
- package/src/resources/beta/beta.ts +1267 -0
- package/src/resources/beta/deployment-runs.ts +446 -0
- package/src/resources/beta/deployments.ts +982 -0
- package/src/resources/beta/environments/environments.ts +673 -0
- package/src/resources/beta/environments/index.ts +45 -0
- package/src/resources/beta/environments/work.ts +699 -0
- package/src/resources/beta/environments.ts +3 -0
- package/src/resources/beta/files.ts +294 -0
- package/src/resources/beta/index.ts +570 -0
- package/src/resources/beta/memory-stores/index.ts +47 -0
- package/src/resources/beta/memory-stores/memories.ts +535 -0
- package/src/resources/beta/memory-stores/memory-stores.ts +422 -0
- package/src/resources/beta/memory-stores/memory-versions.ts +348 -0
- package/src/resources/beta/memory-stores.ts +3 -0
- package/src/resources/beta/messages/batches.ts +877 -0
- package/src/resources/beta/messages/index.ts +261 -0
- package/src/resources/beta/messages/messages.ts +5454 -0
- package/src/resources/beta/messages.ts +3 -0
- package/src/resources/beta/models.ts +301 -0
- package/src/resources/beta/sessions/events.ts +2036 -0
- package/src/resources/beta/sessions/index.ts +154 -0
- package/src/resources/beta/sessions/resources.ts +373 -0
- package/src/resources/beta/sessions/sessions.ts +1341 -0
- package/src/resources/beta/sessions/threads/events.ts +107 -0
- package/src/resources/beta/sessions/threads/index.ts +15 -0
- package/src/resources/beta/sessions/threads/threads.ts +314 -0
- package/src/resources/beta/sessions/threads.ts +3 -0
- package/src/resources/beta/sessions.ts +3 -0
- package/src/resources/beta/skills/index.ts +27 -0
- package/src/resources/beta/skills/skills.ts +392 -0
- package/src/resources/beta/skills/versions.ts +433 -0
- package/src/resources/beta/skills.ts +3 -0
- package/src/resources/beta/user-profiles.ts +330 -0
- package/src/resources/beta/vaults/credentials.ts +1172 -0
- package/src/resources/beta/vaults/index.ts +66 -0
- package/src/resources/beta/vaults/vaults.ts +409 -0
- package/src/resources/beta/vaults.ts +3 -0
- package/src/resources/beta/webhooks.ts +647 -0
- package/src/resources/beta.ts +3 -0
- package/src/resources/completions.ts +221 -0
- package/src/resources/index.ts +211 -0
- package/src/resources/messages/batches.ts +414 -0
- package/src/resources/messages/index.ts +194 -0
- package/src/resources/messages/messages.ts +3765 -0
- package/src/resources/messages.ts +3 -0
- package/src/resources/models.ts +274 -0
- package/src/resources/shared.ts +112 -0
- package/src/resources/top-level.ts +3 -0
- package/src/resources.ts +1 -0
- package/src/streaming.ts +2 -0
- package/src/tools/agent-toolset/fs-util.ts +157 -0
- package/src/tools/agent-toolset/node.browser.ts +90 -0
- package/src/tools/agent-toolset/node.ts +817 -0
- package/src/tools/agent-toolset/skills.ts +256 -0
- package/src/tools/memory/node.browser.ts +64 -0
- package/src/tools/memory/node.ts +400 -0
- package/src/tsconfig.json +11 -0
- package/src/uploads.ts +2 -0
- package/src/version.ts +1 -0
- package/streaming.d.mts +3 -0
- package/streaming.d.mts.map +1 -0
- package/streaming.d.ts +3 -0
- package/streaming.d.ts.map +1 -0
- package/streaming.js +6 -0
- package/streaming.js.map +1 -0
- package/streaming.mjs +3 -0
- package/streaming.mjs.map +1 -0
- package/tools/agent-toolset/fs-util.d.mts +50 -0
- package/tools/agent-toolset/fs-util.d.mts.map +1 -0
- package/tools/agent-toolset/fs-util.d.ts +50 -0
- package/tools/agent-toolset/fs-util.d.ts.map +1 -0
- package/tools/agent-toolset/fs-util.js +162 -0
- package/tools/agent-toolset/fs-util.js.map +1 -0
- package/tools/agent-toolset/fs-util.mjs +154 -0
- package/tools/agent-toolset/fs-util.mjs.map +1 -0
- package/tools/agent-toolset/node.browser.d.mts +42 -0
- package/tools/agent-toolset/node.browser.d.mts.map +1 -0
- package/tools/agent-toolset/node.browser.d.ts +42 -0
- package/tools/agent-toolset/node.browser.d.ts.map +1 -0
- package/tools/agent-toolset/node.browser.js +81 -0
- package/tools/agent-toolset/node.browser.js.map +1 -0
- package/tools/agent-toolset/node.browser.mjs +66 -0
- package/tools/agent-toolset/node.browser.mjs.map +1 -0
- package/tools/agent-toolset/node.d.mts +149 -0
- package/tools/agent-toolset/node.d.mts.map +1 -0
- package/tools/agent-toolset/node.d.ts +149 -0
- package/tools/agent-toolset/node.d.ts.map +1 -0
- package/tools/agent-toolset/node.js +768 -0
- package/tools/agent-toolset/node.js.map +1 -0
- package/tools/agent-toolset/node.mjs +753 -0
- package/tools/agent-toolset/node.mjs.map +1 -0
- package/tools/agent-toolset/skills.d.mts +50 -0
- package/tools/agent-toolset/skills.d.mts.map +1 -0
- package/tools/agent-toolset/skills.d.ts +50 -0
- package/tools/agent-toolset/skills.d.ts.map +1 -0
- package/tools/agent-toolset/skills.js +249 -0
- package/tools/agent-toolset/skills.js.map +1 -0
- package/tools/agent-toolset/skills.mjs +243 -0
- package/tools/agent-toolset/skills.mjs.map +1 -0
- package/tools/memory/node.browser.d.mts +27 -0
- package/tools/memory/node.browser.d.mts.map +1 -0
- package/tools/memory/node.browser.d.ts +27 -0
- package/tools/memory/node.browser.d.ts.map +1 -0
- package/tools/memory/node.browser.js +49 -0
- package/tools/memory/node.browser.js.map +1 -0
- package/tools/memory/node.browser.mjs +44 -0
- package/tools/memory/node.browser.mjs.map +1 -0
- package/tools/memory/node.d.mts +18 -0
- package/tools/memory/node.d.mts.map +1 -0
- package/tools/memory/node.d.ts +18 -0
- package/tools/memory/node.d.ts.map +1 -0
- package/tools/memory/node.js +331 -0
- package/tools/memory/node.js.map +1 -0
- package/tools/memory/node.mjs +325 -0
- package/tools/memory/node.mjs.map +1 -0
- package/uploads.d.mts +3 -0
- package/uploads.d.mts.map +1 -0
- package/uploads.d.ts +3 -0
- package/uploads.d.ts.map +1 -0
- package/uploads.js +6 -0
- package/uploads.js.map +1 -0
- package/uploads.mjs +3 -0
- package/uploads.mjs.map +1 -0
- package/version.d.mts +2 -0
- package/version.d.mts.map +1 -0
- package/version.d.ts +2 -0
- package/version.d.ts.map +1 -0
- package/version.js +5 -0
- package/version.js.map +1 -0
- package/version.mjs +2 -0
- package/version.mjs.map +1 -0
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { readEnv } from "../../internal/utils/env.mjs";
|
|
2
|
+
import { CREDENTIALS_FILE_VERSION, loadConfigWithSource, getCredentialsPath, } from "../../core/credentials.mjs";
|
|
3
|
+
import { MANDATORY_REFRESH_THRESHOLD_IN_SECONDS, WorkloadIdentityError, checkCredentialsFileSafety, writeCredentialsFileAtomic, } from "./types.mjs";
|
|
4
|
+
import { nowAsSeconds } from "../../internal/utils/time.mjs";
|
|
5
|
+
import { identityTokenFromFile, identityTokenFromValue } from "./identity-token.mjs";
|
|
6
|
+
import { oidcFederationProvider } from "./oidc-federation.mjs";
|
|
7
|
+
import { userOAuthProvider } from "./user-oauth.mjs";
|
|
8
|
+
export function resolveCredentialsFromConfig(config, options) {
|
|
9
|
+
const credentialsPath = config.authentication.credentials_path ?? null;
|
|
10
|
+
const effectiveBaseURL = (config.base_url || options.baseURL).replace(/\/+$/, '');
|
|
11
|
+
const provider = buildProvider(config, credentialsPath, effectiveBaseURL, options);
|
|
12
|
+
const extraHeaders = {};
|
|
13
|
+
// For federation profiles workspace_id is sent in the jwt-bearer exchange
|
|
14
|
+
// body, not as a request header (the minted token is already
|
|
15
|
+
// workspace-scoped, so the header would be ignored).
|
|
16
|
+
if (config.workspace_id && config.authentication.type === 'user_oauth') {
|
|
17
|
+
extraHeaders['anthropic-workspace-id'] = config.workspace_id;
|
|
18
|
+
}
|
|
19
|
+
// Surface the profile's own base_url (not the options.baseURL fallback) so
|
|
20
|
+
// the client can adopt it for outbound API requests when the caller didn't
|
|
21
|
+
// pin one explicitly. Echoing options.baseURL back would defeat precedence.
|
|
22
|
+
return { provider, extraHeaders, baseURL: config.base_url || undefined };
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Resolves a {@link CredentialResult} from the environment. Returns `null`
|
|
26
|
+
* when no credentials can be resolved.
|
|
27
|
+
*
|
|
28
|
+
* Resolution order:
|
|
29
|
+
*
|
|
30
|
+
* 1. Config file for the active profile (or the explicit `profile` argument)
|
|
31
|
+
* → dispatch on `authentication.type` (`oidc_federation`, `user_oauth`)
|
|
32
|
+
* 2. Environment variables `ANTHROPIC_FEDERATION_RULE_ID` +
|
|
33
|
+
* `ANTHROPIC_ORGANIZATION_ID` (+ identity token) → OIDC federation
|
|
34
|
+
* 3. Nothing matches → `null`
|
|
35
|
+
*
|
|
36
|
+
* Passing `profile` selects `<config_dir>/configs/<profile>.json` directly,
|
|
37
|
+
* skipping `ANTHROPIC_PROFILE` / `active_config` resolution.
|
|
38
|
+
*/
|
|
39
|
+
export async function defaultCredentials(options, profile) {
|
|
40
|
+
const loaded = await loadConfigWithSource(profile);
|
|
41
|
+
if (!loaded) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
const { config, fromFile } = loaded;
|
|
45
|
+
// For file-loaded configs, default credentials_path to the per-profile
|
|
46
|
+
// location so user_oauth and federation caching work. Shallow-clone first
|
|
47
|
+
// so callers that retain a reference to the loaded config don't observe the
|
|
48
|
+
// patched-in default.
|
|
49
|
+
//
|
|
50
|
+
// Env-only credentials (no profile file on disk) skip the disk cache —
|
|
51
|
+
// matching the other SDKs. A disk cache keyed by profile path would
|
|
52
|
+
// re-serve a stale token after a change to ANTHROPIC_WORKSPACE_ID (or
|
|
53
|
+
// ANTHROPIC_ORGANIZATION_ID / ANTHROPIC_FEDERATION_RULE_ID) until the
|
|
54
|
+
// cached token expired, so the env-only chain stays in-memory only.
|
|
55
|
+
const withPath = config.authentication.credentials_path || !fromFile ?
|
|
56
|
+
config
|
|
57
|
+
: {
|
|
58
|
+
...config,
|
|
59
|
+
authentication: {
|
|
60
|
+
...config.authentication,
|
|
61
|
+
credentials_path: (await getCredentialsPath(config, profile)) ?? undefined,
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
return resolveCredentialsFromConfig(withPath, options);
|
|
65
|
+
}
|
|
66
|
+
function buildProvider(config, credentialsPath, baseURL, options) {
|
|
67
|
+
switch (config.authentication.type) {
|
|
68
|
+
case 'oidc_federation': {
|
|
69
|
+
const auth = config.authentication;
|
|
70
|
+
const identityProvider = resolveIdentityTokenProvider(auth);
|
|
71
|
+
if (!identityProvider) {
|
|
72
|
+
throw new WorkloadIdentityError('oidc_federation config requires an identity token (set authentication.identity_token, ' +
|
|
73
|
+
'ANTHROPIC_IDENTITY_TOKEN_FILE, or ANTHROPIC_IDENTITY_TOKEN)');
|
|
74
|
+
}
|
|
75
|
+
if (!auth.federation_rule_id) {
|
|
76
|
+
throw new WorkloadIdentityError("oidc_federation config requires 'federation_rule_id'. Set it in authentication.federation_rule_id in your profile, or via ANTHROPIC_FEDERATION_RULE_ID (profile takes precedence).");
|
|
77
|
+
}
|
|
78
|
+
if (!config.organization_id) {
|
|
79
|
+
throw new WorkloadIdentityError('oidc_federation config requires organization_id (set ANTHROPIC_ORGANIZATION_ID or config.organization_id)');
|
|
80
|
+
}
|
|
81
|
+
const exchange = oidcFederationProvider({
|
|
82
|
+
identityTokenProvider: identityProvider,
|
|
83
|
+
federationRuleId: auth.federation_rule_id,
|
|
84
|
+
organizationId: config.organization_id,
|
|
85
|
+
serviceAccountId: auth.service_account_id,
|
|
86
|
+
workspaceId: config.workspace_id,
|
|
87
|
+
baseURL,
|
|
88
|
+
fetch: options.fetch,
|
|
89
|
+
userAgent: options.userAgent,
|
|
90
|
+
});
|
|
91
|
+
// If there's a credentials file path, wrap the exchange with file caching
|
|
92
|
+
// (check file for fresh token before exchanging, write back after).
|
|
93
|
+
if (credentialsPath) {
|
|
94
|
+
return cachedExchangeProvider(exchange, credentialsPath, options.onCacheWriteError, options.onSafetyWarning);
|
|
95
|
+
}
|
|
96
|
+
return exchange;
|
|
97
|
+
}
|
|
98
|
+
case 'user_oauth': {
|
|
99
|
+
if (!credentialsPath) {
|
|
100
|
+
throw new WorkloadIdentityError('user_oauth config requires authentication.credentials_path ' +
|
|
101
|
+
'(or load via a profile so it defaults to <config_dir>/credentials/<profile>.json)');
|
|
102
|
+
}
|
|
103
|
+
return userOAuthProvider({
|
|
104
|
+
credentialsPath,
|
|
105
|
+
clientId: config.authentication.client_id,
|
|
106
|
+
baseURL,
|
|
107
|
+
fetch: options.fetch,
|
|
108
|
+
userAgent: options.userAgent,
|
|
109
|
+
onSafetyWarning: options.onSafetyWarning,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
default: {
|
|
113
|
+
const t = config.authentication.type;
|
|
114
|
+
throw new WorkloadIdentityError(`authentication.type "${t}" is not a known authentication type`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Resolves the identity token provider from config fields or environment variables.
|
|
120
|
+
*
|
|
121
|
+
* Resolution order:
|
|
122
|
+
* 1. `identity_token.path` from the config (source: "file")
|
|
123
|
+
* 2. `ANTHROPIC_IDENTITY_TOKEN_FILE` env var
|
|
124
|
+
* 3. `ANTHROPIC_IDENTITY_TOKEN` env var (static value)
|
|
125
|
+
*/
|
|
126
|
+
function resolveIdentityTokenProvider(auth) {
|
|
127
|
+
if (auth.identity_token) {
|
|
128
|
+
// Cast needed to stringify an unknown source value for the error message:
|
|
129
|
+
// the on-disk JSON may contain a source this SDK version doesn't know about.
|
|
130
|
+
const source = auth.identity_token.source;
|
|
131
|
+
if (source !== 'file') {
|
|
132
|
+
throw new WorkloadIdentityError(`identity_token.source "${source}" is not supported by this SDK version (only "file")`);
|
|
133
|
+
}
|
|
134
|
+
if (!auth.identity_token.path) {
|
|
135
|
+
throw new WorkloadIdentityError(`identity_token.source "file" requires a non-empty path`);
|
|
136
|
+
}
|
|
137
|
+
return identityTokenFromFile(auth.identity_token.path);
|
|
138
|
+
}
|
|
139
|
+
const tokenFile = readEnv('ANTHROPIC_IDENTITY_TOKEN_FILE');
|
|
140
|
+
if (tokenFile) {
|
|
141
|
+
return identityTokenFromFile(tokenFile);
|
|
142
|
+
}
|
|
143
|
+
const tokenValue = readEnv('ANTHROPIC_IDENTITY_TOKEN');
|
|
144
|
+
if (tokenValue) {
|
|
145
|
+
return identityTokenFromValue(tokenValue);
|
|
146
|
+
}
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Wraps a federation exchange provider with credential file caching.
|
|
151
|
+
* Checks the file for a fresh token before exchanging, and writes the
|
|
152
|
+
* result back after a successful exchange (best-effort, atomic replace).
|
|
153
|
+
*
|
|
154
|
+
* Note: this is not cross-process serialized — two SDK instances that
|
|
155
|
+
* miss the cache simultaneously will both perform a full exchange and
|
|
156
|
+
* the last writer wins. That is acceptable: federation exchanges are
|
|
157
|
+
* idempotent and the cache is an optimization, not a correctness gate.
|
|
158
|
+
*/
|
|
159
|
+
function cachedExchangeProvider(exchange, credentialsPath, onCacheWriteError, onSafetyWarning) {
|
|
160
|
+
return async (opts) => {
|
|
161
|
+
const fs = await import('node:fs');
|
|
162
|
+
await checkCredentialsFileSafety(credentialsPath, onSafetyWarning);
|
|
163
|
+
// Try cached credentials file
|
|
164
|
+
let existing;
|
|
165
|
+
try {
|
|
166
|
+
const raw = await fs.promises.readFile(credentialsPath, 'utf-8');
|
|
167
|
+
existing = JSON.parse(raw);
|
|
168
|
+
const token = existing?.['access_token'];
|
|
169
|
+
if (token && !opts?.forceRefresh) {
|
|
170
|
+
const expiresAt = existing?.['expires_at'];
|
|
171
|
+
if (expiresAt == null || nowAsSeconds() < expiresAt - MANDATORY_REFRESH_THRESHOLD_IN_SECONDS) {
|
|
172
|
+
return { token, expiresAt: expiresAt ?? null };
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
catch (err) {
|
|
177
|
+
// ENOENT or invalid-JSON → no usable cache, exchange fresh. Other
|
|
178
|
+
// errors (EACCES, EISDIR, …) indicate a broken cache path; surface to
|
|
179
|
+
// the optional hook so they're at least debuggable, then proceed.
|
|
180
|
+
const code = err?.code;
|
|
181
|
+
if (code !== 'ENOENT' && !(err instanceof SyntaxError)) {
|
|
182
|
+
onCacheWriteError?.(err);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
// Exchange for a new token
|
|
186
|
+
const result = await exchange(opts);
|
|
187
|
+
// Write cache back (best-effort). Preserve any unknown keys from the
|
|
188
|
+
// existing file (notably refresh_token, in the unlikely case this path
|
|
189
|
+
// is shared with a user_oauth profile) so the federation cache writer
|
|
190
|
+
// doesn't clobber material it didn't own.
|
|
191
|
+
try {
|
|
192
|
+
await writeCredentialsFileAtomic(credentialsPath, {
|
|
193
|
+
...(existing ?? {}),
|
|
194
|
+
version: CREDENTIALS_FILE_VERSION,
|
|
195
|
+
type: 'oauth_token',
|
|
196
|
+
access_token: result.token,
|
|
197
|
+
expires_at: result.expiresAt,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
catch (err) {
|
|
201
|
+
// Best-effort caching: surface to the optional hook but never fail
|
|
202
|
+
// the exchange itself.
|
|
203
|
+
onCacheWriteError?.(err);
|
|
204
|
+
}
|
|
205
|
+
return result;
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=credential-chain.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-chain.mjs","sourceRoot":"","sources":["../../src/lib/credentials/credential-chain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { IdentityTokenProvider } from "./types.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Reads a JWT from a file on every call. Supports automatic rotation
|
|
4
|
+
* (e.g. Kubernetes projected service-account tokens).
|
|
5
|
+
*/
|
|
6
|
+
export declare function identityTokenFromFile(path: string): IdentityTokenProvider;
|
|
7
|
+
/**
|
|
8
|
+
* Wraps a static JWT string as an {@link IdentityTokenProvider}.
|
|
9
|
+
*/
|
|
10
|
+
export declare function identityTokenFromValue(token: string): IdentityTokenProvider;
|
|
11
|
+
//# sourceMappingURL=identity-token.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-token.d.mts","sourceRoot":"","sources":["../../src/lib/credentials/identity-token.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAgB;AAErD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAmBzE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAK3E"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { IdentityTokenProvider } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Reads a JWT from a file on every call. Supports automatic rotation
|
|
4
|
+
* (e.g. Kubernetes projected service-account tokens).
|
|
5
|
+
*/
|
|
6
|
+
export declare function identityTokenFromFile(path: string): IdentityTokenProvider;
|
|
7
|
+
/**
|
|
8
|
+
* Wraps a static JWT string as an {@link IdentityTokenProvider}.
|
|
9
|
+
*/
|
|
10
|
+
export declare function identityTokenFromValue(token: string): IdentityTokenProvider;
|
|
11
|
+
//# sourceMappingURL=identity-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-token.d.ts","sourceRoot":"","sources":["../../src/lib/credentials/identity-token.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAgB;AAErD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAmBzE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAK3E"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.identityTokenFromFile = identityTokenFromFile;
|
|
37
|
+
exports.identityTokenFromValue = identityTokenFromValue;
|
|
38
|
+
const error_1 = require("../../core/error.js");
|
|
39
|
+
/**
|
|
40
|
+
* Reads a JWT from a file on every call. Supports automatic rotation
|
|
41
|
+
* (e.g. Kubernetes projected service-account tokens).
|
|
42
|
+
*/
|
|
43
|
+
function identityTokenFromFile(path) {
|
|
44
|
+
if (!path) {
|
|
45
|
+
throw new error_1.AnthropicError('Identity token file path is empty');
|
|
46
|
+
}
|
|
47
|
+
return async () => {
|
|
48
|
+
const fs = await Promise.resolve().then(() => __importStar(require('node:fs')));
|
|
49
|
+
let content;
|
|
50
|
+
try {
|
|
51
|
+
content = await fs.promises.readFile(path, 'utf-8');
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
throw new error_1.AnthropicError(`Failed to read identity token file at ${path}: ${err}`);
|
|
55
|
+
}
|
|
56
|
+
const token = content.trim();
|
|
57
|
+
if (!token) {
|
|
58
|
+
throw new error_1.AnthropicError(`Identity token file at ${path} is empty`);
|
|
59
|
+
}
|
|
60
|
+
return token;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Wraps a static JWT string as an {@link IdentityTokenProvider}.
|
|
65
|
+
*/
|
|
66
|
+
function identityTokenFromValue(token) {
|
|
67
|
+
if (!token) {
|
|
68
|
+
throw new error_1.AnthropicError('Identity token value is empty');
|
|
69
|
+
}
|
|
70
|
+
return () => token;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=identity-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-token.js","sourceRoot":"","sources":["../../src/lib/credentials/identity-token.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,sDAmBC;AAKD,wDAKC;AApCD,+CAAkD;AAGlD;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,IAAY;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,sBAAc,CAAC,mCAAmC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,EAAE,GAAG,wDAAa,SAAS,GAAC,CAAC;QACnC,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,sBAAc,CAAC,yCAAyC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,sBAAc,CAAC,0BAA0B,IAAI,WAAW,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,KAAa;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,sBAAc,CAAC,+BAA+B,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AnthropicError } from "../../core/error.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Reads a JWT from a file on every call. Supports automatic rotation
|
|
4
|
+
* (e.g. Kubernetes projected service-account tokens).
|
|
5
|
+
*/
|
|
6
|
+
export function identityTokenFromFile(path) {
|
|
7
|
+
if (!path) {
|
|
8
|
+
throw new AnthropicError('Identity token file path is empty');
|
|
9
|
+
}
|
|
10
|
+
return async () => {
|
|
11
|
+
const fs = await import('node:fs');
|
|
12
|
+
let content;
|
|
13
|
+
try {
|
|
14
|
+
content = await fs.promises.readFile(path, 'utf-8');
|
|
15
|
+
}
|
|
16
|
+
catch (err) {
|
|
17
|
+
throw new AnthropicError(`Failed to read identity token file at ${path}: ${err}`);
|
|
18
|
+
}
|
|
19
|
+
const token = content.trim();
|
|
20
|
+
if (!token) {
|
|
21
|
+
throw new AnthropicError(`Identity token file at ${path} is empty`);
|
|
22
|
+
}
|
|
23
|
+
return token;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Wraps a static JWT string as an {@link IdentityTokenProvider}.
|
|
28
|
+
*/
|
|
29
|
+
export function identityTokenFromValue(token) {
|
|
30
|
+
if (!token) {
|
|
31
|
+
throw new AnthropicError('Identity token value is empty');
|
|
32
|
+
}
|
|
33
|
+
return () => token;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=identity-token.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-token.mjs","sourceRoot":"","sources":["../../src/lib/credentials/identity-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,6BAAyB;AAGlD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,cAAc,CAAC,mCAAmC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,cAAc,CAAC,yCAAyC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,cAAc,CAAC,0BAA0B,IAAI,WAAW,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,cAAc,CAAC,+BAA+B,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Fetch } from "../../internal/builtin-types.mjs";
|
|
2
|
+
import type { AccessTokenProvider, IdentityTokenProvider } from "./types.mjs";
|
|
3
|
+
export type OIDCFederationConfig = {
|
|
4
|
+
identityTokenProvider: IdentityTokenProvider;
|
|
5
|
+
federationRuleId: string;
|
|
6
|
+
organizationId: string;
|
|
7
|
+
serviceAccountId?: string | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* Optional `wrkspc_*` tagged ID, or the literal `"default"` to scope the
|
|
10
|
+
* token to the organization's default workspace. When omitted the server
|
|
11
|
+
* picks the rule's sole enabled workspace, else the org default if the rule
|
|
12
|
+
* covers it. Required when the rule enables more than one non-default
|
|
13
|
+
* workspace, or to target a specific workspace other than the one the
|
|
14
|
+
* server would pick. The minted token is workspace-scoped: per-request
|
|
15
|
+
* workspace selection (the `anthropic-workspace-id` header) is not supported
|
|
16
|
+
* for federation tokens — switching workspaces requires a new token exchange
|
|
17
|
+
* with a different `workspaceId`.
|
|
18
|
+
*/
|
|
19
|
+
workspaceId?: string | undefined;
|
|
20
|
+
baseURL: string;
|
|
21
|
+
fetch: Fetch;
|
|
22
|
+
/**
|
|
23
|
+
* Overrides the outgoing User-Agent header on the token exchange. When
|
|
24
|
+
* empty, sends an SDK-identified UA so the token endpoint's access logs
|
|
25
|
+
* identify the caller.
|
|
26
|
+
*/
|
|
27
|
+
userAgent?: string | undefined;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Exchanges an external OIDC JWT for an Anthropic access token via the
|
|
31
|
+
* RFC 7523 jwt-bearer grant.
|
|
32
|
+
*
|
|
33
|
+
* Each invocation performs a fresh token exchange. Wrap in a
|
|
34
|
+
* {@link TokenCache} to avoid exchanging on every request.
|
|
35
|
+
*
|
|
36
|
+
* Federation grants do not return a refresh token — callers re-exchange
|
|
37
|
+
* their assertion on expiry.
|
|
38
|
+
*/
|
|
39
|
+
export declare function oidcFederationProvider(config: OIDCFederationConfig): AccessTokenProvider;
|
|
40
|
+
//# sourceMappingURL=oidc-federation.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oidc-federation.d.mts","sourceRoot":"","sources":["../../src/lib/credentials/oidc-federation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,yCAAqC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAgB;AAc1E,MAAM,MAAM,oBAAoB,GAAG;IACjC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;IACb;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,GAAG,mBAAmB,CAuFxF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Fetch } from "../../internal/builtin-types.js";
|
|
2
|
+
import type { AccessTokenProvider, IdentityTokenProvider } from "./types.js";
|
|
3
|
+
export type OIDCFederationConfig = {
|
|
4
|
+
identityTokenProvider: IdentityTokenProvider;
|
|
5
|
+
federationRuleId: string;
|
|
6
|
+
organizationId: string;
|
|
7
|
+
serviceAccountId?: string | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* Optional `wrkspc_*` tagged ID, or the literal `"default"` to scope the
|
|
10
|
+
* token to the organization's default workspace. When omitted the server
|
|
11
|
+
* picks the rule's sole enabled workspace, else the org default if the rule
|
|
12
|
+
* covers it. Required when the rule enables more than one non-default
|
|
13
|
+
* workspace, or to target a specific workspace other than the one the
|
|
14
|
+
* server would pick. The minted token is workspace-scoped: per-request
|
|
15
|
+
* workspace selection (the `anthropic-workspace-id` header) is not supported
|
|
16
|
+
* for federation tokens — switching workspaces requires a new token exchange
|
|
17
|
+
* with a different `workspaceId`.
|
|
18
|
+
*/
|
|
19
|
+
workspaceId?: string | undefined;
|
|
20
|
+
baseURL: string;
|
|
21
|
+
fetch: Fetch;
|
|
22
|
+
/**
|
|
23
|
+
* Overrides the outgoing User-Agent header on the token exchange. When
|
|
24
|
+
* empty, sends an SDK-identified UA so the token endpoint's access logs
|
|
25
|
+
* identify the caller.
|
|
26
|
+
*/
|
|
27
|
+
userAgent?: string | undefined;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Exchanges an external OIDC JWT for an Anthropic access token via the
|
|
31
|
+
* RFC 7523 jwt-bearer grant.
|
|
32
|
+
*
|
|
33
|
+
* Each invocation performs a fresh token exchange. Wrap in a
|
|
34
|
+
* {@link TokenCache} to avoid exchanging on every request.
|
|
35
|
+
*
|
|
36
|
+
* Federation grants do not return a refresh token — callers re-exchange
|
|
37
|
+
* their assertion on expiry.
|
|
38
|
+
*/
|
|
39
|
+
export declare function oidcFederationProvider(config: OIDCFederationConfig): AccessTokenProvider;
|
|
40
|
+
//# sourceMappingURL=oidc-federation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oidc-federation.d.ts","sourceRoot":"","sources":["../../src/lib/credentials/oidc-federation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,wCAAqC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,mBAAgB;AAc1E,MAAM,MAAM,oBAAoB,GAAG;IACjC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;IACb;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,GAAG,mBAAmB,CAuFxF"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.oidcFederationProvider = oidcFederationProvider;
|
|
4
|
+
const types_1 = require("./types.js");
|
|
5
|
+
const time_1 = require("../../internal/utils/time.js");
|
|
6
|
+
const version_1 = require("../../version.js");
|
|
7
|
+
/**
|
|
8
|
+
* Exchanges an external OIDC JWT for an Anthropic access token via the
|
|
9
|
+
* RFC 7523 jwt-bearer grant.
|
|
10
|
+
*
|
|
11
|
+
* Each invocation performs a fresh token exchange. Wrap in a
|
|
12
|
+
* {@link TokenCache} to avoid exchanging on every request.
|
|
13
|
+
*
|
|
14
|
+
* Federation grants do not return a refresh token — callers re-exchange
|
|
15
|
+
* their assertion on expiry.
|
|
16
|
+
*/
|
|
17
|
+
function oidcFederationProvider(config) {
|
|
18
|
+
return async () => {
|
|
19
|
+
(0, types_1.requireSecureTokenEndpoint)(config.baseURL);
|
|
20
|
+
const jwt = await config.identityTokenProvider();
|
|
21
|
+
// The token endpoint enforces a 16 KiB assertion limit; surface a clear
|
|
22
|
+
// client-side error so misconfigured projected-token sources are
|
|
23
|
+
// diagnosable without a server round-trip.
|
|
24
|
+
if (jwt.length > 16 * 1024) {
|
|
25
|
+
throw new types_1.WorkloadIdentityError(`Identity token is ${Math.ceil(jwt.length / 1024)} KiB, exceeds the 16 KiB assertion limit`);
|
|
26
|
+
}
|
|
27
|
+
const body = {
|
|
28
|
+
grant_type: types_1.GRANT_TYPE_JWT_BEARER,
|
|
29
|
+
assertion: jwt,
|
|
30
|
+
federation_rule_id: config.federationRuleId,
|
|
31
|
+
organization_id: config.organizationId,
|
|
32
|
+
};
|
|
33
|
+
if (config.serviceAccountId) {
|
|
34
|
+
body['service_account_id'] = config.serviceAccountId;
|
|
35
|
+
}
|
|
36
|
+
if (config.workspaceId) {
|
|
37
|
+
body['workspace_id'] = config.workspaceId;
|
|
38
|
+
}
|
|
39
|
+
const url = `${config.baseURL}${types_1.TOKEN_ENDPOINT}`;
|
|
40
|
+
let resp;
|
|
41
|
+
try {
|
|
42
|
+
resp = await config.fetch(url, {
|
|
43
|
+
method: 'POST',
|
|
44
|
+
headers: {
|
|
45
|
+
'Content-Type': 'application/json',
|
|
46
|
+
'anthropic-beta': `${types_1.OAUTH_API_BETA_HEADER},${types_1.FEDERATION_BETA_HEADER}`,
|
|
47
|
+
'User-Agent': config.userAgent || `anthropic-sdk-typescript/${version_1.VERSION} oidcFederationProvider`,
|
|
48
|
+
},
|
|
49
|
+
body: JSON.stringify(body),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
throw new types_1.WorkloadIdentityError(`Failed to reach token endpoint ${url}: ${err}`);
|
|
54
|
+
}
|
|
55
|
+
const requestId = resp.headers.get('Request-Id');
|
|
56
|
+
if (!resp.ok) {
|
|
57
|
+
const text = await resp.text().catch(() => '');
|
|
58
|
+
const redacted = (0, types_1.redactSensitive)(text);
|
|
59
|
+
// A 401 is hard to debug from the status code alone, so surface
|
|
60
|
+
// guidance: check the federation rule, optionally set a workspace ID
|
|
61
|
+
// (the most common fix when no workspaceId is configured), and point at
|
|
62
|
+
// the Workload identity page in Claude Console for the server-side
|
|
63
|
+
// authentication event log. Other statuses (5xx, 400, ...) get no hint.
|
|
64
|
+
let hint = '';
|
|
65
|
+
if (resp.status === 401) {
|
|
66
|
+
const hintMiddle = config.workspaceId ? '' : ("If your federation rule is scoped to multiple workspaces, set the ANTHROPIC_WORKSPACE_ID environment variable, the 'workspace_id' config key, or the `workspaceId` option. ");
|
|
67
|
+
hint = ` Ensure your federation rule matches your identity token. ${hintMiddle}View your authentication events in the Workload identity page of Claude Console for more details.`;
|
|
68
|
+
}
|
|
69
|
+
throw new types_1.WorkloadIdentityError(`Token exchange failed with status ${resp.status}${requestId ? ` (request-id ${requestId})` : ''}: ${redacted}${hint}`, resp.status, redacted, requestId);
|
|
70
|
+
}
|
|
71
|
+
const data = await (0, types_1.parseTokenResponse)(resp, requestId);
|
|
72
|
+
const expiresIn = Number(data.expires_in);
|
|
73
|
+
if (!Number.isFinite(expiresIn)) {
|
|
74
|
+
throw new types_1.WorkloadIdentityError(`Token endpoint response missing required fields: ${JSON.stringify((0, types_1.redactSensitive)(data))}`, resp.status, (0, types_1.redactSensitive)(data), requestId);
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
token: data.access_token,
|
|
78
|
+
expiresAt: (0, time_1.nowAsSeconds)() + expiresIn,
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=oidc-federation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oidc-federation.js","sourceRoot":"","sources":["../../src/lib/credentials/oidc-federation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { FEDERATION_BETA_HEADER, GRANT_TYPE_JWT_BEARER, OAUTH_API_BETA_HEADER, TOKEN_ENDPOINT, WorkloadIdentityError, parseTokenResponse, redactSensitive, requireSecureTokenEndpoint, } from "./types.mjs";
|
|
2
|
+
import { nowAsSeconds } from "../../internal/utils/time.mjs";
|
|
3
|
+
import { VERSION } from "../../version.mjs";
|
|
4
|
+
/**
|
|
5
|
+
* Exchanges an external OIDC JWT for an Anthropic access token via the
|
|
6
|
+
* RFC 7523 jwt-bearer grant.
|
|
7
|
+
*
|
|
8
|
+
* Each invocation performs a fresh token exchange. Wrap in a
|
|
9
|
+
* {@link TokenCache} to avoid exchanging on every request.
|
|
10
|
+
*
|
|
11
|
+
* Federation grants do not return a refresh token — callers re-exchange
|
|
12
|
+
* their assertion on expiry.
|
|
13
|
+
*/
|
|
14
|
+
export function oidcFederationProvider(config) {
|
|
15
|
+
return async () => {
|
|
16
|
+
requireSecureTokenEndpoint(config.baseURL);
|
|
17
|
+
const jwt = await config.identityTokenProvider();
|
|
18
|
+
// The token endpoint enforces a 16 KiB assertion limit; surface a clear
|
|
19
|
+
// client-side error so misconfigured projected-token sources are
|
|
20
|
+
// diagnosable without a server round-trip.
|
|
21
|
+
if (jwt.length > 16 * 1024) {
|
|
22
|
+
throw new WorkloadIdentityError(`Identity token is ${Math.ceil(jwt.length / 1024)} KiB, exceeds the 16 KiB assertion limit`);
|
|
23
|
+
}
|
|
24
|
+
const body = {
|
|
25
|
+
grant_type: GRANT_TYPE_JWT_BEARER,
|
|
26
|
+
assertion: jwt,
|
|
27
|
+
federation_rule_id: config.federationRuleId,
|
|
28
|
+
organization_id: config.organizationId,
|
|
29
|
+
};
|
|
30
|
+
if (config.serviceAccountId) {
|
|
31
|
+
body['service_account_id'] = config.serviceAccountId;
|
|
32
|
+
}
|
|
33
|
+
if (config.workspaceId) {
|
|
34
|
+
body['workspace_id'] = config.workspaceId;
|
|
35
|
+
}
|
|
36
|
+
const url = `${config.baseURL}${TOKEN_ENDPOINT}`;
|
|
37
|
+
let resp;
|
|
38
|
+
try {
|
|
39
|
+
resp = await config.fetch(url, {
|
|
40
|
+
method: 'POST',
|
|
41
|
+
headers: {
|
|
42
|
+
'Content-Type': 'application/json',
|
|
43
|
+
'anthropic-beta': `${OAUTH_API_BETA_HEADER},${FEDERATION_BETA_HEADER}`,
|
|
44
|
+
'User-Agent': config.userAgent || `anthropic-sdk-typescript/${VERSION} oidcFederationProvider`,
|
|
45
|
+
},
|
|
46
|
+
body: JSON.stringify(body),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
throw new WorkloadIdentityError(`Failed to reach token endpoint ${url}: ${err}`);
|
|
51
|
+
}
|
|
52
|
+
const requestId = resp.headers.get('Request-Id');
|
|
53
|
+
if (!resp.ok) {
|
|
54
|
+
const text = await resp.text().catch(() => '');
|
|
55
|
+
const redacted = redactSensitive(text);
|
|
56
|
+
// A 401 is hard to debug from the status code alone, so surface
|
|
57
|
+
// guidance: check the federation rule, optionally set a workspace ID
|
|
58
|
+
// (the most common fix when no workspaceId is configured), and point at
|
|
59
|
+
// the Workload identity page in Claude Console for the server-side
|
|
60
|
+
// authentication event log. Other statuses (5xx, 400, ...) get no hint.
|
|
61
|
+
let hint = '';
|
|
62
|
+
if (resp.status === 401) {
|
|
63
|
+
const hintMiddle = config.workspaceId ? '' : ("If your federation rule is scoped to multiple workspaces, set the ANTHROPIC_WORKSPACE_ID environment variable, the 'workspace_id' config key, or the `workspaceId` option. ");
|
|
64
|
+
hint = ` Ensure your federation rule matches your identity token. ${hintMiddle}View your authentication events in the Workload identity page of Claude Console for more details.`;
|
|
65
|
+
}
|
|
66
|
+
throw new WorkloadIdentityError(`Token exchange failed with status ${resp.status}${requestId ? ` (request-id ${requestId})` : ''}: ${redacted}${hint}`, resp.status, redacted, requestId);
|
|
67
|
+
}
|
|
68
|
+
const data = await parseTokenResponse(resp, requestId);
|
|
69
|
+
const expiresIn = Number(data.expires_in);
|
|
70
|
+
if (!Number.isFinite(expiresIn)) {
|
|
71
|
+
throw new WorkloadIdentityError(`Token endpoint response missing required fields: ${JSON.stringify(redactSensitive(data))}`, resp.status, redactSensitive(data), requestId);
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
token: data.access_token,
|
|
75
|
+
expiresAt: nowAsSeconds() + expiresIn,
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=oidc-federation.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oidc-federation.mjs","sourceRoot":"","sources":["../../src/lib/credentials/oidc-federation.ts"],"names":[],"mappings":"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"}
|