@ainative/cody-sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/logo.svg +3 -0
- package/CHANGELOG.md +2345 -0
- package/LICENSE +8 -0
- package/README.md +45 -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 +226 -0
- package/_vendor/partial-json-parser/parser.js.map +1 -0
- package/_vendor/partial-json-parser/parser.mjs +223 -0
- package/_vendor/partial-json-parser/parser.mjs.map +1 -0
- package/ainative.d.mts +32 -0
- package/ainative.d.mts.map +1 -0
- package/ainative.d.ts +32 -0
- package/ainative.d.ts.map +1 -0
- package/ainative.js +78 -0
- package/ainative.js.map +1 -0
- package/ainative.mjs +71 -0
- package/ainative.mjs.map +1 -0
- package/api-promise.d.mts +2 -0
- package/api-promise.d.mts.map +1 -0
- package/api-promise.d.ts +2 -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 +2 -0
- package/api-promise.mjs.map +1 -0
- package/bin/cli +53 -0
- package/bin/migration-config.json +82 -0
- package/client.d.mts +247 -0
- package/client.d.mts.map +1 -0
- package/client.d.ts +247 -0
- package/client.d.ts.map +1 -0
- package/client.js +567 -0
- package/client.js.map +1 -0
- package/client.mjs +562 -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/error.d.mts +50 -0
- package/core/error.d.mts.map +1 -0
- package/core/error.d.ts +50 -0
- package/core/error.d.ts.map +1 -0
- package/core/error.js +116 -0
- package/core/error.js.map +1 -0
- package/core/error.mjs +100 -0
- package/core/error.mjs.map +1 -0
- package/core/pagination.d.mts +105 -0
- package/core/pagination.d.mts.map +1 -0
- package/core/pagination.d.ts +105 -0
- package/core/pagination.d.ts.map +1 -0
- package/core/pagination.js +185 -0
- package/core/pagination.js.map +1 -0
- package/core/pagination.mjs +177 -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 +33 -0
- package/core/streaming.d.mts.map +1 -0
- package/core/streaming.d.ts +33 -0
- package/core/streaming.d.ts.map +1 -0
- package/core/streaming.js +290 -0
- package/core/streaming.js.map +1 -0
- package/core/streaming.mjs +285 -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 +2 -0
- package/error.d.mts.map +1 -0
- package/error.d.ts +2 -0
- package/error.d.ts.map +1 -0
- package/error.js +6 -0
- package/error.js.map +1 -0
- package/error.mjs +2 -0
- package/error.mjs.map +1 -0
- package/helpers/beta/json-schema.d.mts +31 -0
- package/helpers/beta/json-schema.d.mts.map +1 -0
- package/helpers/beta/json-schema.d.ts +31 -0
- package/helpers/beta/json-schema.d.ts.map +1 -0
- package/helpers/beta/json-schema.js +56 -0
- package/helpers/beta/json-schema.js.map +1 -0
- package/helpers/beta/json-schema.mjs +52 -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 +27 -0
- package/helpers/beta/zod.d.mts.map +1 -0
- package/helpers/beta/zod.d.ts +27 -0
- package/helpers/beta/zod.d.ts.map +1 -0
- package/helpers/beta/zod.js +57 -0
- package/helpers/beta/zod.js.map +1 -0
- package/helpers/beta/zod.mjs +52 -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 +9 -0
- package/index.d.mts.map +1 -0
- package/index.d.ts +9 -0
- package/index.d.ts.map +1 -0
- package/index.js +42 -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 +22 -0
- package/internal/headers.d.mts.map +1 -0
- package/internal/headers.d.ts +22 -0
- package/internal/headers.d.ts.map +1 -0
- package/internal/headers.js +79 -0
- package/internal/headers.js.map +1 -0
- package/internal/headers.mjs +74 -0
- package/internal/headers.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 +60 -0
- package/internal/parse.js.map +1 -0
- package/internal/parse.mjs +56 -0
- package/internal/parse.mjs.map +1 -0
- package/internal/request-options.d.mts +77 -0
- package/internal/request-options.d.mts.map +1 -0
- package/internal/request-options.d.ts +77 -0
- package/internal/request-options.d.ts.map +1 -0
- package/internal/request-options.js +14 -0
- package/internal/request-options.js.map +1 -0
- package/internal/request-options.mjs +10 -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 +20 -0
- package/internal/shims.d.mts.map +1 -0
- package/internal/shims.d.ts +20 -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/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/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 +37 -0
- package/internal/utils/log.d.mts.map +1 -0
- package/internal/utils/log.d.ts +37 -0
- package/internal/utils/log.d.ts.map +1 -0
- package/internal/utils/log.js +86 -0
- package/internal/utils/log.js.map +1 -0
- package/internal/utils/log.mjs +80 -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/query.d.mts +5 -0
- package/internal/utils/query.d.mts.map +1 -0
- package/internal/utils/query.d.ts +5 -0
- package/internal/utils/query.d.ts.map +1 -0
- package/internal/utils/query.js +23 -0
- package/internal/utils/query.js.map +1 -0
- package/internal/utils/query.mjs +20 -0
- package/internal/utils/query.mjs.map +1 -0
- package/internal/utils/sleep.d.mts +2 -0
- package/internal/utils/sleep.d.mts.map +1 -0
- package/internal/utils/sleep.d.ts +2 -0
- package/internal/utils/sleep.d.ts.map +1 -0
- package/internal/utils/sleep.js +7 -0
- package/internal/utils/sleep.js.map +1 -0
- package/internal/utils/sleep.mjs +3 -0
- package/internal/utils/sleep.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 +620 -0
- package/lib/BetaMessageStream.js.map +1 -0
- package/lib/BetaMessageStream.mjs +616 -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/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/stainless-helper-header.d.mts +34 -0
- package/lib/stainless-helper-header.d.mts.map +1 -0
- package/lib/stainless-helper-header.d.ts +34 -0
- package/lib/stainless-helper-header.d.ts.map +1 -0
- package/lib/stainless-helper-header.js +70 -0
- package/lib/stainless-helper-header.js.map +1 -0
- package/lib/stainless-helper-header.mjs +63 -0
- package/lib/stainless-helper-header.mjs.map +1 -0
- package/lib/tools/BetaRunnableTool.d.mts +12 -0
- package/lib/tools/BetaRunnableTool.d.mts.map +1 -0
- package/lib/tools/BetaRunnableTool.d.ts +12 -0
- package/lib/tools/BetaRunnableTool.d.ts.map +1 -0
- package/lib/tools/BetaRunnableTool.js +3 -0
- package/lib/tools/BetaRunnableTool.js.map +1 -0
- package/lib/tools/BetaRunnableTool.mjs +2 -0
- package/lib/tools/BetaRunnableTool.mjs.map +1 -0
- package/lib/tools/BetaToolRunner.d.mts +141 -0
- package/lib/tools/BetaToolRunner.d.mts.map +1 -0
- package/lib/tools/BetaToolRunner.d.ts +141 -0
- package/lib/tools/BetaToolRunner.d.ts.map +1 -0
- package/lib/tools/BetaToolRunner.js +381 -0
- package/lib/tools/BetaToolRunner.js.map +1 -0
- package/lib/tools/BetaToolRunner.mjs +377 -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/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 +246 -0
- package/pagination.d.mts +2 -0
- package/pagination.d.mts.map +1 -0
- package/pagination.d.ts +2 -0
- package/pagination.d.ts.map +1 -0
- package/pagination.js +6 -0
- package/pagination.js.map +1 -0
- package/pagination.mjs +2 -0
- package/pagination.mjs.map +1 -0
- package/resource.d.mts +2 -0
- package/resource.d.mts.map +1 -0
- package/resource.d.ts +2 -0
- package/resource.d.ts.map +1 -0
- package/resource.js +6 -0
- package/resource.js.map +1 -0
- package/resource.mjs +2 -0
- package/resource.mjs.map +1 -0
- package/resources/beta/beta.d.mts +66 -0
- package/resources/beta/beta.d.mts.map +1 -0
- package/resources/beta/beta.d.ts +66 -0
- package/resources/beta/beta.d.ts.map +1 -0
- package/resources/beta/beta.js +29 -0
- package/resources/beta/beta.js.map +1 -0
- package/resources/beta/beta.mjs +24 -0
- package/resources/beta/beta.mjs.map +1 -0
- package/resources/beta/files.d.mts +151 -0
- package/resources/beta/files.d.mts.map +1 -0
- package/resources/beta/files.d.ts +151 -0
- package/resources/beta/files.d.ts.map +1 -0
- package/resources/beta/files.js +124 -0
- package/resources/beta/files.js.map +1 -0
- package/resources/beta/files.mjs +120 -0
- package/resources/beta/files.mjs.map +1 -0
- package/resources/beta/index.d.mts +6 -0
- package/resources/beta/index.d.mts.map +1 -0
- package/resources/beta/index.d.ts +6 -0
- package/resources/beta/index.d.ts.map +1 -0
- package/resources/beta/index.js +15 -0
- package/resources/beta/index.js.map +1 -0
- package/resources/beta/index.mjs +7 -0
- package/resources/beta/index.mjs.map +1 -0
- package/resources/beta/messages/batches.d.mts +646 -0
- package/resources/beta/messages/batches.d.mts.map +1 -0
- package/resources/beta/messages/batches.d.ts +646 -0
- package/resources/beta/messages/batches.d.ts.map +1 -0
- package/resources/beta/messages/batches.js +204 -0
- package/resources/beta/messages/batches.js.map +1 -0
- package/resources/beta/messages/batches.mjs +200 -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 +2993 -0
- package/resources/beta/messages/messages.d.mts.map +1 -0
- package/resources/beta/messages/messages.d.ts +2993 -0
- package/resources/beta/messages/messages.d.ts.map +1 -0
- package/resources/beta/messages/messages.js +163 -0
- package/resources/beta/messages/messages.js.map +1 -0
- package/resources/beta/messages/messages.mjs +156 -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 +208 -0
- package/resources/beta/models.d.mts.map +1 -0
- package/resources/beta/models.d.ts +208 -0
- package/resources/beta/models.d.ts.map +1 -0
- package/resources/beta/models.js +60 -0
- package/resources/beta/models.js.map +1 -0
- package/resources/beta/models.mjs +56 -0
- package/resources/beta/models.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 +249 -0
- package/resources/beta/skills/skills.d.mts.map +1 -0
- package/resources/beta/skills/skills.d.ts +249 -0
- package/resources/beta/skills/skills.d.ts.map +1 -0
- package/resources/beta/skills/skills.js +98 -0
- package/resources/beta/skills/skills.js.map +1 -0
- package/resources/beta/skills/skills.mjs +93 -0
- package/resources/beta/skills/skills.mjs.map +1 -0
- package/resources/beta/skills/versions.d.mts +257 -0
- package/resources/beta/skills/versions.d.mts.map +1 -0
- package/resources/beta/skills/versions.d.ts +257 -0
- package/resources/beta/skills/versions.d.ts.map +1 -0
- package/resources/beta/skills/versions.js +100 -0
- package/resources/beta/skills/versions.js.map +1 -0
- package/resources/beta/skills/versions.mjs +96 -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.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 +182 -0
- package/resources/completions.d.mts.map +1 -0
- package/resources/completions.d.ts +182 -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 +304 -0
- package/resources/messages/batches.d.mts.map +1 -0
- package/resources/messages/batches.d.ts +304 -0
- package/resources/messages/batches.d.ts.map +1 -0
- package/resources/messages/batches.js +153 -0
- package/resources/messages/batches.js.map +1 -0
- package/resources/messages/batches.mjs +149 -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 +2285 -0
- package/resources/messages/messages.d.mts.map +1 -0
- package/resources/messages/messages.d.ts +2285 -0
- package/resources/messages/messages.d.ts.map +1 -0
- package/resources/messages/messages.js +128 -0
- package/resources/messages/messages.js.map +1 -0
- package/resources/messages/messages.mjs +123 -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 +193 -0
- package/resources/models.d.mts.map +1 -0
- package/resources/models.d.ts +193 -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 +44 -0
- package/resources/shared.d.mts.map +1 -0
- package/resources/shared.d.ts +44 -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 +264 -0
- package/src/ainative.ts +85 -0
- package/src/api-promise.ts +2 -0
- package/src/client.ts +1326 -0
- package/src/core/README.md +3 -0
- package/src/core/api-promise.ts +101 -0
- package/src/core/error.ts +145 -0
- package/src/core/pagination.ts +331 -0
- package/src/core/resource.ts +11 -0
- package/src/core/streaming.ts +348 -0
- package/src/core/uploads.ts +2 -0
- package/src/error.ts +2 -0
- package/src/helpers/beta/json-schema.ts +75 -0
- package/src/helpers/beta/mcp.ts +624 -0
- package/src/helpers/beta/memory.ts +28 -0
- package/src/helpers/beta/zod.ts +72 -0
- package/src/helpers/index.ts +2 -0
- package/src/helpers/json-schema.ts +48 -0
- package/src/helpers/zod.ts +58 -0
- package/src/index.ts +40 -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 +99 -0
- package/src/internal/parse.ts +90 -0
- package/src/internal/request-options.ts +93 -0
- package/src/internal/shim-types.ts +26 -0
- package/src/internal/shims.ts +107 -0
- package/src/internal/stream-utils.ts +32 -0
- package/src/internal/to-file.ts +159 -0
- package/src/internal/types.ts +95 -0
- package/src/internal/uploads.ts +204 -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 +127 -0
- package/src/internal/utils/path.ts +88 -0
- package/src/internal/utils/query.ts +23 -0
- package/src/internal/utils/sleep.ts +3 -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 +764 -0
- package/src/lib/MessageStream.ts +743 -0
- package/src/lib/beta-parser.ts +148 -0
- package/src/lib/parser.ts +125 -0
- package/src/lib/stainless-helper-header.ts +80 -0
- package/src/lib/tools/BetaRunnableTool.ts +40 -0
- package/src/lib/tools/BetaToolRunner.ts +494 -0
- package/src/lib/tools/CompactionControl.ts +57 -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/beta.ts +603 -0
- package/src/resources/beta/files.ts +261 -0
- package/src/resources/beta/index.ts +259 -0
- package/src/resources/beta/messages/batches.ts +827 -0
- package/src/resources/beta/messages/index.ts +229 -0
- package/src/resources/beta/messages/messages.ts +4372 -0
- package/src/resources/beta/messages.ts +3 -0
- package/src/resources/beta/models.ts +284 -0
- package/src/resources/beta/skills/index.ts +26 -0
- package/src/resources/beta/skills/skills.ts +384 -0
- package/src/resources/beta/skills/versions.ts +374 -0
- package/src/resources/beta/skills.ts +3 -0
- package/src/resources/beta.ts +3 -0
- package/src/resources/completions.ts +230 -0
- package/src/resources/index.ts +206 -0
- package/src/resources/messages/batches.ts +396 -0
- package/src/resources/messages/index.ts +189 -0
- package/src/resources/messages/messages.ts +3361 -0
- package/src/resources/messages.ts +3 -0
- package/src/resources/models.ts +269 -0
- package/src/resources/shared.ts +85 -0
- package/src/resources/top-level.ts +3 -0
- package/src/resources.ts +1 -0
- package/src/streaming.ts +2 -0
- package/src/tools/memory/node.ts +392 -0
- package/src/tsconfig.json +11 -0
- package/src/uploads.ts +2 -0
- package/src/version.ts +1 -0
- package/streaming.d.mts +2 -0
- package/streaming.d.mts.map +1 -0
- package/streaming.d.ts +2 -0
- package/streaming.d.ts.map +1 -0
- package/streaming.js +6 -0
- package/streaming.js.map +1 -0
- package/streaming.mjs +2 -0
- package/streaming.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 +324 -0
- package/tools/memory/node.js.map +1 -0
- package/tools/memory/node.mjs +318 -0
- package/tools/memory/node.mjs.map +1 -0
- package/uploads.d.mts +2 -0
- package/uploads.d.mts.map +1 -0
- package/uploads.d.ts +2 -0
- package/uploads.d.ts.map +1 -0
- package/uploads.js +6 -0
- package/uploads.js.map +1 -0
- package/uploads.mjs +2 -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,419 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Helper functions for integrating MCP (Model Context Protocol) SDK types
|
|
4
|
+
* with the Anthropic SDK.
|
|
5
|
+
*
|
|
6
|
+
* These helpers reduce boilerplate when converting between MCP types and
|
|
7
|
+
* Anthropic API types. The interfaces defined here use TypeScript's structural
|
|
8
|
+
* typing to match MCP SDK types without requiring a direct dependency.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.UnsupportedMCPValueError = exports.stainlessHelperHeader = exports.collectStainlessHelpers = exports.SDK_HELPER_SYMBOL = void 0;
|
|
12
|
+
exports.mcpTool = mcpTool;
|
|
13
|
+
exports.mcpTools = mcpTools;
|
|
14
|
+
exports.mcpMessage = mcpMessage;
|
|
15
|
+
exports.mcpMessages = mcpMessages;
|
|
16
|
+
exports.mcpContent = mcpContent;
|
|
17
|
+
exports.mcpResourceToContent = mcpResourceToContent;
|
|
18
|
+
exports.mcpResourceToFile = mcpResourceToFile;
|
|
19
|
+
const ToolError_1 = require("../../lib/tools/ToolError.js");
|
|
20
|
+
const stainless_helper_header_1 = require("../../lib/stainless-helper-header.js");
|
|
21
|
+
Object.defineProperty(exports, "SDK_HELPER_SYMBOL", { enumerable: true, get: function () { return stainless_helper_header_1.SDK_HELPER_SYMBOL; } });
|
|
22
|
+
Object.defineProperty(exports, "collectStainlessHelpers", { enumerable: true, get: function () { return stainless_helper_header_1.collectStainlessHelpers; } });
|
|
23
|
+
Object.defineProperty(exports, "stainlessHelperHeader", { enumerable: true, get: function () { return stainless_helper_header_1.stainlessHelperHeader; } });
|
|
24
|
+
const base64_1 = require("../../internal/utils/base64.js");
|
|
25
|
+
// -----------------------------------------------------------------------------
|
|
26
|
+
// Supported MIME types
|
|
27
|
+
// -----------------------------------------------------------------------------
|
|
28
|
+
const SUPPORTED_IMAGE_TYPES = ['image/jpeg', 'image/png', 'image/gif', 'image/webp'];
|
|
29
|
+
function isSupportedImageType(mimeType) {
|
|
30
|
+
return SUPPORTED_IMAGE_TYPES.includes(mimeType);
|
|
31
|
+
}
|
|
32
|
+
function isSupportedResourceMimeType(mimeType) {
|
|
33
|
+
return (!mimeType ||
|
|
34
|
+
mimeType.startsWith('text/') ||
|
|
35
|
+
mimeType === 'application/pdf' ||
|
|
36
|
+
isSupportedImageType(mimeType));
|
|
37
|
+
}
|
|
38
|
+
// -----------------------------------------------------------------------------
|
|
39
|
+
// Error classes
|
|
40
|
+
// -----------------------------------------------------------------------------
|
|
41
|
+
/**
|
|
42
|
+
* Error thrown when an MCP value cannot be converted to a format supported by the Claude API.
|
|
43
|
+
*/
|
|
44
|
+
class UnsupportedMCPValueError extends Error {
|
|
45
|
+
constructor(message) {
|
|
46
|
+
super(message);
|
|
47
|
+
this.name = 'UnsupportedMCPValueError';
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.UnsupportedMCPValueError = UnsupportedMCPValueError;
|
|
51
|
+
// -----------------------------------------------------------------------------
|
|
52
|
+
// Helper functions
|
|
53
|
+
// -----------------------------------------------------------------------------
|
|
54
|
+
/**
|
|
55
|
+
* Converts an MCP tool to a BetaRunnableTool for use with the Anthropic SDK's
|
|
56
|
+
* `toolRunner()` method.
|
|
57
|
+
*
|
|
58
|
+
* @param tool The MCP tool definition from `mcpClient.listTools()`
|
|
59
|
+
* @param mcpClient The MCP client instance used to call the tool
|
|
60
|
+
* @param extraProps Additional Claude API properties to include in the tool definition
|
|
61
|
+
* @returns A runnable tool for use with `anthropic.beta.messages.toolRunner()`
|
|
62
|
+
* @throws {UnsupportedMCPValueError} When the tool returns unsupported content types
|
|
63
|
+
* @throws {UnsupportedMCPValueError} When the tool returns unsupported resource links
|
|
64
|
+
* @throws {UnsupportedMCPValueError} When the tool returns resources with unsupported MIME types
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```ts
|
|
68
|
+
* import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
69
|
+
* import Anthropic from "@anthropic-ai/sdk";
|
|
70
|
+
* import { mcpTool } from "@anthropic-ai/sdk/helpers/beta/mcp";
|
|
71
|
+
*
|
|
72
|
+
* const mcpClient = new Client({ name: "example", version: "1.0.0" });
|
|
73
|
+
* const anthropic = new Anthropic();
|
|
74
|
+
*
|
|
75
|
+
* const tools = await mcpClient.listTools();
|
|
76
|
+
* const runner = await anthropic.beta.messages.toolRunner({
|
|
77
|
+
* model: "claude-sonnet-4-20250514",
|
|
78
|
+
* max_tokens: 1024,
|
|
79
|
+
* tools: tools.tools.map(tool => mcpTool(tool, mcpClient)),
|
|
80
|
+
* messages: [{ role: "user", content: "Use the available tools" }],
|
|
81
|
+
* });
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
function mcpTool(tool, mcpClient, extraProps) {
|
|
85
|
+
// Transform inputSchema to match BetaTool.InputSchema (convert undefined to null)
|
|
86
|
+
const inputSchema = {
|
|
87
|
+
...tool.inputSchema,
|
|
88
|
+
type: 'object',
|
|
89
|
+
properties: tool.inputSchema.properties ?? null,
|
|
90
|
+
required: tool.inputSchema.required ?? null,
|
|
91
|
+
};
|
|
92
|
+
const betaTool = {
|
|
93
|
+
name: tool.name,
|
|
94
|
+
input_schema: inputSchema,
|
|
95
|
+
...(tool.description !== undefined ? { description: tool.description } : {}),
|
|
96
|
+
...extraProps,
|
|
97
|
+
};
|
|
98
|
+
const runnableTool = {
|
|
99
|
+
...betaTool,
|
|
100
|
+
run: async (input) => {
|
|
101
|
+
const result = await mcpClient.callTool({
|
|
102
|
+
name: tool.name,
|
|
103
|
+
arguments: input,
|
|
104
|
+
});
|
|
105
|
+
if (result.isError) {
|
|
106
|
+
const content = result.content.map((item) => mcpContent(item));
|
|
107
|
+
throw new ToolError_1.ToolError(content);
|
|
108
|
+
}
|
|
109
|
+
// If content is empty but structuredContent is present, JSON encode it
|
|
110
|
+
// Spec: "For backwards compatibility, a tool that returns structured content SHOULD also return the serialized JSON in a TextContent block."
|
|
111
|
+
// meaning it's not required and cannot be assumed.
|
|
112
|
+
if (result.content.length === 0 &&
|
|
113
|
+
// Spec: "Structured content is returned as a JSON object in the structuredContent field of a result."
|
|
114
|
+
typeof result.structuredContent === 'object' &&
|
|
115
|
+
result.structuredContent !== null) {
|
|
116
|
+
return JSON.stringify(result.structuredContent);
|
|
117
|
+
}
|
|
118
|
+
return result.content.map((item) => mcpContent(item));
|
|
119
|
+
},
|
|
120
|
+
parse: (content) => content,
|
|
121
|
+
[stainless_helper_header_1.SDK_HELPER_SYMBOL]: 'mcpTool',
|
|
122
|
+
};
|
|
123
|
+
return runnableTool;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Converts an array of MCP tools to BetaRunnableTools.
|
|
127
|
+
*
|
|
128
|
+
* @param tools Array of MCP tool definitions from `mcpClient.listTools()`
|
|
129
|
+
* @param mcpClient The MCP client instance used to call the tools
|
|
130
|
+
* @param extraProps Additional Claude API properties to include in each tool definition
|
|
131
|
+
* @returns An array of runnable tools for use with `anthropic.beta.messages.toolRunner()`
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```ts
|
|
135
|
+
* const { tools } = await mcpClient.listTools();
|
|
136
|
+
* const runner = await anthropic.beta.messages.toolRunner({
|
|
137
|
+
* model: "claude-sonnet-4-20250514",
|
|
138
|
+
* max_tokens: 1024,
|
|
139
|
+
* tools: mcpTools(tools, mcpClient),
|
|
140
|
+
* messages: [{ role: "user", content: "Use the available tools" }],
|
|
141
|
+
* });
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
function mcpTools(tools, mcpClient, extraProps) {
|
|
145
|
+
return tools.map((tool) => mcpTool(tool, mcpClient, extraProps));
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Converts an MCP prompt message to an Anthropic BetaMessageParam.
|
|
149
|
+
*
|
|
150
|
+
* @param mcpMessage The MCP prompt message from `mcpClient.getPrompt()`
|
|
151
|
+
* @param extraProps Additional Claude API properties to include in content blocks (e.g., `cache_control`)
|
|
152
|
+
* @returns A message parameter for use with `anthropic.beta.messages.create()`
|
|
153
|
+
* @throws {UnsupportedMCPValueError} When the message contains unsupported content types
|
|
154
|
+
* @throws {UnsupportedMCPValueError} When the message contains unsupported resource links
|
|
155
|
+
* @throws {UnsupportedMCPValueError} When the message contains resources with unsupported MIME types
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```ts
|
|
159
|
+
* import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
160
|
+
* import Anthropic from "@anthropic-ai/sdk";
|
|
161
|
+
* import { mcpMessage } from "@anthropic-ai/sdk/helpers/beta/mcp";
|
|
162
|
+
*
|
|
163
|
+
* const mcpClient = new Client({ name: "example", version: "1.0.0" });
|
|
164
|
+
* const anthropic = new Anthropic();
|
|
165
|
+
*
|
|
166
|
+
* const prompt = await mcpClient.getPrompt({
|
|
167
|
+
* name: "example-prompt",
|
|
168
|
+
* arguments: { arg1: "value" },
|
|
169
|
+
* });
|
|
170
|
+
*
|
|
171
|
+
* await anthropic.beta.messages.create({
|
|
172
|
+
* model: "claude-sonnet-4-20250514",
|
|
173
|
+
* max_tokens: 1024,
|
|
174
|
+
* messages: prompt.messages.map(msg => mcpMessage(msg)),
|
|
175
|
+
* });
|
|
176
|
+
* ```
|
|
177
|
+
*/
|
|
178
|
+
function mcpMessage(mcpMessage, extraProps) {
|
|
179
|
+
const message = {
|
|
180
|
+
role: mcpMessage.role,
|
|
181
|
+
content: [mcpContent(mcpMessage.content, extraProps)],
|
|
182
|
+
[stainless_helper_header_1.SDK_HELPER_SYMBOL]: 'mcpMessage',
|
|
183
|
+
};
|
|
184
|
+
return message;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Converts an array of MCP prompt messages to Anthropic BetaMessageParams.
|
|
188
|
+
*
|
|
189
|
+
* @param messages Array of MCP prompt messages from `mcpClient.getPrompt()`
|
|
190
|
+
* @param extraProps Additional Claude API properties to include in content blocks (e.g., `cache_control`)
|
|
191
|
+
* @returns An array of message parameters for use with `anthropic.beta.messages.create()`
|
|
192
|
+
* @throws {UnsupportedMCPValueError} When any message contains unsupported content types
|
|
193
|
+
* @throws {UnsupportedMCPValueError} When any message contains unsupported resource links
|
|
194
|
+
* @throws {UnsupportedMCPValueError} When any message contains resources with unsupported MIME types
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```ts
|
|
198
|
+
* const { messages } = await mcpClient.getPrompt({ name: "example-prompt" });
|
|
199
|
+
* await anthropic.beta.messages.create({
|
|
200
|
+
* model: "claude-sonnet-4-20250514",
|
|
201
|
+
* max_tokens: 1024,
|
|
202
|
+
* messages: mcpMessages(messages),
|
|
203
|
+
* });
|
|
204
|
+
* ```
|
|
205
|
+
*/
|
|
206
|
+
function mcpMessages(messages, extraProps) {
|
|
207
|
+
return messages.map((message) => mcpMessage(message, extraProps));
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Converts a single MCP prompt content item to an Anthropic content block.
|
|
211
|
+
*
|
|
212
|
+
* @param content The MCP content item (text, image, or embedded resource)
|
|
213
|
+
* @param extraProps Additional Claude API properties to include in the content block (e.g., `cache_control`)
|
|
214
|
+
* @returns A Claude content block for use in a message's content array
|
|
215
|
+
* @throws {UnsupportedMCPValueError} When the content type is not supported (e.g., 'audio')
|
|
216
|
+
* @throws {UnsupportedMCPValueError} When resource links use non-http/https protocols
|
|
217
|
+
* @throws {UnsupportedMCPValueError} When resources have unsupported MIME types
|
|
218
|
+
*
|
|
219
|
+
* @example
|
|
220
|
+
* ```ts
|
|
221
|
+
* const { messages } = await mcpClient.getPrompt({ name: "my-prompt" });
|
|
222
|
+
* // If you need to mix MCP content with other content:
|
|
223
|
+
* await anthropic.beta.messages.create({
|
|
224
|
+
* model: "claude-sonnet-4-20250514",
|
|
225
|
+
* max_tokens: 1024,
|
|
226
|
+
* messages: [{
|
|
227
|
+
* role: "user",
|
|
228
|
+
* content: [
|
|
229
|
+
* mcpContent(messages[0].content),
|
|
230
|
+
* { type: "text", text: "Additional context" },
|
|
231
|
+
* ],
|
|
232
|
+
* }],
|
|
233
|
+
* });
|
|
234
|
+
* ```
|
|
235
|
+
*/
|
|
236
|
+
function mcpContent(content, extraProps) {
|
|
237
|
+
switch (content.type) {
|
|
238
|
+
case 'text': {
|
|
239
|
+
const textBlock = {
|
|
240
|
+
type: 'text',
|
|
241
|
+
text: content.text,
|
|
242
|
+
...extraProps,
|
|
243
|
+
[stainless_helper_header_1.SDK_HELPER_SYMBOL]: 'mcpContent',
|
|
244
|
+
};
|
|
245
|
+
return textBlock;
|
|
246
|
+
}
|
|
247
|
+
case 'image': {
|
|
248
|
+
if (!isSupportedImageType(content.mimeType)) {
|
|
249
|
+
throw new UnsupportedMCPValueError(`Unsupported image MIME type: ${content.mimeType}`);
|
|
250
|
+
}
|
|
251
|
+
const imageBlock = {
|
|
252
|
+
type: 'image',
|
|
253
|
+
source: {
|
|
254
|
+
type: 'base64',
|
|
255
|
+
data: content.data,
|
|
256
|
+
media_type: content.mimeType,
|
|
257
|
+
},
|
|
258
|
+
...extraProps,
|
|
259
|
+
[stainless_helper_header_1.SDK_HELPER_SYMBOL]: 'mcpContent',
|
|
260
|
+
};
|
|
261
|
+
return imageBlock;
|
|
262
|
+
}
|
|
263
|
+
case 'resource':
|
|
264
|
+
return mcpResourceContentToContentBlock(content.resource, extraProps, 'mcpContent');
|
|
265
|
+
case 'resource_link':
|
|
266
|
+
case 'audio':
|
|
267
|
+
throw new UnsupportedMCPValueError(`Unsupported MCP content type: ${content.type}`);
|
|
268
|
+
default:
|
|
269
|
+
// This should never happen as we handle all MCPPromptContentLike types
|
|
270
|
+
content;
|
|
271
|
+
throw new UnsupportedMCPValueError(`Unsupported MCP content type: ${content.type}`);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Converts a single MCP resource contents item to an Anthropic content block.
|
|
276
|
+
*/
|
|
277
|
+
function mcpResourceContentToContentBlock(resourceContent, extraProps, helperName = 'mcpResourceToContent') {
|
|
278
|
+
const mimeType = resourceContent.mimeType;
|
|
279
|
+
// Handle images (requires blob - base64-encoded binary data)
|
|
280
|
+
if (mimeType && isSupportedImageType(mimeType)) {
|
|
281
|
+
if (!('blob' in resourceContent)) {
|
|
282
|
+
throw new UnsupportedMCPValueError(`Image resource must have blob data, not text. URI: ${resourceContent.uri}`);
|
|
283
|
+
}
|
|
284
|
+
const imageBlock = {
|
|
285
|
+
type: 'image',
|
|
286
|
+
source: {
|
|
287
|
+
type: 'base64',
|
|
288
|
+
data: resourceContent.blob,
|
|
289
|
+
media_type: mimeType,
|
|
290
|
+
},
|
|
291
|
+
...extraProps,
|
|
292
|
+
[stainless_helper_header_1.SDK_HELPER_SYMBOL]: helperName,
|
|
293
|
+
};
|
|
294
|
+
return imageBlock;
|
|
295
|
+
}
|
|
296
|
+
// Handle PDFs (requires blob - base64-encoded binary data)
|
|
297
|
+
if (mimeType === 'application/pdf') {
|
|
298
|
+
if (!('blob' in resourceContent)) {
|
|
299
|
+
throw new UnsupportedMCPValueError(`PDF resource must have blob data, not text. URI: ${resourceContent.uri}`);
|
|
300
|
+
}
|
|
301
|
+
const pdfBlock = {
|
|
302
|
+
type: 'document',
|
|
303
|
+
source: {
|
|
304
|
+
type: 'base64',
|
|
305
|
+
data: resourceContent.blob,
|
|
306
|
+
media_type: 'application/pdf',
|
|
307
|
+
},
|
|
308
|
+
...extraProps,
|
|
309
|
+
[stainless_helper_header_1.SDK_HELPER_SYMBOL]: helperName,
|
|
310
|
+
};
|
|
311
|
+
return pdfBlock;
|
|
312
|
+
}
|
|
313
|
+
// Handle text types (text/*, or no MIME type defaults to text)
|
|
314
|
+
if (!mimeType || mimeType.startsWith('text/')) {
|
|
315
|
+
const textDocBlock = {
|
|
316
|
+
type: 'document',
|
|
317
|
+
source: textSourceFromResource(resourceContent),
|
|
318
|
+
...extraProps,
|
|
319
|
+
[stainless_helper_header_1.SDK_HELPER_SYMBOL]: helperName,
|
|
320
|
+
};
|
|
321
|
+
return textDocBlock;
|
|
322
|
+
}
|
|
323
|
+
throw new UnsupportedMCPValueError(`Unsupported MIME type "${mimeType}" for resource: ${resourceContent.uri}`);
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Converts MCP resource contents to an Anthropic content block.
|
|
327
|
+
*
|
|
328
|
+
* This helper is useful when you have resource contents from `mcpClient.readResource()`
|
|
329
|
+
* and want to include them in a message or as a document source. It automatically
|
|
330
|
+
* finds the first resource with a supported MIME type.
|
|
331
|
+
*
|
|
332
|
+
* @param result The result from `mcpClient.readResource()`
|
|
333
|
+
* @param extraProps Additional Claude API properties to include in the content block (e.g., `cache_control`)
|
|
334
|
+
* @returns A Claude content block
|
|
335
|
+
* @throws {UnsupportedMCPValueError} When contents array is empty or none have a supported MIME type
|
|
336
|
+
*
|
|
337
|
+
* @example
|
|
338
|
+
* ```ts
|
|
339
|
+
* import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
340
|
+
* import Anthropic from "@anthropic-ai/sdk";
|
|
341
|
+
* import { mcpResourceToContent } from "@anthropic-ai/sdk/helpers/beta/mcp";
|
|
342
|
+
*
|
|
343
|
+
* const mcpClient = new Client({ name: "example", version: "1.0.0" });
|
|
344
|
+
* const anthropic = new Anthropic();
|
|
345
|
+
*
|
|
346
|
+
* const resource = await mcpClient.readResource({ uri: "file:///example.txt" });
|
|
347
|
+
* await anthropic.beta.messages.create({
|
|
348
|
+
* model: "claude-sonnet-4-20250514",
|
|
349
|
+
* max_tokens: 1024,
|
|
350
|
+
* messages: [{
|
|
351
|
+
* role: "user",
|
|
352
|
+
* content: [mcpResourceToContent(resource)],
|
|
353
|
+
* }],
|
|
354
|
+
* });
|
|
355
|
+
* ```
|
|
356
|
+
*/
|
|
357
|
+
function mcpResourceToContent(result, extraProps) {
|
|
358
|
+
if (result.contents.length === 0) {
|
|
359
|
+
throw new UnsupportedMCPValueError('Resource contents array must contain at least one item');
|
|
360
|
+
}
|
|
361
|
+
const supported = result.contents.find((c) => isSupportedResourceMimeType(c.mimeType));
|
|
362
|
+
if (!supported) {
|
|
363
|
+
const mimeTypes = result.contents.map((c) => c.mimeType).filter((m) => m !== undefined);
|
|
364
|
+
throw new UnsupportedMCPValueError(`No supported MIME type found in resource contents. Available: ${mimeTypes.join(', ')}`);
|
|
365
|
+
}
|
|
366
|
+
return mcpResourceContentToContentBlock(supported, extraProps);
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Gets the raw bytes from an MCP resource.
|
|
370
|
+
*/
|
|
371
|
+
function bytesFromResource(resource) {
|
|
372
|
+
if ('blob' in resource) {
|
|
373
|
+
return (0, base64_1.fromBase64)(resource.blob);
|
|
374
|
+
}
|
|
375
|
+
return new TextEncoder().encode(resource.text);
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Creates a text document source from an MCP resource, decoding base64 blob to UTF-8 if needed.
|
|
379
|
+
*/
|
|
380
|
+
function textSourceFromResource(resource) {
|
|
381
|
+
const data = 'text' in resource ? resource.text : new TextDecoder().decode((0, base64_1.fromBase64)(resource.blob));
|
|
382
|
+
return { type: 'text', data, media_type: 'text/plain' };
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Converts an MCP resource to a File object suitable for uploading via `anthropic.beta.files.upload()`.
|
|
386
|
+
*
|
|
387
|
+
* @param result The result from `mcpClient.readResource()`
|
|
388
|
+
* @returns A File object for use with `anthropic.beta.files.upload()`
|
|
389
|
+
* @throws {UnsupportedMCPValueError} When contents array is empty
|
|
390
|
+
*
|
|
391
|
+
* @example
|
|
392
|
+
* ```ts
|
|
393
|
+
* import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
394
|
+
* import Anthropic from "@anthropic-ai/sdk";
|
|
395
|
+
* import { mcpResourceToFile } from "@anthropic-ai/sdk/helpers/beta/mcp";
|
|
396
|
+
*
|
|
397
|
+
* const mcpClient = new Client({ name: "example", version: "1.0.0" });
|
|
398
|
+
* const anthropic = new Anthropic();
|
|
399
|
+
*
|
|
400
|
+
* const resource = await mcpClient.readResource({ uri: "file:///document.pdf" });
|
|
401
|
+
*
|
|
402
|
+
* const uploaded = await anthropic.beta.files.upload({
|
|
403
|
+
* file: mcpResourceToFile(resource),
|
|
404
|
+
* });
|
|
405
|
+
* ```
|
|
406
|
+
*/
|
|
407
|
+
function mcpResourceToFile(result) {
|
|
408
|
+
if (result.contents.length === 0) {
|
|
409
|
+
throw new UnsupportedMCPValueError('Resource contents array must contain at least one item');
|
|
410
|
+
}
|
|
411
|
+
const resourceContents = result.contents[0];
|
|
412
|
+
const name = new URL(resourceContents.uri).pathname.split('/').at(-1) || 'file';
|
|
413
|
+
const type = resourceContents.mimeType;
|
|
414
|
+
const data = bytesFromResource(resourceContents);
|
|
415
|
+
const file = new File([data], name, type ? { type } : undefined);
|
|
416
|
+
file[stainless_helper_header_1.SDK_HELPER_SYMBOL] = 'mcpResourceToFile';
|
|
417
|
+
return file;
|
|
418
|
+
}
|
|
419
|
+
//# sourceMappingURL=mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/helpers/beta/mcp.ts"],"names":[],"mappings":"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"}
|