@anthropic-ai/sdk 0.95.2 → 0.97.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (582) hide show
  1. package/CHANGELOG.md +37 -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 +11 -5
  61. package/helpers/beta/zod.d.mts.map +1 -1
  62. package/helpers/beta/zod.d.ts +11 -5
  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 +2 -2
  75. package/helpers/zod.d.mts.map +1 -1
  76. package/helpers/zod.d.ts +2 -2
  77. package/helpers/zod.d.ts.map +1 -1
  78. package/helpers/zod.js.map +1 -1
  79. package/helpers/zod.mjs.map +1 -1
  80. package/index.d.mts.map +1 -1
  81. package/index.d.ts.map +1 -1
  82. package/index.mjs.map +1 -1
  83. package/internal/decoders/jsonl.d.mts.map +1 -1
  84. package/internal/decoders/jsonl.d.ts.map +1 -1
  85. package/internal/decoders/jsonl.mjs.map +1 -1
  86. package/internal/decoders/line.mjs.map +1 -1
  87. package/internal/detect-platform.mjs.map +1 -1
  88. package/internal/headers.mjs.map +1 -1
  89. package/internal/parse.d.mts.map +1 -1
  90. package/internal/parse.d.ts.map +1 -1
  91. package/internal/parse.mjs.map +1 -1
  92. package/internal/qs/formats.d.mts.map +1 -1
  93. package/internal/qs/formats.d.ts.map +1 -1
  94. package/internal/qs/index.d.mts +2 -2
  95. package/internal/qs/index.d.mts.map +1 -1
  96. package/internal/qs/index.d.ts +2 -2
  97. package/internal/qs/index.d.ts.map +1 -1
  98. package/internal/qs/index.mjs.map +1 -1
  99. package/internal/qs/stringify.d.mts.map +1 -1
  100. package/internal/qs/stringify.d.ts.map +1 -1
  101. package/internal/qs/stringify.mjs.map +1 -1
  102. package/internal/qs/utils.d.mts.map +1 -1
  103. package/internal/qs/utils.d.ts.map +1 -1
  104. package/internal/qs/utils.mjs.map +1 -1
  105. package/internal/request-options.d.mts.map +1 -1
  106. package/internal/request-options.d.ts.map +1 -1
  107. package/internal/shims.d.mts +6 -0
  108. package/internal/shims.d.mts.map +1 -1
  109. package/internal/shims.d.ts +6 -0
  110. package/internal/shims.d.ts.map +1 -1
  111. package/internal/to-file.d.mts.map +1 -1
  112. package/internal/to-file.d.ts.map +1 -1
  113. package/internal/to-file.mjs.map +1 -1
  114. package/internal/types.d.mts +4 -4
  115. package/internal/types.d.mts.map +1 -1
  116. package/internal/types.d.ts +4 -4
  117. package/internal/types.d.ts.map +1 -1
  118. package/internal/uploads.d.mts.map +1 -1
  119. package/internal/uploads.d.ts.map +1 -1
  120. package/internal/uploads.mjs.map +1 -1
  121. package/internal/utils/abort.d.mts +13 -0
  122. package/internal/utils/abort.d.mts.map +1 -0
  123. package/internal/utils/abort.d.ts +13 -0
  124. package/internal/utils/abort.d.ts.map +1 -0
  125. package/internal/utils/abort.js +26 -0
  126. package/internal/utils/abort.js.map +1 -0
  127. package/internal/utils/abort.mjs +23 -0
  128. package/internal/utils/abort.mjs.map +1 -0
  129. package/internal/utils/async-queue.d.mts +31 -0
  130. package/internal/utils/async-queue.d.mts.map +1 -0
  131. package/internal/utils/async-queue.d.ts +31 -0
  132. package/internal/utils/async-queue.d.ts.map +1 -0
  133. package/internal/utils/async-queue.js +75 -0
  134. package/internal/utils/async-queue.js.map +1 -0
  135. package/internal/utils/async-queue.mjs +71 -0
  136. package/internal/utils/async-queue.mjs.map +1 -0
  137. package/internal/utils/backoff.d.mts +23 -0
  138. package/internal/utils/backoff.d.mts.map +1 -0
  139. package/internal/utils/backoff.d.ts +23 -0
  140. package/internal/utils/backoff.d.ts.map +1 -0
  141. package/internal/utils/backoff.js +44 -0
  142. package/internal/utils/backoff.js.map +1 -0
  143. package/internal/utils/backoff.mjs +36 -0
  144. package/internal/utils/backoff.mjs.map +1 -0
  145. package/internal/utils/base64.mjs.map +1 -1
  146. package/internal/utils/log.d.mts.map +1 -1
  147. package/internal/utils/log.d.ts.map +1 -1
  148. package/internal/utils/log.mjs.map +1 -1
  149. package/internal/utils/path.mjs.map +1 -1
  150. package/internal/utils/promise.d.mts +11 -0
  151. package/internal/utils/promise.d.mts.map +1 -0
  152. package/internal/utils/promise.d.ts +11 -0
  153. package/internal/utils/promise.d.ts.map +1 -0
  154. package/internal/utils/promise.js +18 -0
  155. package/internal/utils/promise.js.map +1 -0
  156. package/internal/utils/promise.mjs +15 -0
  157. package/internal/utils/promise.mjs.map +1 -0
  158. package/internal/utils/query.mjs.map +1 -1
  159. package/internal/utils/sleep.d.mts +9 -1
  160. package/internal/utils/sleep.d.mts.map +1 -1
  161. package/internal/utils/sleep.d.ts +9 -1
  162. package/internal/utils/sleep.d.ts.map +1 -1
  163. package/internal/utils/sleep.js +23 -2
  164. package/internal/utils/sleep.js.map +1 -1
  165. package/internal/utils/sleep.mjs +23 -2
  166. package/internal/utils/sleep.mjs.map +1 -1
  167. package/internal/utils/values.mjs.map +1 -1
  168. package/internal/utils.d.mts.map +1 -1
  169. package/internal/utils.d.ts.map +1 -1
  170. package/internal/utils.mjs.map +1 -1
  171. package/lib/BetaMessageStream.d.mts.map +1 -1
  172. package/lib/BetaMessageStream.d.ts.map +1 -1
  173. package/lib/BetaMessageStream.mjs.map +1 -1
  174. package/lib/MessageStream.d.mts.map +1 -1
  175. package/lib/MessageStream.d.ts.map +1 -1
  176. package/lib/MessageStream.mjs.map +1 -1
  177. package/lib/beta-parser.d.mts.map +1 -1
  178. package/lib/beta-parser.d.ts.map +1 -1
  179. package/lib/beta-parser.mjs.map +1 -1
  180. package/lib/credentials/credential-chain.d.mts.map +1 -1
  181. package/lib/credentials/credential-chain.d.ts.map +1 -1
  182. package/lib/credentials/credential-chain.mjs.map +1 -1
  183. package/lib/credentials/identity-token.d.mts.map +1 -1
  184. package/lib/credentials/identity-token.d.ts.map +1 -1
  185. package/lib/credentials/identity-token.mjs.map +1 -1
  186. package/lib/credentials/oidc-federation.d.mts.map +1 -1
  187. package/lib/credentials/oidc-federation.d.ts.map +1 -1
  188. package/lib/credentials/oidc-federation.mjs.map +1 -1
  189. package/lib/credentials/token-cache.d.mts.map +1 -1
  190. package/lib/credentials/token-cache.d.ts.map +1 -1
  191. package/lib/credentials/token-cache.mjs.map +1 -1
  192. package/lib/credentials/types.d.mts.map +1 -1
  193. package/lib/credentials/types.d.ts.map +1 -1
  194. package/lib/credentials/types.mjs.map +1 -1
  195. package/lib/credentials/user-oauth.d.mts.map +1 -1
  196. package/lib/credentials/user-oauth.d.ts.map +1 -1
  197. package/lib/credentials/user-oauth.mjs.map +1 -1
  198. package/lib/credentials.d.mts.map +1 -1
  199. package/lib/credentials.d.ts.map +1 -1
  200. package/lib/credentials.mjs.map +1 -1
  201. package/lib/environments/index.d.mts +4 -0
  202. package/lib/environments/index.d.mts.map +1 -0
  203. package/lib/environments/index.d.ts +4 -0
  204. package/lib/environments/index.d.ts.map +1 -0
  205. package/lib/environments/index.js +18 -0
  206. package/lib/environments/index.js.map +1 -0
  207. package/lib/environments/index.mjs +4 -0
  208. package/lib/environments/index.mjs.map +1 -0
  209. package/lib/environments/poller.d.mts +89 -0
  210. package/lib/environments/poller.d.mts.map +1 -0
  211. package/lib/environments/poller.d.ts +89 -0
  212. package/lib/environments/poller.d.ts.map +1 -0
  213. package/lib/environments/poller.js +181 -0
  214. package/lib/environments/poller.js.map +1 -0
  215. package/lib/environments/poller.mjs +172 -0
  216. package/lib/environments/poller.mjs.map +1 -0
  217. package/lib/environments/worker.d.mts +143 -0
  218. package/lib/environments/worker.d.mts.map +1 -0
  219. package/lib/environments/worker.d.ts +143 -0
  220. package/lib/environments/worker.d.ts.map +1 -0
  221. package/lib/environments/worker.js +265 -0
  222. package/lib/environments/worker.js.map +1 -0
  223. package/lib/environments/worker.mjs +261 -0
  224. package/lib/environments/worker.mjs.map +1 -0
  225. package/lib/helper-client.d.mts +49 -0
  226. package/lib/helper-client.d.mts.map +1 -0
  227. package/lib/helper-client.d.ts +49 -0
  228. package/lib/helper-client.d.ts.map +1 -0
  229. package/lib/helper-client.js +57 -0
  230. package/lib/helper-client.js.map +1 -0
  231. package/lib/helper-client.mjs +54 -0
  232. package/lib/helper-client.mjs.map +1 -0
  233. package/lib/parser.d.mts.map +1 -1
  234. package/lib/parser.d.ts.map +1 -1
  235. package/lib/parser.mjs.map +1 -1
  236. package/lib/stainless-helper-header.d.mts.map +1 -1
  237. package/lib/stainless-helper-header.d.ts.map +1 -1
  238. package/lib/tools/BetaRunnableTool.d.mts +54 -2
  239. package/lib/tools/BetaRunnableTool.d.mts.map +1 -1
  240. package/lib/tools/BetaRunnableTool.d.ts +54 -2
  241. package/lib/tools/BetaRunnableTool.d.ts.map +1 -1
  242. package/lib/tools/BetaRunnableTool.js +37 -0
  243. package/lib/tools/BetaRunnableTool.js.map +1 -1
  244. package/lib/tools/BetaRunnableTool.mjs +34 -1
  245. package/lib/tools/BetaRunnableTool.mjs.map +1 -1
  246. package/lib/tools/BetaToolRunner.d.mts.map +1 -1
  247. package/lib/tools/BetaToolRunner.d.ts.map +1 -1
  248. package/lib/tools/BetaToolRunner.js +4 -14
  249. package/lib/tools/BetaToolRunner.js.map +1 -1
  250. package/lib/tools/BetaToolRunner.mjs +2 -12
  251. package/lib/tools/BetaToolRunner.mjs.map +1 -1
  252. package/lib/tools/CompactionControl.d.mts.map +1 -1
  253. package/lib/tools/CompactionControl.d.ts.map +1 -1
  254. package/lib/tools/SessionToolRunner.d.mts +140 -0
  255. package/lib/tools/SessionToolRunner.d.mts.map +1 -0
  256. package/lib/tools/SessionToolRunner.d.ts +140 -0
  257. package/lib/tools/SessionToolRunner.d.ts.map +1 -0
  258. package/lib/tools/SessionToolRunner.js +459 -0
  259. package/lib/tools/SessionToolRunner.js.map +1 -0
  260. package/lib/tools/SessionToolRunner.mjs +455 -0
  261. package/lib/tools/SessionToolRunner.mjs.map +1 -0
  262. package/lib/tools/ToolError.d.mts.map +1 -1
  263. package/lib/tools/ToolError.d.ts.map +1 -1
  264. package/lib/tools/ToolRunner.d.mts.map +1 -1
  265. package/lib/tools/ToolRunner.d.ts.map +1 -1
  266. package/lib/tools/ToolRunner.mjs.map +1 -1
  267. package/lib/transform-json-schema.mjs.map +1 -1
  268. package/package.json +1 -1
  269. package/pagination.d.mts +1 -0
  270. package/pagination.d.mts.map +1 -1
  271. package/pagination.d.ts +1 -0
  272. package/pagination.d.ts.map +1 -1
  273. package/pagination.mjs +1 -0
  274. package/pagination.mjs.map +1 -1
  275. package/resource.d.mts +1 -0
  276. package/resource.d.mts.map +1 -1
  277. package/resource.d.ts +1 -0
  278. package/resource.d.ts.map +1 -1
  279. package/resource.mjs +1 -0
  280. package/resource.mjs.map +1 -1
  281. package/resources/beta/agents/agents.d.mts +125 -1
  282. package/resources/beta/agents/agents.d.mts.map +1 -1
  283. package/resources/beta/agents/agents.d.ts +125 -1
  284. package/resources/beta/agents/agents.d.ts.map +1 -1
  285. package/resources/beta/agents/agents.js.map +1 -1
  286. package/resources/beta/agents/agents.mjs.map +1 -1
  287. package/resources/beta/agents/index.d.mts +1 -1
  288. package/resources/beta/agents/index.d.mts.map +1 -1
  289. package/resources/beta/agents/index.d.ts +1 -1
  290. package/resources/beta/agents/index.d.ts.map +1 -1
  291. package/resources/beta/agents/index.js.map +1 -1
  292. package/resources/beta/agents/index.mjs.map +1 -1
  293. package/resources/beta/agents/versions.d.mts.map +1 -1
  294. package/resources/beta/agents/versions.d.ts.map +1 -1
  295. package/resources/beta/agents/versions.mjs.map +1 -1
  296. package/resources/beta/agents.d.mts.map +1 -1
  297. package/resources/beta/agents.d.ts.map +1 -1
  298. package/resources/beta/agents.mjs.map +1 -1
  299. package/resources/beta/beta.d.mts +10 -10
  300. package/resources/beta/beta.d.mts.map +1 -1
  301. package/resources/beta/beta.d.ts +10 -10
  302. package/resources/beta/beta.d.ts.map +1 -1
  303. package/resources/beta/beta.js +2 -2
  304. package/resources/beta/beta.js.map +1 -1
  305. package/resources/beta/beta.mjs +2 -2
  306. package/resources/beta/beta.mjs.map +1 -1
  307. package/resources/beta/environments/environments.d.mts +425 -0
  308. package/resources/beta/environments/environments.d.mts.map +1 -0
  309. package/resources/beta/environments/environments.d.ts +425 -0
  310. package/resources/beta/environments/environments.d.ts.map +1 -0
  311. package/resources/beta/environments/environments.js +150 -0
  312. package/resources/beta/environments/environments.js.map +1 -0
  313. package/resources/beta/environments/environments.mjs +145 -0
  314. package/resources/beta/environments/environments.mjs.map +1 -0
  315. package/resources/beta/environments/index.d.mts +3 -0
  316. package/resources/beta/environments/index.d.mts.map +1 -0
  317. package/resources/beta/environments/index.d.ts +3 -0
  318. package/resources/beta/environments/index.d.ts.map +1 -0
  319. package/resources/beta/environments/index.js +9 -0
  320. package/resources/beta/environments/index.js.map +1 -0
  321. package/resources/beta/environments/index.mjs +4 -0
  322. package/resources/beta/environments/index.mjs.map +1 -0
  323. package/resources/beta/environments/work.d.mts +496 -0
  324. package/resources/beta/environments/work.d.mts.map +1 -0
  325. package/resources/beta/environments/work.d.ts +496 -0
  326. package/resources/beta/environments/work.d.ts.map +1 -0
  327. package/resources/beta/environments/work.js +274 -0
  328. package/resources/beta/environments/work.js.map +1 -0
  329. package/resources/beta/environments/work.mjs +268 -0
  330. package/resources/beta/environments/work.mjs.map +1 -0
  331. package/resources/beta/environments.d.mts +1 -388
  332. package/resources/beta/environments.d.mts.map +1 -1
  333. package/resources/beta/environments.d.ts +1 -388
  334. package/resources/beta/environments.d.ts.map +1 -1
  335. package/resources/beta/environments.js +2 -138
  336. package/resources/beta/environments.js.map +1 -1
  337. package/resources/beta/environments.mjs +1 -136
  338. package/resources/beta/environments.mjs.map +1 -1
  339. package/resources/beta/files.d.mts.map +1 -1
  340. package/resources/beta/files.d.ts.map +1 -1
  341. package/resources/beta/files.mjs.map +1 -1
  342. package/resources/beta/index.d.mts +4 -4
  343. package/resources/beta/index.d.mts.map +1 -1
  344. package/resources/beta/index.d.ts +4 -4
  345. package/resources/beta/index.d.ts.map +1 -1
  346. package/resources/beta/index.js +12 -12
  347. package/resources/beta/index.js.map +1 -1
  348. package/resources/beta/index.mjs +1 -1
  349. package/resources/beta/index.mjs.map +1 -1
  350. package/resources/beta/memory-stores/index.d.mts.map +1 -1
  351. package/resources/beta/memory-stores/index.d.ts.map +1 -1
  352. package/resources/beta/memory-stores/index.mjs.map +1 -1
  353. package/resources/beta/memory-stores/memories.d.mts.map +1 -1
  354. package/resources/beta/memory-stores/memories.d.ts.map +1 -1
  355. package/resources/beta/memory-stores/memories.mjs.map +1 -1
  356. package/resources/beta/memory-stores/memory-stores.d.mts.map +1 -1
  357. package/resources/beta/memory-stores/memory-stores.d.ts.map +1 -1
  358. package/resources/beta/memory-stores/memory-stores.mjs.map +1 -1
  359. package/resources/beta/memory-stores/memory-versions.d.mts.map +1 -1
  360. package/resources/beta/memory-stores/memory-versions.d.ts.map +1 -1
  361. package/resources/beta/memory-stores/memory-versions.mjs.map +1 -1
  362. package/resources/beta/memory-stores.d.mts.map +1 -1
  363. package/resources/beta/memory-stores.d.ts.map +1 -1
  364. package/resources/beta/memory-stores.mjs.map +1 -1
  365. package/resources/beta/messages/batches.d.mts +5 -0
  366. package/resources/beta/messages/batches.d.mts.map +1 -1
  367. package/resources/beta/messages/batches.d.ts +5 -0
  368. package/resources/beta/messages/batches.d.ts.map +1 -1
  369. package/resources/beta/messages/batches.mjs.map +1 -1
  370. package/resources/beta/messages/index.d.mts +1 -1
  371. package/resources/beta/messages/index.d.mts.map +1 -1
  372. package/resources/beta/messages/index.d.ts +1 -1
  373. package/resources/beta/messages/index.d.ts.map +1 -1
  374. package/resources/beta/messages/index.js.map +1 -1
  375. package/resources/beta/messages/index.mjs.map +1 -1
  376. package/resources/beta/messages/messages.d.mts +80 -5
  377. package/resources/beta/messages/messages.d.mts.map +1 -1
  378. package/resources/beta/messages/messages.d.ts +80 -5
  379. package/resources/beta/messages/messages.d.ts.map +1 -1
  380. package/resources/beta/messages/messages.js.map +1 -1
  381. package/resources/beta/messages/messages.mjs.map +1 -1
  382. package/resources/beta/messages.d.mts.map +1 -1
  383. package/resources/beta/messages.d.ts.map +1 -1
  384. package/resources/beta/messages.mjs.map +1 -1
  385. package/resources/beta/models.d.mts.map +1 -1
  386. package/resources/beta/models.d.ts.map +1 -1
  387. package/resources/beta/models.mjs.map +1 -1
  388. package/resources/beta/sessions/events.d.mts +97 -9
  389. package/resources/beta/sessions/events.d.mts.map +1 -1
  390. package/resources/beta/sessions/events.d.ts +97 -9
  391. package/resources/beta/sessions/events.d.ts.map +1 -1
  392. package/resources/beta/sessions/events.js +27 -1
  393. package/resources/beta/sessions/events.js.map +1 -1
  394. package/resources/beta/sessions/events.mjs +25 -0
  395. package/resources/beta/sessions/events.mjs.map +1 -1
  396. package/resources/beta/sessions/index.d.mts +3 -3
  397. package/resources/beta/sessions/index.d.mts.map +1 -1
  398. package/resources/beta/sessions/index.d.ts +3 -3
  399. package/resources/beta/sessions/index.d.ts.map +1 -1
  400. package/resources/beta/sessions/index.js.map +1 -1
  401. package/resources/beta/sessions/index.mjs.map +1 -1
  402. package/resources/beta/sessions/resources.d.mts.map +1 -1
  403. package/resources/beta/sessions/resources.d.ts.map +1 -1
  404. package/resources/beta/sessions/resources.mjs.map +1 -1
  405. package/resources/beta/sessions/sessions.d.mts +101 -9
  406. package/resources/beta/sessions/sessions.d.mts.map +1 -1
  407. package/resources/beta/sessions/sessions.d.ts +101 -9
  408. package/resources/beta/sessions/sessions.d.ts.map +1 -1
  409. package/resources/beta/sessions/sessions.js.map +1 -1
  410. package/resources/beta/sessions/sessions.mjs.map +1 -1
  411. package/resources/beta/sessions/threads/events.d.mts.map +1 -1
  412. package/resources/beta/sessions/threads/events.d.ts.map +1 -1
  413. package/resources/beta/sessions/threads/events.mjs.map +1 -1
  414. package/resources/beta/sessions/threads/index.d.mts +1 -1
  415. package/resources/beta/sessions/threads/index.d.mts.map +1 -1
  416. package/resources/beta/sessions/threads/index.d.ts +1 -1
  417. package/resources/beta/sessions/threads/index.d.ts.map +1 -1
  418. package/resources/beta/sessions/threads/index.js.map +1 -1
  419. package/resources/beta/sessions/threads/index.mjs.map +1 -1
  420. package/resources/beta/sessions/threads/threads.d.mts +3 -23
  421. package/resources/beta/sessions/threads/threads.d.mts.map +1 -1
  422. package/resources/beta/sessions/threads/threads.d.ts +3 -23
  423. package/resources/beta/sessions/threads/threads.d.ts.map +1 -1
  424. package/resources/beta/sessions/threads/threads.js.map +1 -1
  425. package/resources/beta/sessions/threads/threads.mjs.map +1 -1
  426. package/resources/beta/sessions/threads.d.mts.map +1 -1
  427. package/resources/beta/sessions/threads.d.ts.map +1 -1
  428. package/resources/beta/sessions/threads.mjs.map +1 -1
  429. package/resources/beta/sessions.d.mts.map +1 -1
  430. package/resources/beta/sessions.d.ts.map +1 -1
  431. package/resources/beta/sessions.mjs.map +1 -1
  432. package/resources/beta/skills/index.d.mts +1 -1
  433. package/resources/beta/skills/index.d.mts.map +1 -1
  434. package/resources/beta/skills/index.d.ts +1 -1
  435. package/resources/beta/skills/index.d.ts.map +1 -1
  436. package/resources/beta/skills/index.js.map +1 -1
  437. package/resources/beta/skills/index.mjs.map +1 -1
  438. package/resources/beta/skills/skills.d.mts +2 -2
  439. package/resources/beta/skills/skills.d.mts.map +1 -1
  440. package/resources/beta/skills/skills.d.ts +2 -2
  441. package/resources/beta/skills/skills.d.ts.map +1 -1
  442. package/resources/beta/skills/skills.js.map +1 -1
  443. package/resources/beta/skills/skills.mjs.map +1 -1
  444. package/resources/beta/skills/versions.d.mts +28 -1
  445. package/resources/beta/skills/versions.d.mts.map +1 -1
  446. package/resources/beta/skills/versions.d.ts +28 -1
  447. package/resources/beta/skills/versions.d.ts.map +1 -1
  448. package/resources/beta/skills/versions.js +28 -0
  449. package/resources/beta/skills/versions.js.map +1 -1
  450. package/resources/beta/skills/versions.mjs +28 -0
  451. package/resources/beta/skills/versions.mjs.map +1 -1
  452. package/resources/beta/skills.d.mts.map +1 -1
  453. package/resources/beta/skills.d.ts.map +1 -1
  454. package/resources/beta/skills.mjs.map +1 -1
  455. package/resources/beta/user-profiles.d.mts.map +1 -1
  456. package/resources/beta/user-profiles.d.ts.map +1 -1
  457. package/resources/beta/user-profiles.mjs.map +1 -1
  458. package/resources/beta/vaults/credentials.d.mts.map +1 -1
  459. package/resources/beta/vaults/credentials.d.ts.map +1 -1
  460. package/resources/beta/vaults/credentials.mjs.map +1 -1
  461. package/resources/beta/vaults/index.d.mts.map +1 -1
  462. package/resources/beta/vaults/index.d.ts.map +1 -1
  463. package/resources/beta/vaults/index.mjs.map +1 -1
  464. package/resources/beta/vaults/vaults.d.mts.map +1 -1
  465. package/resources/beta/vaults/vaults.d.ts.map +1 -1
  466. package/resources/beta/vaults/vaults.mjs.map +1 -1
  467. package/resources/beta/vaults.d.mts.map +1 -1
  468. package/resources/beta/vaults.d.ts.map +1 -1
  469. package/resources/beta/vaults.mjs.map +1 -1
  470. package/resources/beta/webhooks.d.mts.map +1 -1
  471. package/resources/beta/webhooks.d.ts.map +1 -1
  472. package/resources/beta/webhooks.mjs.map +1 -1
  473. package/resources/beta.d.mts.map +1 -1
  474. package/resources/beta.d.ts.map +1 -1
  475. package/resources/beta.mjs.map +1 -1
  476. package/resources/completions.d.mts.map +1 -1
  477. package/resources/completions.d.ts.map +1 -1
  478. package/resources/completions.mjs.map +1 -1
  479. package/resources/index.d.mts.map +1 -1
  480. package/resources/index.d.ts.map +1 -1
  481. package/resources/index.mjs.map +1 -1
  482. package/resources/messages/batches.d.mts.map +1 -1
  483. package/resources/messages/batches.d.ts.map +1 -1
  484. package/resources/messages/batches.mjs.map +1 -1
  485. package/resources/messages/index.d.mts.map +1 -1
  486. package/resources/messages/index.d.ts.map +1 -1
  487. package/resources/messages/index.mjs.map +1 -1
  488. package/resources/messages/messages.d.mts.map +1 -1
  489. package/resources/messages/messages.d.ts.map +1 -1
  490. package/resources/messages/messages.mjs.map +1 -1
  491. package/resources/messages.d.mts.map +1 -1
  492. package/resources/messages.d.ts.map +1 -1
  493. package/resources/messages.mjs.map +1 -1
  494. package/resources/models.d.mts.map +1 -1
  495. package/resources/models.d.ts.map +1 -1
  496. package/resources/models.mjs.map +1 -1
  497. package/resources.d.mts.map +1 -1
  498. package/resources.d.ts.map +1 -1
  499. package/resources.mjs.map +1 -1
  500. package/src/core/streaming.ts +2 -0
  501. package/src/helpers/beta/environments.ts +33 -0
  502. package/src/helpers/beta/json-schema.ts +7 -0
  503. package/src/helpers/beta/zod.ts +13 -7
  504. package/src/helpers/zod.ts +2 -3
  505. package/src/internal/utils/abort.ts +21 -0
  506. package/src/internal/utils/async-queue.ts +66 -0
  507. package/src/internal/utils/backoff.ts +41 -0
  508. package/src/internal/utils/promise.ts +18 -0
  509. package/src/internal/utils/sleep.ts +25 -2
  510. package/src/lib/environments/index.ts +23 -0
  511. package/src/lib/environments/poller.ts +253 -0
  512. package/src/lib/environments/worker.ts +395 -0
  513. package/src/lib/helper-client.ts +89 -0
  514. package/src/lib/tools/BetaRunnableTool.ts +82 -1
  515. package/src/lib/tools/BetaToolRunner.ts +2 -17
  516. package/src/lib/tools/SessionToolRunner.ts +591 -0
  517. package/src/resources/beta/agents/agents.ts +158 -0
  518. package/src/resources/beta/agents/index.ts +7 -0
  519. package/src/resources/beta/beta.ts +62 -21
  520. package/src/resources/beta/environments/environments.ts +625 -0
  521. package/src/resources/beta/environments/index.ts +42 -0
  522. package/src/resources/beta/environments/work.ts +697 -0
  523. package/src/resources/beta/environments.ts +1 -540
  524. package/src/resources/beta/index.ts +21 -1
  525. package/src/resources/beta/messages/batches.ts +6 -0
  526. package/src/resources/beta/messages/index.ts +8 -0
  527. package/src/resources/beta/messages/messages.ts +109 -5
  528. package/src/resources/beta/sessions/events.ts +153 -7
  529. package/src/resources/beta/sessions/index.ts +7 -1
  530. package/src/resources/beta/sessions/sessions.ts +130 -6
  531. package/src/resources/beta/sessions/threads/index.ts +0 -1
  532. package/src/resources/beta/sessions/threads/threads.ts +4 -37
  533. package/src/resources/beta/skills/index.ts +1 -0
  534. package/src/resources/beta/skills/skills.ts +2 -0
  535. package/src/resources/beta/skills/versions.ts +44 -0
  536. package/src/tools/agent-toolset/fs-util.ts +154 -0
  537. package/src/tools/agent-toolset/node.ts +787 -0
  538. package/src/tools/agent-toolset/skills.ts +256 -0
  539. package/src/version.ts +1 -1
  540. package/streaming.d.mts +1 -0
  541. package/streaming.d.mts.map +1 -1
  542. package/streaming.d.ts +1 -0
  543. package/streaming.d.ts.map +1 -1
  544. package/streaming.mjs +1 -0
  545. package/streaming.mjs.map +1 -1
  546. package/tools/agent-toolset/fs-util.d.mts +49 -0
  547. package/tools/agent-toolset/fs-util.d.mts.map +1 -0
  548. package/tools/agent-toolset/fs-util.d.ts +49 -0
  549. package/tools/agent-toolset/fs-util.d.ts.map +1 -0
  550. package/tools/agent-toolset/fs-util.js +159 -0
  551. package/tools/agent-toolset/fs-util.js.map +1 -0
  552. package/tools/agent-toolset/fs-util.mjs +151 -0
  553. package/tools/agent-toolset/fs-util.mjs.map +1 -0
  554. package/tools/agent-toolset/node.d.mts +139 -0
  555. package/tools/agent-toolset/node.d.mts.map +1 -0
  556. package/tools/agent-toolset/node.d.ts +139 -0
  557. package/tools/agent-toolset/node.d.ts.map +1 -0
  558. package/tools/agent-toolset/node.js +746 -0
  559. package/tools/agent-toolset/node.js.map +1 -0
  560. package/tools/agent-toolset/node.mjs +731 -0
  561. package/tools/agent-toolset/node.mjs.map +1 -0
  562. package/tools/agent-toolset/skills.d.mts +50 -0
  563. package/tools/agent-toolset/skills.d.mts.map +1 -0
  564. package/tools/agent-toolset/skills.d.ts +50 -0
  565. package/tools/agent-toolset/skills.d.ts.map +1 -0
  566. package/tools/agent-toolset/skills.js +249 -0
  567. package/tools/agent-toolset/skills.js.map +1 -0
  568. package/tools/agent-toolset/skills.mjs +243 -0
  569. package/tools/agent-toolset/skills.mjs.map +1 -0
  570. package/tools/memory/node.d.mts.map +1 -1
  571. package/tools/memory/node.d.ts.map +1 -1
  572. package/tools/memory/node.mjs.map +1 -1
  573. package/uploads.d.mts +1 -0
  574. package/uploads.d.mts.map +1 -1
  575. package/uploads.d.ts +1 -0
  576. package/uploads.d.ts.map +1 -1
  577. package/uploads.mjs +1 -0
  578. package/uploads.mjs.map +1 -1
  579. package/version.d.mts +1 -1
  580. package/version.d.ts +1 -1
  581. package/version.js +1 -1
  582. package/version.mjs +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.mjs","sourceRoot":"","sources":["../../src/tools/agent-toolset/node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Node-only skill plumbing for the agent toolset: downloading a session
3
+ * agent's skills into the workdir and extracting the archives. Kept in its own
4
+ * file because it is a distinct concern from the tool implementations in
5
+ * `node.ts` — distinct enough, and large enough, to review on its own.
6
+ */
7
+ import type { Anthropic } from "../../client.mjs";
8
+ import type { AgentToolContext } from "./node.mjs";
9
+ /**
10
+ * Download the session agent's skills into `{ctx.workdir}/skills/<name>/`.
11
+ *
12
+ * No-op (returns a no-op cleanup) unless both `ctx.client` and `ctx.sessionId`
13
+ * are set. Looks up the session's resolved agent and, for each skill, fetches
14
+ * its files via `client.beta.skills.versions.download` and extracts the archive
15
+ * (a zip or tar.* archive) into a directory named after the skill. A failure on
16
+ * one skill is logged and does not block the others. Call this before starting
17
+ * the session tool runner (e.g. right after the bash session / workdir is
18
+ * ready).
19
+ *
20
+ * Returns a cleanup function that removes the skill directories this call
21
+ * created — call it once the work item is done so downloaded skills do not
22
+ * accumulate in the workdir across sessions.
23
+ */
24
+ export declare function setupSkills(ctx: AgentToolContext): Promise<() => Promise<void>>;
25
+ /**
26
+ * Resolve `version` to the concrete numeric timestamp the
27
+ * `/v1/skills/{id}/versions/{version}` endpoints require — `session.agent.skills[].version`
28
+ * can be an alias such as `"latest"`, which those endpoints reject. Numeric
29
+ * versions pass through unchanged.
30
+ */
31
+ export declare function resolveSkillVersion(client: Anthropic, skillId: string, version: string): Promise<string>;
32
+ /**
33
+ * Extract a skill download (a zip or tar.* archive) into `dest`. Streams the
34
+ * response body straight to a temp file beside `dest` (so the whole archive is
35
+ * never buffered in memory — skills can contain large binaries), then shells out
36
+ * to `unzip`/`tar` — consistent with the rest of the toolset, which already
37
+ * invokes `bash` and `rg`. Both `unzip` and `tar` must be available on `PATH`; a
38
+ * missing binary surfaces as a clear error (see {@link runArchiveTool}). Refuses
39
+ * any member that would escape `dest` (zip-slip / tar-slip), including
40
+ * symlink/hardlink members: skill archives come from the API, but skills can be
41
+ * third-party.
42
+ *
43
+ * The skill bundle's single wrapper directory is stripped: the archive is
44
+ * extracted into a staging dir and the wrapper's contents are promoted into
45
+ * `dest`, so files land at `dest/SKILL.md` rather than a doubled
46
+ * `dest/<skill>/SKILL.md` (`unzip` has no `--strip-components`, so this is
47
+ * done uniformly by staging + promote rather than per-tool flags).
48
+ */
49
+ export declare function extractSkillArchive(resp: Response, dest: string): Promise<void>;
50
+ //# sourceMappingURL=skills.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.mts","sourceRoot":"","sources":["../../src/tools/agent-toolset/skills.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAqB;AAI9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAe;AAI/C;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAiDrF;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAgBjB;AA4ED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCrF"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Node-only skill plumbing for the agent toolset: downloading a session
3
+ * agent's skills into the workdir and extracting the archives. Kept in its own
4
+ * file because it is a distinct concern from the tool implementations in
5
+ * `node.ts` — distinct enough, and large enough, to review on its own.
6
+ */
7
+ import type { Anthropic } from "../../client.js";
8
+ import type { AgentToolContext } from "./node.js";
9
+ /**
10
+ * Download the session agent's skills into `{ctx.workdir}/skills/<name>/`.
11
+ *
12
+ * No-op (returns a no-op cleanup) unless both `ctx.client` and `ctx.sessionId`
13
+ * are set. Looks up the session's resolved agent and, for each skill, fetches
14
+ * its files via `client.beta.skills.versions.download` and extracts the archive
15
+ * (a zip or tar.* archive) into a directory named after the skill. A failure on
16
+ * one skill is logged and does not block the others. Call this before starting
17
+ * the session tool runner (e.g. right after the bash session / workdir is
18
+ * ready).
19
+ *
20
+ * Returns a cleanup function that removes the skill directories this call
21
+ * created — call it once the work item is done so downloaded skills do not
22
+ * accumulate in the workdir across sessions.
23
+ */
24
+ export declare function setupSkills(ctx: AgentToolContext): Promise<() => Promise<void>>;
25
+ /**
26
+ * Resolve `version` to the concrete numeric timestamp the
27
+ * `/v1/skills/{id}/versions/{version}` endpoints require — `session.agent.skills[].version`
28
+ * can be an alias such as `"latest"`, which those endpoints reject. Numeric
29
+ * versions pass through unchanged.
30
+ */
31
+ export declare function resolveSkillVersion(client: Anthropic, skillId: string, version: string): Promise<string>;
32
+ /**
33
+ * Extract a skill download (a zip or tar.* archive) into `dest`. Streams the
34
+ * response body straight to a temp file beside `dest` (so the whole archive is
35
+ * never buffered in memory — skills can contain large binaries), then shells out
36
+ * to `unzip`/`tar` — consistent with the rest of the toolset, which already
37
+ * invokes `bash` and `rg`. Both `unzip` and `tar` must be available on `PATH`; a
38
+ * missing binary surfaces as a clear error (see {@link runArchiveTool}). Refuses
39
+ * any member that would escape `dest` (zip-slip / tar-slip), including
40
+ * symlink/hardlink members: skill archives come from the API, but skills can be
41
+ * third-party.
42
+ *
43
+ * The skill bundle's single wrapper directory is stripped: the archive is
44
+ * extracted into a staging dir and the wrapper's contents are promoted into
45
+ * `dest`, so files land at `dest/SKILL.md` rather than a doubled
46
+ * `dest/<skill>/SKILL.md` (`unzip` has no `--strip-components`, so this is
47
+ * done uniformly by staging + promote rather than per-tool flags).
48
+ */
49
+ export declare function extractSkillArchive(resp: Response, dest: string): Promise<void>;
50
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/tools/agent-toolset/skills.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,SAAS,EAAE,wBAAqB;AAI9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAe;AAI/C;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAiDrF;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAgBjB;AA4ED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCrF"}
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ /**
3
+ * Node-only skill plumbing for the agent toolset: downloading a session
4
+ * agent's skills into the workdir and extracting the archives. Kept in its own
5
+ * file because it is a distinct concern from the tool implementations in
6
+ * `node.ts` — distinct enough, and large enough, to review on its own.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.setupSkills = setupSkills;
10
+ exports.resolveSkillVersion = resolveSkillVersion;
11
+ exports.extractSkillArchive = extractSkillArchive;
12
+ const tslib_1 = require("../../internal/tslib.js");
13
+ const fs = tslib_1.__importStar(require("node:fs/promises"));
14
+ const fssync = tslib_1.__importStar(require("node:fs"));
15
+ const path = tslib_1.__importStar(require("node:path"));
16
+ const node_child_process_1 = require("node:child_process");
17
+ const node_util_1 = require("node:util");
18
+ const node_stream_1 = require("node:stream");
19
+ const promises_1 = require("node:stream/promises");
20
+ const error_1 = require("../../core/error.js");
21
+ const log_1 = require("../../internal/utils/log.js");
22
+ const fs_util_1 = require("./fs-util.js");
23
+ const execFileAsync = (0, node_util_1.promisify)(node_child_process_1.execFile);
24
+ /**
25
+ * Download the session agent's skills into `{ctx.workdir}/skills/<name>/`.
26
+ *
27
+ * No-op (returns a no-op cleanup) unless both `ctx.client` and `ctx.sessionId`
28
+ * are set. Looks up the session's resolved agent and, for each skill, fetches
29
+ * its files via `client.beta.skills.versions.download` and extracts the archive
30
+ * (a zip or tar.* archive) into a directory named after the skill. A failure on
31
+ * one skill is logged and does not block the others. Call this before starting
32
+ * the session tool runner (e.g. right after the bash session / workdir is
33
+ * ready).
34
+ *
35
+ * Returns a cleanup function that removes the skill directories this call
36
+ * created — call it once the work item is done so downloaded skills do not
37
+ * accumulate in the workdir across sessions.
38
+ */
39
+ async function setupSkills(ctx) {
40
+ const { client, sessionId } = ctx;
41
+ if (!client || !sessionId)
42
+ return async () => { };
43
+ const log = (0, log_1.loggerFor)(client);
44
+ const session = await client.beta.sessions.retrieve(sessionId);
45
+ const skillsRoot = path.resolve(ctx.workdir, 'skills');
46
+ const created = [];
47
+ for (const skill of session.agent.skills) {
48
+ try {
49
+ const versionId = await resolveSkillVersion(client, skill.skill_id, skill.version);
50
+ const version = await client.beta.skills.versions.retrieve(versionId, { skill_id: skill.skill_id });
51
+ // The directory is the skill's name, reduced to a single safe path
52
+ // component so a hostile name can't escape `skillsRoot`.
53
+ let dirname = path.basename(version.name.trim());
54
+ if (dirname === '' || dirname === '.' || dirname === '..')
55
+ dirname = skill.skill_id;
56
+ const dest = path.resolve(skillsRoot, dirname);
57
+ if (dest !== skillsRoot && !dest.startsWith(skillsRoot + path.sep)) {
58
+ log.warn('skill name escapes the skills dir; skipping', {
59
+ component: 'agent-tool-context',
60
+ name: version.name,
61
+ });
62
+ continue;
63
+ }
64
+ const resp = await client.beta.skills.versions.download(versionId, { skill_id: skill.skill_id });
65
+ await fs.rm(dest, { recursive: true, force: true });
66
+ await fs.mkdir(dest, { recursive: true, mode: fs_util_1.DIR_CREATE_MODE });
67
+ created.push(dest);
68
+ await extractSkillArchive(resp, dest);
69
+ log.info('downloaded skill', {
70
+ component: 'agent-tool-context',
71
+ skill_id: skill.skill_id,
72
+ version: versionId,
73
+ dest,
74
+ });
75
+ }
76
+ catch (e) {
77
+ log.warn('failed to download skill', {
78
+ component: 'agent-tool-context',
79
+ skill_id: skill.skill_id,
80
+ error: String(e),
81
+ });
82
+ }
83
+ }
84
+ return async () => {
85
+ for (const dest of created) {
86
+ await fs.rm(dest, { recursive: true, force: true }).catch((e) => {
87
+ log.warn('failed to clean up skill', { component: 'agent-tool-context', dest, error: String(e) });
88
+ });
89
+ }
90
+ };
91
+ }
92
+ /**
93
+ * Resolve `version` to the concrete numeric timestamp the
94
+ * `/v1/skills/{id}/versions/{version}` endpoints require — `session.agent.skills[].version`
95
+ * can be an alias such as `"latest"`, which those endpoints reject. Numeric
96
+ * versions pass through unchanged.
97
+ */
98
+ async function resolveSkillVersion(client, skillId, version) {
99
+ if (/^\d+$/.test(version))
100
+ return version;
101
+ let newest;
102
+ for await (const v of client.beta.skills.versions.list(skillId)) {
103
+ if (/^\d+$/.test(v.version) && (newest === undefined || BigInt(v.version) > BigInt(newest))) {
104
+ newest = v.version;
105
+ }
106
+ }
107
+ if (newest === undefined) {
108
+ throw new error_1.AnthropicError(`skill ${JSON.stringify(skillId)} has no concrete version to resolve ${JSON.stringify(version)} against`);
109
+ }
110
+ return newest;
111
+ }
112
+ /** Reject archive members that are absolute or contain a `..` component. */
113
+ function assertSafeMemberNames(names) {
114
+ for (const raw of names.split('\n')) {
115
+ const entry = raw.trim();
116
+ if (!entry)
117
+ continue;
118
+ if (path.isAbsolute(entry) || entry.split(/[\\/]/).includes('..')) {
119
+ throw new error_1.AnthropicError(`refusing to extract unsafe archive member: ${entry}`);
120
+ }
121
+ }
122
+ }
123
+ /**
124
+ * Reject archives that contain anything other than regular files and
125
+ * directories. The type char is the first byte of each `ls`-style line emitted
126
+ * by `tar -tvf` / `unzip -Z`: `-` file, `d` dir, `l` symlink, `h` hardlink,
127
+ * `b`/`c` device, `p` fifo, `s` socket. A symlink/hardlink member is how an
128
+ * archive escapes its extraction dir even when no name contains `..`.
129
+ */
130
+ function assertNoSpecialMembers(verboseListing) {
131
+ for (const line of verboseListing.split('\n')) {
132
+ const type = line.trimStart()[0];
133
+ if (type === 'l' || type === 'h' || type === 'b' || type === 'c' || type === 'p' || type === 's') {
134
+ throw new error_1.AnthropicError('refusing to extract archive with symlink/hardlink/device member');
135
+ }
136
+ }
137
+ }
138
+ /**
139
+ * Run an archive CLI (`unzip` for zip archives, `tar` for everything else),
140
+ * returning its stdout. Both binaries must be on `PATH`; a missing one would
141
+ * otherwise surface as an opaque `ENOENT` spawn failure, so it is turned into a
142
+ * clear, specific error naming the missing command.
143
+ */
144
+ async function runArchiveTool(cmd, args) {
145
+ try {
146
+ const { stdout } = await execFileAsync(cmd, args);
147
+ return stdout;
148
+ }
149
+ catch (e) {
150
+ if (e != null && typeof e === 'object' && e.code === 'ENOENT') {
151
+ throw new error_1.AnthropicError(`skill extraction requires the \`${cmd}\` command, but it was not found on PATH`);
152
+ }
153
+ throw e;
154
+ }
155
+ }
156
+ /**
157
+ * The single top-level directory shared by every entry in a newline-separated
158
+ * archive listing, or `''` if entries don't all live under one common
159
+ * directory. Skill bundles are packaged wrapped in one directory named after
160
+ * the skill (e.g. `pdf/SKILL.md`, `pdf/scripts/...`); the extractor strips it
161
+ * so contents land directly in the skill's dir instead of a redundant nested
162
+ * `<skill>/<skill>/` level. A flat or multi-root archive yields `''`.
163
+ */
164
+ function archiveTopDir(listing) {
165
+ let top;
166
+ let nested = false;
167
+ for (const raw of listing.split('\n')) {
168
+ // Drop `.` / empty segments so a `./pdf/...`-style listing (e.g. from
169
+ // `tar -C dir .`) is treated the same as `pdf/...`.
170
+ const parts = raw
171
+ .trim()
172
+ .split('/')
173
+ .filter((p) => p !== '' && p !== '.');
174
+ if (parts.length === 0)
175
+ continue;
176
+ const first = parts[0];
177
+ if (top === undefined)
178
+ top = first;
179
+ else if (first !== top)
180
+ return '';
181
+ if (parts.length > 1)
182
+ nested = true;
183
+ }
184
+ return top !== undefined && nested ? top : '';
185
+ }
186
+ /**
187
+ * Extract a skill download (a zip or tar.* archive) into `dest`. Streams the
188
+ * response body straight to a temp file beside `dest` (so the whole archive is
189
+ * never buffered in memory — skills can contain large binaries), then shells out
190
+ * to `unzip`/`tar` — consistent with the rest of the toolset, which already
191
+ * invokes `bash` and `rg`. Both `unzip` and `tar` must be available on `PATH`; a
192
+ * missing binary surfaces as a clear error (see {@link runArchiveTool}). Refuses
193
+ * any member that would escape `dest` (zip-slip / tar-slip), including
194
+ * symlink/hardlink members: skill archives come from the API, but skills can be
195
+ * third-party.
196
+ *
197
+ * The skill bundle's single wrapper directory is stripped: the archive is
198
+ * extracted into a staging dir and the wrapper's contents are promoted into
199
+ * `dest`, so files land at `dest/SKILL.md` rather than a doubled
200
+ * `dest/<skill>/SKILL.md` (`unzip` has no `--strip-components`, so this is
201
+ * done uniformly by staging + promote rather than per-tool flags).
202
+ */
203
+ async function extractSkillArchive(resp, dest) {
204
+ const tmp = path.join(dest, `.skill-archive-${process.pid}-${Date.now()}`);
205
+ if (!resp.body) {
206
+ throw new error_1.AnthropicError('skill download response had no body');
207
+ }
208
+ await (0, promises_1.pipeline)(node_stream_1.Readable.fromWeb(resp.body), fssync.createWriteStream(tmp));
209
+ const stage = path.join(path.dirname(dest), `.skill-stage-${process.pid}-${Date.now()}`);
210
+ try {
211
+ // Sniff the first bytes: zip archives start with "PK\x03\x04"; treat
212
+ // anything else as a tar.* archive (`tar -xf` autodetects gzip/bzip2/xz).
213
+ const head = await readHead(tmp, 4);
214
+ const isZip = head.length >= 4 && head[0] === 0x50 && head[1] === 0x4b && head[2] === 0x03 && head[3] === 0x04;
215
+ const archiveCmd = isZip ? 'unzip' : 'tar';
216
+ // List first, validate, then extract — `tar`/`unzip` will happily write a
217
+ // `../` member (or follow a symlink member) outside `-C`/`-d` otherwise.
218
+ const listing = await runArchiveTool(archiveCmd, isZip ? ['-Z1', tmp] : ['-tf', tmp]);
219
+ assertSafeMemberNames(listing);
220
+ assertNoSpecialMembers(await runArchiveTool(archiveCmd, isZip ? ['-Z', tmp] : ['-tvf', tmp]));
221
+ const top = archiveTopDir(listing);
222
+ await fs.mkdir(stage, { recursive: true, mode: fs_util_1.DIR_CREATE_MODE });
223
+ await runArchiveTool(archiveCmd, isZip ? ['-oq', tmp, '-d', stage] : ['-xf', tmp, '-C', stage]);
224
+ // Promote the wrapper's contents (or the staged tree itself, if the
225
+ // archive wasn't wrapped) into the already-created empty `dest`. `stage`
226
+ // is a sibling of `dest`, so each rename stays on one filesystem.
227
+ const srcRoot = top ? path.join(stage, top) : stage;
228
+ for (const entry of await fs.readdir(srcRoot)) {
229
+ await fs.rename(path.join(srcRoot, entry), path.join(dest, entry));
230
+ }
231
+ }
232
+ finally {
233
+ await fs.rm(tmp, { force: true });
234
+ await fs.rm(stage, { recursive: true, force: true });
235
+ }
236
+ }
237
+ /** Read the first `n` bytes of `file`. */
238
+ async function readHead(file, n) {
239
+ const handle = await fs.open(file, 'r');
240
+ try {
241
+ const buf = Buffer.alloc(n);
242
+ const { bytesRead } = await handle.read(buf, 0, n, 0);
243
+ return buf.subarray(0, bytesRead);
244
+ }
245
+ finally {
246
+ await handle.close();
247
+ }
248
+ }
249
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/tools/agent-toolset/skills.ts"],"names":[],"mappings":"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"}