@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.
Files changed (466) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/helpers/beta/environments.d.mts +5 -4
  3. package/helpers/beta/environments.d.mts.map +1 -1
  4. package/helpers/beta/environments.d.ts +5 -4
  5. package/helpers/beta/environments.d.ts.map +1 -1
  6. package/helpers/beta/environments.js +5 -4
  7. package/helpers/beta/environments.js.map +1 -1
  8. package/helpers/beta/environments.mjs +5 -4
  9. package/helpers/beta/environments.mjs.map +1 -1
  10. package/helpers/beta/standard-schema.d.mts +45 -0
  11. package/helpers/beta/standard-schema.d.mts.map +1 -0
  12. package/helpers/beta/standard-schema.d.ts +45 -0
  13. package/helpers/beta/standard-schema.d.ts.map +1 -0
  14. package/helpers/beta/standard-schema.js +58 -0
  15. package/helpers/beta/standard-schema.js.map +1 -0
  16. package/helpers/beta/standard-schema.mjs +54 -0
  17. package/helpers/beta/standard-schema.mjs.map +1 -0
  18. package/internal/detect-platform.js +1 -1
  19. package/internal/detect-platform.js.map +1 -1
  20. package/internal/detect-platform.mjs +1 -1
  21. package/internal/detect-platform.mjs.map +1 -1
  22. package/internal/file-store.d.mts +136 -0
  23. package/internal/file-store.d.mts.map +1 -0
  24. package/internal/file-store.d.ts +136 -0
  25. package/internal/file-store.d.ts.map +1 -0
  26. package/internal/file-store.js +531 -0
  27. package/internal/file-store.js.map +1 -0
  28. package/internal/file-store.mjs +523 -0
  29. package/internal/file-store.mjs.map +1 -0
  30. package/internal/utils/values.d.mts +6 -0
  31. package/internal/utils/values.d.mts.map +1 -1
  32. package/internal/utils/values.d.ts +6 -0
  33. package/internal/utils/values.d.ts.map +1 -1
  34. package/internal/utils/values.js +7 -0
  35. package/internal/utils/values.js.map +1 -1
  36. package/internal/utils/values.mjs +6 -0
  37. package/internal/utils/values.mjs.map +1 -1
  38. package/lib/BetaMessageStream.d.mts.map +1 -1
  39. package/lib/BetaMessageStream.d.ts.map +1 -1
  40. package/lib/BetaMessageStream.js +3 -4
  41. package/lib/BetaMessageStream.js.map +1 -1
  42. package/lib/BetaMessageStream.mjs +1 -2
  43. package/lib/BetaMessageStream.mjs.map +1 -1
  44. package/lib/MessageStream.d.mts.map +1 -1
  45. package/lib/MessageStream.d.ts.map +1 -1
  46. package/lib/MessageStream.js +3 -4
  47. package/lib/MessageStream.js.map +1 -1
  48. package/lib/MessageStream.mjs +1 -2
  49. package/lib/MessageStream.mjs.map +1 -1
  50. package/lib/environments/poller.d.mts +6 -0
  51. package/lib/environments/poller.d.mts.map +1 -1
  52. package/lib/environments/poller.d.ts +6 -0
  53. package/lib/environments/poller.d.ts.map +1 -1
  54. package/lib/environments/poller.js +46 -1
  55. package/lib/environments/poller.js.map +1 -1
  56. package/lib/environments/poller.mjs +46 -1
  57. package/lib/environments/poller.mjs.map +1 -1
  58. package/lib/environments/worker.d.mts +89 -12
  59. package/lib/environments/worker.d.mts.map +1 -1
  60. package/lib/environments/worker.d.ts +89 -12
  61. package/lib/environments/worker.d.ts.map +1 -1
  62. package/lib/environments/worker.js +336 -67
  63. package/lib/environments/worker.js.map +1 -1
  64. package/lib/environments/worker.mjs +336 -68
  65. package/lib/environments/worker.mjs.map +1 -1
  66. package/lib/sessions/accumulate.d.mts.map +1 -1
  67. package/lib/sessions/accumulate.d.ts.map +1 -1
  68. package/lib/sessions/accumulate.js +3 -4
  69. package/lib/sessions/accumulate.js.map +1 -1
  70. package/lib/sessions/accumulate.mjs +1 -2
  71. package/lib/sessions/accumulate.mjs.map +1 -1
  72. package/lib/standard-schema.d.mts +131 -0
  73. package/lib/standard-schema.d.mts.map +1 -0
  74. package/lib/standard-schema.d.ts +131 -0
  75. package/lib/standard-schema.d.ts.map +1 -0
  76. package/lib/standard-schema.js +45 -0
  77. package/lib/standard-schema.js.map +1 -0
  78. package/lib/standard-schema.mjs +41 -0
  79. package/lib/standard-schema.mjs.map +1 -0
  80. package/lib/tools/BetaToolRunner.d.mts.map +1 -1
  81. package/lib/tools/BetaToolRunner.d.ts.map +1 -1
  82. package/lib/tools/BetaToolRunner.js +35 -6
  83. package/lib/tools/BetaToolRunner.js.map +1 -1
  84. package/lib/tools/BetaToolRunner.mjs +35 -6
  85. package/lib/tools/BetaToolRunner.mjs.map +1 -1
  86. package/package.json +2 -11
  87. package/resources/beta/agents/agents.d.mts +322 -27
  88. package/resources/beta/agents/agents.d.mts.map +1 -1
  89. package/resources/beta/agents/agents.d.ts +322 -27
  90. package/resources/beta/agents/agents.d.ts.map +1 -1
  91. package/resources/beta/agents/agents.js.map +1 -1
  92. package/resources/beta/agents/agents.mjs.map +1 -1
  93. package/resources/beta/agents/index.d.mts +1 -1
  94. package/resources/beta/agents/index.d.mts.map +1 -1
  95. package/resources/beta/agents/index.d.ts +1 -1
  96. package/resources/beta/agents/index.d.ts.map +1 -1
  97. package/resources/beta/agents/index.js.map +1 -1
  98. package/resources/beta/agents/index.mjs.map +1 -1
  99. package/resources/beta/beta.d.mts +7 -3
  100. package/resources/beta/beta.d.mts.map +1 -1
  101. package/resources/beta/beta.d.ts +7 -3
  102. package/resources/beta/beta.d.ts.map +1 -1
  103. package/resources/beta/beta.js +4 -0
  104. package/resources/beta/beta.js.map +1 -1
  105. package/resources/beta/beta.mjs +4 -0
  106. package/resources/beta/beta.mjs.map +1 -1
  107. package/resources/beta/environments/environments.d.mts +8 -1
  108. package/resources/beta/environments/environments.d.mts.map +1 -1
  109. package/resources/beta/environments/environments.d.ts +8 -1
  110. package/resources/beta/environments/environments.d.ts.map +1 -1
  111. package/resources/beta/environments/environments.js.map +1 -1
  112. package/resources/beta/environments/environments.mjs.map +1 -1
  113. package/resources/beta/environments/work.d.mts +5 -1
  114. package/resources/beta/environments/work.d.mts.map +1 -1
  115. package/resources/beta/environments/work.d.ts +5 -1
  116. package/resources/beta/environments/work.d.ts.map +1 -1
  117. package/resources/beta/environments/work.js +0 -17
  118. package/resources/beta/environments/work.js.map +1 -1
  119. package/resources/beta/environments/work.mjs +0 -17
  120. package/resources/beta/environments/work.mjs.map +1 -1
  121. package/resources/beta/index.d.mts +2 -1
  122. package/resources/beta/index.d.mts.map +1 -1
  123. package/resources/beta/index.d.ts +2 -1
  124. package/resources/beta/index.d.ts.map +1 -1
  125. package/resources/beta/index.js +11 -9
  126. package/resources/beta/index.js.map +1 -1
  127. package/resources/beta/index.mjs +1 -0
  128. package/resources/beta/index.mjs.map +1 -1
  129. package/resources/beta/memory-stores/memories.d.mts +6 -5
  130. package/resources/beta/memory-stores/memories.d.mts.map +1 -1
  131. package/resources/beta/memory-stores/memories.d.ts +6 -5
  132. package/resources/beta/memory-stores/memories.d.ts.map +1 -1
  133. package/resources/beta/memory-stores/memory-versions.d.mts +8 -5
  134. package/resources/beta/memory-stores/memory-versions.d.mts.map +1 -1
  135. package/resources/beta/memory-stores/memory-versions.d.ts +8 -5
  136. package/resources/beta/memory-stores/memory-versions.d.ts.map +1 -1
  137. package/resources/beta/messages/messages.d.mts +51 -9
  138. package/resources/beta/messages/messages.d.mts.map +1 -1
  139. package/resources/beta/messages/messages.d.ts +51 -9
  140. package/resources/beta/messages/messages.d.ts.map +1 -1
  141. package/resources/beta/messages/messages.js.map +1 -1
  142. package/resources/beta/messages/messages.mjs.map +1 -1
  143. package/resources/beta/organization/api-keys.d.mts +177 -0
  144. package/resources/beta/organization/api-keys.d.mts.map +1 -0
  145. package/resources/beta/organization/api-keys.d.ts +177 -0
  146. package/resources/beta/organization/api-keys.d.ts.map +1 -0
  147. package/resources/beta/organization/api-keys.js +56 -0
  148. package/resources/beta/organization/api-keys.js.map +1 -0
  149. package/resources/beta/organization/api-keys.mjs +52 -0
  150. package/resources/beta/organization/api-keys.mjs.map +1 -0
  151. package/resources/beta/organization/external-keys.d.mts +269 -0
  152. package/resources/beta/organization/external-keys.d.mts.map +1 -0
  153. package/resources/beta/organization/external-keys.d.ts +269 -0
  154. package/resources/beta/organization/external-keys.d.ts.map +1 -0
  155. package/resources/beta/organization/external-keys.js +119 -0
  156. package/resources/beta/organization/external-keys.js.map +1 -0
  157. package/resources/beta/organization/external-keys.mjs +115 -0
  158. package/resources/beta/organization/external-keys.mjs.map +1 -0
  159. package/resources/beta/organization/federation/federation.d.mts +14 -0
  160. package/resources/beta/organization/federation/federation.d.mts.map +1 -0
  161. package/resources/beta/organization/federation/federation.d.ts +14 -0
  162. package/resources/beta/organization/federation/federation.d.ts.map +1 -0
  163. package/resources/beta/organization/federation/federation.js +21 -0
  164. package/resources/beta/organization/federation/federation.js.map +1 -0
  165. package/resources/beta/organization/federation/federation.mjs +16 -0
  166. package/resources/beta/organization/federation/federation.mjs.map +1 -0
  167. package/resources/beta/organization/federation/index.d.mts +4 -0
  168. package/resources/beta/organization/federation/index.d.mts.map +1 -0
  169. package/resources/beta/organization/federation/index.d.ts +4 -0
  170. package/resources/beta/organization/federation/index.d.ts.map +1 -0
  171. package/resources/beta/organization/federation/index.js +11 -0
  172. package/resources/beta/organization/federation/index.js.map +1 -0
  173. package/resources/beta/organization/federation/index.mjs +5 -0
  174. package/resources/beta/organization/federation/index.mjs.map +1 -0
  175. package/resources/beta/organization/federation/issuers.d.mts +353 -0
  176. package/resources/beta/organization/federation/issuers.d.mts.map +1 -0
  177. package/resources/beta/organization/federation/issuers.d.ts +353 -0
  178. package/resources/beta/organization/federation/issuers.d.ts.map +1 -0
  179. package/resources/beta/organization/federation/issuers.js +169 -0
  180. package/resources/beta/organization/federation/issuers.js.map +1 -0
  181. package/resources/beta/organization/federation/issuers.mjs +165 -0
  182. package/resources/beta/organization/federation/issuers.mjs.map +1 -0
  183. package/resources/beta/organization/federation/rules/index.d.mts +3 -0
  184. package/resources/beta/organization/federation/rules/index.d.mts.map +1 -0
  185. package/resources/beta/organization/federation/rules/index.d.ts +3 -0
  186. package/resources/beta/organization/federation/rules/index.d.ts.map +1 -0
  187. package/resources/beta/organization/federation/rules/index.js +9 -0
  188. package/resources/beta/organization/federation/rules/index.js.map +1 -0
  189. package/resources/beta/organization/federation/rules/index.mjs +4 -0
  190. package/resources/beta/organization/federation/rules/index.mjs.map +1 -0
  191. package/resources/beta/organization/federation/rules/rules.d.mts +468 -0
  192. package/resources/beta/organization/federation/rules/rules.d.mts.map +1 -0
  193. package/resources/beta/organization/federation/rules/rules.d.ts +468 -0
  194. package/resources/beta/organization/federation/rules/rules.d.ts.map +1 -0
  195. package/resources/beta/organization/federation/rules/rules.js +198 -0
  196. package/resources/beta/organization/federation/rules/rules.js.map +1 -0
  197. package/resources/beta/organization/federation/rules/rules.mjs +193 -0
  198. package/resources/beta/organization/federation/rules/rules.mjs.map +1 -0
  199. package/resources/beta/organization/federation/rules/workspaces.d.mts +124 -0
  200. package/resources/beta/organization/federation/rules/workspaces.d.mts.map +1 -0
  201. package/resources/beta/organization/federation/rules/workspaces.d.ts +124 -0
  202. package/resources/beta/organization/federation/rules/workspaces.d.ts.map +1 -0
  203. package/resources/beta/organization/federation/rules/workspaces.js +114 -0
  204. package/resources/beta/organization/federation/rules/workspaces.js.map +1 -0
  205. package/resources/beta/organization/federation/rules/workspaces.mjs +110 -0
  206. package/resources/beta/organization/federation/rules/workspaces.mjs.map +1 -0
  207. package/resources/beta/organization/federation/rules.d.mts +2 -0
  208. package/resources/beta/organization/federation/rules.d.mts.map +1 -0
  209. package/resources/beta/organization/federation/rules.d.ts +2 -0
  210. package/resources/beta/organization/federation/rules.d.ts.map +1 -0
  211. package/resources/beta/organization/federation/rules.js +6 -0
  212. package/resources/beta/organization/federation/rules.js.map +1 -0
  213. package/resources/beta/organization/federation/rules.mjs +3 -0
  214. package/resources/beta/organization/federation/rules.mjs.map +1 -0
  215. package/resources/beta/organization/federation.d.mts +2 -0
  216. package/resources/beta/organization/federation.d.mts.map +1 -0
  217. package/resources/beta/organization/federation.d.ts +2 -0
  218. package/resources/beta/organization/federation.d.ts.map +1 -0
  219. package/resources/beta/organization/federation.js +6 -0
  220. package/resources/beta/organization/federation.js.map +1 -0
  221. package/resources/beta/organization/federation.mjs +3 -0
  222. package/resources/beta/organization/federation.mjs.map +1 -0
  223. package/resources/beta/organization/index.d.mts +10 -0
  224. package/resources/beta/organization/index.d.mts.map +1 -0
  225. package/resources/beta/organization/index.d.ts +10 -0
  226. package/resources/beta/organization/index.d.ts.map +1 -0
  227. package/resources/beta/organization/index.js +23 -0
  228. package/resources/beta/organization/index.js.map +1 -0
  229. package/resources/beta/organization/index.mjs +11 -0
  230. package/resources/beta/organization/index.mjs.map +1 -0
  231. package/resources/beta/organization/invites.d.mts +162 -0
  232. package/resources/beta/organization/invites.d.mts.map +1 -0
  233. package/resources/beta/organization/invites.d.ts +162 -0
  234. package/resources/beta/organization/invites.d.ts.map +1 -0
  235. package/resources/beta/organization/invites.js +76 -0
  236. package/resources/beta/organization/invites.js.map +1 -0
  237. package/resources/beta/organization/invites.mjs +72 -0
  238. package/resources/beta/organization/invites.mjs.map +1 -0
  239. package/resources/beta/organization/organization.d.mts +69 -0
  240. package/resources/beta/organization/organization.d.mts.map +1 -0
  241. package/resources/beta/organization/organization.d.ts +69 -0
  242. package/resources/beta/organization/organization.d.ts.map +1 -0
  243. package/resources/beta/organization/organization.js +58 -0
  244. package/resources/beta/organization/organization.js.map +1 -0
  245. package/resources/beta/organization/organization.mjs +53 -0
  246. package/resources/beta/organization/organization.mjs.map +1 -0
  247. package/resources/beta/organization/rate-limits.d.mts +78 -0
  248. package/resources/beta/organization/rate-limits.d.mts.map +1 -0
  249. package/resources/beta/organization/rate-limits.d.ts +78 -0
  250. package/resources/beta/organization/rate-limits.d.ts.map +1 -0
  251. package/resources/beta/organization/rate-limits.js +32 -0
  252. package/resources/beta/organization/rate-limits.js.map +1 -0
  253. package/resources/beta/organization/rate-limits.mjs +28 -0
  254. package/resources/beta/organization/rate-limits.mjs.map +1 -0
  255. package/resources/beta/organization/service-accounts/index.d.mts +3 -0
  256. package/resources/beta/organization/service-accounts/index.d.mts.map +1 -0
  257. package/resources/beta/organization/service-accounts/index.d.ts +3 -0
  258. package/resources/beta/organization/service-accounts/index.d.ts.map +1 -0
  259. package/resources/beta/organization/service-accounts/index.js +9 -0
  260. package/resources/beta/organization/service-accounts/index.js.map +1 -0
  261. package/resources/beta/organization/service-accounts/index.mjs +4 -0
  262. package/resources/beta/organization/service-accounts/index.mjs.map +1 -0
  263. package/resources/beta/organization/service-accounts/service-accounts.d.mts +258 -0
  264. package/resources/beta/organization/service-accounts/service-accounts.d.mts.map +1 -0
  265. package/resources/beta/organization/service-accounts/service-accounts.d.ts +258 -0
  266. package/resources/beta/organization/service-accounts/service-accounts.d.ts.map +1 -0
  267. package/resources/beta/organization/service-accounts/service-accounts.js +174 -0
  268. package/resources/beta/organization/service-accounts/service-accounts.js.map +1 -0
  269. package/resources/beta/organization/service-accounts/service-accounts.mjs +169 -0
  270. package/resources/beta/organization/service-accounts/service-accounts.mjs.map +1 -0
  271. package/resources/beta/organization/service-accounts/workspaces.d.mts +141 -0
  272. package/resources/beta/organization/service-accounts/workspaces.d.mts.map +1 -0
  273. package/resources/beta/organization/service-accounts/workspaces.d.ts +141 -0
  274. package/resources/beta/organization/service-accounts/workspaces.d.ts.map +1 -0
  275. package/resources/beta/organization/service-accounts/workspaces.js +125 -0
  276. package/resources/beta/organization/service-accounts/workspaces.js.map +1 -0
  277. package/resources/beta/organization/service-accounts/workspaces.mjs +121 -0
  278. package/resources/beta/organization/service-accounts/workspaces.mjs.map +1 -0
  279. package/resources/beta/organization/service-accounts.d.mts +2 -0
  280. package/resources/beta/organization/service-accounts.d.mts.map +1 -0
  281. package/resources/beta/organization/service-accounts.d.ts +2 -0
  282. package/resources/beta/organization/service-accounts.d.ts.map +1 -0
  283. package/resources/beta/organization/service-accounts.js +6 -0
  284. package/resources/beta/organization/service-accounts.js.map +1 -0
  285. package/resources/beta/organization/service-accounts.mjs +3 -0
  286. package/resources/beta/organization/service-accounts.mjs.map +1 -0
  287. package/resources/beta/organization/users.d.mts +124 -0
  288. package/resources/beta/organization/users.d.mts.map +1 -0
  289. package/resources/beta/organization/users.d.ts +124 -0
  290. package/resources/beta/organization/users.d.ts.map +1 -0
  291. package/resources/beta/organization/users.js +67 -0
  292. package/resources/beta/organization/users.js.map +1 -0
  293. package/resources/beta/organization/users.mjs +63 -0
  294. package/resources/beta/organization/users.mjs.map +1 -0
  295. package/resources/beta/organization/workspaces/index.d.mts +5 -0
  296. package/resources/beta/organization/workspaces/index.d.mts.map +1 -0
  297. package/resources/beta/organization/workspaces/index.d.ts +5 -0
  298. package/resources/beta/organization/workspaces/index.d.ts.map +1 -0
  299. package/resources/beta/organization/workspaces/index.js +13 -0
  300. package/resources/beta/organization/workspaces/index.js.map +1 -0
  301. package/resources/beta/organization/workspaces/index.mjs +6 -0
  302. package/resources/beta/organization/workspaces/index.mjs.map +1 -0
  303. package/resources/beta/organization/workspaces/members.d.mts +135 -0
  304. package/resources/beta/organization/workspaces/members.d.mts.map +1 -0
  305. package/resources/beta/organization/workspaces/members.d.ts +135 -0
  306. package/resources/beta/organization/workspaces/members.d.ts.map +1 -0
  307. package/resources/beta/organization/workspaces/members.js +102 -0
  308. package/resources/beta/organization/workspaces/members.js.map +1 -0
  309. package/resources/beta/organization/workspaces/members.mjs +98 -0
  310. package/resources/beta/organization/workspaces/members.mjs.map +1 -0
  311. package/resources/beta/organization/workspaces/rate-limits.d.mts +84 -0
  312. package/resources/beta/organization/workspaces/rate-limits.d.mts.map +1 -0
  313. package/resources/beta/organization/workspaces/rate-limits.d.ts +84 -0
  314. package/resources/beta/organization/workspaces/rate-limits.d.ts.map +1 -0
  315. package/resources/beta/organization/workspaces/rate-limits.js +35 -0
  316. package/resources/beta/organization/workspaces/rate-limits.js.map +1 -0
  317. package/resources/beta/organization/workspaces/rate-limits.mjs +31 -0
  318. package/resources/beta/organization/workspaces/rate-limits.mjs.map +1 -0
  319. package/resources/beta/organization/workspaces/service-accounts.d.mts +210 -0
  320. package/resources/beta/organization/workspaces/service-accounts.d.mts.map +1 -0
  321. package/resources/beta/organization/workspaces/service-accounts.d.ts +210 -0
  322. package/resources/beta/organization/workspaces/service-accounts.d.ts.map +1 -0
  323. package/resources/beta/organization/workspaces/service-accounts.js +189 -0
  324. package/resources/beta/organization/workspaces/service-accounts.js.map +1 -0
  325. package/resources/beta/organization/workspaces/service-accounts.mjs +185 -0
  326. package/resources/beta/organization/workspaces/service-accounts.mjs.map +1 -0
  327. package/resources/beta/organization/workspaces/workspaces.d.mts +287 -0
  328. package/resources/beta/organization/workspaces/workspaces.d.mts.map +1 -0
  329. package/resources/beta/organization/workspaces/workspaces.d.ts +287 -0
  330. package/resources/beta/organization/workspaces/workspaces.d.ts.map +1 -0
  331. package/resources/beta/organization/workspaces/workspaces.js +112 -0
  332. package/resources/beta/organization/workspaces/workspaces.js.map +1 -0
  333. package/resources/beta/organization/workspaces/workspaces.mjs +107 -0
  334. package/resources/beta/organization/workspaces/workspaces.mjs.map +1 -0
  335. package/resources/beta/organization/workspaces.d.mts +2 -0
  336. package/resources/beta/organization/workspaces.d.mts.map +1 -0
  337. package/resources/beta/organization/workspaces.d.ts +2 -0
  338. package/resources/beta/organization/workspaces.d.ts.map +1 -0
  339. package/resources/beta/organization/workspaces.js +6 -0
  340. package/resources/beta/organization/workspaces.js.map +1 -0
  341. package/resources/beta/organization/workspaces.mjs +3 -0
  342. package/resources/beta/organization/workspaces.mjs.map +1 -0
  343. package/resources/beta/organization.d.mts +2 -0
  344. package/resources/beta/organization.d.mts.map +1 -0
  345. package/resources/beta/organization.d.ts +2 -0
  346. package/resources/beta/organization.d.ts.map +1 -0
  347. package/resources/beta/organization.js +6 -0
  348. package/resources/beta/organization.js.map +1 -0
  349. package/resources/beta/organization.mjs +3 -0
  350. package/resources/beta/organization.mjs.map +1 -0
  351. package/resources/beta/sessions/threads/threads.d.mts +2 -1
  352. package/resources/beta/sessions/threads/threads.d.mts.map +1 -1
  353. package/resources/beta/sessions/threads/threads.d.ts +2 -1
  354. package/resources/beta/sessions/threads/threads.d.ts.map +1 -1
  355. package/resources/beta/sessions/threads/threads.js.map +1 -1
  356. package/resources/beta/sessions/threads/threads.mjs.map +1 -1
  357. package/resources/messages/messages.d.mts +1 -1
  358. package/resources/messages/messages.d.ts +1 -1
  359. package/src/helpers/beta/environments.ts +5 -4
  360. package/src/helpers/beta/standard-schema.ts +99 -0
  361. package/src/internal/detect-platform.ts +1 -1
  362. package/src/internal/file-store.ts +550 -0
  363. package/src/internal/utils/values.ts +7 -0
  364. package/src/lib/BetaMessageStream.ts +1 -3
  365. package/src/lib/MessageStream.ts +1 -3
  366. package/src/lib/environments/poller.ts +47 -1
  367. package/src/lib/environments/worker.ts +419 -79
  368. package/src/lib/sessions/accumulate.ts +1 -3
  369. package/src/lib/standard-schema.ts +209 -0
  370. package/src/lib/tools/BetaToolRunner.ts +38 -6
  371. package/src/resources/beta/agents/agents.ts +435 -30
  372. package/src/resources/beta/agents/index.ts +17 -0
  373. package/src/resources/beta/beta.ts +52 -1
  374. package/src/resources/beta/environments/environments.ts +8 -1
  375. package/src/resources/beta/environments/work.ts +7 -0
  376. package/src/resources/beta/index.ts +18 -0
  377. package/src/resources/beta/memory-stores/memories.ts +6 -5
  378. package/src/resources/beta/memory-stores/memory-versions.ts +8 -5
  379. package/src/resources/beta/messages/messages.ts +51 -9
  380. package/src/resources/beta/organization/api-keys.ts +231 -0
  381. package/src/resources/beta/organization/external-keys.ts +362 -0
  382. package/src/resources/beta/organization/federation/federation.ts +71 -0
  383. package/src/resources/beta/organization/federation/index.ts +31 -0
  384. package/src/resources/beta/organization/federation/issuers.ts +486 -0
  385. package/src/resources/beta/organization/federation/rules/index.ts +23 -0
  386. package/src/resources/beta/organization/federation/rules/rules.ts +624 -0
  387. package/src/resources/beta/organization/federation/rules/workspaces.ts +196 -0
  388. package/src/resources/beta/organization/federation/rules.ts +3 -0
  389. package/src/resources/beta/organization/federation.ts +3 -0
  390. package/src/resources/beta/organization/index.ts +83 -0
  391. package/src/resources/beta/organization/invites.ts +207 -0
  392. package/src/resources/beta/organization/organization.ts +245 -0
  393. package/src/resources/beta/organization/rate-limits.ts +105 -0
  394. package/src/resources/beta/organization/service-accounts/index.ts +21 -0
  395. package/src/resources/beta/organization/service-accounts/service-accounts.ts +389 -0
  396. package/src/resources/beta/organization/service-accounts/workspaces.ts +217 -0
  397. package/src/resources/beta/organization/service-accounts.ts +3 -0
  398. package/src/resources/beta/organization/users.ts +163 -0
  399. package/src/resources/beta/organization/workspaces/index.ts +43 -0
  400. package/src/resources/beta/organization/workspaces/members.ts +209 -0
  401. package/src/resources/beta/organization/workspaces/rate-limits.ts +114 -0
  402. package/src/resources/beta/organization/workspaces/service-accounts.ts +325 -0
  403. package/src/resources/beta/organization/workspaces/workspaces.ts +434 -0
  404. package/src/resources/beta/organization/workspaces.ts +3 -0
  405. package/src/resources/beta/organization.ts +3 -0
  406. package/src/resources/beta/sessions/threads/threads.ts +2 -1
  407. package/src/resources/messages/messages.ts +1 -1
  408. package/src/tools/agent-toolset/fs-util.ts +40 -24
  409. package/src/tools/agent-toolset/memories.ts +1017 -0
  410. package/src/tools/agent-toolset/node.browser.ts +69 -1
  411. package/src/tools/agent-toolset/node.ts +143 -57
  412. package/src/tools/agent-toolset/skills.ts +29 -9
  413. package/src/tools/agent-toolset/sync-interval.ts +30 -0
  414. package/src/version.ts +1 -1
  415. package/tools/agent-toolset/fs-util.d.mts +23 -10
  416. package/tools/agent-toolset/fs-util.d.mts.map +1 -1
  417. package/tools/agent-toolset/fs-util.d.ts +23 -10
  418. package/tools/agent-toolset/fs-util.d.ts.map +1 -1
  419. package/tools/agent-toolset/fs-util.js +40 -25
  420. package/tools/agent-toolset/fs-util.js.map +1 -1
  421. package/tools/agent-toolset/fs-util.mjs +38 -25
  422. package/tools/agent-toolset/fs-util.mjs.map +1 -1
  423. package/tools/agent-toolset/memories.d.mts +173 -0
  424. package/tools/agent-toolset/memories.d.mts.map +1 -0
  425. package/tools/agent-toolset/memories.d.ts +173 -0
  426. package/tools/agent-toolset/memories.d.ts.map +1 -0
  427. package/tools/agent-toolset/memories.js +902 -0
  428. package/tools/agent-toolset/memories.js.map +1 -0
  429. package/tools/agent-toolset/memories.mjs +895 -0
  430. package/tools/agent-toolset/memories.mjs.map +1 -0
  431. package/tools/agent-toolset/node.browser.d.mts +32 -1
  432. package/tools/agent-toolset/node.browser.d.mts.map +1 -1
  433. package/tools/agent-toolset/node.browser.d.ts +32 -1
  434. package/tools/agent-toolset/node.browser.d.ts.map +1 -1
  435. package/tools/agent-toolset/node.browser.js +59 -1
  436. package/tools/agent-toolset/node.browser.js.map +1 -1
  437. package/tools/agent-toolset/node.browser.mjs +54 -0
  438. package/tools/agent-toolset/node.browser.mjs.map +1 -1
  439. package/tools/agent-toolset/node.d.mts +56 -24
  440. package/tools/agent-toolset/node.d.mts.map +1 -1
  441. package/tools/agent-toolset/node.d.ts +56 -24
  442. package/tools/agent-toolset/node.d.ts.map +1 -1
  443. package/tools/agent-toolset/node.js +83 -44
  444. package/tools/agent-toolset/node.js.map +1 -1
  445. package/tools/agent-toolset/node.mjs +77 -44
  446. package/tools/agent-toolset/node.mjs.map +1 -1
  447. package/tools/agent-toolset/skills.d.mts +16 -7
  448. package/tools/agent-toolset/skills.d.mts.map +1 -1
  449. package/tools/agent-toolset/skills.d.ts +16 -7
  450. package/tools/agent-toolset/skills.d.ts.map +1 -1
  451. package/tools/agent-toolset/skills.js +27 -9
  452. package/tools/agent-toolset/skills.js.map +1 -1
  453. package/tools/agent-toolset/skills.mjs +27 -9
  454. package/tools/agent-toolset/skills.mjs.map +1 -1
  455. package/tools/agent-toolset/sync-interval.d.mts +19 -0
  456. package/tools/agent-toolset/sync-interval.d.mts.map +1 -0
  457. package/tools/agent-toolset/sync-interval.d.ts +19 -0
  458. package/tools/agent-toolset/sync-interval.d.ts.map +1 -0
  459. package/tools/agent-toolset/sync-interval.js +29 -0
  460. package/tools/agent-toolset/sync-interval.js.map +1 -0
  461. package/tools/agent-toolset/sync-interval.mjs +25 -0
  462. package/tools/agent-toolset/sync-interval.mjs.map +1 -0
  463. package/version.d.mts +1 -1
  464. package/version.d.ts +1 -1
  465. package/version.js +1 -1
  466. 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;AAMzE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,oBAAiB;AAYjF;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,SAAS,EAAE,MAAM;CAK9B;AAqBD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CASlF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E;AA0BD;;;GAGG;AACH,qBAAa,WAAW;;gBASV,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAA+B;IAyBpE,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,CAgEpE;AAID,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAiDpE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAqBrE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CA8DpE;AAID,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAgFpE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAmBpE"}
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` (symlink-aware) and are safe
29
- * without a sandbox; `bash` is unrestricted and should run inside one. See
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`. Absolute and relative inputs go through
117
- * the same canonicalise-then-contain check an absolute path that lands inside
118
- * the workdir is permitted, only paths that resolve *outside* are rejected.
119
- * Every symlink in `p` (including the leaf, even a dangling one) is resolved
120
- * before the workdir check, and the resolved path is what the tool then operates
121
- * on, so a symlink inside the workdir that points outside it can neither pass
122
- * the check nor be followed afterwards. See the trust model on
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
- return (0, fs_util_1.confineToRoot)(ctx.workdir, p, { allowOutside: ctx.unrestrictedPaths ?? false });
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
- if (!ctx.unrestrictedPaths)
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
- // A `..` in the *pattern itself* (e.g. `../../*`) walks `fs.glob` out of
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 = ctx.unrestrictedPaths ? root : await fs.realpath(root).catch(() => root);
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(pat, {
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
- if (!ctx.unrestrictedPaths) {
569
- let real;
570
- try {
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` (symlink-aware) and are safe
28
- * without a sandbox; `bash` is unrestricted and should run inside one. See
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`. Absolute and relative inputs go through
102
- * the same canonicalise-then-contain check an absolute path that lands inside
103
- * the workdir is permitted, only paths that resolve *outside* are rejected.
104
- * Every symlink in `p` (including the leaf, even a dangling one) is resolved
105
- * before the workdir check, and the resolved path is what the tool then operates
106
- * on, so a symlink inside the workdir that points outside it can neither pass
107
- * the check nor be followed afterwards. See the trust model on
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
- return confineToRoot(ctx.workdir, p, { allowOutside: ctx.unrestrictedPaths ?? false });
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
- if (!ctx.unrestrictedPaths)
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
- // A `..` in the *pattern itself* (e.g. `../../*`) walks `fs.glob` out of
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 = ctx.unrestrictedPaths ? root : await fs.realpath(root).catch(() => root);
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(pat, {
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
- if (!ctx.unrestrictedPaths) {
553
- let real;
554
- try {
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
  /**