@anthropic-ai/sdk 0.124.0 → 0.126.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 (921) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/client.d.mts +2 -4
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +2 -4
  5. package/client.d.ts.map +1 -1
  6. package/client.js +846 -851
  7. package/client.js.map +1 -1
  8. package/client.mjs +846 -845
  9. package/client.mjs.map +1 -1
  10. package/core/api-promise.d.mts.map +1 -1
  11. package/core/api-promise.d.ts.map +1 -1
  12. package/core/api-promise.js +71 -69
  13. package/core/api-promise.js.map +1 -1
  14. package/core/api-promise.mjs +71 -65
  15. package/core/api-promise.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.js +5 -3
  19. package/core/error.js.map +1 -1
  20. package/core/error.mjs +5 -3
  21. package/core/error.mjs.map +1 -1
  22. package/core/pagination.d.mts.map +1 -1
  23. package/core/pagination.d.ts.map +1 -1
  24. package/core/pagination.js +56 -51
  25. package/core/pagination.js.map +1 -1
  26. package/core/pagination.mjs +56 -42
  27. package/core/pagination.mjs.map +1 -1
  28. package/core/resource.d.mts.map +1 -1
  29. package/core/resource.d.ts.map +1 -1
  30. package/core/resource.js +0 -1
  31. package/core/resource.js.map +1 -1
  32. package/core/resource.mjs +0 -1
  33. package/core/resource.mjs.map +1 -1
  34. package/core/streaming.js +212 -209
  35. package/core/streaming.js.map +1 -1
  36. package/core/streaming.mjs +212 -209
  37. package/core/streaming.mjs.map +1 -1
  38. package/helpers/beta/mcp.js +14 -19
  39. package/helpers/beta/mcp.js.map +1 -1
  40. package/helpers/beta/mcp.mjs +14 -13
  41. package/helpers/beta/mcp.mjs.map +1 -1
  42. package/index.d.mts.map +1 -1
  43. package/index.d.ts.map +1 -1
  44. package/index.js +0 -1
  45. package/index.js.map +1 -1
  46. package/index.mjs +0 -1
  47. package/index.mjs.map +1 -1
  48. package/internal/builtin-types.d.mts.map +1 -1
  49. package/internal/builtin-types.d.ts.map +1 -1
  50. package/internal/builtin-types.js +0 -1
  51. package/internal/builtin-types.js.map +1 -1
  52. package/internal/builtin-types.mjs +0 -1
  53. package/internal/builtin-types.mjs.map +1 -1
  54. package/internal/constants.js +1 -1
  55. package/internal/constants.js.map +1 -1
  56. package/internal/decoders/jsonl.js +27 -24
  57. package/internal/decoders/jsonl.js.map +1 -1
  58. package/internal/decoders/jsonl.mjs +27 -24
  59. package/internal/decoders/jsonl.mjs.map +1 -1
  60. package/internal/decoders/line.js +52 -49
  61. package/internal/decoders/line.js.map +1 -1
  62. package/internal/decoders/line.mjs +52 -43
  63. package/internal/decoders/line.mjs.map +1 -1
  64. package/internal/detect-platform.d.mts.map +1 -1
  65. package/internal/detect-platform.d.ts.map +1 -1
  66. package/internal/detect-platform.js +0 -1
  67. package/internal/detect-platform.js.map +1 -1
  68. package/internal/detect-platform.mjs +0 -1
  69. package/internal/detect-platform.mjs.map +1 -1
  70. package/internal/errors.d.mts.map +1 -1
  71. package/internal/errors.d.ts.map +1 -1
  72. package/internal/errors.js +0 -1
  73. package/internal/errors.js.map +1 -1
  74. package/internal/errors.mjs +0 -1
  75. package/internal/errors.mjs.map +1 -1
  76. package/internal/file-store.js +256 -258
  77. package/internal/file-store.js.map +1 -1
  78. package/internal/file-store.mjs +256 -243
  79. package/internal/file-store.mjs.map +1 -1
  80. package/internal/headers.d.mts.map +1 -1
  81. package/internal/headers.d.ts.map +1 -1
  82. package/internal/headers.js +0 -1
  83. package/internal/headers.js.map +1 -1
  84. package/internal/headers.mjs +0 -1
  85. package/internal/headers.mjs.map +1 -1
  86. package/internal/node.browser.d.mts.map +1 -1
  87. package/internal/node.browser.d.ts.map +1 -1
  88. package/internal/node.browser.js.map +1 -1
  89. package/internal/node.browser.mjs +7 -7
  90. package/internal/node.browser.mjs.map +1 -1
  91. package/internal/parse.d.mts.map +1 -1
  92. package/internal/parse.d.ts.map +1 -1
  93. package/internal/parse.js +0 -1
  94. package/internal/parse.js.map +1 -1
  95. package/internal/parse.mjs +0 -1
  96. package/internal/parse.mjs.map +1 -1
  97. package/internal/request-options.d.mts +1 -1
  98. package/internal/request-options.d.mts.map +1 -1
  99. package/internal/request-options.d.ts +1 -1
  100. package/internal/request-options.d.ts.map +1 -1
  101. package/internal/request-options.js +0 -1
  102. package/internal/request-options.js.map +1 -1
  103. package/internal/request-options.mjs +0 -1
  104. package/internal/request-options.mjs.map +1 -1
  105. package/internal/shim-types.d.mts.map +1 -1
  106. package/internal/shim-types.d.ts.map +1 -1
  107. package/internal/shim-types.js +0 -1
  108. package/internal/shim-types.js.map +1 -1
  109. package/internal/shim-types.mjs +0 -1
  110. package/internal/shim-types.mjs.map +1 -1
  111. package/internal/shims.d.mts.map +1 -1
  112. package/internal/shims.d.ts.map +1 -1
  113. package/internal/shims.js +0 -1
  114. package/internal/shims.js.map +1 -1
  115. package/internal/shims.mjs +0 -1
  116. package/internal/shims.mjs.map +1 -1
  117. package/internal/stainless-helper-header.js +6 -6
  118. package/internal/stainless-helper-header.js.map +1 -1
  119. package/internal/types.d.mts.map +1 -1
  120. package/internal/types.d.ts.map +1 -1
  121. package/internal/types.js +0 -1
  122. package/internal/types.js.map +1 -1
  123. package/internal/types.mjs +0 -1
  124. package/internal/types.mjs.map +1 -1
  125. package/internal/utils/async-queue.js +66 -63
  126. package/internal/utils/async-queue.js.map +1 -1
  127. package/internal/utils/async-queue.mjs +66 -56
  128. package/internal/utils/async-queue.mjs.map +1 -1
  129. package/internal/utils/base64.d.mts.map +1 -1
  130. package/internal/utils/base64.d.ts.map +1 -1
  131. package/internal/utils/base64.js +0 -1
  132. package/internal/utils/base64.js.map +1 -1
  133. package/internal/utils/base64.mjs +0 -1
  134. package/internal/utils/base64.mjs.map +1 -1
  135. package/internal/utils/bytes.d.mts +1 -1
  136. package/internal/utils/bytes.d.mts.map +1 -1
  137. package/internal/utils/bytes.d.ts +1 -1
  138. package/internal/utils/bytes.d.ts.map +1 -1
  139. package/internal/utils/env.d.mts.map +1 -1
  140. package/internal/utils/env.d.ts.map +1 -1
  141. package/internal/utils/env.js +0 -1
  142. package/internal/utils/env.js.map +1 -1
  143. package/internal/utils/env.mjs +0 -1
  144. package/internal/utils/env.mjs.map +1 -1
  145. package/internal/utils/log.d.mts.map +1 -1
  146. package/internal/utils/log.d.ts.map +1 -1
  147. package/internal/utils/log.js +0 -1
  148. package/internal/utils/log.js.map +1 -1
  149. package/internal/utils/log.mjs +0 -1
  150. package/internal/utils/log.mjs.map +1 -1
  151. package/internal/utils/query.d.mts.map +1 -1
  152. package/internal/utils/query.d.ts.map +1 -1
  153. package/internal/utils/query.js +0 -1
  154. package/internal/utils/query.js.map +1 -1
  155. package/internal/utils/query.mjs +0 -1
  156. package/internal/utils/query.mjs.map +1 -1
  157. package/internal/utils/uuid.d.mts.map +1 -1
  158. package/internal/utils/uuid.d.ts.map +1 -1
  159. package/internal/utils/uuid.js +0 -1
  160. package/internal/utils/uuid.js.map +1 -1
  161. package/internal/utils/uuid.mjs +0 -1
  162. package/internal/utils/uuid.mjs.map +1 -1
  163. package/internal/utils/values.d.mts.map +1 -1
  164. package/internal/utils/values.d.ts.map +1 -1
  165. package/internal/utils/values.js +0 -1
  166. package/internal/utils/values.js.map +1 -1
  167. package/internal/utils/values.mjs +0 -1
  168. package/internal/utils/values.mjs.map +1 -1
  169. package/internal/utils.d.mts.map +1 -1
  170. package/internal/utils.d.ts.map +1 -1
  171. package/internal/utils.js +0 -1
  172. package/internal/utils.js.map +1 -1
  173. package/internal/utils.mjs +0 -1
  174. package/internal/utils.mjs.map +1 -1
  175. package/lib/BetaMessageStream.js +593 -590
  176. package/lib/BetaMessageStream.js.map +1 -1
  177. package/lib/BetaMessageStream.mjs +593 -590
  178. package/lib/BetaMessageStream.mjs.map +1 -1
  179. package/lib/MessageStream.js +544 -541
  180. package/lib/MessageStream.js.map +1 -1
  181. package/lib/MessageStream.mjs +544 -541
  182. package/lib/MessageStream.mjs.map +1 -1
  183. package/lib/environments/poller.js +180 -174
  184. package/lib/environments/poller.js.map +1 -1
  185. package/lib/environments/poller.mjs +180 -153
  186. package/lib/environments/poller.mjs.map +1 -1
  187. package/lib/environments/worker.d.mts +14 -8
  188. package/lib/environments/worker.d.mts.map +1 -1
  189. package/lib/environments/worker.d.ts +14 -8
  190. package/lib/environments/worker.d.ts.map +1 -1
  191. package/lib/environments/worker.js +375 -359
  192. package/lib/environments/worker.js.map +1 -1
  193. package/lib/environments/worker.mjs +374 -319
  194. package/lib/environments/worker.mjs.map +1 -1
  195. package/lib/tools/BetaToolRunner.js +316 -313
  196. package/lib/tools/BetaToolRunner.js.map +1 -1
  197. package/lib/tools/BetaToolRunner.mjs +315 -306
  198. package/lib/tools/BetaToolRunner.mjs.map +1 -1
  199. package/lib/tools/SessionToolRunner.js +241 -235
  200. package/lib/tools/SessionToolRunner.js.map +1 -1
  201. package/lib/tools/SessionToolRunner.mjs +241 -192
  202. package/lib/tools/SessionToolRunner.mjs.map +1 -1
  203. package/lib/tools/ToolError.js +39 -36
  204. package/lib/tools/ToolError.js.map +1 -1
  205. package/lib/tools/ToolError.mjs +39 -13
  206. package/lib/tools/ToolError.mjs.map +1 -1
  207. package/package.json +3 -3
  208. package/resources/beta/agents/agents.d.mts +32 -23
  209. package/resources/beta/agents/agents.d.mts.map +1 -1
  210. package/resources/beta/agents/agents.d.ts +32 -23
  211. package/resources/beta/agents/agents.d.ts.map +1 -1
  212. package/resources/beta/agents/agents.js +135 -133
  213. package/resources/beta/agents/agents.js.map +1 -1
  214. package/resources/beta/agents/agents.mjs +135 -133
  215. package/resources/beta/agents/agents.mjs.map +1 -1
  216. package/resources/beta/agents/index.d.mts +1 -1
  217. package/resources/beta/agents/index.d.mts.map +1 -1
  218. package/resources/beta/agents/index.d.ts +1 -1
  219. package/resources/beta/agents/index.d.ts.map +1 -1
  220. package/resources/beta/agents/index.js +0 -1
  221. package/resources/beta/agents/index.js.map +1 -1
  222. package/resources/beta/agents/index.mjs +0 -1
  223. package/resources/beta/agents/index.mjs.map +1 -1
  224. package/resources/beta/agents/versions.d.mts.map +1 -1
  225. package/resources/beta/agents/versions.d.ts.map +1 -1
  226. package/resources/beta/agents/versions.js +0 -1
  227. package/resources/beta/agents/versions.js.map +1 -1
  228. package/resources/beta/agents/versions.mjs +0 -1
  229. package/resources/beta/agents/versions.mjs.map +1 -1
  230. package/resources/beta/agents.d.mts.map +1 -1
  231. package/resources/beta/agents.d.ts.map +1 -1
  232. package/resources/beta/agents.js +0 -1
  233. package/resources/beta/agents.js.map +1 -1
  234. package/resources/beta/agents.mjs +0 -1
  235. package/resources/beta/agents.mjs.map +1 -1
  236. package/resources/beta/beta.d.mts +9 -9
  237. package/resources/beta/beta.d.mts.map +1 -1
  238. package/resources/beta/beta.d.ts +9 -9
  239. package/resources/beta/beta.d.ts.map +1 -1
  240. package/resources/beta/beta.js +39 -37
  241. package/resources/beta/beta.js.map +1 -1
  242. package/resources/beta/beta.mjs +39 -37
  243. package/resources/beta/beta.mjs.map +1 -1
  244. package/resources/beta/deployment-runs.d.mts.map +1 -1
  245. package/resources/beta/deployment-runs.d.ts.map +1 -1
  246. package/resources/beta/deployment-runs.js +0 -1
  247. package/resources/beta/deployment-runs.js.map +1 -1
  248. package/resources/beta/deployment-runs.mjs +0 -1
  249. package/resources/beta/deployment-runs.mjs.map +1 -1
  250. package/resources/beta/deployments.d.mts.map +1 -1
  251. package/resources/beta/deployments.d.ts.map +1 -1
  252. package/resources/beta/deployments.js +0 -1
  253. package/resources/beta/deployments.js.map +1 -1
  254. package/resources/beta/deployments.mjs +0 -1
  255. package/resources/beta/deployments.mjs.map +1 -1
  256. package/resources/beta/dreams.d.mts +2 -28
  257. package/resources/beta/dreams.d.mts.map +1 -1
  258. package/resources/beta/dreams.d.ts +2 -28
  259. package/resources/beta/dreams.d.ts.map +1 -1
  260. package/resources/beta/dreams.js +0 -1
  261. package/resources/beta/dreams.js.map +1 -1
  262. package/resources/beta/dreams.mjs +0 -1
  263. package/resources/beta/dreams.mjs.map +1 -1
  264. package/resources/beta/environments/environments.d.mts +2 -2
  265. package/resources/beta/environments/environments.d.mts.map +1 -1
  266. package/resources/beta/environments/environments.d.ts +2 -2
  267. package/resources/beta/environments/environments.d.ts.map +1 -1
  268. package/resources/beta/environments/environments.js +157 -155
  269. package/resources/beta/environments/environments.js.map +1 -1
  270. package/resources/beta/environments/environments.mjs +157 -155
  271. package/resources/beta/environments/environments.mjs.map +1 -1
  272. package/resources/beta/environments/index.d.mts.map +1 -1
  273. package/resources/beta/environments/index.d.ts.map +1 -1
  274. package/resources/beta/environments/index.js +0 -1
  275. package/resources/beta/environments/index.js.map +1 -1
  276. package/resources/beta/environments/index.mjs +0 -1
  277. package/resources/beta/environments/index.mjs.map +1 -1
  278. package/resources/beta/environments/work.d.mts.map +1 -1
  279. package/resources/beta/environments/work.d.ts.map +1 -1
  280. package/resources/beta/environments/work.js +255 -253
  281. package/resources/beta/environments/work.js.map +1 -1
  282. package/resources/beta/environments/work.mjs +255 -253
  283. package/resources/beta/environments/work.mjs.map +1 -1
  284. package/resources/beta/environments.d.mts.map +1 -1
  285. package/resources/beta/environments.d.ts.map +1 -1
  286. package/resources/beta/environments.js +0 -1
  287. package/resources/beta/environments.js.map +1 -1
  288. package/resources/beta/environments.mjs +0 -1
  289. package/resources/beta/environments.mjs.map +1 -1
  290. package/resources/beta/files.d.mts.map +1 -1
  291. package/resources/beta/files.d.ts.map +1 -1
  292. package/resources/beta/files.js +0 -1
  293. package/resources/beta/files.js.map +1 -1
  294. package/resources/beta/files.mjs +0 -1
  295. package/resources/beta/files.mjs.map +1 -1
  296. package/resources/beta/index.d.mts +4 -4
  297. package/resources/beta/index.d.mts.map +1 -1
  298. package/resources/beta/index.d.ts +4 -4
  299. package/resources/beta/index.d.ts.map +1 -1
  300. package/resources/beta/index.js +0 -1
  301. package/resources/beta/index.js.map +1 -1
  302. package/resources/beta/index.mjs +0 -1
  303. package/resources/beta/index.mjs.map +1 -1
  304. package/resources/beta/memory-stores/index.d.mts.map +1 -1
  305. package/resources/beta/memory-stores/index.d.ts.map +1 -1
  306. package/resources/beta/memory-stores/index.js +0 -1
  307. package/resources/beta/memory-stores/index.js.map +1 -1
  308. package/resources/beta/memory-stores/index.mjs +0 -1
  309. package/resources/beta/memory-stores/index.mjs.map +1 -1
  310. package/resources/beta/memory-stores/memories.d.mts.map +1 -1
  311. package/resources/beta/memory-stores/memories.d.ts.map +1 -1
  312. package/resources/beta/memory-stores/memories.js +0 -1
  313. package/resources/beta/memory-stores/memories.js.map +1 -1
  314. package/resources/beta/memory-stores/memories.mjs +0 -1
  315. package/resources/beta/memory-stores/memories.mjs.map +1 -1
  316. package/resources/beta/memory-stores/memory-stores.d.mts.map +1 -1
  317. package/resources/beta/memory-stores/memory-stores.d.ts.map +1 -1
  318. package/resources/beta/memory-stores/memory-stores.js +150 -148
  319. package/resources/beta/memory-stores/memory-stores.js.map +1 -1
  320. package/resources/beta/memory-stores/memory-stores.mjs +150 -148
  321. package/resources/beta/memory-stores/memory-stores.mjs.map +1 -1
  322. package/resources/beta/memory-stores/memory-versions.d.mts.map +1 -1
  323. package/resources/beta/memory-stores/memory-versions.d.ts.map +1 -1
  324. package/resources/beta/memory-stores/memory-versions.js +0 -1
  325. package/resources/beta/memory-stores/memory-versions.js.map +1 -1
  326. package/resources/beta/memory-stores/memory-versions.mjs +0 -1
  327. package/resources/beta/memory-stores/memory-versions.mjs.map +1 -1
  328. package/resources/beta/memory-stores.d.mts.map +1 -1
  329. package/resources/beta/memory-stores.d.ts.map +1 -1
  330. package/resources/beta/memory-stores.js +0 -1
  331. package/resources/beta/memory-stores.js.map +1 -1
  332. package/resources/beta/memory-stores.mjs +0 -1
  333. package/resources/beta/memory-stores.mjs.map +1 -1
  334. package/resources/beta/messages/batches.d.mts +12 -1
  335. package/resources/beta/messages/batches.d.mts.map +1 -1
  336. package/resources/beta/messages/batches.d.ts +12 -1
  337. package/resources/beta/messages/batches.d.ts.map +1 -1
  338. package/resources/beta/messages/batches.js +0 -1
  339. package/resources/beta/messages/batches.js.map +1 -1
  340. package/resources/beta/messages/batches.mjs +0 -1
  341. package/resources/beta/messages/batches.mjs.map +1 -1
  342. package/resources/beta/messages/index.d.mts +1 -1
  343. package/resources/beta/messages/index.d.mts.map +1 -1
  344. package/resources/beta/messages/index.d.ts +1 -1
  345. package/resources/beta/messages/index.d.ts.map +1 -1
  346. package/resources/beta/messages/index.js +0 -1
  347. package/resources/beta/messages/index.js.map +1 -1
  348. package/resources/beta/messages/index.mjs +0 -1
  349. package/resources/beta/messages/index.mjs.map +1 -1
  350. package/resources/beta/messages/messages.d.mts +239 -101
  351. package/resources/beta/messages/messages.d.mts.map +1 -1
  352. package/resources/beta/messages/messages.d.ts +239 -101
  353. package/resources/beta/messages/messages.d.ts.map +1 -1
  354. package/resources/beta/messages/messages.js +113 -111
  355. package/resources/beta/messages/messages.js.map +1 -1
  356. package/resources/beta/messages/messages.mjs +113 -111
  357. package/resources/beta/messages/messages.mjs.map +1 -1
  358. package/resources/beta/messages.d.mts.map +1 -1
  359. package/resources/beta/messages.d.ts.map +1 -1
  360. package/resources/beta/messages.js +0 -1
  361. package/resources/beta/messages.js.map +1 -1
  362. package/resources/beta/messages.mjs +0 -1
  363. package/resources/beta/messages.mjs.map +1 -1
  364. package/resources/beta/models.d.mts +22 -1
  365. package/resources/beta/models.d.mts.map +1 -1
  366. package/resources/beta/models.d.ts +22 -1
  367. package/resources/beta/models.d.ts.map +1 -1
  368. package/resources/beta/models.js +0 -1
  369. package/resources/beta/models.js.map +1 -1
  370. package/resources/beta/models.mjs +0 -1
  371. package/resources/beta/models.mjs.map +1 -1
  372. package/resources/beta/organization/api-keys.d.mts.map +1 -1
  373. package/resources/beta/organization/api-keys.d.ts.map +1 -1
  374. package/resources/beta/organization/api-keys.js +0 -1
  375. package/resources/beta/organization/api-keys.js.map +1 -1
  376. package/resources/beta/organization/api-keys.mjs +0 -1
  377. package/resources/beta/organization/api-keys.mjs.map +1 -1
  378. package/resources/beta/organization/compliance-settings.d.mts.map +1 -1
  379. package/resources/beta/organization/compliance-settings.d.ts.map +1 -1
  380. package/resources/beta/organization/compliance-settings.js +0 -1
  381. package/resources/beta/organization/compliance-settings.js.map +1 -1
  382. package/resources/beta/organization/compliance-settings.mjs +0 -1
  383. package/resources/beta/organization/compliance-settings.mjs.map +1 -1
  384. package/resources/beta/organization/external-keys.d.mts.map +1 -1
  385. package/resources/beta/organization/external-keys.d.ts.map +1 -1
  386. package/resources/beta/organization/external-keys.js +0 -1
  387. package/resources/beta/organization/external-keys.js.map +1 -1
  388. package/resources/beta/organization/external-keys.mjs +0 -1
  389. package/resources/beta/organization/external-keys.mjs.map +1 -1
  390. package/resources/beta/organization/federation/federation.d.mts.map +1 -1
  391. package/resources/beta/organization/federation/federation.d.ts.map +1 -1
  392. package/resources/beta/organization/federation/federation.js +11 -9
  393. package/resources/beta/organization/federation/federation.js.map +1 -1
  394. package/resources/beta/organization/federation/federation.mjs +11 -9
  395. package/resources/beta/organization/federation/federation.mjs.map +1 -1
  396. package/resources/beta/organization/federation/index.d.mts.map +1 -1
  397. package/resources/beta/organization/federation/index.d.ts.map +1 -1
  398. package/resources/beta/organization/federation/index.js +0 -1
  399. package/resources/beta/organization/federation/index.js.map +1 -1
  400. package/resources/beta/organization/federation/index.mjs +0 -1
  401. package/resources/beta/organization/federation/index.mjs.map +1 -1
  402. package/resources/beta/organization/federation/issuers.d.mts.map +1 -1
  403. package/resources/beta/organization/federation/issuers.d.ts.map +1 -1
  404. package/resources/beta/organization/federation/issuers.js +0 -1
  405. package/resources/beta/organization/federation/issuers.js.map +1 -1
  406. package/resources/beta/organization/federation/issuers.mjs +0 -1
  407. package/resources/beta/organization/federation/issuers.mjs.map +1 -1
  408. package/resources/beta/organization/federation/rules/index.d.mts.map +1 -1
  409. package/resources/beta/organization/federation/rules/index.d.ts.map +1 -1
  410. package/resources/beta/organization/federation/rules/index.js +0 -1
  411. package/resources/beta/organization/federation/rules/index.js.map +1 -1
  412. package/resources/beta/organization/federation/rules/index.mjs +0 -1
  413. package/resources/beta/organization/federation/rules/index.mjs.map +1 -1
  414. package/resources/beta/organization/federation/rules/rules.d.mts.map +1 -1
  415. package/resources/beta/organization/federation/rules/rules.d.ts.map +1 -1
  416. package/resources/beta/organization/federation/rules/rules.js +187 -185
  417. package/resources/beta/organization/federation/rules/rules.js.map +1 -1
  418. package/resources/beta/organization/federation/rules/rules.mjs +187 -185
  419. package/resources/beta/organization/federation/rules/rules.mjs.map +1 -1
  420. package/resources/beta/organization/federation/rules/workspaces.d.mts.map +1 -1
  421. package/resources/beta/organization/federation/rules/workspaces.d.ts.map +1 -1
  422. package/resources/beta/organization/federation/rules/workspaces.js +0 -1
  423. package/resources/beta/organization/federation/rules/workspaces.js.map +1 -1
  424. package/resources/beta/organization/federation/rules/workspaces.mjs +0 -1
  425. package/resources/beta/organization/federation/rules/workspaces.mjs.map +1 -1
  426. package/resources/beta/organization/federation/rules.d.mts.map +1 -1
  427. package/resources/beta/organization/federation/rules.d.ts.map +1 -1
  428. package/resources/beta/organization/federation/rules.js +0 -1
  429. package/resources/beta/organization/federation/rules.js.map +1 -1
  430. package/resources/beta/organization/federation/rules.mjs +0 -1
  431. package/resources/beta/organization/federation/rules.mjs.map +1 -1
  432. package/resources/beta/organization/federation.d.mts.map +1 -1
  433. package/resources/beta/organization/federation.d.ts.map +1 -1
  434. package/resources/beta/organization/federation.js +0 -1
  435. package/resources/beta/organization/federation.js.map +1 -1
  436. package/resources/beta/organization/federation.mjs +0 -1
  437. package/resources/beta/organization/federation.mjs.map +1 -1
  438. package/resources/beta/organization/index.d.mts.map +1 -1
  439. package/resources/beta/organization/index.d.ts.map +1 -1
  440. package/resources/beta/organization/index.js +0 -1
  441. package/resources/beta/organization/index.js.map +1 -1
  442. package/resources/beta/organization/index.mjs +0 -1
  443. package/resources/beta/organization/index.mjs.map +1 -1
  444. package/resources/beta/organization/invites.d.mts.map +1 -1
  445. package/resources/beta/organization/invites.d.ts.map +1 -1
  446. package/resources/beta/organization/invites.js +0 -1
  447. package/resources/beta/organization/invites.js.map +1 -1
  448. package/resources/beta/organization/invites.mjs +0 -1
  449. package/resources/beta/organization/invites.mjs.map +1 -1
  450. package/resources/beta/organization/organization.d.mts.map +1 -1
  451. package/resources/beta/organization/organization.d.ts.map +1 -1
  452. package/resources/beta/organization/organization.js +38 -36
  453. package/resources/beta/organization/organization.js.map +1 -1
  454. package/resources/beta/organization/organization.mjs +38 -36
  455. package/resources/beta/organization/organization.mjs.map +1 -1
  456. package/resources/beta/organization/rate-limits.d.mts.map +1 -1
  457. package/resources/beta/organization/rate-limits.d.ts.map +1 -1
  458. package/resources/beta/organization/rate-limits.js +0 -1
  459. package/resources/beta/organization/rate-limits.js.map +1 -1
  460. package/resources/beta/organization/rate-limits.mjs +0 -1
  461. package/resources/beta/organization/rate-limits.mjs.map +1 -1
  462. package/resources/beta/organization/service-accounts/index.d.mts.map +1 -1
  463. package/resources/beta/organization/service-accounts/index.d.ts.map +1 -1
  464. package/resources/beta/organization/service-accounts/index.js +0 -1
  465. package/resources/beta/organization/service-accounts/index.js.map +1 -1
  466. package/resources/beta/organization/service-accounts/index.mjs +0 -1
  467. package/resources/beta/organization/service-accounts/index.mjs.map +1 -1
  468. package/resources/beta/organization/service-accounts/service-accounts.d.mts.map +1 -1
  469. package/resources/beta/organization/service-accounts/service-accounts.d.ts.map +1 -1
  470. package/resources/beta/organization/service-accounts/service-accounts.js +163 -161
  471. package/resources/beta/organization/service-accounts/service-accounts.js.map +1 -1
  472. package/resources/beta/organization/service-accounts/service-accounts.mjs +163 -161
  473. package/resources/beta/organization/service-accounts/service-accounts.mjs.map +1 -1
  474. package/resources/beta/organization/service-accounts/workspaces.d.mts.map +1 -1
  475. package/resources/beta/organization/service-accounts/workspaces.d.ts.map +1 -1
  476. package/resources/beta/organization/service-accounts/workspaces.js +0 -1
  477. package/resources/beta/organization/service-accounts/workspaces.js.map +1 -1
  478. package/resources/beta/organization/service-accounts/workspaces.mjs +0 -1
  479. package/resources/beta/organization/service-accounts/workspaces.mjs.map +1 -1
  480. package/resources/beta/organization/service-accounts.d.mts.map +1 -1
  481. package/resources/beta/organization/service-accounts.d.ts.map +1 -1
  482. package/resources/beta/organization/service-accounts.js +0 -1
  483. package/resources/beta/organization/service-accounts.js.map +1 -1
  484. package/resources/beta/organization/service-accounts.mjs +0 -1
  485. package/resources/beta/organization/service-accounts.mjs.map +1 -1
  486. package/resources/beta/organization/users.d.mts.map +1 -1
  487. package/resources/beta/organization/users.d.ts.map +1 -1
  488. package/resources/beta/organization/users.js +0 -1
  489. package/resources/beta/organization/users.js.map +1 -1
  490. package/resources/beta/organization/users.mjs +0 -1
  491. package/resources/beta/organization/users.mjs.map +1 -1
  492. package/resources/beta/organization/workspaces/index.d.mts.map +1 -1
  493. package/resources/beta/organization/workspaces/index.d.ts.map +1 -1
  494. package/resources/beta/organization/workspaces/index.js +0 -1
  495. package/resources/beta/organization/workspaces/index.js.map +1 -1
  496. package/resources/beta/organization/workspaces/index.mjs +0 -1
  497. package/resources/beta/organization/workspaces/index.mjs.map +1 -1
  498. package/resources/beta/organization/workspaces/members.d.mts.map +1 -1
  499. package/resources/beta/organization/workspaces/members.d.ts.map +1 -1
  500. package/resources/beta/organization/workspaces/members.js +0 -1
  501. package/resources/beta/organization/workspaces/members.js.map +1 -1
  502. package/resources/beta/organization/workspaces/members.mjs +0 -1
  503. package/resources/beta/organization/workspaces/members.mjs.map +1 -1
  504. package/resources/beta/organization/workspaces/rate-limits.d.mts.map +1 -1
  505. package/resources/beta/organization/workspaces/rate-limits.d.ts.map +1 -1
  506. package/resources/beta/organization/workspaces/rate-limits.js +0 -1
  507. package/resources/beta/organization/workspaces/rate-limits.js.map +1 -1
  508. package/resources/beta/organization/workspaces/rate-limits.mjs +0 -1
  509. package/resources/beta/organization/workspaces/rate-limits.mjs.map +1 -1
  510. package/resources/beta/organization/workspaces/service-accounts.d.mts.map +1 -1
  511. package/resources/beta/organization/workspaces/service-accounts.d.ts.map +1 -1
  512. package/resources/beta/organization/workspaces/service-accounts.js +0 -1
  513. package/resources/beta/organization/workspaces/service-accounts.js.map +1 -1
  514. package/resources/beta/organization/workspaces/service-accounts.mjs +0 -1
  515. package/resources/beta/organization/workspaces/service-accounts.mjs.map +1 -1
  516. package/resources/beta/organization/workspaces/workspaces.d.mts +3 -3
  517. package/resources/beta/organization/workspaces/workspaces.d.mts.map +1 -1
  518. package/resources/beta/organization/workspaces/workspaces.d.ts +3 -3
  519. package/resources/beta/organization/workspaces/workspaces.d.ts.map +1 -1
  520. package/resources/beta/organization/workspaces/workspaces.js +97 -95
  521. package/resources/beta/organization/workspaces/workspaces.js.map +1 -1
  522. package/resources/beta/organization/workspaces/workspaces.mjs +97 -95
  523. package/resources/beta/organization/workspaces/workspaces.mjs.map +1 -1
  524. package/resources/beta/organization/workspaces.d.mts.map +1 -1
  525. package/resources/beta/organization/workspaces.d.ts.map +1 -1
  526. package/resources/beta/organization/workspaces.js +0 -1
  527. package/resources/beta/organization/workspaces.js.map +1 -1
  528. package/resources/beta/organization/workspaces.mjs +0 -1
  529. package/resources/beta/organization/workspaces.mjs.map +1 -1
  530. package/resources/beta/organization.d.mts.map +1 -1
  531. package/resources/beta/organization.d.ts.map +1 -1
  532. package/resources/beta/organization.js +0 -1
  533. package/resources/beta/organization.js.map +1 -1
  534. package/resources/beta/organization.mjs +0 -1
  535. package/resources/beta/organization.mjs.map +1 -1
  536. package/resources/beta/sessions/events.d.mts +95 -22
  537. package/resources/beta/sessions/events.d.mts.map +1 -1
  538. package/resources/beta/sessions/events.d.ts +95 -22
  539. package/resources/beta/sessions/events.d.ts.map +1 -1
  540. package/resources/beta/sessions/events.js +118 -116
  541. package/resources/beta/sessions/events.js.map +1 -1
  542. package/resources/beta/sessions/events.mjs +118 -116
  543. package/resources/beta/sessions/events.mjs.map +1 -1
  544. package/resources/beta/sessions/index.d.mts +1 -1
  545. package/resources/beta/sessions/index.d.mts.map +1 -1
  546. package/resources/beta/sessions/index.d.ts +1 -1
  547. package/resources/beta/sessions/index.d.ts.map +1 -1
  548. package/resources/beta/sessions/index.js +0 -1
  549. package/resources/beta/sessions/index.js.map +1 -1
  550. package/resources/beta/sessions/index.mjs +0 -1
  551. package/resources/beta/sessions/index.mjs.map +1 -1
  552. package/resources/beta/sessions/resources.d.mts +0 -3
  553. package/resources/beta/sessions/resources.d.mts.map +1 -1
  554. package/resources/beta/sessions/resources.d.ts +0 -3
  555. package/resources/beta/sessions/resources.d.ts.map +1 -1
  556. package/resources/beta/sessions/resources.js +0 -1
  557. package/resources/beta/sessions/resources.js.map +1 -1
  558. package/resources/beta/sessions/resources.mjs +0 -1
  559. package/resources/beta/sessions/resources.mjs.map +1 -1
  560. package/resources/beta/sessions/sessions.d.mts +9 -8
  561. package/resources/beta/sessions/sessions.d.mts.map +1 -1
  562. package/resources/beta/sessions/sessions.d.ts +9 -8
  563. package/resources/beta/sessions/sessions.d.ts.map +1 -1
  564. package/resources/beta/sessions/sessions.js +161 -159
  565. package/resources/beta/sessions/sessions.js.map +1 -1
  566. package/resources/beta/sessions/sessions.mjs +161 -159
  567. package/resources/beta/sessions/sessions.mjs.map +1 -1
  568. package/resources/beta/sessions/threads/events.d.mts.map +1 -1
  569. package/resources/beta/sessions/threads/events.d.ts.map +1 -1
  570. package/resources/beta/sessions/threads/events.js +0 -1
  571. package/resources/beta/sessions/threads/events.js.map +1 -1
  572. package/resources/beta/sessions/threads/events.mjs +0 -1
  573. package/resources/beta/sessions/threads/events.mjs.map +1 -1
  574. package/resources/beta/sessions/threads/index.d.mts.map +1 -1
  575. package/resources/beta/sessions/threads/index.d.ts.map +1 -1
  576. package/resources/beta/sessions/threads/index.js +0 -1
  577. package/resources/beta/sessions/threads/index.js.map +1 -1
  578. package/resources/beta/sessions/threads/index.mjs +0 -1
  579. package/resources/beta/sessions/threads/index.mjs.map +1 -1
  580. package/resources/beta/sessions/threads/threads.d.mts.map +1 -1
  581. package/resources/beta/sessions/threads/threads.d.ts.map +1 -1
  582. package/resources/beta/sessions/threads/threads.js +86 -84
  583. package/resources/beta/sessions/threads/threads.js.map +1 -1
  584. package/resources/beta/sessions/threads/threads.mjs +86 -84
  585. package/resources/beta/sessions/threads/threads.mjs.map +1 -1
  586. package/resources/beta/sessions/threads.d.mts.map +1 -1
  587. package/resources/beta/sessions/threads.d.ts.map +1 -1
  588. package/resources/beta/sessions/threads.js +0 -1
  589. package/resources/beta/sessions/threads.js.map +1 -1
  590. package/resources/beta/sessions/threads.mjs +0 -1
  591. package/resources/beta/sessions/threads.mjs.map +1 -1
  592. package/resources/beta/sessions.d.mts.map +1 -1
  593. package/resources/beta/sessions.d.ts.map +1 -1
  594. package/resources/beta/sessions.js +0 -1
  595. package/resources/beta/sessions.js.map +1 -1
  596. package/resources/beta/sessions.mjs +0 -1
  597. package/resources/beta/sessions.mjs.map +1 -1
  598. package/resources/beta/skills/index.d.mts.map +1 -1
  599. package/resources/beta/skills/index.d.ts.map +1 -1
  600. package/resources/beta/skills/index.js +0 -1
  601. package/resources/beta/skills/index.js.map +1 -1
  602. package/resources/beta/skills/index.mjs +0 -1
  603. package/resources/beta/skills/index.mjs.map +1 -1
  604. package/resources/beta/skills/skills.d.mts.map +1 -1
  605. package/resources/beta/skills/skills.d.ts.map +1 -1
  606. package/resources/beta/skills/skills.js +104 -102
  607. package/resources/beta/skills/skills.js.map +1 -1
  608. package/resources/beta/skills/skills.mjs +104 -102
  609. package/resources/beta/skills/skills.mjs.map +1 -1
  610. package/resources/beta/skills/versions.d.mts.map +1 -1
  611. package/resources/beta/skills/versions.d.ts.map +1 -1
  612. package/resources/beta/skills/versions.js +0 -1
  613. package/resources/beta/skills/versions.js.map +1 -1
  614. package/resources/beta/skills/versions.mjs +0 -1
  615. package/resources/beta/skills/versions.mjs.map +1 -1
  616. package/resources/beta/skills.d.mts.map +1 -1
  617. package/resources/beta/skills.d.ts.map +1 -1
  618. package/resources/beta/skills.js +0 -1
  619. package/resources/beta/skills.js.map +1 -1
  620. package/resources/beta/skills.mjs +0 -1
  621. package/resources/beta/skills.mjs.map +1 -1
  622. package/resources/beta/tunnels/certificates.d.mts.map +1 -1
  623. package/resources/beta/tunnels/certificates.d.ts.map +1 -1
  624. package/resources/beta/tunnels/certificates.js +0 -1
  625. package/resources/beta/tunnels/certificates.js.map +1 -1
  626. package/resources/beta/tunnels/certificates.mjs +0 -1
  627. package/resources/beta/tunnels/certificates.mjs.map +1 -1
  628. package/resources/beta/tunnels/index.d.mts.map +1 -1
  629. package/resources/beta/tunnels/index.d.ts.map +1 -1
  630. package/resources/beta/tunnels/index.js +0 -1
  631. package/resources/beta/tunnels/index.js.map +1 -1
  632. package/resources/beta/tunnels/index.mjs +0 -1
  633. package/resources/beta/tunnels/index.mjs.map +1 -1
  634. package/resources/beta/tunnels/tunnels.d.mts.map +1 -1
  635. package/resources/beta/tunnels/tunnels.d.ts.map +1 -1
  636. package/resources/beta/tunnels/tunnels.js +188 -186
  637. package/resources/beta/tunnels/tunnels.js.map +1 -1
  638. package/resources/beta/tunnels/tunnels.mjs +188 -186
  639. package/resources/beta/tunnels/tunnels.mjs.map +1 -1
  640. package/resources/beta/tunnels.d.mts.map +1 -1
  641. package/resources/beta/tunnels.d.ts.map +1 -1
  642. package/resources/beta/tunnels.js +0 -1
  643. package/resources/beta/tunnels.js.map +1 -1
  644. package/resources/beta/tunnels.mjs +0 -1
  645. package/resources/beta/tunnels.mjs.map +1 -1
  646. package/resources/beta/user-profiles.d.mts +160 -4
  647. package/resources/beta/user-profiles.d.mts.map +1 -1
  648. package/resources/beta/user-profiles.d.ts +160 -4
  649. package/resources/beta/user-profiles.d.ts.map +1 -1
  650. package/resources/beta/user-profiles.js +25 -11
  651. package/resources/beta/user-profiles.js.map +1 -1
  652. package/resources/beta/user-profiles.mjs +25 -11
  653. package/resources/beta/user-profiles.mjs.map +1 -1
  654. package/resources/beta/vaults/credentials.d.mts +0 -14
  655. package/resources/beta/vaults/credentials.d.mts.map +1 -1
  656. package/resources/beta/vaults/credentials.d.ts +0 -14
  657. package/resources/beta/vaults/credentials.d.ts.map +1 -1
  658. package/resources/beta/vaults/credentials.js +0 -1
  659. package/resources/beta/vaults/credentials.js.map +1 -1
  660. package/resources/beta/vaults/credentials.mjs +0 -1
  661. package/resources/beta/vaults/credentials.mjs.map +1 -1
  662. package/resources/beta/vaults/index.d.mts.map +1 -1
  663. package/resources/beta/vaults/index.d.ts.map +1 -1
  664. package/resources/beta/vaults/index.js +0 -1
  665. package/resources/beta/vaults/index.js.map +1 -1
  666. package/resources/beta/vaults/index.mjs +0 -1
  667. package/resources/beta/vaults/index.mjs.map +1 -1
  668. package/resources/beta/vaults/vaults.d.mts.map +1 -1
  669. package/resources/beta/vaults/vaults.d.ts.map +1 -1
  670. package/resources/beta/vaults/vaults.js +156 -154
  671. package/resources/beta/vaults/vaults.js.map +1 -1
  672. package/resources/beta/vaults/vaults.mjs +156 -154
  673. package/resources/beta/vaults/vaults.mjs.map +1 -1
  674. package/resources/beta/vaults.d.mts.map +1 -1
  675. package/resources/beta/vaults.d.ts.map +1 -1
  676. package/resources/beta/vaults.js +0 -1
  677. package/resources/beta/vaults.js.map +1 -1
  678. package/resources/beta/vaults.mjs +0 -1
  679. package/resources/beta/vaults.mjs.map +1 -1
  680. package/resources/beta/webhooks.d.mts.map +1 -1
  681. package/resources/beta/webhooks.d.ts.map +1 -1
  682. package/resources/beta/webhooks.js +0 -1
  683. package/resources/beta/webhooks.js.map +1 -1
  684. package/resources/beta/webhooks.mjs +0 -1
  685. package/resources/beta/webhooks.mjs.map +1 -1
  686. package/resources/beta.d.mts.map +1 -1
  687. package/resources/beta.d.ts.map +1 -1
  688. package/resources/beta.js +0 -1
  689. package/resources/beta.js.map +1 -1
  690. package/resources/beta.mjs +0 -1
  691. package/resources/beta.mjs.map +1 -1
  692. package/resources/completions.d.mts +1 -1
  693. package/resources/completions.d.mts.map +1 -1
  694. package/resources/completions.d.ts +1 -1
  695. package/resources/completions.d.ts.map +1 -1
  696. package/resources/completions.js +0 -1
  697. package/resources/completions.js.map +1 -1
  698. package/resources/completions.mjs +0 -1
  699. package/resources/completions.mjs.map +1 -1
  700. package/resources/files.d.mts.map +1 -1
  701. package/resources/files.d.ts.map +1 -1
  702. package/resources/files.js +0 -1
  703. package/resources/files.js.map +1 -1
  704. package/resources/files.mjs +0 -1
  705. package/resources/files.mjs.map +1 -1
  706. package/resources/index.d.mts +1 -1
  707. package/resources/index.d.mts.map +1 -1
  708. package/resources/index.d.ts +1 -1
  709. package/resources/index.d.ts.map +1 -1
  710. package/resources/index.js +0 -1
  711. package/resources/index.js.map +1 -1
  712. package/resources/index.mjs +0 -1
  713. package/resources/index.mjs.map +1 -1
  714. package/resources/messages/batches.d.mts.map +1 -1
  715. package/resources/messages/batches.d.ts.map +1 -1
  716. package/resources/messages/batches.js +0 -1
  717. package/resources/messages/batches.js.map +1 -1
  718. package/resources/messages/batches.mjs +0 -1
  719. package/resources/messages/batches.mjs.map +1 -1
  720. package/resources/messages/index.d.mts +1 -1
  721. package/resources/messages/index.d.mts.map +1 -1
  722. package/resources/messages/index.d.ts +1 -1
  723. package/resources/messages/index.d.ts.map +1 -1
  724. package/resources/messages/index.js +0 -1
  725. package/resources/messages/index.js.map +1 -1
  726. package/resources/messages/index.mjs +0 -1
  727. package/resources/messages/index.mjs.map +1 -1
  728. package/resources/messages/messages.d.mts +101 -64
  729. package/resources/messages/messages.d.mts.map +1 -1
  730. package/resources/messages/messages.d.ts +101 -64
  731. package/resources/messages/messages.d.ts.map +1 -1
  732. package/resources/messages/messages.js +115 -113
  733. package/resources/messages/messages.js.map +1 -1
  734. package/resources/messages/messages.mjs +115 -113
  735. package/resources/messages/messages.mjs.map +1 -1
  736. package/resources/messages.d.mts.map +1 -1
  737. package/resources/messages.d.ts.map +1 -1
  738. package/resources/messages.js +0 -1
  739. package/resources/messages.js.map +1 -1
  740. package/resources/messages.mjs +0 -1
  741. package/resources/messages.mjs.map +1 -1
  742. package/resources/models.d.mts.map +1 -1
  743. package/resources/models.d.ts.map +1 -1
  744. package/resources/models.js +0 -1
  745. package/resources/models.js.map +1 -1
  746. package/resources/models.mjs +0 -1
  747. package/resources/models.mjs.map +1 -1
  748. package/resources/shared.d.mts.map +1 -1
  749. package/resources/shared.d.ts.map +1 -1
  750. package/resources/shared.js +0 -1
  751. package/resources/shared.js.map +1 -1
  752. package/resources/shared.mjs +0 -1
  753. package/resources/shared.mjs.map +1 -1
  754. package/resources/skills/index.d.mts.map +1 -1
  755. package/resources/skills/index.d.ts.map +1 -1
  756. package/resources/skills/index.js +0 -1
  757. package/resources/skills/index.js.map +1 -1
  758. package/resources/skills/index.mjs +0 -1
  759. package/resources/skills/index.mjs.map +1 -1
  760. package/resources/skills/skills.d.mts.map +1 -1
  761. package/resources/skills/skills.d.ts.map +1 -1
  762. package/resources/skills/skills.js +88 -86
  763. package/resources/skills/skills.js.map +1 -1
  764. package/resources/skills/skills.mjs +88 -86
  765. package/resources/skills/skills.mjs.map +1 -1
  766. package/resources/skills/versions.d.mts.map +1 -1
  767. package/resources/skills/versions.d.ts.map +1 -1
  768. package/resources/skills/versions.js +0 -1
  769. package/resources/skills/versions.js.map +1 -1
  770. package/resources/skills/versions.mjs +0 -1
  771. package/resources/skills/versions.mjs.map +1 -1
  772. package/resources/skills.d.mts.map +1 -1
  773. package/resources/skills.d.ts.map +1 -1
  774. package/resources/skills.js +0 -1
  775. package/resources/skills.js.map +1 -1
  776. package/resources/skills.mjs +0 -1
  777. package/resources/skills.mjs.map +1 -1
  778. package/resources/top-level.js +0 -1
  779. package/resources/top-level.js.map +1 -1
  780. package/resources/top-level.mjs +0 -1
  781. package/resources/top-level.mjs.map +1 -1
  782. package/src/client.ts +19 -21
  783. package/src/core/api-promise.ts +0 -2
  784. package/src/core/error.ts +0 -2
  785. package/src/core/pagination.ts +0 -2
  786. package/src/core/resource.ts +0 -2
  787. package/src/index.ts +0 -2
  788. package/src/internal/builtin-types.ts +0 -2
  789. package/src/internal/detect-platform.ts +0 -2
  790. package/src/internal/errors.ts +0 -2
  791. package/src/internal/headers.ts +0 -2
  792. package/src/internal/node.browser.ts +7 -7
  793. package/src/internal/parse.ts +0 -2
  794. package/src/internal/request-options.ts +1 -3
  795. package/src/internal/shim-types.ts +0 -2
  796. package/src/internal/shims.ts +0 -2
  797. package/src/internal/types.ts +0 -2
  798. package/src/internal/utils/base64.ts +0 -2
  799. package/src/internal/utils/bytes.ts +1 -1
  800. package/src/internal/utils/env.ts +0 -2
  801. package/src/internal/utils/log.ts +0 -2
  802. package/src/internal/utils/query.ts +0 -2
  803. package/src/internal/utils/uuid.ts +0 -2
  804. package/src/internal/utils/values.ts +0 -2
  805. package/src/internal/utils.ts +0 -2
  806. package/src/lib/.keep +0 -2
  807. package/src/lib/environments/worker.ts +29 -15
  808. package/src/resources/beta/agents/agents.ts +110 -24
  809. package/src/resources/beta/agents/index.ts +1 -2
  810. package/src/resources/beta/agents/versions.ts +0 -2
  811. package/src/resources/beta/agents.ts +0 -2
  812. package/src/resources/beta/beta.ts +31 -3
  813. package/src/resources/beta/deployment-runs.ts +0 -2
  814. package/src/resources/beta/deployments.ts +0 -2
  815. package/src/resources/beta/dreams.ts +2 -30
  816. package/src/resources/beta/environments/environments.ts +2 -4
  817. package/src/resources/beta/environments/index.ts +0 -2
  818. package/src/resources/beta/environments/work.ts +0 -2
  819. package/src/resources/beta/environments.ts +0 -2
  820. package/src/resources/beta/files.ts +0 -2
  821. package/src/resources/beta/index.ts +14 -2
  822. package/src/resources/beta/memory-stores/index.ts +0 -2
  823. package/src/resources/beta/memory-stores/memories.ts +0 -2
  824. package/src/resources/beta/memory-stores/memory-stores.ts +0 -2
  825. package/src/resources/beta/memory-stores/memory-versions.ts +0 -2
  826. package/src/resources/beta/memory-stores.ts +0 -2
  827. package/src/resources/beta/messages/batches.ts +13 -3
  828. package/src/resources/beta/messages/index.ts +10 -2
  829. package/src/resources/beta/messages/messages.ts +290 -102
  830. package/src/resources/beta/messages.ts +0 -2
  831. package/src/resources/beta/models.ts +25 -2
  832. package/src/resources/beta/organization/api-keys.ts +0 -2
  833. package/src/resources/beta/organization/compliance-settings.ts +0 -2
  834. package/src/resources/beta/organization/external-keys.ts +0 -2
  835. package/src/resources/beta/organization/federation/federation.ts +0 -2
  836. package/src/resources/beta/organization/federation/index.ts +0 -2
  837. package/src/resources/beta/organization/federation/issuers.ts +0 -2
  838. package/src/resources/beta/organization/federation/rules/index.ts +0 -2
  839. package/src/resources/beta/organization/federation/rules/rules.ts +0 -2
  840. package/src/resources/beta/organization/federation/rules/workspaces.ts +0 -2
  841. package/src/resources/beta/organization/federation/rules.ts +0 -2
  842. package/src/resources/beta/organization/federation.ts +0 -2
  843. package/src/resources/beta/organization/index.ts +0 -2
  844. package/src/resources/beta/organization/invites.ts +0 -2
  845. package/src/resources/beta/organization/organization.ts +0 -2
  846. package/src/resources/beta/organization/rate-limits.ts +0 -2
  847. package/src/resources/beta/organization/service-accounts/index.ts +0 -2
  848. package/src/resources/beta/organization/service-accounts/service-accounts.ts +0 -2
  849. package/src/resources/beta/organization/service-accounts/workspaces.ts +0 -2
  850. package/src/resources/beta/organization/service-accounts.ts +0 -2
  851. package/src/resources/beta/organization/users.ts +0 -2
  852. package/src/resources/beta/organization/workspaces/index.ts +0 -2
  853. package/src/resources/beta/organization/workspaces/members.ts +0 -2
  854. package/src/resources/beta/organization/workspaces/rate-limits.ts +0 -2
  855. package/src/resources/beta/organization/workspaces/service-accounts.ts +0 -2
  856. package/src/resources/beta/organization/workspaces/workspaces.ts +3 -5
  857. package/src/resources/beta/organization/workspaces.ts +0 -2
  858. package/src/resources/beta/organization.ts +0 -2
  859. package/src/resources/beta/sessions/events.ts +121 -23
  860. package/src/resources/beta/sessions/index.ts +8 -2
  861. package/src/resources/beta/sessions/resources.ts +0 -5
  862. package/src/resources/beta/sessions/sessions.ts +24 -9
  863. package/src/resources/beta/sessions/threads/events.ts +0 -2
  864. package/src/resources/beta/sessions/threads/index.ts +0 -2
  865. package/src/resources/beta/sessions/threads/threads.ts +0 -2
  866. package/src/resources/beta/sessions/threads.ts +0 -2
  867. package/src/resources/beta/sessions.ts +0 -2
  868. package/src/resources/beta/skills/index.ts +0 -2
  869. package/src/resources/beta/skills/skills.ts +0 -2
  870. package/src/resources/beta/skills/versions.ts +0 -2
  871. package/src/resources/beta/skills.ts +0 -2
  872. package/src/resources/beta/tunnels/certificates.ts +0 -2
  873. package/src/resources/beta/tunnels/index.ts +0 -2
  874. package/src/resources/beta/tunnels/tunnels.ts +0 -2
  875. package/src/resources/beta/tunnels.ts +0 -2
  876. package/src/resources/beta/user-profiles.ts +208 -15
  877. package/src/resources/beta/vaults/credentials.ts +0 -16
  878. package/src/resources/beta/vaults/index.ts +0 -2
  879. package/src/resources/beta/vaults/vaults.ts +0 -2
  880. package/src/resources/beta/vaults.ts +0 -2
  881. package/src/resources/beta/webhooks.ts +0 -2
  882. package/src/resources/beta.ts +0 -2
  883. package/src/resources/completions.ts +1 -3
  884. package/src/resources/files.ts +0 -2
  885. package/src/resources/index.ts +6 -2
  886. package/src/resources/messages/batches.ts +0 -2
  887. package/src/resources/messages/index.ts +6 -2
  888. package/src/resources/messages/messages.ts +130 -65
  889. package/src/resources/messages.ts +0 -2
  890. package/src/resources/models.ts +0 -2
  891. package/src/resources/shared.ts +0 -2
  892. package/src/resources/skills/index.ts +0 -2
  893. package/src/resources/skills/skills.ts +0 -2
  894. package/src/resources/skills/versions.ts +0 -2
  895. package/src/resources/skills.ts +0 -2
  896. package/src/tsconfig.json +13 -3
  897. package/src/version.ts +1 -1
  898. package/tools/agent-toolset/fs-util.js +0 -6
  899. package/tools/agent-toolset/fs-util.js.map +1 -1
  900. package/tools/agent-toolset/fs-util.mjs +0 -6
  901. package/tools/agent-toolset/fs-util.mjs.map +1 -1
  902. package/tools/agent-toolset/memories.js +4 -4
  903. package/tools/agent-toolset/memories.js.map +1 -1
  904. package/tools/agent-toolset/memories.mjs +2 -2
  905. package/tools/agent-toolset/memories.mjs.map +1 -1
  906. package/tools/agent-toolset/node.browser.js +12 -12
  907. package/tools/agent-toolset/node.browser.js.map +1 -1
  908. package/tools/agent-toolset/node.js +142 -139
  909. package/tools/agent-toolset/node.js.map +1 -1
  910. package/tools/agent-toolset/node.mjs +132 -125
  911. package/tools/agent-toolset/node.mjs.map +1 -1
  912. package/tools/agent-toolset/skills.js +5 -5
  913. package/tools/agent-toolset/skills.js.map +1 -1
  914. package/tools/agent-toolset/sync-interval.js +3 -3
  915. package/tools/agent-toolset/sync-interval.js.map +1 -1
  916. package/tools/memory/node.browser.js +2 -2
  917. package/tools/memory/node.browser.js.map +1 -1
  918. package/version.d.mts +1 -1
  919. package/version.d.ts +1 -1
  920. package/version.js +1 -1
  921. package/version.mjs +1 -1
@@ -57,362 +57,375 @@ function sessionsTokenFromSecret(secret) {
57
57
  const token = parsed.sessions_token;
58
58
  return typeof token === 'string' && token !== '' ? token : null;
59
59
  }
60
- /**
61
- * The self-hosted environment runner, composed from the control-plane
62
- * {@link WorkPoller} and the per-session {@link SessionToolRunner}.
63
- *
64
- * For each claimed `session` work item it: builds the per-session
65
- * {@link AgentToolContext}, downloads the session agent's skills
66
- * (`setupSkills`), then runs a {@link SessionToolRunner} for the session
67
- * while heartbeating the work-item lease on the same event loop; on exit it
68
- * force-stops the work item (unless the lease was lost, in which case the item
69
- * is left to whoever holds it now), cleans up the downloaded skills, and loops
70
- * to the next one. The lease heartbeat reports `state === "stopping"` / a lost
71
- * lease back into the run by aborting the session runner.
72
- *
73
- * The `environmentKey` is the worker's standing credential. When a claimed
74
- * work item carries a per-item `secret` (a short-lived payload the poll
75
- * response may populate), the sessions token extracted from it is preferred
76
- * over the environment key for that item's heartbeat / force-stop /
77
- * skill-download / session calls; polling itself always uses the environment
78
- * key, and items without a usable secret fall back to it entirely.
79
- *
80
- * Use {@link EnvironmentWorker.handleItem} if you already hold a claimed work
81
- * item (e.g. a `worker poll --on-work` script handed one to a fresh process) and
82
- * just want the per-item flow without the poll loop — with no arguments it reads
83
- * the `ANTHROPIC_*` env vars that command sets.
84
- *
85
- * Construct it via `client.beta.environments.work.worker({ ... })` (or
86
- * `new EnvironmentWorker({ client, ... })` directly).
87
- *
88
- * @example
89
- * ```ts
90
- * // Long-running daemon: poll for work, serve each session, loop.
91
- * await client.beta.environments.work
92
- * .worker({ environmentId, environmentKey, workdir: '/workspace' })
93
- * .run(AbortSignal.timeout(60 * 60_000));
94
- *
95
- * // Already-claimed item (e.g. inside `ant worker poll --on-work ...`):
96
- * await client.beta.environments.work.worker({ workdir: '/workspace' }).handleItem();
97
- * ```
98
- */
99
- class EnvironmentWorker {
100
- constructor(opts) {
101
- _EnvironmentWorker_instances.add(this);
102
- _EnvironmentWorker_signal.set(this, void 0);
103
- if (opts.unrestrictedPaths !== undefined) {
104
- throw new error_1.AnthropicError('The `unrestrictedPaths` option you passed to EnvironmentWorker (or ' +
105
- 'client.beta.environments.work.worker()) is no longer supported. ' +
106
- "The worker's file tools (read, write, edit, glob, grep) are now always confined to `workdir` " +
107
- "plus the session's memory folders. Remove `unrestrictedPaths` from your options; to let the " +
108
- 'file tools reach any other directory, add it to `AgentToolContext.allowedRoots` from a ' +
109
- '`tools` factory.');
110
- }
111
- this.client = opts.client;
112
- this.environmentId = opts.environmentId;
113
- this.environmentKey = opts.environmentKey;
114
- this.tools = opts.tools;
115
- this.workdir = opts.workdir ?? process.cwd();
116
- this.maxFileBytes = opts.maxFileBytes;
117
- this.maxIdleMs = opts.maxIdleMs;
118
- if (opts.memorySyncIntervalMs != null) {
119
- (0, sync_interval_1.checkMemorySyncInterval)(opts.memorySyncIntervalMs, 'memorySyncIntervalMs');
120
- }
121
- this.memorySyncIntervalMs = opts.memorySyncIntervalMs;
122
- this.memorySyncDeletions = opts.memorySyncDeletions ?? 'enabled';
123
- this.workerId = opts.workerId;
124
- this.requestOptions = opts.requestOptions;
125
- tslib_1.__classPrivateFieldSet(this, _EnvironmentWorker_signal, opts.signal, "f");
126
- }
60
+ var EnvironmentWorker = /* @__PURE__ */ (() => {
127
61
  /**
128
- * Poll the environment and service each claimed session until the supplied
129
- * signal (or the one passed to the constructor) aborts. Throws if
130
- * `environmentId` / `environmentKey` were not provided to the constructor.
62
+ * The self-hosted environment runner, composed from the control-plane
63
+ * {@link WorkPoller} and the per-session {@link SessionToolRunner}.
64
+ *
65
+ * For each claimed `session` work item it: builds the per-session
66
+ * {@link AgentToolContext}, downloads the session agent's skills
67
+ * (`setupSkills`), then runs a {@link SessionToolRunner} for the session
68
+ * while heartbeating the work-item lease on the same event loop; on exit it
69
+ * force-stops the work item (unless the lease was lost, in which case the item
70
+ * is left to whoever holds it now), cleans up the downloaded skills, and loops
71
+ * to the next one. The lease heartbeat reports `state === "stopping"` / a lost
72
+ * lease back into the run by aborting the session runner.
73
+ *
74
+ * The `environmentKey` is the worker's standing credential. When a claimed
75
+ * work item carries a per-item `secret` (a short-lived payload the poll
76
+ * response may populate), the sessions token extracted from it is preferred
77
+ * over the environment key for that item's heartbeat / force-stop /
78
+ * skill-download / session calls; polling itself always uses the environment
79
+ * key, and items without a usable secret fall back to it entirely.
80
+ *
81
+ * Use {@link EnvironmentWorker.handleItem} if you already hold a claimed work
82
+ * item (e.g. a `worker poll --on-work` script handed one to a fresh process) and
83
+ * just want the per-item flow without the poll loop — with no arguments it reads
84
+ * the `ANTHROPIC_*` env vars that command sets.
85
+ *
86
+ * Construct it via `client.beta.environments.work.worker({ ... })` (or
87
+ * `new EnvironmentWorker({ client, ... })` directly).
88
+ *
89
+ * @example
90
+ * ```ts
91
+ * // Long-running daemon: poll for work, serve each session, loop.
92
+ * await client.beta.environments.work
93
+ * .worker({ environmentId, environmentKey, workdir: '/workspace' })
94
+ * .run(AbortSignal.timeout(60 * 60_000));
95
+ *
96
+ * // Already-claimed item (e.g. inside `ant worker poll --on-work ...`):
97
+ * await client.beta.environments.work.worker({ workdir: '/workspace' }).handleItem();
98
+ * ```
131
99
  */
132
- async run(signal) {
133
- const { environmentId, environmentKey } = this;
134
- if (environmentId === undefined || environmentKey === undefined) {
135
- throw new error_1.AnthropicError('EnvironmentWorker.run: environmentId and environmentKey are required to poll for work');
100
+ class EnvironmentWorker {
101
+ constructor(opts) {
102
+ _EnvironmentWorker_instances.add(this);
103
+ _EnvironmentWorker_signal.set(this, void 0);
104
+ if (opts.unrestrictedPaths !== undefined) {
105
+ throw new error_1.AnthropicError('The `unrestrictedPaths` option you passed to EnvironmentWorker (or ' +
106
+ 'client.beta.environments.work.worker()) is no longer supported. ' +
107
+ "The worker's file tools (read, write, edit, glob, grep) are now always confined to `workdir` " +
108
+ "plus the session's memory folders. Remove `unrestrictedPaths` from your options; to let the " +
109
+ 'file tools reach any other directory, add it to `AgentToolContext.allowedRoots` from a ' +
110
+ '`tools` factory.');
111
+ }
112
+ this.client = opts.client;
113
+ this.environmentId = opts.environmentId;
114
+ this.environmentKey = opts.environmentKey;
115
+ this.tools = opts.tools;
116
+ this.workdir = opts.workdir ?? process.cwd();
117
+ this.maxFileBytes = opts.maxFileBytes;
118
+ this.maxIdleMs = opts.maxIdleMs;
119
+ if (opts.memorySyncIntervalMs != null) {
120
+ (0, sync_interval_1.checkMemorySyncInterval)(opts.memorySyncIntervalMs, 'memorySyncIntervalMs');
121
+ }
122
+ this.memorySyncIntervalMs = opts.memorySyncIntervalMs;
123
+ this.memorySyncDeletions = opts.memorySyncDeletions ?? 'enabled';
124
+ this.workerId = opts.workerId;
125
+ this.requestOptions = opts.requestOptions;
126
+ tslib_1.__classPrivateFieldSet(this, _EnvironmentWorker_signal, opts.signal, "f");
136
127
  }
137
- const externalSignal = signal ?? tslib_1.__classPrivateFieldGet(this, _EnvironmentWorker_signal, "f");
138
- const poller = new poller_1.WorkPoller({
139
- client: this.client,
140
- environmentId,
141
- environmentKey,
142
- ...(this.workerId !== undefined ? { workerId: this.workerId } : {}),
143
- ...(externalSignal ? { signal: externalSignal } : {}),
144
- ...(this.requestOptions !== undefined ? { requestOptions: this.requestOptions } : {}),
145
- // The per-item handler stops or releases every work item on exit; let it
146
- // be the single owner of `work.stop` rather than double-posting from the
147
- // poller.
148
- autoStop: false,
149
- });
150
- for await (const work of poller) {
151
- try {
152
- await tslib_1.__classPrivateFieldGet(this, _EnvironmentWorker_instances, "m", _EnvironmentWorker_handleItem).call(this, work, environmentKey, poller.signal);
128
+ /**
129
+ * Poll the environment and service each claimed session until the supplied
130
+ * signal (or the one passed to the constructor) aborts. Throws if
131
+ * `environmentId` / `environmentKey` were not provided to the constructor.
132
+ */
133
+ async run(signal) {
134
+ const { environmentId, environmentKey } = this;
135
+ if (environmentId === undefined || environmentKey === undefined) {
136
+ throw new error_1.AnthropicError('EnvironmentWorker.run: environmentId and environmentKey are required to poll for work');
153
137
  }
154
- catch (e) {
155
- // One bad item fails that item, not the worker: the handler's teardown
156
- // already stopped or released it, so the next poll claims the next
157
- // item. A store directory left behind by a killed worker would
158
- // otherwise crashloop this process forever.
159
- if (poller.signal?.aborted)
160
- throw e;
161
- (0, log_1.loggerFor)(this.client).error('work item failed', { work_id: work.id, error: String(e) });
138
+ const externalSignal = signal ?? tslib_1.__classPrivateFieldGet(this, _EnvironmentWorker_signal, "f");
139
+ const poller = new poller_1.WorkPoller({
140
+ client: this.client,
141
+ environmentId,
142
+ environmentKey,
143
+ ...(this.workerId !== undefined ? { workerId: this.workerId } : {}),
144
+ ...(externalSignal ? { signal: externalSignal } : {}),
145
+ ...(this.requestOptions !== undefined ? { requestOptions: this.requestOptions } : {}),
146
+ // The per-item handler stops or releases every work item on exit; let it
147
+ // be the single owner of `work.stop` rather than double-posting from the
148
+ // poller.
149
+ autoStop: false,
150
+ });
151
+ for await (const work of poller) {
152
+ try {
153
+ await tslib_1.__classPrivateFieldGet(this, _EnvironmentWorker_instances, "m", _EnvironmentWorker_handleItem).call(this, work, environmentKey, poller.signal);
154
+ }
155
+ catch (e) {
156
+ // One bad item fails that item, not the worker: the handler's teardown
157
+ // already stopped or released it, so the next poll claims the next
158
+ // item. A store directory left behind by a killed worker would
159
+ // otherwise crashloop this process forever.
160
+ if (poller.signal?.aborted)
161
+ throw e;
162
+ (0, log_1.loggerFor)(this.client).error('work item failed', { work_id: work.id, error: String(e) });
163
+ }
164
+ }
165
+ }
166
+ /**
167
+ * Service a single, already-claimed work item without the poll loop: build the
168
+ * per-session {@link AgentToolContext} (workdir from this worker's options),
169
+ * download the session agent's skills (`setupSkills`), run a
170
+ * {@link SessionToolRunner} for the session while heartbeating the work-item
171
+ * lease, and force-stop the work item on exit (whether the runner finishes
172
+ * normally, throws, or the control plane signals shutdown). The one
173
+ * exception is a lost lease: the item then belongs to the queue or another
174
+ * worker and is left alone.
175
+ *
176
+ * Use this when something else does the claiming — e.g. a `worker poll
177
+ * --on-work` script that hands an already-claimed item to a fresh process. The
178
+ * work id / environment id / session id each fall back to `ANTHROPIC_WORK_ID` /
179
+ * `ANTHROPIC_ENVIRONMENT_ID` / `ANTHROPIC_SESSION_ID` (the env vars that
180
+ * command sets) when not passed; the environment key resolves from this
181
+ * option, then the worker's own `environmentKey`, then
182
+ * `ANTHROPIC_ENVIRONMENT_KEY`, and is needed only when the work item's
183
+ * `secret` yields no sessions token — a host that receives only the
184
+ * per-item secret runs without ever holding the key. With no arguments
185
+ * inside that command it just works. Throws a clear error naming the first
186
+ * required value still missing after resolution, and — rather than ever
187
+ * running unauthenticated — when neither a sessions token nor an
188
+ * environment key resolved. Throws `SessionMemoryError` when the
189
+ * session has memory stores attached but they cannot be mounted — the work
190
+ * item carried no sessions token (unless `memorySyncIntervalMs` turned
191
+ * memory off), or a store failed to download.
192
+ *
193
+ * `workSecret` is the work item's per-item `secret` payload from the poll
194
+ * response, falling back to `ANTHROPIC_WORK_SECRET`; unlike the others it is
195
+ * optional — when present, the sessions token extracted from it is preferred
196
+ * as the Bearer credential for this item's heartbeat / force-stop / session
197
+ * calls; when absent (or undecodable) those calls use the environment key.
198
+ */
199
+ async handleItem(opts) {
200
+ const workId = opts?.workId ?? (0, env_1.readEnv)('ANTHROPIC_WORK_ID');
201
+ const environmentId = opts?.environmentId ?? (0, env_1.readEnv)('ANTHROPIC_ENVIRONMENT_ID');
202
+ const sessionId = opts?.sessionId ?? (0, env_1.readEnv)('ANTHROPIC_SESSION_ID');
203
+ // Trailing `|| undefined` / `||` between fallbacks so an empty value reads
204
+ // as absent (matching how `readEnv` treats empty values).
205
+ const environmentKey = (opts?.environmentKey ?? this.environmentKey ?? (0, env_1.readEnv)('ANTHROPIC_ENVIRONMENT_KEY')) || undefined;
206
+ const workSecret = opts?.workSecret || (0, env_1.readEnv)('ANTHROPIC_WORK_SECRET') || null;
207
+ if (!workId) {
208
+ throw new error_1.AnthropicError('handleItem: workId is required — pass it or set ANTHROPIC_WORK_ID');
209
+ }
210
+ if (!environmentId) {
211
+ throw new error_1.AnthropicError('handleItem: environmentId is required — pass it or set ANTHROPIC_ENVIRONMENT_ID');
212
+ }
213
+ if (!sessionId) {
214
+ throw new error_1.AnthropicError('handleItem: sessionId is required — pass it or set ANTHROPIC_SESSION_ID');
215
+ }
216
+ if (!environmentKey && !workSecret) {
217
+ throw new error_1.AnthropicError('handleItem: environmentKey is required when there is no work secret — pass it, construct the worker with it, or set ANTHROPIC_ENVIRONMENT_KEY');
162
218
  }
219
+ const work = {
220
+ id: workId,
221
+ environment_id: environmentId,
222
+ secret: workSecret,
223
+ data: { type: 'session', id: sessionId },
224
+ };
225
+ await tslib_1.__classPrivateFieldGet(this, _EnvironmentWorker_instances, "m", _EnvironmentWorker_handleItem).call(this, work, environmentKey, opts?.signal ?? tslib_1.__classPrivateFieldGet(this, _EnvironmentWorker_signal, "f"));
163
226
  }
164
227
  }
228
+ _EnvironmentWorker_signal = new WeakMap(), _EnvironmentWorker_instances = new WeakSet(), _EnvironmentWorker_handleItem =
165
229
  /**
166
- * Service a single, already-claimed work item without the poll loop: build the
167
- * per-session {@link AgentToolContext} (workdir from this worker's options),
168
- * download the session agent's skills (`setupSkills`), run a
169
- * {@link SessionToolRunner} for the session while heartbeating the work-item
170
- * lease, and force-stop the work item on exit (whether the runner finishes
171
- * normally, throws, or the control plane signals shutdown). The one
172
- * exception is a lost lease: the item then belongs to the queue or another
173
- * worker and is left alone.
230
+ * The per-item body shared by {@link EnvironmentWorker.run}'s poll loop and
231
+ * {@link EnvironmentWorker.handleItem}: run a {@link SessionToolRunner} for the
232
+ * work item's session while heartbeating its lease, force-stopping on exit
233
+ * unless the lease was lost. Non-session work items are ignored.
174
234
  *
175
- * Use this when something else does the claiming — e.g. a `worker poll
176
- * --on-work` script that hands an already-claimed item to a fresh process. The
177
- * work id / environment id / session id each fall back to `ANTHROPIC_WORK_ID` /
178
- * `ANTHROPIC_ENVIRONMENT_ID` / `ANTHROPIC_SESSION_ID` (the env vars that
179
- * command sets) when not passed; the environment key resolves from this
180
- * option, then the worker's own `environmentKey`, then
181
- * `ANTHROPIC_ENVIRONMENT_KEY`. With no arguments inside that command it just
182
- * works. Throws a clear error naming the first of the four required values
183
- * still missing after resolution. Throws `SessionMemoryError` when the
184
- * session has memory stores attached but they cannot be mounted — the work
185
- * item carried no sessions token (unless `memorySyncIntervalMs` turned
186
- * memory off), or a store failed to download.
187
- *
188
- * `workSecret` is the work item's per-item `secret` payload from the poll
189
- * response, falling back to `ANTHROPIC_WORK_SECRET`; unlike the others it is
190
- * optional — when present, the sessions token extracted from it is preferred
191
- * as the Bearer credential for this item's heartbeat / force-stop / session
192
- * calls; when absent (or undecodable) those calls use the environment key.
235
+ * When the poll response carried a per-item `secret` (a short-lived payload
236
+ * scoped to this work item), the sessions token extracted from it is
237
+ * preferred over `environmentKey` as the Bearer credential for those
238
+ * per-item calls; a missing/undecodable secret falls back to
239
+ * `environmentKey` unchanged.
193
240
  */
194
- async handleItem(opts) {
195
- const workId = opts?.workId ?? (0, env_1.readEnv)('ANTHROPIC_WORK_ID');
196
- const environmentId = opts?.environmentId ?? (0, env_1.readEnv)('ANTHROPIC_ENVIRONMENT_ID');
197
- const sessionId = opts?.sessionId ?? (0, env_1.readEnv)('ANTHROPIC_SESSION_ID');
198
- const environmentKey = opts?.environmentKey ?? this.environmentKey ?? (0, env_1.readEnv)('ANTHROPIC_ENVIRONMENT_KEY');
199
- // `||` rather than `??` so an empty option still falls through to the env
200
- // var and then to null (matching how `readEnv` treats empty values).
201
- const workSecret = opts?.workSecret || (0, env_1.readEnv)('ANTHROPIC_WORK_SECRET') || null;
202
- if (!workId) {
203
- throw new error_1.AnthropicError('handleItem: workId is required pass it or set ANTHROPIC_WORK_ID');
204
- }
205
- if (!environmentId) {
206
- throw new error_1.AnthropicError('handleItem: environmentId is required — pass it or set ANTHROPIC_ENVIRONMENT_ID');
207
- }
208
- if (!sessionId) {
209
- throw new error_1.AnthropicError('handleItem: sessionId is required — pass it or set ANTHROPIC_SESSION_ID');
210
- }
211
- if (!environmentKey) {
212
- throw new error_1.AnthropicError('handleItem: environmentKey is required — pass it, construct the worker with it, or set ANTHROPIC_ENVIRONMENT_KEY');
213
- }
214
- const work = {
215
- id: workId,
216
- environment_id: environmentId,
217
- secret: workSecret,
218
- data: { type: 'session', id: sessionId },
219
- };
220
- await tslib_1.__classPrivateFieldGet(this, _EnvironmentWorker_instances, "m", _EnvironmentWorker_handleItem).call(this, work, environmentKey, opts?.signal ?? tslib_1.__classPrivateFieldGet(this, _EnvironmentWorker_signal, "f"));
221
- }
222
- }
223
- exports.EnvironmentWorker = EnvironmentWorker;
224
- _EnvironmentWorker_signal = new WeakMap(), _EnvironmentWorker_instances = new WeakSet(), _EnvironmentWorker_handleItem =
225
- /**
226
- * The per-item body shared by {@link EnvironmentWorker.run}'s poll loop and
227
- * {@link EnvironmentWorker.handleItem}: run a {@link SessionToolRunner} for the
228
- * work item's session while heartbeating its lease, force-stopping on exit
229
- * unless the lease was lost. Non-session work items are ignored.
230
- *
231
- * When the poll response carried a per-item `secret` (a short-lived payload
232
- * scoped to this work item), the sessions token extracted from it is
233
- * preferred over `environmentKey` as the Bearer credential for those
234
- * per-item calls; a missing/undecodable secret falls back to
235
- * `environmentKey` unchanged.
236
- */
237
- async function _EnvironmentWorker_handleItem(work, environmentKey, externalSignal) {
238
- const log = (0, log_1.loggerFor)(this.client);
239
- // The per-item credential: the sessions token carried inside the work
240
- // item's secret payload when the server issued one, otherwise the
241
- // environment key. Never log this value.
242
- const sessionsToken = sessionsTokenFromSecret(work.secret);
243
- if (work.secret && sessionsToken === null) {
244
- log.warn('work item carried a secret payload but no sessions token could be extracted; ' +
245
- 'falling back to the environment key', { work_id: work.id });
246
- }
247
- const itemCredential = sessionsToken ?? environmentKey;
248
- // Every per-session call — the SessionToolRunner event stream/list/send, the
249
- // lease heartbeat, the skill download, and the work force-stop —
250
- // authenticates with the per-item credential. Scope a client to it once and
251
- // thread that through. `copyClientForHelper` also clears the parent's
252
- // `apiKey`, so the sub-client emits *only* the bearer credential on the
253
- // wire (a plain `withOptions({authToken})` would leave `X-Api-Key` set as
254
- // well).
255
- const sessionClient = (0, helper_client_1.copyClientForHelper)(this.client, {
256
- authToken: itemCredential,
257
- helper: 'environments-worker',
258
- });
259
- // The poller runs with `autoStop: false`, so the per-item handler is the
260
- // single owner of `work.stop` for every claimed item.
261
- const sessionId = work.data.id;
262
- // A per-session controller: aborts when the supplied signal aborts, when the
263
- // session runner finishes, or when the lease heartbeat says to stop.
264
- const ctrl = new AbortController();
265
- const detachExternal = (0, abort_1.linkAbort)(externalSignal, ctrl);
266
- const lease = new Lease(ctrl);
267
- // Lazily load the Node-only toolset module — see the import note at the top.
268
- const agentToolset = await Promise.resolve().then(() => tslib_1.__importStar(require("../../tools/agent-toolset/node.js")));
269
- // Start the lease heartbeat BEFORE the session fetch and the skill /
270
- // memory downloads: those can take longer than the lease TTL, and an
271
- // unheartbeated lease lapsing mid-download would let another worker
272
- // reclaim the item and serve the same session (split-brain).
273
- //
274
- // Each heartbeat reports the lease TTL the server is enforcing; it becomes
275
- // the runner's tool-result send retry window so a send keeps retrying
276
- // exactly as long as the lease could still be live. The runner is only
277
- // built after the downloads, so hold the latest TTL until then.
278
- let leaseTtlMs;
279
- let runner;
280
- const heartbeatPromise = heartbeatLoop(sessionClient, work, lease, log, this.requestOptions, (ttlMs) => {
281
- leaseTtlMs = ttlMs;
282
- runner?._setSendRetryWindow(ttlMs);
283
- }).catch((e) => {
284
- if (!ctrl.signal.aborted)
285
- log.error('heartbeat loop failed', { work_id: work.id, error: String(e) });
286
- ctrl.abort();
287
- });
288
- let cleanupSkills = async () => { };
289
- let stores;
290
- let cleanEnd = false;
291
- try {
292
- if (work.data.type !== 'session') {
293
- log.debug('skipping non-session work item', { work_id: work.id, type: work.data.type });
294
- return;
295
- }
296
- // One session fetch, shared by the skills download and the memory-store
297
- // download — two fetches could disagree about the attached resources.
298
- // A failed fetch fails the work item (the teardown below still stops
299
- // or releases it).
300
- const session = await sessionClient.beta.sessions.retrieve(sessionId);
301
- // Only with the session in hand can we tell one that simply has no
302
- // memory from one whose memory we cannot mount. Turning memory off
303
- // with the interval knob is a deliberate opt-out and stays quiet.
304
- if (sessionsToken === null && this.memorySyncIntervalMs !== null && hasMemoryStore(session)) {
305
- throw new agentToolset.SessionMemoryError(`cannot mount the session's memories: the work item carried no sessions token ` +
306
- `(work_id=${work.id}, session_id=${sessionId}); ` +
307
- 'the memory endpoints reject the environment key, so the poller must issue a per-item ' +
308
- '`secret` carrying `sessions_token`, or set `memorySyncIntervalMs: null` to run without memory');
309
- }
310
- const ctx = {
311
- workdir: this.workdir,
312
- // The scoped sub-client, not the parent: the skill download
313
- // `setupSkills` performs for this session rides the same per-item
314
- // credential as every other per-item call.
315
- client: sessionClient,
316
- session,
317
- ...(this.maxFileBytes !== undefined ? { maxFileBytes: this.maxFileBytes } : {}),
318
- };
319
- try {
320
- cleanupSkills = await agentToolset.setupSkills(ctx);
321
- }
322
- catch (e) {
323
- log.warn('skill setup failed', { session_id: sessionId, work_id: work.id, error: String(e) });
324
- }
325
- // Memory stores: the memory_stores endpoints accept the per-item sessions
326
- // token but reject the environment key, so download and sync only run when
327
- // the item carried a usable secret (and the interval is set).
328
- // `sessionClient` is already scoped to that token then, so the memory
329
- // calls ride the same sub-client. A store that cannot be materialised
330
- // throws `SessionMemoryError` out of `download` and fails the item.
331
- if (sessionsToken !== null && this.memorySyncIntervalMs !== null) {
332
- stores = new agentToolset.SessionMemoryStores(sessionClient, {
333
- workdir: this.workdir,
334
- ...(this.memorySyncIntervalMs !== undefined ? { syncIntervalMs: this.memorySyncIntervalMs } : {}),
335
- syncDeletions: this.memorySyncDeletions,
336
- });
337
- await stores.download(session);
338
- // A store mounted outside the workdir must stay reachable by the file
339
- // tools; read-only stores still refuse writes.
340
- ctx.allowedRoots = stores.roots;
341
- ctx.readOnlyRoots = stores.readOnlyRoots;
241
+ async function _EnvironmentWorker_handleItem(work, environmentKey, externalSignal) {
242
+ const log = (0, log_1.loggerFor)(this.client);
243
+ // The per-item credential: the sessions token carried inside the work
244
+ // item's secret payload when the server issued one, otherwise the
245
+ // environment key. Never log this value.
246
+ const sessionsToken = sessionsTokenFromSecret(work.secret);
247
+ const itemCredential = sessionsToken ?? environmentKey;
248
+ if (itemCredential === undefined) {
249
+ throw new error_1.AnthropicError('handleItem: the work item carried a secret payload but no sessions token could be extracted, ' +
250
+ 'and there is no environment key to fall back to; the poller must issue a secret whose ' +
251
+ 'payload carries `sessions_token`, or provide the environment key (pass it, construct the ' +
252
+ 'worker with it, or set ANTHROPIC_ENVIRONMENT_KEY)');
342
253
  }
343
- else {
344
- log.debug('memory stores disabled for this item', { work_id: work.id });
254
+ if (work.secret && sessionsToken === null) {
255
+ log.warn('work item carried a secret payload but no sessions token could be extracted; ' +
256
+ 'falling back to the environment key', { work_id: work.id });
345
257
  }
346
- const tools = typeof this.tools === 'function' ?
347
- this.tools(ctx)
348
- : this.tools ?? agentToolset.betaAgentToolset20260401(ctx);
349
- runner = new SessionToolRunner_1.SessionToolRunner(sessionId, {
350
- client: sessionClient,
351
- tools,
352
- ...(this.maxIdleMs !== undefined ? { maxIdleMs: this.maxIdleMs } : {}),
353
- ...(this.requestOptions !== undefined ? { requestOptions: this.requestOptions } : {}),
354
- signal: ctrl.signal,
258
+ // Every per-session call the SessionToolRunner event stream/list/send, the
259
+ // lease heartbeat, the skill download, and the work force-stop —
260
+ // authenticates with the per-item credential. Scope a client to it once and
261
+ // thread that through. `copyClientForHelper` also clears the parent's
262
+ // `apiKey`, so the sub-client emits *only* the bearer credential on the
263
+ // wire (a plain `withOptions({authToken})` would leave `X-Api-Key` set as
264
+ // well).
265
+ const sessionClient = (0, helper_client_1.copyClientForHelper)(this.client, {
266
+ authToken: itemCredential,
267
+ helper: 'environments-worker',
355
268
  });
356
- if (leaseTtlMs !== undefined)
357
- runner._setSendRetryWindow(leaseTtlMs);
358
- for await (const _ of runner) {
359
- // Drive the runner to completion; per-call observability is not part
360
- // of this composition's surface use `SessionToolRunner` directly
361
- // (via `client.beta.sessions.events.toolRunner`) if you want it.
362
- if (stores)
363
- await stores.syncIfDue();
364
- }
365
- // Only a clean stream end earns the last full sync; it runs in the
366
- // teardown below.
367
- cleanEnd = !ctrl.signal.aborted;
368
- }
369
- finally {
370
- // The heartbeat keeps the lease alive until this teardown is done.
269
+ // The poller runs with `autoStop: false`, so the per-item handler is the
270
+ // single owner of `work.stop` for every claimed item.
271
+ const sessionId = work.data.id;
272
+ // A per-session controller: aborts when the supplied signal aborts, when the
273
+ // session runner finishes, or when the lease heartbeat says to stop.
274
+ const ctrl = new AbortController();
275
+ const detachExternal = (0, abort_1.linkAbort)(externalSignal, ctrl);
276
+ const lease = new Lease(ctrl);
277
+ // Lazily load the Node-only toolset module — see the import note at the top.
278
+ const agentToolset = await Promise.resolve().then(() => tslib_1.__importStar(require("../../tools/agent-toolset/node.js")));
279
+ // Start the lease heartbeat BEFORE the session fetch and the skill /
280
+ // memory downloads: those can take longer than the lease TTL, and an
281
+ // unheartbeated lease lapsing mid-download would let another worker
282
+ // reclaim the item and serve the same session (split-brain).
283
+ //
284
+ // Each heartbeat reports the lease TTL the server is enforcing; it becomes
285
+ // the runner's tool-result send retry window so a send keeps retrying
286
+ // exactly as long as the lease could still be live. The runner is only
287
+ // built after the downloads, so hold the latest TTL until then.
288
+ let leaseTtlMs;
289
+ let runner;
290
+ const heartbeatPromise = heartbeatLoop(sessionClient, work, lease, log, this.requestOptions, (ttlMs) => {
291
+ leaseTtlMs = ttlMs;
292
+ runner?._setSendRetryWindow(ttlMs);
293
+ }).catch((e) => {
294
+ if (!ctrl.signal.aborted)
295
+ log.error('heartbeat loop failed', { work_id: work.id, error: String(e) });
296
+ ctrl.abort();
297
+ });
298
+ let cleanupSkills = async () => { };
299
+ let stores;
300
+ let cleanEnd = false;
371
301
  try {
372
- // cleanupSkills first, so its failure cannot skip the memory flush.
373
- await cleanupSkills().catch((e) => {
374
- log.warn('skill cleanup failed', { session_id: sessionId, work_id: work.id, error: String(e) });
302
+ if (work.data.type !== 'session') {
303
+ log.debug('skipping non-session work item', { work_id: work.id, type: work.data.type });
304
+ return;
305
+ }
306
+ // One session fetch, shared by the skills download and the memory-store
307
+ // download — two fetches could disagree about the attached resources.
308
+ // A failed fetch fails the work item (the teardown below still stops
309
+ // or releases it).
310
+ const session = await sessionClient.beta.sessions.retrieve(sessionId);
311
+ // Only with the session in hand can we tell one that simply has no
312
+ // memory from one whose memory we cannot mount. Turning memory off
313
+ // with the interval knob is a deliberate opt-out and stays quiet.
314
+ if (sessionsToken === null && this.memorySyncIntervalMs !== null && hasMemoryStore(session)) {
315
+ throw new agentToolset.SessionMemoryError(`cannot mount the session's memories: the work item carried no sessions token ` +
316
+ `(work_id=${work.id}, session_id=${sessionId}); ` +
317
+ 'the memory endpoints reject the environment key, so the poller must issue a per-item ' +
318
+ '`secret` carrying `sessions_token`, or set `memorySyncIntervalMs: null` to run without memory');
319
+ }
320
+ const ctx = {
321
+ workdir: this.workdir,
322
+ // The scoped sub-client, not the parent: the skill download
323
+ // `setupSkills` performs for this session rides the same per-item
324
+ // credential as every other per-item call.
325
+ client: sessionClient,
326
+ session,
327
+ ...(this.maxFileBytes !== undefined ? { maxFileBytes: this.maxFileBytes } : {}),
328
+ };
329
+ try {
330
+ cleanupSkills = await agentToolset.setupSkills(ctx);
331
+ }
332
+ catch (e) {
333
+ log.warn('skill setup failed', { session_id: sessionId, work_id: work.id, error: String(e) });
334
+ }
335
+ // Memory stores: the memory_stores endpoints accept the per-item sessions
336
+ // token but reject the environment key, so download and sync only run when
337
+ // the item carried a usable secret (and the interval is set).
338
+ // `sessionClient` is already scoped to that token then, so the memory
339
+ // calls ride the same sub-client. A store that cannot be materialised
340
+ // throws `SessionMemoryError` out of `download` and fails the item.
341
+ if (sessionsToken !== null && this.memorySyncIntervalMs !== null) {
342
+ stores = new agentToolset.SessionMemoryStores(sessionClient, {
343
+ workdir: this.workdir,
344
+ ...(this.memorySyncIntervalMs !== undefined ? { syncIntervalMs: this.memorySyncIntervalMs } : {}),
345
+ syncDeletions: this.memorySyncDeletions,
346
+ });
347
+ await stores.download(session);
348
+ // A store mounted outside the workdir must stay reachable by the file
349
+ // tools; read-only stores still refuse writes.
350
+ ctx.allowedRoots = stores.roots;
351
+ ctx.readOnlyRoots = stores.readOnlyRoots;
352
+ }
353
+ else {
354
+ log.debug('memory stores disabled for this item', { work_id: work.id });
355
+ }
356
+ const tools = typeof this.tools === 'function' ?
357
+ this.tools(ctx)
358
+ : this.tools ?? agentToolset.betaAgentToolset20260401(ctx);
359
+ runner = new SessionToolRunner_1.SessionToolRunner(sessionId, {
360
+ client: sessionClient,
361
+ tools,
362
+ ...(this.maxIdleMs !== undefined ? { maxIdleMs: this.maxIdleMs } : {}),
363
+ ...(this.requestOptions !== undefined ? { requestOptions: this.requestOptions } : {}),
364
+ signal: ctrl.signal,
375
365
  });
366
+ if (leaseTtlMs !== undefined)
367
+ runner._setSendRetryWindow(leaseTtlMs);
368
+ for await (const _ of runner) {
369
+ // Drive the runner to completion; per-call observability is not part
370
+ // of this composition's surface — use `SessionToolRunner` directly
371
+ // (via `client.beta.sessions.events.toolRunner`) if you want it.
372
+ if (stores)
373
+ await stores.syncIfDue();
374
+ }
375
+ // Only a clean stream end earns the last full sync; it runs in the
376
+ // teardown below.
377
+ cleanEnd = !ctrl.signal.aborted;
376
378
  }
377
379
  finally {
378
- if (stores) {
379
- const boundMs = agentToolset.MEMORY_FLUSH_TIMEOUT_MS;
380
- if (cleanEnd) {
381
- const finishCutOff = await withTimeout(stores.finish(), boundMs);
382
- if (finishCutOff) {
383
- log.warn(`final memory sync cut off after ${boundMs}ms; the flush that follows still uploads changed files`, { session_id: sessionId, work_id: work.id });
380
+ // The heartbeat keeps the lease alive until this teardown is done.
381
+ try {
382
+ // cleanupSkills first, so its failure cannot skip the memory flush.
383
+ await cleanupSkills().catch((e) => {
384
+ log.warn('skill cleanup failed', { session_id: sessionId, work_id: work.id, error: String(e) });
385
+ });
386
+ }
387
+ finally {
388
+ if (stores) {
389
+ const boundMs = agentToolset.MEMORY_FLUSH_TIMEOUT_MS;
390
+ if (cleanEnd) {
391
+ const finishCutOff = await withTimeout(stores.finish(), boundMs);
392
+ if (finishCutOff) {
393
+ log.warn(`final memory sync cut off after ${boundMs}ms; the flush that follows still uploads changed files`, { session_id: sessionId, work_id: work.id });
394
+ }
384
395
  }
385
- }
386
- // Also after finish(): it swallows its own failures, and a
387
- // clean flush is a no-op.
388
- const flushBound = new AbortController();
389
- const flushCutOff = await withTimeout(stores.flushWrites(flushBound.signal), boundMs);
390
- if (flushCutOff) {
391
- flushBound.abort();
392
- log.warn(`memory flush cut off after ${boundMs}ms; changed files it had not uploaded yet are not saved`, { session_id: sessionId, work_id: work.id });
393
- }
394
- await stores.dispose().catch((e) => {
395
- log.warn('memory store cleanup failed', {
396
- session_id: sessionId,
397
- work_id: work.id,
398
- error: String(e),
396
+ // Also after finish(): it swallows its own failures, and a
397
+ // clean flush is a no-op.
398
+ const flushBound = new AbortController();
399
+ const flushCutOff = await withTimeout(stores.flushWrites(flushBound.signal), boundMs);
400
+ if (flushCutOff) {
401
+ flushBound.abort();
402
+ log.warn(`memory flush cut off after ${boundMs}ms; changed files it had not uploaded yet are not saved`, { session_id: sessionId, work_id: work.id });
403
+ }
404
+ await stores.dispose().catch((e) => {
405
+ log.warn('memory store cleanup failed', {
406
+ session_id: sessionId,
407
+ work_id: work.id,
408
+ error: String(e),
409
+ });
399
410
  });
400
- });
411
+ }
412
+ }
413
+ lease.finish('runner_done');
414
+ detachExternal();
415
+ await heartbeatPromise;
416
+ // Stop only an item this worker still holds — after a lost lease it
417
+ // belongs to the queue or another worker.
418
+ if (lease.lost) {
419
+ log.info('lease lost; released without stopping it', { session_id: sessionId, work_id: work.id });
420
+ }
421
+ else {
422
+ await forceStop(sessionClient, work, log, this.requestOptions);
401
423
  }
402
424
  }
403
- lease.finish('runner_done');
404
- detachExternal();
405
- await heartbeatPromise;
406
- // Stop only an item this worker still holds — after a lost lease it
407
- // belongs to the queue or another worker.
408
- if (lease.lost) {
409
- log.info('lease lost; released without stopping it', { session_id: sessionId, work_id: work.id });
410
- }
411
- else {
412
- await forceStop(sessionClient, work, log, this.requestOptions);
413
- }
414
- }
415
- };
425
+ };
426
+ return EnvironmentWorker;
427
+ })();
428
+ exports.EnvironmentWorker = EnvironmentWorker;
416
429
  /**
417
430
  * Resolve when `p` settles or `ms` elapses — `true` when `ms` elapsed
418
431
  * first. A timed-out `p` keeps running — JS cannot cancel a promise.
@@ -447,31 +460,34 @@ async function forceStop(client, work, log, requestOptions) {
447
460
  }
448
461
  }
449
462
  }
450
- /**
451
- * This worker's view of one work-item lease: the per-item abort signal plus
452
- * why heartbeating ended. The first recorded reason wins, so a run aborted
453
- * *because* the lease was lost still reads as lost afterwards; an abort with
454
- * no recorded reason (the external signal) is not lost.
455
- */
456
- class Lease {
457
- constructor(ctrl) {
458
- _Lease_ctrl.set(this, void 0);
459
- _Lease_endReason.set(this, void 0);
460
- tslib_1.__classPrivateFieldSet(this, _Lease_ctrl, ctrl, "f");
461
- }
462
- get signal() {
463
- return tslib_1.__classPrivateFieldGet(this, _Lease_ctrl, "f").signal;
464
- }
465
- finish(reason) {
466
- tslib_1.__classPrivateFieldSet(this, _Lease_endReason, tslib_1.__classPrivateFieldGet(this, _Lease_endReason, "f") ?? reason, "f");
467
- tslib_1.__classPrivateFieldGet(this, _Lease_ctrl, "f").abort();
468
- }
469
- /** True once the item belongs to the queue or another worker. */
470
- get lost() {
471
- return tslib_1.__classPrivateFieldGet(this, _Lease_endReason, "f") === 'lease_lost' || tslib_1.__classPrivateFieldGet(this, _Lease_endReason, "f") === 'assumed_lost';
463
+ var Lease = /* @__PURE__ */ (() => {
464
+ /**
465
+ * This worker's view of one work-item lease: the per-item abort signal plus
466
+ * why heartbeating ended. The first recorded reason wins, so a run aborted
467
+ * *because* the lease was lost still reads as lost afterwards; an abort with
468
+ * no recorded reason (the external signal) is not lost.
469
+ */
470
+ class Lease {
471
+ constructor(ctrl) {
472
+ _Lease_ctrl.set(this, void 0);
473
+ _Lease_endReason.set(this, void 0);
474
+ tslib_1.__classPrivateFieldSet(this, _Lease_ctrl, ctrl, "f");
475
+ }
476
+ get signal() {
477
+ return tslib_1.__classPrivateFieldGet(this, _Lease_ctrl, "f").signal;
478
+ }
479
+ finish(reason) {
480
+ tslib_1.__classPrivateFieldSet(this, _Lease_endReason, tslib_1.__classPrivateFieldGet(this, _Lease_endReason, "f") ?? reason, "f");
481
+ tslib_1.__classPrivateFieldGet(this, _Lease_ctrl, "f").abort();
482
+ }
483
+ /** True once the item belongs to the queue or another worker. */
484
+ get lost() {
485
+ return tslib_1.__classPrivateFieldGet(this, _Lease_endReason, "f") === 'lease_lost' || tslib_1.__classPrivateFieldGet(this, _Lease_endReason, "f") === 'assumed_lost';
486
+ }
472
487
  }
473
- }
474
- _Lease_ctrl = new WeakMap(), _Lease_endReason = new WeakMap();
488
+ _Lease_ctrl = new WeakMap(), _Lease_endReason = new WeakMap();
489
+ return Lease;
490
+ })();
475
491
  /** The server's view of the lease carried by a 412 heartbeat response, or empty if absent. */
476
492
  function serverLeaseState(e) {
477
493
  let node = e instanceof error_1.APIError ? e.error : undefined;