@anthropic-ai/sdk 0.96.0 → 0.97.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/api-promise.d.mts +1 -0
- package/api-promise.d.mts.map +1 -1
- package/api-promise.d.ts +1 -0
- package/api-promise.d.ts.map +1 -1
- package/api-promise.mjs +1 -0
- package/api-promise.mjs.map +1 -1
- package/bin/migration-config.json +222 -0
- package/client.d.mts.map +1 -1
- package/client.d.ts.map +1 -1
- package/client.mjs.map +1 -1
- package/core/api-promise.d.mts.map +1 -1
- package/core/api-promise.d.ts.map +1 -1
- package/core/api-promise.mjs.map +1 -1
- package/core/credentials.mjs.map +1 -1
- package/core/error.d.mts.map +1 -1
- package/core/error.d.ts.map +1 -1
- package/core/error.mjs.map +1 -1
- package/core/pagination.d.mts.map +1 -1
- package/core/pagination.d.ts.map +1 -1
- package/core/pagination.mjs.map +1 -1
- package/core/resource.d.mts.map +1 -1
- package/core/resource.d.ts.map +1 -1
- package/core/streaming.d.mts.map +1 -1
- package/core/streaming.d.ts.map +1 -1
- package/core/streaming.js +2 -0
- package/core/streaming.js.map +1 -1
- package/core/streaming.mjs +2 -0
- package/core/streaming.mjs.map +1 -1
- package/core/uploads.d.mts.map +1 -1
- package/core/uploads.d.ts.map +1 -1
- package/core/uploads.mjs.map +1 -1
- package/error.d.mts +1 -0
- package/error.d.mts.map +1 -1
- package/error.d.ts +1 -0
- package/error.d.ts.map +1 -1
- package/error.mjs +1 -0
- package/error.mjs.map +1 -1
- package/helpers/beta/environments.d.mts +22 -0
- package/helpers/beta/environments.d.mts.map +1 -0
- package/helpers/beta/environments.d.ts +22 -0
- package/helpers/beta/environments.d.ts.map +1 -0
- package/helpers/beta/environments.js +30 -0
- package/helpers/beta/environments.js.map +1 -0
- package/helpers/beta/environments.mjs +22 -0
- package/helpers/beta/environments.mjs.map +1 -0
- package/helpers/beta/json-schema.d.mts +6 -0
- package/helpers/beta/json-schema.d.mts.map +1 -1
- package/helpers/beta/json-schema.d.ts +6 -0
- package/helpers/beta/json-schema.d.ts.map +1 -1
- package/helpers/beta/json-schema.js +1 -0
- package/helpers/beta/json-schema.js.map +1 -1
- package/helpers/beta/json-schema.mjs +1 -0
- package/helpers/beta/json-schema.mjs.map +1 -1
- package/helpers/beta/mcp.d.mts.map +1 -1
- package/helpers/beta/mcp.d.ts.map +1 -1
- package/helpers/beta/mcp.mjs.map +1 -1
- package/helpers/beta/memory.d.mts.map +1 -1
- package/helpers/beta/memory.d.ts.map +1 -1
- package/helpers/beta/zod.d.mts +6 -0
- package/helpers/beta/zod.d.mts.map +1 -1
- package/helpers/beta/zod.d.ts +6 -0
- package/helpers/beta/zod.d.ts.map +1 -1
- package/helpers/beta/zod.js +1 -0
- package/helpers/beta/zod.js.map +1 -1
- package/helpers/beta/zod.mjs +1 -0
- package/helpers/beta/zod.mjs.map +1 -1
- package/helpers/index.d.mts.map +1 -1
- package/helpers/index.d.ts.map +1 -1
- package/helpers/index.mjs.map +1 -1
- package/helpers/json-schema.d.mts.map +1 -1
- package/helpers/json-schema.d.ts.map +1 -1
- package/helpers/json-schema.mjs.map +1 -1
- package/helpers/zod.d.mts.map +1 -1
- package/helpers/zod.d.ts.map +1 -1
- package/helpers/zod.mjs.map +1 -1
- package/index.d.mts.map +1 -1
- package/index.d.ts.map +1 -1
- package/index.mjs.map +1 -1
- package/internal/decoders/jsonl.d.mts.map +1 -1
- package/internal/decoders/jsonl.d.ts.map +1 -1
- package/internal/decoders/jsonl.mjs.map +1 -1
- package/internal/decoders/line.mjs.map +1 -1
- package/internal/detect-platform.mjs.map +1 -1
- package/internal/headers.mjs.map +1 -1
- package/internal/parse.d.mts.map +1 -1
- package/internal/parse.d.ts.map +1 -1
- package/internal/parse.mjs.map +1 -1
- package/internal/qs/formats.d.mts.map +1 -1
- package/internal/qs/formats.d.ts.map +1 -1
- package/internal/qs/index.d.mts +2 -2
- package/internal/qs/index.d.mts.map +1 -1
- package/internal/qs/index.d.ts +2 -2
- package/internal/qs/index.d.ts.map +1 -1
- package/internal/qs/index.mjs.map +1 -1
- package/internal/qs/stringify.d.mts.map +1 -1
- package/internal/qs/stringify.d.ts.map +1 -1
- package/internal/qs/stringify.mjs.map +1 -1
- package/internal/qs/utils.d.mts.map +1 -1
- package/internal/qs/utils.d.ts.map +1 -1
- package/internal/qs/utils.mjs.map +1 -1
- package/internal/request-options.d.mts.map +1 -1
- package/internal/request-options.d.ts.map +1 -1
- package/internal/shims.d.mts +6 -0
- package/internal/shims.d.mts.map +1 -1
- package/internal/shims.d.ts +6 -0
- package/internal/shims.d.ts.map +1 -1
- package/internal/to-file.d.mts.map +1 -1
- package/internal/to-file.d.ts.map +1 -1
- package/internal/to-file.mjs.map +1 -1
- package/internal/types.d.mts +4 -4
- package/internal/types.d.mts.map +1 -1
- package/internal/types.d.ts +4 -4
- package/internal/types.d.ts.map +1 -1
- package/internal/uploads.d.mts.map +1 -1
- package/internal/uploads.d.ts.map +1 -1
- package/internal/uploads.mjs.map +1 -1
- 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.mjs.map +1 -1
- package/internal/utils/log.d.mts.map +1 -1
- package/internal/utils/log.d.ts.map +1 -1
- package/internal/utils/log.mjs.map +1 -1
- package/internal/utils/path.mjs.map +1 -1
- 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.mjs.map +1 -1
- package/internal/utils/sleep.d.mts +9 -1
- package/internal/utils/sleep.d.mts.map +1 -1
- package/internal/utils/sleep.d.ts +9 -1
- package/internal/utils/sleep.d.ts.map +1 -1
- package/internal/utils/sleep.js +23 -2
- package/internal/utils/sleep.js.map +1 -1
- package/internal/utils/sleep.mjs +23 -2
- package/internal/utils/sleep.mjs.map +1 -1
- package/internal/utils/values.mjs.map +1 -1
- package/internal/utils.d.mts.map +1 -1
- package/internal/utils.d.ts.map +1 -1
- package/internal/utils.mjs.map +1 -1
- package/lib/BetaMessageStream.d.mts.map +1 -1
- package/lib/BetaMessageStream.d.ts.map +1 -1
- package/lib/BetaMessageStream.mjs.map +1 -1
- package/lib/MessageStream.d.mts.map +1 -1
- package/lib/MessageStream.d.ts.map +1 -1
- package/lib/MessageStream.mjs.map +1 -1
- package/lib/beta-parser.d.mts.map +1 -1
- package/lib/beta-parser.d.ts.map +1 -1
- package/lib/beta-parser.mjs.map +1 -1
- package/lib/credentials/credential-chain.d.mts.map +1 -1
- package/lib/credentials/credential-chain.d.ts.map +1 -1
- package/lib/credentials/credential-chain.mjs.map +1 -1
- package/lib/credentials/identity-token.d.mts.map +1 -1
- package/lib/credentials/identity-token.d.ts.map +1 -1
- package/lib/credentials/identity-token.mjs.map +1 -1
- package/lib/credentials/oidc-federation.d.mts.map +1 -1
- package/lib/credentials/oidc-federation.d.ts.map +1 -1
- package/lib/credentials/oidc-federation.mjs.map +1 -1
- package/lib/credentials/token-cache.d.mts.map +1 -1
- package/lib/credentials/token-cache.d.ts.map +1 -1
- package/lib/credentials/token-cache.mjs.map +1 -1
- package/lib/credentials/types.d.mts.map +1 -1
- package/lib/credentials/types.d.ts.map +1 -1
- package/lib/credentials/types.mjs.map +1 -1
- package/lib/credentials/user-oauth.d.mts.map +1 -1
- package/lib/credentials/user-oauth.d.ts.map +1 -1
- package/lib/credentials/user-oauth.mjs.map +1 -1
- package/lib/credentials.d.mts.map +1 -1
- package/lib/credentials.d.ts.map +1 -1
- package/lib/credentials.mjs.map +1 -1
- 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 +89 -0
- package/lib/environments/poller.d.mts.map +1 -0
- package/lib/environments/poller.d.ts +89 -0
- package/lib/environments/poller.d.ts.map +1 -0
- package/lib/environments/poller.js +181 -0
- package/lib/environments/poller.js.map +1 -0
- package/lib/environments/poller.mjs +172 -0
- package/lib/environments/poller.mjs.map +1 -0
- package/lib/environments/worker.d.mts +143 -0
- package/lib/environments/worker.d.mts.map +1 -0
- package/lib/environments/worker.d.ts +143 -0
- package/lib/environments/worker.d.ts.map +1 -0
- package/lib/environments/worker.js +265 -0
- package/lib/environments/worker.js.map +1 -0
- package/lib/environments/worker.mjs +261 -0
- package/lib/environments/worker.mjs.map +1 -0
- package/lib/helper-client.d.mts +49 -0
- package/lib/helper-client.d.mts.map +1 -0
- package/lib/helper-client.d.ts +49 -0
- package/lib/helper-client.d.ts.map +1 -0
- package/lib/helper-client.js +57 -0
- package/lib/helper-client.js.map +1 -0
- package/lib/helper-client.mjs +54 -0
- package/lib/helper-client.mjs.map +1 -0
- package/lib/parser.d.mts.map +1 -1
- package/lib/parser.d.ts.map +1 -1
- package/lib/parser.mjs.map +1 -1
- package/lib/stainless-helper-header.d.mts.map +1 -1
- package/lib/stainless-helper-header.d.ts.map +1 -1
- package/lib/tools/BetaRunnableTool.d.mts +54 -2
- package/lib/tools/BetaRunnableTool.d.mts.map +1 -1
- package/lib/tools/BetaRunnableTool.d.ts +54 -2
- package/lib/tools/BetaRunnableTool.d.ts.map +1 -1
- package/lib/tools/BetaRunnableTool.js +37 -0
- package/lib/tools/BetaRunnableTool.js.map +1 -1
- package/lib/tools/BetaRunnableTool.mjs +34 -1
- package/lib/tools/BetaRunnableTool.mjs.map +1 -1
- package/lib/tools/BetaToolRunner.d.mts.map +1 -1
- package/lib/tools/BetaToolRunner.d.ts.map +1 -1
- package/lib/tools/BetaToolRunner.js +4 -14
- package/lib/tools/BetaToolRunner.js.map +1 -1
- package/lib/tools/BetaToolRunner.mjs +2 -12
- package/lib/tools/BetaToolRunner.mjs.map +1 -1
- package/lib/tools/CompactionControl.d.mts.map +1 -1
- package/lib/tools/CompactionControl.d.ts.map +1 -1
- package/lib/tools/SessionToolRunner.d.mts +140 -0
- package/lib/tools/SessionToolRunner.d.mts.map +1 -0
- package/lib/tools/SessionToolRunner.d.ts +140 -0
- package/lib/tools/SessionToolRunner.d.ts.map +1 -0
- package/lib/tools/SessionToolRunner.js +459 -0
- package/lib/tools/SessionToolRunner.js.map +1 -0
- package/lib/tools/SessionToolRunner.mjs +455 -0
- package/lib/tools/SessionToolRunner.mjs.map +1 -0
- package/lib/tools/ToolError.d.mts.map +1 -1
- package/lib/tools/ToolError.d.ts.map +1 -1
- package/lib/tools/ToolRunner.d.mts.map +1 -1
- package/lib/tools/ToolRunner.d.ts.map +1 -1
- package/lib/tools/ToolRunner.mjs.map +1 -1
- package/lib/transform-json-schema.mjs.map +1 -1
- package/package.json +1 -1
- package/pagination.d.mts +1 -0
- package/pagination.d.mts.map +1 -1
- package/pagination.d.ts +1 -0
- package/pagination.d.ts.map +1 -1
- package/pagination.mjs +1 -0
- package/pagination.mjs.map +1 -1
- package/resource.d.mts +1 -0
- package/resource.d.mts.map +1 -1
- package/resource.d.ts +1 -0
- package/resource.d.ts.map +1 -1
- package/resource.mjs +1 -0
- package/resource.mjs.map +1 -1
- package/resources/beta/agents/agents.d.mts +125 -1
- package/resources/beta/agents/agents.d.mts.map +1 -1
- package/resources/beta/agents/agents.d.ts +125 -1
- package/resources/beta/agents/agents.d.ts.map +1 -1
- package/resources/beta/agents/agents.js.map +1 -1
- package/resources/beta/agents/agents.mjs.map +1 -1
- package/resources/beta/agents/index.d.mts +1 -1
- package/resources/beta/agents/index.d.mts.map +1 -1
- package/resources/beta/agents/index.d.ts +1 -1
- package/resources/beta/agents/index.d.ts.map +1 -1
- package/resources/beta/agents/index.js.map +1 -1
- package/resources/beta/agents/index.mjs.map +1 -1
- package/resources/beta/agents/versions.d.mts.map +1 -1
- package/resources/beta/agents/versions.d.ts.map +1 -1
- package/resources/beta/agents/versions.mjs.map +1 -1
- package/resources/beta/agents.d.mts.map +1 -1
- package/resources/beta/agents.d.ts.map +1 -1
- package/resources/beta/agents.mjs.map +1 -1
- package/resources/beta/beta.d.mts +7 -7
- package/resources/beta/beta.d.mts.map +1 -1
- package/resources/beta/beta.d.ts +7 -7
- package/resources/beta/beta.d.ts.map +1 -1
- package/resources/beta/beta.js +2 -2
- package/resources/beta/beta.js.map +1 -1
- package/resources/beta/beta.mjs +2 -2
- package/resources/beta/beta.mjs.map +1 -1
- package/resources/beta/environments/environments.d.mts +425 -0
- package/resources/beta/environments/environments.d.mts.map +1 -0
- package/resources/beta/environments/environments.d.ts +425 -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 +496 -0
- package/resources/beta/environments/work.d.mts.map +1 -0
- package/resources/beta/environments/work.d.ts +496 -0
- package/resources/beta/environments/work.d.ts.map +1 -0
- package/resources/beta/environments/work.js +274 -0
- package/resources/beta/environments/work.js.map +1 -0
- package/resources/beta/environments/work.mjs +268 -0
- package/resources/beta/environments/work.mjs.map +1 -0
- package/resources/beta/environments.d.mts +1 -388
- package/resources/beta/environments.d.mts.map +1 -1
- package/resources/beta/environments.d.ts +1 -388
- package/resources/beta/environments.d.ts.map +1 -1
- package/resources/beta/environments.js +2 -138
- package/resources/beta/environments.js.map +1 -1
- package/resources/beta/environments.mjs +1 -136
- package/resources/beta/environments.mjs.map +1 -1
- package/resources/beta/files.d.mts.map +1 -1
- package/resources/beta/files.d.ts.map +1 -1
- package/resources/beta/files.mjs.map +1 -1
- package/resources/beta/index.d.mts +3 -3
- package/resources/beta/index.d.mts.map +1 -1
- package/resources/beta/index.d.ts +3 -3
- package/resources/beta/index.d.ts.map +1 -1
- package/resources/beta/index.js +12 -12
- package/resources/beta/index.js.map +1 -1
- package/resources/beta/index.mjs +1 -1
- package/resources/beta/index.mjs.map +1 -1
- package/resources/beta/memory-stores/index.d.mts.map +1 -1
- package/resources/beta/memory-stores/index.d.ts.map +1 -1
- package/resources/beta/memory-stores/index.mjs.map +1 -1
- package/resources/beta/memory-stores/memories.d.mts.map +1 -1
- package/resources/beta/memory-stores/memories.d.ts.map +1 -1
- package/resources/beta/memory-stores/memories.mjs.map +1 -1
- package/resources/beta/memory-stores/memory-stores.d.mts.map +1 -1
- package/resources/beta/memory-stores/memory-stores.d.ts.map +1 -1
- package/resources/beta/memory-stores/memory-stores.mjs.map +1 -1
- package/resources/beta/memory-stores/memory-versions.d.mts.map +1 -1
- package/resources/beta/memory-stores/memory-versions.d.ts.map +1 -1
- package/resources/beta/memory-stores/memory-versions.mjs.map +1 -1
- package/resources/beta/memory-stores.d.mts.map +1 -1
- package/resources/beta/memory-stores.d.ts.map +1 -1
- package/resources/beta/memory-stores.mjs.map +1 -1
- package/resources/beta/messages/batches.d.mts.map +1 -1
- package/resources/beta/messages/batches.d.ts.map +1 -1
- package/resources/beta/messages/batches.mjs.map +1 -1
- package/resources/beta/messages/index.d.mts.map +1 -1
- package/resources/beta/messages/index.d.ts.map +1 -1
- package/resources/beta/messages/index.mjs.map +1 -1
- package/resources/beta/messages/messages.d.mts +4 -4
- package/resources/beta/messages/messages.d.mts.map +1 -1
- package/resources/beta/messages/messages.d.ts +4 -4
- package/resources/beta/messages/messages.d.ts.map +1 -1
- package/resources/beta/messages/messages.mjs.map +1 -1
- package/resources/beta/messages.d.mts.map +1 -1
- package/resources/beta/messages.d.ts.map +1 -1
- package/resources/beta/messages.mjs.map +1 -1
- package/resources/beta/models.d.mts.map +1 -1
- package/resources/beta/models.d.ts.map +1 -1
- package/resources/beta/models.mjs.map +1 -1
- package/resources/beta/sessions/events.d.mts +52 -5
- package/resources/beta/sessions/events.d.mts.map +1 -1
- package/resources/beta/sessions/events.d.ts +52 -5
- package/resources/beta/sessions/events.d.ts.map +1 -1
- package/resources/beta/sessions/events.js +27 -1
- package/resources/beta/sessions/events.js.map +1 -1
- package/resources/beta/sessions/events.mjs +25 -0
- package/resources/beta/sessions/events.mjs.map +1 -1
- package/resources/beta/sessions/index.d.mts +3 -3
- package/resources/beta/sessions/index.d.mts.map +1 -1
- package/resources/beta/sessions/index.d.ts +3 -3
- package/resources/beta/sessions/index.d.ts.map +1 -1
- package/resources/beta/sessions/index.js.map +1 -1
- package/resources/beta/sessions/index.mjs.map +1 -1
- package/resources/beta/sessions/resources.d.mts.map +1 -1
- package/resources/beta/sessions/resources.d.ts.map +1 -1
- package/resources/beta/sessions/resources.mjs.map +1 -1
- package/resources/beta/sessions/sessions.d.mts +98 -6
- package/resources/beta/sessions/sessions.d.mts.map +1 -1
- package/resources/beta/sessions/sessions.d.ts +98 -6
- package/resources/beta/sessions/sessions.d.ts.map +1 -1
- package/resources/beta/sessions/sessions.js.map +1 -1
- package/resources/beta/sessions/sessions.mjs.map +1 -1
- package/resources/beta/sessions/threads/events.d.mts.map +1 -1
- package/resources/beta/sessions/threads/events.d.ts.map +1 -1
- package/resources/beta/sessions/threads/events.mjs.map +1 -1
- package/resources/beta/sessions/threads/index.d.mts +1 -1
- package/resources/beta/sessions/threads/index.d.mts.map +1 -1
- package/resources/beta/sessions/threads/index.d.ts +1 -1
- package/resources/beta/sessions/threads/index.d.ts.map +1 -1
- package/resources/beta/sessions/threads/index.js.map +1 -1
- package/resources/beta/sessions/threads/index.mjs.map +1 -1
- package/resources/beta/sessions/threads/threads.d.mts +3 -23
- package/resources/beta/sessions/threads/threads.d.mts.map +1 -1
- package/resources/beta/sessions/threads/threads.d.ts +3 -23
- package/resources/beta/sessions/threads/threads.d.ts.map +1 -1
- package/resources/beta/sessions/threads/threads.js.map +1 -1
- package/resources/beta/sessions/threads/threads.mjs.map +1 -1
- package/resources/beta/sessions/threads.d.mts.map +1 -1
- package/resources/beta/sessions/threads.d.ts.map +1 -1
- package/resources/beta/sessions/threads.mjs.map +1 -1
- package/resources/beta/sessions.d.mts.map +1 -1
- package/resources/beta/sessions.d.ts.map +1 -1
- package/resources/beta/sessions.mjs.map +1 -1
- package/resources/beta/skills/index.d.mts +1 -1
- package/resources/beta/skills/index.d.mts.map +1 -1
- package/resources/beta/skills/index.d.ts +1 -1
- package/resources/beta/skills/index.d.ts.map +1 -1
- package/resources/beta/skills/index.js.map +1 -1
- package/resources/beta/skills/index.mjs.map +1 -1
- package/resources/beta/skills/skills.d.mts +2 -2
- package/resources/beta/skills/skills.d.mts.map +1 -1
- package/resources/beta/skills/skills.d.ts +2 -2
- package/resources/beta/skills/skills.d.ts.map +1 -1
- package/resources/beta/skills/skills.js.map +1 -1
- package/resources/beta/skills/skills.mjs.map +1 -1
- package/resources/beta/skills/versions.d.mts +28 -1
- package/resources/beta/skills/versions.d.mts.map +1 -1
- package/resources/beta/skills/versions.d.ts +28 -1
- package/resources/beta/skills/versions.d.ts.map +1 -1
- package/resources/beta/skills/versions.js +28 -0
- package/resources/beta/skills/versions.js.map +1 -1
- package/resources/beta/skills/versions.mjs +28 -0
- package/resources/beta/skills/versions.mjs.map +1 -1
- package/resources/beta/skills.d.mts.map +1 -1
- package/resources/beta/skills.d.ts.map +1 -1
- package/resources/beta/skills.mjs.map +1 -1
- package/resources/beta/user-profiles.d.mts.map +1 -1
- package/resources/beta/user-profiles.d.ts.map +1 -1
- package/resources/beta/user-profiles.mjs.map +1 -1
- package/resources/beta/vaults/credentials.d.mts.map +1 -1
- package/resources/beta/vaults/credentials.d.ts.map +1 -1
- package/resources/beta/vaults/credentials.mjs.map +1 -1
- package/resources/beta/vaults/index.d.mts.map +1 -1
- package/resources/beta/vaults/index.d.ts.map +1 -1
- package/resources/beta/vaults/index.mjs.map +1 -1
- package/resources/beta/vaults/vaults.d.mts.map +1 -1
- package/resources/beta/vaults/vaults.d.ts.map +1 -1
- package/resources/beta/vaults/vaults.mjs.map +1 -1
- package/resources/beta/vaults.d.mts.map +1 -1
- package/resources/beta/vaults.d.ts.map +1 -1
- package/resources/beta/vaults.mjs.map +1 -1
- package/resources/beta/webhooks.d.mts.map +1 -1
- package/resources/beta/webhooks.d.ts.map +1 -1
- package/resources/beta/webhooks.mjs.map +1 -1
- package/resources/beta.d.mts.map +1 -1
- package/resources/beta.d.ts.map +1 -1
- package/resources/beta.mjs.map +1 -1
- package/resources/completions.d.mts.map +1 -1
- package/resources/completions.d.ts.map +1 -1
- package/resources/completions.mjs.map +1 -1
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts.map +1 -1
- package/resources/index.mjs.map +1 -1
- package/resources/messages/batches.d.mts.map +1 -1
- package/resources/messages/batches.d.ts.map +1 -1
- package/resources/messages/batches.mjs.map +1 -1
- package/resources/messages/index.d.mts.map +1 -1
- package/resources/messages/index.d.ts.map +1 -1
- package/resources/messages/index.mjs.map +1 -1
- package/resources/messages/messages.d.mts.map +1 -1
- package/resources/messages/messages.d.ts.map +1 -1
- package/resources/messages/messages.mjs.map +1 -1
- package/resources/messages.d.mts.map +1 -1
- package/resources/messages.d.ts.map +1 -1
- package/resources/messages.mjs.map +1 -1
- package/resources/models.d.mts.map +1 -1
- package/resources/models.d.ts.map +1 -1
- package/resources/models.mjs.map +1 -1
- package/resources.d.mts.map +1 -1
- package/resources.d.ts.map +1 -1
- package/resources.mjs.map +1 -1
- package/src/core/streaming.ts +2 -0
- package/src/helpers/beta/environments.ts +33 -0
- package/src/helpers/beta/json-schema.ts +7 -0
- package/src/helpers/beta/zod.ts +7 -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/promise.ts +18 -0
- package/src/internal/utils/sleep.ts +25 -2
- package/src/lib/environments/index.ts +23 -0
- package/src/lib/environments/poller.ts +253 -0
- package/src/lib/environments/worker.ts +395 -0
- package/src/lib/helper-client.ts +89 -0
- package/src/lib/tools/BetaRunnableTool.ts +82 -1
- package/src/lib/tools/BetaToolRunner.ts +2 -17
- package/src/lib/tools/SessionToolRunner.ts +591 -0
- package/src/resources/beta/agents/agents.ts +158 -0
- package/src/resources/beta/agents/index.ts +7 -0
- package/src/resources/beta/beta.ts +44 -20
- package/src/resources/beta/environments/environments.ts +625 -0
- package/src/resources/beta/environments/index.ts +42 -0
- package/src/resources/beta/environments/work.ts +697 -0
- package/src/resources/beta/environments.ts +1 -540
- package/src/resources/beta/index.ts +13 -1
- package/src/resources/beta/messages/messages.ts +5 -5
- package/src/resources/beta/sessions/events.ts +77 -3
- package/src/resources/beta/sessions/index.ts +4 -1
- package/src/resources/beta/sessions/sessions.ts +121 -3
- package/src/resources/beta/sessions/threads/index.ts +0 -1
- package/src/resources/beta/sessions/threads/threads.ts +4 -37
- package/src/resources/beta/skills/index.ts +1 -0
- package/src/resources/beta/skills/skills.ts +2 -0
- package/src/resources/beta/skills/versions.ts +44 -0
- package/src/tools/agent-toolset/fs-util.ts +154 -0
- package/src/tools/agent-toolset/node.ts +787 -0
- package/src/tools/agent-toolset/skills.ts +256 -0
- package/src/version.ts +1 -1
- package/streaming.d.mts +1 -0
- package/streaming.d.mts.map +1 -1
- package/streaming.d.ts +1 -0
- package/streaming.d.ts.map +1 -1
- package/streaming.mjs +1 -0
- package/streaming.mjs.map +1 -1
- package/tools/agent-toolset/fs-util.d.mts +49 -0
- package/tools/agent-toolset/fs-util.d.mts.map +1 -0
- package/tools/agent-toolset/fs-util.d.ts +49 -0
- package/tools/agent-toolset/fs-util.d.ts.map +1 -0
- package/tools/agent-toolset/fs-util.js +159 -0
- package/tools/agent-toolset/fs-util.js.map +1 -0
- package/tools/agent-toolset/fs-util.mjs +151 -0
- package/tools/agent-toolset/fs-util.mjs.map +1 -0
- package/tools/agent-toolset/node.d.mts +139 -0
- package/tools/agent-toolset/node.d.mts.map +1 -0
- package/tools/agent-toolset/node.d.ts +139 -0
- package/tools/agent-toolset/node.d.ts.map +1 -0
- package/tools/agent-toolset/node.js +746 -0
- package/tools/agent-toolset/node.js.map +1 -0
- package/tools/agent-toolset/node.mjs +731 -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.d.mts.map +1 -1
- package/tools/memory/node.d.ts.map +1 -1
- package/tools/memory/node.mjs.map +1 -1
- package/uploads.d.mts +1 -0
- package/uploads.d.mts.map +1 -1
- package/uploads.d.ts +1 -0
- package/uploads.d.ts.map +1 -1
- package/uploads.mjs +1 -0
- package/uploads.mjs.map +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
+
import type { Anthropic } from '../../../client';
|
|
3
4
|
import { APIResource } from '../../../core/resource';
|
|
4
5
|
import * as BetaAPI from '../beta';
|
|
6
|
+
import * as SessionsAPI from './sessions';
|
|
5
7
|
import { APIPromise } from '../../../core/api-promise';
|
|
6
8
|
import { PageCursor, type PageCursorParams, PagePromise } from '../../../core/pagination';
|
|
7
9
|
import { Stream } from '../../../core/streaming';
|
|
8
10
|
import { buildHeaders } from '../../../internal/headers';
|
|
9
11
|
import { RequestOptions } from '../../../internal/request-options';
|
|
10
12
|
import { path } from '../../../internal/utils/path';
|
|
13
|
+
import {
|
|
14
|
+
SessionToolRunner,
|
|
15
|
+
type SessionToolRunnerOptions as RunnerSessionToolRunnerOptions,
|
|
16
|
+
} from '../../../lib/tools/SessionToolRunner';
|
|
11
17
|
|
|
12
18
|
export class Events extends APIResource {
|
|
13
19
|
/**
|
|
@@ -109,6 +115,29 @@ export class Events extends APIResource {
|
|
|
109
115
|
stream: true,
|
|
110
116
|
}) as APIPromise<Stream<BetaManagedAgentsStreamSessionEvents>>;
|
|
111
117
|
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Attach to a session and dispatch every incoming `agent.tool_use` and
|
|
121
|
+
* `agent.custom_tool_use` event to a local tool registry, sending the matching
|
|
122
|
+
* result back (`user.tool_result` / `user.custom_tool_result`). The
|
|
123
|
+
* sessions-side counterpart to `client.beta.messages.toolRunner`: yields one
|
|
124
|
+
* entry per completed tool call so callers can observe each dispatch (and
|
|
125
|
+
* `break` to abort cleanly).
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```ts
|
|
129
|
+
* import { betaAgentToolset20260401 } from '@anthropic-ai/sdk/tools/agent-toolset/node';
|
|
130
|
+
*
|
|
131
|
+
* for await (const call of client.beta.sessions.events.toolRunner(work.data.id, {
|
|
132
|
+
* tools: [...betaAgentToolset20260401({ workdir }), myTool],
|
|
133
|
+
* })) {
|
|
134
|
+
* console.log(`${call.name} -> ${call.isError ? 'error' : 'ok'}`);
|
|
135
|
+
* }
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
toolRunner(sessionID: string, opts: Omit<RunnerSessionToolRunnerOptions, 'client'>): SessionToolRunner {
|
|
139
|
+
return new SessionToolRunner(sessionID, { ...opts, client: this._client as Anthropic });
|
|
140
|
+
}
|
|
112
141
|
}
|
|
113
142
|
|
|
114
143
|
export type BetaManagedAgentsSessionEventsPageCursor = PageCursor<BetaManagedAgentsSessionEvent>;
|
|
@@ -524,7 +553,8 @@ export type BetaManagedAgentsEventParams =
|
|
|
524
553
|
| BetaManagedAgentsUserInterruptEventParams
|
|
525
554
|
| BetaManagedAgentsUserToolConfirmationEventParams
|
|
526
555
|
| BetaManagedAgentsUserCustomToolResultEventParams
|
|
527
|
-
| BetaManagedAgentsUserDefineOutcomeEventParams
|
|
556
|
+
| BetaManagedAgentsUserDefineOutcomeEventParams
|
|
557
|
+
| BetaManagedAgentsUserToolResultEventParams;
|
|
528
558
|
|
|
529
559
|
/**
|
|
530
560
|
* Document referenced by file ID.
|
|
@@ -804,6 +834,7 @@ export interface BetaManagedAgentsSendSessionEvents {
|
|
|
804
834
|
| BetaManagedAgentsUserToolConfirmationEvent
|
|
805
835
|
| BetaManagedAgentsUserCustomToolResultEvent
|
|
806
836
|
| BetaManagedAgentsUserDefineOutcomeEvent
|
|
837
|
+
| SessionsAPI.BetaManagedAgentsUserToolResultEvent
|
|
807
838
|
>;
|
|
808
839
|
}
|
|
809
840
|
|
|
@@ -897,7 +928,9 @@ export type BetaManagedAgentsSessionEvent =
|
|
|
897
928
|
| BetaManagedAgentsSessionThreadStatusRunningEvent
|
|
898
929
|
| BetaManagedAgentsSessionThreadStatusIdleEvent
|
|
899
930
|
| BetaManagedAgentsSessionThreadStatusTerminatedEvent
|
|
900
|
-
|
|
|
931
|
+
| SessionsAPI.BetaManagedAgentsUserToolResultEvent
|
|
932
|
+
| BetaManagedAgentsSessionThreadStatusRescheduledEvent
|
|
933
|
+
| SessionsAPI.BetaManagedAgentsSessionUpdatedEvent;
|
|
901
934
|
|
|
902
935
|
/**
|
|
903
936
|
* The agent is idle waiting on one or more blocking user-input events (tool
|
|
@@ -1380,7 +1413,9 @@ export type BetaManagedAgentsStreamSessionEvents =
|
|
|
1380
1413
|
| BetaManagedAgentsSessionThreadStatusRunningEvent
|
|
1381
1414
|
| BetaManagedAgentsSessionThreadStatusIdleEvent
|
|
1382
1415
|
| BetaManagedAgentsSessionThreadStatusTerminatedEvent
|
|
1383
|
-
|
|
|
1416
|
+
| SessionsAPI.BetaManagedAgentsUserToolResultEvent
|
|
1417
|
+
| BetaManagedAgentsSessionThreadStatusRescheduledEvent
|
|
1418
|
+
| SessionsAPI.BetaManagedAgentsSessionUpdatedEvent;
|
|
1384
1419
|
|
|
1385
1420
|
/**
|
|
1386
1421
|
* Regular text content.
|
|
@@ -1744,6 +1779,38 @@ export interface BetaManagedAgentsUserToolConfirmationEventParams {
|
|
|
1744
1779
|
deny_message?: string | null;
|
|
1745
1780
|
}
|
|
1746
1781
|
|
|
1782
|
+
/**
|
|
1783
|
+
* Parameters for providing the result of an agent-toolset tool execution. Only
|
|
1784
|
+
* valid on `self_hosted` environments, where sandbox-routed tools are executed by
|
|
1785
|
+
* the client rather than the server.
|
|
1786
|
+
*/
|
|
1787
|
+
export interface BetaManagedAgentsUserToolResultEventParams {
|
|
1788
|
+
/**
|
|
1789
|
+
* The id of the `agent.tool_use` event this result corresponds to, which can be
|
|
1790
|
+
* found in the last `session.status_idle`
|
|
1791
|
+
* [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list#beta_managed_agents_session_requires_action.event_ids)
|
|
1792
|
+
* `stop_reason.event_ids` field.
|
|
1793
|
+
*/
|
|
1794
|
+
tool_use_id: string;
|
|
1795
|
+
|
|
1796
|
+
type: 'user.tool_result';
|
|
1797
|
+
|
|
1798
|
+
/**
|
|
1799
|
+
* The result content returned by the tool.
|
|
1800
|
+
*/
|
|
1801
|
+
content?: Array<
|
|
1802
|
+
| BetaManagedAgentsTextBlock
|
|
1803
|
+
| BetaManagedAgentsImageBlock
|
|
1804
|
+
| BetaManagedAgentsDocumentBlock
|
|
1805
|
+
| BetaManagedAgentsSearchResultBlock
|
|
1806
|
+
>;
|
|
1807
|
+
|
|
1808
|
+
/**
|
|
1809
|
+
* Whether the tool execution resulted in an error.
|
|
1810
|
+
*/
|
|
1811
|
+
is_error?: boolean | null;
|
|
1812
|
+
}
|
|
1813
|
+
|
|
1747
1814
|
export interface EventListParams extends PageCursorParams {
|
|
1748
1815
|
/**
|
|
1749
1816
|
* Query param: Return events created after this time (exclusive).
|
|
@@ -1803,7 +1870,13 @@ export interface EventStreamParams {
|
|
|
1803
1870
|
betas?: Array<BetaAPI.AnthropicBeta>;
|
|
1804
1871
|
}
|
|
1805
1872
|
|
|
1873
|
+
export { SessionToolRunner, type SessionToolRunnerOptions } from '../../../lib/tools/SessionToolRunner';
|
|
1874
|
+
|
|
1875
|
+
Events.SessionToolRunner = SessionToolRunner;
|
|
1876
|
+
|
|
1806
1877
|
export declare namespace Events {
|
|
1878
|
+
export { SessionToolRunner };
|
|
1879
|
+
|
|
1807
1880
|
export {
|
|
1808
1881
|
type BetaManagedAgentsAgentCustomToolUseEvent as BetaManagedAgentsAgentCustomToolUseEvent,
|
|
1809
1882
|
type BetaManagedAgentsAgentMCPToolResultEvent as BetaManagedAgentsAgentMCPToolResultEvent,
|
|
@@ -1876,6 +1949,7 @@ export declare namespace Events {
|
|
|
1876
1949
|
type BetaManagedAgentsUserMessageEventParams as BetaManagedAgentsUserMessageEventParams,
|
|
1877
1950
|
type BetaManagedAgentsUserToolConfirmationEvent as BetaManagedAgentsUserToolConfirmationEvent,
|
|
1878
1951
|
type BetaManagedAgentsUserToolConfirmationEventParams as BetaManagedAgentsUserToolConfirmationEventParams,
|
|
1952
|
+
type BetaManagedAgentsUserToolResultEventParams as BetaManagedAgentsUserToolResultEventParams,
|
|
1879
1953
|
type BetaManagedAgentsSessionEventsPageCursor as BetaManagedAgentsSessionEventsPageCursor,
|
|
1880
1954
|
type EventListParams as EventListParams,
|
|
1881
1955
|
type EventSendParams as EventSendParams,
|
|
@@ -73,6 +73,7 @@ export {
|
|
|
73
73
|
type BetaManagedAgentsUserMessageEventParams,
|
|
74
74
|
type BetaManagedAgentsUserToolConfirmationEvent,
|
|
75
75
|
type BetaManagedAgentsUserToolConfirmationEventParams,
|
|
76
|
+
type BetaManagedAgentsUserToolResultEventParams,
|
|
76
77
|
type EventListParams,
|
|
77
78
|
type EventSendParams,
|
|
78
79
|
type EventStreamParams,
|
|
@@ -110,9 +111,12 @@ export {
|
|
|
110
111
|
type BetaManagedAgentsOutcomeEvaluationResource,
|
|
111
112
|
type BetaManagedAgentsSession,
|
|
112
113
|
type BetaManagedAgentsSessionAgent,
|
|
114
|
+
type BetaManagedAgentsSessionAgentUpdate,
|
|
113
115
|
type BetaManagedAgentsSessionMultiagentCoordinator,
|
|
114
116
|
type BetaManagedAgentsSessionStats,
|
|
117
|
+
type BetaManagedAgentsSessionUpdatedEvent,
|
|
115
118
|
type BetaManagedAgentsSessionUsage,
|
|
119
|
+
type BetaManagedAgentsUserToolResultEvent,
|
|
116
120
|
type SessionCreateParams,
|
|
117
121
|
type SessionRetrieveParams,
|
|
118
122
|
type SessionUpdateParams,
|
|
@@ -124,7 +128,6 @@ export {
|
|
|
124
128
|
export {
|
|
125
129
|
Threads,
|
|
126
130
|
type BetaManagedAgentsSessionThread,
|
|
127
|
-
type BetaManagedAgentsSessionThreadAgent,
|
|
128
131
|
type BetaManagedAgentsSessionThreadStats,
|
|
129
132
|
type BetaManagedAgentsSessionThreadStatus,
|
|
130
133
|
type BetaManagedAgentsSessionThreadUsage,
|
|
@@ -77,6 +77,7 @@ import {
|
|
|
77
77
|
BetaManagedAgentsUserMessageEventParams,
|
|
78
78
|
BetaManagedAgentsUserToolConfirmationEvent,
|
|
79
79
|
BetaManagedAgentsUserToolConfirmationEventParams,
|
|
80
|
+
BetaManagedAgentsUserToolResultEventParams,
|
|
80
81
|
EventListParams,
|
|
81
82
|
EventSendParams,
|
|
82
83
|
EventStreamParams,
|
|
@@ -102,7 +103,6 @@ import {
|
|
|
102
103
|
import * as ThreadsAPI from './threads/threads';
|
|
103
104
|
import {
|
|
104
105
|
BetaManagedAgentsSessionThread,
|
|
105
|
-
BetaManagedAgentsSessionThreadAgent,
|
|
106
106
|
BetaManagedAgentsSessionThreadStats,
|
|
107
107
|
BetaManagedAgentsSessionThreadStatus,
|
|
108
108
|
BetaManagedAgentsSessionThreadUsage,
|
|
@@ -596,6 +596,29 @@ export interface BetaManagedAgentsSessionAgent {
|
|
|
596
596
|
version: number;
|
|
597
597
|
}
|
|
598
598
|
|
|
599
|
+
/**
|
|
600
|
+
* Mid-session agent configuration update. Only `tools` and `mcp_servers` are
|
|
601
|
+
* updatable. Full replacement: the provided array becomes the new value. To
|
|
602
|
+
* preserve existing entries, GET the session, modify the array, and POST it back.
|
|
603
|
+
*/
|
|
604
|
+
export interface BetaManagedAgentsSessionAgentUpdate {
|
|
605
|
+
/**
|
|
606
|
+
* Replacement MCP server list. Full replacement: the provided array becomes the
|
|
607
|
+
* new value. Send an empty array to clear; omit to preserve.
|
|
608
|
+
*/
|
|
609
|
+
mcp_servers?: Array<AgentsAPI.BetaManagedAgentsURLMCPServerParams>;
|
|
610
|
+
|
|
611
|
+
/**
|
|
612
|
+
* Replacement tool list. Full replacement: the provided array becomes the new
|
|
613
|
+
* value. Send an empty array to clear; omit to preserve.
|
|
614
|
+
*/
|
|
615
|
+
tools?: Array<
|
|
616
|
+
| AgentsAPI.BetaManagedAgentsAgentToolset20260401Params
|
|
617
|
+
| AgentsAPI.BetaManagedAgentsMCPToolsetParams
|
|
618
|
+
| AgentsAPI.BetaManagedAgentsCustomToolParams
|
|
619
|
+
>;
|
|
620
|
+
}
|
|
621
|
+
|
|
599
622
|
/**
|
|
600
623
|
* Resolved coordinator topology with full agent definitions for each roster
|
|
601
624
|
* member.
|
|
@@ -604,7 +627,7 @@ export interface BetaManagedAgentsSessionMultiagentCoordinator {
|
|
|
604
627
|
/**
|
|
605
628
|
* Full `agent` definitions the coordinator may spawn as session threads.
|
|
606
629
|
*/
|
|
607
|
-
agents: Array<
|
|
630
|
+
agents: Array<AgentsAPI.BetaManagedAgentsSessionThreadAgent>;
|
|
608
631
|
|
|
609
632
|
type: 'coordinator';
|
|
610
633
|
}
|
|
@@ -626,6 +649,42 @@ export interface BetaManagedAgentsSessionStats {
|
|
|
626
649
|
duration_seconds?: number;
|
|
627
650
|
}
|
|
628
651
|
|
|
652
|
+
/**
|
|
653
|
+
* Emitted when an UpdateSession request changed at least one field. Carries only
|
|
654
|
+
* the fields that changed; absent fields were not part of the update. The new
|
|
655
|
+
* configuration applies from the next turn.
|
|
656
|
+
*/
|
|
657
|
+
export interface BetaManagedAgentsSessionUpdatedEvent {
|
|
658
|
+
/**
|
|
659
|
+
* Unique identifier for this event.
|
|
660
|
+
*/
|
|
661
|
+
id: string;
|
|
662
|
+
|
|
663
|
+
/**
|
|
664
|
+
* A timestamp in RFC 3339 format
|
|
665
|
+
*/
|
|
666
|
+
processed_at: string;
|
|
667
|
+
|
|
668
|
+
type: 'session.updated';
|
|
669
|
+
|
|
670
|
+
/**
|
|
671
|
+
* Resolved `agent` definition for a `session`. Snapshot of the `agent` at
|
|
672
|
+
* `session` creation time.
|
|
673
|
+
*/
|
|
674
|
+
agent?: BetaManagedAgentsSessionAgent | null;
|
|
675
|
+
|
|
676
|
+
/**
|
|
677
|
+
* The session's full metadata bag after the update. Present when the update set
|
|
678
|
+
* non-empty metadata; absent when metadata was unchanged or cleared to empty.
|
|
679
|
+
*/
|
|
680
|
+
metadata?: { [key: string]: string };
|
|
681
|
+
|
|
682
|
+
/**
|
|
683
|
+
* The session's new title. Present only when the update changed it.
|
|
684
|
+
*/
|
|
685
|
+
title?: string | null;
|
|
686
|
+
}
|
|
687
|
+
|
|
629
688
|
/**
|
|
630
689
|
* Cumulative token usage for a session across all turns.
|
|
631
690
|
*/
|
|
@@ -651,6 +710,54 @@ export interface BetaManagedAgentsSessionUsage {
|
|
|
651
710
|
output_tokens?: number;
|
|
652
711
|
}
|
|
653
712
|
|
|
713
|
+
/**
|
|
714
|
+
* Event sent by the client providing the result of an agent-toolset tool
|
|
715
|
+
* execution. Only valid on `self_hosted` environments, where sandbox-routed tools
|
|
716
|
+
* are executed by the client rather than the server.
|
|
717
|
+
*/
|
|
718
|
+
export interface BetaManagedAgentsUserToolResultEvent {
|
|
719
|
+
/**
|
|
720
|
+
* Unique identifier for this event.
|
|
721
|
+
*/
|
|
722
|
+
id: string;
|
|
723
|
+
|
|
724
|
+
/**
|
|
725
|
+
* The id of the `agent.tool_use` event this result corresponds to, which can be
|
|
726
|
+
* found in the last `session.status_idle`
|
|
727
|
+
* [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list#beta_managed_agents_session_requires_action.event_ids)
|
|
728
|
+
* `stop_reason.event_ids` field.
|
|
729
|
+
*/
|
|
730
|
+
tool_use_id: string;
|
|
731
|
+
|
|
732
|
+
type: 'user.tool_result';
|
|
733
|
+
|
|
734
|
+
/**
|
|
735
|
+
* The result content returned by the tool.
|
|
736
|
+
*/
|
|
737
|
+
content?: Array<
|
|
738
|
+
| EventsAPI.BetaManagedAgentsTextBlock
|
|
739
|
+
| EventsAPI.BetaManagedAgentsImageBlock
|
|
740
|
+
| EventsAPI.BetaManagedAgentsDocumentBlock
|
|
741
|
+
| EventsAPI.BetaManagedAgentsSearchResultBlock
|
|
742
|
+
>;
|
|
743
|
+
|
|
744
|
+
/**
|
|
745
|
+
* Whether the tool execution resulted in an error.
|
|
746
|
+
*/
|
|
747
|
+
is_error?: boolean | null;
|
|
748
|
+
|
|
749
|
+
/**
|
|
750
|
+
* A timestamp in RFC 3339 format
|
|
751
|
+
*/
|
|
752
|
+
processed_at?: string | null;
|
|
753
|
+
|
|
754
|
+
/**
|
|
755
|
+
* Routes this result to a subagent thread. Copy from the `agent.tool_use` event's
|
|
756
|
+
* `session_thread_id`.
|
|
757
|
+
*/
|
|
758
|
+
session_thread_id?: string | null;
|
|
759
|
+
}
|
|
760
|
+
|
|
654
761
|
export interface SessionCreateParams {
|
|
655
762
|
/**
|
|
656
763
|
* Body param: Agent identifier. Accepts the `agent` ID string, which pins the
|
|
@@ -706,6 +813,14 @@ export interface SessionRetrieveParams {
|
|
|
706
813
|
}
|
|
707
814
|
|
|
708
815
|
export interface SessionUpdateParams {
|
|
816
|
+
/**
|
|
817
|
+
* Body param: Mid-session agent configuration update. Only `tools` and
|
|
818
|
+
* `mcp_servers` are updatable. Full replacement: the provided array becomes the
|
|
819
|
+
* new value. To preserve existing entries, GET the session, modify the array, and
|
|
820
|
+
* POST it back.
|
|
821
|
+
*/
|
|
822
|
+
agent?: BetaManagedAgentsSessionAgentUpdate;
|
|
823
|
+
|
|
709
824
|
/**
|
|
710
825
|
* Body param: Metadata patch. Set a key to a string to upsert it, or to null to
|
|
711
826
|
* delete it. Omit the field to preserve.
|
|
@@ -824,9 +939,12 @@ export declare namespace Sessions {
|
|
|
824
939
|
type BetaManagedAgentsOutcomeEvaluationResource as BetaManagedAgentsOutcomeEvaluationResource,
|
|
825
940
|
type BetaManagedAgentsSession as BetaManagedAgentsSession,
|
|
826
941
|
type BetaManagedAgentsSessionAgent as BetaManagedAgentsSessionAgent,
|
|
942
|
+
type BetaManagedAgentsSessionAgentUpdate as BetaManagedAgentsSessionAgentUpdate,
|
|
827
943
|
type BetaManagedAgentsSessionMultiagentCoordinator as BetaManagedAgentsSessionMultiagentCoordinator,
|
|
828
944
|
type BetaManagedAgentsSessionStats as BetaManagedAgentsSessionStats,
|
|
945
|
+
type BetaManagedAgentsSessionUpdatedEvent as BetaManagedAgentsSessionUpdatedEvent,
|
|
829
946
|
type BetaManagedAgentsSessionUsage as BetaManagedAgentsSessionUsage,
|
|
947
|
+
type BetaManagedAgentsUserToolResultEvent as BetaManagedAgentsUserToolResultEvent,
|
|
830
948
|
type BetaManagedAgentsSessionsPageCursor as BetaManagedAgentsSessionsPageCursor,
|
|
831
949
|
type SessionCreateParams as SessionCreateParams,
|
|
832
950
|
type SessionRetrieveParams as SessionRetrieveParams,
|
|
@@ -909,6 +1027,7 @@ export declare namespace Sessions {
|
|
|
909
1027
|
type BetaManagedAgentsUserMessageEventParams as BetaManagedAgentsUserMessageEventParams,
|
|
910
1028
|
type BetaManagedAgentsUserToolConfirmationEvent as BetaManagedAgentsUserToolConfirmationEvent,
|
|
911
1029
|
type BetaManagedAgentsUserToolConfirmationEventParams as BetaManagedAgentsUserToolConfirmationEventParams,
|
|
1030
|
+
type BetaManagedAgentsUserToolResultEventParams as BetaManagedAgentsUserToolResultEventParams,
|
|
912
1031
|
type BetaManagedAgentsSessionEventsPageCursor as BetaManagedAgentsSessionEventsPageCursor,
|
|
913
1032
|
type EventListParams as EventListParams,
|
|
914
1033
|
type EventSendParams as EventSendParams,
|
|
@@ -935,7 +1054,6 @@ export declare namespace Sessions {
|
|
|
935
1054
|
export {
|
|
936
1055
|
Threads as Threads,
|
|
937
1056
|
type BetaManagedAgentsSessionThread as BetaManagedAgentsSessionThread,
|
|
938
|
-
type BetaManagedAgentsSessionThreadAgent as BetaManagedAgentsSessionThreadAgent,
|
|
939
1057
|
type BetaManagedAgentsSessionThreadStats as BetaManagedAgentsSessionThreadStats,
|
|
940
1058
|
type BetaManagedAgentsSessionThreadStatus as BetaManagedAgentsSessionThreadStatus,
|
|
941
1059
|
type BetaManagedAgentsSessionThreadUsage as BetaManagedAgentsSessionThreadUsage,
|
|
@@ -4,7 +4,6 @@ export { Events, type EventListParams, type EventStreamParams } from './events';
|
|
|
4
4
|
export {
|
|
5
5
|
Threads,
|
|
6
6
|
type BetaManagedAgentsSessionThread,
|
|
7
|
-
type BetaManagedAgentsSessionThreadAgent,
|
|
8
7
|
type BetaManagedAgentsSessionThreadStats,
|
|
9
8
|
type BetaManagedAgentsSessionThreadStatus,
|
|
10
9
|
type BetaManagedAgentsSessionThreadUsage,
|
|
@@ -121,7 +121,7 @@ export interface BetaManagedAgentsSessionThread {
|
|
|
121
121
|
* at thread creation time. The multiagent roster is not repeated here; read it
|
|
122
122
|
* from `Session.agent`.
|
|
123
123
|
*/
|
|
124
|
-
agent: BetaManagedAgentsSessionThreadAgent;
|
|
124
|
+
agent: AgentsAPI.BetaManagedAgentsSessionThreadAgent;
|
|
125
125
|
|
|
126
126
|
/**
|
|
127
127
|
* A timestamp in RFC 3339 format
|
|
@@ -166,40 +166,6 @@ export interface BetaManagedAgentsSessionThread {
|
|
|
166
166
|
usage: BetaManagedAgentsSessionThreadUsage | null;
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
-
/**
|
|
170
|
-
* Resolved `agent` definition for a single `session_thread`. Snapshot of the agent
|
|
171
|
-
* at thread creation time. The multiagent roster is not repeated here; read it
|
|
172
|
-
* from `Session.agent`.
|
|
173
|
-
*/
|
|
174
|
-
export interface BetaManagedAgentsSessionThreadAgent {
|
|
175
|
-
id: string;
|
|
176
|
-
|
|
177
|
-
description: string | null;
|
|
178
|
-
|
|
179
|
-
mcp_servers: Array<AgentsAPI.BetaManagedAgentsMCPServerURLDefinition>;
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* Model identifier and configuration.
|
|
183
|
-
*/
|
|
184
|
-
model: AgentsAPI.BetaManagedAgentsModelConfig;
|
|
185
|
-
|
|
186
|
-
name: string;
|
|
187
|
-
|
|
188
|
-
skills: Array<AgentsAPI.BetaManagedAgentsAnthropicSkill | AgentsAPI.BetaManagedAgentsCustomSkill>;
|
|
189
|
-
|
|
190
|
-
system: string | null;
|
|
191
|
-
|
|
192
|
-
tools: Array<
|
|
193
|
-
| AgentsAPI.BetaManagedAgentsAgentToolset20260401
|
|
194
|
-
| AgentsAPI.BetaManagedAgentsMCPToolset
|
|
195
|
-
| AgentsAPI.BetaManagedAgentsCustomTool
|
|
196
|
-
>;
|
|
197
|
-
|
|
198
|
-
type: 'agent';
|
|
199
|
-
|
|
200
|
-
version: number;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
169
|
/**
|
|
204
170
|
* Timing statistics for a session thread.
|
|
205
171
|
*/
|
|
@@ -287,7 +253,9 @@ export type BetaManagedAgentsStreamSessionThreadEvents =
|
|
|
287
253
|
| EventsAPI.BetaManagedAgentsSessionThreadStatusRunningEvent
|
|
288
254
|
| EventsAPI.BetaManagedAgentsSessionThreadStatusIdleEvent
|
|
289
255
|
| EventsAPI.BetaManagedAgentsSessionThreadStatusTerminatedEvent
|
|
290
|
-
|
|
|
256
|
+
| SessionsAPI.BetaManagedAgentsUserToolResultEvent
|
|
257
|
+
| EventsAPI.BetaManagedAgentsSessionThreadStatusRescheduledEvent
|
|
258
|
+
| SessionsAPI.BetaManagedAgentsSessionUpdatedEvent;
|
|
291
259
|
|
|
292
260
|
export interface ThreadRetrieveParams {
|
|
293
261
|
/**
|
|
@@ -325,7 +293,6 @@ Threads.Events = Events;
|
|
|
325
293
|
export declare namespace Threads {
|
|
326
294
|
export {
|
|
327
295
|
type BetaManagedAgentsSessionThread as BetaManagedAgentsSessionThread,
|
|
328
|
-
type BetaManagedAgentsSessionThreadAgent as BetaManagedAgentsSessionThreadAgent,
|
|
329
296
|
type BetaManagedAgentsSessionThreadStats as BetaManagedAgentsSessionThreadStats,
|
|
330
297
|
type BetaManagedAgentsSessionThreadStatus as BetaManagedAgentsSessionThreadStatus,
|
|
331
298
|
type BetaManagedAgentsSessionThreadUsage as BetaManagedAgentsSessionThreadUsage,
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
VersionCreateResponse,
|
|
9
9
|
VersionDeleteParams,
|
|
10
10
|
VersionDeleteResponse,
|
|
11
|
+
VersionDownloadParams,
|
|
11
12
|
VersionListParams,
|
|
12
13
|
VersionListResponse,
|
|
13
14
|
VersionListResponsesPageCursor,
|
|
@@ -380,5 +381,6 @@ export declare namespace Skills {
|
|
|
380
381
|
type VersionRetrieveParams as VersionRetrieveParams,
|
|
381
382
|
type VersionListParams as VersionListParams,
|
|
382
383
|
type VersionDeleteParams as VersionDeleteParams,
|
|
384
|
+
type VersionDownloadParams as VersionDownloadParams,
|
|
383
385
|
};
|
|
384
386
|
}
|
|
@@ -127,6 +127,35 @@ export class Versions extends APIResource {
|
|
|
127
127
|
]),
|
|
128
128
|
});
|
|
129
129
|
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Download a skill version's content as a zip archive.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```ts
|
|
136
|
+
* const response = await client.beta.skills.versions.download(
|
|
137
|
+
* 'version',
|
|
138
|
+
* { skill_id: 'skill_id' },
|
|
139
|
+
* );
|
|
140
|
+
*
|
|
141
|
+
* const content = await response.blob();
|
|
142
|
+
* console.log(content);
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
download(version: string, params: VersionDownloadParams, options?: RequestOptions): APIPromise<Response> {
|
|
146
|
+
const { skill_id, betas } = params;
|
|
147
|
+
return this._client.get(path`/v1/skills/${skill_id}/versions/${version}/content?beta=true`, {
|
|
148
|
+
...options,
|
|
149
|
+
headers: buildHeaders([
|
|
150
|
+
{
|
|
151
|
+
'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString(),
|
|
152
|
+
Accept: 'application/binary',
|
|
153
|
+
},
|
|
154
|
+
options?.headers,
|
|
155
|
+
]),
|
|
156
|
+
__binaryResponse: true,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
130
159
|
}
|
|
131
160
|
|
|
132
161
|
export type VersionListResponsesPageCursor = PageCursor<VersionListResponse>;
|
|
@@ -359,6 +388,20 @@ export interface VersionDeleteParams {
|
|
|
359
388
|
betas?: Array<BetaAPI.AnthropicBeta>;
|
|
360
389
|
}
|
|
361
390
|
|
|
391
|
+
export interface VersionDownloadParams {
|
|
392
|
+
/**
|
|
393
|
+
* Path param: Unique identifier for the skill.
|
|
394
|
+
*
|
|
395
|
+
* The format and length of IDs may change over time.
|
|
396
|
+
*/
|
|
397
|
+
skill_id: string;
|
|
398
|
+
|
|
399
|
+
/**
|
|
400
|
+
* Header param: Optional header to specify the beta version(s) you want to use.
|
|
401
|
+
*/
|
|
402
|
+
betas?: Array<BetaAPI.AnthropicBeta>;
|
|
403
|
+
}
|
|
404
|
+
|
|
362
405
|
export declare namespace Versions {
|
|
363
406
|
export {
|
|
364
407
|
type VersionCreateResponse as VersionCreateResponse,
|
|
@@ -370,5 +413,6 @@ export declare namespace Versions {
|
|
|
370
413
|
type VersionRetrieveParams as VersionRetrieveParams,
|
|
371
414
|
type VersionListParams as VersionListParams,
|
|
372
415
|
type VersionDeleteParams as VersionDeleteParams,
|
|
416
|
+
type VersionDownloadParams as VersionDownloadParams,
|
|
373
417
|
};
|
|
374
418
|
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared, Node-only filesystem helpers for the agent toolset's file tools:
|
|
3
|
+
* path confinement (symlink-aware), an atomic write, and language-independent
|
|
4
|
+
* error messages. Kept out of `node.ts` so the tool implementations stay focused
|
|
5
|
+
* and these helpers can be reused by every file tool.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import * as fs from 'node:fs/promises';
|
|
9
|
+
import * as path from 'node:path';
|
|
10
|
+
import { randomUUID } from 'node:crypto';
|
|
11
|
+
import { ToolError } from '../../lib/tools/ToolError';
|
|
12
|
+
|
|
13
|
+
/** Mode for directories the file tools create — not world-writable under a 0 umask. */
|
|
14
|
+
export const DIR_CREATE_MODE = 0o755;
|
|
15
|
+
/** Mode for files the file tools create. */
|
|
16
|
+
export const FILE_CREATE_MODE = 0o644;
|
|
17
|
+
|
|
18
|
+
/** `realpath` `p`, or return `p` unchanged when it cannot be resolved. */
|
|
19
|
+
async function realpathOrSelf(p: string): Promise<string> {
|
|
20
|
+
try {
|
|
21
|
+
return await fs.realpath(p);
|
|
22
|
+
} catch {
|
|
23
|
+
return p;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Fully resolve `abs`: `realpath` the longest existing ancestor and re-append
|
|
29
|
+
* the rest, but never re-append a component that is itself a symlink — read the
|
|
30
|
+
* link and continue from its target instead. This handles paths being created
|
|
31
|
+
* (write/edit) without letting a symlink leaf (e.g. a dangling one pointing
|
|
32
|
+
* outside a confinement root) slip through unresolved.
|
|
33
|
+
*/
|
|
34
|
+
export async function canonicalize(abs: string): Promise<string> {
|
|
35
|
+
const tail: string[] = [];
|
|
36
|
+
let prefix = abs;
|
|
37
|
+
for (;;) {
|
|
38
|
+
let real: string;
|
|
39
|
+
try {
|
|
40
|
+
real = await fs.realpath(prefix);
|
|
41
|
+
} catch {
|
|
42
|
+
let isLink = false;
|
|
43
|
+
try {
|
|
44
|
+
isLink = (await fs.lstat(prefix)).isSymbolicLink();
|
|
45
|
+
} catch {
|
|
46
|
+
/* prefix truly doesn't exist (ENOENT) — fall through and walk up */
|
|
47
|
+
}
|
|
48
|
+
if (isLink) {
|
|
49
|
+
// Resolve the symlink ourselves and retry; `tail` (the part below it)
|
|
50
|
+
// still applies to the link's target.
|
|
51
|
+
prefix = path.resolve(path.dirname(prefix), await fs.readlink(prefix));
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
const parent = path.dirname(prefix);
|
|
55
|
+
if (parent === prefix) return abs; // walked past the FS root without a hit
|
|
56
|
+
tail.push(path.basename(prefix));
|
|
57
|
+
prefix = parent;
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
return tail.length ? path.join(real, ...tail.reverse()) : real;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Resolve `p` and confine it to `root`.
|
|
66
|
+
*
|
|
67
|
+
* Unless `allowOutside` is set, absolute inputs are rejected and the
|
|
68
|
+
* **canonical** path is returned — every symlink in `p` (including the leaf,
|
|
69
|
+
* even a dangling one) is resolved before the confinement check, and the
|
|
70
|
+
* resolved path is what the caller then operates on, so a symlink inside `root`
|
|
71
|
+
* that points outside it can neither pass the check nor be followed afterwards.
|
|
72
|
+
*
|
|
73
|
+
* Residual TOCTOU: a component could still be swapped for a symlink between this
|
|
74
|
+
* call and the eventual `fs` operation. Closing that fully needs per-component
|
|
75
|
+
* `O_NOFOLLOW`/`openat`, which Node does not expose ergonomically; this is why a
|
|
76
|
+
* sandbox is still recommended for the toolset as a whole.
|
|
77
|
+
*/
|
|
78
|
+
export async function confineToRoot(
|
|
79
|
+
root: string,
|
|
80
|
+
p: string,
|
|
81
|
+
opts?: { allowOutside?: boolean },
|
|
82
|
+
): Promise<string> {
|
|
83
|
+
const allowOutside = opts?.allowOutside ?? false;
|
|
84
|
+
if (path.isAbsolute(p)) {
|
|
85
|
+
if (!allowOutside) {
|
|
86
|
+
throw new ToolError(`absolute path ${JSON.stringify(p)} not permitted`);
|
|
87
|
+
}
|
|
88
|
+
return path.resolve(p);
|
|
89
|
+
}
|
|
90
|
+
const realRoot = await realpathOrSelf(path.resolve(root));
|
|
91
|
+
const abs = path.resolve(realRoot, p);
|
|
92
|
+
if (allowOutside) return abs;
|
|
93
|
+
const real = await canonicalize(abs);
|
|
94
|
+
const rootSep = realRoot.endsWith(path.sep) ? realRoot : realRoot + path.sep;
|
|
95
|
+
if (real !== realRoot && !real.startsWith(rootSep)) {
|
|
96
|
+
throw new ToolError(`path ${JSON.stringify(p)} escapes workdir`);
|
|
97
|
+
}
|
|
98
|
+
return real;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Atomically write `content` to `targetPath`: write a sibling temp file, fsync
|
|
103
|
+
* it, then rename over the target. The rename is atomic on most filesystems, so
|
|
104
|
+
* a crash mid-write never leaves the target half-written.
|
|
105
|
+
*/
|
|
106
|
+
export async function atomicWriteFile(targetPath: string, content: string): Promise<void> {
|
|
107
|
+
const dir = path.dirname(targetPath);
|
|
108
|
+
const tempPath = path.join(dir, `.tmp-${process.pid}-${randomUUID()}`);
|
|
109
|
+
let handle: fs.FileHandle | undefined;
|
|
110
|
+
try {
|
|
111
|
+
handle = await fs.open(tempPath, 'wx', FILE_CREATE_MODE);
|
|
112
|
+
await handle.writeFile(content, 'utf-8');
|
|
113
|
+
await handle.sync();
|
|
114
|
+
await handle.close();
|
|
115
|
+
handle = undefined;
|
|
116
|
+
await fs.rename(tempPath, targetPath);
|
|
117
|
+
} catch (err) {
|
|
118
|
+
if (handle) await handle.close().catch(() => {});
|
|
119
|
+
await fs.unlink(tempPath).catch(() => {});
|
|
120
|
+
throw err;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Map a thrown filesystem error to a consistent, language-independent message,
|
|
126
|
+
* so the model sees the same wording regardless of the runtime (Node's raw
|
|
127
|
+
* `ENOENT: no such file...` text would otherwise leak through). Falls back to
|
|
128
|
+
* the raw error message for codes we don't special-case.
|
|
129
|
+
*/
|
|
130
|
+
export function fsErrorMessage(err: unknown, file: string): string {
|
|
131
|
+
const code = (err as { code?: string } | null)?.code;
|
|
132
|
+
switch (code) {
|
|
133
|
+
case 'ENOENT':
|
|
134
|
+
return `${file}: no such file or directory`;
|
|
135
|
+
case 'EACCES':
|
|
136
|
+
case 'EPERM':
|
|
137
|
+
return `${file}: permission denied`;
|
|
138
|
+
case 'ENOTDIR':
|
|
139
|
+
return `${file}: not a directory`;
|
|
140
|
+
case 'EISDIR':
|
|
141
|
+
return `${file}: is a directory`;
|
|
142
|
+
case 'ELOOP':
|
|
143
|
+
return `${file}: too many levels of symbolic links`;
|
|
144
|
+
case 'ENAMETOOLONG':
|
|
145
|
+
return `${file}: file name too long`;
|
|
146
|
+
case 'ENOSPC':
|
|
147
|
+
return `${file}: no space left on device`;
|
|
148
|
+
case 'EMFILE':
|
|
149
|
+
case 'ENFILE':
|
|
150
|
+
return `${file}: too many open files`;
|
|
151
|
+
default:
|
|
152
|
+
return `${file}: ${err instanceof Error ? err.message : String(err)}`;
|
|
153
|
+
}
|
|
154
|
+
}
|