@sixb/core 0.1.21 → 0.1.22

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 (1263) hide show
  1. package/dist/actions/commit-edits.d.ts +3 -1
  2. package/dist/actions/commit-edits.d.ts.map +1 -1
  3. package/dist/actions/execution.d.ts.map +1 -1
  4. package/dist/actions/index.js +63 -59
  5. package/dist/actions/index.js.map +1 -1
  6. package/dist/actions/read-facade.d.ts +9 -1
  7. package/dist/actions/read-facade.d.ts.map +1 -1
  8. package/dist/actions/request.d.ts +15 -1
  9. package/dist/actions/request.d.ts.map +1 -1
  10. package/dist/actions/run/context.d.ts +1 -0
  11. package/dist/actions/run/context.d.ts.map +1 -1
  12. package/dist/actions/run/execute.d.ts +2 -3
  13. package/dist/actions/run/execute.d.ts.map +1 -1
  14. package/dist/actions/run/executor.d.ts +3 -0
  15. package/dist/actions/run/executor.d.ts.map +1 -1
  16. package/dist/actions/run/normalize.d.ts +2 -1
  17. package/dist/actions/run/normalize.d.ts.map +1 -1
  18. package/dist/actions/run/signals.d.ts +1 -3
  19. package/dist/actions/run/signals.d.ts.map +1 -1
  20. package/dist/actions/run/types.d.ts +16 -1
  21. package/dist/actions/run/types.d.ts.map +1 -1
  22. package/dist/actions/run-authorization.d.ts +14 -0
  23. package/dist/actions/run-authorization.d.ts.map +1 -1
  24. package/dist/actions/types/context.d.ts +17 -1
  25. package/dist/actions/types/context.d.ts.map +1 -1
  26. package/dist/actions/validators.d.ts.map +1 -1
  27. package/dist/activity/timeline.d.ts +8 -1
  28. package/dist/activity/timeline.d.ts.map +1 -1
  29. package/dist/agents/accounting.d.ts +15 -0
  30. package/dist/agents/accounting.d.ts.map +1 -0
  31. package/dist/agents/adapters.d.ts.map +1 -1
  32. package/dist/agents/agent-mail.d.ts +9 -0
  33. package/dist/agents/agent-mail.d.ts.map +1 -0
  34. package/dist/agents/api-gateway.d.ts +5 -0
  35. package/dist/agents/api-gateway.d.ts.map +1 -1
  36. package/dist/agents/approval-continuation.d.ts +23 -0
  37. package/dist/agents/approval-continuation.d.ts.map +1 -0
  38. package/dist/agents/approval-executor.d.ts +56 -0
  39. package/dist/agents/approval-executor.d.ts.map +1 -0
  40. package/dist/agents/approval-outcome.d.ts +8 -0
  41. package/dist/agents/approval-outcome.d.ts.map +1 -0
  42. package/dist/agents/approvals.d.ts +210 -0
  43. package/dist/agents/approvals.d.ts.map +1 -0
  44. package/dist/agents/authority.d.ts +10 -0
  45. package/dist/agents/authority.d.ts.map +1 -1
  46. package/dist/agents/builders.d.ts.map +1 -1
  47. package/dist/agents/cancel.d.ts +23 -0
  48. package/dist/agents/cancel.d.ts.map +1 -0
  49. package/dist/agents/child-question.d.ts +18 -0
  50. package/dist/agents/child-question.d.ts.map +1 -0
  51. package/dist/agents/children.d.ts +99 -0
  52. package/dist/agents/children.d.ts.map +1 -0
  53. package/dist/agents/context/index.js +1 -1
  54. package/dist/agents/context-compaction.d.ts.map +1 -1
  55. package/dist/agents/errors.d.ts +13 -1
  56. package/dist/agents/errors.d.ts.map +1 -1
  57. package/dist/agents/execution.d.ts +180 -14
  58. package/dist/agents/execution.d.ts.map +1 -1
  59. package/dist/agents/fork.d.ts +16 -0
  60. package/dist/agents/fork.d.ts.map +1 -0
  61. package/dist/agents/ids.d.ts +7 -0
  62. package/dist/agents/ids.d.ts.map +1 -1
  63. package/dist/agents/index.d.ts +19 -8
  64. package/dist/agents/index.d.ts.map +1 -1
  65. package/dist/agents/index.js +159 -86
  66. package/dist/agents/index.js.map +1 -1
  67. package/dist/agents/memory-execution.d.ts +57 -0
  68. package/dist/agents/memory-execution.d.ts.map +1 -0
  69. package/dist/agents/memory.d.ts +49 -0
  70. package/dist/agents/memory.d.ts.map +1 -0
  71. package/dist/agents/message.d.ts +50 -1
  72. package/dist/agents/message.d.ts.map +1 -1
  73. package/dist/agents/model-loop.d.ts +19 -0
  74. package/dist/agents/model-loop.d.ts.map +1 -1
  75. package/dist/agents/model-routing.d.ts +19 -0
  76. package/dist/agents/model-routing.d.ts.map +1 -0
  77. package/dist/agents/participants.d.ts +18 -0
  78. package/dist/agents/participants.d.ts.map +1 -0
  79. package/dist/agents/reference.d.ts.map +1 -1
  80. package/dist/agents/request.d.ts +36 -2
  81. package/dist/agents/request.d.ts.map +1 -1
  82. package/dist/agents/run-scope.d.ts +51 -0
  83. package/dist/agents/run-scope.d.ts.map +1 -0
  84. package/dist/agents/streams/index.d.ts +3 -2
  85. package/dist/agents/streams/index.d.ts.map +1 -1
  86. package/dist/agents/streams/index.js +7 -3
  87. package/dist/agents/streams/index.js.map +1 -1
  88. package/dist/agents/streams/internal.d.ts +1 -1
  89. package/dist/agents/streams/internal.d.ts.map +1 -1
  90. package/dist/agents/streams/internal.js +5 -3
  91. package/dist/agents/streams/internal.js.map +1 -1
  92. package/dist/agents/streams/protocol.d.ts +122 -3
  93. package/dist/agents/streams/protocol.d.ts.map +1 -1
  94. package/dist/agents/subagent-runs.d.ts +12 -0
  95. package/dist/agents/subagent-runs.d.ts.map +1 -0
  96. package/dist/agents/thread-access.d.ts +53 -0
  97. package/dist/agents/thread-access.d.ts.map +1 -0
  98. package/dist/agents/tool-definition.d.ts +5 -4
  99. package/dist/agents/tool-definition.d.ts.map +1 -1
  100. package/dist/agents/types.d.ts +23 -4
  101. package/dist/agents/types.d.ts.map +1 -1
  102. package/dist/agents/validation.d.ts +1 -1
  103. package/dist/agents/validation.d.ts.map +1 -1
  104. package/dist/artifacts/access.d.ts +52 -0
  105. package/dist/artifacts/access.d.ts.map +1 -0
  106. package/dist/artifacts/canvas.d.ts +92 -0
  107. package/dist/artifacts/canvas.d.ts.map +1 -0
  108. package/dist/artifacts/csv.d.ts +5 -0
  109. package/dist/artifacts/csv.d.ts.map +1 -1
  110. package/dist/artifacts/errors.d.ts +7 -2
  111. package/dist/artifacts/errors.d.ts.map +1 -1
  112. package/dist/artifacts/execution.d.ts +102 -7
  113. package/dist/artifacts/execution.d.ts.map +1 -1
  114. package/dist/artifacts/formula/check.d.ts +24 -0
  115. package/dist/artifacts/formula/check.d.ts.map +1 -0
  116. package/dist/artifacts/formula/evaluate.d.ts +32 -0
  117. package/dist/artifacts/formula/evaluate.d.ts.map +1 -0
  118. package/dist/artifacts/formula/index.d.ts +38 -0
  119. package/dist/artifacts/formula/index.d.ts.map +1 -0
  120. package/dist/artifacts/formula/parser.d.ts +67 -0
  121. package/dist/artifacts/formula/parser.d.ts.map +1 -0
  122. package/dist/artifacts/frames/assets.d.ts +11 -9
  123. package/dist/artifacts/frames/assets.d.ts.map +1 -1
  124. package/dist/artifacts/frames/entries.d.ts +19 -0
  125. package/dist/artifacts/frames/entries.d.ts.map +1 -0
  126. package/dist/artifacts/frames/grants.d.ts +6 -6
  127. package/dist/artifacts/frames/grants.d.ts.map +1 -1
  128. package/dist/artifacts/frames/index.d.ts +4 -2
  129. package/dist/artifacts/frames/index.d.ts.map +1 -1
  130. package/dist/artifacts/frames/index.js +444 -51
  131. package/dist/artifacts/frames/index.js.map +10 -8
  132. package/dist/artifacts/frames/kit.d.ts +10 -5
  133. package/dist/artifacts/frames/kit.d.ts.map +1 -1
  134. package/dist/artifacts/frames/probe.d.ts +16 -12
  135. package/dist/artifacts/frames/probe.d.ts.map +1 -1
  136. package/dist/artifacts/frames/protocol.d.ts +79 -10
  137. package/dist/artifacts/frames/protocol.d.ts.map +1 -1
  138. package/dist/artifacts/frames/runtime.d.ts +27 -9
  139. package/dist/artifacts/frames/runtime.d.ts.map +1 -1
  140. package/dist/artifacts/index.d.ts +11 -5
  141. package/dist/artifacts/index.d.ts.map +1 -1
  142. package/dist/artifacts/index.js +128 -6
  143. package/dist/artifacts/index.js.map +3 -3
  144. package/dist/artifacts/kinds.d.ts +1 -1
  145. package/dist/artifacts/kinds.d.ts.map +1 -1
  146. package/dist/artifacts/limits.d.ts +30 -0
  147. package/dist/artifacts/limits.d.ts.map +1 -1
  148. package/dist/artifacts/live-sheet.d.ts +65 -0
  149. package/dist/artifacts/live-sheet.d.ts.map +1 -0
  150. package/dist/artifacts/outline.d.ts +27 -1
  151. package/dist/artifacts/outline.d.ts.map +1 -1
  152. package/dist/artifacts/publish/index.d.ts +2 -0
  153. package/dist/artifacts/publish/index.d.ts.map +1 -1
  154. package/dist/artifacts/publish/index.js +59 -19
  155. package/dist/artifacts/publish/index.js.map +1 -1
  156. package/dist/artifacts/publish/publish.d.ts +43 -11
  157. package/dist/artifacts/publish/publish.d.ts.map +1 -1
  158. package/dist/artifacts/publish/queries.d.ts +33 -0
  159. package/dist/artifacts/publish/queries.d.ts.map +1 -0
  160. package/dist/artifacts/publish/references.d.ts +6 -3
  161. package/dist/artifacts/publish/references.d.ts.map +1 -1
  162. package/dist/artifacts/publish/validate/canvas.d.ts +18 -0
  163. package/dist/artifacts/publish/validate/canvas.d.ts.map +1 -0
  164. package/dist/artifacts/publish/validate/html.d.ts +20 -0
  165. package/dist/artifacts/publish/validate/html.d.ts.map +1 -0
  166. package/dist/artifacts/publish/validate/page.d.ts +15 -0
  167. package/dist/artifacts/publish/validate/page.d.ts.map +1 -0
  168. package/dist/artifacts/publish/validate/sheet.d.ts +11 -3
  169. package/dist/artifacts/publish/validate/sheet.d.ts.map +1 -1
  170. package/dist/artifacts/publish/validate/slides.d.ts +1 -7
  171. package/dist/artifacts/publish/validate/slides.d.ts.map +1 -1
  172. package/dist/artifacts/queries.d.ts +95 -0
  173. package/dist/artifacts/queries.d.ts.map +1 -0
  174. package/dist/artifacts/resolve.d.ts +6 -0
  175. package/dist/artifacts/resolve.d.ts.map +1 -1
  176. package/dist/artifacts/run-query.d.ts +26 -0
  177. package/dist/artifacts/run-query.d.ts.map +1 -0
  178. package/dist/artifacts/serialize-query.d.ts +12 -0
  179. package/dist/artifacts/serialize-query.d.ts.map +1 -0
  180. package/dist/artifacts/sheet-rules.d.ts +26 -0
  181. package/dist/artifacts/sheet-rules.d.ts.map +1 -0
  182. package/dist/artifacts/tones.d.ts +8 -0
  183. package/dist/artifacts/tones.d.ts.map +1 -0
  184. package/dist/artifacts/workbook.d.ts +76 -5
  185. package/dist/artifacts/workbook.d.ts.map +1 -1
  186. package/dist/auth/index.d.ts +1 -1
  187. package/dist/auth/index.d.ts.map +1 -1
  188. package/dist/auth/index.js +14 -11
  189. package/dist/auth/index.js.map +1 -1
  190. package/dist/auth/member-events.d.ts +13 -0
  191. package/dist/auth/member-events.d.ts.map +1 -0
  192. package/dist/auth/profile.d.ts +11 -0
  193. package/dist/auth/profile.d.ts.map +1 -0
  194. package/dist/auth/runtime.d.ts +31 -3
  195. package/dist/auth/runtime.d.ts.map +1 -1
  196. package/dist/auth/strategy.d.ts +3 -1
  197. package/dist/auth/strategy.d.ts.map +1 -1
  198. package/dist/auth/strategy.js +7 -3
  199. package/dist/auth/strategy.js.map +1 -1
  200. package/dist/auth/types.d.ts +30 -1
  201. package/dist/auth/types.d.ts.map +1 -1
  202. package/dist/authorization/decision.d.ts +15 -0
  203. package/dist/authorization/decision.d.ts.map +1 -1
  204. package/dist/authorization/event-visibility.d.ts +5 -1
  205. package/dist/authorization/event-visibility.d.ts.map +1 -1
  206. package/dist/authorization/grant-kinds.d.ts +2 -2
  207. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  208. package/dist/authorization/index.d.ts +2 -2
  209. package/dist/authorization/index.d.ts.map +1 -1
  210. package/dist/authorization/index.js +12 -7
  211. package/dist/authorization/index.js.map +1 -1
  212. package/dist/authorization/resolve.d.ts +19 -1
  213. package/dist/authorization/resolve.d.ts.map +1 -1
  214. package/dist/authorization/run-visibility.d.ts +8 -1
  215. package/dist/authorization/run-visibility.d.ts.map +1 -1
  216. package/dist/authorization/types.d.ts +14 -0
  217. package/dist/authorization/types.d.ts.map +1 -1
  218. package/dist/bootstrap/index.js +69 -65
  219. package/dist/bootstrap/index.js.map +2 -2
  220. package/dist/{chunk-ky3j490c.js → chunk-02bzjgnt.js} +6 -6
  221. package/dist/{chunk-ky3j490c.js.map → chunk-02bzjgnt.js.map} +1 -1
  222. package/dist/{chunk-mfs23znk.js → chunk-07kkp2e1.js} +1 -1
  223. package/dist/{chunk-c1rxbz5y.js → chunk-098anw4f.js} +21 -19
  224. package/dist/chunk-098anw4f.js.map +12 -0
  225. package/dist/{chunk-z58tm0hm.js → chunk-0phpbbvm.js} +3 -3
  226. package/dist/{chunk-ere85b8y.js → chunk-0xmt5p5y.js} +116 -27
  227. package/dist/chunk-0xmt5p5y.js.map +14 -0
  228. package/dist/{chunk-t6f3tdnr.js → chunk-16a9dmfy.js} +33 -2
  229. package/dist/{chunk-t6f3tdnr.js.map → chunk-16a9dmfy.js.map} +5 -4
  230. package/dist/chunk-18sk89cg.js +47 -0
  231. package/dist/chunk-18sk89cg.js.map +10 -0
  232. package/dist/{chunk-e17zdm62.js → chunk-1t6k1avb.js} +1 -1
  233. package/dist/chunk-2626mh4m.js +693 -0
  234. package/dist/chunk-2626mh4m.js.map +19 -0
  235. package/dist/{chunk-qczk96d9.js → chunk-2adz0h75.js} +13 -4
  236. package/dist/chunk-2adz0h75.js.map +11 -0
  237. package/dist/{chunk-kge7k6ey.js → chunk-2fn60nvs.js} +2 -2
  238. package/dist/{chunk-99nd4rc1.js → chunk-2gjj5dx3.js} +5 -4
  239. package/dist/{chunk-99nd4rc1.js.map → chunk-2gjj5dx3.js.map} +3 -3
  240. package/dist/{chunk-mjddfa7k.js → chunk-3fqxbn31.js} +2 -24
  241. package/dist/{chunk-mjddfa7k.js.map → chunk-3fqxbn31.js.map} +3 -4
  242. package/dist/{chunk-y0c4e6ex.js → chunk-3gbefjg5.js} +1 -1
  243. package/dist/{chunk-5hx48dnn.js → chunk-45ngkxkp.js} +52 -31
  244. package/dist/chunk-45ngkxkp.js.map +13 -0
  245. package/dist/{chunk-cy4mbddw.js → chunk-48jezz3j.js} +1 -1
  246. package/dist/{chunk-561r0yc9.js → chunk-4b26qwbg.js} +13 -13
  247. package/dist/{chunk-561r0yc9.js.map → chunk-4b26qwbg.js.map} +1 -1
  248. package/dist/{chunk-9k93ah50.js → chunk-4f3ydv7t.js} +33 -69
  249. package/dist/chunk-4f3ydv7t.js.map +10 -0
  250. package/dist/chunk-4y26vs3v.js +97 -0
  251. package/dist/chunk-4y26vs3v.js.map +10 -0
  252. package/dist/{chunk-4as3wt1c.js → chunk-4ymrcdbm.js} +7 -3
  253. package/dist/chunk-4ymrcdbm.js.map +12 -0
  254. package/dist/{chunk-hcbyfxbe.js → chunk-5grk14e5.js} +76 -2
  255. package/dist/{chunk-hcbyfxbe.js.map → chunk-5grk14e5.js.map} +4 -3
  256. package/dist/{chunk-8frc8a4j.js → chunk-65pyhyas.js} +90 -83
  257. package/dist/chunk-65pyhyas.js.map +20 -0
  258. package/dist/{chunk-hwksyjks.js → chunk-661ezhks.js} +182 -6
  259. package/dist/chunk-661ezhks.js.map +11 -0
  260. package/dist/{chunk-447a5c0p.js → chunk-6n69k945.js} +2 -2
  261. package/dist/{chunk-0bphap9y.js → chunk-6p0pastb.js} +5 -5
  262. package/dist/{chunk-9j4jw7as.js → chunk-6rrtzea3.js} +18 -5
  263. package/dist/chunk-6rrtzea3.js.map +14 -0
  264. package/dist/{chunk-431pyp2c.js → chunk-6y0mkhex.js} +2 -2
  265. package/dist/{chunk-f4pamkt9.js → chunk-73v685wb.js} +10 -10
  266. package/dist/{chunk-f4pamkt9.js.map → chunk-73v685wb.js.map} +3 -3
  267. package/dist/{chunk-akzryx9h.js → chunk-7gr4j2eq.js} +7836 -5047
  268. package/dist/chunk-7gr4j2eq.js.map +120 -0
  269. package/dist/{chunk-bk9svbcq.js → chunk-7mc2wkre.js} +386 -86
  270. package/dist/chunk-7mc2wkre.js.map +50 -0
  271. package/dist/{chunk-6rqgmkde.js → chunk-7z5p905k.js} +335 -703
  272. package/dist/chunk-7z5p905k.js.map +22 -0
  273. package/dist/{chunk-yxd3nnqt.js → chunk-9mab3dvg.js} +26 -2
  274. package/dist/chunk-9mab3dvg.js.map +11 -0
  275. package/dist/chunk-9wr3yajk.js +42 -0
  276. package/dist/chunk-9wr3yajk.js.map +10 -0
  277. package/dist/chunk-az47zep4.js +41 -0
  278. package/dist/chunk-az47zep4.js.map +10 -0
  279. package/dist/{chunk-s7jg7pmn.js → chunk-bab05bhg.js} +1 -1
  280. package/dist/{chunk-858emn8m.js → chunk-bktev1ds.js} +14 -11
  281. package/dist/{chunk-858emn8m.js.map → chunk-bktev1ds.js.map} +3 -3
  282. package/dist/{chunk-dhcv7yxc.js → chunk-c0vk1djt.js} +5 -3
  283. package/dist/chunk-c0vk1djt.js.map +11 -0
  284. package/dist/chunk-c69nj7se.js +3 -0
  285. package/dist/{chunk-7n30ybym.js.map → chunk-c69nj7se.js.map} +1 -1
  286. package/dist/{chunk-q5e5tv4b.js → chunk-c844dkwd.js} +1 -1
  287. package/dist/{chunk-g257jwnc.js → chunk-cdk3egjj.js} +17 -4
  288. package/dist/chunk-cdk3egjj.js.map +12 -0
  289. package/dist/chunk-cswhawa2.js +113 -0
  290. package/dist/chunk-cswhawa2.js.map +10 -0
  291. package/dist/{chunk-cfj9dfbb.js → chunk-d2m879s4.js} +2 -2
  292. package/dist/{chunk-arns890k.js → chunk-d7vyc7k6.js} +2 -2
  293. package/dist/chunk-d7vyc7k6.js.map +10 -0
  294. package/dist/{chunk-q7gn29y3.js → chunk-dp0cdtj2.js} +2 -2
  295. package/dist/{chunk-6x0pqh32.js → chunk-e5wf5vz0.js} +3 -1
  296. package/dist/chunk-e5wf5vz0.js.map +10 -0
  297. package/dist/{chunk-cn0fwwhy.js → chunk-efmm01gj.js} +108 -1045
  298. package/dist/chunk-efmm01gj.js.map +18 -0
  299. package/dist/{chunk-918wwnaa.js → chunk-ezne9wc9.js} +1224 -430
  300. package/dist/chunk-ezne9wc9.js.map +71 -0
  301. package/dist/{chunk-tbc1ngpd.js → chunk-fe8zwt8b.js} +58 -12
  302. package/dist/{chunk-tbc1ngpd.js.map → chunk-fe8zwt8b.js.map} +5 -4
  303. package/dist/{chunk-br3k6qbf.js → chunk-fm62y49k.js} +1 -1
  304. package/dist/{chunk-nq6gpjt7.js → chunk-fntqb7qy.js} +30 -4
  305. package/dist/{chunk-nq6gpjt7.js.map → chunk-fntqb7qy.js.map} +5 -5
  306. package/dist/{chunk-1cc1xaf3.js → chunk-fp2kq35z.js} +26 -10
  307. package/dist/{chunk-1cc1xaf3.js.map → chunk-fp2kq35z.js.map} +5 -5
  308. package/dist/{chunk-vvxtn22d.js → chunk-g663fahq.js} +2 -2
  309. package/dist/{chunk-k43ct2ke.js → chunk-gvj5cd3b.js} +16 -9
  310. package/dist/chunk-gvj5cd3b.js.map +12 -0
  311. package/dist/{chunk-rmakanzx.js → chunk-h33shhq6.js} +5 -5
  312. package/dist/{chunk-nn5xnx3s.js → chunk-h3pbv7n8.js} +1738 -38
  313. package/dist/chunk-h3pbv7n8.js.map +48 -0
  314. package/dist/chunk-hn2r7z41.js.map +1 -1
  315. package/dist/{chunk-pbcbn83d.js → chunk-hqsp2sx4.js} +54 -8
  316. package/dist/chunk-hqsp2sx4.js.map +14 -0
  317. package/dist/{chunk-d09e3rax.js → chunk-hwarjrgf.js} +1 -1
  318. package/dist/{chunk-vf57cr4t.js → chunk-hyesv9dv.js} +1 -1
  319. package/dist/chunk-hz5d43gn.js +45 -0
  320. package/dist/chunk-hz5d43gn.js.map +10 -0
  321. package/dist/{chunk-91mg3nj9.js → chunk-j936th07.js} +86 -41
  322. package/dist/chunk-j936th07.js.map +12 -0
  323. package/dist/chunk-kcqpk9w1.js +75 -0
  324. package/dist/chunk-kcqpk9w1.js.map +10 -0
  325. package/dist/{chunk-5vems3nx.js → chunk-m2nevja0.js} +2 -2
  326. package/dist/{chunk-x9v4cx1d.js → chunk-m36fw8ft.js} +1 -1
  327. package/dist/{chunk-a40ad1ft.js → chunk-mbsbxarb.js} +1 -1
  328. package/dist/chunk-mzx71snp.js +129 -0
  329. package/dist/chunk-mzx71snp.js.map +10 -0
  330. package/dist/{chunk-6aawea28.js → chunk-n8q5j6y5.js} +1 -1
  331. package/dist/{chunk-d7dnxdep.js → chunk-n9zpx9c6.js} +4 -4
  332. package/dist/{chunk-xvsc5m8n.js → chunk-npcr0228.js} +1 -1
  333. package/dist/chunk-nydf3dbe.js +663 -0
  334. package/dist/chunk-nydf3dbe.js.map +13 -0
  335. package/dist/chunk-pdt5cw8z.js +233 -0
  336. package/dist/chunk-pdt5cw8z.js.map +11 -0
  337. package/dist/{chunk-rj69qcrd.js → chunk-pgrf64hp.js} +55 -7
  338. package/dist/chunk-pgrf64hp.js.map +12 -0
  339. package/dist/{chunk-y5tah2kf.js → chunk-q4pmvkg0.js} +1 -1
  340. package/dist/chunk-qhqgp4jf.js +1418 -0
  341. package/dist/chunk-qhqgp4jf.js.map +22 -0
  342. package/dist/{chunk-48qjhh6v.js → chunk-qx00vjrj.js} +19 -60
  343. package/dist/chunk-qx00vjrj.js.map +13 -0
  344. package/dist/{chunk-5948n82c.js → chunk-r6szek0x.js} +184 -7
  345. package/dist/chunk-r6szek0x.js.map +10 -0
  346. package/dist/{chunk-v4jbb3rs.js → chunk-rap5w0x0.js} +156 -2
  347. package/dist/chunk-rap5w0x0.js.map +10 -0
  348. package/dist/{chunk-pfp1txq2.js → chunk-sgx82nnt.js} +5 -31
  349. package/dist/{chunk-pfp1txq2.js.map → chunk-sgx82nnt.js.map} +3 -4
  350. package/dist/{chunk-bkpke1sg.js → chunk-t5608tkq.js} +3 -1
  351. package/dist/{chunk-bkpke1sg.js.map → chunk-t5608tkq.js.map} +3 -3
  352. package/dist/{chunk-29yx306f.js → chunk-tdxfsg1c.js} +507 -265
  353. package/dist/chunk-tdxfsg1c.js.map +23 -0
  354. package/dist/{chunk-d5rjr8c0.js → chunk-vabga7fk.js} +1 -1
  355. package/dist/{chunk-dhdha526.js → chunk-vhbw5sqm.js} +26 -2
  356. package/dist/chunk-vhbw5sqm.js.map +10 -0
  357. package/dist/{chunk-e6k4thh5.js → chunk-vpgwq5nf.js} +98 -12
  358. package/dist/chunk-vpgwq5nf.js.map +21 -0
  359. package/dist/{chunk-61y5xs4p.js → chunk-vyt322b6.js} +69 -50
  360. package/dist/{chunk-61y5xs4p.js.map → chunk-vyt322b6.js.map} +4 -4
  361. package/dist/chunk-waqk73p1.js +2380 -0
  362. package/dist/chunk-waqk73p1.js.map +23 -0
  363. package/dist/chunk-wsc1brye.js +27 -0
  364. package/dist/chunk-wsc1brye.js.map +10 -0
  365. package/dist/{chunk-96yw3pwd.js → chunk-y7dbmaqh.js} +28 -2
  366. package/dist/chunk-y7dbmaqh.js.map +10 -0
  367. package/dist/{chunk-6vb4st8k.js → chunk-yc9ners4.js} +120 -19
  368. package/dist/{chunk-6vb4st8k.js.map → chunk-yc9ners4.js.map} +8 -8
  369. package/dist/{chunk-dvd2fp9q.js → chunk-zbc929zg.js} +28 -4
  370. package/dist/chunk-zbc929zg.js.map +13 -0
  371. package/dist/chunk-zrvhsq7f.js +37 -0
  372. package/dist/chunk-zrvhsq7f.js.map +10 -0
  373. package/dist/datasets/write.js +5 -5
  374. package/dist/error-reporting/internal.js +3 -3
  375. package/dist/errors/catalog.d.ts +26 -0
  376. package/dist/errors/catalog.d.ts.map +1 -1
  377. package/dist/errors/internal.d.ts.map +1 -1
  378. package/dist/errors/internal.js +1 -1
  379. package/dist/events/definitions.d.ts +7 -0
  380. package/dist/events/definitions.d.ts.map +1 -1
  381. package/dist/events/execution.d.ts.map +1 -1
  382. package/dist/events/index.d.ts +2 -3
  383. package/dist/events/index.d.ts.map +1 -1
  384. package/dist/events/index.js +8 -10
  385. package/dist/events/index.js.map +1 -1
  386. package/dist/events/scope.d.ts.map +1 -1
  387. package/dist/events/scope.js +1 -1
  388. package/dist/events/selectors/builder.d.ts +12 -1
  389. package/dist/events/selectors/builder.d.ts.map +1 -1
  390. package/dist/events/selectors/index.d.ts +2 -2
  391. package/dist/events/selectors/index.d.ts.map +1 -1
  392. package/dist/events/selectors/index.js +2 -2
  393. package/dist/events/selectors/types.d.ts +19 -3
  394. package/dist/events/selectors/types.d.ts.map +1 -1
  395. package/dist/events/service.d.ts +17 -2
  396. package/dist/events/service.d.ts.map +1 -1
  397. package/dist/events/types/index.d.ts +3 -1
  398. package/dist/events/types/index.d.ts.map +1 -1
  399. package/dist/events/types/users.d.ts +63 -0
  400. package/dist/events/types/users.d.ts.map +1 -0
  401. package/dist/events/view-conditions.d.ts +34 -0
  402. package/dist/events/view-conditions.d.ts.map +1 -0
  403. package/dist/execution/agent.d.ts +15 -0
  404. package/dist/execution/agent.d.ts.map +1 -1
  405. package/dist/execution/agent.js +63 -57
  406. package/dist/execution/agent.js.map +1 -1
  407. package/dist/execution/authorization.d.ts.map +1 -1
  408. package/dist/execution/authorized-object-reader.d.ts +51 -2
  409. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  410. package/dist/execution/lineage.d.ts +7 -0
  411. package/dist/execution/lineage.d.ts.map +1 -0
  412. package/dist/execution/object-reader-ontology.d.ts +2 -2
  413. package/dist/execution/object-reader-ontology.d.ts.map +1 -1
  414. package/dist/execution/object-reader-security.d.ts +24 -3
  415. package/dist/execution/object-reader-security.d.ts.map +1 -1
  416. package/dist/execution/object-reader-users.d.ts +20 -0
  417. package/dist/execution/object-reader-users.d.ts.map +1 -0
  418. package/dist/execution/preparation.d.ts +23 -0
  419. package/dist/execution/preparation.d.ts.map +1 -0
  420. package/dist/execution/primitive.js +61 -57
  421. package/dist/execution/primitive.js.map +1 -1
  422. package/dist/execution/request.d.ts +2 -1
  423. package/dist/execution/request.d.ts.map +1 -1
  424. package/dist/execution/request.js +64 -56
  425. package/dist/execution/request.js.map +3 -3
  426. package/dist/execution/unique-lookup.d.ts +14 -0
  427. package/dist/execution/unique-lookup.d.ts.map +1 -0
  428. package/dist/execution/visible-objects.d.ts +12 -0
  429. package/dist/execution/visible-objects.d.ts.map +1 -0
  430. package/dist/http/api-routes.d.ts +17 -0
  431. package/dist/http/api-routes.d.ts.map +1 -1
  432. package/dist/http/index.js +1 -1
  433. package/dist/index.d.ts +32 -15
  434. package/dist/index.d.ts.map +1 -1
  435. package/dist/index.js +137 -126
  436. package/dist/index.js.map +1 -1
  437. package/dist/lake-storage/index.js +5 -5
  438. package/dist/materialization/errors.d.ts +25 -0
  439. package/dist/materialization/errors.d.ts.map +1 -1
  440. package/dist/materialization/event-envelopes.d.ts +5 -0
  441. package/dist/materialization/event-envelopes.d.ts.map +1 -1
  442. package/dist/materialization/index.d.ts +1 -1
  443. package/dist/materialization/index.d.ts.map +1 -1
  444. package/dist/materialization/index.js +14 -8
  445. package/dist/materialization/index.js.map +1 -1
  446. package/dist/materialization/model.d.ts +20 -2
  447. package/dist/materialization/model.d.ts.map +1 -1
  448. package/dist/materializer/edits/commit.d.ts.map +1 -1
  449. package/dist/materializer/edits/load-state.d.ts +5 -1
  450. package/dist/materializer/edits/load-state.d.ts.map +1 -1
  451. package/dist/materializer/edits/plan.d.ts.map +1 -1
  452. package/dist/materializer/edits/unique-values.d.ts +47 -0
  453. package/dist/materializer/edits/unique-values.d.ts.map +1 -0
  454. package/dist/materializer/edits/working-state.d.ts +6 -1
  455. package/dist/materializer/edits/working-state.d.ts.map +1 -1
  456. package/dist/materializer/execution/work-records.d.ts +7 -1
  457. package/dist/materializer/execution/work-records.d.ts.map +1 -1
  458. package/dist/materializer/index.js +45 -41
  459. package/dist/materializer/index.js.map +1 -1
  460. package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
  461. package/dist/materializer/projections/source-materialization.d.ts +1 -0
  462. package/dist/materializer/projections/source-materialization.d.ts.map +1 -1
  463. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  464. package/dist/materializer/shared/projection-run.d.ts +0 -1
  465. package/dist/materializer/shared/projection-run.d.ts.map +1 -1
  466. package/dist/materializer/telemetry/plan.d.ts.map +1 -1
  467. package/dist/models/audio/catalog.d.ts +13 -1
  468. package/dist/models/audio/catalog.d.ts.map +1 -1
  469. package/dist/models/audio/errors.d.ts +6 -1
  470. package/dist/models/audio/errors.d.ts.map +1 -1
  471. package/dist/models/audio/runtime.d.ts.map +1 -1
  472. package/dist/models/audio/speech.d.ts +8 -0
  473. package/dist/models/audio/speech.d.ts.map +1 -0
  474. package/dist/models/audio/types.d.ts +93 -0
  475. package/dist/models/audio/types.d.ts.map +1 -1
  476. package/dist/models/calls.d.ts +27 -0
  477. package/dist/models/calls.d.ts.map +1 -0
  478. package/dist/models/catalog-index.d.ts +7 -4
  479. package/dist/models/catalog-index.d.ts.map +1 -1
  480. package/dist/models/catalog.d.ts +55 -3
  481. package/dist/models/catalog.d.ts.map +1 -1
  482. package/dist/models/decision/runtime.d.ts +6 -1
  483. package/dist/models/decision/runtime.d.ts.map +1 -1
  484. package/dist/models/decision/validation.d.ts +4 -1
  485. package/dist/models/decision/validation.d.ts.map +1 -1
  486. package/dist/models/definitions.d.ts +23 -1
  487. package/dist/models/definitions.d.ts.map +1 -1
  488. package/dist/models/events.d.ts +12 -1
  489. package/dist/models/events.d.ts.map +1 -1
  490. package/dist/models/execution/binding.d.ts +3 -1
  491. package/dist/models/execution/binding.d.ts.map +1 -1
  492. package/dist/models/execution/index.d.ts +1 -0
  493. package/dist/models/execution/index.d.ts.map +1 -1
  494. package/dist/models/execution/index.js +44 -34
  495. package/dist/models/execution/index.js.map +1 -1
  496. package/dist/models/execution/model-call-accounting.d.ts.map +1 -1
  497. package/dist/models/execution/model-call-recorder.d.ts +3 -0
  498. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  499. package/dist/models/execution/usage.d.ts.map +1 -1
  500. package/dist/models/execution.d.ts +4 -2
  501. package/dist/models/execution.d.ts.map +1 -1
  502. package/dist/models/generation-types.d.ts +8 -1
  503. package/dist/models/generation-types.d.ts.map +1 -1
  504. package/dist/models/image/catalog.d.ts +13 -0
  505. package/dist/models/image/catalog.d.ts.map +1 -0
  506. package/dist/models/image/errors.d.ts +8 -0
  507. package/dist/models/image/errors.d.ts.map +1 -0
  508. package/dist/models/image/runtime.d.ts +8 -0
  509. package/dist/models/image/runtime.d.ts.map +1 -0
  510. package/dist/models/image/types.d.ts +103 -0
  511. package/dist/models/image/types.d.ts.map +1 -0
  512. package/dist/models/index.d.ts +12 -8
  513. package/dist/models/index.d.ts.map +1 -1
  514. package/dist/models/index.js +17 -7
  515. package/dist/models/index.js.map +1 -1
  516. package/dist/models/input-file.d.ts +9 -0
  517. package/dist/models/input-file.d.ts.map +1 -0
  518. package/dist/models/language-model.d.ts +13 -0
  519. package/dist/models/language-model.d.ts.map +1 -1
  520. package/dist/models/pricing.d.ts +25 -10
  521. package/dist/models/pricing.d.ts.map +1 -1
  522. package/dist/models/rate-card.d.ts +44 -6
  523. package/dist/models/rate-card.d.ts.map +1 -1
  524. package/dist/objects/conditional-writes.d.ts +37 -0
  525. package/dist/objects/conditional-writes.d.ts.map +1 -0
  526. package/dist/objects/execution.d.ts +2 -0
  527. package/dist/objects/execution.d.ts.map +1 -1
  528. package/dist/objects/index.d.ts +1 -0
  529. package/dist/objects/index.d.ts.map +1 -1
  530. package/dist/objects/index.js +68 -58
  531. package/dist/objects/index.js.map +1 -1
  532. package/dist/objects/link/authorization.d.ts +3 -0
  533. package/dist/objects/link/authorization.d.ts.map +1 -1
  534. package/dist/objects/link/endpoints.d.ts +21 -2
  535. package/dist/objects/link/endpoints.d.ts.map +1 -1
  536. package/dist/objects/link/remove.d.ts.map +1 -1
  537. package/dist/objects/link/upsert-batch.d.ts.map +1 -1
  538. package/dist/objects/link/upsert.d.ts.map +1 -1
  539. package/dist/objects/materializer-adapter.d.ts +13 -4
  540. package/dist/objects/materializer-adapter.d.ts.map +1 -1
  541. package/dist/objects/object/delete.d.ts +3 -0
  542. package/dist/objects/object/delete.d.ts.map +1 -1
  543. package/dist/objects/object/upsert-batch.d.ts.map +1 -1
  544. package/dist/objects/object/upsert.d.ts.map +1 -1
  545. package/dist/objects/query/current-user.d.ts +17 -0
  546. package/dist/objects/query/current-user.d.ts.map +1 -0
  547. package/dist/objects/query/executor.d.ts +14 -0
  548. package/dist/objects/query/executor.d.ts.map +1 -1
  549. package/dist/objects/query/index.d.ts +2 -2
  550. package/dist/objects/query/index.d.ts.map +1 -1
  551. package/dist/objects/query/index.js +49 -44
  552. package/dist/objects/query/index.js.map +1 -1
  553. package/dist/objects/query/ir.d.ts +19 -1
  554. package/dist/objects/query/ir.d.ts.map +1 -1
  555. package/dist/objects/query/matches-predicate.d.ts +9 -0
  556. package/dist/objects/query/matches-predicate.d.ts.map +1 -0
  557. package/dist/objects/query/normalize.d.ts.map +1 -1
  558. package/dist/objects/query/user-expansions.d.ts +27 -0
  559. package/dist/objects/query/user-expansions.d.ts.map +1 -0
  560. package/dist/objects/query/validate.d.ts.map +1 -1
  561. package/dist/objects/runtime-batch.d.ts +3 -1
  562. package/dist/objects/runtime-batch.d.ts.map +1 -1
  563. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  564. package/dist/objects/sdk/query-executor.d.ts +6 -0
  565. package/dist/objects/sdk/query-executor.d.ts.map +1 -1
  566. package/dist/objects/serialize.d.ts +39 -0
  567. package/dist/objects/serialize.d.ts.map +1 -0
  568. package/dist/objects/unique-violation.d.ts +22 -0
  569. package/dist/objects/unique-violation.d.ts.map +1 -0
  570. package/dist/ontology/builders.d.ts +3 -1
  571. package/dist/ontology/builders.d.ts.map +1 -1
  572. package/dist/ontology/index.d.ts +2 -2
  573. package/dist/ontology/index.d.ts.map +1 -1
  574. package/dist/ontology/index.js +11 -7
  575. package/dist/ontology/index.js.map +1 -1
  576. package/dist/ontology/internal.js +7 -5
  577. package/dist/ontology/internal.js.map +3 -3
  578. package/dist/ontology/json-schema.d.ts.map +1 -1
  579. package/dist/ontology/primitives.d.ts +3 -0
  580. package/dist/ontology/primitives.d.ts.map +1 -1
  581. package/dist/ontology/registry.d.ts +6 -0
  582. package/dist/ontology/registry.d.ts.map +1 -1
  583. package/dist/ontology/types.d.ts +9 -0
  584. package/dist/ontology/types.d.ts.map +1 -1
  585. package/dist/ontology/unique-values.d.ts +26 -0
  586. package/dist/ontology/unique-values.d.ts.map +1 -0
  587. package/dist/ontology/user-ref.d.ts +23 -0
  588. package/dist/ontology/user-ref.d.ts.map +1 -1
  589. package/dist/ontology/validation/properties.d.ts.map +1 -1
  590. package/dist/ontology/validation/schema.d.ts.map +1 -1
  591. package/dist/pipelines/index.js +43 -40
  592. package/dist/pipelines/index.js.map +1 -1
  593. package/dist/projections/internal.js +36 -33
  594. package/dist/projections/internal.js.map +1 -1
  595. package/dist/projections/registry.d.ts +4 -0
  596. package/dist/projections/registry.d.ts.map +1 -1
  597. package/dist/projections/revision.d.ts +15 -0
  598. package/dist/projections/revision.d.ts.map +1 -1
  599. package/dist/projections/run-dispatch.d.ts.map +1 -1
  600. package/dist/projections/types.d.ts +2 -0
  601. package/dist/projections/types.d.ts.map +1 -1
  602. package/dist/query.d.ts +4 -2
  603. package/dist/query.d.ts.map +1 -1
  604. package/dist/query.js +2 -2
  605. package/dist/rules/execution.d.ts.map +1 -1
  606. package/dist/runtime/ai-cost.d.ts +2 -0
  607. package/dist/runtime/ai-cost.d.ts.map +1 -1
  608. package/dist/runtime/ai-usage.d.ts +7 -0
  609. package/dist/runtime/ai-usage.d.ts.map +1 -1
  610. package/dist/runtime/host.d.ts.map +1 -1
  611. package/dist/runtime/index.d.ts +1 -1
  612. package/dist/runtime/index.d.ts.map +1 -1
  613. package/dist/runtime/internal.js +42 -38
  614. package/dist/runtime/internal.js.map +1 -1
  615. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  616. package/dist/runtime/sixb.d.ts +2 -0
  617. package/dist/runtime/sixb.d.ts.map +1 -1
  618. package/dist/runtime/types.d.ts +66 -8
  619. package/dist/runtime/types.d.ts.map +1 -1
  620. package/dist/sandboxes/index.js +7 -6
  621. package/dist/sandboxes/index.js.map +1 -1
  622. package/dist/schedules/builders.d.ts.map +1 -1
  623. package/dist/schedules/index.js +3 -3
  624. package/dist/schedules/runtime.d.ts.map +1 -1
  625. package/dist/schedules/validation.d.ts.map +1 -1
  626. package/dist/security/grants.d.ts +12 -4
  627. package/dist/security/grants.d.ts.map +1 -1
  628. package/dist/security/index.d.ts +1 -1
  629. package/dist/security/index.d.ts.map +1 -1
  630. package/dist/security/internal.js +1 -1
  631. package/dist/security/project.d.ts +4 -1
  632. package/dist/security/project.d.ts.map +1 -1
  633. package/dist/security/public.js +2 -2
  634. package/dist/security/registry.d.ts +6 -0
  635. package/dist/security/registry.d.ts.map +1 -1
  636. package/dist/security/types.d.ts +47 -9
  637. package/dist/security/types.d.ts.map +1 -1
  638. package/dist/security/validation.d.ts.map +1 -1
  639. package/dist/security/view-conditions.d.ts +37 -0
  640. package/dist/security/view-conditions.d.ts.map +1 -0
  641. package/dist/shares/execution.d.ts.map +1 -1
  642. package/dist/shares/internal.js +34 -31
  643. package/dist/shares/internal.js.map +2 -2
  644. package/dist/storage/action-runs/failure.js +2 -2
  645. package/dist/storage/action-runs/provider.js +1 -1
  646. package/dist/storage/action-runs/types.d.ts +1 -1
  647. package/dist/storage/action-runs/types.d.ts.map +1 -1
  648. package/dist/storage/agents/errors.d.ts +3 -1
  649. package/dist/storage/agents/errors.d.ts.map +1 -1
  650. package/dist/storage/agents/in-memory.d.ts +120 -3
  651. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  652. package/dist/storage/agents/index.d.ts +2 -2
  653. package/dist/storage/agents/index.d.ts.map +1 -1
  654. package/dist/storage/agents/provider.d.ts +154 -4
  655. package/dist/storage/agents/provider.d.ts.map +1 -1
  656. package/dist/storage/agents/provider.js +60 -5
  657. package/dist/storage/agents/provider.js.map +1 -1
  658. package/dist/storage/agents/types.d.ts +565 -13
  659. package/dist/storage/agents/types.d.ts.map +1 -1
  660. package/dist/storage/ai-cost/analytics.d.ts +10 -1
  661. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  662. package/dist/storage/ai-cost/groups.d.ts +9 -0
  663. package/dist/storage/ai-cost/groups.d.ts.map +1 -1
  664. package/dist/storage/ai-cost/index.d.ts +1 -1
  665. package/dist/storage/ai-cost/index.d.ts.map +1 -1
  666. package/dist/storage/ai-cost/provider.d.ts +2 -1
  667. package/dist/storage/ai-cost/provider.d.ts.map +1 -1
  668. package/dist/storage/ai-cost/provider.js +11 -5
  669. package/dist/storage/ai-cost/provider.js.map +1 -1
  670. package/dist/storage/ai-cost/types.d.ts +14 -2
  671. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  672. package/dist/storage/ai-cost/validation.d.ts.map +1 -1
  673. package/dist/storage/ai-limits/enforcement.js +5 -4
  674. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  675. package/dist/storage/ai-limits/provider.d.ts +1 -1
  676. package/dist/storage/ai-limits/provider.d.ts.map +1 -1
  677. package/dist/storage/ai-limits/provider.js +3 -2
  678. package/dist/storage/ai-limits/provider.js.map +1 -1
  679. package/dist/storage/ai-usage/in-memory.d.ts +5 -1
  680. package/dist/storage/ai-usage/in-memory.d.ts.map +1 -1
  681. package/dist/storage/ai-usage/index.d.ts +2 -2
  682. package/dist/storage/ai-usage/index.d.ts.map +1 -1
  683. package/dist/storage/ai-usage/record.d.ts +5 -1
  684. package/dist/storage/ai-usage/record.d.ts.map +1 -1
  685. package/dist/storage/ai-usage/types.d.ts +33 -0
  686. package/dist/storage/ai-usage/types.d.ts.map +1 -1
  687. package/dist/storage/ai-usage/usage.d.ts +2 -0
  688. package/dist/storage/ai-usage/usage.d.ts.map +1 -1
  689. package/dist/storage/artifacts/errors.d.ts +12 -2
  690. package/dist/storage/artifacts/errors.d.ts.map +1 -1
  691. package/dist/storage/artifacts/in-memory.d.ts +23 -2
  692. package/dist/storage/artifacts/in-memory.d.ts.map +1 -1
  693. package/dist/storage/artifacts/index.d.ts +2 -2
  694. package/dist/storage/artifacts/index.d.ts.map +1 -1
  695. package/dist/storage/artifacts/record.d.ts +19 -2
  696. package/dist/storage/artifacts/record.d.ts.map +1 -1
  697. package/dist/storage/artifacts/types.d.ts +87 -8
  698. package/dist/storage/artifacts/types.d.ts.map +1 -1
  699. package/dist/storage/auth/in-memory/auth-storage.d.ts +3 -2
  700. package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
  701. package/dist/storage/auth/in-memory/users.d.ts +7 -3
  702. package/dist/storage/auth/in-memory/users.d.ts.map +1 -1
  703. package/dist/storage/auth/index.d.ts +1 -1
  704. package/dist/storage/auth/index.d.ts.map +1 -1
  705. package/dist/storage/auth/types.d.ts +40 -9
  706. package/dist/storage/auth/types.d.ts.map +1 -1
  707. package/dist/storage/connector-connections/provider.js +1 -1
  708. package/dist/storage/executions/in-memory.d.ts +2 -1
  709. package/dist/storage/executions/in-memory.d.ts.map +1 -1
  710. package/dist/storage/executions/index.d.ts +1 -1
  711. package/dist/storage/executions/index.d.ts.map +1 -1
  712. package/dist/storage/executions/types.d.ts +15 -0
  713. package/dist/storage/executions/types.d.ts.map +1 -1
  714. package/dist/storage/file-upload-sessions/provider.js +15 -12
  715. package/dist/storage/file-upload-sessions/provider.js.map +1 -1
  716. package/dist/storage/index.d.ts +13 -11
  717. package/dist/storage/index.d.ts.map +1 -1
  718. package/dist/storage/index.js +50 -39
  719. package/dist/storage/index.js.map +1 -1
  720. package/dist/storage/internal.d.ts +2 -2
  721. package/dist/storage/internal.d.ts.map +1 -1
  722. package/dist/storage/internal.js +19 -8
  723. package/dist/storage/internal.js.map +1 -1
  724. package/dist/storage/migrations/migrate-storage.d.ts +4 -1
  725. package/dist/storage/migrations/migrate-storage.d.ts.map +1 -1
  726. package/dist/storage/migrations/prepare-unique-properties.d.ts +18 -0
  727. package/dist/storage/migrations/prepare-unique-properties.d.ts.map +1 -0
  728. package/dist/storage/objects/guard.d.ts +1 -1
  729. package/dist/storage/objects/guard.d.ts.map +1 -1
  730. package/dist/storage/objects/in-memory/conditional-reader.d.ts +5 -0
  731. package/dist/storage/objects/in-memory/conditional-reader.d.ts.map +1 -0
  732. package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
  733. package/dist/storage/objects/in-memory/read-scope.d.ts +3 -9
  734. package/dist/storage/objects/in-memory/read-scope.d.ts.map +1 -1
  735. package/dist/storage/objects/in-memory/read-source.d.ts +10 -1
  736. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
  737. package/dist/storage/objects/in-memory/scoped-reader.d.ts +14 -0
  738. package/dist/storage/objects/in-memory/scoped-reader.d.ts.map +1 -0
  739. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
  740. package/dist/storage/objects/in-memory/storage.d.ts +36 -1
  741. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
  742. package/dist/storage/objects/index.d.ts +2 -2
  743. package/dist/storage/objects/index.d.ts.map +1 -1
  744. package/dist/storage/objects/read-scope.d.ts +9 -1
  745. package/dist/storage/objects/read-scope.d.ts.map +1 -1
  746. package/dist/storage/objects/types.d.ts +64 -1
  747. package/dist/storage/objects/types.d.ts.map +1 -1
  748. package/dist/storage/ontology/in-memory/index.d.ts +2 -0
  749. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  750. package/dist/storage/ontology/in-memory/materializations.d.ts +1 -0
  751. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  752. package/dist/storage/ontology/in-memory/replacement-plans.d.ts.map +1 -1
  753. package/dist/storage/ontology/in-memory/unique-values.d.ts +32 -0
  754. package/dist/storage/ontology/in-memory/unique-values.d.ts.map +1 -0
  755. package/dist/storage/ontology/index.d.ts +4 -1
  756. package/dist/storage/ontology/index.d.ts.map +1 -1
  757. package/dist/storage/ontology/materializations.d.ts +34 -1
  758. package/dist/storage/ontology/materializations.d.ts.map +1 -1
  759. package/dist/storage/ontology/provider-work.d.ts +15 -2
  760. package/dist/storage/ontology/provider-work.d.ts.map +1 -1
  761. package/dist/storage/ontology/provider.d.ts +1 -1
  762. package/dist/storage/ontology/provider.d.ts.map +1 -1
  763. package/dist/storage/ontology/provider.js +9 -4
  764. package/dist/storage/ontology/provider.js.map +1 -1
  765. package/dist/storage/ontology/unique-values.d.ts +54 -0
  766. package/dist/storage/ontology/unique-values.d.ts.map +1 -0
  767. package/dist/storage/operation-scope.d.ts +1 -1
  768. package/dist/storage/operation-scope.d.ts.map +1 -1
  769. package/dist/storage/operation-scope.js +1 -1
  770. package/dist/storage/projection-runs/in-memory.d.ts +0 -6
  771. package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
  772. package/dist/storage/projection-runs/provider.js +2 -2
  773. package/dist/storage/share-grants/provider.js +4 -3
  774. package/dist/storage/share-grants/provider.js.map +1 -1
  775. package/dist/storage/types.d.ts +2 -2
  776. package/dist/storage/types.d.ts.map +1 -1
  777. package/dist/storage/workflow-runs/provider.js +15 -12
  778. package/dist/storage/workflow-runs/provider.js.map +1 -1
  779. package/dist/syncs/index.js +42 -39
  780. package/dist/syncs/index.js.map +1 -1
  781. package/dist/testing/agent-approval-storage-contract.d.ts +17 -0
  782. package/dist/testing/agent-approval-storage-contract.d.ts.map +1 -0
  783. package/dist/testing/agent-memory-storage-contract.d.ts +12 -0
  784. package/dist/testing/agent-memory-storage-contract.d.ts.map +1 -0
  785. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  786. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  787. package/dist/testing/ai-limit-storage-contract.d.ts +0 -1
  788. package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -1
  789. package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -1
  790. package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
  791. package/dist/testing/artifact-storage-contract.d.ts.map +1 -1
  792. package/dist/testing/auth-storage-contract.d.ts +13 -0
  793. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  794. package/dist/testing/broker-contract.d.ts +5 -0
  795. package/dist/testing/broker-contract.d.ts.map +1 -1
  796. package/dist/testing/effective-storage-contract.d.ts.map +1 -1
  797. package/dist/testing/execution-storage-contract.d.ts.map +1 -1
  798. package/dist/testing/file-upload-session-storage-contract.d.ts.map +1 -1
  799. package/dist/testing/index.d.ts +9 -5
  800. package/dist/testing/index.d.ts.map +1 -1
  801. package/dist/testing/index.js +7938 -3743
  802. package/dist/testing/index.js.map +29 -25
  803. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  804. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  805. package/dist/testing/object-conditional-read-scope-contract.d.ts +11 -0
  806. package/dist/testing/object-conditional-read-scope-contract.d.ts.map +1 -0
  807. package/dist/testing/object-query-contract.d.ts +0 -2
  808. package/dist/testing/object-query-contract.d.ts.map +1 -1
  809. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  810. package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
  811. package/dist/testing/queues-contract.d.ts +5 -0
  812. package/dist/testing/queues-contract.d.ts.map +1 -1
  813. package/dist/testing/sandboxes-contract.d.ts.map +1 -1
  814. package/dist/testing/share-grant-storage-contract.d.ts.map +1 -1
  815. package/dist/testing/share-session-storage-contract.d.ts.map +1 -1
  816. package/dist/testing/unique-values-contract.d.ts +21 -0
  817. package/dist/testing/unique-values-contract.d.ts.map +1 -0
  818. package/dist/testing/webhook-execution.d.ts +0 -8
  819. package/dist/testing/webhook-execution.d.ts.map +1 -1
  820. package/dist/testing/webhook-run-storage-contract.d.ts.map +1 -1
  821. package/dist/users/execution.d.ts +40 -0
  822. package/dist/users/execution.d.ts.map +1 -0
  823. package/dist/users/index.d.ts +3 -0
  824. package/dist/users/index.d.ts.map +1 -0
  825. package/dist/webhooks/internal.js +34 -31
  826. package/dist/webhooks/internal.js.map +2 -2
  827. package/dist/workers/index.js +4 -6
  828. package/dist/workers/index.js.map +4 -4
  829. package/dist/workers/queue-worker.d.ts +0 -2
  830. package/dist/workers/queue-worker.d.ts.map +1 -1
  831. package/dist/workers/worker.d.ts +0 -2
  832. package/dist/workers/worker.d.ts.map +1 -1
  833. package/dist/workflows/builders.d.ts.map +1 -1
  834. package/dist/workflows/index.js +67 -63
  835. package/dist/workflows/index.js.map +1 -1
  836. package/dist/workflows/request.d.ts +12 -1
  837. package/dist/workflows/request.d.ts.map +1 -1
  838. package/dist/workflows/types.d.ts +6 -2
  839. package/dist/workflows/types.d.ts.map +1 -1
  840. package/dist/workflows/validation.d.ts.map +1 -1
  841. package/package.json +1 -1
  842. package/src/actions/commit-edits.ts +6 -1
  843. package/src/actions/execution.ts +42 -15
  844. package/src/actions/read-facade.ts +33 -0
  845. package/src/actions/request.ts +224 -71
  846. package/src/actions/run/context.ts +47 -1
  847. package/src/actions/run/execute.ts +13 -6
  848. package/src/actions/run/executor.ts +11 -2
  849. package/src/actions/run/normalize.ts +12 -2
  850. package/src/actions/run/phases.ts +2 -0
  851. package/src/actions/run/run-action.ts +12 -3
  852. package/src/actions/run/signals.ts +3 -9
  853. package/src/actions/run/types.ts +17 -1
  854. package/src/actions/run-authorization.ts +72 -0
  855. package/src/actions/types/context.ts +20 -3
  856. package/src/actions/validators.ts +19 -8
  857. package/src/activity/README.md +5 -2
  858. package/src/activity/timeline.ts +39 -78
  859. package/src/agents/accounting.ts +59 -0
  860. package/src/agents/adapters.ts +10 -0
  861. package/src/agents/agent-mail.ts +29 -0
  862. package/src/agents/api-gateway.ts +14 -3
  863. package/src/agents/approval-continuation.ts +48 -0
  864. package/src/agents/approval-executor.ts +318 -0
  865. package/src/agents/approval-outcome.ts +59 -0
  866. package/src/agents/approvals.ts +566 -0
  867. package/src/agents/authority.ts +24 -1
  868. package/src/agents/builders.ts +5 -3
  869. package/src/agents/cancel.ts +103 -0
  870. package/src/agents/child-question.ts +46 -0
  871. package/src/agents/children.ts +404 -0
  872. package/src/agents/context-compaction.ts +12 -0
  873. package/src/agents/errors.ts +31 -0
  874. package/src/agents/execution.ts +788 -90
  875. package/src/agents/fork.ts +158 -0
  876. package/src/agents/ids.ts +18 -6
  877. package/src/agents/index.ts +55 -0
  878. package/src/agents/memory-execution.ts +186 -0
  879. package/src/agents/memory.ts +178 -0
  880. package/src/agents/message.ts +57 -0
  881. package/src/agents/model-loop.ts +93 -6
  882. package/src/agents/model-routing.ts +193 -0
  883. package/src/agents/participants.ts +213 -0
  884. package/src/agents/reference.ts +2 -0
  885. package/src/agents/request.ts +398 -69
  886. package/src/agents/run-scope.ts +134 -0
  887. package/src/agents/streams/index.ts +5 -0
  888. package/src/agents/streams/internal.ts +1 -0
  889. package/src/agents/streams/protocol.ts +385 -7
  890. package/src/agents/subagent-runs.ts +41 -0
  891. package/src/agents/thread-access.ts +137 -0
  892. package/src/agents/tool-definition.ts +5 -3
  893. package/src/agents/types.ts +35 -10
  894. package/src/agents/validation.ts +2 -0
  895. package/src/artifacts/access.ts +125 -0
  896. package/src/artifacts/canvas.ts +369 -0
  897. package/src/artifacts/csv.ts +10 -0
  898. package/src/artifacts/errors.ts +12 -1
  899. package/src/artifacts/execution.ts +436 -36
  900. package/src/artifacts/formula/check.ts +171 -0
  901. package/src/artifacts/formula/evaluate.ts +288 -0
  902. package/src/artifacts/formula/index.ts +199 -0
  903. package/src/artifacts/formula/parser.ts +357 -0
  904. package/src/artifacts/frames/assets.ts +35 -19
  905. package/src/artifacts/frames/entries.ts +35 -0
  906. package/src/artifacts/frames/grants.ts +10 -9
  907. package/src/artifacts/frames/index.ts +8 -2
  908. package/src/artifacts/frames/kit.ts +191 -14
  909. package/src/artifacts/frames/probe.ts +66 -18
  910. package/src/artifacts/frames/protocol.ts +164 -10
  911. package/src/artifacts/frames/runtime.ts +273 -28
  912. package/src/artifacts/index.ts +66 -2
  913. package/src/artifacts/kinds.ts +1 -1
  914. package/src/artifacts/limits.ts +31 -0
  915. package/src/artifacts/live-sheet.ts +345 -0
  916. package/src/artifacts/outline.ts +34 -1
  917. package/src/artifacts/publish/index.ts +2 -0
  918. package/src/artifacts/publish/publish.ts +120 -34
  919. package/src/artifacts/publish/queries.ts +336 -0
  920. package/src/artifacts/publish/references.ts +18 -13
  921. package/src/artifacts/publish/validate/canvas.ts +118 -0
  922. package/src/artifacts/publish/validate/html.ts +78 -0
  923. package/src/artifacts/publish/validate/page.ts +65 -0
  924. package/src/artifacts/publish/validate/sheet.ts +115 -69
  925. package/src/artifacts/publish/validate/slides.ts +11 -63
  926. package/src/artifacts/queries.ts +512 -0
  927. package/src/artifacts/resolve.ts +20 -5
  928. package/src/artifacts/run-query.ts +212 -0
  929. package/src/artifacts/serialize-query.ts +25 -0
  930. package/src/artifacts/sheet-rules.ts +180 -0
  931. package/src/artifacts/tones.ts +20 -0
  932. package/src/artifacts/workbook.ts +374 -15
  933. package/src/auth/index.ts +4 -0
  934. package/src/auth/member-events.ts +114 -0
  935. package/src/auth/profile.ts +118 -0
  936. package/src/auth/runtime.ts +190 -9
  937. package/src/auth/strategy.ts +3 -0
  938. package/src/auth/types.ts +32 -0
  939. package/src/authorization/decision.ts +47 -0
  940. package/src/authorization/event-visibility.ts +17 -16
  941. package/src/authorization/grant-kinds.ts +32 -0
  942. package/src/authorization/index.ts +6 -1
  943. package/src/authorization/resolve.ts +58 -1
  944. package/src/authorization/run-visibility.ts +8 -1
  945. package/src/authorization/types.ts +14 -0
  946. package/src/errors/catalog.ts +26 -1
  947. package/src/errors/internal.ts +17 -8
  948. package/src/events/definitions.ts +26 -0
  949. package/src/events/execution.ts +43 -6
  950. package/src/events/index.ts +10 -1
  951. package/src/events/scope.ts +2 -0
  952. package/src/events/selectors/builder.ts +50 -0
  953. package/src/events/selectors/index.ts +4 -0
  954. package/src/events/selectors/types.ts +32 -1
  955. package/src/events/service.ts +55 -2
  956. package/src/events/types/index.ts +10 -0
  957. package/src/events/types/users.ts +73 -0
  958. package/src/events/view-conditions.ts +241 -0
  959. package/src/execution/agent.ts +25 -0
  960. package/src/execution/authorization.ts +70 -0
  961. package/src/execution/authorized-object-reader.ts +238 -32
  962. package/src/execution/lineage.ts +14 -0
  963. package/src/execution/object-reader-ontology.ts +11 -14
  964. package/src/execution/object-reader-security.ts +134 -10
  965. package/src/execution/object-reader-users.ts +122 -0
  966. package/src/execution/preparation.ts +78 -0
  967. package/src/execution/request.ts +2 -0
  968. package/src/execution/unique-lookup.ts +55 -0
  969. package/src/execution/visible-objects.ts +26 -0
  970. package/src/http/api-routes.ts +206 -7
  971. package/src/index.ts +99 -2
  972. package/src/materialization/errors.ts +37 -0
  973. package/src/materialization/event-envelopes.ts +11 -3
  974. package/src/materialization/index.ts +1 -0
  975. package/src/materialization/model.ts +24 -4
  976. package/src/materializer/README.md +7 -1
  977. package/src/materializer/edits/commit.ts +56 -12
  978. package/src/materializer/edits/load-state.ts +15 -7
  979. package/src/materializer/edits/operations.ts +12 -0
  980. package/src/materializer/edits/plan.ts +2 -0
  981. package/src/materializer/edits/unique-values.ts +255 -0
  982. package/src/materializer/edits/working-state.ts +8 -1
  983. package/src/materializer/execution/work-records.ts +47 -0
  984. package/src/materializer/projections/finish-run.ts +0 -1
  985. package/src/materializer/projections/replace.ts +1 -1
  986. package/src/materializer/projections/replacement-plan.ts +4 -1
  987. package/src/materializer/projections/source-materialization.ts +2 -1
  988. package/src/materializer/shared/normalize.ts +37 -6
  989. package/src/materializer/shared/projection-run.ts +1 -2
  990. package/src/materializer/telemetry/append.ts +14 -17
  991. package/src/materializer/telemetry/plan.ts +2 -0
  992. package/src/models/audio/catalog.ts +89 -10
  993. package/src/models/audio/errors.ts +18 -1
  994. package/src/models/audio/runtime.ts +10 -13
  995. package/src/models/audio/speech.ts +261 -0
  996. package/src/models/audio/types.ts +97 -0
  997. package/src/models/calls.ts +100 -0
  998. package/src/models/catalog-index.ts +21 -2
  999. package/src/models/catalog.ts +211 -35
  1000. package/src/models/decision/runtime.ts +21 -22
  1001. package/src/models/decision/validation.ts +4 -1
  1002. package/src/models/definitions.ts +57 -8
  1003. package/src/models/events.ts +72 -1
  1004. package/src/models/execution/README.md +34 -5
  1005. package/src/models/execution/binding.ts +3 -1
  1006. package/src/models/execution/embedding.ts +1 -0
  1007. package/src/models/execution/index.ts +5 -0
  1008. package/src/models/execution/model-call-accounting.ts +3 -1
  1009. package/src/models/execution/model-call-recorder.ts +29 -1
  1010. package/src/models/execution/usage.ts +8 -0
  1011. package/src/models/execution.ts +20 -22
  1012. package/src/models/generation-types.ts +8 -1
  1013. package/src/models/image/catalog.ts +89 -0
  1014. package/src/models/image/errors.ts +19 -0
  1015. package/src/models/image/runtime.ts +335 -0
  1016. package/src/models/image/types.ts +111 -0
  1017. package/src/models/index.ts +38 -4
  1018. package/src/models/{audio/file.ts → input-file.ts} +22 -13
  1019. package/src/models/language-model.ts +13 -0
  1020. package/src/models/pricing.ts +263 -42
  1021. package/src/models/rate-card.ts +161 -12
  1022. package/src/objects/authorized-ontology-view.ts +1 -0
  1023. package/src/objects/conditional-writes.ts +109 -0
  1024. package/src/objects/execution.ts +4 -0
  1025. package/src/objects/index.ts +8 -0
  1026. package/src/objects/link/authorization.ts +12 -3
  1027. package/src/objects/link/endpoints.ts +42 -11
  1028. package/src/objects/link/remove.ts +25 -10
  1029. package/src/objects/link/upsert-batch.ts +2 -0
  1030. package/src/objects/link/upsert.ts +18 -12
  1031. package/src/objects/materializer-adapter.ts +55 -18
  1032. package/src/objects/object/delete.ts +24 -7
  1033. package/src/objects/object/upsert-batch.ts +44 -14
  1034. package/src/objects/object/upsert.ts +23 -5
  1035. package/src/objects/query/current-user.ts +76 -0
  1036. package/src/objects/query/executor.ts +39 -103
  1037. package/src/objects/query/explain.ts +20 -7
  1038. package/src/objects/query/index.ts +2 -0
  1039. package/src/objects/query/ir.ts +20 -0
  1040. package/src/objects/query/links.ts +8 -0
  1041. package/src/objects/query/matches-predicate.ts +108 -0
  1042. package/src/objects/query/normalize.ts +50 -19
  1043. package/src/objects/query/scalar-values.ts +19 -3
  1044. package/src/objects/query/user-expansions.ts +65 -0
  1045. package/src/objects/query/validate.ts +248 -10
  1046. package/src/objects/runtime-batch.ts +8 -2
  1047. package/src/objects/sdk/object-set.ts +12 -1
  1048. package/src/objects/sdk/query-builder.ts +39 -8
  1049. package/src/objects/sdk/query-executor.ts +6 -0
  1050. package/src/objects/serialize.ts +79 -0
  1051. package/src/objects/unique-violation.ts +59 -0
  1052. package/src/objects/vectors/handle.ts +3 -3
  1053. package/src/ontology/builders.ts +3 -0
  1054. package/src/ontology/docs-markdown.ts +1 -0
  1055. package/src/ontology/index.ts +2 -2
  1056. package/src/ontology/json-schema.ts +4 -0
  1057. package/src/ontology/primitives.ts +21 -8
  1058. package/src/ontology/registry.ts +16 -0
  1059. package/src/ontology/types.ts +9 -0
  1060. package/src/ontology/unique-values.ts +84 -0
  1061. package/src/ontology/user-ref.ts +39 -0
  1062. package/src/ontology/validation/properties.ts +43 -0
  1063. package/src/ontology/validation/schema.ts +9 -1
  1064. package/src/projections/registry.ts +16 -10
  1065. package/src/projections/revision.ts +112 -45
  1066. package/src/projections/run-dispatch.ts +38 -25
  1067. package/src/projections/types.ts +2 -0
  1068. package/src/query.ts +5 -0
  1069. package/src/rules/execution.ts +43 -11
  1070. package/src/runtime/ai-cost.ts +30 -0
  1071. package/src/runtime/ai-usage.ts +32 -1
  1072. package/src/runtime/host.ts +18 -1
  1073. package/src/runtime/index.ts +2 -0
  1074. package/src/runtime/resolve-definitions.ts +3 -0
  1075. package/src/runtime/sixb.ts +35 -8
  1076. package/src/runtime/types.ts +99 -9
  1077. package/src/schedules/builders.ts +3 -1
  1078. package/src/schedules/runtime.ts +6 -0
  1079. package/src/schedules/validation.ts +23 -1
  1080. package/src/security/README.md +62 -0
  1081. package/src/security/grants.ts +155 -10
  1082. package/src/security/index.ts +3 -1
  1083. package/src/security/project.ts +6 -1
  1084. package/src/security/registry.ts +32 -7
  1085. package/src/security/types.ts +54 -9
  1086. package/src/security/validation.ts +27 -11
  1087. package/src/security/view-conditions.ts +215 -0
  1088. package/src/shares/execution.ts +43 -10
  1089. package/src/storage/action-runs/types.ts +2 -0
  1090. package/src/storage/agents/errors.ts +3 -0
  1091. package/src/storage/agents/in-memory.ts +779 -32
  1092. package/src/storage/agents/index.ts +42 -0
  1093. package/src/storage/agents/provider.ts +733 -8
  1094. package/src/storage/agents/types.ts +620 -12
  1095. package/src/storage/ai-cost/analytics.ts +60 -7
  1096. package/src/storage/ai-cost/codec.ts +6 -1
  1097. package/src/storage/ai-cost/groups.ts +44 -1
  1098. package/src/storage/ai-cost/index.ts +1 -0
  1099. package/src/storage/ai-cost/provider.ts +2 -0
  1100. package/src/storage/ai-cost/types.ts +18 -1
  1101. package/src/storage/ai-cost/validation.ts +39 -12
  1102. package/src/storage/ai-limits/provider.ts +4 -7
  1103. package/src/storage/ai-usage/in-memory.ts +28 -1
  1104. package/src/storage/ai-usage/index.ts +9 -1
  1105. package/src/storage/ai-usage/record.ts +44 -7
  1106. package/src/storage/ai-usage/types.ts +38 -0
  1107. package/src/storage/ai-usage/usage.ts +15 -1
  1108. package/src/storage/artifacts/errors.ts +13 -1
  1109. package/src/storage/artifacts/in-memory.ts +156 -8
  1110. package/src/storage/artifacts/index.ts +6 -1
  1111. package/src/storage/artifacts/record.ts +61 -1
  1112. package/src/storage/artifacts/types.ts +92 -8
  1113. package/src/storage/auth/in-memory/auth-storage.ts +27 -2
  1114. package/src/storage/auth/in-memory/users.ts +40 -6
  1115. package/src/storage/auth/index.ts +1 -0
  1116. package/src/storage/auth/types.ts +43 -7
  1117. package/src/storage/executions/in-memory.ts +32 -0
  1118. package/src/storage/executions/index.ts +2 -0
  1119. package/src/storage/executions/types.ts +17 -0
  1120. package/src/storage/index.ts +69 -1
  1121. package/src/storage/internal.ts +9 -1
  1122. package/src/storage/migrations/migrate-storage.ts +8 -1
  1123. package/src/storage/migrations/prepare-unique-properties.ts +161 -0
  1124. package/src/storage/objects/guard.ts +7 -3
  1125. package/src/storage/objects/in-memory/conditional-reader.ts +72 -0
  1126. package/src/storage/objects/in-memory/query.ts +4 -105
  1127. package/src/storage/objects/in-memory/read-scope.ts +15 -14
  1128. package/src/storage/objects/in-memory/read-source.ts +11 -1
  1129. package/src/storage/objects/in-memory/scoped-reader.ts +243 -0
  1130. package/src/storage/objects/in-memory/selected-reader.ts +6 -231
  1131. package/src/storage/objects/in-memory/storage.ts +183 -1
  1132. package/src/storage/objects/index.ts +9 -1
  1133. package/src/storage/objects/read-scope.ts +191 -0
  1134. package/src/storage/objects/types.ts +68 -1
  1135. package/src/storage/ontology/in-memory/index.ts +3 -0
  1136. package/src/storage/ontology/in-memory/materializations.ts +35 -0
  1137. package/src/storage/ontology/in-memory/replacement-plans.ts +4 -0
  1138. package/src/storage/ontology/in-memory/unique-values.ts +62 -0
  1139. package/src/storage/ontology/index.ts +10 -0
  1140. package/src/storage/ontology/materializations.ts +35 -1
  1141. package/src/storage/ontology/provider-work.ts +76 -0
  1142. package/src/storage/ontology/provider.ts +3 -0
  1143. package/src/storage/ontology/unique-values.ts +56 -0
  1144. package/src/storage/operation-scope.ts +9 -1
  1145. package/src/storage/projection-runs/in-memory.ts +3 -35
  1146. package/src/storage/types.ts +2 -0
  1147. package/src/testing/agent-approval-storage-contract.ts +1117 -0
  1148. package/src/testing/agent-memory-storage-contract.ts +400 -0
  1149. package/src/testing/agent-storage-contract.ts +1188 -33
  1150. package/src/testing/ai-cost-storage-contract.ts +31 -1
  1151. package/src/testing/ai-limit-storage-contract.ts +9 -7
  1152. package/src/testing/ai-model-call-groups-contract.ts +76 -0
  1153. package/src/testing/ai-usage-storage-contract.ts +120 -13
  1154. package/src/testing/artifact-storage-contract.ts +338 -4
  1155. package/src/testing/auth-storage-contract.ts +550 -73
  1156. package/src/testing/broker-contract.ts +28 -23
  1157. package/src/testing/effective-storage-contract.ts +3 -8
  1158. package/src/testing/execution-storage-contract.ts +53 -0
  1159. package/src/testing/file-upload-session-storage-contract.ts +12 -24
  1160. package/src/testing/index.ts +17 -4
  1161. package/src/testing/lake-storage-contract.ts +22 -28
  1162. package/src/testing/materializer-storage-contract.ts +36 -9
  1163. package/src/testing/object-conditional-read-scope-contract.ts +634 -0
  1164. package/src/testing/object-query-contract.ts +386 -186
  1165. package/src/testing/ontology-storage-contract.ts +230 -21
  1166. package/src/testing/projection-run-storage-contract.ts +8 -18
  1167. package/src/testing/queues-contract.ts +39 -70
  1168. package/src/testing/sandboxes-contract.ts +3 -14
  1169. package/src/testing/share-grant-storage-contract.ts +13 -16
  1170. package/src/testing/share-session-storage-contract.ts +4 -14
  1171. package/src/testing/unique-values-contract.ts +907 -0
  1172. package/src/testing/webhook-execution.ts +1 -1
  1173. package/src/testing/webhook-run-storage-contract.ts +6 -9
  1174. package/src/users/execution.ts +131 -0
  1175. package/src/users/index.ts +2 -0
  1176. package/src/workers/queue-worker.ts +1 -3
  1177. package/src/workers/worker.ts +1 -3
  1178. package/src/workflows/builders.ts +6 -0
  1179. package/src/workflows/request.ts +46 -8
  1180. package/src/workflows/types.ts +6 -2
  1181. package/src/workflows/validation.ts +23 -9
  1182. package/dist/chunk-29yx306f.js.map +0 -22
  1183. package/dist/chunk-3jms7je7.js +0 -14
  1184. package/dist/chunk-3jms7je7.js.map +0 -10
  1185. package/dist/chunk-3qct2mdc.js +0 -297
  1186. package/dist/chunk-3qct2mdc.js.map +0 -12
  1187. package/dist/chunk-48qjhh6v.js.map +0 -13
  1188. package/dist/chunk-4as3wt1c.js.map +0 -12
  1189. package/dist/chunk-5948n82c.js.map +0 -10
  1190. package/dist/chunk-5hx48dnn.js.map +0 -14
  1191. package/dist/chunk-6rqgmkde.js.map +0 -29
  1192. package/dist/chunk-6x0pqh32.js.map +0 -10
  1193. package/dist/chunk-7n30ybym.js +0 -3
  1194. package/dist/chunk-7n440zgt.js +0 -261
  1195. package/dist/chunk-7n440zgt.js.map +0 -12
  1196. package/dist/chunk-7q8t23v4.js +0 -467
  1197. package/dist/chunk-7q8t23v4.js.map +0 -14
  1198. package/dist/chunk-8frc8a4j.js.map +0 -20
  1199. package/dist/chunk-918wwnaa.js.map +0 -68
  1200. package/dist/chunk-91mg3nj9.js.map +0 -12
  1201. package/dist/chunk-96yw3pwd.js.map +0 -10
  1202. package/dist/chunk-9j4jw7as.js.map +0 -14
  1203. package/dist/chunk-9k93ah50.js.map +0 -11
  1204. package/dist/chunk-9kgkfg6v.js +0 -502
  1205. package/dist/chunk-9kgkfg6v.js.map +0 -14
  1206. package/dist/chunk-akzryx9h.js.map +0 -100
  1207. package/dist/chunk-arns890k.js.map +0 -10
  1208. package/dist/chunk-bk9svbcq.js.map +0 -49
  1209. package/dist/chunk-c06hmxyy.js +0 -31
  1210. package/dist/chunk-c06hmxyy.js.map +0 -10
  1211. package/dist/chunk-c1rxbz5y.js.map +0 -12
  1212. package/dist/chunk-cn0fwwhy.js.map +0 -19
  1213. package/dist/chunk-dhcv7yxc.js.map +0 -11
  1214. package/dist/chunk-dhdha526.js.map +0 -10
  1215. package/dist/chunk-dvd2fp9q.js.map +0 -13
  1216. package/dist/chunk-e6k4thh5.js.map +0 -19
  1217. package/dist/chunk-ere85b8y.js.map +0 -15
  1218. package/dist/chunk-g257jwnc.js.map +0 -12
  1219. package/dist/chunk-hwksyjks.js.map +0 -11
  1220. package/dist/chunk-k43ct2ke.js.map +0 -12
  1221. package/dist/chunk-nn5xnx3s.js.map +0 -40
  1222. package/dist/chunk-pbcbn83d.js.map +0 -14
  1223. package/dist/chunk-pqajwytd.js +0 -68
  1224. package/dist/chunk-pqajwytd.js.map +0 -11
  1225. package/dist/chunk-qczk96d9.js.map +0 -11
  1226. package/dist/chunk-rdghfsss.js +0 -39
  1227. package/dist/chunk-rdghfsss.js.map +0 -10
  1228. package/dist/chunk-rj69qcrd.js.map +0 -11
  1229. package/dist/chunk-v4jbb3rs.js.map +0 -10
  1230. package/dist/chunk-yxd3nnqt.js.map +0 -11
  1231. package/dist/events/toStoredEvent.d.ts +0 -9
  1232. package/dist/events/toStoredEvent.d.ts.map +0 -1
  1233. package/dist/models/audio/file.d.ts +0 -9
  1234. package/dist/models/audio/file.d.ts.map +0 -1
  1235. package/src/events/toStoredEvent.ts +0 -33
  1236. /package/dist/{chunk-mfs23znk.js.map → chunk-07kkp2e1.js.map} +0 -0
  1237. /package/dist/{chunk-z58tm0hm.js.map → chunk-0phpbbvm.js.map} +0 -0
  1238. /package/dist/{chunk-e17zdm62.js.map → chunk-1t6k1avb.js.map} +0 -0
  1239. /package/dist/{chunk-kge7k6ey.js.map → chunk-2fn60nvs.js.map} +0 -0
  1240. /package/dist/{chunk-y0c4e6ex.js.map → chunk-3gbefjg5.js.map} +0 -0
  1241. /package/dist/{chunk-cy4mbddw.js.map → chunk-48jezz3j.js.map} +0 -0
  1242. /package/dist/{chunk-twe4dx8p.js → chunk-5tfev0fv.js} +0 -0
  1243. /package/dist/{chunk-twe4dx8p.js.map → chunk-5tfev0fv.js.map} +0 -0
  1244. /package/dist/{chunk-447a5c0p.js.map → chunk-6n69k945.js.map} +0 -0
  1245. /package/dist/{chunk-0bphap9y.js.map → chunk-6p0pastb.js.map} +0 -0
  1246. /package/dist/{chunk-431pyp2c.js.map → chunk-6y0mkhex.js.map} +0 -0
  1247. /package/dist/{chunk-s7jg7pmn.js.map → chunk-bab05bhg.js.map} +0 -0
  1248. /package/dist/{chunk-q5e5tv4b.js.map → chunk-c844dkwd.js.map} +0 -0
  1249. /package/dist/{chunk-cfj9dfbb.js.map → chunk-d2m879s4.js.map} +0 -0
  1250. /package/dist/{chunk-q7gn29y3.js.map → chunk-dp0cdtj2.js.map} +0 -0
  1251. /package/dist/{chunk-br3k6qbf.js.map → chunk-fm62y49k.js.map} +0 -0
  1252. /package/dist/{chunk-vvxtn22d.js.map → chunk-g663fahq.js.map} +0 -0
  1253. /package/dist/{chunk-rmakanzx.js.map → chunk-h33shhq6.js.map} +0 -0
  1254. /package/dist/{chunk-d09e3rax.js.map → chunk-hwarjrgf.js.map} +0 -0
  1255. /package/dist/{chunk-vf57cr4t.js.map → chunk-hyesv9dv.js.map} +0 -0
  1256. /package/dist/{chunk-5vems3nx.js.map → chunk-m2nevja0.js.map} +0 -0
  1257. /package/dist/{chunk-x9v4cx1d.js.map → chunk-m36fw8ft.js.map} +0 -0
  1258. /package/dist/{chunk-a40ad1ft.js.map → chunk-mbsbxarb.js.map} +0 -0
  1259. /package/dist/{chunk-6aawea28.js.map → chunk-n8q5j6y5.js.map} +0 -0
  1260. /package/dist/{chunk-d7dnxdep.js.map → chunk-n9zpx9c6.js.map} +0 -0
  1261. /package/dist/{chunk-xvsc5m8n.js.map → chunk-npcr0228.js.map} +0 -0
  1262. /package/dist/{chunk-y5tah2kf.js.map → chunk-q4pmvkg0.js.map} +0 -0
  1263. /package/dist/{chunk-d5rjr8c0.js.map → chunk-vabga7fk.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"lake-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/lake-storage-contract.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAMV,WAAW,EACZ,MAAM,uBAAuB,CAAA;AAE9B,MAAM,MAAM,oCAAoC,GAAG,QAAQ,GAAG,oBAAoB,CAAA;AAElF,MAAM,WAAW,+BAA+B,CAAC,QAAQ,SAAS,WAAW,GAAG,WAAW;IACzF,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,oCAAoC,CAAA;IAC/D,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrE;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACnC;AAmED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,SAAS,WAAW,EACtE,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,+BAA+B,CAAC,QAAQ,CAAC,GACjD,IAAI,CAojCN"}
1
+ {"version":3,"file":"lake-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/lake-storage-contract.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAMV,WAAW,EACZ,MAAM,uBAAuB,CAAA;AAE9B,MAAM,MAAM,oCAAoC,GAAG,QAAQ,GAAG,oBAAoB,CAAA;AAElF,MAAM,WAAW,+BAA+B,CAAC,QAAQ,SAAS,WAAW,GAAG,WAAW;IACzF,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,oCAAoC,CAAA;IAC/D,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrE;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACnC;AAmED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,SAAS,WAAW,EACtE,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,+BAA+B,CAAC,QAAQ,CAAC,GACjD,IAAI,CA8iCN"}
@@ -1 +1 @@
1
- {"version":3,"file":"materializer-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/materializer-storage-contract.ts"],"names":[],"mappings":"AACA,OAAO,EASL,KAAK,OAAO,EACb,MAAM,IAAI,CAAA;AAoCX,MAAM,WAAW,mCAAmC,CAAC,QAAQ,SAAS,OAAO;IAC3E,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,wEAAwE;IACxE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvE,kEAAkE;IAClE,QAAQ,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACnE;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACvE;AA6FD,wBAAgB,mCAAmC,CAAC,QAAQ,SAAS,OAAO,EAC1E,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,mCAAmC,CAAC,QAAQ,CAAC,GACtD,IAAI,CAsrDN"}
1
+ {"version":3,"file":"materializer-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/materializer-storage-contract.ts"],"names":[],"mappings":"AACA,OAAO,EASL,KAAK,OAAO,EACb,MAAM,IAAI,CAAA;AAoCX,MAAM,WAAW,mCAAmC,CAAC,QAAQ,SAAS,OAAO;IAC3E,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,wEAAwE;IACxE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvE,kEAAkE;IAClE,QAAQ,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACnE;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACvE;AA6FD,wBAAgB,mCAAmC,CAAC,QAAQ,SAAS,OAAO,EAC1E,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,mCAAmC,CAAC,QAAQ,CAAC,GACtD,IAAI,CAusDN"}
@@ -0,0 +1,11 @@
1
+ import type { Storage } from "../storage/types";
2
+ import type { ObjectReadScopeContractSuiteOptions } from "./object-read-scope-contract";
3
+ /**
4
+ * Portable conditional-read contract shared by every storage provider.
5
+ *
6
+ * A condition hides the objects of its concrete type it does not match, and every link touching
7
+ * one, from every read: hidden rows behave exactly like missing ones, before filters, ordering,
8
+ * pagination and aggregates.
9
+ */
10
+ export declare function runConditionalObjectReadScopeContractSuite<TStorage extends Storage>(label: string, options: ObjectReadScopeContractSuiteOptions<TStorage>): void;
11
+ //# sourceMappingURL=object-conditional-read-scope-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-conditional-read-scope-contract.d.ts","sourceRoot":"","sources":["../../src/testing/object-conditional-read-scope-contract.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAO/C,OAAO,KAAK,EAEV,mCAAmC,EACpC,MAAM,8BAA8B,CAAA;AAoCrC;;;;;;GAMG;AACH,wBAAgB,0CAA0C,CAAC,QAAQ,SAAS,OAAO,EACjF,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,GACrD,IAAI,CAudN"}
@@ -1,6 +1,5 @@
1
1
  import { OntologyRegistry } from "../ontology";
2
2
  import type { Storage } from "../storage/types";
3
- import { type MaterializerTestFixture } from "./materializer-fixture";
4
3
  export interface ObjectQueryProviderContractSuiteOptions<TStorage extends Storage> {
5
4
  /** Factory that produces a fresh complete storage instance for each test case. */
6
5
  readonly createStorage: () => TStorage | Promise<TStorage>;
@@ -17,5 +16,4 @@ export declare const objectQueryContractOntology: OntologyRegistry;
17
16
  * structured rejections for features outside a provider's capability map.
18
17
  */
19
18
  export declare function runObjectQueryProviderContractSuite<TStorage extends Storage>(label: string, options: ObjectQueryProviderContractSuiteOptions<TStorage>): void;
20
- export declare function seedObjectQueryContractData(fixture: MaterializerTestFixture): Promise<void>;
21
19
  //# sourceMappingURL=object-query-contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"object-query-contract.d.ts","sourceRoot":"","sources":["../../src/testing/object-query-contract.ts"],"names":[],"mappings":"AAgBA,OAAO,EAA0B,gBAAgB,EAAyB,MAAM,aAAa,CAAA;AAE7F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAA;AAE/B,MAAM,WAAW,uCAAuC,CAAC,QAAQ,SAAS,OAAO;IAC/E,kFAAkF;IAClF,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChE;AA8HD,eAAO,MAAM,2BAA2B,kBAEtC,CAAA;AAEF;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CAAC,QAAQ,SAAS,OAAO,EAC1E,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,uCAAuC,CAAC,QAAQ,CAAC,GACzD,IAAI,CA2sCN;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2EjG"}
1
+ {"version":3,"file":"object-query-contract.d.ts","sourceRoot":"","sources":["../../src/testing/object-query-contract.ts"],"names":[],"mappings":"AAcA,OAAO,EAA0B,gBAAgB,EAAyB,MAAM,aAAa,CAAA;AAE7F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAQ/C,MAAM,WAAW,uCAAuC,CAAC,QAAQ,SAAS,OAAO;IAC/E,kFAAkF;IAClF,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChE;AAyJD,eAAO,MAAM,2BAA2B,kBAatC,CAAA;AAOF;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CAAC,QAAQ,SAAS,OAAO,EAC1E,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,uCAAuC,CAAC,QAAQ,CAAC,GACzD,IAAI,CAu0CN"}
@@ -1 +1 @@
1
- {"version":3,"file":"ontology-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/ontology-storage-contract.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAOL,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAA;AAGpC,MAAM,WAAW,8BAA+B,SAAQ,uBAAuB;IAC7E,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C;AAED,MAAM,WAAW,mCAAmC,CAClD,QAAQ,SAAS,8BAA8B,GAAG,8BAA8B;IAEhF,4FAA4F;IAC5F,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,kFAAkF;IAClF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D;AAkDD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,SAAS,8BAA8B,EAC7F,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,GACrD,IAAI,CAm9BN"}
1
+ {"version":3,"file":"ontology-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/ontology-storage-contract.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAQL,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAA;AAGpC,MAAM,WAAW,8BAA+B,SAAQ,uBAAuB;IAC7E,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C;AAED,MAAM,WAAW,mCAAmC,CAClD,QAAQ,SAAS,8BAA8B,GAAG,8BAA8B;IAEhF,4FAA4F;IAC5F,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,kFAAkF;IAClF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D;AAkDD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,SAAS,8BAA8B,EAC7F,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,GACrD,IAAI,CAiqCN"}
@@ -1 +1 @@
1
- {"version":3,"file":"projection-run-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/projection-run-storage-contract.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAGV,oBAAoB,EAGrB,MAAM,4BAA4B,CAAA;AAEnC,MAAM,WAAW,mCAAmC,CAClD,QAAQ,SAAS,oBAAoB,GAAG,oBAAoB;IAE5D,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;CACtC;AAED,MAAM,WAAW,wCAAwC,CACvD,QAAQ,SAAS,oBAAoB,GAAG,oBAAoB;IAE5D,wFAAwF;IACxF,QAAQ,CAAC,aAAa,EAAE,MACpB,mCAAmC,CAAC,QAAQ,CAAC,GAC7C,OAAO,CAAC,mCAAmC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,CACjB,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,KACnD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAgDD,mFAAmF;AACnF,wBAAgB,oCAAoC,CAAC,QAAQ,SAAS,oBAAoB,EACxF,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,wCAAwC,CAAC,QAAQ,CAAC,GAC1D,IAAI,CAknBN"}
1
+ {"version":3,"file":"projection-run-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/projection-run-storage-contract.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAGV,oBAAoB,EAGrB,MAAM,4BAA4B,CAAA;AAEnC,MAAM,WAAW,mCAAmC,CAClD,QAAQ,SAAS,oBAAoB,GAAG,oBAAoB;IAE5D,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;CACtC;AAED,MAAM,WAAW,wCAAwC,CACvD,QAAQ,SAAS,oBAAoB,GAAG,oBAAoB;IAE5D,wFAAwF;IACxF,QAAQ,CAAC,aAAa,EAAE,MACpB,mCAAmC,CAAC,QAAQ,CAAC,GAC7C,OAAO,CAAC,mCAAmC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,CACjB,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,KACnD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAgDD,mFAAmF;AACnF,wBAAgB,oCAAoC,CAAC,QAAQ,SAAS,oBAAoB,EACxF,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,wCAAwC,CAAC,QAAQ,CAAC,GAC1D,IAAI,CAwmBN"}
@@ -18,6 +18,11 @@ export interface QueueContractSuiteOptions {
18
18
  * Time to wait for a delayed retry to become visible again. Defaults to `shortLeaseMs + 15`.
19
19
  */
20
20
  readonly retryRedeliveryMs?: number;
21
+ /**
22
+ * Lets `ms` milliseconds pass for the provider. Defaults to a real sleep. An in-process
23
+ * provider can advance fake timers here instead, so lease and delay waits cost no wall time.
24
+ */
25
+ readonly sleep?: (ms: number) => Promise<void>;
21
26
  }
22
27
  /**
23
28
  * Runs the shared `Queues` contract against any provider.
@@ -1 +1 @@
1
- {"version":3,"file":"queues-contract.d.ts","sourceRoot":"","sources":["../../src/testing/queues-contract.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgD,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAU3F,MAAM,WAAW,yBAAyB;IACxC,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACrD,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IACzC;;OAEG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CACpC;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAgrB7F"}
1
+ {"version":3,"file":"queues-contract.d.ts","sourceRoot":"","sources":["../../src/testing/queues-contract.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgD,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAU3F,MAAM,WAAW,yBAAyB;IACxC,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACrD,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IACzC;;OAEG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/C;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,IAAI,CA4oB7F"}
@@ -1 +1 @@
1
- {"version":3,"file":"sandboxes-contract.d.ts","sourceRoot":"","sources":["../../src/testing/sandboxes-contract.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,cAAc,CAAA;AAE1E;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C,mEAAmE;IACnE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,wEAAwE;IACxE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,kEAAkE;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,MAAM,WAAW,6BAA6B;IAC5C,0DAA0D;IAC1D,QAAQ,CAAC,aAAa,EAAE,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IACtE,4FAA4F;IAC5F,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE,QAAQ,CAAC,YAAY,CAAC,EAAE,6BAA6B,CAAA;IACrD;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CACjC;AAID;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,6BAA6B,GACrC,IAAI,CAuYN"}
1
+ {"version":3,"file":"sandboxes-contract.d.ts","sourceRoot":"","sources":["../../src/testing/sandboxes-contract.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,cAAc,CAAA;AAE1E;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C,mEAAmE;IACnE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,wEAAwE;IACxE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,kEAAkE;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,MAAM,WAAW,6BAA6B;IAC5C,0DAA0D;IAC1D,QAAQ,CAAC,aAAa,EAAE,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IACtE,4FAA4F;IAC5F,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE,QAAQ,CAAC,YAAY,CAAC,EAAE,6BAA6B,CAAA;IACrD;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CACjC;AAID;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,6BAA6B,GACrC,IAAI,CA4XN"}
@@ -1 +1 @@
1
- {"version":3,"file":"share-grant-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/share-grant-storage-contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAEvF,MAAM,WAAW,qCAAqC,CACpD,QAAQ,SAAS,iBAAiB,GAAG,iBAAiB;IAEtD,8DAA8D;IAC9D,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D;AAMD,kFAAkF;AAClF,wBAAgB,iCAAiC,CAAC,QAAQ,SAAS,iBAAiB,EAClF,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,qCAAqC,CAAC,QAAQ,CAAC,GACvD,IAAI,CAiQN;AAmDD,wBAAgB,oCAAoC,CAClD,SAAS,GAAE,OAAO,CAAC,qBAAqB,CAAM,GAC7C,qBAAqB,CAEvB"}
1
+ {"version":3,"file":"share-grant-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/share-grant-storage-contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAEvF,MAAM,WAAW,qCAAqC,CACpD,QAAQ,SAAS,iBAAiB,GAAG,iBAAiB;IAEtD,8DAA8D;IAC9D,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D;AAMD,kFAAkF;AAClF,wBAAgB,iCAAiC,CAAC,QAAQ,SAAS,iBAAiB,EAClF,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,qCAAqC,CAAC,QAAQ,CAAC,GACvD,IAAI,CA8PN;AAmDD,wBAAgB,oCAAoC,CAClD,SAAS,GAAE,OAAO,CAAC,qBAAqB,CAAM,GAC7C,qBAAqB,CAEvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"share-session-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/share-session-storage-contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EAEvB,mBAAmB,EACpB,MAAM,2BAA2B,CAAA;AAElC,MAAM,WAAW,uCAAuC,CACtD,QAAQ,SAAS,mBAAmB,GAAG,mBAAmB;IAE1D,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D;AAOD,gGAAgG;AAChG,wBAAgB,mCAAmC,CAAC,QAAQ,SAAS,mBAAmB,EACtF,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,uCAAuC,CAAC,QAAQ,CAAC,GACzD,IAAI,CAkLN;AAED,wBAAgB,sCAAsC,CACpD,SAAS,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAC/C,uBAAuB,CAEzB"}
1
+ {"version":3,"file":"share-session-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/share-session-storage-contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EAEvB,mBAAmB,EACpB,MAAM,2BAA2B,CAAA;AAElC,MAAM,WAAW,uCAAuC,CACtD,QAAQ,SAAS,mBAAmB,GAAG,mBAAmB;IAE1D,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D;AAOD,gGAAgG;AAChG,wBAAgB,mCAAmC,CAAC,QAAQ,SAAS,mBAAmB,EACtF,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,uCAAuC,CAAC,QAAQ,CAAC,GACzD,IAAI,CAwKN;AAED,wBAAgB,sCAAsC,CACpD,SAAS,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAC/C,uBAAuB,CAEzB"}
@@ -0,0 +1,21 @@
1
+ import { type Storage } from "..";
2
+ export interface UniqueValuesContractProvider<TStorage extends Storage> {
3
+ readonly createStorage: () => TStorage | Promise<TStorage>;
4
+ readonly cleanup?: (storage: TStorage) => void | Promise<void>;
5
+ /**
6
+ * Write transactions run side by side instead of one after another. Resolves once `competing`
7
+ * waits on a lock another transaction holds, or once it settles without waiting.
8
+ */
9
+ readonly waitForLockWait?: (storage: TStorage, competing: Promise<unknown>) => Promise<void>;
10
+ /**
11
+ * The store holds every object, so it builds a property's values when a claim first needs them
12
+ * instead of refusing it until `migrateStorage` prepared them.
13
+ */
14
+ readonly preparesOnClaim?: boolean;
15
+ }
16
+ /**
17
+ * Unique properties on a storage provider: every object write keeps their values, so a value is
18
+ * held by at most one object of its exact type, whichever ingress wrote it.
19
+ */
20
+ export declare function runUniqueValuesContractSuite<TStorage extends Storage>(name: string, provider: UniqueValuesContractProvider<TStorage>): void;
21
+ //# sourceMappingURL=unique-values-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unique-values-contract.d.ts","sourceRoot":"","sources":["../../src/testing/unique-values-contract.ts"],"names":[],"mappings":"AACA,OAAO,EAUL,KAAK,OAAO,EAEb,MAAM,IAAI,CAAA;AAkBX,MAAM,WAAW,4BAA4B,CAAC,QAAQ,SAAS,OAAO;IACpE,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5F;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CACnC;AAqDD;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,SAAS,OAAO,EACnE,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,4BAA4B,CAAC,QAAQ,CAAC,GAC/C,IAAI,CA6hBN"}
@@ -1,12 +1,4 @@
1
1
  import type { StartWebhookRunInput, Storage, WebhookRunRecord } from "../storage";
2
- import type { ExecutionStorage } from "../storage/executions";
3
- /** Create the durable execution required by a Webhook-run storage fixture. */
4
- export declare function createTestWebhookExecution(executions: ExecutionStorage, input: {
5
- readonly projectId: string;
6
- readonly route: string;
7
- readonly runId: string;
8
- readonly executionId?: string;
9
- }): Promise<string>;
10
2
  /** Start a Webhook run with the valid durable execution fixture required by every provider. */
11
3
  export declare function startTestWebhookRun(storage: Pick<Storage, "webhookRuns" | "executions">, input: Omit<StartWebhookRunInput, "executionId">): Promise<WebhookRunRecord>;
12
4
  //# sourceMappingURL=webhook-execution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhook-execution.d.ts","sourceRoot":"","sources":["../../src/testing/webhook-execution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,8EAA8E;AAC9E,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE;IACL,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B,GACA,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED,+FAA+F;AAC/F,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CAAC,EACpD,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,GAC/C,OAAO,CAAC,gBAAgB,CAAC,CAQ3B"}
1
+ {"version":3,"file":"webhook-execution.d.ts","sourceRoot":"","sources":["../../src/testing/webhook-execution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAiCjF,+FAA+F;AAC/F,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CAAC,EACpD,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,GAC/C,OAAO,CAAC,gBAAgB,CAAC,CAQ3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"webhook-run-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/webhook-run-storage-contract.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAwB,OAAO,EAAE,MAAM,YAAY,CAAA;AAI/D,MAAM,MAAM,gCAAgC,GAAG,OAAO,GAAG;IACvD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;CAC1D,CAAA;AAED,MAAM,WAAW,qCAAqC,CACpD,QAAQ,SAAS,gCAAgC,GAAG,gCAAgC;IAEpF,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D;AAoBD,wFAAwF;AACxF,wBAAgB,iCAAiC,CAC/C,QAAQ,SAAS,gCAAgC,EACjD,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,qCAAqC,CAAC,QAAQ,CAAC,GAAG,IAAI,CA+K/E"}
1
+ {"version":3,"file":"webhook-run-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/webhook-run-storage-contract.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAwB,OAAO,EAAE,MAAM,YAAY,CAAA;AAI/D,MAAM,MAAM,gCAAgC,GAAG,OAAO,GAAG;IACvD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;CAC1D,CAAA;AAED,MAAM,WAAW,qCAAqC,CACpD,QAAQ,SAAS,gCAAgC,GAAG,gCAAgC;IAEpF,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D;AAoBD,wFAAwF;AACxF,wBAAgB,iCAAiC,CAC/C,QAAQ,SAAS,gCAAgC,EACjD,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,qCAAqC,CAAC,QAAQ,CAAC,GAAG,IAAI,CA4K/E"}
@@ -0,0 +1,40 @@
1
+ import { type UserRef } from "../ontology/user-ref";
2
+ import type { SixbRuntimeContext } from "../runtime/types";
3
+ import type { UserRecord, UserStatus } from "../storage";
4
+ /** A member as the directory shows them. Read from auth storage, never from what a writer stored. */
5
+ export interface UserProfile {
6
+ readonly id: string;
7
+ readonly email: string;
8
+ readonly displayName?: string;
9
+ readonly avatarUrl?: string;
10
+ readonly status: UserStatus;
11
+ }
12
+ export interface ListUsersInput {
13
+ /** Which members to list. Defaults to `"active"`. */
14
+ readonly status?: UserStatus | "all";
15
+ /**
16
+ * Keep members whose display name or email contains this text, ignoring case. At most 200
17
+ * characters.
18
+ */
19
+ readonly search?: string;
20
+ /** From 1 to 200. Defaults to 50. */
21
+ readonly limit?: number;
22
+ readonly offset?: number;
23
+ }
24
+ /** One page of members, oldest first. */
25
+ export interface UsersPage {
26
+ readonly users: readonly UserProfile[];
27
+ readonly hasMore: boolean;
28
+ /** Every member matching the filters, across all pages. */
29
+ readonly total: number;
30
+ }
31
+ /** The project's member directory. Reading it requires `can.view(project.users)`. */
32
+ export interface UsersRuntime {
33
+ /** The member's profile, suspended or not, or `null` when no member has this id. */
34
+ get(user: UserRef): Promise<UserProfile | null>;
35
+ list(input?: ListUsersInput): Promise<UsersPage>;
36
+ }
37
+ export declare function createUsersRuntime(runtime: SixbRuntimeContext): UsersRuntime;
38
+ /** Only the fields the directory shows: no project id, no timestamps. */
39
+ export declare function toUserProfile(record: UserRecord): UserProfile;
40
+ //# sourceMappingURL=execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/users/execution.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAMxD,qGAAqG;AACrG,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,KAAK,CAAA;IACpC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,qCAAqC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,yCAAyC;AACzC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC3B,oFAAoF;IACpF,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC/C,IAAI,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;CACjD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,YAAY,CA4C5E;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,CAQ7D"}
@@ -0,0 +1,3 @@
1
+ export type { ListUsersInput, UserProfile, UsersPage, UsersRuntime } from "./execution";
2
+ export { createUsersRuntime } from "./execution";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/users/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA"}
@@ -1,62 +1,65 @@
1
1
  // @bun
2
- import"../chunk-dvd2fp9q.js";
2
+ import"../chunk-zbc929zg.js";
3
3
  import"../chunk-6eqsgvxk.js";
4
- import"../chunk-dhdha526.js";
5
- import"../chunk-6vb4st8k.js";
6
- import"../chunk-v4jbb3rs.js";
4
+ import"../chunk-vhbw5sqm.js";
5
+ import"../chunk-yc9ners4.js";
6
+ import"../chunk-4y26vs3v.js";
7
+ import"../chunk-rap5w0x0.js";
7
8
  import"../chunk-wkv3h3q7.js";
8
- import"../chunk-8frc8a4j.js";
9
+ import"../chunk-65pyhyas.js";
9
10
  import {
10
11
  createConnectorCodedError,
11
12
  getConnectorExecutionSourceResolver
12
- } from "../chunk-ky3j490c.js";
13
- import"../chunk-a40ad1ft.js";
14
- import"../chunk-dhcv7yxc.js";
15
- import"../chunk-nn5xnx3s.js";
16
- import"../chunk-f4pamkt9.js";
17
- import"../chunk-s7jg7pmn.js";
18
- import"../chunk-hcbyfxbe.js";
19
- import"../chunk-pqajwytd.js";
20
- import"../chunk-29yx306f.js";
21
- import"../chunk-3qct2mdc.js";
22
- import"../chunk-ere85b8y.js";
23
- import"../chunk-4as3wt1c.js";
13
+ } from "../chunk-02bzjgnt.js";
14
+ import"../chunk-mbsbxarb.js";
15
+ import"../chunk-c0vk1djt.js";
16
+ import"../chunk-h3pbv7n8.js";
17
+ import"../chunk-73v685wb.js";
18
+ import"../chunk-bab05bhg.js";
19
+ import"../chunk-cdk3egjj.js";
20
+ import"../chunk-zrvhsq7f.js";
21
+ import"../chunk-5grk14e5.js";
22
+ import"../chunk-pdt5cw8z.js";
23
+ import"../chunk-tdxfsg1c.js";
24
+ import"../chunk-nydf3dbe.js";
25
+ import"../chunk-0xmt5p5y.js";
26
+ import"../chunk-4ymrcdbm.js";
24
27
  import"../chunk-h89wz928.js";
25
- import"../chunk-d09e3rax.js";
28
+ import"../chunk-hwarjrgf.js";
26
29
  import {
27
30
  isStorageSerializationFailure2
28
- } from "../chunk-tbc1ngpd.js";
31
+ } from "../chunk-fe8zwt8b.js";
32
+ import"../chunk-hz5d43gn.js";
29
33
  import"../chunk-gfdh9kqa.js";
30
34
  import"../chunk-cwdzcv37.js";
31
35
  import {
32
36
  ExecutionStorageError2
33
37
  } from "../chunk-eptrvnby.js";
34
- import"../chunk-g257jwnc.js";
35
- import"../chunk-7n440zgt.js";
38
+ import"../chunk-cswhawa2.js";
36
39
  import {
37
40
  canRetryWebhookRun2
38
- } from "../chunk-918wwnaa.js";
39
- import"../chunk-pbcbn83d.js";
40
- import"../chunk-qczk96d9.js";
41
+ } from "../chunk-ezne9wc9.js";
42
+ import"../chunk-hqsp2sx4.js";
43
+ import"../chunk-2adz0h75.js";
41
44
  import"../chunk-mmagke4x.js";
42
45
  import"../chunk-hn2r7z41.js";
43
- import"../chunk-vvxtn22d.js";
46
+ import"../chunk-g663fahq.js";
44
47
  import"../chunk-jmfet9r4.js";
45
48
  import {
46
49
  WebhookRunError2
47
50
  } from "../chunk-qf954wje.js";
48
51
  import"../chunk-x0v3jd47.js";
49
- import"../chunk-9j4jw7as.js";
52
+ import"../chunk-6rrtzea3.js";
50
53
  import {
51
54
  createPrimitiveExecutionRecord
52
- } from "../chunk-vf57cr4t.js";
53
- import"../chunk-br3k6qbf.js";
54
- import"../chunk-rj69qcrd.js";
55
+ } from "../chunk-hyesv9dv.js";
55
56
  import {
56
57
  isOAuthConnectorDefinition2,
57
58
  isStaticConnectorDefinition2
58
59
  } from "../chunk-9x8dybsb.js";
59
- import"../chunk-447a5c0p.js";
60
+ import"../chunk-fm62y49k.js";
61
+ import"../chunk-pgrf64hp.js";
62
+ import"../chunk-6n69k945.js";
60
63
  // src/webhooks/connections.ts
61
64
  function createWebhookConnections(runtime, definition) {
62
65
  return {
@@ -199,4 +202,4 @@ export {
199
202
  isStaticConnectorDefinition2 as isStaticConnectorDefinition
200
203
  };
201
204
 
202
- //# debugId=D49209A130D0AF5C64756E2164756E21
205
+ //# debugId=403EC25F913FCC3E64756E2164756E21
@@ -5,7 +5,7 @@
5
5
  "import { createConnectorCodedError } from \"../connectors/errors\"\nimport { type ConnectorRuntime, getConnectorExecutionSourceResolver } from \"../connectors/execution\"\nimport { type ConnectorDefinition, isOAuthConnectorDefinition } from \"../connectors/types\"\nimport type { WebhookConnections } from \"./types\"\n\n/** Lookup stays inside the admitted execution's project and registered connector. */\nexport function createWebhookConnections(\n runtime: ConnectorRuntime,\n definition: ConnectorDefinition\n): WebhookConnections {\n return {\n async forAccount(accountId) {\n if (!isOAuthConnectorDefinition(definition)) {\n throw createConnectorCodedError(\n \"connector.configuration_invalid\",\n \"Webhook connections.forAccount() requires a managed OAuth connector.\"\n )\n }\n if (typeof accountId !== \"string\" || !accountId.trim()) {\n throw createConnectorCodedError(\n \"connector.configuration_invalid\",\n \"Webhook account ID must be a non-empty string.\"\n )\n }\n const resolver = getConnectorExecutionSourceResolver(runtime)\n const sources = await resolver.list(definition)\n return sources.flatMap((source) => {\n const connection = source.connection\n if (!connection || connection.account.id !== accountId) return []\n const connectionId = connection.id\n let clientPromise: Promise<unknown> | undefined\n return [\n {\n connection,\n client() {\n clientPromise ??= (async () => {\n const current = (await resolver.list(definition)).find(\n (candidate) =>\n candidate.connection?.id === connectionId &&\n candidate.connection.account.id === accountId\n )\n if (!current)\n throw createConnectorCodedError(\n \"connector.not_found\",\n \"Webhook connection is no longer active for this account.\"\n )\n return current.connect(new AbortController().signal)\n })()\n return clientPromise\n },\n },\n ]\n })\n },\n }\n}\n",
6
6
  "import { randomUUID } from \"node:crypto\"\nimport { createPrimitiveExecutionRecord } from \"../execution/durable\"\nimport type { ExecutionRecord, Storage, WebhookRunRecord } from \"../storage\"\nimport {\n canRetryWebhookRun,\n ExecutionStorageError,\n isStorageSerializationFailure,\n WebhookRunError,\n} from \"../storage\"\n\nconst MAX_ADMISSION_ATTEMPTS = 3\n\nexport interface AdmitWebhookRunInput {\n readonly projectId: string\n readonly storage: Storage\n readonly runId: string\n readonly connectorId: string\n readonly webhookId: string\n readonly method: string\n readonly route: string\n readonly requestBodyBytes: number\n readonly requestBodySha256: string\n readonly idempotencyKey?: string\n}\n\nexport type AdmitWebhookRunResult =\n | {\n readonly status: \"admitted\"\n readonly run: WebhookRunRecord\n readonly execution: ExecutionRecord\n readonly retried: boolean\n }\n | {\n readonly status: \"duplicate\" | \"in_progress\"\n readonly run: WebhookRunRecord\n }\n\n/** Persist or reclaim one verified Webhook delivery before its protected handler executes. */\nexport async function admitWebhookRun(input: AdmitWebhookRunInput): Promise<AdmitWebhookRunResult> {\n assertAdmissionInput(input)\n let attempt = 0\n\n // Concurrent deliveries may both observe no run before one transaction commits. Retry only\n // serialization and uniqueness races so the loser can reload the winning run; every other error\n // fails immediately, and repeated contention remains bounded by MAX_ADMISSION_ATTEMPTS.\n while (true) {\n attempt += 1\n try {\n return await input.storage.transaction((tx) => admitWebhookRunTransaction(tx, input), {\n isolation: \"serializable\",\n })\n } catch (error) {\n if (attempt >= MAX_ADMISSION_ATTEMPTS || !isConcurrentAdmissionConflict(error)) {\n throw error\n }\n }\n }\n}\n\nasync function admitWebhookRunTransaction(\n storage: Storage,\n input: AdmitWebhookRunInput\n): Promise<AdmitWebhookRunResult> {\n const runs = requireWebhookRunStorage(storage)\n const existing = input.idempotencyKey\n ? await runs.getByDelivery({\n projectId: input.projectId,\n connectorId: input.connectorId,\n webhookId: input.webhookId,\n idempotencyKey: input.idempotencyKey,\n })\n : null\n\n if (existing) {\n assertSameDelivery(existing, input)\n if (existing.status === \"running\") return { status: \"in_progress\", run: existing }\n if (!canRetryWebhookRun(existing)) return { status: \"duplicate\", run: existing }\n\n const execution = await requireWebhookExecution(storage, existing)\n const run = await runs.restart({\n projectId: input.projectId,\n id: existing.id,\n })\n return { status: \"admitted\", run, execution, retried: true }\n }\n\n const executionInput = createPrimitiveExecutionRecord({\n id: `exec_${randomUUID()}`,\n primitive: { kind: \"webhook\", id: input.route, runId: input.runId },\n origin: {\n type: \"automatic\",\n projectId: input.projectId,\n source: { type: \"webhook\", deliveryId: input.runId },\n correlationId: input.runId,\n },\n })\n const execution = await storage.executions.create(executionInput)\n const run = await runs.start({\n id: input.runId,\n projectId: input.projectId,\n executionId: execution.id,\n connectorId: input.connectorId,\n webhookId: input.webhookId,\n method: input.method,\n route: input.route,\n requestBodyBytes: input.requestBodyBytes,\n requestBodySha256: input.requestBodySha256,\n idempotencyKey: input.idempotencyKey,\n })\n return { status: \"admitted\", run, execution, retried: false }\n}\n\nfunction assertSameDelivery(existing: WebhookRunRecord, input: AdmitWebhookRunInput): void {\n if (\n existing.connectorId !== input.connectorId ||\n existing.webhookId !== input.webhookId ||\n existing.method !== input.method ||\n existing.route !== input.route ||\n existing.requestBodyBytes !== input.requestBodyBytes ||\n existing.requestBodySha256 !== input.requestBodySha256\n ) {\n throw new WebhookRunError(\n `[Sixb] Webhook delivery '${input.idempotencyKey}' conflicts with run '${existing.id}'.`,\n \"delivery_conflict\"\n )\n }\n}\n\nasync function requireWebhookExecution(\n storage: Storage,\n run: WebhookRunRecord\n): Promise<ExecutionRecord> {\n const execution = await storage.executions.getById({\n projectId: run.projectId,\n id: run.executionId,\n })\n if (!execution) {\n throw new WebhookRunError(\n `[Sixb] Execution '${run.executionId}' for Webhook run '${run.id}' was not found.`,\n \"invalid_execution\"\n )\n }\n return execution\n}\n\nfunction requireWebhookRunStorage(storage: Storage): NonNullable<Storage[\"webhookRuns\"]> {\n if (!storage.webhookRuns) {\n throw new WebhookRunError(\"[Sixb] Webhook run storage is not configured.\")\n }\n return storage.webhookRuns\n}\n\nfunction assertAdmissionInput(input: AdmitWebhookRunInput): void {\n if (input.idempotencyKey !== undefined && !input.idempotencyKey.trim()) {\n throw new WebhookRunError(\"[Sixb] Webhook idempotency key must not be empty.\")\n }\n if (!Number.isSafeInteger(input.requestBodyBytes) || input.requestBodyBytes < 0) {\n throw new WebhookRunError(\"[Sixb] Webhook request body bytes must be a non-negative integer.\")\n }\n if (!/^[a-f0-9]{64}$/.test(input.requestBodySha256)) {\n throw new WebhookRunError(\"[Sixb] Webhook request body SHA-256 must be lowercase hexadecimal.\")\n }\n}\n\nfunction isConcurrentAdmissionConflict(error: unknown): boolean {\n return (\n isStorageSerializationFailure(error) ||\n (error instanceof ExecutionStorageError && error.code === \"duplicate_execution\") ||\n (error instanceof WebhookRunError &&\n (error.code === \"duplicate_run\" || error.code === \"invalid_transition\"))\n )\n}\n"
7
7
  ],
8
- "mappings": "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",
9
- "debugId": "D49209A130D0AF5C64756E2164756E21",
8
+ "mappings": "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",
9
+ "debugId": "403EC25F913FCC3E64756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  captureSixbFailure2
4
- } from "../chunk-dvd2fp9q.js";
4
+ } from "../chunk-zbc929zg.js";
5
5
  import"../chunk-6eqsgvxk.js";
6
6
 
7
7
  // src/workers/errors.ts
@@ -258,7 +258,6 @@ var MAX_RESTART_BACKOFF_MS = 30000;
258
258
  var STABLE_RUN_MS = 60000;
259
259
 
260
260
  class Worker {
261
- restartBackoffMs = RESTART_BACKOFF_MS;
262
261
  controller = null;
263
262
  running = null;
264
263
  async start() {
@@ -303,7 +302,7 @@ class Worker {
303
302
  if (restartCount >= MAX_RESTARTS) {
304
303
  throw new WorkerUnhealthyError(this.constructor.name, restartCount, { cause: failure });
305
304
  }
306
- const delayMs = Math.min(this.restartBackoffMs * 2 ** restartCount, MAX_RESTART_BACKOFF_MS);
305
+ const delayMs = Math.min(RESTART_BACKOFF_MS * 2 ** restartCount, MAX_RESTART_BACKOFF_MS);
307
306
  restartCount += 1;
308
307
  await waitForAbort(delayMs, signal);
309
308
  }
@@ -331,7 +330,6 @@ var MAX_CONSECUTIVE_CLAIM_FAILURES = 5;
331
330
 
332
331
  class QueueWorker extends Worker {
333
332
  config;
334
- claimFailureDelayMs = CLAIM_FAILURE_DELAY_MS;
335
333
  consecutiveClaimFailures = 0;
336
334
  constructor(config) {
337
335
  super();
@@ -402,7 +400,7 @@ class QueueWorker extends Worker {
402
400
  this.consecutiveClaimFailures = 0;
403
401
  throw new Error(`[SixbQueueWorker] Queue claim failed ${MAX_CONSECUTIVE_CLAIM_FAILURES} consecutive times.`, { cause: error });
404
402
  }
405
- await sleep2(this.claimFailureDelayMs, signal).catch(() => {});
403
+ await sleep2(CLAIM_FAILURE_DELAY_MS, signal).catch(() => {});
406
404
  return [];
407
405
  }
408
406
  }
@@ -509,4 +507,4 @@ export {
509
507
  isAbortError
510
508
  };
511
509
 
512
- //# debugId=FA638CC52579761A64756E2164756E21
510
+ //# debugId=FB47377B800DED0E64756E2164756E21
@@ -4,10 +4,10 @@
4
4
  "sourcesContent": [
5
5
  "/**\n * Thrown by worker primitives when an operation is interrupted by `stop()`.\n *\n * `name` is `\"AbortError\"` so it interoperates with the DOM `AbortSignal`\n * convention used across the codebase.\n */\nexport class WorkerAbortError extends Error {\n readonly name = \"AbortError\"\n}\n\n/** Raised after a worker exhausts its bounded restart budget. */\nexport class WorkerUnhealthyError extends Error {\n readonly name = \"WorkerUnhealthyError\"\n\n constructor(\n readonly workerName: string,\n readonly restartCount: number,\n options?: ErrorOptions\n ) {\n super(\n `[SixbWorker] ${workerName} is unhealthy after ${restartCount} restart attempt(s).`,\n options\n )\n }\n}\n",
6
6
  "import type { SixbErrorCode } from \"../errors/types\"\nimport type { ClaimedQueueJob, Queue, QueueJob, QueueJobFailure } from \"../queues\"\nimport { WorkerAbortError } from \"./errors\"\n\nexport type QueueDeliveryState = \"active\" | \"lost\" | \"settled\"\n\n/**\n * Outcome of a settlement call. `\"lost\"` means the queue job was **not** acknowledged because\n * ownership was already gone — the job may be redelivered. Settlement never throws for a lost\n * lease; exceptions are reserved for queue calls that themselves fail (outcome then unknown).\n */\nexport type QueueSettlementResult = \"settled\" | \"lost\"\n\nexport interface QueueDelivery<\n TJob extends QueueJob,\n TFailureCode extends SixbErrorCode = SixbErrorCode,\n> {\n readonly claimed: ClaimedQueueJob<TJob>\n readonly signal: AbortSignal\n readonly state: QueueDeliveryState\n /** Expiration from the latest queue-confirmed claim or renewal. */\n readonly leaseExpiresAt: string\n\n /** Observe successful queue renewals. The listener is not called for failed renewals. */\n onLeaseRenewed(listener: (claimed: ClaimedQueueJob<TJob>) => void): () => void\n complete(): Promise<QueueSettlementResult>\n retry(input?: { readonly availableAt?: string }): Promise<QueueSettlementResult>\n fail(failure: QueueJobFailure<TFailureCode>): Promise<QueueSettlementResult>\n close(): Promise<void>\n}\n\nexport interface CreateQueueDeliveryOptions<\n TJob extends QueueJob,\n TFailureCode extends SixbErrorCode,\n> {\n readonly queue: Queue<TJob, TFailureCode>\n readonly claimed: ClaimedQueueJob<TJob>\n readonly leaseMs: number\n readonly signal: AbortSignal\n readonly onLeaseLost?: () => void\n readonly onRenewalError?: (error: unknown) => void\n}\n\nconst MIN_RENEWAL_INTERVAL_MS = 1\n\nexport class QueueDeliveryLeaseLostError extends WorkerAbortError {}\n\ntype RenewalAttempt<TJob extends QueueJob> =\n | { readonly kind: \"renewed\"; readonly claimed: ClaimedQueueJob<TJob> | null }\n | { readonly kind: \"failed\"; readonly error: unknown }\n | { readonly kind: \"expired\" }\n\n/** Owns lease renewal, loss detection, and settlement for one claimed queue job. */\nexport function createQueueDelivery<TJob extends QueueJob, TFailureCode extends SixbErrorCode>(\n options: CreateQueueDeliveryOptions<TJob, TFailureCode>\n): QueueDelivery<TJob, TFailureCode> {\n return new ManagedQueueDelivery(options)\n}\n\nclass ManagedQueueDelivery<TJob extends QueueJob, TFailureCode extends SixbErrorCode>\n implements QueueDelivery<TJob, TFailureCode>\n{\n readonly claimed: ClaimedQueueJob<TJob>\n readonly signal: AbortSignal\n\n private readonly queue: Queue<TJob, TFailureCode>\n private readonly leaseMs: number\n private readonly renewLease: Queue<TJob, TFailureCode>[\"renewLease\"]\n private readonly onLeaseLost: (() => void) | undefined\n private readonly onRenewalError: ((error: unknown) => void) | undefined\n private readonly lossController = new AbortController()\n private readonly stopController = new AbortController()\n private readonly renewalIntervalMs: number\n private readonly renewalLoop: Promise<void>\n private readonly leaseRenewedListeners = new Set<(claimed: ClaimedQueueJob<TJob>) => void>()\n private currentState: QueueDeliveryState = \"active\"\n private currentLeaseExpiresAt: string\n private leaseExpiresAtTimestamp: number\n private renewalErrorReported = false\n private closing: Promise<void> | null = null\n private settling = false\n\n constructor(options: CreateQueueDeliveryOptions<TJob, TFailureCode>) {\n this.queue = options.queue\n this.claimed = options.claimed\n this.leaseMs = options.leaseMs\n this.renewLease = options.queue.renewLease?.bind(options.queue)\n this.onLeaseLost = options.onLeaseLost\n this.onRenewalError = options.onRenewalError\n this.currentLeaseExpiresAt = options.claimed.leaseExpiresAt\n this.leaseExpiresAtTimestamp = parseLeaseExpiration(options.claimed.leaseExpiresAt)\n this.renewalIntervalMs = Math.max(MIN_RENEWAL_INTERVAL_MS, Math.floor(options.leaseMs / 3))\n this.signal = AbortSignal.any([options.signal, this.lossController.signal])\n this.renewalLoop = this.runRenewalLoop()\n }\n\n get state(): QueueDeliveryState {\n return this.currentState\n }\n\n get leaseExpiresAt(): string {\n return this.currentLeaseExpiresAt\n }\n\n onLeaseRenewed(listener: (claimed: ClaimedQueueJob<TJob>) => void): () => void {\n this.leaseRenewedListeners.add(listener)\n return () => this.leaseRenewedListeners.delete(listener)\n }\n\n complete(): Promise<QueueSettlementResult> {\n return this.settle(() =>\n this.queue.complete({\n projectId: this.claimed.job.projectId,\n jobId: this.claimed.job.id,\n leaseId: this.claimed.leaseId,\n })\n )\n }\n\n retry(input: { readonly availableAt?: string } = {}): Promise<QueueSettlementResult> {\n return this.settle(() =>\n this.queue.retry({\n projectId: this.claimed.job.projectId,\n jobId: this.claimed.job.id,\n leaseId: this.claimed.leaseId,\n availableAt: input.availableAt,\n })\n )\n }\n\n fail(failure: QueueJobFailure<TFailureCode>): Promise<QueueSettlementResult> {\n return this.settle(() =>\n this.queue.fail({\n projectId: this.claimed.job.projectId,\n jobId: this.claimed.job.id,\n leaseId: this.claimed.leaseId,\n failure,\n })\n )\n }\n\n close(): Promise<void> {\n if (this.closing) return this.closing\n this.closing = this.stopRenewal()\n return this.closing\n }\n\n private async settle(operation: () => Promise<void>): Promise<QueueSettlementResult> {\n if (this.currentState !== \"active\") {\n return this.currentState === \"settled\" ? \"settled\" : \"lost\"\n }\n if (this.settling) {\n throw new Error(`[SixbQueueWorker] Queue job '${this.claimed.job.id}' is already settling.`)\n }\n\n this.settling = true\n try {\n await this.stopRenewal()\n if (!(await this.confirmSettlementLease())) return \"lost\"\n await operation()\n this.currentState = \"settled\"\n return \"settled\"\n } finally {\n this.settling = false\n }\n }\n\n private async confirmSettlementLease(): Promise<boolean> {\n if (this.currentState !== \"active\") return false\n if (Date.now() >= this.leaseExpiresAtTimestamp) {\n this.markLost()\n return false\n }\n if (!this.renewLease) return true\n\n const attempt = await this.attemptRenewal()\n if (attempt.kind === \"renewed\") {\n if (!attempt.claimed) {\n this.markLost()\n return false\n }\n this.recordRenewal(attempt.claimed)\n return true\n }\n if (attempt.kind === \"failed\") {\n this.reportRenewalError(attempt.error)\n }\n if (attempt.kind === \"expired\" || Date.now() >= this.leaseExpiresAtTimestamp) {\n this.markLost()\n return false\n }\n return true\n }\n\n private async runRenewalLoop(): Promise<void> {\n while (this.currentState === \"active\" && !this.stopController.signal.aborted) {\n const remainingMs = this.leaseExpiresAtTimestamp - Date.now()\n if (remainingMs <= 0) {\n this.markLost()\n return\n }\n\n const delayMs = this.renewLease ? Math.min(this.renewalIntervalMs, remainingMs) : remainingMs\n await sleep(delayMs, this.stopController.signal).catch(() => {})\n if (this.stopController.signal.aborted || this.currentState !== \"active\") return\n if (Date.now() >= this.leaseExpiresAtTimestamp) {\n this.markLost()\n return\n }\n if (!this.renewLease) continue\n\n const attempt = await this.attemptRenewal()\n if (attempt.kind === \"expired\") {\n this.markLost()\n return\n }\n if (attempt.kind === \"failed\") {\n this.reportRenewalError(attempt.error)\n continue\n }\n if (!attempt.claimed) {\n this.markLost()\n return\n }\n this.recordRenewal(attempt.claimed)\n }\n }\n\n private attemptRenewal(): Promise<RenewalAttempt<TJob>> {\n if (!this.renewLease || Date.now() >= this.leaseExpiresAtTimestamp) {\n return Promise.resolve({ kind: \"expired\" })\n }\n\n const remainingMs = Math.max(1, this.leaseExpiresAtTimestamp - Date.now())\n return new Promise((resolve) => {\n let finished = false\n const finish = (attempt: RenewalAttempt<TJob>): void => {\n if (finished) return\n finished = true\n clearTimeout(timer)\n resolve(attempt)\n }\n const timer = setTimeout(() => finish({ kind: \"expired\" }), remainingMs)\n\n this.renewLease?.({\n projectId: this.claimed.job.projectId,\n jobId: this.claimed.job.id,\n leaseId: this.claimed.leaseId,\n leaseMs: this.leaseMs,\n }).then(\n (claimed) => finish({ kind: \"renewed\", claimed }),\n (error) => finish({ kind: \"failed\", error })\n )\n })\n }\n\n private recordRenewal(claimed: ClaimedQueueJob<TJob>): void {\n this.currentLeaseExpiresAt = claimed.leaseExpiresAt\n this.leaseExpiresAtTimestamp = parseLeaseExpiration(claimed.leaseExpiresAt)\n this.renewalErrorReported = false\n for (const listener of this.leaseRenewedListeners) {\n try {\n listener(claimed)\n } catch (error) {\n this.onRenewalError?.(error)\n }\n }\n }\n\n private reportRenewalError(error: unknown): void {\n if (this.renewalErrorReported) return\n this.renewalErrorReported = true\n this.onRenewalError?.(error)\n }\n\n private markLost(): void {\n if (this.currentState !== \"active\") return\n this.currentState = \"lost\"\n this.lossController.abort(\n new QueueDeliveryLeaseLostError(\n `[SixbQueueWorker] Queue job '${this.claimed.job.id}' lost its lease.`\n )\n )\n this.onLeaseLost?.()\n }\n\n private async stopRenewal(): Promise<void> {\n this.stopController.abort()\n await this.renewalLoop.catch(() => {})\n }\n}\n\nfunction parseLeaseExpiration(value: string): number {\n const timestamp = Date.parse(value)\n if (!Number.isFinite(timestamp)) {\n throw new Error(`[SixbQueueWorker] Invalid queue lease expiration '${value}'.`)\n }\n return timestamp\n}\n\nasync function sleep(ms: number, signal: AbortSignal): Promise<void> {\n if (signal.aborted) return\n await new Promise<void>((resolve) => {\n const timer = setTimeout(finish, ms)\n function finish(): void {\n clearTimeout(timer)\n signal.removeEventListener(\"abort\", finish)\n resolve()\n }\n signal.addEventListener(\"abort\", finish, { once: true })\n })\n}\n",
7
- "import { WorkerUnhealthyError } from \"./errors\"\n\n// The budget rides out ~80s of continuous failure (0.1s -> 30s backoffs) before the worker is\n// declared unhealthy, so a transient infra outage does not kill an otherwise healthy process.\nconst MAX_RESTARTS = 10\nconst RESTART_BACKOFF_MS = 100\nconst MAX_RESTART_BACKOFF_MS = 30_000\nconst STABLE_RUN_MS = 60_000\n\n/** Base worker lifecycle with bounded restart supervision. */\nexport abstract class Worker {\n /** Base restart backoff. Overridable so budget-exhaustion tests do not wait out real backoffs. */\n protected readonly restartBackoffMs: number = RESTART_BACKOFF_MS\n private controller: AbortController | null = null\n private running: Promise<void> | null = null\n\n async start(): Promise<void> {\n if (this.controller) return\n\n this.controller = new AbortController()\n this.running = this.supervise(this.controller.signal)\n // `wait()` exposes terminal failure. Keep a handler attached for embedded callers that only use\n // start/stop, so an exhausted restart budget does not become an unhandled rejection.\n this.running.catch(() => {})\n }\n\n async stop(): Promise<void> {\n const controller = this.controller\n if (!controller) return\n\n controller.abort()\n await this.running?.catch(() => {})\n if (this.controller === controller) {\n this.controller = null\n this.running = null\n }\n }\n\n /** Resolves after stop and rejects if the bounded restart budget is exhausted. */\n wait(): Promise<void> {\n return this.running ?? Promise.resolve()\n }\n\n protected abstract run(signal: AbortSignal): Promise<void>\n\n private async supervise(signal: AbortSignal): Promise<void> {\n let restartCount = 0\n\n while (!signal.aborted) {\n const startedAt = Date.now()\n let failure: unknown\n\n try {\n await this.run(signal)\n if (signal.aborted) return\n failure = new Error(`[SixbWorker] ${this.constructor.name} stopped unexpectedly.`)\n } catch (error) {\n if (signal.aborted) return\n failure = error\n }\n\n if (Date.now() - startedAt >= STABLE_RUN_MS) {\n restartCount = 0\n }\n if (restartCount >= MAX_RESTARTS) {\n throw new WorkerUnhealthyError(this.constructor.name, restartCount, { cause: failure })\n }\n\n const delayMs = Math.min(this.restartBackoffMs * 2 ** restartCount, MAX_RESTART_BACKOFF_MS)\n restartCount += 1\n await waitForAbort(delayMs, signal)\n }\n }\n}\n\nasync function waitForAbort(ms: number, signal: AbortSignal): Promise<void> {\n if (signal.aborted) return\n await new Promise<void>((resolve) => {\n const timer = setTimeout(finish, ms)\n function finish(): void {\n clearTimeout(timer)\n signal.removeEventListener(\"abort\", finish)\n resolve()\n }\n signal.addEventListener(\"abort\", finish, { once: true })\n })\n}\n",
8
- "import { captureSixbFailure } from \"../errors/internal\"\nimport type { SixbErrorCode, SixbFailure } from \"../errors/types\"\nimport type { ClaimedQueueJob, Queue, QueueJob } from \"../queues\"\nimport { WorkerAbortError } from \"./errors\"\nimport {\n createQueueDelivery,\n type QueueDelivery,\n type QueueSettlementResult,\n} from \"./queue-delivery\"\nimport { Worker } from \"./worker\"\n\ntype QueueWorkerFailureCodes = readonly [\n \"internal.unexpected\",\n \"runtime.cancelled\",\n ...SixbErrorCode[],\n]\n\nexport interface QueueWorkerConfig<\n TJob extends QueueJob,\n TFailureCodes extends QueueWorkerFailureCodes,\n> {\n readonly projectId: string\n readonly queue: Queue<TJob, TFailureCodes[number]>\n /** Runtime counterpart of this lane's precise terminal-failure union. */\n readonly failureCodes: TFailureCodes\n readonly workerId: string\n readonly leaseMs?: number\n readonly claimLimit?: number\n}\n\n/**\n * Queue settlement selected after execution stops.\n *\n * A worker must name its allowed failure-code union before it can supply an already-persisted\n * failure. Workers that only choose retry vs fail need no generic annotation.\n */\nexport type QueueWorkerFailureDecision<TFailureCode extends SixbErrorCode = never> =\n | {\n readonly kind: \"retry\"\n readonly availableAt?: string\n }\n | {\n readonly kind: \"fail\"\n /** Exact durable run failure, when execution already persisted one. */\n readonly failure?: SixbFailure<TFailureCode>\n }\n\nconst DEFAULT_LEASE_MS = 15 * 60_000\nconst DEFAULT_CLAIM_LIMIT = 1\nconst CLAIM_FAILURE_DELAY_MS = 1_000\nconst MAX_CONSECUTIVE_CLAIM_FAILURES = 5\n\nexport abstract class QueueWorker<\n TJob extends QueueJob,\n TFailureCodes extends QueueWorkerFailureCodes,\n> extends Worker {\n protected readonly config: Required<QueueWorkerConfig<TJob, TFailureCodes>>\n /** Pause after a failed claim. Overridable so tests do not wait out real backoffs. */\n protected readonly claimFailureDelayMs: number = CLAIM_FAILURE_DELAY_MS\n private consecutiveClaimFailures = 0\n\n constructor(config: QueueWorkerConfig<TJob, TFailureCodes>) {\n super()\n this.config = {\n projectId: config.projectId,\n queue: config.queue,\n failureCodes: config.failureCodes,\n workerId: config.workerId,\n leaseMs: config.leaseMs ?? DEFAULT_LEASE_MS,\n claimLimit: normalizeClaimLimit(config.claimLimit),\n }\n }\n\n /** Maximum jobs this worker process claims and executes at once. */\n get concurrency(): number {\n return this.config.claimLimit\n }\n\n protected async run(signal: AbortSignal): Promise<void> {\n const inFlight = new Set<Promise<void>>()\n let runError: unknown = null\n // A claim waits for work, so a failed job must also end the wait it would otherwise sit in.\n const failed = new AbortController()\n const claimSignal = AbortSignal.any([signal, failed.signal])\n\n try {\n while (!signal.aborted && !runError) {\n while (!signal.aborted && !runError && inFlight.size >= this.config.claimLimit) {\n await Promise.race(inFlight)\n }\n if (runError || signal.aborted) {\n continue\n }\n\n const capacity = this.config.claimLimit - inFlight.size\n const claimed = await this.claim(claimSignal, capacity)\n for (const claimedJob of claimed) {\n const promise = this.handle(claimedJob, signal)\n .catch((error) => {\n runError ??= error\n failed.abort()\n })\n .finally(() => {\n inFlight.delete(promise)\n })\n inFlight.add(promise)\n }\n }\n } finally {\n await Promise.allSettled(inFlight)\n }\n\n if (runError) {\n throw runError\n }\n }\n\n protected abstract execute(\n claimed: ClaimedQueueJob<TJob>,\n signal: AbortSignal,\n delivery: QueueDelivery<TJob, TFailureCodes[number]>\n ): Promise<void>\n\n protected onExecutionError(\n _claimed: ClaimedQueueJob<TJob>,\n _error: unknown\n ):\n | Promise<QueueWorkerFailureDecision<TFailureCodes[number]>>\n | QueueWorkerFailureDecision<TFailureCodes[number]> {\n return { kind: \"fail\" }\n }\n\n protected onAbortError(\n _claimed: ClaimedQueueJob<TJob>,\n _error: unknown\n ):\n | Promise<QueueWorkerFailureDecision<TFailureCodes[number]>>\n | QueueWorkerFailureDecision<TFailureCodes[number]> {\n // Shutdown should normally release work for another process. Workers with non-idempotent\n // partial commits can override this and fail the job instead.\n return { kind: \"retry\" }\n }\n\n private async claim(\n signal: AbortSignal,\n limit: number\n ): Promise<readonly ClaimedQueueJob<TJob>[]> {\n const { projectId, queue, workerId, leaseMs } = this.config\n\n try {\n // The provider waits until it has work or `signal` aborts, so there is no idle loop here.\n const claimed = await queue.claim({ projectId, workerId, limit, leaseMs, signal })\n if (claimed.length === 0 && !signal.aborted) {\n // A provider that ignores the signal would otherwise spin this loop on a whole core.\n throw new Error(\n \"[SixbQueueWorker] Queue claim returned no jobs before its signal aborted; the queue provider contract says claim must wait for work until its signal aborts.\"\n )\n }\n this.consecutiveClaimFailures = 0\n return claimed\n } catch (error) {\n if (signal.aborted) return []\n this.consecutiveClaimFailures += 1\n if (this.consecutiveClaimFailures >= MAX_CONSECUTIVE_CLAIM_FAILURES) {\n this.consecutiveClaimFailures = 0\n throw new Error(\n `[SixbQueueWorker] Queue claim failed ${MAX_CONSECUTIVE_CLAIM_FAILURES} consecutive times.`,\n { cause: error }\n )\n }\n await sleep(this.claimFailureDelayMs, signal).catch(() => {})\n return []\n }\n }\n\n private async handle(claimed: ClaimedQueueJob<TJob>, signal: AbortSignal): Promise<void> {\n const delivery = createQueueDelivery({\n queue: this.config.queue,\n claimed,\n leaseMs: this.config.leaseMs,\n signal,\n onLeaseLost: () => {\n console.error(\n `[SixbQueueWorker] Lost lease for queue job '${claimed.job.id}'; leaving it for redelivery.`\n )\n },\n onRenewalError: (error) => {\n console.error(\n `[SixbQueueWorker] Could not renew lease for queue job '${claimed.job.id}'; retrying.`,\n error\n )\n },\n })\n\n try {\n let outcome: { readonly ok: true } | { readonly ok: false; readonly error: unknown }\n try {\n await this.execute(claimed, delivery.signal, delivery)\n outcome = { ok: true }\n } catch (error) {\n outcome = { ok: false, error }\n }\n\n if (delivery.state === \"lost\") return\n\n if (outcome.ok) {\n await settleOrLog(delivery, \"complete\", () => delivery.complete())\n return\n }\n\n const error = outcome.error\n if (signal.aborted || isAbortError(error)) {\n try {\n const decision = await this.onAbortError(claimed, error)\n await this.applyFailureDecision(delivery, decision, error, \"runtime.cancelled\")\n } catch {\n // Shutdown is already in progress. The unacknowledged job becomes visible after its lease.\n }\n return\n }\n\n try {\n const decision = await this.onExecutionError(claimed, error)\n await this.applyFailureDecision(delivery, decision, error, \"internal.unexpected\")\n } catch (settlementError) {\n logQueueOperationError(\"apply failure decision to\", claimed, settlementError)\n }\n } finally {\n await delivery.close()\n }\n }\n\n private async applyFailureDecision(\n delivery: QueueDelivery<TJob, TFailureCodes[number]>,\n decision: QueueWorkerFailureDecision<TFailureCodes[number]>,\n error: unknown,\n defaultCode: \"internal.unexpected\" | \"runtime.cancelled\"\n ): Promise<void> {\n if (decision.kind === \"retry\") {\n await delivery.retry({ availableAt: decision.availableAt })\n return\n }\n\n const failure =\n decision.failure ??\n captureSixbFailure(error, {\n allowedCodes: this.config.failureCodes,\n defaultCode,\n })\n await delivery.fail(failure)\n }\n}\n\nfunction normalizeClaimLimit(value: number | undefined): number {\n const claimLimit = value ?? DEFAULT_CLAIM_LIMIT\n if (!Number.isSafeInteger(claimLimit) || claimLimit < 1) {\n throw new Error(\"[SixbQueueWorker] Worker concurrency must be a positive safe integer.\")\n }\n return claimLimit\n}\n\nasync function settleOrLog<TJob extends QueueJob, TFailureCode extends SixbErrorCode>(\n delivery: QueueDelivery<TJob, TFailureCode>,\n operation: string,\n settle: () => Promise<QueueSettlementResult>\n): Promise<void> {\n try {\n // A \"lost\" result needs no extra logging here: loss is already reported via onLeaseLost.\n await settle()\n } catch (error) {\n logQueueOperationError(operation, delivery.claimed, error)\n }\n}\n\nfunction logQueueOperationError(operation: string, claimed: ClaimedQueueJob, error: unknown): void {\n console.error(\n `[SixbQueueWorker] Could not ${operation} queue job '${claimed.job.id}'; it may be redelivered.`,\n error\n )\n}\n\n/** True for a standard abort (`AbortController`/`AbortSignal.timeout`) error. */\nexport function isAbortError(error: unknown): boolean {\n return error instanceof Error && error.name === \"AbortError\"\n}\n\nasync function sleep(ms: number, signal: AbortSignal): Promise<void> {\n if (signal.aborted) {\n throw new WorkerAbortError(\"Worker runtime aborted.\")\n }\n\n await new Promise<void>((resolve, reject) => {\n const timer = setTimeout(() => {\n signal.removeEventListener(\"abort\", onAbort)\n resolve()\n }, ms)\n\n const onAbort = () => {\n clearTimeout(timer)\n signal.removeEventListener(\"abort\", onAbort)\n reject(new WorkerAbortError(\"Worker runtime aborted.\"))\n }\n\n signal.addEventListener(\"abort\", onAbort, { once: true })\n })\n}\n"
7
+ "import { WorkerUnhealthyError } from \"./errors\"\n\n// The budget rides out ~80s of continuous failure (0.1s -> 30s backoffs) before the worker is\n// declared unhealthy, so a transient infra outage does not kill an otherwise healthy process.\nconst MAX_RESTARTS = 10\nconst RESTART_BACKOFF_MS = 100\nconst MAX_RESTART_BACKOFF_MS = 30_000\nconst STABLE_RUN_MS = 60_000\n\n/** Base worker lifecycle with bounded restart supervision. */\nexport abstract class Worker {\n private controller: AbortController | null = null\n private running: Promise<void> | null = null\n\n async start(): Promise<void> {\n if (this.controller) return\n\n this.controller = new AbortController()\n this.running = this.supervise(this.controller.signal)\n // `wait()` exposes terminal failure. Keep a handler attached for embedded callers that only use\n // start/stop, so an exhausted restart budget does not become an unhandled rejection.\n this.running.catch(() => {})\n }\n\n async stop(): Promise<void> {\n const controller = this.controller\n if (!controller) return\n\n controller.abort()\n await this.running?.catch(() => {})\n if (this.controller === controller) {\n this.controller = null\n this.running = null\n }\n }\n\n /** Resolves after stop and rejects if the bounded restart budget is exhausted. */\n wait(): Promise<void> {\n return this.running ?? Promise.resolve()\n }\n\n protected abstract run(signal: AbortSignal): Promise<void>\n\n private async supervise(signal: AbortSignal): Promise<void> {\n let restartCount = 0\n\n while (!signal.aborted) {\n const startedAt = Date.now()\n let failure: unknown\n\n try {\n await this.run(signal)\n if (signal.aborted) return\n failure = new Error(`[SixbWorker] ${this.constructor.name} stopped unexpectedly.`)\n } catch (error) {\n if (signal.aborted) return\n failure = error\n }\n\n if (Date.now() - startedAt >= STABLE_RUN_MS) {\n restartCount = 0\n }\n if (restartCount >= MAX_RESTARTS) {\n throw new WorkerUnhealthyError(this.constructor.name, restartCount, { cause: failure })\n }\n\n const delayMs = Math.min(RESTART_BACKOFF_MS * 2 ** restartCount, MAX_RESTART_BACKOFF_MS)\n restartCount += 1\n await waitForAbort(delayMs, signal)\n }\n }\n}\n\nasync function waitForAbort(ms: number, signal: AbortSignal): Promise<void> {\n if (signal.aborted) return\n await new Promise<void>((resolve) => {\n const timer = setTimeout(finish, ms)\n function finish(): void {\n clearTimeout(timer)\n signal.removeEventListener(\"abort\", finish)\n resolve()\n }\n signal.addEventListener(\"abort\", finish, { once: true })\n })\n}\n",
8
+ "import { captureSixbFailure } from \"../errors/internal\"\nimport type { SixbErrorCode, SixbFailure } from \"../errors/types\"\nimport type { ClaimedQueueJob, Queue, QueueJob } from \"../queues\"\nimport { WorkerAbortError } from \"./errors\"\nimport {\n createQueueDelivery,\n type QueueDelivery,\n type QueueSettlementResult,\n} from \"./queue-delivery\"\nimport { Worker } from \"./worker\"\n\ntype QueueWorkerFailureCodes = readonly [\n \"internal.unexpected\",\n \"runtime.cancelled\",\n ...SixbErrorCode[],\n]\n\nexport interface QueueWorkerConfig<\n TJob extends QueueJob,\n TFailureCodes extends QueueWorkerFailureCodes,\n> {\n readonly projectId: string\n readonly queue: Queue<TJob, TFailureCodes[number]>\n /** Runtime counterpart of this lane's precise terminal-failure union. */\n readonly failureCodes: TFailureCodes\n readonly workerId: string\n readonly leaseMs?: number\n readonly claimLimit?: number\n}\n\n/**\n * Queue settlement selected after execution stops.\n *\n * A worker must name its allowed failure-code union before it can supply an already-persisted\n * failure. Workers that only choose retry vs fail need no generic annotation.\n */\nexport type QueueWorkerFailureDecision<TFailureCode extends SixbErrorCode = never> =\n | {\n readonly kind: \"retry\"\n readonly availableAt?: string\n }\n | {\n readonly kind: \"fail\"\n /** Exact durable run failure, when execution already persisted one. */\n readonly failure?: SixbFailure<TFailureCode>\n }\n\nconst DEFAULT_LEASE_MS = 15 * 60_000\nconst DEFAULT_CLAIM_LIMIT = 1\nconst CLAIM_FAILURE_DELAY_MS = 1_000\nconst MAX_CONSECUTIVE_CLAIM_FAILURES = 5\n\nexport abstract class QueueWorker<\n TJob extends QueueJob,\n TFailureCodes extends QueueWorkerFailureCodes,\n> extends Worker {\n protected readonly config: Required<QueueWorkerConfig<TJob, TFailureCodes>>\n private consecutiveClaimFailures = 0\n\n constructor(config: QueueWorkerConfig<TJob, TFailureCodes>) {\n super()\n this.config = {\n projectId: config.projectId,\n queue: config.queue,\n failureCodes: config.failureCodes,\n workerId: config.workerId,\n leaseMs: config.leaseMs ?? DEFAULT_LEASE_MS,\n claimLimit: normalizeClaimLimit(config.claimLimit),\n }\n }\n\n /** Maximum jobs this worker process claims and executes at once. */\n get concurrency(): number {\n return this.config.claimLimit\n }\n\n protected async run(signal: AbortSignal): Promise<void> {\n const inFlight = new Set<Promise<void>>()\n let runError: unknown = null\n // A claim waits for work, so a failed job must also end the wait it would otherwise sit in.\n const failed = new AbortController()\n const claimSignal = AbortSignal.any([signal, failed.signal])\n\n try {\n while (!signal.aborted && !runError) {\n while (!signal.aborted && !runError && inFlight.size >= this.config.claimLimit) {\n await Promise.race(inFlight)\n }\n if (runError || signal.aborted) {\n continue\n }\n\n const capacity = this.config.claimLimit - inFlight.size\n const claimed = await this.claim(claimSignal, capacity)\n for (const claimedJob of claimed) {\n const promise = this.handle(claimedJob, signal)\n .catch((error) => {\n runError ??= error\n failed.abort()\n })\n .finally(() => {\n inFlight.delete(promise)\n })\n inFlight.add(promise)\n }\n }\n } finally {\n await Promise.allSettled(inFlight)\n }\n\n if (runError) {\n throw runError\n }\n }\n\n protected abstract execute(\n claimed: ClaimedQueueJob<TJob>,\n signal: AbortSignal,\n delivery: QueueDelivery<TJob, TFailureCodes[number]>\n ): Promise<void>\n\n protected onExecutionError(\n _claimed: ClaimedQueueJob<TJob>,\n _error: unknown\n ):\n | Promise<QueueWorkerFailureDecision<TFailureCodes[number]>>\n | QueueWorkerFailureDecision<TFailureCodes[number]> {\n return { kind: \"fail\" }\n }\n\n protected onAbortError(\n _claimed: ClaimedQueueJob<TJob>,\n _error: unknown\n ):\n | Promise<QueueWorkerFailureDecision<TFailureCodes[number]>>\n | QueueWorkerFailureDecision<TFailureCodes[number]> {\n // Shutdown should normally release work for another process. Workers with non-idempotent\n // partial commits can override this and fail the job instead.\n return { kind: \"retry\" }\n }\n\n private async claim(\n signal: AbortSignal,\n limit: number\n ): Promise<readonly ClaimedQueueJob<TJob>[]> {\n const { projectId, queue, workerId, leaseMs } = this.config\n\n try {\n // The provider waits until it has work or `signal` aborts, so there is no idle loop here.\n const claimed = await queue.claim({ projectId, workerId, limit, leaseMs, signal })\n if (claimed.length === 0 && !signal.aborted) {\n // A provider that ignores the signal would otherwise spin this loop on a whole core.\n throw new Error(\n \"[SixbQueueWorker] Queue claim returned no jobs before its signal aborted; the queue provider contract says claim must wait for work until its signal aborts.\"\n )\n }\n this.consecutiveClaimFailures = 0\n return claimed\n } catch (error) {\n if (signal.aborted) return []\n this.consecutiveClaimFailures += 1\n if (this.consecutiveClaimFailures >= MAX_CONSECUTIVE_CLAIM_FAILURES) {\n this.consecutiveClaimFailures = 0\n throw new Error(\n `[SixbQueueWorker] Queue claim failed ${MAX_CONSECUTIVE_CLAIM_FAILURES} consecutive times.`,\n { cause: error }\n )\n }\n await sleep(CLAIM_FAILURE_DELAY_MS, signal).catch(() => {})\n return []\n }\n }\n\n private async handle(claimed: ClaimedQueueJob<TJob>, signal: AbortSignal): Promise<void> {\n const delivery = createQueueDelivery({\n queue: this.config.queue,\n claimed,\n leaseMs: this.config.leaseMs,\n signal,\n onLeaseLost: () => {\n console.error(\n `[SixbQueueWorker] Lost lease for queue job '${claimed.job.id}'; leaving it for redelivery.`\n )\n },\n onRenewalError: (error) => {\n console.error(\n `[SixbQueueWorker] Could not renew lease for queue job '${claimed.job.id}'; retrying.`,\n error\n )\n },\n })\n\n try {\n let outcome: { readonly ok: true } | { readonly ok: false; readonly error: unknown }\n try {\n await this.execute(claimed, delivery.signal, delivery)\n outcome = { ok: true }\n } catch (error) {\n outcome = { ok: false, error }\n }\n\n if (delivery.state === \"lost\") return\n\n if (outcome.ok) {\n await settleOrLog(delivery, \"complete\", () => delivery.complete())\n return\n }\n\n const error = outcome.error\n if (signal.aborted || isAbortError(error)) {\n try {\n const decision = await this.onAbortError(claimed, error)\n await this.applyFailureDecision(delivery, decision, error, \"runtime.cancelled\")\n } catch {\n // Shutdown is already in progress. The unacknowledged job becomes visible after its lease.\n }\n return\n }\n\n try {\n const decision = await this.onExecutionError(claimed, error)\n await this.applyFailureDecision(delivery, decision, error, \"internal.unexpected\")\n } catch (settlementError) {\n logQueueOperationError(\"apply failure decision to\", claimed, settlementError)\n }\n } finally {\n await delivery.close()\n }\n }\n\n private async applyFailureDecision(\n delivery: QueueDelivery<TJob, TFailureCodes[number]>,\n decision: QueueWorkerFailureDecision<TFailureCodes[number]>,\n error: unknown,\n defaultCode: \"internal.unexpected\" | \"runtime.cancelled\"\n ): Promise<void> {\n if (decision.kind === \"retry\") {\n await delivery.retry({ availableAt: decision.availableAt })\n return\n }\n\n const failure =\n decision.failure ??\n captureSixbFailure(error, {\n allowedCodes: this.config.failureCodes,\n defaultCode,\n })\n await delivery.fail(failure)\n }\n}\n\nfunction normalizeClaimLimit(value: number | undefined): number {\n const claimLimit = value ?? DEFAULT_CLAIM_LIMIT\n if (!Number.isSafeInteger(claimLimit) || claimLimit < 1) {\n throw new Error(\"[SixbQueueWorker] Worker concurrency must be a positive safe integer.\")\n }\n return claimLimit\n}\n\nasync function settleOrLog<TJob extends QueueJob, TFailureCode extends SixbErrorCode>(\n delivery: QueueDelivery<TJob, TFailureCode>,\n operation: string,\n settle: () => Promise<QueueSettlementResult>\n): Promise<void> {\n try {\n // A \"lost\" result needs no extra logging here: loss is already reported via onLeaseLost.\n await settle()\n } catch (error) {\n logQueueOperationError(operation, delivery.claimed, error)\n }\n}\n\nfunction logQueueOperationError(operation: string, claimed: ClaimedQueueJob, error: unknown): void {\n console.error(\n `[SixbQueueWorker] Could not ${operation} queue job '${claimed.job.id}'; it may be redelivered.`,\n error\n )\n}\n\n/** True for a standard abort (`AbortController`/`AbortSignal.timeout`) error. */\nexport function isAbortError(error: unknown): boolean {\n return error instanceof Error && error.name === \"AbortError\"\n}\n\nasync function sleep(ms: number, signal: AbortSignal): Promise<void> {\n if (signal.aborted) {\n throw new WorkerAbortError(\"Worker runtime aborted.\")\n }\n\n await new Promise<void>((resolve, reject) => {\n const timer = setTimeout(() => {\n signal.removeEventListener(\"abort\", onAbort)\n resolve()\n }, ms)\n\n const onAbort = () => {\n clearTimeout(timer)\n signal.removeEventListener(\"abort\", onAbort)\n reject(new WorkerAbortError(\"Worker runtime aborted.\"))\n }\n\n signal.addEventListener(\"abort\", onAbort, { once: true })\n })\n}\n"
9
9
  ],
10
- "mappings": "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",
11
- "debugId": "FA638CC52579761A64756E2164756E21",
10
+ "mappings": "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",
11
+ "debugId": "FB47377B800DED0E64756E2164756E21",
12
12
  "names": []
13
13
  }
@@ -32,8 +32,6 @@ export type QueueWorkerFailureDecision<TFailureCode extends SixbErrorCode = neve
32
32
  };
33
33
  export declare abstract class QueueWorker<TJob extends QueueJob, TFailureCodes extends QueueWorkerFailureCodes> extends Worker {
34
34
  protected readonly config: Required<QueueWorkerConfig<TJob, TFailureCodes>>;
35
- /** Pause after a failed claim. Overridable so tests do not wait out real backoffs. */
36
- protected readonly claimFailureDelayMs: number;
37
35
  private consecutiveClaimFailures;
38
36
  constructor(config: QueueWorkerConfig<TJob, TFailureCodes>);
39
37
  /** Maximum jobs this worker process claims and executes at once. */
@@ -1 +1 @@
1
- {"version":3,"file":"queue-worker.d.ts","sourceRoot":"","sources":["../../src/workers/queue-worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEjE,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,KAAK,uBAAuB,GAAG,SAAS;IACtC,qBAAqB;IACrB,mBAAmB;IACnB,GAAG,aAAa,EAAE;CACnB,CAAA;AAED,MAAM,WAAW,iBAAiB,CAChC,IAAI,SAAS,QAAQ,EACrB,aAAa,SAAS,uBAAuB;IAE7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IAClD,yEAAyE;IACzE,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,CAAC,YAAY,SAAS,aAAa,GAAG,KAAK,IAC7E;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;CAC7C,CAAA;AAOL,8BAAsB,WAAW,CAC/B,IAAI,SAAS,QAAQ,EACrB,aAAa,SAAS,uBAAuB,CAC7C,SAAQ,MAAM;IACd,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAA;IAC3E,sFAAsF;IACtF,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAyB;IACvE,OAAO,CAAC,wBAAwB,CAAI;gBAExB,MAAM,EAAE,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC;IAY1D,oEAAoE;IACpE,IAAI,WAAW,IAAI,MAAM,CAExB;cAEe,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCvD,SAAS,CAAC,QAAQ,CAAC,OAAO,CACxB,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,EAC9B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CAAC,gBAAgB,CACxB,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,EAC/B,MAAM,EAAE,OAAO,GAEb,OAAO,CAAC,0BAA0B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAC1D,0BAA0B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAIrD,SAAS,CAAC,YAAY,CACpB,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,EAC/B,MAAM,EAAE,OAAO,GAEb,OAAO,CAAC,0BAA0B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAC1D,0BAA0B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAMvC,KAAK;YAgCL,MAAM;YAyDN,oBAAoB;CAmBnC;AA8BD,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpD"}
1
+ {"version":3,"file":"queue-worker.d.ts","sourceRoot":"","sources":["../../src/workers/queue-worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEjE,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,KAAK,uBAAuB,GAAG,SAAS;IACtC,qBAAqB;IACrB,mBAAmB;IACnB,GAAG,aAAa,EAAE;CACnB,CAAA;AAED,MAAM,WAAW,iBAAiB,CAChC,IAAI,SAAS,QAAQ,EACrB,aAAa,SAAS,uBAAuB;IAE7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IAClD,yEAAyE;IACzE,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,CAAC,YAAY,SAAS,aAAa,GAAG,KAAK,IAC7E;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;CAC7C,CAAA;AAOL,8BAAsB,WAAW,CAC/B,IAAI,SAAS,QAAQ,EACrB,aAAa,SAAS,uBAAuB,CAC7C,SAAQ,MAAM;IACd,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAA;IAC3E,OAAO,CAAC,wBAAwB,CAAI;gBAExB,MAAM,EAAE,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC;IAY1D,oEAAoE;IACpE,IAAI,WAAW,IAAI,MAAM,CAExB;cAEe,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCvD,SAAS,CAAC,QAAQ,CAAC,OAAO,CACxB,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,EAC9B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CAAC,gBAAgB,CACxB,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,EAC/B,MAAM,EAAE,OAAO,GAEb,OAAO,CAAC,0BAA0B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAC1D,0BAA0B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAIrD,SAAS,CAAC,YAAY,CACpB,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,EAC/B,MAAM,EAAE,OAAO,GAEb,OAAO,CAAC,0BAA0B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAC1D,0BAA0B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAMvC,KAAK;YAgCL,MAAM;YAyDN,oBAAoB;CAmBnC;AA8BD,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpD"}