@anthropic-ai/sdk 0.119.0 → 0.121.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 +46 -0
- package/helpers/beta/environments.d.mts +5 -4
- package/helpers/beta/environments.d.mts.map +1 -1
- package/helpers/beta/environments.d.ts +5 -4
- package/helpers/beta/environments.d.ts.map +1 -1
- package/helpers/beta/environments.js +5 -4
- package/helpers/beta/environments.js.map +1 -1
- package/helpers/beta/environments.mjs +5 -4
- package/helpers/beta/environments.mjs.map +1 -1
- package/helpers/beta/standard-schema.d.mts +45 -0
- package/helpers/beta/standard-schema.d.mts.map +1 -0
- package/helpers/beta/standard-schema.d.ts +45 -0
- package/helpers/beta/standard-schema.d.ts.map +1 -0
- package/helpers/beta/standard-schema.js +58 -0
- package/helpers/beta/standard-schema.js.map +1 -0
- package/helpers/beta/standard-schema.mjs +54 -0
- package/helpers/beta/standard-schema.mjs.map +1 -0
- package/internal/detect-platform.js +1 -1
- package/internal/detect-platform.js.map +1 -1
- package/internal/detect-platform.mjs +1 -1
- package/internal/detect-platform.mjs.map +1 -1
- package/internal/file-store.d.mts +136 -0
- package/internal/file-store.d.mts.map +1 -0
- package/internal/file-store.d.ts +136 -0
- package/internal/file-store.d.ts.map +1 -0
- package/internal/file-store.js +531 -0
- package/internal/file-store.js.map +1 -0
- package/internal/file-store.mjs +523 -0
- package/internal/file-store.mjs.map +1 -0
- package/internal/utils/values.d.mts +6 -0
- package/internal/utils/values.d.mts.map +1 -1
- package/internal/utils/values.d.ts +6 -0
- package/internal/utils/values.d.ts.map +1 -1
- package/internal/utils/values.js +7 -0
- package/internal/utils/values.js.map +1 -1
- package/internal/utils/values.mjs +6 -0
- package/internal/utils/values.mjs.map +1 -1
- package/lib/BetaMessageStream.d.mts.map +1 -1
- package/lib/BetaMessageStream.d.ts.map +1 -1
- package/lib/BetaMessageStream.js +3 -4
- package/lib/BetaMessageStream.js.map +1 -1
- package/lib/BetaMessageStream.mjs +1 -2
- 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.js +3 -4
- package/lib/MessageStream.js.map +1 -1
- package/lib/MessageStream.mjs +1 -2
- package/lib/MessageStream.mjs.map +1 -1
- package/lib/environments/poller.d.mts +6 -0
- package/lib/environments/poller.d.mts.map +1 -1
- package/lib/environments/poller.d.ts +6 -0
- package/lib/environments/poller.d.ts.map +1 -1
- package/lib/environments/poller.js +46 -1
- package/lib/environments/poller.js.map +1 -1
- package/lib/environments/poller.mjs +46 -1
- package/lib/environments/poller.mjs.map +1 -1
- package/lib/environments/worker.d.mts +89 -12
- package/lib/environments/worker.d.mts.map +1 -1
- package/lib/environments/worker.d.ts +89 -12
- package/lib/environments/worker.d.ts.map +1 -1
- package/lib/environments/worker.js +336 -67
- package/lib/environments/worker.js.map +1 -1
- package/lib/environments/worker.mjs +336 -68
- package/lib/environments/worker.mjs.map +1 -1
- package/lib/sessions/accumulate.d.mts.map +1 -1
- package/lib/sessions/accumulate.d.ts.map +1 -1
- package/lib/sessions/accumulate.js +3 -4
- package/lib/sessions/accumulate.js.map +1 -1
- package/lib/sessions/accumulate.mjs +1 -2
- package/lib/sessions/accumulate.mjs.map +1 -1
- package/lib/standard-schema.d.mts +131 -0
- package/lib/standard-schema.d.mts.map +1 -0
- package/lib/standard-schema.d.ts +131 -0
- package/lib/standard-schema.d.ts.map +1 -0
- package/lib/standard-schema.js +45 -0
- package/lib/standard-schema.js.map +1 -0
- package/lib/standard-schema.mjs +41 -0
- package/lib/standard-schema.mjs.map +1 -0
- package/lib/tools/BetaToolRunner.d.mts.map +1 -1
- package/lib/tools/BetaToolRunner.d.ts.map +1 -1
- package/lib/tools/BetaToolRunner.js +35 -6
- package/lib/tools/BetaToolRunner.js.map +1 -1
- package/lib/tools/BetaToolRunner.mjs +35 -6
- package/lib/tools/BetaToolRunner.mjs.map +1 -1
- package/package.json +2 -11
- package/resources/beta/agents/agents.d.mts +322 -27
- package/resources/beta/agents/agents.d.mts.map +1 -1
- package/resources/beta/agents/agents.d.ts +322 -27
- 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/beta.d.mts +7 -3
- package/resources/beta/beta.d.mts.map +1 -1
- package/resources/beta/beta.d.ts +7 -3
- package/resources/beta/beta.d.ts.map +1 -1
- package/resources/beta/beta.js +4 -0
- package/resources/beta/beta.js.map +1 -1
- package/resources/beta/beta.mjs +4 -0
- package/resources/beta/beta.mjs.map +1 -1
- package/resources/beta/environments/environments.d.mts +8 -1
- package/resources/beta/environments/environments.d.mts.map +1 -1
- package/resources/beta/environments/environments.d.ts +8 -1
- package/resources/beta/environments/environments.d.ts.map +1 -1
- package/resources/beta/environments/environments.js.map +1 -1
- package/resources/beta/environments/environments.mjs.map +1 -1
- package/resources/beta/environments/work.d.mts +5 -1
- package/resources/beta/environments/work.d.mts.map +1 -1
- package/resources/beta/environments/work.d.ts +5 -1
- package/resources/beta/environments/work.d.ts.map +1 -1
- package/resources/beta/environments/work.js +0 -17
- package/resources/beta/environments/work.js.map +1 -1
- package/resources/beta/environments/work.mjs +0 -17
- package/resources/beta/environments/work.mjs.map +1 -1
- package/resources/beta/index.d.mts +2 -1
- package/resources/beta/index.d.mts.map +1 -1
- package/resources/beta/index.d.ts +2 -1
- package/resources/beta/index.d.ts.map +1 -1
- package/resources/beta/index.js +11 -9
- package/resources/beta/index.js.map +1 -1
- package/resources/beta/index.mjs +1 -0
- package/resources/beta/index.mjs.map +1 -1
- package/resources/beta/memory-stores/memories.d.mts +6 -5
- package/resources/beta/memory-stores/memories.d.mts.map +1 -1
- package/resources/beta/memory-stores/memories.d.ts +6 -5
- package/resources/beta/memory-stores/memories.d.ts.map +1 -1
- package/resources/beta/memory-stores/memory-versions.d.mts +8 -5
- package/resources/beta/memory-stores/memory-versions.d.mts.map +1 -1
- package/resources/beta/memory-stores/memory-versions.d.ts +8 -5
- package/resources/beta/memory-stores/memory-versions.d.ts.map +1 -1
- package/resources/beta/messages/messages.d.mts +51 -9
- package/resources/beta/messages/messages.d.mts.map +1 -1
- package/resources/beta/messages/messages.d.ts +51 -9
- package/resources/beta/messages/messages.d.ts.map +1 -1
- package/resources/beta/messages/messages.js.map +1 -1
- package/resources/beta/messages/messages.mjs.map +1 -1
- package/resources/beta/organization/api-keys.d.mts +177 -0
- package/resources/beta/organization/api-keys.d.mts.map +1 -0
- package/resources/beta/organization/api-keys.d.ts +177 -0
- package/resources/beta/organization/api-keys.d.ts.map +1 -0
- package/resources/beta/organization/api-keys.js +56 -0
- package/resources/beta/organization/api-keys.js.map +1 -0
- package/resources/beta/organization/api-keys.mjs +52 -0
- package/resources/beta/organization/api-keys.mjs.map +1 -0
- package/resources/beta/organization/external-keys.d.mts +269 -0
- package/resources/beta/organization/external-keys.d.mts.map +1 -0
- package/resources/beta/organization/external-keys.d.ts +269 -0
- package/resources/beta/organization/external-keys.d.ts.map +1 -0
- package/resources/beta/organization/external-keys.js +119 -0
- package/resources/beta/organization/external-keys.js.map +1 -0
- package/resources/beta/organization/external-keys.mjs +115 -0
- package/resources/beta/organization/external-keys.mjs.map +1 -0
- package/resources/beta/organization/federation/federation.d.mts +14 -0
- package/resources/beta/organization/federation/federation.d.mts.map +1 -0
- package/resources/beta/organization/federation/federation.d.ts +14 -0
- package/resources/beta/organization/federation/federation.d.ts.map +1 -0
- package/resources/beta/organization/federation/federation.js +21 -0
- package/resources/beta/organization/federation/federation.js.map +1 -0
- package/resources/beta/organization/federation/federation.mjs +16 -0
- package/resources/beta/organization/federation/federation.mjs.map +1 -0
- package/resources/beta/organization/federation/index.d.mts +4 -0
- package/resources/beta/organization/federation/index.d.mts.map +1 -0
- package/resources/beta/organization/federation/index.d.ts +4 -0
- package/resources/beta/organization/federation/index.d.ts.map +1 -0
- package/resources/beta/organization/federation/index.js +11 -0
- package/resources/beta/organization/federation/index.js.map +1 -0
- package/resources/beta/organization/federation/index.mjs +5 -0
- package/resources/beta/organization/federation/index.mjs.map +1 -0
- package/resources/beta/organization/federation/issuers.d.mts +353 -0
- package/resources/beta/organization/federation/issuers.d.mts.map +1 -0
- package/resources/beta/organization/federation/issuers.d.ts +353 -0
- package/resources/beta/organization/federation/issuers.d.ts.map +1 -0
- package/resources/beta/organization/federation/issuers.js +169 -0
- package/resources/beta/organization/federation/issuers.js.map +1 -0
- package/resources/beta/organization/federation/issuers.mjs +165 -0
- package/resources/beta/organization/federation/issuers.mjs.map +1 -0
- package/resources/beta/organization/federation/rules/index.d.mts +3 -0
- package/resources/beta/organization/federation/rules/index.d.mts.map +1 -0
- package/resources/beta/organization/federation/rules/index.d.ts +3 -0
- package/resources/beta/organization/federation/rules/index.d.ts.map +1 -0
- package/resources/beta/organization/federation/rules/index.js +9 -0
- package/resources/beta/organization/federation/rules/index.js.map +1 -0
- package/resources/beta/organization/federation/rules/index.mjs +4 -0
- package/resources/beta/organization/federation/rules/index.mjs.map +1 -0
- package/resources/beta/organization/federation/rules/rules.d.mts +468 -0
- package/resources/beta/organization/federation/rules/rules.d.mts.map +1 -0
- package/resources/beta/organization/federation/rules/rules.d.ts +468 -0
- package/resources/beta/organization/federation/rules/rules.d.ts.map +1 -0
- package/resources/beta/organization/federation/rules/rules.js +198 -0
- package/resources/beta/organization/federation/rules/rules.js.map +1 -0
- package/resources/beta/organization/federation/rules/rules.mjs +193 -0
- package/resources/beta/organization/federation/rules/rules.mjs.map +1 -0
- package/resources/beta/organization/federation/rules/workspaces.d.mts +124 -0
- package/resources/beta/organization/federation/rules/workspaces.d.mts.map +1 -0
- package/resources/beta/organization/federation/rules/workspaces.d.ts +124 -0
- package/resources/beta/organization/federation/rules/workspaces.d.ts.map +1 -0
- package/resources/beta/organization/federation/rules/workspaces.js +114 -0
- package/resources/beta/organization/federation/rules/workspaces.js.map +1 -0
- package/resources/beta/organization/federation/rules/workspaces.mjs +110 -0
- package/resources/beta/organization/federation/rules/workspaces.mjs.map +1 -0
- package/resources/beta/organization/federation/rules.d.mts +2 -0
- package/resources/beta/organization/federation/rules.d.mts.map +1 -0
- package/resources/beta/organization/federation/rules.d.ts +2 -0
- package/resources/beta/organization/federation/rules.d.ts.map +1 -0
- package/resources/beta/organization/federation/rules.js +6 -0
- package/resources/beta/organization/federation/rules.js.map +1 -0
- package/resources/beta/organization/federation/rules.mjs +3 -0
- package/resources/beta/organization/federation/rules.mjs.map +1 -0
- package/resources/beta/organization/federation.d.mts +2 -0
- package/resources/beta/organization/federation.d.mts.map +1 -0
- package/resources/beta/organization/federation.d.ts +2 -0
- package/resources/beta/organization/federation.d.ts.map +1 -0
- package/resources/beta/organization/federation.js +6 -0
- package/resources/beta/organization/federation.js.map +1 -0
- package/resources/beta/organization/federation.mjs +3 -0
- package/resources/beta/organization/federation.mjs.map +1 -0
- package/resources/beta/organization/index.d.mts +10 -0
- package/resources/beta/organization/index.d.mts.map +1 -0
- package/resources/beta/organization/index.d.ts +10 -0
- package/resources/beta/organization/index.d.ts.map +1 -0
- package/resources/beta/organization/index.js +23 -0
- package/resources/beta/organization/index.js.map +1 -0
- package/resources/beta/organization/index.mjs +11 -0
- package/resources/beta/organization/index.mjs.map +1 -0
- package/resources/beta/organization/invites.d.mts +162 -0
- package/resources/beta/organization/invites.d.mts.map +1 -0
- package/resources/beta/organization/invites.d.ts +162 -0
- package/resources/beta/organization/invites.d.ts.map +1 -0
- package/resources/beta/organization/invites.js +76 -0
- package/resources/beta/organization/invites.js.map +1 -0
- package/resources/beta/organization/invites.mjs +72 -0
- package/resources/beta/organization/invites.mjs.map +1 -0
- package/resources/beta/organization/organization.d.mts +69 -0
- package/resources/beta/organization/organization.d.mts.map +1 -0
- package/resources/beta/organization/organization.d.ts +69 -0
- package/resources/beta/organization/organization.d.ts.map +1 -0
- package/resources/beta/organization/organization.js +58 -0
- package/resources/beta/organization/organization.js.map +1 -0
- package/resources/beta/organization/organization.mjs +53 -0
- package/resources/beta/organization/organization.mjs.map +1 -0
- package/resources/beta/organization/rate-limits.d.mts +78 -0
- package/resources/beta/organization/rate-limits.d.mts.map +1 -0
- package/resources/beta/organization/rate-limits.d.ts +78 -0
- package/resources/beta/organization/rate-limits.d.ts.map +1 -0
- package/resources/beta/organization/rate-limits.js +32 -0
- package/resources/beta/organization/rate-limits.js.map +1 -0
- package/resources/beta/organization/rate-limits.mjs +28 -0
- package/resources/beta/organization/rate-limits.mjs.map +1 -0
- package/resources/beta/organization/service-accounts/index.d.mts +3 -0
- package/resources/beta/organization/service-accounts/index.d.mts.map +1 -0
- package/resources/beta/organization/service-accounts/index.d.ts +3 -0
- package/resources/beta/organization/service-accounts/index.d.ts.map +1 -0
- package/resources/beta/organization/service-accounts/index.js +9 -0
- package/resources/beta/organization/service-accounts/index.js.map +1 -0
- package/resources/beta/organization/service-accounts/index.mjs +4 -0
- package/resources/beta/organization/service-accounts/index.mjs.map +1 -0
- package/resources/beta/organization/service-accounts/service-accounts.d.mts +258 -0
- package/resources/beta/organization/service-accounts/service-accounts.d.mts.map +1 -0
- package/resources/beta/organization/service-accounts/service-accounts.d.ts +258 -0
- package/resources/beta/organization/service-accounts/service-accounts.d.ts.map +1 -0
- package/resources/beta/organization/service-accounts/service-accounts.js +174 -0
- package/resources/beta/organization/service-accounts/service-accounts.js.map +1 -0
- package/resources/beta/organization/service-accounts/service-accounts.mjs +169 -0
- package/resources/beta/organization/service-accounts/service-accounts.mjs.map +1 -0
- package/resources/beta/organization/service-accounts/workspaces.d.mts +141 -0
- package/resources/beta/organization/service-accounts/workspaces.d.mts.map +1 -0
- package/resources/beta/organization/service-accounts/workspaces.d.ts +141 -0
- package/resources/beta/organization/service-accounts/workspaces.d.ts.map +1 -0
- package/resources/beta/organization/service-accounts/workspaces.js +125 -0
- package/resources/beta/organization/service-accounts/workspaces.js.map +1 -0
- package/resources/beta/organization/service-accounts/workspaces.mjs +121 -0
- package/resources/beta/organization/service-accounts/workspaces.mjs.map +1 -0
- package/resources/beta/organization/service-accounts.d.mts +2 -0
- package/resources/beta/organization/service-accounts.d.mts.map +1 -0
- package/resources/beta/organization/service-accounts.d.ts +2 -0
- package/resources/beta/organization/service-accounts.d.ts.map +1 -0
- package/resources/beta/organization/service-accounts.js +6 -0
- package/resources/beta/organization/service-accounts.js.map +1 -0
- package/resources/beta/organization/service-accounts.mjs +3 -0
- package/resources/beta/organization/service-accounts.mjs.map +1 -0
- package/resources/beta/organization/users.d.mts +124 -0
- package/resources/beta/organization/users.d.mts.map +1 -0
- package/resources/beta/organization/users.d.ts +124 -0
- package/resources/beta/organization/users.d.ts.map +1 -0
- package/resources/beta/organization/users.js +67 -0
- package/resources/beta/organization/users.js.map +1 -0
- package/resources/beta/organization/users.mjs +63 -0
- package/resources/beta/organization/users.mjs.map +1 -0
- package/resources/beta/organization/workspaces/index.d.mts +5 -0
- package/resources/beta/organization/workspaces/index.d.mts.map +1 -0
- package/resources/beta/organization/workspaces/index.d.ts +5 -0
- package/resources/beta/organization/workspaces/index.d.ts.map +1 -0
- package/resources/beta/organization/workspaces/index.js +13 -0
- package/resources/beta/organization/workspaces/index.js.map +1 -0
- package/resources/beta/organization/workspaces/index.mjs +6 -0
- package/resources/beta/organization/workspaces/index.mjs.map +1 -0
- package/resources/beta/organization/workspaces/members.d.mts +135 -0
- package/resources/beta/organization/workspaces/members.d.mts.map +1 -0
- package/resources/beta/organization/workspaces/members.d.ts +135 -0
- package/resources/beta/organization/workspaces/members.d.ts.map +1 -0
- package/resources/beta/organization/workspaces/members.js +102 -0
- package/resources/beta/organization/workspaces/members.js.map +1 -0
- package/resources/beta/organization/workspaces/members.mjs +98 -0
- package/resources/beta/organization/workspaces/members.mjs.map +1 -0
- package/resources/beta/organization/workspaces/rate-limits.d.mts +84 -0
- package/resources/beta/organization/workspaces/rate-limits.d.mts.map +1 -0
- package/resources/beta/organization/workspaces/rate-limits.d.ts +84 -0
- package/resources/beta/organization/workspaces/rate-limits.d.ts.map +1 -0
- package/resources/beta/organization/workspaces/rate-limits.js +35 -0
- package/resources/beta/organization/workspaces/rate-limits.js.map +1 -0
- package/resources/beta/organization/workspaces/rate-limits.mjs +31 -0
- package/resources/beta/organization/workspaces/rate-limits.mjs.map +1 -0
- package/resources/beta/organization/workspaces/service-accounts.d.mts +210 -0
- package/resources/beta/organization/workspaces/service-accounts.d.mts.map +1 -0
- package/resources/beta/organization/workspaces/service-accounts.d.ts +210 -0
- package/resources/beta/organization/workspaces/service-accounts.d.ts.map +1 -0
- package/resources/beta/organization/workspaces/service-accounts.js +189 -0
- package/resources/beta/organization/workspaces/service-accounts.js.map +1 -0
- package/resources/beta/organization/workspaces/service-accounts.mjs +185 -0
- package/resources/beta/organization/workspaces/service-accounts.mjs.map +1 -0
- package/resources/beta/organization/workspaces/workspaces.d.mts +287 -0
- package/resources/beta/organization/workspaces/workspaces.d.mts.map +1 -0
- package/resources/beta/organization/workspaces/workspaces.d.ts +287 -0
- package/resources/beta/organization/workspaces/workspaces.d.ts.map +1 -0
- package/resources/beta/organization/workspaces/workspaces.js +112 -0
- package/resources/beta/organization/workspaces/workspaces.js.map +1 -0
- package/resources/beta/organization/workspaces/workspaces.mjs +107 -0
- package/resources/beta/organization/workspaces/workspaces.mjs.map +1 -0
- package/resources/beta/organization/workspaces.d.mts +2 -0
- package/resources/beta/organization/workspaces.d.mts.map +1 -0
- package/resources/beta/organization/workspaces.d.ts +2 -0
- package/resources/beta/organization/workspaces.d.ts.map +1 -0
- package/resources/beta/organization/workspaces.js +6 -0
- package/resources/beta/organization/workspaces.js.map +1 -0
- package/resources/beta/organization/workspaces.mjs +3 -0
- package/resources/beta/organization/workspaces.mjs.map +1 -0
- package/resources/beta/organization.d.mts +2 -0
- package/resources/beta/organization.d.mts.map +1 -0
- package/resources/beta/organization.d.ts +2 -0
- package/resources/beta/organization.d.ts.map +1 -0
- package/resources/beta/organization.js +6 -0
- package/resources/beta/organization.js.map +1 -0
- package/resources/beta/organization.mjs +3 -0
- package/resources/beta/organization.mjs.map +1 -0
- package/resources/beta/sessions/threads/threads.d.mts +2 -1
- package/resources/beta/sessions/threads/threads.d.mts.map +1 -1
- package/resources/beta/sessions/threads/threads.d.ts +2 -1
- 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/messages/messages.d.mts +1 -1
- package/resources/messages/messages.d.ts +1 -1
- package/src/helpers/beta/environments.ts +5 -4
- package/src/helpers/beta/standard-schema.ts +99 -0
- package/src/internal/detect-platform.ts +1 -1
- package/src/internal/file-store.ts +550 -0
- package/src/internal/utils/values.ts +7 -0
- package/src/lib/BetaMessageStream.ts +1 -3
- package/src/lib/MessageStream.ts +1 -3
- package/src/lib/environments/poller.ts +47 -1
- package/src/lib/environments/worker.ts +419 -79
- package/src/lib/sessions/accumulate.ts +1 -3
- package/src/lib/standard-schema.ts +209 -0
- package/src/lib/tools/BetaToolRunner.ts +38 -6
- package/src/resources/beta/agents/agents.ts +435 -30
- package/src/resources/beta/agents/index.ts +17 -0
- package/src/resources/beta/beta.ts +52 -1
- package/src/resources/beta/environments/environments.ts +8 -1
- package/src/resources/beta/environments/work.ts +7 -0
- package/src/resources/beta/index.ts +18 -0
- package/src/resources/beta/memory-stores/memories.ts +6 -5
- package/src/resources/beta/memory-stores/memory-versions.ts +8 -5
- package/src/resources/beta/messages/messages.ts +51 -9
- package/src/resources/beta/organization/api-keys.ts +231 -0
- package/src/resources/beta/organization/external-keys.ts +362 -0
- package/src/resources/beta/organization/federation/federation.ts +71 -0
- package/src/resources/beta/organization/federation/index.ts +31 -0
- package/src/resources/beta/organization/federation/issuers.ts +486 -0
- package/src/resources/beta/organization/federation/rules/index.ts +23 -0
- package/src/resources/beta/organization/federation/rules/rules.ts +624 -0
- package/src/resources/beta/organization/federation/rules/workspaces.ts +196 -0
- package/src/resources/beta/organization/federation/rules.ts +3 -0
- package/src/resources/beta/organization/federation.ts +3 -0
- package/src/resources/beta/organization/index.ts +83 -0
- package/src/resources/beta/organization/invites.ts +207 -0
- package/src/resources/beta/organization/organization.ts +245 -0
- package/src/resources/beta/organization/rate-limits.ts +105 -0
- package/src/resources/beta/organization/service-accounts/index.ts +21 -0
- package/src/resources/beta/organization/service-accounts/service-accounts.ts +389 -0
- package/src/resources/beta/organization/service-accounts/workspaces.ts +217 -0
- package/src/resources/beta/organization/service-accounts.ts +3 -0
- package/src/resources/beta/organization/users.ts +163 -0
- package/src/resources/beta/organization/workspaces/index.ts +43 -0
- package/src/resources/beta/organization/workspaces/members.ts +209 -0
- package/src/resources/beta/organization/workspaces/rate-limits.ts +114 -0
- package/src/resources/beta/organization/workspaces/service-accounts.ts +325 -0
- package/src/resources/beta/organization/workspaces/workspaces.ts +434 -0
- package/src/resources/beta/organization/workspaces.ts +3 -0
- package/src/resources/beta/organization.ts +3 -0
- package/src/resources/beta/sessions/threads/threads.ts +2 -1
- package/src/resources/messages/messages.ts +1 -1
- package/src/tools/agent-toolset/fs-util.ts +40 -24
- package/src/tools/agent-toolset/memories.ts +1017 -0
- package/src/tools/agent-toolset/node.browser.ts +69 -1
- package/src/tools/agent-toolset/node.ts +143 -57
- package/src/tools/agent-toolset/skills.ts +29 -9
- package/src/tools/agent-toolset/sync-interval.ts +30 -0
- package/src/version.ts +1 -1
- package/tools/agent-toolset/fs-util.d.mts +23 -10
- package/tools/agent-toolset/fs-util.d.mts.map +1 -1
- package/tools/agent-toolset/fs-util.d.ts +23 -10
- package/tools/agent-toolset/fs-util.d.ts.map +1 -1
- package/tools/agent-toolset/fs-util.js +40 -25
- package/tools/agent-toolset/fs-util.js.map +1 -1
- package/tools/agent-toolset/fs-util.mjs +38 -25
- package/tools/agent-toolset/fs-util.mjs.map +1 -1
- package/tools/agent-toolset/memories.d.mts +173 -0
- package/tools/agent-toolset/memories.d.mts.map +1 -0
- package/tools/agent-toolset/memories.d.ts +173 -0
- package/tools/agent-toolset/memories.d.ts.map +1 -0
- package/tools/agent-toolset/memories.js +902 -0
- package/tools/agent-toolset/memories.js.map +1 -0
- package/tools/agent-toolset/memories.mjs +895 -0
- package/tools/agent-toolset/memories.mjs.map +1 -0
- package/tools/agent-toolset/node.browser.d.mts +32 -1
- package/tools/agent-toolset/node.browser.d.mts.map +1 -1
- package/tools/agent-toolset/node.browser.d.ts +32 -1
- package/tools/agent-toolset/node.browser.d.ts.map +1 -1
- package/tools/agent-toolset/node.browser.js +59 -1
- package/tools/agent-toolset/node.browser.js.map +1 -1
- package/tools/agent-toolset/node.browser.mjs +54 -0
- package/tools/agent-toolset/node.browser.mjs.map +1 -1
- package/tools/agent-toolset/node.d.mts +56 -24
- package/tools/agent-toolset/node.d.mts.map +1 -1
- package/tools/agent-toolset/node.d.ts +56 -24
- package/tools/agent-toolset/node.d.ts.map +1 -1
- package/tools/agent-toolset/node.js +83 -44
- package/tools/agent-toolset/node.js.map +1 -1
- package/tools/agent-toolset/node.mjs +77 -44
- package/tools/agent-toolset/node.mjs.map +1 -1
- package/tools/agent-toolset/skills.d.mts +16 -7
- package/tools/agent-toolset/skills.d.mts.map +1 -1
- package/tools/agent-toolset/skills.d.ts +16 -7
- package/tools/agent-toolset/skills.d.ts.map +1 -1
- package/tools/agent-toolset/skills.js +27 -9
- package/tools/agent-toolset/skills.js.map +1 -1
- package/tools/agent-toolset/skills.mjs +27 -9
- package/tools/agent-toolset/skills.mjs.map +1 -1
- package/tools/agent-toolset/sync-interval.d.mts +19 -0
- package/tools/agent-toolset/sync-interval.d.mts.map +1 -0
- package/tools/agent-toolset/sync-interval.d.ts +19 -0
- package/tools/agent-toolset/sync-interval.d.ts.map +1 -0
- package/tools/agent-toolset/sync-interval.js +29 -0
- package/tools/agent-toolset/sync-interval.js.map +1 -0
- package/tools/agent-toolset/sync-interval.mjs +25 -0
- package/tools/agent-toolset/sync-interval.mjs.map +1 -0
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/tools/agent-toolset/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAQH,OAAO,KAAK,EAAE,SAAS,EAAE,wBAAqB;AAC9C,OAAO,EAAE,cAAc,EAAE,4BAAyB;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,4CAAyC;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/tools/agent-toolset/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAQH,OAAO,KAAK,EAAE,SAAS,EAAE,wBAAqB;AAC9C,OAAO,KAAK,EAAE,wBAAwB,EAAE,kDAA+C;AACvF,OAAO,EAAE,cAAc,EAAE,4BAAyB;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,4CAAyC;AAczE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,oBAAiB;AACjF,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,+BAA+B,EAC/B,2BAA2B,EAC3B,uBAAuB,EACvB,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,GAChC,sBAAmB;AAYpB;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,SAAS,EAAE,MAAM;CAK9B;AAmCD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CASlF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGnF;AAoCD;;;GAGG;AACH,qBAAa,WAAW;;gBASV,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAsB;IAyBrF,uDAAuD;IACvD,IAAI,MAAM,IAAI,OAAO,CAEpB;IAkBK,IAAI,CACR,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAA;KAAO,GACzE,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IA+DhD,KAAK,IAAI,IAAI;CAkBd;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAiEpE;AAID,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAkDpE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CA0BrE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAmEpE;AAaD,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CA4EpE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAoBpE"}
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
* const tools2 = betaAgentToolset20260401({ workdir: '/work' }).filter((t) => t.name !== 'bash');
|
|
26
26
|
* ```
|
|
27
27
|
*
|
|
28
|
-
* Trust model: the file tools confine to `workdir`
|
|
29
|
-
* without a sandbox; `bash` is unrestricted and
|
|
30
|
-
* {@link AgentToolContext}.
|
|
28
|
+
* Trust model: the file tools confine to `workdir` plus any `allowedRoots`
|
|
29
|
+
* (symlink-aware) and are safe without a sandbox; `bash` is unrestricted and
|
|
30
|
+
* should run inside one. See {@link AgentToolContext}.
|
|
31
31
|
*/
|
|
32
32
|
var _BashSession_instances, _BashSession_proc, _BashSession_buf, _BashSession_truncated, _BashSession_closed, _BashSession_waiting, _BashSession_append;
|
|
33
33
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
-
exports.BashSession = exports.BashTimeoutError = exports.extractSkillArchive = exports.resolveSkillVersion = exports.setupSkills = void 0;
|
|
34
|
+
exports.BashSession = exports.BashTimeoutError = exports.MARKER_PATH = exports.MEMORY_FLUSH_TIMEOUT_MS = exports.MIN_MEMORY_SYNC_INTERVAL_MS = exports.DEFAULT_MEMORY_SYNC_INTERVAL_MS = exports.SessionMemoryError = exports.SessionMemoryStores = exports.extractSkillArchive = exports.resolveSkillVersion = exports.setupSkills = void 0;
|
|
35
35
|
exports.betaAgentToolset20260401 = betaAgentToolset20260401;
|
|
36
36
|
exports.resolvePath = resolvePath;
|
|
37
37
|
exports.betaBashTool = betaBashTool;
|
|
@@ -56,6 +56,13 @@ var skills_1 = require("./skills.js");
|
|
|
56
56
|
Object.defineProperty(exports, "setupSkills", { enumerable: true, get: function () { return skills_1.setupSkills; } });
|
|
57
57
|
Object.defineProperty(exports, "resolveSkillVersion", { enumerable: true, get: function () { return skills_1.resolveSkillVersion; } });
|
|
58
58
|
Object.defineProperty(exports, "extractSkillArchive", { enumerable: true, get: function () { return skills_1.extractSkillArchive; } });
|
|
59
|
+
var memories_1 = require("./memories.js");
|
|
60
|
+
Object.defineProperty(exports, "SessionMemoryStores", { enumerable: true, get: function () { return memories_1.SessionMemoryStores; } });
|
|
61
|
+
Object.defineProperty(exports, "SessionMemoryError", { enumerable: true, get: function () { return memories_1.SessionMemoryError; } });
|
|
62
|
+
Object.defineProperty(exports, "DEFAULT_MEMORY_SYNC_INTERVAL_MS", { enumerable: true, get: function () { return memories_1.DEFAULT_MEMORY_SYNC_INTERVAL_MS; } });
|
|
63
|
+
Object.defineProperty(exports, "MIN_MEMORY_SYNC_INTERVAL_MS", { enumerable: true, get: function () { return memories_1.MIN_MEMORY_SYNC_INTERVAL_MS; } });
|
|
64
|
+
Object.defineProperty(exports, "MEMORY_FLUSH_TIMEOUT_MS", { enumerable: true, get: function () { return memories_1.MEMORY_FLUSH_TIMEOUT_MS; } });
|
|
65
|
+
Object.defineProperty(exports, "MARKER_PATH", { enumerable: true, get: function () { return memories_1.MARKER_PATH; } });
|
|
59
66
|
const BASH_OUTPUT_LIMIT = 100 * 1024;
|
|
60
67
|
const BASH_DEFAULT_TIMEOUT_MS = 120000;
|
|
61
68
|
// Default size cap for the read/edit tools (both load the whole file into
|
|
@@ -82,6 +89,18 @@ const fsGlob = fs.glob;
|
|
|
82
89
|
function resolveMaxBytes(configured) {
|
|
83
90
|
return configured === undefined ? DEFAULT_MAX_FILE_BYTES : configured;
|
|
84
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Throw when the deprecated {@link AgentToolContext.unrestrictedPaths} was
|
|
94
|
+
* passed at all. Nothing else reads that property.
|
|
95
|
+
*/
|
|
96
|
+
function rejectUnrestrictedPaths(value) {
|
|
97
|
+
if (value === undefined)
|
|
98
|
+
return;
|
|
99
|
+
throw new error_1.AnthropicError('The `unrestrictedPaths` option you passed to the agent toolset (AgentToolContext) is no longer ' +
|
|
100
|
+
"supported. The toolset's file tools (read, write, edit, glob, grep) are now always confined to " +
|
|
101
|
+
'the working directory plus the directories listed in `allowedRoots`. Remove `unrestrictedPaths` ' +
|
|
102
|
+
'from your context; to let the file tools reach any other directory, add it to `allowedRoots`.');
|
|
103
|
+
}
|
|
85
104
|
/**
|
|
86
105
|
* Returns the `agent_toolset_20260401` implementations bound to `ctx`. The
|
|
87
106
|
* result is a plain array of `BetaRunnableTool`; filter or extend it before
|
|
@@ -113,13 +132,14 @@ function betaAgentToolset20260401(ctx) {
|
|
|
113
132
|
];
|
|
114
133
|
}
|
|
115
134
|
/**
|
|
116
|
-
* Resolve `p` against `ctx.workdir
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
135
|
+
* Resolve `p` against `ctx.workdir`; reject results outside `ctx.workdir` and
|
|
136
|
+
* `ctx.allowedRoots`. Absolute and relative inputs go through the same
|
|
137
|
+
* canonicalise-then-contain check — an absolute path that lands inside a
|
|
138
|
+
* permitted root is accepted, only paths that resolve *outside* all of them
|
|
139
|
+
* are rejected. Every symlink in `p` (including the leaf, even a dangling one)
|
|
140
|
+
* is resolved before the check, and the resolved path is what the tool then
|
|
141
|
+
* operates on, so a symlink inside the workdir that points outside it can
|
|
142
|
+
* neither pass the check nor be followed afterwards. See the trust model on
|
|
123
143
|
* {@link AgentToolContext}.
|
|
124
144
|
*
|
|
125
145
|
* Residual TOCTOU: a component could still be swapped for a symlink between this
|
|
@@ -128,8 +148,18 @@ function betaAgentToolset20260401(ctx) {
|
|
|
128
148
|
* residual exposure exists in `tools/memory/node` and is why a sandbox is still
|
|
129
149
|
* recommended for the toolset as a whole.
|
|
130
150
|
*/
|
|
131
|
-
function resolvePath(ctx, p) {
|
|
132
|
-
|
|
151
|
+
async function resolvePath(ctx, p) {
|
|
152
|
+
rejectUnrestrictedPaths(ctx.unrestrictedPaths);
|
|
153
|
+
return (0, fs_util_1.confineToRoot)(ctx.workdir, p, { allowedRoots: ctx.allowedRoots ?? [] });
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* The read-only root `target` falls under, or `undefined`. `target` arrives
|
|
157
|
+
* fully canonicalized (from {@link resolvePath}), so each root is
|
|
158
|
+
* canonicalized too — a root recorded through a symlinked workdir must still
|
|
159
|
+
* match the resolved write target.
|
|
160
|
+
*/
|
|
161
|
+
function readOnlyRootFor(ctx, target) {
|
|
162
|
+
return (0, fs_util_1.containingRoot)(ctx.readOnlyRoots ?? [], target);
|
|
133
163
|
}
|
|
134
164
|
// ---- bash ----------------------------------------------------------------
|
|
135
165
|
/**
|
|
@@ -294,6 +324,7 @@ _BashSession_proc = new WeakMap(), _BashSession_buf = new WeakMap(), _BashSessio
|
|
|
294
324
|
}
|
|
295
325
|
};
|
|
296
326
|
function betaBashTool(ctx) {
|
|
327
|
+
rejectUnrestrictedPaths(ctx.unrestrictedPaths);
|
|
297
328
|
let session;
|
|
298
329
|
// Concurrent run() callers chain onto this promise so writes to the shared
|
|
299
330
|
// shell's stdin can't interleave (which would corrupt the sentinel-match
|
|
@@ -366,6 +397,7 @@ function betaBashTool(ctx) {
|
|
|
366
397
|
}
|
|
367
398
|
// ---- fs ------------------------------------------------------------------
|
|
368
399
|
function betaReadTool(ctx) {
|
|
400
|
+
rejectUnrestrictedPaths(ctx.unrestrictedPaths);
|
|
369
401
|
return (0, json_schema_1.betaTool)({
|
|
370
402
|
name: 'read',
|
|
371
403
|
description: 'Read a UTF-8 text file relative to the workdir.',
|
|
@@ -419,6 +451,7 @@ function betaReadTool(ctx) {
|
|
|
419
451
|
});
|
|
420
452
|
}
|
|
421
453
|
function betaWriteTool(ctx) {
|
|
454
|
+
rejectUnrestrictedPaths(ctx.unrestrictedPaths);
|
|
422
455
|
return (0, json_schema_1.betaTool)({
|
|
423
456
|
name: 'write',
|
|
424
457
|
description: 'Write a UTF-8 text file relative to the workdir, creating parent directories as needed.',
|
|
@@ -431,6 +464,10 @@ function betaWriteTool(ctx) {
|
|
|
431
464
|
if (!file_path)
|
|
432
465
|
throw new ToolError_1.ToolError('write: file_path is required');
|
|
433
466
|
const abs = await resolvePath(ctx, file_path);
|
|
467
|
+
const ro = await readOnlyRootFor(ctx, abs);
|
|
468
|
+
if (ro !== undefined) {
|
|
469
|
+
throw new ToolError_1.ToolError(`write: ${file_path} is inside read-only directory ${ro}`);
|
|
470
|
+
}
|
|
434
471
|
try {
|
|
435
472
|
await fs.mkdir(path.dirname(abs), { recursive: true, mode: fs_util_1.DIR_CREATE_MODE });
|
|
436
473
|
await (0, fs_util_1.atomicWriteFile)(abs, content ?? '');
|
|
@@ -443,6 +480,7 @@ function betaWriteTool(ctx) {
|
|
|
443
480
|
});
|
|
444
481
|
}
|
|
445
482
|
function betaEditTool(ctx) {
|
|
483
|
+
rejectUnrestrictedPaths(ctx.unrestrictedPaths);
|
|
446
484
|
return (0, json_schema_1.betaTool)({
|
|
447
485
|
name: 'edit',
|
|
448
486
|
description: 'Replace old_string with new_string in a file. old_string must be unique unless replace_all.',
|
|
@@ -462,6 +500,10 @@ function betaEditTool(ctx) {
|
|
|
462
500
|
if (!old_string)
|
|
463
501
|
throw new ToolError_1.ToolError('edit: old_string is required');
|
|
464
502
|
const abs = await resolvePath(ctx, file_path);
|
|
503
|
+
const ro = await readOnlyRootFor(ctx, abs);
|
|
504
|
+
if (ro !== undefined) {
|
|
505
|
+
throw new ToolError_1.ToolError(`edit: ${file_path} is inside read-only directory ${ro}`);
|
|
506
|
+
}
|
|
465
507
|
let data;
|
|
466
508
|
try {
|
|
467
509
|
// stat() before any open() — same guard as `read`: the size cap stops a
|
|
@@ -510,7 +552,16 @@ function betaEditTool(ctx) {
|
|
|
510
552
|
});
|
|
511
553
|
}
|
|
512
554
|
// ---- search --------------------------------------------------------------
|
|
555
|
+
/**
|
|
556
|
+
* Best-effort: stops `fs.glob` from walking out of the root via a literal or
|
|
557
|
+
* brace-expanded `..`. The realpath post-filter in {@link betaGlobTool} is the
|
|
558
|
+
* boundary; this only avoids the walk.
|
|
559
|
+
*/
|
|
560
|
+
function patternCanAscend(pattern) {
|
|
561
|
+
return pattern.split(/[\\/{},]/).includes('..');
|
|
562
|
+
}
|
|
513
563
|
function betaGlobTool(ctx) {
|
|
564
|
+
rejectUnrestrictedPaths(ctx.unrestrictedPaths);
|
|
514
565
|
return (0, json_schema_1.betaTool)({
|
|
515
566
|
name: 'glob',
|
|
516
567
|
description: 'Match files under the workdir against a glob pattern. Results are mtime-sorted, newest first.',
|
|
@@ -525,36 +576,30 @@ function betaGlobTool(ctx) {
|
|
|
525
576
|
run: async ({ pattern, path: searchPath }) => {
|
|
526
577
|
if (!pattern)
|
|
527
578
|
throw new ToolError_1.ToolError('glob: pattern is required');
|
|
528
|
-
let root = path.resolve(ctx.workdir);
|
|
529
|
-
let pat = pattern;
|
|
530
579
|
if (path.isAbsolute(pattern)) {
|
|
531
|
-
|
|
532
|
-
throw new ToolError_1.ToolError('glob: absolute pattern not permitted');
|
|
533
|
-
root = path.parse(pattern).root;
|
|
534
|
-
pat = path.relative(root, pattern);
|
|
535
|
-
}
|
|
536
|
-
else if (searchPath) {
|
|
537
|
-
root = await resolvePath(ctx, searchPath);
|
|
580
|
+
throw new ToolError_1.ToolError('glob: absolute pattern not permitted; pass a relative pattern (and optionally path)');
|
|
538
581
|
}
|
|
539
|
-
|
|
540
|
-
// the search root — this is separate from the `searchPath` confinement
|
|
541
|
-
// above, which only covers the path argument. Reject it outright when the
|
|
542
|
-
// toolset is confined.
|
|
543
|
-
if (!ctx.unrestrictedPaths && pat.split(/[\\/]/).includes('..')) {
|
|
582
|
+
if (patternCanAscend(pattern)) {
|
|
544
583
|
throw new ToolError_1.ToolError('glob: ".." is not permitted in the pattern');
|
|
545
584
|
}
|
|
585
|
+
const root = searchPath ? await resolvePath(ctx, searchPath) : path.resolve(ctx.workdir);
|
|
546
586
|
// Compare canonical against canonical: a workdir that is itself a
|
|
547
587
|
// symlink would otherwise falsely reject every realpath'd match below.
|
|
548
|
-
const realRoot =
|
|
588
|
+
const realRoot = searchPath ? root : await (0, fs_util_1.canonicalize)(root);
|
|
549
589
|
const matches = [];
|
|
590
|
+
// Bounds the walk for patterns that match, or brace-expand into,
|
|
591
|
+
// enormous trees.
|
|
592
|
+
let remaining = WALK_MAX_ENTRIES;
|
|
550
593
|
try {
|
|
551
594
|
// Native `fs.glob` (Node 22+). `exclude` prunes the noisy dirs the
|
|
552
595
|
// legacy walker skipped; only regular files are collected.
|
|
553
|
-
for await (const entry of fsGlob(
|
|
596
|
+
for await (const entry of fsGlob(pattern, {
|
|
554
597
|
cwd: root,
|
|
555
598
|
withFileTypes: true,
|
|
556
599
|
exclude: (d) => d.name === '.git' || d.name === 'node_modules',
|
|
557
600
|
})) {
|
|
601
|
+
if (remaining-- <= 0)
|
|
602
|
+
break;
|
|
558
603
|
if (!entry.isFile())
|
|
559
604
|
continue;
|
|
560
605
|
const full = path.join(entry.parentPath, entry.name);
|
|
@@ -565,17 +610,15 @@ function betaGlobTool(ctx) {
|
|
|
565
610
|
// the raw parent path, so a lexical check on `full` alone would
|
|
566
611
|
// pass `root/link_out/secret` even though it lives outside the
|
|
567
612
|
// jail. Resolve-failure (ELOOP, EACCES, a racing unlink) is a deny.
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
real = await fs.realpath(full);
|
|
572
|
-
}
|
|
573
|
-
catch {
|
|
574
|
-
continue;
|
|
575
|
-
}
|
|
576
|
-
if (!isWithin(realRoot, real))
|
|
577
|
-
continue;
|
|
613
|
+
let real;
|
|
614
|
+
try {
|
|
615
|
+
real = await fs.realpath(full);
|
|
578
616
|
}
|
|
617
|
+
catch {
|
|
618
|
+
continue;
|
|
619
|
+
}
|
|
620
|
+
if (!(0, fs_util_1.isWithin)(realRoot, real))
|
|
621
|
+
continue;
|
|
579
622
|
let mtime = 0;
|
|
580
623
|
try {
|
|
581
624
|
mtime = (await fs.stat(full)).mtimeMs;
|
|
@@ -600,6 +643,7 @@ function betaGlobTool(ctx) {
|
|
|
600
643
|
});
|
|
601
644
|
}
|
|
602
645
|
function betaGrepTool(ctx) {
|
|
646
|
+
rejectUnrestrictedPaths(ctx.unrestrictedPaths);
|
|
603
647
|
return (0, json_schema_1.betaTool)({
|
|
604
648
|
name: 'grep',
|
|
605
649
|
description: 'Search file contents for a regex. Uses ripgrep if available, otherwise a built-in walker.',
|
|
@@ -714,11 +758,6 @@ async function grepFile(file, re, push) {
|
|
|
714
758
|
return true;
|
|
715
759
|
}
|
|
716
760
|
// ---- utils ---------------------------------------------------------------
|
|
717
|
-
/** True when `p` is `root` itself or lexically contained within it. */
|
|
718
|
-
function isWithin(root, p) {
|
|
719
|
-
const rel = path.relative(root, p);
|
|
720
|
-
return rel === '' || (!rel.startsWith('..' + path.sep) && rel !== '..' && !path.isAbsolute(rel));
|
|
721
|
-
}
|
|
722
761
|
const WALK_MAX_DEPTH = 40;
|
|
723
762
|
const WALK_MAX_ENTRIES = 50000;
|
|
724
763
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/tools/agent-toolset/node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/tools/agent-toolset/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
* const tools2 = betaAgentToolset20260401({ workdir: '/work' }).filter((t) => t.name !== 'bash');
|
|
25
25
|
* ```
|
|
26
26
|
*
|
|
27
|
-
* Trust model: the file tools confine to `workdir`
|
|
28
|
-
* without a sandbox; `bash` is unrestricted and
|
|
29
|
-
* {@link AgentToolContext}.
|
|
27
|
+
* Trust model: the file tools confine to `workdir` plus any `allowedRoots`
|
|
28
|
+
* (symlink-aware) and are safe without a sandbox; `bash` is unrestricted and
|
|
29
|
+
* should run inside one. See {@link AgentToolContext}.
|
|
30
30
|
*/
|
|
31
31
|
var _BashSession_instances, _BashSession_proc, _BashSession_buf, _BashSession_truncated, _BashSession_closed, _BashSession_waiting, _BashSession_append;
|
|
32
32
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "../../internal/tslib.mjs";
|
|
@@ -40,8 +40,9 @@ import { AnthropicError } from "../../core/error.mjs";
|
|
|
40
40
|
import { ToolError } from "../../lib/tools/ToolError.mjs";
|
|
41
41
|
import { betaTool } from "../../helpers/beta/json-schema.mjs";
|
|
42
42
|
import { promiseWithResolvers } from "../../internal/utils/promise.mjs";
|
|
43
|
-
import { atomicWriteFile, confineToRoot, DIR_CREATE_MODE, fsErrorMessage } from "./fs-util.mjs";
|
|
43
|
+
import { atomicWriteFile, canonicalize, confineToRoot, containingRoot, DIR_CREATE_MODE, fsErrorMessage, isWithin, } from "./fs-util.mjs";
|
|
44
44
|
export { setupSkills, resolveSkillVersion, extractSkillArchive } from "./skills.mjs";
|
|
45
|
+
export { SessionMemoryStores, SessionMemoryError, DEFAULT_MEMORY_SYNC_INTERVAL_MS, MIN_MEMORY_SYNC_INTERVAL_MS, MEMORY_FLUSH_TIMEOUT_MS, MARKER_PATH, } from "./memories.mjs";
|
|
45
46
|
const BASH_OUTPUT_LIMIT = 100 * 1024;
|
|
46
47
|
const BASH_DEFAULT_TIMEOUT_MS = 120000;
|
|
47
48
|
// Default size cap for the read/edit tools (both load the whole file into
|
|
@@ -67,6 +68,18 @@ const fsGlob = fs.glob;
|
|
|
67
68
|
function resolveMaxBytes(configured) {
|
|
68
69
|
return configured === undefined ? DEFAULT_MAX_FILE_BYTES : configured;
|
|
69
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Throw when the deprecated {@link AgentToolContext.unrestrictedPaths} was
|
|
73
|
+
* passed at all. Nothing else reads that property.
|
|
74
|
+
*/
|
|
75
|
+
function rejectUnrestrictedPaths(value) {
|
|
76
|
+
if (value === undefined)
|
|
77
|
+
return;
|
|
78
|
+
throw new AnthropicError('The `unrestrictedPaths` option you passed to the agent toolset (AgentToolContext) is no longer ' +
|
|
79
|
+
"supported. The toolset's file tools (read, write, edit, glob, grep) are now always confined to " +
|
|
80
|
+
'the working directory plus the directories listed in `allowedRoots`. Remove `unrestrictedPaths` ' +
|
|
81
|
+
'from your context; to let the file tools reach any other directory, add it to `allowedRoots`.');
|
|
82
|
+
}
|
|
70
83
|
/**
|
|
71
84
|
* Returns the `agent_toolset_20260401` implementations bound to `ctx`. The
|
|
72
85
|
* result is a plain array of `BetaRunnableTool`; filter or extend it before
|
|
@@ -98,13 +111,14 @@ export function betaAgentToolset20260401(ctx) {
|
|
|
98
111
|
];
|
|
99
112
|
}
|
|
100
113
|
/**
|
|
101
|
-
* Resolve `p` against `ctx.workdir
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
114
|
+
* Resolve `p` against `ctx.workdir`; reject results outside `ctx.workdir` and
|
|
115
|
+
* `ctx.allowedRoots`. Absolute and relative inputs go through the same
|
|
116
|
+
* canonicalise-then-contain check — an absolute path that lands inside a
|
|
117
|
+
* permitted root is accepted, only paths that resolve *outside* all of them
|
|
118
|
+
* are rejected. Every symlink in `p` (including the leaf, even a dangling one)
|
|
119
|
+
* is resolved before the check, and the resolved path is what the tool then
|
|
120
|
+
* operates on, so a symlink inside the workdir that points outside it can
|
|
121
|
+
* neither pass the check nor be followed afterwards. See the trust model on
|
|
108
122
|
* {@link AgentToolContext}.
|
|
109
123
|
*
|
|
110
124
|
* Residual TOCTOU: a component could still be swapped for a symlink between this
|
|
@@ -113,8 +127,18 @@ export function betaAgentToolset20260401(ctx) {
|
|
|
113
127
|
* residual exposure exists in `tools/memory/node` and is why a sandbox is still
|
|
114
128
|
* recommended for the toolset as a whole.
|
|
115
129
|
*/
|
|
116
|
-
export function resolvePath(ctx, p) {
|
|
117
|
-
|
|
130
|
+
export async function resolvePath(ctx, p) {
|
|
131
|
+
rejectUnrestrictedPaths(ctx.unrestrictedPaths);
|
|
132
|
+
return confineToRoot(ctx.workdir, p, { allowedRoots: ctx.allowedRoots ?? [] });
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* The read-only root `target` falls under, or `undefined`. `target` arrives
|
|
136
|
+
* fully canonicalized (from {@link resolvePath}), so each root is
|
|
137
|
+
* canonicalized too — a root recorded through a symlinked workdir must still
|
|
138
|
+
* match the resolved write target.
|
|
139
|
+
*/
|
|
140
|
+
function readOnlyRootFor(ctx, target) {
|
|
141
|
+
return containingRoot(ctx.readOnlyRoots ?? [], target);
|
|
118
142
|
}
|
|
119
143
|
// ---- bash ----------------------------------------------------------------
|
|
120
144
|
/**
|
|
@@ -278,6 +302,7 @@ _BashSession_proc = new WeakMap(), _BashSession_buf = new WeakMap(), _BashSessio
|
|
|
278
302
|
}
|
|
279
303
|
};
|
|
280
304
|
export function betaBashTool(ctx) {
|
|
305
|
+
rejectUnrestrictedPaths(ctx.unrestrictedPaths);
|
|
281
306
|
let session;
|
|
282
307
|
// Concurrent run() callers chain onto this promise so writes to the shared
|
|
283
308
|
// shell's stdin can't interleave (which would corrupt the sentinel-match
|
|
@@ -350,6 +375,7 @@ export function betaBashTool(ctx) {
|
|
|
350
375
|
}
|
|
351
376
|
// ---- fs ------------------------------------------------------------------
|
|
352
377
|
export function betaReadTool(ctx) {
|
|
378
|
+
rejectUnrestrictedPaths(ctx.unrestrictedPaths);
|
|
353
379
|
return betaTool({
|
|
354
380
|
name: 'read',
|
|
355
381
|
description: 'Read a UTF-8 text file relative to the workdir.',
|
|
@@ -403,6 +429,7 @@ export function betaReadTool(ctx) {
|
|
|
403
429
|
});
|
|
404
430
|
}
|
|
405
431
|
export function betaWriteTool(ctx) {
|
|
432
|
+
rejectUnrestrictedPaths(ctx.unrestrictedPaths);
|
|
406
433
|
return betaTool({
|
|
407
434
|
name: 'write',
|
|
408
435
|
description: 'Write a UTF-8 text file relative to the workdir, creating parent directories as needed.',
|
|
@@ -415,6 +442,10 @@ export function betaWriteTool(ctx) {
|
|
|
415
442
|
if (!file_path)
|
|
416
443
|
throw new ToolError('write: file_path is required');
|
|
417
444
|
const abs = await resolvePath(ctx, file_path);
|
|
445
|
+
const ro = await readOnlyRootFor(ctx, abs);
|
|
446
|
+
if (ro !== undefined) {
|
|
447
|
+
throw new ToolError(`write: ${file_path} is inside read-only directory ${ro}`);
|
|
448
|
+
}
|
|
418
449
|
try {
|
|
419
450
|
await fs.mkdir(path.dirname(abs), { recursive: true, mode: DIR_CREATE_MODE });
|
|
420
451
|
await atomicWriteFile(abs, content ?? '');
|
|
@@ -427,6 +458,7 @@ export function betaWriteTool(ctx) {
|
|
|
427
458
|
});
|
|
428
459
|
}
|
|
429
460
|
export function betaEditTool(ctx) {
|
|
461
|
+
rejectUnrestrictedPaths(ctx.unrestrictedPaths);
|
|
430
462
|
return betaTool({
|
|
431
463
|
name: 'edit',
|
|
432
464
|
description: 'Replace old_string with new_string in a file. old_string must be unique unless replace_all.',
|
|
@@ -446,6 +478,10 @@ export function betaEditTool(ctx) {
|
|
|
446
478
|
if (!old_string)
|
|
447
479
|
throw new ToolError('edit: old_string is required');
|
|
448
480
|
const abs = await resolvePath(ctx, file_path);
|
|
481
|
+
const ro = await readOnlyRootFor(ctx, abs);
|
|
482
|
+
if (ro !== undefined) {
|
|
483
|
+
throw new ToolError(`edit: ${file_path} is inside read-only directory ${ro}`);
|
|
484
|
+
}
|
|
449
485
|
let data;
|
|
450
486
|
try {
|
|
451
487
|
// stat() before any open() — same guard as `read`: the size cap stops a
|
|
@@ -494,7 +530,16 @@ export function betaEditTool(ctx) {
|
|
|
494
530
|
});
|
|
495
531
|
}
|
|
496
532
|
// ---- search --------------------------------------------------------------
|
|
533
|
+
/**
|
|
534
|
+
* Best-effort: stops `fs.glob` from walking out of the root via a literal or
|
|
535
|
+
* brace-expanded `..`. The realpath post-filter in {@link betaGlobTool} is the
|
|
536
|
+
* boundary; this only avoids the walk.
|
|
537
|
+
*/
|
|
538
|
+
function patternCanAscend(pattern) {
|
|
539
|
+
return pattern.split(/[\\/{},]/).includes('..');
|
|
540
|
+
}
|
|
497
541
|
export function betaGlobTool(ctx) {
|
|
542
|
+
rejectUnrestrictedPaths(ctx.unrestrictedPaths);
|
|
498
543
|
return betaTool({
|
|
499
544
|
name: 'glob',
|
|
500
545
|
description: 'Match files under the workdir against a glob pattern. Results are mtime-sorted, newest first.',
|
|
@@ -509,36 +554,30 @@ export function betaGlobTool(ctx) {
|
|
|
509
554
|
run: async ({ pattern, path: searchPath }) => {
|
|
510
555
|
if (!pattern)
|
|
511
556
|
throw new ToolError('glob: pattern is required');
|
|
512
|
-
let root = path.resolve(ctx.workdir);
|
|
513
|
-
let pat = pattern;
|
|
514
557
|
if (path.isAbsolute(pattern)) {
|
|
515
|
-
|
|
516
|
-
throw new ToolError('glob: absolute pattern not permitted');
|
|
517
|
-
root = path.parse(pattern).root;
|
|
518
|
-
pat = path.relative(root, pattern);
|
|
519
|
-
}
|
|
520
|
-
else if (searchPath) {
|
|
521
|
-
root = await resolvePath(ctx, searchPath);
|
|
558
|
+
throw new ToolError('glob: absolute pattern not permitted; pass a relative pattern (and optionally path)');
|
|
522
559
|
}
|
|
523
|
-
|
|
524
|
-
// the search root — this is separate from the `searchPath` confinement
|
|
525
|
-
// above, which only covers the path argument. Reject it outright when the
|
|
526
|
-
// toolset is confined.
|
|
527
|
-
if (!ctx.unrestrictedPaths && pat.split(/[\\/]/).includes('..')) {
|
|
560
|
+
if (patternCanAscend(pattern)) {
|
|
528
561
|
throw new ToolError('glob: ".." is not permitted in the pattern');
|
|
529
562
|
}
|
|
563
|
+
const root = searchPath ? await resolvePath(ctx, searchPath) : path.resolve(ctx.workdir);
|
|
530
564
|
// Compare canonical against canonical: a workdir that is itself a
|
|
531
565
|
// symlink would otherwise falsely reject every realpath'd match below.
|
|
532
|
-
const realRoot =
|
|
566
|
+
const realRoot = searchPath ? root : await canonicalize(root);
|
|
533
567
|
const matches = [];
|
|
568
|
+
// Bounds the walk for patterns that match, or brace-expand into,
|
|
569
|
+
// enormous trees.
|
|
570
|
+
let remaining = WALK_MAX_ENTRIES;
|
|
534
571
|
try {
|
|
535
572
|
// Native `fs.glob` (Node 22+). `exclude` prunes the noisy dirs the
|
|
536
573
|
// legacy walker skipped; only regular files are collected.
|
|
537
|
-
for await (const entry of fsGlob(
|
|
574
|
+
for await (const entry of fsGlob(pattern, {
|
|
538
575
|
cwd: root,
|
|
539
576
|
withFileTypes: true,
|
|
540
577
|
exclude: (d) => d.name === '.git' || d.name === 'node_modules',
|
|
541
578
|
})) {
|
|
579
|
+
if (remaining-- <= 0)
|
|
580
|
+
break;
|
|
542
581
|
if (!entry.isFile())
|
|
543
582
|
continue;
|
|
544
583
|
const full = path.join(entry.parentPath, entry.name);
|
|
@@ -549,17 +588,15 @@ export function betaGlobTool(ctx) {
|
|
|
549
588
|
// the raw parent path, so a lexical check on `full` alone would
|
|
550
589
|
// pass `root/link_out/secret` even though it lives outside the
|
|
551
590
|
// jail. Resolve-failure (ELOOP, EACCES, a racing unlink) is a deny.
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
real = await fs.realpath(full);
|
|
556
|
-
}
|
|
557
|
-
catch {
|
|
558
|
-
continue;
|
|
559
|
-
}
|
|
560
|
-
if (!isWithin(realRoot, real))
|
|
561
|
-
continue;
|
|
591
|
+
let real;
|
|
592
|
+
try {
|
|
593
|
+
real = await fs.realpath(full);
|
|
562
594
|
}
|
|
595
|
+
catch {
|
|
596
|
+
continue;
|
|
597
|
+
}
|
|
598
|
+
if (!isWithin(realRoot, real))
|
|
599
|
+
continue;
|
|
563
600
|
let mtime = 0;
|
|
564
601
|
try {
|
|
565
602
|
mtime = (await fs.stat(full)).mtimeMs;
|
|
@@ -584,6 +621,7 @@ export function betaGlobTool(ctx) {
|
|
|
584
621
|
});
|
|
585
622
|
}
|
|
586
623
|
export function betaGrepTool(ctx) {
|
|
624
|
+
rejectUnrestrictedPaths(ctx.unrestrictedPaths);
|
|
587
625
|
return betaTool({
|
|
588
626
|
name: 'grep',
|
|
589
627
|
description: 'Search file contents for a regex. Uses ripgrep if available, otherwise a built-in walker.',
|
|
@@ -698,11 +736,6 @@ async function grepFile(file, re, push) {
|
|
|
698
736
|
return true;
|
|
699
737
|
}
|
|
700
738
|
// ---- utils ---------------------------------------------------------------
|
|
701
|
-
/** True when `p` is `root` itself or lexically contained within it. */
|
|
702
|
-
function isWithin(root, p) {
|
|
703
|
-
const rel = path.relative(root, p);
|
|
704
|
-
return rel === '' || (!rel.startsWith('..' + path.sep) && rel !== '..' && !path.isAbsolute(rel));
|
|
705
|
-
}
|
|
706
739
|
const WALK_MAX_DEPTH = 40;
|
|
707
740
|
const WALK_MAX_ENTRIES = 50000;
|
|
708
741
|
/**
|