@anthropic-ai/sdk 0.96.0 → 0.97.1

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