@anthropic-ai/sdk 0.119.0 → 0.121.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/helpers/beta/environments.d.mts +5 -4
  3. package/helpers/beta/environments.d.mts.map +1 -1
  4. package/helpers/beta/environments.d.ts +5 -4
  5. package/helpers/beta/environments.d.ts.map +1 -1
  6. package/helpers/beta/environments.js +5 -4
  7. package/helpers/beta/environments.js.map +1 -1
  8. package/helpers/beta/environments.mjs +5 -4
  9. package/helpers/beta/environments.mjs.map +1 -1
  10. package/helpers/beta/standard-schema.d.mts +45 -0
  11. package/helpers/beta/standard-schema.d.mts.map +1 -0
  12. package/helpers/beta/standard-schema.d.ts +45 -0
  13. package/helpers/beta/standard-schema.d.ts.map +1 -0
  14. package/helpers/beta/standard-schema.js +58 -0
  15. package/helpers/beta/standard-schema.js.map +1 -0
  16. package/helpers/beta/standard-schema.mjs +54 -0
  17. package/helpers/beta/standard-schema.mjs.map +1 -0
  18. package/internal/detect-platform.js +1 -1
  19. package/internal/detect-platform.js.map +1 -1
  20. package/internal/detect-platform.mjs +1 -1
  21. package/internal/detect-platform.mjs.map +1 -1
  22. package/internal/file-store.d.mts +136 -0
  23. package/internal/file-store.d.mts.map +1 -0
  24. package/internal/file-store.d.ts +136 -0
  25. package/internal/file-store.d.ts.map +1 -0
  26. package/internal/file-store.js +531 -0
  27. package/internal/file-store.js.map +1 -0
  28. package/internal/file-store.mjs +523 -0
  29. package/internal/file-store.mjs.map +1 -0
  30. package/internal/utils/values.d.mts +6 -0
  31. package/internal/utils/values.d.mts.map +1 -1
  32. package/internal/utils/values.d.ts +6 -0
  33. package/internal/utils/values.d.ts.map +1 -1
  34. package/internal/utils/values.js +7 -0
  35. package/internal/utils/values.js.map +1 -1
  36. package/internal/utils/values.mjs +6 -0
  37. package/internal/utils/values.mjs.map +1 -1
  38. package/lib/BetaMessageStream.d.mts.map +1 -1
  39. package/lib/BetaMessageStream.d.ts.map +1 -1
  40. package/lib/BetaMessageStream.js +3 -4
  41. package/lib/BetaMessageStream.js.map +1 -1
  42. package/lib/BetaMessageStream.mjs +1 -2
  43. package/lib/BetaMessageStream.mjs.map +1 -1
  44. package/lib/MessageStream.d.mts.map +1 -1
  45. package/lib/MessageStream.d.ts.map +1 -1
  46. package/lib/MessageStream.js +3 -4
  47. package/lib/MessageStream.js.map +1 -1
  48. package/lib/MessageStream.mjs +1 -2
  49. package/lib/MessageStream.mjs.map +1 -1
  50. package/lib/environments/poller.d.mts +6 -0
  51. package/lib/environments/poller.d.mts.map +1 -1
  52. package/lib/environments/poller.d.ts +6 -0
  53. package/lib/environments/poller.d.ts.map +1 -1
  54. package/lib/environments/poller.js +46 -1
  55. package/lib/environments/poller.js.map +1 -1
  56. package/lib/environments/poller.mjs +46 -1
  57. package/lib/environments/poller.mjs.map +1 -1
  58. package/lib/environments/worker.d.mts +89 -12
  59. package/lib/environments/worker.d.mts.map +1 -1
  60. package/lib/environments/worker.d.ts +89 -12
  61. package/lib/environments/worker.d.ts.map +1 -1
  62. package/lib/environments/worker.js +336 -67
  63. package/lib/environments/worker.js.map +1 -1
  64. package/lib/environments/worker.mjs +336 -68
  65. package/lib/environments/worker.mjs.map +1 -1
  66. package/lib/sessions/accumulate.d.mts.map +1 -1
  67. package/lib/sessions/accumulate.d.ts.map +1 -1
  68. package/lib/sessions/accumulate.js +3 -4
  69. package/lib/sessions/accumulate.js.map +1 -1
  70. package/lib/sessions/accumulate.mjs +1 -2
  71. package/lib/sessions/accumulate.mjs.map +1 -1
  72. package/lib/standard-schema.d.mts +131 -0
  73. package/lib/standard-schema.d.mts.map +1 -0
  74. package/lib/standard-schema.d.ts +131 -0
  75. package/lib/standard-schema.d.ts.map +1 -0
  76. package/lib/standard-schema.js +45 -0
  77. package/lib/standard-schema.js.map +1 -0
  78. package/lib/standard-schema.mjs +41 -0
  79. package/lib/standard-schema.mjs.map +1 -0
  80. package/lib/tools/BetaToolRunner.d.mts.map +1 -1
  81. package/lib/tools/BetaToolRunner.d.ts.map +1 -1
  82. package/lib/tools/BetaToolRunner.js +35 -6
  83. package/lib/tools/BetaToolRunner.js.map +1 -1
  84. package/lib/tools/BetaToolRunner.mjs +35 -6
  85. package/lib/tools/BetaToolRunner.mjs.map +1 -1
  86. package/package.json +2 -11
  87. package/resources/beta/agents/agents.d.mts +322 -27
  88. package/resources/beta/agents/agents.d.mts.map +1 -1
  89. package/resources/beta/agents/agents.d.ts +322 -27
  90. package/resources/beta/agents/agents.d.ts.map +1 -1
  91. package/resources/beta/agents/agents.js.map +1 -1
  92. package/resources/beta/agents/agents.mjs.map +1 -1
  93. package/resources/beta/agents/index.d.mts +1 -1
  94. package/resources/beta/agents/index.d.mts.map +1 -1
  95. package/resources/beta/agents/index.d.ts +1 -1
  96. package/resources/beta/agents/index.d.ts.map +1 -1
  97. package/resources/beta/agents/index.js.map +1 -1
  98. package/resources/beta/agents/index.mjs.map +1 -1
  99. package/resources/beta/beta.d.mts +7 -3
  100. package/resources/beta/beta.d.mts.map +1 -1
  101. package/resources/beta/beta.d.ts +7 -3
  102. package/resources/beta/beta.d.ts.map +1 -1
  103. package/resources/beta/beta.js +4 -0
  104. package/resources/beta/beta.js.map +1 -1
  105. package/resources/beta/beta.mjs +4 -0
  106. package/resources/beta/beta.mjs.map +1 -1
  107. package/resources/beta/environments/environments.d.mts +8 -1
  108. package/resources/beta/environments/environments.d.mts.map +1 -1
  109. package/resources/beta/environments/environments.d.ts +8 -1
  110. package/resources/beta/environments/environments.d.ts.map +1 -1
  111. package/resources/beta/environments/environments.js.map +1 -1
  112. package/resources/beta/environments/environments.mjs.map +1 -1
  113. package/resources/beta/environments/work.d.mts +5 -1
  114. package/resources/beta/environments/work.d.mts.map +1 -1
  115. package/resources/beta/environments/work.d.ts +5 -1
  116. package/resources/beta/environments/work.d.ts.map +1 -1
  117. package/resources/beta/environments/work.js +0 -17
  118. package/resources/beta/environments/work.js.map +1 -1
  119. package/resources/beta/environments/work.mjs +0 -17
  120. package/resources/beta/environments/work.mjs.map +1 -1
  121. package/resources/beta/index.d.mts +2 -1
  122. package/resources/beta/index.d.mts.map +1 -1
  123. package/resources/beta/index.d.ts +2 -1
  124. package/resources/beta/index.d.ts.map +1 -1
  125. package/resources/beta/index.js +11 -9
  126. package/resources/beta/index.js.map +1 -1
  127. package/resources/beta/index.mjs +1 -0
  128. package/resources/beta/index.mjs.map +1 -1
  129. package/resources/beta/memory-stores/memories.d.mts +6 -5
  130. package/resources/beta/memory-stores/memories.d.mts.map +1 -1
  131. package/resources/beta/memory-stores/memories.d.ts +6 -5
  132. package/resources/beta/memory-stores/memories.d.ts.map +1 -1
  133. package/resources/beta/memory-stores/memory-versions.d.mts +8 -5
  134. package/resources/beta/memory-stores/memory-versions.d.mts.map +1 -1
  135. package/resources/beta/memory-stores/memory-versions.d.ts +8 -5
  136. package/resources/beta/memory-stores/memory-versions.d.ts.map +1 -1
  137. package/resources/beta/messages/messages.d.mts +51 -9
  138. package/resources/beta/messages/messages.d.mts.map +1 -1
  139. package/resources/beta/messages/messages.d.ts +51 -9
  140. package/resources/beta/messages/messages.d.ts.map +1 -1
  141. package/resources/beta/messages/messages.js.map +1 -1
  142. package/resources/beta/messages/messages.mjs.map +1 -1
  143. package/resources/beta/organization/api-keys.d.mts +177 -0
  144. package/resources/beta/organization/api-keys.d.mts.map +1 -0
  145. package/resources/beta/organization/api-keys.d.ts +177 -0
  146. package/resources/beta/organization/api-keys.d.ts.map +1 -0
  147. package/resources/beta/organization/api-keys.js +56 -0
  148. package/resources/beta/organization/api-keys.js.map +1 -0
  149. package/resources/beta/organization/api-keys.mjs +52 -0
  150. package/resources/beta/organization/api-keys.mjs.map +1 -0
  151. package/resources/beta/organization/external-keys.d.mts +269 -0
  152. package/resources/beta/organization/external-keys.d.mts.map +1 -0
  153. package/resources/beta/organization/external-keys.d.ts +269 -0
  154. package/resources/beta/organization/external-keys.d.ts.map +1 -0
  155. package/resources/beta/organization/external-keys.js +119 -0
  156. package/resources/beta/organization/external-keys.js.map +1 -0
  157. package/resources/beta/organization/external-keys.mjs +115 -0
  158. package/resources/beta/organization/external-keys.mjs.map +1 -0
  159. package/resources/beta/organization/federation/federation.d.mts +14 -0
  160. package/resources/beta/organization/federation/federation.d.mts.map +1 -0
  161. package/resources/beta/organization/federation/federation.d.ts +14 -0
  162. package/resources/beta/organization/federation/federation.d.ts.map +1 -0
  163. package/resources/beta/organization/federation/federation.js +21 -0
  164. package/resources/beta/organization/federation/federation.js.map +1 -0
  165. package/resources/beta/organization/federation/federation.mjs +16 -0
  166. package/resources/beta/organization/federation/federation.mjs.map +1 -0
  167. package/resources/beta/organization/federation/index.d.mts +4 -0
  168. package/resources/beta/organization/federation/index.d.mts.map +1 -0
  169. package/resources/beta/organization/federation/index.d.ts +4 -0
  170. package/resources/beta/organization/federation/index.d.ts.map +1 -0
  171. package/resources/beta/organization/federation/index.js +11 -0
  172. package/resources/beta/organization/federation/index.js.map +1 -0
  173. package/resources/beta/organization/federation/index.mjs +5 -0
  174. package/resources/beta/organization/federation/index.mjs.map +1 -0
  175. package/resources/beta/organization/federation/issuers.d.mts +353 -0
  176. package/resources/beta/organization/federation/issuers.d.mts.map +1 -0
  177. package/resources/beta/organization/federation/issuers.d.ts +353 -0
  178. package/resources/beta/organization/federation/issuers.d.ts.map +1 -0
  179. package/resources/beta/organization/federation/issuers.js +169 -0
  180. package/resources/beta/organization/federation/issuers.js.map +1 -0
  181. package/resources/beta/organization/federation/issuers.mjs +165 -0
  182. package/resources/beta/organization/federation/issuers.mjs.map +1 -0
  183. package/resources/beta/organization/federation/rules/index.d.mts +3 -0
  184. package/resources/beta/organization/federation/rules/index.d.mts.map +1 -0
  185. package/resources/beta/organization/federation/rules/index.d.ts +3 -0
  186. package/resources/beta/organization/federation/rules/index.d.ts.map +1 -0
  187. package/resources/beta/organization/federation/rules/index.js +9 -0
  188. package/resources/beta/organization/federation/rules/index.js.map +1 -0
  189. package/resources/beta/organization/federation/rules/index.mjs +4 -0
  190. package/resources/beta/organization/federation/rules/index.mjs.map +1 -0
  191. package/resources/beta/organization/federation/rules/rules.d.mts +468 -0
  192. package/resources/beta/organization/federation/rules/rules.d.mts.map +1 -0
  193. package/resources/beta/organization/federation/rules/rules.d.ts +468 -0
  194. package/resources/beta/organization/federation/rules/rules.d.ts.map +1 -0
  195. package/resources/beta/organization/federation/rules/rules.js +198 -0
  196. package/resources/beta/organization/federation/rules/rules.js.map +1 -0
  197. package/resources/beta/organization/federation/rules/rules.mjs +193 -0
  198. package/resources/beta/organization/federation/rules/rules.mjs.map +1 -0
  199. package/resources/beta/organization/federation/rules/workspaces.d.mts +124 -0
  200. package/resources/beta/organization/federation/rules/workspaces.d.mts.map +1 -0
  201. package/resources/beta/organization/federation/rules/workspaces.d.ts +124 -0
  202. package/resources/beta/organization/federation/rules/workspaces.d.ts.map +1 -0
  203. package/resources/beta/organization/federation/rules/workspaces.js +114 -0
  204. package/resources/beta/organization/federation/rules/workspaces.js.map +1 -0
  205. package/resources/beta/organization/federation/rules/workspaces.mjs +110 -0
  206. package/resources/beta/organization/federation/rules/workspaces.mjs.map +1 -0
  207. package/resources/beta/organization/federation/rules.d.mts +2 -0
  208. package/resources/beta/organization/federation/rules.d.mts.map +1 -0
  209. package/resources/beta/organization/federation/rules.d.ts +2 -0
  210. package/resources/beta/organization/federation/rules.d.ts.map +1 -0
  211. package/resources/beta/organization/federation/rules.js +6 -0
  212. package/resources/beta/organization/federation/rules.js.map +1 -0
  213. package/resources/beta/organization/federation/rules.mjs +3 -0
  214. package/resources/beta/organization/federation/rules.mjs.map +1 -0
  215. package/resources/beta/organization/federation.d.mts +2 -0
  216. package/resources/beta/organization/federation.d.mts.map +1 -0
  217. package/resources/beta/organization/federation.d.ts +2 -0
  218. package/resources/beta/organization/federation.d.ts.map +1 -0
  219. package/resources/beta/organization/federation.js +6 -0
  220. package/resources/beta/organization/federation.js.map +1 -0
  221. package/resources/beta/organization/federation.mjs +3 -0
  222. package/resources/beta/organization/federation.mjs.map +1 -0
  223. package/resources/beta/organization/index.d.mts +10 -0
  224. package/resources/beta/organization/index.d.mts.map +1 -0
  225. package/resources/beta/organization/index.d.ts +10 -0
  226. package/resources/beta/organization/index.d.ts.map +1 -0
  227. package/resources/beta/organization/index.js +23 -0
  228. package/resources/beta/organization/index.js.map +1 -0
  229. package/resources/beta/organization/index.mjs +11 -0
  230. package/resources/beta/organization/index.mjs.map +1 -0
  231. package/resources/beta/organization/invites.d.mts +162 -0
  232. package/resources/beta/organization/invites.d.mts.map +1 -0
  233. package/resources/beta/organization/invites.d.ts +162 -0
  234. package/resources/beta/organization/invites.d.ts.map +1 -0
  235. package/resources/beta/organization/invites.js +76 -0
  236. package/resources/beta/organization/invites.js.map +1 -0
  237. package/resources/beta/organization/invites.mjs +72 -0
  238. package/resources/beta/organization/invites.mjs.map +1 -0
  239. package/resources/beta/organization/organization.d.mts +69 -0
  240. package/resources/beta/organization/organization.d.mts.map +1 -0
  241. package/resources/beta/organization/organization.d.ts +69 -0
  242. package/resources/beta/organization/organization.d.ts.map +1 -0
  243. package/resources/beta/organization/organization.js +58 -0
  244. package/resources/beta/organization/organization.js.map +1 -0
  245. package/resources/beta/organization/organization.mjs +53 -0
  246. package/resources/beta/organization/organization.mjs.map +1 -0
  247. package/resources/beta/organization/rate-limits.d.mts +78 -0
  248. package/resources/beta/organization/rate-limits.d.mts.map +1 -0
  249. package/resources/beta/organization/rate-limits.d.ts +78 -0
  250. package/resources/beta/organization/rate-limits.d.ts.map +1 -0
  251. package/resources/beta/organization/rate-limits.js +32 -0
  252. package/resources/beta/organization/rate-limits.js.map +1 -0
  253. package/resources/beta/organization/rate-limits.mjs +28 -0
  254. package/resources/beta/organization/rate-limits.mjs.map +1 -0
  255. package/resources/beta/organization/service-accounts/index.d.mts +3 -0
  256. package/resources/beta/organization/service-accounts/index.d.mts.map +1 -0
  257. package/resources/beta/organization/service-accounts/index.d.ts +3 -0
  258. package/resources/beta/organization/service-accounts/index.d.ts.map +1 -0
  259. package/resources/beta/organization/service-accounts/index.js +9 -0
  260. package/resources/beta/organization/service-accounts/index.js.map +1 -0
  261. package/resources/beta/organization/service-accounts/index.mjs +4 -0
  262. package/resources/beta/organization/service-accounts/index.mjs.map +1 -0
  263. package/resources/beta/organization/service-accounts/service-accounts.d.mts +258 -0
  264. package/resources/beta/organization/service-accounts/service-accounts.d.mts.map +1 -0
  265. package/resources/beta/organization/service-accounts/service-accounts.d.ts +258 -0
  266. package/resources/beta/organization/service-accounts/service-accounts.d.ts.map +1 -0
  267. package/resources/beta/organization/service-accounts/service-accounts.js +174 -0
  268. package/resources/beta/organization/service-accounts/service-accounts.js.map +1 -0
  269. package/resources/beta/organization/service-accounts/service-accounts.mjs +169 -0
  270. package/resources/beta/organization/service-accounts/service-accounts.mjs.map +1 -0
  271. package/resources/beta/organization/service-accounts/workspaces.d.mts +141 -0
  272. package/resources/beta/organization/service-accounts/workspaces.d.mts.map +1 -0
  273. package/resources/beta/organization/service-accounts/workspaces.d.ts +141 -0
  274. package/resources/beta/organization/service-accounts/workspaces.d.ts.map +1 -0
  275. package/resources/beta/organization/service-accounts/workspaces.js +125 -0
  276. package/resources/beta/organization/service-accounts/workspaces.js.map +1 -0
  277. package/resources/beta/organization/service-accounts/workspaces.mjs +121 -0
  278. package/resources/beta/organization/service-accounts/workspaces.mjs.map +1 -0
  279. package/resources/beta/organization/service-accounts.d.mts +2 -0
  280. package/resources/beta/organization/service-accounts.d.mts.map +1 -0
  281. package/resources/beta/organization/service-accounts.d.ts +2 -0
  282. package/resources/beta/organization/service-accounts.d.ts.map +1 -0
  283. package/resources/beta/organization/service-accounts.js +6 -0
  284. package/resources/beta/organization/service-accounts.js.map +1 -0
  285. package/resources/beta/organization/service-accounts.mjs +3 -0
  286. package/resources/beta/organization/service-accounts.mjs.map +1 -0
  287. package/resources/beta/organization/users.d.mts +124 -0
  288. package/resources/beta/organization/users.d.mts.map +1 -0
  289. package/resources/beta/organization/users.d.ts +124 -0
  290. package/resources/beta/organization/users.d.ts.map +1 -0
  291. package/resources/beta/organization/users.js +67 -0
  292. package/resources/beta/organization/users.js.map +1 -0
  293. package/resources/beta/organization/users.mjs +63 -0
  294. package/resources/beta/organization/users.mjs.map +1 -0
  295. package/resources/beta/organization/workspaces/index.d.mts +5 -0
  296. package/resources/beta/organization/workspaces/index.d.mts.map +1 -0
  297. package/resources/beta/organization/workspaces/index.d.ts +5 -0
  298. package/resources/beta/organization/workspaces/index.d.ts.map +1 -0
  299. package/resources/beta/organization/workspaces/index.js +13 -0
  300. package/resources/beta/organization/workspaces/index.js.map +1 -0
  301. package/resources/beta/organization/workspaces/index.mjs +6 -0
  302. package/resources/beta/organization/workspaces/index.mjs.map +1 -0
  303. package/resources/beta/organization/workspaces/members.d.mts +135 -0
  304. package/resources/beta/organization/workspaces/members.d.mts.map +1 -0
  305. package/resources/beta/organization/workspaces/members.d.ts +135 -0
  306. package/resources/beta/organization/workspaces/members.d.ts.map +1 -0
  307. package/resources/beta/organization/workspaces/members.js +102 -0
  308. package/resources/beta/organization/workspaces/members.js.map +1 -0
  309. package/resources/beta/organization/workspaces/members.mjs +98 -0
  310. package/resources/beta/organization/workspaces/members.mjs.map +1 -0
  311. package/resources/beta/organization/workspaces/rate-limits.d.mts +84 -0
  312. package/resources/beta/organization/workspaces/rate-limits.d.mts.map +1 -0
  313. package/resources/beta/organization/workspaces/rate-limits.d.ts +84 -0
  314. package/resources/beta/organization/workspaces/rate-limits.d.ts.map +1 -0
  315. package/resources/beta/organization/workspaces/rate-limits.js +35 -0
  316. package/resources/beta/organization/workspaces/rate-limits.js.map +1 -0
  317. package/resources/beta/organization/workspaces/rate-limits.mjs +31 -0
  318. package/resources/beta/organization/workspaces/rate-limits.mjs.map +1 -0
  319. package/resources/beta/organization/workspaces/service-accounts.d.mts +210 -0
  320. package/resources/beta/organization/workspaces/service-accounts.d.mts.map +1 -0
  321. package/resources/beta/organization/workspaces/service-accounts.d.ts +210 -0
  322. package/resources/beta/organization/workspaces/service-accounts.d.ts.map +1 -0
  323. package/resources/beta/organization/workspaces/service-accounts.js +189 -0
  324. package/resources/beta/organization/workspaces/service-accounts.js.map +1 -0
  325. package/resources/beta/organization/workspaces/service-accounts.mjs +185 -0
  326. package/resources/beta/organization/workspaces/service-accounts.mjs.map +1 -0
  327. package/resources/beta/organization/workspaces/workspaces.d.mts +287 -0
  328. package/resources/beta/organization/workspaces/workspaces.d.mts.map +1 -0
  329. package/resources/beta/organization/workspaces/workspaces.d.ts +287 -0
  330. package/resources/beta/organization/workspaces/workspaces.d.ts.map +1 -0
  331. package/resources/beta/organization/workspaces/workspaces.js +112 -0
  332. package/resources/beta/organization/workspaces/workspaces.js.map +1 -0
  333. package/resources/beta/organization/workspaces/workspaces.mjs +107 -0
  334. package/resources/beta/organization/workspaces/workspaces.mjs.map +1 -0
  335. package/resources/beta/organization/workspaces.d.mts +2 -0
  336. package/resources/beta/organization/workspaces.d.mts.map +1 -0
  337. package/resources/beta/organization/workspaces.d.ts +2 -0
  338. package/resources/beta/organization/workspaces.d.ts.map +1 -0
  339. package/resources/beta/organization/workspaces.js +6 -0
  340. package/resources/beta/organization/workspaces.js.map +1 -0
  341. package/resources/beta/organization/workspaces.mjs +3 -0
  342. package/resources/beta/organization/workspaces.mjs.map +1 -0
  343. package/resources/beta/organization.d.mts +2 -0
  344. package/resources/beta/organization.d.mts.map +1 -0
  345. package/resources/beta/organization.d.ts +2 -0
  346. package/resources/beta/organization.d.ts.map +1 -0
  347. package/resources/beta/organization.js +6 -0
  348. package/resources/beta/organization.js.map +1 -0
  349. package/resources/beta/organization.mjs +3 -0
  350. package/resources/beta/organization.mjs.map +1 -0
  351. package/resources/beta/sessions/threads/threads.d.mts +2 -1
  352. package/resources/beta/sessions/threads/threads.d.mts.map +1 -1
  353. package/resources/beta/sessions/threads/threads.d.ts +2 -1
  354. package/resources/beta/sessions/threads/threads.d.ts.map +1 -1
  355. package/resources/beta/sessions/threads/threads.js.map +1 -1
  356. package/resources/beta/sessions/threads/threads.mjs.map +1 -1
  357. package/resources/messages/messages.d.mts +1 -1
  358. package/resources/messages/messages.d.ts +1 -1
  359. package/src/helpers/beta/environments.ts +5 -4
  360. package/src/helpers/beta/standard-schema.ts +99 -0
  361. package/src/internal/detect-platform.ts +1 -1
  362. package/src/internal/file-store.ts +550 -0
  363. package/src/internal/utils/values.ts +7 -0
  364. package/src/lib/BetaMessageStream.ts +1 -3
  365. package/src/lib/MessageStream.ts +1 -3
  366. package/src/lib/environments/poller.ts +47 -1
  367. package/src/lib/environments/worker.ts +419 -79
  368. package/src/lib/sessions/accumulate.ts +1 -3
  369. package/src/lib/standard-schema.ts +209 -0
  370. package/src/lib/tools/BetaToolRunner.ts +38 -6
  371. package/src/resources/beta/agents/agents.ts +435 -30
  372. package/src/resources/beta/agents/index.ts +17 -0
  373. package/src/resources/beta/beta.ts +52 -1
  374. package/src/resources/beta/environments/environments.ts +8 -1
  375. package/src/resources/beta/environments/work.ts +7 -0
  376. package/src/resources/beta/index.ts +18 -0
  377. package/src/resources/beta/memory-stores/memories.ts +6 -5
  378. package/src/resources/beta/memory-stores/memory-versions.ts +8 -5
  379. package/src/resources/beta/messages/messages.ts +51 -9
  380. package/src/resources/beta/organization/api-keys.ts +231 -0
  381. package/src/resources/beta/organization/external-keys.ts +362 -0
  382. package/src/resources/beta/organization/federation/federation.ts +71 -0
  383. package/src/resources/beta/organization/federation/index.ts +31 -0
  384. package/src/resources/beta/organization/federation/issuers.ts +486 -0
  385. package/src/resources/beta/organization/federation/rules/index.ts +23 -0
  386. package/src/resources/beta/organization/federation/rules/rules.ts +624 -0
  387. package/src/resources/beta/organization/federation/rules/workspaces.ts +196 -0
  388. package/src/resources/beta/organization/federation/rules.ts +3 -0
  389. package/src/resources/beta/organization/federation.ts +3 -0
  390. package/src/resources/beta/organization/index.ts +83 -0
  391. package/src/resources/beta/organization/invites.ts +207 -0
  392. package/src/resources/beta/organization/organization.ts +245 -0
  393. package/src/resources/beta/organization/rate-limits.ts +105 -0
  394. package/src/resources/beta/organization/service-accounts/index.ts +21 -0
  395. package/src/resources/beta/organization/service-accounts/service-accounts.ts +389 -0
  396. package/src/resources/beta/organization/service-accounts/workspaces.ts +217 -0
  397. package/src/resources/beta/organization/service-accounts.ts +3 -0
  398. package/src/resources/beta/organization/users.ts +163 -0
  399. package/src/resources/beta/organization/workspaces/index.ts +43 -0
  400. package/src/resources/beta/organization/workspaces/members.ts +209 -0
  401. package/src/resources/beta/organization/workspaces/rate-limits.ts +114 -0
  402. package/src/resources/beta/organization/workspaces/service-accounts.ts +325 -0
  403. package/src/resources/beta/organization/workspaces/workspaces.ts +434 -0
  404. package/src/resources/beta/organization/workspaces.ts +3 -0
  405. package/src/resources/beta/organization.ts +3 -0
  406. package/src/resources/beta/sessions/threads/threads.ts +2 -1
  407. package/src/resources/messages/messages.ts +1 -1
  408. package/src/tools/agent-toolset/fs-util.ts +40 -24
  409. package/src/tools/agent-toolset/memories.ts +1017 -0
  410. package/src/tools/agent-toolset/node.browser.ts +69 -1
  411. package/src/tools/agent-toolset/node.ts +143 -57
  412. package/src/tools/agent-toolset/skills.ts +29 -9
  413. package/src/tools/agent-toolset/sync-interval.ts +30 -0
  414. package/src/version.ts +1 -1
  415. package/tools/agent-toolset/fs-util.d.mts +23 -10
  416. package/tools/agent-toolset/fs-util.d.mts.map +1 -1
  417. package/tools/agent-toolset/fs-util.d.ts +23 -10
  418. package/tools/agent-toolset/fs-util.d.ts.map +1 -1
  419. package/tools/agent-toolset/fs-util.js +40 -25
  420. package/tools/agent-toolset/fs-util.js.map +1 -1
  421. package/tools/agent-toolset/fs-util.mjs +38 -25
  422. package/tools/agent-toolset/fs-util.mjs.map +1 -1
  423. package/tools/agent-toolset/memories.d.mts +173 -0
  424. package/tools/agent-toolset/memories.d.mts.map +1 -0
  425. package/tools/agent-toolset/memories.d.ts +173 -0
  426. package/tools/agent-toolset/memories.d.ts.map +1 -0
  427. package/tools/agent-toolset/memories.js +902 -0
  428. package/tools/agent-toolset/memories.js.map +1 -0
  429. package/tools/agent-toolset/memories.mjs +895 -0
  430. package/tools/agent-toolset/memories.mjs.map +1 -0
  431. package/tools/agent-toolset/node.browser.d.mts +32 -1
  432. package/tools/agent-toolset/node.browser.d.mts.map +1 -1
  433. package/tools/agent-toolset/node.browser.d.ts +32 -1
  434. package/tools/agent-toolset/node.browser.d.ts.map +1 -1
  435. package/tools/agent-toolset/node.browser.js +59 -1
  436. package/tools/agent-toolset/node.browser.js.map +1 -1
  437. package/tools/agent-toolset/node.browser.mjs +54 -0
  438. package/tools/agent-toolset/node.browser.mjs.map +1 -1
  439. package/tools/agent-toolset/node.d.mts +56 -24
  440. package/tools/agent-toolset/node.d.mts.map +1 -1
  441. package/tools/agent-toolset/node.d.ts +56 -24
  442. package/tools/agent-toolset/node.d.ts.map +1 -1
  443. package/tools/agent-toolset/node.js +83 -44
  444. package/tools/agent-toolset/node.js.map +1 -1
  445. package/tools/agent-toolset/node.mjs +77 -44
  446. package/tools/agent-toolset/node.mjs.map +1 -1
  447. package/tools/agent-toolset/skills.d.mts +16 -7
  448. package/tools/agent-toolset/skills.d.mts.map +1 -1
  449. package/tools/agent-toolset/skills.d.ts +16 -7
  450. package/tools/agent-toolset/skills.d.ts.map +1 -1
  451. package/tools/agent-toolset/skills.js +27 -9
  452. package/tools/agent-toolset/skills.js.map +1 -1
  453. package/tools/agent-toolset/skills.mjs +27 -9
  454. package/tools/agent-toolset/skills.mjs.map +1 -1
  455. package/tools/agent-toolset/sync-interval.d.mts +19 -0
  456. package/tools/agent-toolset/sync-interval.d.mts.map +1 -0
  457. package/tools/agent-toolset/sync-interval.d.ts +19 -0
  458. package/tools/agent-toolset/sync-interval.d.ts.map +1 -0
  459. package/tools/agent-toolset/sync-interval.js +29 -0
  460. package/tools/agent-toolset/sync-interval.js.map +1 -0
  461. package/tools/agent-toolset/sync-interval.mjs +25 -0
  462. package/tools/agent-toolset/sync-interval.mjs.map +1 -0
  463. package/version.d.mts +1 -1
  464. package/version.d.ts +1 -1
  465. package/version.js +1 -1
  466. package/version.mjs +1 -1
@@ -1,21 +1,62 @@
1
1
  "use strict";
2
- var _EnvironmentWorker_instances, _EnvironmentWorker_signal, _EnvironmentWorker_handleItem;
2
+ var _EnvironmentWorker_instances, _EnvironmentWorker_signal, _EnvironmentWorker_handleItem, _Lease_ctrl, _Lease_endReason;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.EnvironmentWorker = void 0;
5
+ exports.sessionsTokenFromSecret = sessionsTokenFromSecret;
5
6
  const tslib_1 = require("../../internal/tslib.js");
6
7
  const error_1 = require("../../core/error.js");
7
8
  const log_1 = require("../../internal/utils/log.js");
9
+ const base64_1 = require("../../internal/utils/base64.js");
10
+ const bytes_1 = require("../../internal/utils/bytes.js");
8
11
  const env_1 = require("../../internal/utils/env.js");
9
12
  const sleep_1 = require("../../internal/utils/sleep.js");
10
13
  const backoff_1 = require("../../internal/utils/backoff.js");
11
14
  const abort_1 = require("../../internal/utils/abort.js");
15
+ const values_1 = require("../../internal/utils/values.js");
12
16
  const headers_1 = require("../../internal/headers.js");
13
17
  const SessionToolRunner_1 = require("../tools/SessionToolRunner.js");
14
18
  const poller_1 = require("./poller.js");
15
19
  const helper_client_1 = require("../helper-client.js");
20
+ const sync_interval_1 = require("../../tools/agent-toolset/sync-interval.js");
16
21
  const HEARTBEAT_DEFAULT_MS = 30000;
17
22
  const HEARTBEAT_TTL_DEFAULT_MS = 90000;
18
23
  const NO_HEARTBEAT_SENTINEL = 'NO_HEARTBEAT';
24
+ /** True when the session has at least one memory store attached. */
25
+ function hasMemoryStore(session) {
26
+ return session.resources.some((r) => r.type === 'memory_store');
27
+ }
28
+ /**
29
+ * Extract the per-item sessions token from a work item's `secret` payload.
30
+ *
31
+ * The `secret` the poll response populates is not itself a credential: it is a
32
+ * URL-safe base64 JSON payload matching {@link BetaWorkSecret} — the
33
+ * `sessions_token` (the bearer for this item's work lifecycle and
34
+ * session-level calls) plus fields this worker does not consume. Returns the
35
+ * sessions token, or `null` (meaning: fall back to the environment key) when
36
+ * the payload is missing, doesn't decode, or carries no token. Never log the
37
+ * payload or anything extracted from it.
38
+ */
39
+ function sessionsTokenFromSecret(secret) {
40
+ if (!secret)
41
+ return null;
42
+ let parsed;
43
+ try {
44
+ // The payload may arrive URL-safe and without base64 padding; normalize
45
+ // both before decoding.
46
+ const normalized = secret.replace(/-/g, '+').replace(/_/g, '/');
47
+ const padded = normalized.padEnd(Math.ceil(normalized.length / 4) * 4, '=');
48
+ parsed = JSON.parse((0, bytes_1.decodeUTF8)((0, base64_1.fromBase64)(padded)));
49
+ }
50
+ catch {
51
+ return null;
52
+ }
53
+ if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed))
54
+ return null;
55
+ // The payload is untrusted input, so the token is still checked at runtime
56
+ // rather than trusted to match the schema.
57
+ const token = parsed.sessions_token;
58
+ return typeof token === 'string' && token !== '' ? token : null;
59
+ }
19
60
  /**
20
61
  * The self-hosted environment runner, composed from the control-plane
21
62
  * {@link WorkPoller} and the per-session {@link SessionToolRunner}.
@@ -24,9 +65,17 @@ const NO_HEARTBEAT_SENTINEL = 'NO_HEARTBEAT';
24
65
  * {@link AgentToolContext}, downloads the session agent's skills
25
66
  * (`setupSkills`), then runs a {@link SessionToolRunner} for the session
26
67
  * while heartbeating the work-item lease on the same event loop; on exit it
27
- * force-stops the work item, cleans up the downloaded skills, and loops to the
28
- * next one. The lease heartbeat reports `state === "stopping"` / a lost lease
29
- * back into the run by aborting the session runner.
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.
30
79
  *
31
80
  * Use {@link EnvironmentWorker.handleItem} if you already hold a claimed work
32
81
  * item (e.g. a `worker poll --on-work` script handed one to a fresh process) and
@@ -51,14 +100,26 @@ class EnvironmentWorker {
51
100
  constructor(opts) {
52
101
  _EnvironmentWorker_instances.add(this);
53
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
+ }
54
111
  this.client = opts.client;
55
112
  this.environmentId = opts.environmentId;
56
113
  this.environmentKey = opts.environmentKey;
57
114
  this.tools = opts.tools;
58
115
  this.workdir = opts.workdir ?? process.cwd();
59
- this.unrestrictedPaths = opts.unrestrictedPaths;
60
116
  this.maxFileBytes = opts.maxFileBytes;
61
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';
62
123
  this.workerId = opts.workerId;
63
124
  this.requestOptions = opts.requestOptions;
64
125
  tslib_1.__classPrivateFieldSet(this, _EnvironmentWorker_signal, opts.signal, "f");
@@ -81,12 +142,24 @@ class EnvironmentWorker {
81
142
  ...(this.workerId !== undefined ? { workerId: this.workerId } : {}),
82
143
  ...(externalSignal ? { signal: externalSignal } : {}),
83
144
  ...(this.requestOptions !== undefined ? { requestOptions: this.requestOptions } : {}),
84
- // The per-item handler force-stops every work item on exit; let it be the
85
- // single owner of `work.stop` rather than double-posting from the poller.
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.
86
148
  autoStop: false,
87
149
  });
88
150
  for await (const work of poller) {
89
- await tslib_1.__classPrivateFieldGet(this, _EnvironmentWorker_instances, "m", _EnvironmentWorker_handleItem).call(this, work, environmentKey, poller.signal);
151
+ try {
152
+ await tslib_1.__classPrivateFieldGet(this, _EnvironmentWorker_instances, "m", _EnvironmentWorker_handleItem).call(this, work, environmentKey, poller.signal);
153
+ }
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) });
162
+ }
90
163
  }
91
164
  }
92
165
  /**
@@ -95,7 +168,9 @@ class EnvironmentWorker {
95
168
  * download the session agent's skills (`setupSkills`), run a
96
169
  * {@link SessionToolRunner} for the session while heartbeating the work-item
97
170
  * lease, and force-stop the work item on exit (whether the runner finishes
98
- * normally, throws, or the heartbeat loop signals shutdown).
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.
99
174
  *
100
175
  * Use this when something else does the claiming — e.g. a `worker poll
101
176
  * --on-work` script that hands an already-claimed item to a fresh process. The
@@ -105,13 +180,25 @@ class EnvironmentWorker {
105
180
  * option, then the worker's own `environmentKey`, then
106
181
  * `ANTHROPIC_ENVIRONMENT_KEY`. With no arguments inside that command it just
107
182
  * works. Throws a clear error naming the first of the four required values
108
- * still missing after resolution.
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.
109
193
  */
110
194
  async handleItem(opts) {
111
195
  const workId = opts?.workId ?? (0, env_1.readEnv)('ANTHROPIC_WORK_ID');
112
196
  const environmentId = opts?.environmentId ?? (0, env_1.readEnv)('ANTHROPIC_ENVIRONMENT_ID');
113
197
  const sessionId = opts?.sessionId ?? (0, env_1.readEnv)('ANTHROPIC_SESSION_ID');
114
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;
115
202
  if (!workId) {
116
203
  throw new error_1.AnthropicError('handleItem: workId is required — pass it or set ANTHROPIC_WORK_ID');
117
204
  }
@@ -127,6 +214,7 @@ class EnvironmentWorker {
127
214
  const work = {
128
215
  id: workId,
129
216
  environment_id: environmentId,
217
+ secret: workSecret,
130
218
  data: { type: 'session', id: sessionId },
131
219
  };
132
220
  await tslib_1.__classPrivateFieldGet(this, _EnvironmentWorker_instances, "m", _EnvironmentWorker_handleItem).call(this, work, environmentKey, opts?.signal ?? tslib_1.__classPrivateFieldGet(this, _EnvironmentWorker_signal, "f"));
@@ -137,80 +225,213 @@ _EnvironmentWorker_signal = new WeakMap(), _EnvironmentWorker_instances = new We
137
225
  /**
138
226
  * The per-item body shared by {@link EnvironmentWorker.run}'s poll loop and
139
227
  * {@link EnvironmentWorker.handleItem}: run a {@link SessionToolRunner} for the
140
- * work item's session while heartbeating its lease, force-stopping on exit.
141
- * Non-session work items are ignored.
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.
142
236
  */
143
237
  async function _EnvironmentWorker_handleItem(work, environmentKey, externalSignal) {
144
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;
145
248
  // Every per-session call — the SessionToolRunner event stream/list/send, the
146
- // lease heartbeat, and the work force-stop — authenticates with the
147
- // environment key. Scope a client to it once and thread that through.
148
- // `copyClientForHelper` also clears the parent's `apiKey`, so the sub-client
149
- // emits *only* the bearer credential on the wire (a plain
150
- // `withOptions({authToken})` would leave `X-Api-Key` set as well).
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).
151
255
  const sessionClient = (0, helper_client_1.copyClientForHelper)(this.client, {
152
- authToken: environmentKey,
256
+ authToken: itemCredential,
153
257
  helper: 'environments-worker',
154
258
  });
155
259
  // The poller runs with `autoStop: false`, so the per-item handler is the
156
260
  // single owner of `work.stop` for every claimed item.
157
261
  const sessionId = work.data.id;
158
- const ctx = {
159
- workdir: this.workdir,
160
- client: this.client,
161
- sessionId,
162
- ...(this.unrestrictedPaths !== undefined ? { unrestrictedPaths: this.unrestrictedPaths } : {}),
163
- ...(this.maxFileBytes !== undefined ? { maxFileBytes: this.maxFileBytes } : {}),
164
- };
165
- // Lazily load the Node-only toolset module — see the import note at the top.
166
- const agentToolset = await Promise.resolve().then(() => tslib_1.__importStar(require("../../tools/agent-toolset/node.js")));
167
- let cleanupSkills = async () => { };
168
- try {
169
- cleanupSkills = await agentToolset.setupSkills(ctx);
170
- }
171
- catch (e) {
172
- log.warn('skill setup failed', { session_id: sessionId, work_id: work.id, error: String(e) });
173
- }
174
- const tools = typeof this.tools === 'function' ?
175
- this.tools(ctx)
176
- : this.tools ?? agentToolset.betaAgentToolset20260401(ctx);
177
262
  // A per-session controller: aborts when the supplied signal aborts, when the
178
263
  // session runner finishes, or when the lease heartbeat says to stop.
179
264
  const ctrl = new AbortController();
180
265
  const detachExternal = (0, abort_1.linkAbort)(externalSignal, ctrl);
181
- // Inert until iterated below.
182
- const runner = new SessionToolRunner_1.SessionToolRunner(sessionId, {
183
- client: sessionClient,
184
- tools,
185
- ...(this.maxIdleMs !== undefined ? { maxIdleMs: this.maxIdleMs } : {}),
186
- ...(this.requestOptions !== undefined ? { requestOptions: this.requestOptions } : {}),
187
- signal: ctrl.signal,
188
- });
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
+ //
189
274
  // Each heartbeat reports the lease TTL the server is enforcing; it becomes
190
275
  // the runner's tool-result send retry window so a send keeps retrying
191
- // exactly as long as the lease could still be live.
192
- const heartbeatPromise = heartbeatLoop(sessionClient, work, ctrl, log, this.requestOptions, (ttlMs) => runner._setSendRetryWindow(ttlMs)).catch((e) => {
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) => {
193
284
  if (!ctrl.signal.aborted)
194
285
  log.error('heartbeat loop failed', { work_id: work.id, error: String(e) });
195
286
  ctrl.abort();
196
287
  });
288
+ let cleanupSkills = async () => { };
289
+ let stores;
290
+ let cleanEnd = false;
197
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;
342
+ }
343
+ else {
344
+ log.debug('memory stores disabled for this item', { work_id: work.id });
345
+ }
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,
355
+ });
356
+ if (leaseTtlMs !== undefined)
357
+ runner._setSendRetryWindow(leaseTtlMs);
198
358
  for await (const _ of runner) {
199
359
  // Drive the runner to completion; per-call observability is not part
200
360
  // of this composition's surface — use `SessionToolRunner` directly
201
361
  // (via `client.beta.sessions.events.toolRunner`) if you want it.
362
+ if (stores)
363
+ await stores.syncIfDue();
202
364
  }
365
+ // Only a clean stream end earns the last full sync; it runs in the
366
+ // teardown below.
367
+ cleanEnd = !ctrl.signal.aborted;
203
368
  }
204
369
  finally {
205
- ctrl.abort();
370
+ // The heartbeat keeps the lease alive until this teardown is done.
371
+ 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) });
375
+ });
376
+ }
377
+ 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 });
384
+ }
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),
399
+ });
400
+ });
401
+ }
402
+ }
403
+ lease.finish('runner_done');
206
404
  detachExternal();
207
405
  await heartbeatPromise;
208
- await cleanupSkills().catch((e) => {
209
- log.warn('skill cleanup failed', { session_id: sessionId, work_id: work.id, error: String(e) });
210
- });
211
- await forceStop(sessionClient, work, log, this.requestOptions);
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
+ }
212
414
  }
213
415
  };
416
+ /**
417
+ * Resolve when `p` settles or `ms` elapses — `true` when `ms` elapsed
418
+ * first. A timed-out `p` keeps running — JS cannot cancel a promise.
419
+ */
420
+ async function withTimeout(p, ms) {
421
+ let timer;
422
+ try {
423
+ return await Promise.race([
424
+ p.then(() => false, () => false),
425
+ new Promise((resolve) => {
426
+ timer = setTimeout(() => resolve(true), ms);
427
+ }),
428
+ ]);
429
+ }
430
+ finally {
431
+ if (timer !== undefined)
432
+ clearTimeout(timer);
433
+ }
434
+ }
214
435
  /** Force-stop a claimed work item, swallowing the 409 that means it's already stopped. */
215
436
  async function forceStop(client, work, log, requestOptions) {
216
437
  try {
@@ -227,14 +448,51 @@ async function forceStop(client, work, log, requestOptions) {
227
448
  }
228
449
  }
229
450
  /**
230
- * Keep the work-item lease alive while a session is being served. Aborts `ctrl`
231
- * when the control plane reports the work is `stopping`/`stopped`, when the
232
- * lease is no longer extended, on a permanent heartbeat failure, or when no
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';
472
+ }
473
+ }
474
+ _Lease_ctrl = new WeakMap(), _Lease_endReason = new WeakMap();
475
+ /** The server's view of the lease carried by a 412 heartbeat response, or empty if absent. */
476
+ function serverLeaseState(e) {
477
+ let node = e instanceof error_1.APIError ? e.error : undefined;
478
+ for (const key of ['error', 'details', 'current_state']) {
479
+ if (!(0, values_1.isObj)(node))
480
+ return {};
481
+ node = node[key];
482
+ }
483
+ return (0, values_1.isObj)(node) ? node : {};
484
+ }
485
+ /**
486
+ * Keep the work-item lease alive while a session is being served. Runs until
487
+ * `lease` ends, and ends it itself when the control plane reports the work is
488
+ * `stopping`/`stopped` or no longer extends the lease, when a heartbeat is
489
+ * rejected (a 412 means the lease already belongs to someone else), or when no
233
490
  * heartbeat has succeeded for longer than the lease ttl (the lease is assumed
234
- * lost). Each heartbeat call is cut off after the current beat interval so a
235
- * hung request cannot outlive the lease it is meant to renew.
491
+ * lost, so two runners don't end up serving the same work). Each heartbeat
492
+ * call is cut off after the current beat interval so a hung request cannot
493
+ * outlive the lease it is meant to renew.
236
494
  */
237
- async function heartbeatLoop(client, work, ctrl, logger, requestOptions,
495
+ async function heartbeatLoop(client, work, lease, logger, requestOptions,
238
496
  /** Called with the server-reported lease TTL after every successful beat. */
239
497
  onLeaseTtl) {
240
498
  let intervalMs = HEARTBEAT_DEFAULT_MS;
@@ -245,7 +503,7 @@ onLeaseTtl) {
245
503
  // Not the request `timeout` option: the core client retries timeouts, so
246
504
  // it would not bound the call as a whole.
247
505
  const beatCtrl = new AbortController();
248
- const detach = (0, abort_1.linkAbort)(ctrl.signal, beatCtrl);
506
+ const detach = (0, abort_1.linkAbort)(lease.signal, beatCtrl);
249
507
  const cutoff = setTimeout(() => beatCtrl.abort(), intervalMs);
250
508
  try {
251
509
  const resp = await client.beta.environments.work.heartbeat(work.id, { environment_id: work.environment_id, expected_last_heartbeat: last }, { ...requestOptions, headers: (0, headers_1.buildHeaders)([requestOptions?.headers]), signal: beatCtrl.signal });
@@ -258,20 +516,31 @@ onLeaseTtl) {
258
516
  }
259
517
  if (resp.state === 'stopping' || resp.state === 'stopped') {
260
518
  logger.info('heartbeat signals shutdown', { work_id: work.id, state: resp.state });
261
- ctrl.abort();
519
+ lease.finish('control_plane_stop');
262
520
  }
263
521
  if (!resp.lease_extended) {
264
522
  logger.warn('lease not extended, shutting down', { work_id: work.id });
265
- ctrl.abort();
523
+ lease.finish('control_plane_stop');
266
524
  }
267
525
  }
268
526
  catch (e) {
269
527
  // An abort throws to unwind the caller (the `heartbeatLoop(...).catch`
270
528
  // in `#handleItem`) rather than returning early.
271
- ctrl.signal.throwIfAborted();
529
+ lease.signal.throwIfAborted();
530
+ if ((0, backoff_1.isStatus)(e, 412)) {
531
+ const server = serverLeaseState(e);
532
+ logger.error('lease lost: heartbeat precondition failed', {
533
+ work_id: work.id,
534
+ server_state: server['state'],
535
+ server_ttl_seconds: server['ttl_seconds'],
536
+ server_last_heartbeat: server['last_heartbeat'],
537
+ });
538
+ lease.finish('lease_lost');
539
+ return;
540
+ }
272
541
  if ((0, backoff_1.isFatal4xx)(e)) {
273
542
  logger.error('permanent heartbeat failure', { work_id: work.id, error: String(e) });
274
- ctrl.abort();
543
+ lease.finish('heartbeat_rejected');
275
544
  throw e;
276
545
  }
277
546
  if (Date.now() - lastSuccessMs > ttlMs) {
@@ -280,7 +549,7 @@ onLeaseTtl) {
280
549
  ttl_ms: ttlMs,
281
550
  error: String(e),
282
551
  });
283
- ctrl.abort();
552
+ lease.finish('assumed_lost');
284
553
  return;
285
554
  }
286
555
  logger.warn('transient heartbeat failure', { work_id: work.id, error: String(e) });
@@ -291,9 +560,9 @@ onLeaseTtl) {
291
560
  }
292
561
  };
293
562
  await beat();
294
- while (!ctrl.signal.aborted) {
295
- await (0, sleep_1.sleep)(intervalMs, ctrl.signal);
296
- ctrl.signal.throwIfAborted();
563
+ while (!lease.signal.aborted) {
564
+ await (0, sleep_1.sleep)(intervalMs, lease.signal);
565
+ lease.signal.throwIfAborted();
297
566
  await beat();
298
567
  }
299
568
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/lib/environments/worker.ts"],"names":[],"mappings":";;;;;AAAA,+CAAkD;AAGlD,qDAAkE;AAClE,qDAAmD;AACnD,yDAAmD;AACnD,6DAAoE;AACpE,yDAAuD;AACvD,uDAAsD;AAGtD,qEAA+D;AAC/D,wCAAsC;AACtC,uDAAuD;AASvD,MAAM,oBAAoB,GAAG,KAAM,CAAC;AACpC,MAAM,wBAAwB,GAAG,KAAM,CAAC;AACxC,MAAM,qBAAqB,GAAG,cAAc,CAAC;AAqF7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAa,iBAAiB;IAa5B,YAAY,IAA8B;;QAFjC,4CAAiC;QAGxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,+BAAA,IAAI,6BAAW,IAAI,CAAC,MAAM,MAAA,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAC,MAAoB;QAC5B,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAC/C,IAAI,aAAa,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAChE,MAAM,IAAI,sBAAc,CACtB,uFAAuF,CACxF,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,IAAI,+BAAA,IAAI,iCAAQ,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,mBAAU,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa;YACb,cAAc;YACd,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,0EAA0E;YAC1E,0EAA0E;YAC1E,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAChC,MAAM,+BAAA,IAAI,mEAAY,MAAhB,IAAI,EAAa,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,UAAU,CAAC,IAAwB;QACvC,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,IAAA,aAAO,EAAC,mBAAmB,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,IAAI,EAAE,aAAa,IAAI,IAAA,aAAO,EAAC,0BAA0B,CAAC,CAAC;QACjF,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,IAAA,aAAO,EAAC,sBAAsB,CAAC,CAAC;QACrE,MAAM,cAAc,GAClB,IAAI,EAAE,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,IAAA,aAAO,EAAC,2BAA2B,CAAC,CAAC;QAEtF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,sBAAc,CAAC,mEAAmE,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,sBAAc,CACtB,iFAAiF,CAClF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,sBAAc,CAAC,yEAAyE,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,sBAAc,CACtB,kHAAkH,CACnH,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAgB;YACxB,EAAE,EAAE,MAAM;YACV,cAAc,EAAE,aAAa;YAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE;SACzC,CAAC;QACF,MAAM,+BAAA,IAAI,mEAAY,MAAhB,IAAI,EAAa,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,IAAI,+BAAA,IAAI,iCAAQ,CAAC,CAAC;IAC7E,CAAC;CAyFF;AAlMD,8CAkMC;;AAvFC;;;;;GAKG;AACH,KAAK,wCACH,IAAiB,EACjB,cAAsB,EACtB,cAAuC;IAEvC,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,6EAA6E;IAC7E,oEAAoE;IACpE,sEAAsE;IACtE,6EAA6E;IAC7E,0DAA0D;IAC1D,mEAAmE;IACnE,MAAM,aAAa,GAAG,IAAA,mCAAmB,EAAC,IAAI,CAAC,MAAM,EAAE;QACrD,SAAS,EAAE,cAAc;QACzB,MAAM,EAAE,qBAAqB;KAC9B,CAAC,CAAC;IAEH,yEAAyE;IACzE,sDAAsD;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAE/B,MAAM,GAAG,GAAqB;QAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS;QACT,GAAG,CAAC,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChF,CAAC;IACF,6EAA6E;IAC7E,MAAM,YAAY,GAAG,sGAA8C,CAAC;IACpE,IAAI,aAAa,GAAwB,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,KAAK,GACT,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACjB,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAE7D,6EAA6E;IAC7E,qEAAqE;IACrE,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IACnC,MAAM,cAAc,GAAG,IAAA,iBAAS,EAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAEvD,8BAA8B;IAC9B,MAAM,MAAM,GAAG,IAAI,qCAAiB,CAAC,SAAS,EAAE;QAC9C,MAAM,EAAE,aAAa;QACrB,KAAK;QACL,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;IAEH,2EAA2E;IAC3E,sEAAsE;IACtE,oDAAoD;IACpD,MAAM,gBAAgB,GAAG,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CACpG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAClC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrG,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YAC7B,qEAAqE;YACrE,mEAAmE;YACnE,iEAAiE;QACnE,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,cAAc,EAAE,CAAC;QACjB,MAAM,gBAAgB,CAAC;QACvB,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAGH,0FAA0F;AAC1F,KAAK,UAAU,SAAS,CACtB,MAAiB,EACjB,IAAuD,EACvD,GAAW,EACX,cAA6C;IAE7C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CACtC,IAAI,CAAC,EAAE,EACP,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE;QACpD,wEAAwE;QACxE,uEAAuE;QACvE,sBAAsB;QACtB,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,EAAE,CACxE,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,IAAA,kBAAQ,EAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAC1B,MAAiB,EACjB,IAAuD,EACvD,IAAqB,EACrB,MAAc,EACd,cAA6C;AAC7C,6EAA6E;AAC7E,UAAoC;IAEpC,IAAI,UAAU,GAAG,oBAAoB,CAAC;IACtC,IAAI,KAAK,GAAG,wBAAwB,CAAC;IACrC,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAI,IAAI,GAAG,qBAAqB,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;QACrC,yEAAyE;QACzE,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CACxD,IAAI,CAAC,EAAE,EACP,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,uBAAuB,EAAE,IAAI,EAAE,EACtE,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CACjG,CAAC;YACF,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;YAC3B,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;gBACzB,KAAK,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAChC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC;gBACxE,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBACnF,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvE,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,uEAAuE;YACvE,iDAAiD;YACjD,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC7B,IAAI,IAAA,oBAAU,EAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,CAAC;YACV,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,KAAK,EAAE,CAAC;gBACvC,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE;oBACjE,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,MAAM,EAAE,KAAK;oBACb,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;iBACjB,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,MAAM,CAAC,CAAC;YACrB,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,IAAI,EAAE,CAAC;IACb,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAA,aAAK,EAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC7B,MAAM,IAAI,EAAE,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/lib/environments/worker.ts"],"names":[],"mappings":"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"}