@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,616 @@
|
|
|
1
|
+
import { AnthropicError } from '../../core/error';
|
|
2
|
+
import type { Anthropic } from '../../client';
|
|
3
|
+
import type {
|
|
4
|
+
BetaManagedAgentsAgentCustomToolUseEvent,
|
|
5
|
+
BetaManagedAgentsAgentToolUseEvent,
|
|
6
|
+
BetaManagedAgentsSessionEvent,
|
|
7
|
+
BetaManagedAgentsStreamSessionEvents,
|
|
8
|
+
BetaManagedAgentsUserCustomToolResultEventParams,
|
|
9
|
+
BetaManagedAgentsUserToolResultEventParams,
|
|
10
|
+
} from '../../resources/beta/sessions/events';
|
|
11
|
+
import type { BetaToolResultContentBlockParam } from '../../resources/beta';
|
|
12
|
+
import { loggerFor, type Logger } from '../../internal/utils/log';
|
|
13
|
+
import { sleep } from '../../internal/utils/sleep';
|
|
14
|
+
import { isFatal4xx } from '../../internal/utils/backoff';
|
|
15
|
+
import { linkAbort } from '../../internal/utils/abort';
|
|
16
|
+
import { AsyncQueue } from '../../internal/utils/async-queue';
|
|
17
|
+
import { buildHeaders } from '../../internal/headers';
|
|
18
|
+
import { helperHeader } from '../../internal/stainless-helper-header';
|
|
19
|
+
import type { RequestOptions } from '../../internal/request-options';
|
|
20
|
+
import { runRunnableTool, toolName, type BetaRunnableTool } from './BetaRunnableTool';
|
|
21
|
+
import type { BetaToolRunnerRequestOptions } from './BetaToolRunner';
|
|
22
|
+
|
|
23
|
+
/** Beta header for the managed-agents API. */
|
|
24
|
+
export const MANAGED_AGENTS_BETA = 'managed-agents-2026-04-01';
|
|
25
|
+
|
|
26
|
+
const STREAM_BACKOFF_START_MS = 500;
|
|
27
|
+
const STREAM_BACKOFF_CAP_MS = 10_000;
|
|
28
|
+
const TOOL_TIMEOUT_MS = 120_000;
|
|
29
|
+
const DRAIN_TIMEOUT_MS = 30_000;
|
|
30
|
+
const SEND_RETRIES = 3;
|
|
31
|
+
|
|
32
|
+
/** Block type accepted in a `user.tool_result` event's content — codegen'd, stays in sync with the API. */
|
|
33
|
+
type SessionContentBlock = NonNullable<BetaManagedAgentsUserToolResultEventParams['content']>[number];
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* A tool-call event the runner dispatches against the local registry: either a
|
|
37
|
+
* builtin `agent.tool_use` (answered with `user.tool_result`) or a custom
|
|
38
|
+
* `agent.custom_tool_use` (answered with `user.custom_tool_result`). Server-side
|
|
39
|
+
* `agent.mcp_tool_use` calls are intentionally excluded — the runner does not
|
|
40
|
+
* handle them.
|
|
41
|
+
*/
|
|
42
|
+
type DispatchedToolUseEvent = BetaManagedAgentsAgentToolUseEvent | BetaManagedAgentsAgentCustomToolUseEvent;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* The result-event params paired with a {@link DispatchedToolUseEvent}: a
|
|
46
|
+
* `user.tool_result` answers an `agent.tool_use`, a `user.custom_tool_result`
|
|
47
|
+
* answers an `agent.custom_tool_use`. The two pairs must be matched exactly.
|
|
48
|
+
*/
|
|
49
|
+
type DispatchedToolResultParams =
|
|
50
|
+
| BetaManagedAgentsUserToolResultEventParams
|
|
51
|
+
| BetaManagedAgentsUserCustomToolResultEventParams;
|
|
52
|
+
|
|
53
|
+
export interface SessionToolRunnerOptions {
|
|
54
|
+
client: Anthropic;
|
|
55
|
+
/**
|
|
56
|
+
* Tools to expose to the session, in the same {@link BetaRunnableTool} shape
|
|
57
|
+
* `client.beta.messages.toolRunner` accepts. Use
|
|
58
|
+
* `betaAgentToolset20260401({ workdir })` from
|
|
59
|
+
* `@tetral-ai/sdk/tools/agent-toolset/node` for the standard
|
|
60
|
+
* `agent_toolset_20260401` set; filter or extend the array to customise.
|
|
61
|
+
*/
|
|
62
|
+
tools: Array<BetaRunnableTool>;
|
|
63
|
+
/**
|
|
64
|
+
* Once the session goes idle with `stop_reason.type === "end_turn"`, the
|
|
65
|
+
* runner keeps running for this many milliseconds before stopping; any new
|
|
66
|
+
* event resets the countdown and it re-arms on the next `end_turn` idle.
|
|
67
|
+
* Defaults to {@link DEFAULT_MAX_IDLE_MS} (60s). `0` (or negative) disables
|
|
68
|
+
* it — the runner then only stops on session termination or the consumer
|
|
69
|
+
* breaking out / aborting.
|
|
70
|
+
*/
|
|
71
|
+
maxIdleMs?: number;
|
|
72
|
+
/** External abort signal. Aborting it ends the iteration. */
|
|
73
|
+
signal?: AbortSignal;
|
|
74
|
+
/**
|
|
75
|
+
* Extra per-request options merged into every call this runner issues
|
|
76
|
+
* (event stream / list / send). Mirrors what `client.beta.messages.toolRunner`
|
|
77
|
+
* accepts: custom `headers` (e.g. a proxy's auth/routing headers) reach the
|
|
78
|
+
* poll/heartbeat/stop/stream/list/send calls. The runner always owns the abort
|
|
79
|
+
* signal, so a `signal` here is ignored — pass {@link SessionToolRunnerOptions.signal}
|
|
80
|
+
* to abort externally.
|
|
81
|
+
*/
|
|
82
|
+
requestOptions?: BetaToolRunnerRequestOptions;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** Default {@link SessionToolRunnerOptions.maxIdleMs}: 60 seconds. */
|
|
86
|
+
export const DEFAULT_MAX_IDLE_MS = 60_000;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Outcome of a single tool execution dispatched by {@link SessionToolRunner}.
|
|
90
|
+
*
|
|
91
|
+
* Yielded after the tool ran (or failed) and after the result was posted back
|
|
92
|
+
* to the session as a `user.tool_result` event. Consumers can read either the
|
|
93
|
+
* embedded {@link DispatchedToolCall.event} / {@link DispatchedToolCall.result}
|
|
94
|
+
* blocks or the flat top-level convenience fields.
|
|
95
|
+
*/
|
|
96
|
+
export interface DispatchedToolCall {
|
|
97
|
+
/**
|
|
98
|
+
* The `agent.tool_use` or `agent.custom_tool_use` event that triggered this
|
|
99
|
+
* dispatch. Read `event.input` for the raw tool input and `event.name` for the
|
|
100
|
+
* tool name; `event.type` distinguishes a builtin tool call from a custom one.
|
|
101
|
+
*/
|
|
102
|
+
readonly event: DispatchedToolUseEvent;
|
|
103
|
+
/**
|
|
104
|
+
* The result event posted (or attempted) back to the session for this call: a
|
|
105
|
+
* `user.tool_result` for an `agent.tool_use`, a `user.custom_tool_result` for
|
|
106
|
+
* an `agent.custom_tool_use`. Read `result.content` for the tool's output
|
|
107
|
+
* blocks and `result.is_error` for the error flag.
|
|
108
|
+
*
|
|
109
|
+
* `undefined` when no result event was ever built — i.e. the tool name is
|
|
110
|
+
* not one this runner owns and, under the split-client behavior, it
|
|
111
|
+
* deliberately posted nothing and left the id pending for its owner.
|
|
112
|
+
*/
|
|
113
|
+
readonly result?: DispatchedToolResultParams;
|
|
114
|
+
/**
|
|
115
|
+
* Flat convenience for `event.id` — the id of the tool-use event this result
|
|
116
|
+
* answers (echoed back as `tool_use_id` / `custom_tool_use_id` on the result).
|
|
117
|
+
*/
|
|
118
|
+
readonly toolUseId: string;
|
|
119
|
+
/** Flat convenience for `event.name` — the dispatched tool's name. */
|
|
120
|
+
readonly name: string;
|
|
121
|
+
/**
|
|
122
|
+
* Flat convenience for `result.is_error` — `true` when the tool threw,
|
|
123
|
+
* `false` on success and for a skipped unowned call.
|
|
124
|
+
*/
|
|
125
|
+
readonly isError: boolean;
|
|
126
|
+
/**
|
|
127
|
+
* Whether a result event for this call reached the session. `false` when the
|
|
128
|
+
* post itself failed (typically a permanent 4xx or send-retry exhaustion)
|
|
129
|
+
* including Tetral Cloud-hosted rejection of client-supplied
|
|
130
|
+
* `user.tool_result` / `user.custom_tool_result` variants. Treat this as an
|
|
131
|
+
* explicit local failure state, not as a successful tool-result delivery.
|
|
132
|
+
*
|
|
133
|
+
* Also `false` — with no `result` event ever built — for a tool name this
|
|
134
|
+
* runner does not own when it deliberately posts nothing and leaves the id
|
|
135
|
+
* pending for its owner (the split-client behavior).
|
|
136
|
+
*/
|
|
137
|
+
readonly posted: boolean;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/** Returns true if `ev` is a `session.status_idle` with `stop_reason` `end_turn`. */
|
|
141
|
+
function isEndTurnIdle(ev: { type?: string; stop_reason?: { type?: string } }): boolean {
|
|
142
|
+
return ev.type === 'session.status_idle' && ev.stop_reason?.type === 'end_turn';
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* The sessions-side counterpart to `client.beta.messages.toolRunner`: an
|
|
147
|
+
* async-iterable that attaches to a managed-agents session, executes every
|
|
148
|
+
* incoming `agent.tool_use` and `agent.custom_tool_use` event against a local
|
|
149
|
+
* tool registry, posts the matching result back (`user.tool_result` for the
|
|
150
|
+
* former, `user.custom_tool_result` for the latter), and yields one
|
|
151
|
+
* {@link DispatchedToolCall} per completed call. Server-side `agent.mcp_tool_use`
|
|
152
|
+
* calls are not dispatched. Internally drives event-stream reconnect and result
|
|
153
|
+
* posting.
|
|
154
|
+
*
|
|
155
|
+
* Iteration ends when the session terminates (`session.status_terminated` /
|
|
156
|
+
* `session.deleted`), when the consumer `break`s out of the loop or aborts the
|
|
157
|
+
* supplied signal, or — once the session has gone idle with
|
|
158
|
+
* `stop_reason.type === "end_turn"` — when `maxIdleMs` elapses with no new
|
|
159
|
+
* event (any new event resets that countdown; it re-arms on the next `end_turn`
|
|
160
|
+
* idle; `maxIdleMs <= 0` disables it). The `finally` branch drains any in-flight
|
|
161
|
+
* tool calls and runs each tool's `close()` cleanup hook. It does *not* touch
|
|
162
|
+
* the work-item lease — wrap it in an `EnvironmentWorker` if you need
|
|
163
|
+
* heartbeating / force-stop.
|
|
164
|
+
*
|
|
165
|
+
* Tetral Cloud-hosted runtime rejects client-supplied tool-result event
|
|
166
|
+
* variants in this stage. When such a post is rejected, yielded calls have
|
|
167
|
+
* `posted: false`; consumers must not treat that as hosted-runtime success.
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```ts
|
|
171
|
+
* import { betaAgentToolset20260401 } from '@tetral-ai/sdk/tools/agent-toolset/node';
|
|
172
|
+
*
|
|
173
|
+
* for await (const call of client.beta.sessions.events.toolRunner(work.data.id, {
|
|
174
|
+
* tools: [...betaAgentToolset20260401({ workdir }), myTool],
|
|
175
|
+
* })) {
|
|
176
|
+
* console.log(`${call.name} -> ${call.isError ? 'error' : 'ok'}`);
|
|
177
|
+
* }
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
export class SessionToolRunner implements AsyncIterable<DispatchedToolCall> {
|
|
181
|
+
readonly client: Anthropic;
|
|
182
|
+
readonly sessionId: string;
|
|
183
|
+
readonly tools: ReadonlyArray<BetaRunnableTool>;
|
|
184
|
+
readonly maxIdleMs: number;
|
|
185
|
+
|
|
186
|
+
#consumed = false;
|
|
187
|
+
readonly #controller: AbortController;
|
|
188
|
+
readonly #detachExternal: () => void;
|
|
189
|
+
readonly #requestOpts: BetaToolRunnerRequestOptions | undefined;
|
|
190
|
+
readonly #toolByName: Map<string, BetaRunnableTool>;
|
|
191
|
+
readonly #logger: Logger;
|
|
192
|
+
readonly #seen = new Set<string>();
|
|
193
|
+
readonly #answered = new Set<string>();
|
|
194
|
+
readonly #results = new AsyncQueue<DispatchedToolCall>();
|
|
195
|
+
#inFlightCount = 0;
|
|
196
|
+
#onIdle: (() => void) | null = null;
|
|
197
|
+
// When the session is idle past an `end_turn`, the pending stop timer; cleared
|
|
198
|
+
// by any new event. Event-driven — there is no polling watchdog.
|
|
199
|
+
#idleTimer: ReturnType<typeof setTimeout> | undefined;
|
|
200
|
+
|
|
201
|
+
constructor(sessionId: string, opts: SessionToolRunnerOptions) {
|
|
202
|
+
this.client = opts.client;
|
|
203
|
+
this.sessionId = sessionId;
|
|
204
|
+
this.tools = opts.tools;
|
|
205
|
+
this.maxIdleMs = opts.maxIdleMs ?? DEFAULT_MAX_IDLE_MS;
|
|
206
|
+
this.#logger = loggerFor(opts.client);
|
|
207
|
+
this.#toolByName = new Map(opts.tools.map((t) => [toolName(t), t]));
|
|
208
|
+
this.#controller = new AbortController();
|
|
209
|
+
this.#detachExternal = linkAbort(opts.signal, this.#controller);
|
|
210
|
+
this.#requestOpts = opts.requestOptions;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/** Read-only view of this runner's abort signal. */
|
|
214
|
+
get signal(): AbortSignal {
|
|
215
|
+
return this.#controller.signal;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/** Abort the runner. Background tasks will wind down and `for await` will exit cleanly. */
|
|
219
|
+
abort(): void {
|
|
220
|
+
this.#controller.abort();
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
async *[Symbol.asyncIterator](): AsyncIterator<DispatchedToolCall> {
|
|
224
|
+
if (this.#consumed) {
|
|
225
|
+
throw new AnthropicError('Cannot iterate over a consumed SessionToolRunner');
|
|
226
|
+
}
|
|
227
|
+
this.#consumed = true;
|
|
228
|
+
this.#logger.info('session tool runner starting', {
|
|
229
|
+
component: 'session-tool-runner',
|
|
230
|
+
session_id: this.sessionId,
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
// The one background promise: drives the event stream and dispatches tools.
|
|
234
|
+
// Its `.catch` aborts the controller so the main loop unwinds.
|
|
235
|
+
const streamPromise = this.#streamLoop().catch((e) => {
|
|
236
|
+
if (!this.#controller.signal.aborted) {
|
|
237
|
+
this.#logger.error('stream loop failed', { error: String(e) });
|
|
238
|
+
}
|
|
239
|
+
this.#controller.abort();
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
try {
|
|
243
|
+
// Phase 1: yield results as they arrive. `next(signal)` resolves
|
|
244
|
+
// `done: true` when the controller aborts — cancellation is handled in
|
|
245
|
+
// the queue read, no outer `Promise.race` needed.
|
|
246
|
+
while (true) {
|
|
247
|
+
const next = await this.#results.next(this.#controller.signal);
|
|
248
|
+
if (next.done) break;
|
|
249
|
+
yield next.value;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
// Phase 2: let the stream loop settle (and push any final results), then
|
|
253
|
+
// drain whatever is still queued before closing.
|
|
254
|
+
await streamPromise;
|
|
255
|
+
let pending: DispatchedToolCall | undefined;
|
|
256
|
+
while ((pending = this.#results.tryShift()) !== undefined) {
|
|
257
|
+
yield pending;
|
|
258
|
+
}
|
|
259
|
+
} finally {
|
|
260
|
+
this.#controller.abort();
|
|
261
|
+
this.#disarmIdleTimer();
|
|
262
|
+
// Re-await defensively in case the consumer broke out of phase 1 before
|
|
263
|
+
// phase 2 ran — a no-op if it already settled.
|
|
264
|
+
await streamPromise;
|
|
265
|
+
try {
|
|
266
|
+
await this.#drain();
|
|
267
|
+
} catch (e) {
|
|
268
|
+
this.#logger.warn('drain failed', { error: String(e) });
|
|
269
|
+
}
|
|
270
|
+
this.#results.close();
|
|
271
|
+
for (const t of this.tools) {
|
|
272
|
+
try {
|
|
273
|
+
// `close` is typed `() => Promisable<void>`, so a single `await`
|
|
274
|
+
// covers both the sync and async return.
|
|
275
|
+
await t.close?.();
|
|
276
|
+
} catch (e) {
|
|
277
|
+
this.#logger.warn('tool.close failed', { tool: toolName(t), error: String(e) });
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
// Detach from the external signal so the consumer can drop their signal
|
|
281
|
+
// reference without leaking this iterator instance.
|
|
282
|
+
this.#detachExternal();
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
// ===== request options =====
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* Request options for every helper-issued call: the caller's `requestOptions`
|
|
290
|
+
* (custom proxy headers etc.) with the helper telemetry header stamped on and
|
|
291
|
+
* the runner's own abort signal forced last so it always owns cancellation.
|
|
292
|
+
*/
|
|
293
|
+
#requestOptions(): RequestOptions {
|
|
294
|
+
return {
|
|
295
|
+
...this.#requestOpts,
|
|
296
|
+
headers: buildHeaders([helperHeader('session-tool-runner'), this.#requestOpts?.headers]),
|
|
297
|
+
signal: this.#controller.signal,
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
// ===== event stream =====
|
|
302
|
+
|
|
303
|
+
async #streamLoop(): Promise<void> {
|
|
304
|
+
const ctrl = this.#controller;
|
|
305
|
+
let backoff = STREAM_BACKOFF_START_MS;
|
|
306
|
+
while (!ctrl.signal.aborted) {
|
|
307
|
+
try {
|
|
308
|
+
// Establish the event stream *before* reconciling history, so an event
|
|
309
|
+
// emitted in the gap between listing and attaching is buffered on the
|
|
310
|
+
// stream rather than lost. `seen`/`answered` dedup any event that shows
|
|
311
|
+
// up both in the reconcile pass and on the live stream.
|
|
312
|
+
const stream = await this.client.beta.sessions.events.stream(
|
|
313
|
+
this.sessionId,
|
|
314
|
+
{},
|
|
315
|
+
this.#requestOptions(),
|
|
316
|
+
);
|
|
317
|
+
await this.#reconcile();
|
|
318
|
+
for await (const ev of stream) {
|
|
319
|
+
backoff = STREAM_BACKOFF_START_MS;
|
|
320
|
+
if (await this.#handleStreamEvent(ev)) return;
|
|
321
|
+
}
|
|
322
|
+
} catch (e) {
|
|
323
|
+
// An abort throws to unwind the caller (the iterator's `streamPromise`
|
|
324
|
+
// `.catch`) rather than returning early and letting it carry on.
|
|
325
|
+
ctrl.signal.throwIfAborted();
|
|
326
|
+
if (isFatal4xx(e)) {
|
|
327
|
+
this.#logger.error('permanent stream failure, shutting down', { error: String(e) });
|
|
328
|
+
ctrl.abort();
|
|
329
|
+
throw e;
|
|
330
|
+
}
|
|
331
|
+
this.#logger.warn('stream disconnected, reconnecting', {
|
|
332
|
+
error: String(e),
|
|
333
|
+
backoff_ms: backoff,
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
ctrl.signal.throwIfAborted();
|
|
337
|
+
await sleep(backoff, ctrl.signal);
|
|
338
|
+
backoff = Math.min(backoff * 2, STREAM_BACKOFF_CAP_MS);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* Read full history before dispatching so a `tool_use` whose result appears
|
|
344
|
+
* later in the same history is not re-executed. Runs after the live stream is
|
|
345
|
+
* already attached (see {@link SessionToolRunner.#streamLoop}).
|
|
346
|
+
*/
|
|
347
|
+
async #reconcile(): Promise<void> {
|
|
348
|
+
const ctrl = this.#controller;
|
|
349
|
+
const pending: DispatchedToolUseEvent[] = [];
|
|
350
|
+
let lastWasEndTurn = false;
|
|
351
|
+
try {
|
|
352
|
+
for await (const ev of this.client.beta.sessions.events.list(
|
|
353
|
+
this.sessionId,
|
|
354
|
+
{ limit: 1000 },
|
|
355
|
+
this.#requestOptions(),
|
|
356
|
+
)) {
|
|
357
|
+
this.#ingestHistory(ev, pending);
|
|
358
|
+
lastWasEndTurn = isEndTurnIdle(ev);
|
|
359
|
+
}
|
|
360
|
+
} catch (e) {
|
|
361
|
+
// An abort throws to unwind the caller; a real list failure is
|
|
362
|
+
// non-fatal — undo the speculative `seen` entries and let `#streamLoop`
|
|
363
|
+
// carry on with the live stream.
|
|
364
|
+
ctrl.signal.throwIfAborted();
|
|
365
|
+
this.#logger.warn('reconcile list failed', { error: String(e) });
|
|
366
|
+
// If list itself failed, undo the speculative `seen` entries so the next
|
|
367
|
+
// reconcile pass (or the live stream) can pick them up. Leave the idle
|
|
368
|
+
// timer untouched — the history we read may be incomplete.
|
|
369
|
+
for (const ev of pending) this.#seen.delete(ev.id);
|
|
370
|
+
return;
|
|
371
|
+
}
|
|
372
|
+
const unanswered = pending.filter((ev) => !this.#answered.has(ev.id));
|
|
373
|
+
// If the most recent event in history is an `end_turn` idle and there's no
|
|
374
|
+
// outstanding tool work, the session is done — arm the idle timer so the
|
|
375
|
+
// runner stops even if that `end_turn` arrived during a disconnect.
|
|
376
|
+
if (lastWasEndTurn && unanswered.length === 0) this.#armIdleTimer();
|
|
377
|
+
else this.#disarmIdleTimer();
|
|
378
|
+
for (const ev of unanswered) await this.#execute(ev);
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
#ingestHistory(ev: BetaManagedAgentsSessionEvent, pending: DispatchedToolUseEvent[]): void {
|
|
382
|
+
if (ev.type === 'agent.tool_use' || ev.type === 'agent.custom_tool_use') {
|
|
383
|
+
// Mark the event seen so a replay on the live stream is not dispatched
|
|
384
|
+
// twice, but decide whether it still needs executing from `answered`, not
|
|
385
|
+
// `seen`: a call whose result post failed is seen-but-unanswered, and must
|
|
386
|
+
// be retried on the next reconcile pass rather than silently dropped.
|
|
387
|
+
this.#seen.add(ev.id);
|
|
388
|
+
if (!this.#answered.has(ev.id)) pending.push(ev);
|
|
389
|
+
} else if (ev.type === 'user.tool_result') {
|
|
390
|
+
this.#answered.add(ev.tool_use_id);
|
|
391
|
+
} else if (ev.type === 'user.custom_tool_result') {
|
|
392
|
+
this.#answered.add(ev.custom_tool_use_id);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
/** Returns true when the runner should exit. */
|
|
397
|
+
async #handleStreamEvent(ev: BetaManagedAgentsStreamSessionEvents): Promise<boolean> {
|
|
398
|
+
// Arm/disarm the idle timer: an `end_turn` idle starts the grace countdown;
|
|
399
|
+
// any other event cancels it.
|
|
400
|
+
if (isEndTurnIdle(ev)) this.#armIdleTimer();
|
|
401
|
+
else this.#disarmIdleTimer();
|
|
402
|
+
switch (ev.type) {
|
|
403
|
+
case 'agent.tool_use':
|
|
404
|
+
case 'agent.custom_tool_use':
|
|
405
|
+
if (!this.#seen.has(ev.id)) {
|
|
406
|
+
this.#seen.add(ev.id);
|
|
407
|
+
await this.#execute(ev);
|
|
408
|
+
}
|
|
409
|
+
return false;
|
|
410
|
+
case 'user.tool_result':
|
|
411
|
+
this.#answered.add(ev.tool_use_id);
|
|
412
|
+
return false;
|
|
413
|
+
case 'user.custom_tool_result':
|
|
414
|
+
this.#answered.add(ev.custom_tool_use_id);
|
|
415
|
+
return false;
|
|
416
|
+
case 'session.status_terminated':
|
|
417
|
+
case 'session.deleted':
|
|
418
|
+
this.#logger.info('session terminated', {
|
|
419
|
+
component: 'session-tool-runner',
|
|
420
|
+
session_id: this.sessionId,
|
|
421
|
+
});
|
|
422
|
+
this.#controller.abort();
|
|
423
|
+
return true;
|
|
424
|
+
default:
|
|
425
|
+
return false;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
// ===== idle timer =====
|
|
430
|
+
|
|
431
|
+
/** (Re)start the grace countdown that stops the runner after `maxIdleMs` of idle. */
|
|
432
|
+
#armIdleTimer(): void {
|
|
433
|
+
this.#disarmIdleTimer();
|
|
434
|
+
if (this.maxIdleMs <= 0) return;
|
|
435
|
+
this.#idleTimer = setTimeout(() => {
|
|
436
|
+
this.#logger.info('session idle after end_turn; stopping', {
|
|
437
|
+
component: 'session-tool-runner',
|
|
438
|
+
session_id: this.sessionId,
|
|
439
|
+
max_idle_ms: this.maxIdleMs,
|
|
440
|
+
});
|
|
441
|
+
this.#controller.abort();
|
|
442
|
+
}, this.maxIdleMs);
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
/** Cancel a pending idle countdown, if any. */
|
|
446
|
+
#disarmIdleTimer(): void {
|
|
447
|
+
if (this.#idleTimer !== undefined) {
|
|
448
|
+
clearTimeout(this.#idleTimer);
|
|
449
|
+
this.#idleTimer = undefined;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
// ===== tool execution =====
|
|
454
|
+
|
|
455
|
+
async #execute(ev: DispatchedToolUseEvent): Promise<void> {
|
|
456
|
+
if (this.#answered.has(ev.id)) return;
|
|
457
|
+
this.#logger.info('executing tool', {
|
|
458
|
+
component: 'session-tool-runner',
|
|
459
|
+
session_id: this.sessionId,
|
|
460
|
+
tool: ev.name,
|
|
461
|
+
tool_use_id: ev.id,
|
|
462
|
+
});
|
|
463
|
+
this.#inFlightCount++;
|
|
464
|
+
try {
|
|
465
|
+
const tool = this.#toolByName.get(ev.name);
|
|
466
|
+
if (!tool) {
|
|
467
|
+
// Skip (split-client partial fulfilment): a name this runner
|
|
468
|
+
// is not registered for belongs to the other client servicing this
|
|
469
|
+
// session (typically the customer's app backend handling custom tools).
|
|
470
|
+
// Post NO result, do not mark it answered, and leave the tool_use_id
|
|
471
|
+
// pending for its owner — claiming it would corrupt the conversation.
|
|
472
|
+
// Still yield the call so the consumer can observe the unowned
|
|
473
|
+
// dispatch; nothing was sent, so `posted`/`isError` stay false and no
|
|
474
|
+
// `result` event is populated. The id stays unanswered, so reconcile
|
|
475
|
+
// keeps it out of the idle/end-turn accounting and re-surfaces it after
|
|
476
|
+
// a reconnect until its owner answers it.
|
|
477
|
+
this.#logger.info('tool not owned by this runner; leaving the tool_use_id pending for its owner', {
|
|
478
|
+
component: 'session-tool-runner',
|
|
479
|
+
session_id: this.sessionId,
|
|
480
|
+
tool: ev.name,
|
|
481
|
+
tool_use_id: ev.id,
|
|
482
|
+
});
|
|
483
|
+
this.#results.push({ event: ev, toolUseId: ev.id, name: ev.name, isError: false, posted: false });
|
|
484
|
+
return;
|
|
485
|
+
}
|
|
486
|
+
let content: string | Array<BetaToolResultContentBlockParam>;
|
|
487
|
+
let isError: boolean;
|
|
488
|
+
// Per-tool controller: aborts on the runner's own signal *or* the
|
|
489
|
+
// per-tool timeout, so an in-flight tool stops promptly when the runner
|
|
490
|
+
// is aborted instead of running until the timeout.
|
|
491
|
+
const toolCtrl = new AbortController();
|
|
492
|
+
const detachTool = linkAbort(this.#controller.signal, toolCtrl);
|
|
493
|
+
const timer = setTimeout(() => toolCtrl.abort(), TOOL_TIMEOUT_MS);
|
|
494
|
+
try {
|
|
495
|
+
// Pass the source `agent.tool_use` / `agent.custom_tool_use` event
|
|
496
|
+
// straight through as the run context's `toolUse` — it is a union
|
|
497
|
+
// member of `BetaToolUse`, no Messages-block adapter needed.
|
|
498
|
+
const outcome = await runRunnableTool(tool, ev.input, {
|
|
499
|
+
toolUse: ev,
|
|
500
|
+
toolUseBlock: ev,
|
|
501
|
+
signal: toolCtrl.signal,
|
|
502
|
+
});
|
|
503
|
+
content = outcome.content;
|
|
504
|
+
isError = outcome.isError;
|
|
505
|
+
} finally {
|
|
506
|
+
clearTimeout(timer);
|
|
507
|
+
detachTool();
|
|
508
|
+
}
|
|
509
|
+
// Answer with the result event that matches the call kind: a
|
|
510
|
+
// `user.tool_result` for an `agent.tool_use`, a `user.custom_tool_result`
|
|
511
|
+
// for an `agent.custom_tool_use`. Posting the wrong one leaves the call
|
|
512
|
+
// unanswered and the session stuck.
|
|
513
|
+
const result = buildResultEvent(ev, isError, toSessionContent(content));
|
|
514
|
+
const posted = await this.#sendResult(result, ev.id);
|
|
515
|
+
this.#results.push({
|
|
516
|
+
event: ev,
|
|
517
|
+
result,
|
|
518
|
+
toolUseId: ev.id,
|
|
519
|
+
name: ev.name,
|
|
520
|
+
isError,
|
|
521
|
+
posted,
|
|
522
|
+
});
|
|
523
|
+
} finally {
|
|
524
|
+
this.#inFlightCount--;
|
|
525
|
+
if (this.#inFlightCount === 0) this.#onIdle?.();
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
async #sendResult(result: DispatchedToolResultParams, toolUseId: string): Promise<boolean> {
|
|
530
|
+
const ctrl = this.#controller;
|
|
531
|
+
let lastErr: unknown;
|
|
532
|
+
for (let i = 0; i < SEND_RETRIES; i++) {
|
|
533
|
+
// An abort throws to unwind the caller rather than returning a
|
|
534
|
+
// `posted: false` result the iterator would carry on past.
|
|
535
|
+
ctrl.signal.throwIfAborted();
|
|
536
|
+
try {
|
|
537
|
+
await this.client.beta.sessions.events.send(
|
|
538
|
+
this.sessionId,
|
|
539
|
+
{ events: [result] },
|
|
540
|
+
this.#requestOptions(),
|
|
541
|
+
);
|
|
542
|
+
this.#answered.add(toolUseId);
|
|
543
|
+
return true;
|
|
544
|
+
} catch (e) {
|
|
545
|
+
lastErr = e;
|
|
546
|
+
// Only short-circuit on a permanent 4xx; 408/409/429 deserve the
|
|
547
|
+
// remaining retries (aligned with the core client's retry policy).
|
|
548
|
+
if (isFatal4xx(e)) break;
|
|
549
|
+
// Back off only *between* attempts — never after the final one, since
|
|
550
|
+
// there is no further try left to wait for.
|
|
551
|
+
if (i < SEND_RETRIES - 1) await sleep((i + 1) * 1000, ctrl.signal);
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
this.#logger.error('failed to send tool result', {
|
|
555
|
+
tool_use_id: toolUseId,
|
|
556
|
+
error: String(lastErr),
|
|
557
|
+
});
|
|
558
|
+
return false;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
/** Wait (bounded) for in-flight tool executions to finish during teardown. */
|
|
562
|
+
async #drain(): Promise<void> {
|
|
563
|
+
if (this.#inFlightCount === 0) return;
|
|
564
|
+
await Promise.race([new Promise<void>((r) => (this.#onIdle = r)), sleep(DRAIN_TIMEOUT_MS)]);
|
|
565
|
+
this.#onIdle = null;
|
|
566
|
+
if (this.#inFlightCount > 0) {
|
|
567
|
+
this.#logger.warn('drain timeout exceeded');
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
/**
|
|
573
|
+
* Build the result event that answers `ev`: a `user.tool_result` for a builtin
|
|
574
|
+
* `agent.tool_use`, a `user.custom_tool_result` for a custom
|
|
575
|
+
* `agent.custom_tool_use`. The two `(use, result)` pairs are distinct API event
|
|
576
|
+
* types and must be matched exactly — a `user.tool_result` does not answer a
|
|
577
|
+
* custom tool call.
|
|
578
|
+
*/
|
|
579
|
+
function buildResultEvent(
|
|
580
|
+
ev: DispatchedToolUseEvent,
|
|
581
|
+
isError: boolean,
|
|
582
|
+
content: SessionContentBlock[],
|
|
583
|
+
): DispatchedToolResultParams {
|
|
584
|
+
if (ev.type === 'agent.custom_tool_use') {
|
|
585
|
+
return { type: 'user.custom_tool_result', custom_tool_use_id: ev.id, is_error: isError, content };
|
|
586
|
+
}
|
|
587
|
+
return { type: 'user.tool_result', tool_use_id: ev.id, is_error: isError, content };
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
// The Messages-API tool-result block union is wider than the Sessions-API
|
|
591
|
+
// tool_result content union; pass through text/image/document and stringify
|
|
592
|
+
// anything else so a BetaRunnableTool authored for toolRunner still works here.
|
|
593
|
+
function toSessionContent(content: string | Array<BetaToolResultContentBlockParam>): SessionContentBlock[] {
|
|
594
|
+
if (typeof content === 'string') return [{ type: 'text', text: content || '(no output)' }];
|
|
595
|
+
const out = content.map((b): SessionContentBlock => {
|
|
596
|
+
if (b.type === 'text') return { type: 'text', text: b.text || '(no output)' };
|
|
597
|
+
if (b.type === 'image' || b.type === 'document') return b as SessionContentBlock;
|
|
598
|
+
if (b.type === 'search_result') {
|
|
599
|
+
// The Messages `search_result` block param maps field-for-field onto the
|
|
600
|
+
// Sessions `BetaManagedAgentsSearchResultBlock`; map it explicitly rather
|
|
601
|
+
// than letting it fall through to the JSON.stringify branch (which would
|
|
602
|
+
// bury a structured result inside a text block). `citations` is required
|
|
603
|
+
// on the Sessions side and optional on the Messages side — default the
|
|
604
|
+
// flag to `false` when the producer left it unset.
|
|
605
|
+
return {
|
|
606
|
+
type: 'search_result',
|
|
607
|
+
source: b.source,
|
|
608
|
+
title: b.title,
|
|
609
|
+
content: b.content.map((c) => ({ type: 'text', text: c.text })),
|
|
610
|
+
citations: { enabled: b.citations?.enabled ?? false },
|
|
611
|
+
};
|
|
612
|
+
}
|
|
613
|
+
return { type: 'text', text: JSON.stringify(b) };
|
|
614
|
+
});
|
|
615
|
+
return out.length > 0 ? out : [{ type: 'text', text: '(no output)' }];
|
|
616
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { BetaToolResultContentBlockParam } from '../../resources/beta';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* An error that can be thrown from a tool's `run` method to return structured
|
|
5
|
+
* content blocks as the error result, rather than just a string message.
|
|
6
|
+
*
|
|
7
|
+
* When the ToolRunner catches this error, it will use the `content` property
|
|
8
|
+
* as the tool result with `is_error: true`.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* const tool = {
|
|
13
|
+
* name: 'my_tool',
|
|
14
|
+
* run: async (input) => {
|
|
15
|
+
* if (somethingWentWrong) {
|
|
16
|
+
* throw new ToolError([
|
|
17
|
+
* { type: 'text', text: 'Error details here' },
|
|
18
|
+
* { type: 'image', source: { type: 'base64', data: '...', media_type: 'image/png' } },
|
|
19
|
+
* ]);
|
|
20
|
+
* }
|
|
21
|
+
* return 'success';
|
|
22
|
+
* },
|
|
23
|
+
* };
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export class ToolError extends Error {
|
|
27
|
+
/**
|
|
28
|
+
* The content to return as the tool result. This will be sent back to the model
|
|
29
|
+
* with `is_error: true`.
|
|
30
|
+
*/
|
|
31
|
+
readonly content: string | Array<BetaToolResultContentBlockParam>;
|
|
32
|
+
|
|
33
|
+
constructor(content: string | Array<BetaToolResultContentBlockParam>) {
|
|
34
|
+
const message =
|
|
35
|
+
typeof content === 'string' ? content : (
|
|
36
|
+
content
|
|
37
|
+
.map((block) => {
|
|
38
|
+
if (block.type === 'text') return block.text;
|
|
39
|
+
return `[${block.type}]`;
|
|
40
|
+
})
|
|
41
|
+
.join(' ')
|
|
42
|
+
);
|
|
43
|
+
super(message);
|
|
44
|
+
this.name = 'ToolError';
|
|
45
|
+
this.content = content;
|
|
46
|
+
}
|
|
47
|
+
}
|