@sixb/core 0.1.1 → 0.1.3

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 (1187) hide show
  1. package/README.md +31 -20
  2. package/dist/actions/commit-edits.d.ts +0 -2
  3. package/dist/actions/commit-edits.d.ts.map +1 -1
  4. package/dist/actions/execution.d.ts +21 -0
  5. package/dist/actions/execution.d.ts.map +1 -0
  6. package/dist/actions/index.d.ts +1 -1
  7. package/dist/actions/index.d.ts.map +1 -1
  8. package/dist/actions/index.js +38 -24
  9. package/dist/actions/index.js.map +1 -1
  10. package/dist/actions/registry.d.ts +16 -7
  11. package/dist/actions/registry.d.ts.map +1 -1
  12. package/dist/actions/request.d.ts +3 -2
  13. package/dist/actions/request.d.ts.map +1 -1
  14. package/dist/actions/run-dispatch.d.ts +21 -0
  15. package/dist/actions/run-dispatch.d.ts.map +1 -0
  16. package/dist/actions/types/context.d.ts +2 -2
  17. package/dist/actions/types/context.d.ts.map +1 -1
  18. package/dist/actions/validation.d.ts +1 -1
  19. package/dist/actions/validation.d.ts.map +1 -1
  20. package/dist/actions/worker.js +7 -7
  21. package/dist/actions/worker.js.map +1 -1
  22. package/dist/agents/adapters.d.ts +21 -1
  23. package/dist/agents/adapters.d.ts.map +1 -1
  24. package/dist/agents/authority.d.ts +31 -0
  25. package/dist/agents/authority.d.ts.map +1 -0
  26. package/dist/agents/context.js +2 -2
  27. package/dist/agents/dispatch.d.ts.map +1 -1
  28. package/dist/agents/errors.d.ts +2 -2
  29. package/dist/agents/errors.d.ts.map +1 -1
  30. package/dist/agents/execution.d.ts +48 -0
  31. package/dist/agents/execution.d.ts.map +1 -0
  32. package/dist/agents/index.d.ts +12 -9
  33. package/dist/agents/index.d.ts.map +1 -1
  34. package/dist/agents/index.js +77 -18
  35. package/dist/agents/index.js.map +1 -1
  36. package/dist/agents/prompt.d.ts +8 -2
  37. package/dist/agents/prompt.d.ts.map +1 -1
  38. package/dist/agents/request.d.ts +6 -2
  39. package/dist/agents/request.d.ts.map +1 -1
  40. package/dist/agents/streams.d.ts +29 -3
  41. package/dist/agents/streams.d.ts.map +1 -1
  42. package/dist/agents/streams.js +22 -3
  43. package/dist/agents/streams.js.map +1 -1
  44. package/dist/agents/thread-context-projection.d.ts +19 -0
  45. package/dist/agents/thread-context-projection.d.ts.map +1 -0
  46. package/dist/agents/tool-definition.d.ts.map +1 -1
  47. package/dist/agents/tool-result.d.ts +6 -0
  48. package/dist/agents/tool-result.d.ts.map +1 -0
  49. package/dist/agents/types.d.ts +39 -3
  50. package/dist/agents/types.d.ts.map +1 -1
  51. package/dist/agents/validation.d.ts +3 -3
  52. package/dist/agents/validation.d.ts.map +1 -1
  53. package/dist/auth/attribution.d.ts +17 -0
  54. package/dist/auth/attribution.d.ts.map +1 -0
  55. package/dist/auth/index.d.ts +1 -0
  56. package/dist/auth/index.d.ts.map +1 -1
  57. package/dist/auth/index.js +11 -5
  58. package/dist/auth/index.js.map +1 -1
  59. package/dist/auth/runtime.d.ts +4 -4
  60. package/dist/auth/runtime.d.ts.map +1 -1
  61. package/dist/authorization/decision.d.ts +24 -11
  62. package/dist/authorization/decision.d.ts.map +1 -1
  63. package/dist/authorization/grant-kinds.d.ts +2 -1
  64. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  65. package/dist/authorization/index.d.ts +1 -1
  66. package/dist/authorization/index.d.ts.map +1 -1
  67. package/dist/authorization/index.js +8 -4
  68. package/dist/authorization/index.js.map +1 -1
  69. package/dist/blob-storage/browser.js +2 -2
  70. package/dist/blob-storage/execution.d.ts +16 -0
  71. package/dist/blob-storage/execution.d.ts.map +1 -0
  72. package/dist/blob-storage/index.js +3 -3
  73. package/dist/bootstrap/discovery.d.ts +90 -24
  74. package/dist/bootstrap/discovery.d.ts.map +1 -1
  75. package/dist/bootstrap/index.d.ts +2 -1
  76. package/dist/bootstrap/index.d.ts.map +1 -1
  77. package/dist/bootstrap/index.js +63 -60
  78. package/dist/bootstrap/index.js.map +1 -1
  79. package/dist/broker/in-memory.d.ts.map +1 -1
  80. package/dist/broker/index.js +2 -2
  81. package/dist/broker/types.d.ts +5 -0
  82. package/dist/broker/types.d.ts.map +1 -1
  83. package/dist/chunk-0172wgm9.js +333 -0
  84. package/dist/chunk-0172wgm9.js.map +11 -0
  85. package/dist/chunk-177ed2mp.js +3118 -0
  86. package/dist/chunk-177ed2mp.js.map +46 -0
  87. package/dist/chunk-1ywq4hzk.js +607 -0
  88. package/dist/chunk-1ywq4hzk.js.map +14 -0
  89. package/dist/chunk-261ag4t4.js +252 -0
  90. package/dist/chunk-261ag4t4.js.map +12 -0
  91. package/dist/{chunk-y2ygpd0m.js → chunk-3j7573mj.js} +2 -2
  92. package/dist/{chunk-y2ygpd0m.js.map → chunk-3j7573mj.js.map} +2 -2
  93. package/dist/{chunk-p7vj8xgb.js → chunk-3rsf30p4.js} +81 -58
  94. package/dist/chunk-3rsf30p4.js.map +35 -0
  95. package/dist/chunk-4aw0jwk0.js +118 -0
  96. package/dist/chunk-4aw0jwk0.js.map +10 -0
  97. package/dist/{chunk-md9jbrm9.js → chunk-4gz41why.js} +1 -1
  98. package/dist/chunk-4p9rh7jj.js +164 -0
  99. package/dist/chunk-4p9rh7jj.js.map +12 -0
  100. package/dist/chunk-4z3n1dzt.js +1206 -0
  101. package/dist/chunk-4z3n1dzt.js.map +23 -0
  102. package/dist/chunk-5gd7tpv6.js +28 -0
  103. package/dist/chunk-5gd7tpv6.js.map +11 -0
  104. package/dist/{chunk-867jxh7c.js → chunk-5sz8ta9r.js} +6 -295
  105. package/dist/chunk-5sz8ta9r.js.map +16 -0
  106. package/dist/chunk-62c7t4jc.js +27 -0
  107. package/dist/chunk-62c7t4jc.js.map +11 -0
  108. package/dist/chunk-63te770v.js.map +1 -1
  109. package/dist/{chunk-xz5g49bp.js → chunk-6gjqgd3d.js} +3 -1
  110. package/dist/chunk-6gjqgd3d.js.map +11 -0
  111. package/dist/{chunk-6rzdtvn5.js → chunk-8b55ygje.js} +1 -1
  112. package/dist/chunk-8m5ejdpn.js +33 -0
  113. package/dist/chunk-8m5ejdpn.js.map +10 -0
  114. package/dist/chunk-96swp2wd.js +47 -0
  115. package/dist/chunk-96swp2wd.js.map +10 -0
  116. package/dist/chunk-979ww6b3.js +298 -0
  117. package/dist/chunk-979ww6b3.js.map +12 -0
  118. package/dist/{chunk-ya6brh8a.js → chunk-9t8f5xfx.js} +10 -5
  119. package/dist/chunk-9t8f5xfx.js.map +11 -0
  120. package/dist/{chunk-r82k4z7z.js → chunk-a31h57d5.js} +2 -2
  121. package/dist/{chunk-t72dvahb.js → chunk-bhxaq2nn.js} +61 -44
  122. package/dist/chunk-bhxaq2nn.js.map +12 -0
  123. package/dist/chunk-bv41fmjn.js +3294 -0
  124. package/dist/chunk-bv41fmjn.js.map +35 -0
  125. package/dist/chunk-c6cfqydk.js +128 -0
  126. package/dist/chunk-c6cfqydk.js.map +13 -0
  127. package/dist/chunk-c8bw2b6c.js +317 -0
  128. package/dist/chunk-c8bw2b6c.js.map +11 -0
  129. package/dist/{chunk-qzyemcj7.js → chunk-ckxfnx7f.js} +2 -2
  130. package/dist/chunk-cy0n5dms.js +27 -0
  131. package/dist/chunk-cy0n5dms.js.map +11 -0
  132. package/dist/{chunk-xt6qx9sh.js → chunk-d2adj15j.js} +91 -9
  133. package/dist/chunk-d2adj15j.js.map +37 -0
  134. package/dist/{chunk-avppcgt6.js → chunk-d6y2wsfg.js} +241 -144
  135. package/dist/chunk-d6y2wsfg.js.map +15 -0
  136. package/dist/chunk-dsrkgtnh.js +50 -0
  137. package/dist/chunk-dsrkgtnh.js.map +10 -0
  138. package/dist/{chunk-50kv63vj.js → chunk-dysw7nsm.js} +118 -26
  139. package/dist/chunk-dysw7nsm.js.map +14 -0
  140. package/dist/{chunk-rjqm6ksg.js → chunk-ettb0cy4.js} +725 -266
  141. package/dist/chunk-ettb0cy4.js.map +45 -0
  142. package/dist/chunk-ezake7g1.js +32 -0
  143. package/dist/chunk-ezake7g1.js.map +11 -0
  144. package/dist/{chunk-b1bqvhpe.js → chunk-f1cyvnrk.js} +14 -34
  145. package/dist/chunk-f1cyvnrk.js.map +13 -0
  146. package/dist/{chunk-yn947ck3.js → chunk-f2rt4vkh.js} +48 -29
  147. package/dist/chunk-f2rt4vkh.js.map +14 -0
  148. package/dist/{chunk-hb9xcx9c.js → chunk-fmx1sz2h.js} +117 -56
  149. package/dist/chunk-fmx1sz2h.js.map +15 -0
  150. package/dist/{chunk-f6kyyeef.js → chunk-ghteq96b.js} +8 -8
  151. package/dist/{chunk-f6kyyeef.js.map → chunk-ghteq96b.js.map} +4 -4
  152. package/dist/chunk-h9kxd41f.js +271 -0
  153. package/dist/chunk-h9kxd41f.js.map +11 -0
  154. package/dist/chunk-htq0qh7z.js +59 -0
  155. package/dist/chunk-htq0qh7z.js.map +11 -0
  156. package/dist/chunk-km4rkj4t.js +402 -0
  157. package/dist/chunk-km4rkj4t.js.map +14 -0
  158. package/dist/chunk-kqxgf6kv.js +898 -0
  159. package/dist/chunk-kqxgf6kv.js.map +15 -0
  160. package/dist/chunk-n5x5y80a.js +137 -0
  161. package/dist/chunk-n5x5y80a.js.map +10 -0
  162. package/dist/chunk-nf4r78r4.js +44 -0
  163. package/dist/chunk-nf4r78r4.js.map +10 -0
  164. package/dist/chunk-pxtrxm3p.js +55 -0
  165. package/dist/chunk-pxtrxm3p.js.map +11 -0
  166. package/dist/chunk-qer6am8w.js +133 -0
  167. package/dist/chunk-qer6am8w.js.map +11 -0
  168. package/dist/{chunk-sb0shdvv.js → chunk-rdeagz6b.js} +3 -3
  169. package/dist/{chunk-sb0shdvv.js.map → chunk-rdeagz6b.js.map} +3 -3
  170. package/dist/chunk-rhrbz7d4.js +36 -0
  171. package/dist/chunk-rhrbz7d4.js.map +10 -0
  172. package/dist/{chunk-53s4asfm.js → chunk-rnshztfq.js} +2 -2
  173. package/dist/chunk-t0jjkep3.js +35 -0
  174. package/dist/chunk-t0jjkep3.js.map +10 -0
  175. package/dist/{chunk-be9vm29v.js → chunk-t8t39h7v.js} +1 -1
  176. package/dist/{chunk-be9vm29v.js.map → chunk-t8t39h7v.js.map} +3 -3
  177. package/dist/chunk-t9xghkva.js +28 -0
  178. package/dist/chunk-t9xghkva.js.map +10 -0
  179. package/dist/{chunk-nbywkytr.js → chunk-ttba8x6z.js} +13 -33
  180. package/dist/chunk-ttba8x6z.js.map +15 -0
  181. package/dist/{chunk-8kv2sez0.js → chunk-vybf6pkp.js} +1 -1
  182. package/dist/chunk-wb4051cx.js +404 -0
  183. package/dist/chunk-wb4051cx.js.map +12 -0
  184. package/dist/{chunk-4tvj3ate.js → chunk-wtmzkcht.js} +4 -3
  185. package/dist/chunk-wtmzkcht.js.map +11 -0
  186. package/dist/{chunk-xqbtf4wn.js → chunk-xc7hq65b.js} +5 -3
  187. package/dist/{chunk-xqbtf4wn.js.map → chunk-xc7hq65b.js.map} +3 -3
  188. package/dist/{chunk-v5c085yp.js → chunk-xhy826cz.js} +3 -2
  189. package/dist/chunk-xhy826cz.js.map +10 -0
  190. package/dist/chunk-xkthy56g.js +33 -0
  191. package/dist/chunk-xkthy56g.js.map +11 -0
  192. package/dist/{chunk-raq0x6bd.js → chunk-xmggaxg4.js} +2199 -380
  193. package/dist/chunk-xmggaxg4.js.map +54 -0
  194. package/dist/{chunk-6zrpewy4.js → chunk-z3zp0bj1.js} +1 -1
  195. package/dist/chunk-z8j83gzd.js +90 -0
  196. package/dist/chunk-z8j83gzd.js.map +10 -0
  197. package/dist/chunk-zcnhxkvd.js +7 -0
  198. package/dist/chunk-zcnhxkvd.js.map +10 -0
  199. package/dist/chunk-zpw39qhj.js +194 -0
  200. package/dist/chunk-zpw39qhj.js.map +10 -0
  201. package/dist/chunk-zqqz8052.js +3 -0
  202. package/dist/{storage/projection-runs/lifecycle.js.map → chunk-zqqz8052.js.map} +1 -1
  203. package/dist/{chunk-hz8m927w.js → chunk-zqysyfjt.js} +1 -1
  204. package/dist/connectors/builders.d.ts +2 -1
  205. package/dist/connectors/builders.d.ts.map +1 -1
  206. package/dist/connectors/connections/authorizations.d.ts +64 -0
  207. package/dist/connectors/connections/authorizations.d.ts.map +1 -0
  208. package/dist/connectors/connections/capability.d.ts +7 -0
  209. package/dist/connectors/connections/capability.d.ts.map +1 -0
  210. package/dist/connectors/connections/command-context.d.ts +23 -0
  211. package/dist/connectors/connections/command-context.d.ts.map +1 -0
  212. package/dist/connectors/connections/contracts.d.ts +127 -0
  213. package/dist/connectors/connections/contracts.d.ts.map +1 -0
  214. package/dist/connectors/connections/credential-codec.d.ts +15 -0
  215. package/dist/connectors/connections/credential-codec.d.ts.map +1 -0
  216. package/dist/connectors/connections/credential-mutations.d.ts +63 -0
  217. package/dist/connectors/connections/credential-mutations.d.ts.map +1 -0
  218. package/dist/connectors/connections/execution.d.ts +20 -0
  219. package/dist/connectors/connections/execution.d.ts.map +1 -0
  220. package/dist/connectors/connections/internal.d.ts +5 -0
  221. package/dist/connectors/connections/internal.d.ts.map +1 -0
  222. package/dist/connectors/connections/internal.js +16 -0
  223. package/dist/connectors/connections/internal.js.map +9 -0
  224. package/dist/connectors/connections/provider-operation.d.ts +7 -0
  225. package/dist/connectors/connections/provider-operation.d.ts.map +1 -0
  226. package/dist/connectors/connections/request.d.ts +84 -0
  227. package/dist/connectors/connections/request.d.ts.map +1 -0
  228. package/dist/connectors/connections/runs.d.ts +51 -0
  229. package/dist/connectors/connections/runs.d.ts.map +1 -0
  230. package/dist/connectors/connections/service.d.ts +52 -0
  231. package/dist/connectors/connections/service.d.ts.map +1 -0
  232. package/dist/connectors/connections/storage-boundary.d.ts +3 -0
  233. package/dist/connectors/connections/storage-boundary.d.ts.map +1 -0
  234. package/dist/connectors/connections/tokens.d.ts +32 -0
  235. package/dist/connectors/connections/tokens.d.ts.map +1 -0
  236. package/dist/connectors/connections/validation.d.ts +27 -0
  237. package/dist/connectors/connections/validation.d.ts.map +1 -0
  238. package/dist/connectors/connections/views.d.ts +7 -0
  239. package/dist/connectors/connections/views.d.ts.map +1 -0
  240. package/dist/connectors/credentials.d.ts +25 -0
  241. package/dist/connectors/credentials.d.ts.map +1 -0
  242. package/dist/connectors/errors.d.ts +35 -3
  243. package/dist/connectors/errors.d.ts.map +1 -1
  244. package/dist/connectors/execution.d.ts +19 -0
  245. package/dist/connectors/execution.d.ts.map +1 -0
  246. package/dist/connectors/index.d.ts +5 -3
  247. package/dist/connectors/index.d.ts.map +1 -1
  248. package/dist/connectors/service.d.ts +23 -0
  249. package/dist/connectors/service.d.ts.map +1 -0
  250. package/dist/connectors/types.d.ts +94 -2
  251. package/dist/connectors/types.d.ts.map +1 -1
  252. package/dist/datasets/execution.d.ts +8 -0
  253. package/dist/datasets/execution.d.ts.map +1 -0
  254. package/dist/error-reporting/capability.d.ts +4 -49
  255. package/dist/error-reporting/capability.d.ts.map +1 -1
  256. package/dist/error-reporting/internal.d.ts +2 -2
  257. package/dist/error-reporting/internal.d.ts.map +1 -1
  258. package/dist/error-reporting/internal.js +10 -4
  259. package/dist/error-reporting/internal.js.map +1 -1
  260. package/dist/error-reporting/reporter.d.ts +4 -1
  261. package/dist/error-reporting/reporter.d.ts.map +1 -1
  262. package/dist/error-reporting/reports.d.ts +64 -0
  263. package/dist/error-reporting/reports.d.ts.map +1 -0
  264. package/dist/error-reporting/types.d.ts +88 -34
  265. package/dist/error-reporting/types.d.ts.map +1 -1
  266. package/dist/errors/catalog.d.ts +141 -0
  267. package/dist/errors/catalog.d.ts.map +1 -0
  268. package/dist/errors/internal.d.ts +68 -0
  269. package/dist/errors/internal.d.ts.map +1 -0
  270. package/dist/errors/internal.js +29 -0
  271. package/dist/errors/internal.js.map +9 -0
  272. package/dist/errors/types.d.ts +20 -0
  273. package/dist/errors/types.d.ts.map +1 -0
  274. package/dist/events/definitions.d.ts +0 -1
  275. package/dist/events/definitions.d.ts.map +1 -1
  276. package/dist/events/execution.d.ts +13 -0
  277. package/dist/events/execution.d.ts.map +1 -0
  278. package/dist/events/index.d.ts +3 -2
  279. package/dist/events/index.d.ts.map +1 -1
  280. package/dist/events/index.js +10 -8
  281. package/dist/events/index.js.map +1 -1
  282. package/dist/events/outbox-dispatcher.d.ts +4 -2
  283. package/dist/events/outbox-dispatcher.d.ts.map +1 -1
  284. package/dist/events/{runtime.d.ts → service.d.ts} +13 -14
  285. package/dist/events/service.d.ts.map +1 -0
  286. package/dist/events/types/pipelines.d.ts +4 -1
  287. package/dist/events/types/pipelines.d.ts.map +1 -1
  288. package/dist/events/types/syncs.d.ts +3 -0
  289. package/dist/events/types/syncs.d.ts.map +1 -1
  290. package/dist/events/types/workflows.d.ts +4 -2
  291. package/dist/events/types/workflows.d.ts.map +1 -1
  292. package/dist/execution/agent.d.ts +42 -0
  293. package/dist/execution/agent.d.ts.map +1 -0
  294. package/dist/execution/agent.js +73 -0
  295. package/dist/execution/agent.js.map +9 -0
  296. package/dist/execution/authorization.d.ts +60 -0
  297. package/dist/execution/authorization.d.ts.map +1 -0
  298. package/dist/execution/dispatch.d.ts +8 -0
  299. package/dist/execution/dispatch.d.ts.map +1 -0
  300. package/dist/execution/durable.d.ts +37 -0
  301. package/dist/execution/durable.d.ts.map +1 -0
  302. package/dist/execution/index.d.ts +2 -0
  303. package/dist/execution/index.d.ts.map +1 -0
  304. package/dist/execution/primitive.d.ts +21 -0
  305. package/dist/execution/primitive.d.ts.map +1 -0
  306. package/dist/execution/primitive.js +91 -0
  307. package/dist/execution/primitive.js.map +10 -0
  308. package/dist/execution/request.d.ts +38 -0
  309. package/dist/execution/request.d.ts.map +1 -0
  310. package/dist/execution/request.js +100 -0
  311. package/dist/execution/request.js.map +10 -0
  312. package/dist/execution/scopes.d.ts +30 -0
  313. package/dist/execution/scopes.d.ts.map +1 -0
  314. package/dist/execution/types.d.ts +111 -0
  315. package/dist/execution/types.d.ts.map +1 -0
  316. package/dist/index.d.ts +31 -14
  317. package/dist/index.d.ts.map +1 -1
  318. package/dist/index.js +133 -105
  319. package/dist/index.js.map +1 -1
  320. package/dist/json.d.ts +0 -1
  321. package/dist/json.d.ts.map +1 -1
  322. package/dist/lake-storage/index.js +5 -5
  323. package/dist/logging/execution.d.ts +9 -0
  324. package/dist/logging/execution.d.ts.map +1 -0
  325. package/dist/logging/index.d.ts +1 -1
  326. package/dist/logging/index.d.ts.map +1 -1
  327. package/dist/logging/index.js +8 -8
  328. package/dist/logging/index.js.map +1 -1
  329. package/dist/logging/{runtime.d.ts → service.d.ts} +7 -7
  330. package/dist/logging/{runtime.d.ts.map → service.d.ts.map} +1 -1
  331. package/dist/logging/types.js +2 -2
  332. package/dist/materialization/events.d.ts +1 -0
  333. package/dist/materialization/events.d.ts.map +1 -1
  334. package/dist/materialization/index.d.ts +1 -1
  335. package/dist/materialization/index.d.ts.map +1 -1
  336. package/dist/materialization/index.js +2 -2
  337. package/dist/materialization/model.d.ts +30 -17
  338. package/dist/materialization/model.d.ts.map +1 -1
  339. package/dist/materializer/edits/apply.d.ts +6 -1
  340. package/dist/materializer/edits/apply.d.ts.map +1 -1
  341. package/dist/materializer/edits/commit.d.ts +2 -1
  342. package/dist/materializer/edits/commit.d.ts.map +1 -1
  343. package/dist/materializer/edits/load-state.d.ts +1 -1
  344. package/dist/materializer/edits/load-state.d.ts.map +1 -1
  345. package/dist/materializer/edits/operations.d.ts +1 -13
  346. package/dist/materializer/edits/operations.d.ts.map +1 -1
  347. package/dist/materializer/edits/plan.d.ts +2 -1
  348. package/dist/materializer/edits/plan.d.ts.map +1 -1
  349. package/dist/materializer/edits/working-state.d.ts +38 -8
  350. package/dist/materializer/edits/working-state.d.ts.map +1 -1
  351. package/dist/materializer/effective/build-events.d.ts +1 -0
  352. package/dist/materializer/effective/build-events.d.ts.map +1 -1
  353. package/dist/materializer/effective/diff.d.ts +7 -0
  354. package/dist/materializer/effective/diff.d.ts.map +1 -1
  355. package/dist/materializer/effective/load-state.d.ts +0 -2
  356. package/dist/materializer/effective/load-state.d.ts.map +1 -1
  357. package/dist/materializer/effective/resolve.d.ts +19 -2
  358. package/dist/materializer/effective/resolve.d.ts.map +1 -1
  359. package/dist/materializer/execution/commit-lifecycle.d.ts +2 -2
  360. package/dist/materializer/execution/commit-lifecycle.d.ts.map +1 -1
  361. package/dist/materializer/execution/plan-stream.d.ts.map +1 -1
  362. package/dist/materializer/execution/scope.d.ts +26 -0
  363. package/dist/materializer/execution/scope.d.ts.map +1 -0
  364. package/dist/materializer/execution/work-executor.d.ts.map +1 -1
  365. package/dist/materializer/execution/work-records.d.ts +6 -5
  366. package/dist/materializer/execution/work-records.d.ts.map +1 -1
  367. package/dist/materializer/index.d.ts +2 -2
  368. package/dist/materializer/index.d.ts.map +1 -1
  369. package/dist/materializer/index.js +33 -18
  370. package/dist/materializer/index.js.map +1 -1
  371. package/dist/materializer/materializer.d.ts +37 -5
  372. package/dist/materializer/materializer.d.ts.map +1 -1
  373. package/dist/materializer/projections/finish-run.d.ts +2 -1
  374. package/dist/materializer/projections/finish-run.d.ts.map +1 -1
  375. package/dist/materializer/projections/replace.d.ts +2 -1
  376. package/dist/materializer/projections/replace.d.ts.map +1 -1
  377. package/dist/materializer/projections/replacement-plan.d.ts +1 -0
  378. package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
  379. package/dist/materializer/shared/batching.d.ts.map +1 -1
  380. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  381. package/dist/materializer/telemetry/append.d.ts +2 -1
  382. package/dist/materializer/telemetry/append.d.ts.map +1 -1
  383. package/dist/materializer/telemetry/plan.d.ts +7 -1
  384. package/dist/materializer/telemetry/plan.d.ts.map +1 -1
  385. package/dist/objects/action/request.d.ts +3 -3
  386. package/dist/objects/action/request.d.ts.map +1 -1
  387. package/dist/objects/context/index.d.ts +1 -1
  388. package/dist/objects/context/index.d.ts.map +1 -1
  389. package/dist/objects/context/types.d.ts +5 -0
  390. package/dist/objects/context/types.d.ts.map +1 -1
  391. package/dist/objects/execution.d.ts +100 -0
  392. package/dist/objects/execution.d.ts.map +1 -0
  393. package/dist/objects/index.js +40 -24
  394. package/dist/objects/index.js.map +1 -1
  395. package/dist/objects/materializer-adapter.d.ts +1 -1
  396. package/dist/objects/materializer-adapter.d.ts.map +1 -1
  397. package/dist/objects/query/executor.d.ts +3 -8
  398. package/dist/objects/query/executor.d.ts.map +1 -1
  399. package/dist/objects/query/index.d.ts +2 -2
  400. package/dist/objects/query/index.d.ts.map +1 -1
  401. package/dist/objects/query/index.js +9 -13
  402. package/dist/objects/query/index.js.map +1 -1
  403. package/dist/objects/query/planner.d.ts +0 -3
  404. package/dist/objects/query/planner.d.ts.map +1 -1
  405. package/dist/objects/sdk/object-handle.d.ts +2 -2
  406. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  407. package/dist/objects/sdk/object-set.d.ts +2 -0
  408. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  409. package/dist/objects/sdk/runtime-query-executor.d.ts +2 -0
  410. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  411. package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
  412. package/dist/objects/service/action-service.d.ts +3 -2
  413. package/dist/objects/service/action-service.d.ts.map +1 -1
  414. package/dist/objects/service/list-service.d.ts +1 -1
  415. package/dist/objects/telemetry/history.d.ts +2 -0
  416. package/dist/objects/telemetry/history.d.ts.map +1 -1
  417. package/dist/objects/telemetry/write-batch.d.ts.map +1 -1
  418. package/dist/ontology/index.d.ts +1 -1
  419. package/dist/ontology/index.d.ts.map +1 -1
  420. package/dist/ontology/index.js +5 -5
  421. package/dist/ontology/internal.js +4 -4
  422. package/dist/ontology/registry.d.ts +15 -2
  423. package/dist/ontology/registry.d.ts.map +1 -1
  424. package/dist/pipelines/execution.d.ts +19 -0
  425. package/dist/pipelines/execution.d.ts.map +1 -0
  426. package/dist/pipelines/index.d.ts +1 -0
  427. package/dist/pipelines/index.d.ts.map +1 -1
  428. package/dist/pipelines/index.js +68 -0
  429. package/dist/pipelines/index.js.map +9 -0
  430. package/dist/pipelines/request.d.ts +6 -9
  431. package/dist/pipelines/request.d.ts.map +1 -1
  432. package/dist/pipelines/run-dispatch.d.ts +47 -0
  433. package/dist/pipelines/run-dispatch.d.ts.map +1 -0
  434. package/dist/projections/builders.d.ts +19 -8
  435. package/dist/projections/builders.d.ts.map +1 -1
  436. package/dist/projections/capability.d.ts +7 -0
  437. package/dist/projections/capability.d.ts.map +1 -0
  438. package/dist/projections/execution.d.ts +19 -0
  439. package/dist/projections/execution.d.ts.map +1 -0
  440. package/dist/projections/index.d.ts +5 -2
  441. package/dist/projections/index.d.ts.map +1 -1
  442. package/dist/projections/internal.d.ts +8 -11
  443. package/dist/projections/internal.d.ts.map +1 -1
  444. package/dist/projections/internal.js +48 -6
  445. package/dist/projections/internal.js.map +1 -1
  446. package/dist/projections/ownership.d.ts +2 -2
  447. package/dist/projections/ownership.d.ts.map +1 -1
  448. package/dist/projections/registry.d.ts +21 -11
  449. package/dist/projections/registry.d.ts.map +1 -1
  450. package/dist/projections/revision.d.ts +2 -2
  451. package/dist/projections/revision.d.ts.map +1 -1
  452. package/dist/projections/run-dispatch.d.ts +37 -0
  453. package/dist/projections/run-dispatch.d.ts.map +1 -0
  454. package/dist/projections/run-id.d.ts +3 -0
  455. package/dist/projections/run-id.d.ts.map +1 -0
  456. package/dist/projections/timestamp.d.ts +3 -0
  457. package/dist/projections/timestamp.d.ts.map +1 -0
  458. package/dist/projections/types.d.ts +12 -0
  459. package/dist/projections/types.d.ts.map +1 -1
  460. package/dist/projections/validation.d.ts +2 -2
  461. package/dist/projections/validation.d.ts.map +1 -1
  462. package/dist/queues/in-memory.d.ts +11 -10
  463. package/dist/queues/in-memory.d.ts.map +1 -1
  464. package/dist/queues/index.d.ts +1 -1
  465. package/dist/queues/index.d.ts.map +1 -1
  466. package/dist/queues/index.js +1 -1
  467. package/dist/queues/types.d.ts +59 -42
  468. package/dist/queues/types.d.ts.map +1 -1
  469. package/dist/rules/execution.d.ts +14 -0
  470. package/dist/rules/execution.d.ts.map +1 -0
  471. package/dist/rules/index.d.ts +1 -1
  472. package/dist/rules/index.d.ts.map +1 -1
  473. package/dist/rules/validation.d.ts +1 -2
  474. package/dist/rules/validation.d.ts.map +1 -1
  475. package/dist/runtime/ai-cost.d.ts +8 -0
  476. package/dist/runtime/ai-cost.d.ts.map +1 -0
  477. package/dist/runtime/ai-usage.d.ts +8 -0
  478. package/dist/runtime/ai-usage.d.ts.map +1 -0
  479. package/dist/runtime/create.d.ts +7 -5
  480. package/dist/runtime/create.d.ts.map +1 -1
  481. package/dist/runtime/definitions.d.ts +35 -0
  482. package/dist/runtime/definitions.d.ts.map +1 -0
  483. package/dist/runtime/host.d.ts +123 -0
  484. package/dist/runtime/host.d.ts.map +1 -0
  485. package/dist/runtime/index.d.ts +6 -5
  486. package/dist/runtime/index.d.ts.map +1 -1
  487. package/dist/runtime/internal.d.ts +4 -0
  488. package/dist/runtime/internal.d.ts.map +1 -1
  489. package/dist/runtime/internal.js +6 -2
  490. package/dist/runtime/internal.js.map +1 -1
  491. package/dist/runtime/ontology-mutations.d.ts +4 -2
  492. package/dist/runtime/ontology-mutations.d.ts.map +1 -1
  493. package/dist/runtime/resolve-definitions.d.ts +42 -0
  494. package/dist/runtime/resolve-definitions.d.ts.map +1 -0
  495. package/dist/runtime/sixb.d.ts +43 -219
  496. package/dist/runtime/sixb.d.ts.map +1 -1
  497. package/dist/runtime/types.d.ts +16 -216
  498. package/dist/runtime/types.d.ts.map +1 -1
  499. package/dist/scheduler/index.d.ts +1 -1
  500. package/dist/scheduler/index.d.ts.map +1 -1
  501. package/dist/scheduler/index.js +3 -6
  502. package/dist/scheduler/index.js.map +1 -1
  503. package/dist/scheduler/runtime.d.ts +7 -2
  504. package/dist/scheduler/runtime.d.ts.map +1 -1
  505. package/dist/schedules/execution.d.ts +6 -0
  506. package/dist/schedules/execution.d.ts.map +1 -0
  507. package/dist/schedules/index.js +9 -7
  508. package/dist/schedules/index.js.map +1 -1
  509. package/dist/schedules/types.d.ts +1 -3
  510. package/dist/schedules/types.d.ts.map +1 -1
  511. package/dist/security/every.d.ts +4 -1
  512. package/dist/security/every.d.ts.map +1 -1
  513. package/dist/security/grants.d.ts +4 -1
  514. package/dist/security/grants.d.ts.map +1 -1
  515. package/dist/security/index.d.ts +3 -1
  516. package/dist/security/index.d.ts.map +1 -1
  517. package/dist/security/registry.d.ts +42 -0
  518. package/dist/security/registry.d.ts.map +1 -0
  519. package/dist/security/types.d.ts +7 -12
  520. package/dist/security/types.d.ts.map +1 -1
  521. package/dist/security/validation.d.ts +2 -0
  522. package/dist/security/validation.d.ts.map +1 -1
  523. package/dist/storage/action-runs/failure.d.ts +7 -0
  524. package/dist/storage/action-runs/failure.d.ts.map +1 -0
  525. package/dist/storage/action-runs/failure.js +14 -0
  526. package/dist/storage/action-runs/failure.js.map +9 -0
  527. package/dist/storage/action-runs/idempotency.d.ts.map +1 -1
  528. package/dist/storage/action-runs/in-memory.d.ts +3 -1
  529. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  530. package/dist/storage/action-runs/index.d.ts +2 -1
  531. package/dist/storage/action-runs/index.d.ts.map +1 -1
  532. package/dist/storage/action-runs/provider.d.ts +10 -0
  533. package/dist/storage/action-runs/provider.d.ts.map +1 -0
  534. package/dist/storage/action-runs/provider.js +13 -0
  535. package/dist/storage/action-runs/provider.js.map +9 -0
  536. package/dist/storage/action-runs/types.d.ts +37 -18
  537. package/dist/storage/action-runs/types.d.ts.map +1 -1
  538. package/dist/storage/agents/errors.d.ts +1 -1
  539. package/dist/storage/agents/errors.d.ts.map +1 -1
  540. package/dist/storage/agents/in-memory.d.ts +22 -5
  541. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  542. package/dist/storage/agents/index.d.ts +2 -2
  543. package/dist/storage/agents/index.d.ts.map +1 -1
  544. package/dist/storage/agents/provider.d.ts +41 -0
  545. package/dist/storage/agents/provider.d.ts.map +1 -0
  546. package/dist/storage/agents/provider.js +28 -0
  547. package/dist/storage/agents/provider.js.map +9 -0
  548. package/dist/storage/agents/types.d.ts +83 -26
  549. package/dist/storage/agents/types.d.ts.map +1 -1
  550. package/dist/storage/ai-cost/analytics.d.ts +61 -0
  551. package/dist/storage/ai-cost/analytics.d.ts.map +1 -0
  552. package/dist/storage/ai-cost/codec.d.ts +14 -0
  553. package/dist/storage/ai-cost/codec.d.ts.map +1 -0
  554. package/dist/storage/ai-cost/errors.d.ts +7 -0
  555. package/dist/storage/ai-cost/errors.d.ts.map +1 -0
  556. package/dist/storage/ai-cost/in-memory.d.ts +32 -0
  557. package/dist/storage/ai-cost/in-memory.d.ts.map +1 -0
  558. package/dist/storage/ai-cost/index.d.ts +6 -0
  559. package/dist/storage/ai-cost/index.d.ts.map +1 -0
  560. package/dist/storage/ai-cost/provider.d.ts +7 -0
  561. package/dist/storage/ai-cost/provider.d.ts.map +1 -0
  562. package/dist/storage/ai-cost/provider.js +132 -0
  563. package/dist/storage/ai-cost/provider.js.map +10 -0
  564. package/dist/storage/ai-cost/types.d.ts +154 -0
  565. package/dist/storage/ai-cost/types.d.ts.map +1 -0
  566. package/dist/storage/ai-cost/validation.d.ts +7 -0
  567. package/dist/storage/ai-cost/validation.d.ts.map +1 -0
  568. package/dist/storage/ai-usage/errors.d.ts +8 -0
  569. package/dist/storage/ai-usage/errors.d.ts.map +1 -0
  570. package/dist/storage/ai-usage/in-memory.d.ts +28 -0
  571. package/dist/storage/ai-usage/in-memory.d.ts.map +1 -0
  572. package/dist/storage/ai-usage/index.d.ts +8 -0
  573. package/dist/storage/ai-usage/index.d.ts.map +1 -0
  574. package/dist/storage/ai-usage/record.d.ts +6 -0
  575. package/dist/storage/ai-usage/record.d.ts.map +1 -0
  576. package/dist/storage/ai-usage/types.d.ts +89 -0
  577. package/dist/storage/ai-usage/types.d.ts.map +1 -0
  578. package/dist/storage/ai-usage/usage.d.ts +11 -0
  579. package/dist/storage/ai-usage/usage.d.ts.map +1 -0
  580. package/dist/storage/auth/types.d.ts +1 -0
  581. package/dist/storage/auth/types.d.ts.map +1 -1
  582. package/dist/storage/connector-connections/errors.d.ts +12 -0
  583. package/dist/storage/connector-connections/errors.d.ts.map +1 -0
  584. package/dist/storage/connector-connections/in-memory.d.ts +81 -0
  585. package/dist/storage/connector-connections/in-memory.d.ts.map +1 -0
  586. package/dist/storage/connector-connections/index.d.ts +7 -0
  587. package/dist/storage/connector-connections/index.d.ts.map +1 -0
  588. package/dist/storage/connector-connections/provider/authorizations.d.ts +20 -0
  589. package/dist/storage/connector-connections/provider/authorizations.d.ts.map +1 -0
  590. package/dist/storage/connector-connections/provider/connections.d.ts +17 -0
  591. package/dist/storage/connector-connections/provider/connections.d.ts.map +1 -0
  592. package/dist/storage/connector-connections/provider/runs.d.ts +14 -0
  593. package/dist/storage/connector-connections/provider/runs.d.ts.map +1 -0
  594. package/dist/storage/connector-connections/provider/shared.d.ts +74 -0
  595. package/dist/storage/connector-connections/provider/shared.d.ts.map +1 -0
  596. package/dist/storage/connector-connections/provider.d.ts +49 -0
  597. package/dist/storage/connector-connections/provider.d.ts.map +1 -0
  598. package/dist/storage/connector-connections/provider.js +1025 -0
  599. package/dist/storage/connector-connections/provider.js.map +14 -0
  600. package/dist/storage/connector-connections/types.d.ts +402 -0
  601. package/dist/storage/connector-connections/types.d.ts.map +1 -0
  602. package/dist/storage/executions/errors.d.ts +8 -0
  603. package/dist/storage/executions/errors.d.ts.map +1 -0
  604. package/dist/storage/executions/in-memory.d.ts +21 -0
  605. package/dist/storage/executions/in-memory.d.ts.map +1 -0
  606. package/dist/storage/executions/index.d.ts +5 -0
  607. package/dist/storage/executions/index.d.ts.map +1 -0
  608. package/dist/storage/executions/provider.d.ts +29 -0
  609. package/dist/storage/executions/provider.d.ts.map +1 -0
  610. package/dist/storage/executions/provider.js +208 -0
  611. package/dist/storage/executions/provider.js.map +10 -0
  612. package/dist/storage/executions/run-link.d.ts +24 -0
  613. package/dist/storage/executions/run-link.d.ts.map +1 -0
  614. package/dist/storage/executions/types.d.ts +62 -0
  615. package/dist/storage/executions/types.d.ts.map +1 -0
  616. package/dist/storage/executions/validation.d.ts +13 -0
  617. package/dist/storage/executions/validation.d.ts.map +1 -0
  618. package/dist/storage/in-memory/index.d.ts +25 -5
  619. package/dist/storage/in-memory/index.d.ts.map +1 -1
  620. package/dist/storage/index.d.ts +30 -17
  621. package/dist/storage/index.d.ts.map +1 -1
  622. package/dist/storage/index.js +99 -29
  623. package/dist/storage/index.js.map +1 -1
  624. package/dist/storage/ontology/commits.d.ts +1 -0
  625. package/dist/storage/ontology/commits.d.ts.map +1 -1
  626. package/dist/storage/ontology/in-memory/index.d.ts +1 -0
  627. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  628. package/dist/storage/ontology/in-memory/materializations-state.d.ts +3 -2
  629. package/dist/storage/ontology/in-memory/materializations-state.d.ts.map +1 -1
  630. package/dist/storage/ontology/in-memory/materializations-work.d.ts +2 -2
  631. package/dist/storage/ontology/in-memory/materializations-work.d.ts.map +1 -1
  632. package/dist/storage/ontology/in-memory/materializations.d.ts +3 -1
  633. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  634. package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -2
  635. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
  636. package/dist/storage/ontology/index.d.ts +3 -2
  637. package/dist/storage/ontology/index.d.ts.map +1 -1
  638. package/dist/storage/ontology/materializations.d.ts +53 -5
  639. package/dist/storage/ontology/materializations.d.ts.map +1 -1
  640. package/dist/storage/ontology/outbox.d.ts +8 -2
  641. package/dist/storage/ontology/outbox.d.ts.map +1 -1
  642. package/dist/storage/ontology/provider-work.d.ts.map +1 -1
  643. package/dist/storage/ontology/provider.d.ts +5 -22
  644. package/dist/storage/ontology/provider.d.ts.map +1 -1
  645. package/dist/storage/ontology/provider.js +6 -7
  646. package/dist/storage/ontology/provider.js.map +1 -1
  647. package/dist/storage/operation-scope.d.ts.map +1 -1
  648. package/dist/storage/operation-scope.js +1 -1
  649. package/dist/storage/pipeline-runs/idempotency.d.ts +3 -0
  650. package/dist/storage/pipeline-runs/idempotency.d.ts.map +1 -0
  651. package/dist/storage/pipeline-runs/in-memory.d.ts +5 -1
  652. package/dist/storage/pipeline-runs/in-memory.d.ts.map +1 -1
  653. package/dist/storage/pipeline-runs/index.d.ts +3 -1
  654. package/dist/storage/pipeline-runs/index.d.ts.map +1 -1
  655. package/dist/storage/pipeline-runs/provider.d.ts +10 -0
  656. package/dist/storage/pipeline-runs/provider.d.ts.map +1 -0
  657. package/dist/storage/pipeline-runs/provider.js +11 -0
  658. package/dist/storage/pipeline-runs/provider.js.map +9 -0
  659. package/dist/storage/pipeline-runs/types.d.ts +30 -14
  660. package/dist/storage/pipeline-runs/types.d.ts.map +1 -1
  661. package/dist/storage/projection-runs/in-memory.d.ts +8 -3
  662. package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
  663. package/dist/storage/projection-runs/index.d.ts +2 -2
  664. package/dist/storage/projection-runs/index.d.ts.map +1 -1
  665. package/dist/storage/projection-runs/lifecycle.d.ts +14 -8
  666. package/dist/storage/projection-runs/lifecycle.d.ts.map +1 -1
  667. package/dist/storage/projection-runs/provider.d.ts +13 -0
  668. package/dist/storage/projection-runs/provider.d.ts.map +1 -0
  669. package/dist/storage/projection-runs/{lifecycle.js → provider.js} +15 -4
  670. package/dist/storage/projection-runs/provider.js.map +9 -0
  671. package/dist/storage/projection-runs/types.d.ts +28 -11
  672. package/dist/storage/projection-runs/types.d.ts.map +1 -1
  673. package/dist/storage/run-listing.d.ts +8 -9
  674. package/dist/storage/run-listing.d.ts.map +1 -1
  675. package/dist/storage/sync-runs/idempotency.d.ts +3 -0
  676. package/dist/storage/sync-runs/idempotency.d.ts.map +1 -0
  677. package/dist/storage/sync-runs/in-memory.d.ts +5 -1
  678. package/dist/storage/sync-runs/in-memory.d.ts.map +1 -1
  679. package/dist/storage/sync-runs/index.d.ts +3 -1
  680. package/dist/storage/sync-runs/index.d.ts.map +1 -1
  681. package/dist/storage/sync-runs/provider.d.ts +10 -0
  682. package/dist/storage/sync-runs/provider.d.ts.map +1 -0
  683. package/dist/storage/sync-runs/provider.js +11 -0
  684. package/dist/storage/sync-runs/provider.js.map +9 -0
  685. package/dist/storage/sync-runs/types.d.ts +28 -11
  686. package/dist/storage/sync-runs/types.d.ts.map +1 -1
  687. package/dist/storage/types.d.ts +22 -15
  688. package/dist/storage/types.d.ts.map +1 -1
  689. package/dist/storage/webhook-runs/errors.d.ts +3 -0
  690. package/dist/storage/webhook-runs/errors.d.ts.map +1 -1
  691. package/dist/storage/webhook-runs/in-memory.d.ts +13 -1
  692. package/dist/storage/webhook-runs/in-memory.d.ts.map +1 -1
  693. package/dist/storage/webhook-runs/index.d.ts +3 -2
  694. package/dist/storage/webhook-runs/index.d.ts.map +1 -1
  695. package/dist/storage/webhook-runs/provider.d.ts +10 -0
  696. package/dist/storage/webhook-runs/provider.d.ts.map +1 -0
  697. package/dist/storage/webhook-runs/provider.js +11 -0
  698. package/dist/storage/webhook-runs/provider.js.map +9 -0
  699. package/dist/storage/webhook-runs/types.d.ts +37 -11
  700. package/dist/storage/webhook-runs/types.d.ts.map +1 -1
  701. package/dist/storage/workflow-runs/in-memory.d.ts +6 -2
  702. package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
  703. package/dist/storage/workflow-runs/index.d.ts +2 -1
  704. package/dist/storage/workflow-runs/index.d.ts.map +1 -1
  705. package/dist/storage/workflow-runs/provider.d.ts +19 -0
  706. package/dist/storage/workflow-runs/provider.d.ts.map +1 -0
  707. package/dist/storage/workflow-runs/provider.js +20 -0
  708. package/dist/storage/workflow-runs/provider.js.map +9 -0
  709. package/dist/storage/workflow-runs/types.d.ts +28 -30
  710. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  711. package/dist/syncs/execution.d.ts +18 -0
  712. package/dist/syncs/execution.d.ts.map +1 -0
  713. package/dist/syncs/index.d.ts +3 -1
  714. package/dist/syncs/index.d.ts.map +1 -1
  715. package/dist/syncs/index.js +67 -0
  716. package/dist/syncs/index.js.map +9 -0
  717. package/dist/syncs/request.d.ts +6 -16
  718. package/dist/syncs/request.d.ts.map +1 -1
  719. package/dist/syncs/run-dispatch.d.ts +47 -0
  720. package/dist/syncs/run-dispatch.d.ts.map +1 -0
  721. package/dist/syncs/sources.d.ts +8 -0
  722. package/dist/syncs/sources.d.ts.map +1 -0
  723. package/dist/syncs/types.d.ts +16 -9
  724. package/dist/syncs/types.d.ts.map +1 -1
  725. package/dist/testing/action-execution.d.ts +12 -0
  726. package/dist/testing/action-execution.d.ts.map +1 -0
  727. package/dist/testing/agent-execution.d.ts +14 -0
  728. package/dist/testing/agent-execution.d.ts.map +1 -0
  729. package/dist/testing/agent-storage-contract.d.ts +12 -4
  730. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  731. package/dist/testing/ai-cost-storage-contract.d.ts +12 -0
  732. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -0
  733. package/dist/testing/ai-usage-storage-contract.d.ts +13 -0
  734. package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -0
  735. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  736. package/dist/testing/broker-contract.d.ts.map +1 -1
  737. package/dist/testing/connector-connection-storage-contract.d.ts +16 -0
  738. package/dist/testing/connector-connection-storage-contract.d.ts.map +1 -0
  739. package/dist/testing/execution-storage-contract.d.ts +15 -0
  740. package/dist/testing/execution-storage-contract.d.ts.map +1 -0
  741. package/dist/testing/execution.d.ts +23 -0
  742. package/dist/testing/execution.d.ts.map +1 -0
  743. package/dist/testing/index.d.ts +13 -0
  744. package/dist/testing/index.d.ts.map +1 -1
  745. package/dist/testing/index.js +4754 -1592
  746. package/dist/testing/index.js.map +26 -13
  747. package/dist/testing/materializer-fixture.d.ts +2 -2
  748. package/dist/testing/materializer-fixture.d.ts.map +1 -1
  749. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  750. package/dist/testing/ontology-contract-fixture.d.ts +1 -0
  751. package/dist/testing/ontology-contract-fixture.d.ts.map +1 -1
  752. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  753. package/dist/testing/pipeline-execution.d.ts +16 -0
  754. package/dist/testing/pipeline-execution.d.ts.map +1 -0
  755. package/dist/testing/projection-execution.d.ts +20 -0
  756. package/dist/testing/projection-execution.d.ts.map +1 -0
  757. package/dist/testing/projection-run-storage-contract.d.ts +9 -4
  758. package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
  759. package/dist/testing/queues-contract.d.ts.map +1 -1
  760. package/dist/testing/sync-execution.d.ts +16 -0
  761. package/dist/testing/sync-execution.d.ts.map +1 -0
  762. package/dist/testing/webhook-execution.d.ts +12 -0
  763. package/dist/testing/webhook-execution.d.ts.map +1 -0
  764. package/dist/testing/webhook-run-storage-contract.d.ts +11 -0
  765. package/dist/testing/webhook-run-storage-contract.d.ts.map +1 -0
  766. package/dist/testing/workflow-execution.d.ts +23 -0
  767. package/dist/testing/workflow-execution.d.ts.map +1 -0
  768. package/dist/webhooks/index.d.ts +2 -1
  769. package/dist/webhooks/index.d.ts.map +1 -1
  770. package/dist/webhooks/internal.d.ts +2 -0
  771. package/dist/webhooks/internal.d.ts.map +1 -0
  772. package/dist/webhooks/internal.js +152 -0
  773. package/dist/webhooks/internal.js.map +10 -0
  774. package/dist/webhooks/registry.d.ts +18 -4
  775. package/dist/webhooks/registry.d.ts.map +1 -1
  776. package/dist/webhooks/run-admission.d.ts +25 -0
  777. package/dist/webhooks/run-admission.d.ts.map +1 -0
  778. package/dist/webhooks/types.d.ts +8 -5
  779. package/dist/webhooks/types.d.ts.map +1 -1
  780. package/dist/workers/index.js +29 -20
  781. package/dist/workers/index.js.map +4 -4
  782. package/dist/workers/queue-delivery.d.ts +7 -7
  783. package/dist/workers/queue-delivery.d.ts.map +1 -1
  784. package/dist/workers/queue-worker.d.ts +32 -11
  785. package/dist/workers/queue-worker.d.ts.map +1 -1
  786. package/dist/workflows/execution.d.ts +52 -0
  787. package/dist/workflows/execution.d.ts.map +1 -0
  788. package/dist/workflows/failure.d.ts +28 -0
  789. package/dist/workflows/failure.d.ts.map +1 -0
  790. package/dist/workflows/index.d.ts +4 -2
  791. package/dist/workflows/index.d.ts.map +1 -1
  792. package/dist/workflows/index.js +67 -36
  793. package/dist/workflows/index.js.map +1 -1
  794. package/dist/workflows/request.d.ts +2 -1
  795. package/dist/workflows/request.d.ts.map +1 -1
  796. package/dist/workflows/run-dispatch.d.ts +59 -0
  797. package/dist/workflows/run-dispatch.d.ts.map +1 -0
  798. package/dist/workflows/types.d.ts +38 -8
  799. package/dist/workflows/types.d.ts.map +1 -1
  800. package/package.json +113 -5
  801. package/src/actions/commit-edits.ts +0 -3
  802. package/src/actions/execution.ts +83 -0
  803. package/src/actions/index.ts +1 -1
  804. package/src/actions/registry.ts +22 -10
  805. package/src/actions/request.ts +55 -177
  806. package/src/actions/run-dispatch.ts +276 -0
  807. package/src/actions/types/context.ts +2 -4
  808. package/src/actions/validation.ts +2 -2
  809. package/src/agents/adapters.ts +71 -26
  810. package/src/agents/authority.ts +189 -0
  811. package/src/agents/dispatch.ts +1 -6
  812. package/src/agents/errors.ts +4 -2
  813. package/src/agents/execution.ts +266 -0
  814. package/src/agents/index.ts +33 -4
  815. package/src/agents/prompt.ts +47 -7
  816. package/src/agents/request.ts +158 -13
  817. package/src/agents/streams.ts +150 -3
  818. package/src/agents/thread-context-projection.ts +93 -0
  819. package/src/agents/tool-definition.ts +17 -2
  820. package/src/agents/tool-result.ts +61 -0
  821. package/src/agents/types.ts +49 -5
  822. package/src/agents/validation.ts +3 -3
  823. package/src/auth/attribution.ts +48 -0
  824. package/src/auth/index.ts +1 -0
  825. package/src/auth/runtime.ts +5 -5
  826. package/src/authorization/decision.ts +75 -14
  827. package/src/authorization/grant-kinds.ts +9 -0
  828. package/src/authorization/index.ts +2 -0
  829. package/src/blob-storage/execution.ts +78 -0
  830. package/src/bootstrap/discovery.ts +88 -268
  831. package/src/bootstrap/index.ts +2 -13
  832. package/src/broker/in-memory.ts +8 -1
  833. package/src/broker/types.ts +5 -0
  834. package/src/connectors/builders.ts +37 -2
  835. package/src/connectors/connections/authorizations.ts +646 -0
  836. package/src/connectors/connections/capability.ts +59 -0
  837. package/src/connectors/connections/command-context.ts +98 -0
  838. package/src/connectors/connections/contracts.ts +208 -0
  839. package/src/connectors/connections/credential-codec.ts +48 -0
  840. package/src/connectors/connections/credential-mutations.ts +574 -0
  841. package/src/connectors/connections/execution.ts +138 -0
  842. package/src/connectors/connections/internal.ts +17 -0
  843. package/src/connectors/connections/provider-operation.ts +41 -0
  844. package/src/connectors/connections/request.ts +447 -0
  845. package/src/connectors/connections/runs.ts +702 -0
  846. package/src/connectors/connections/service.ts +644 -0
  847. package/src/connectors/connections/storage-boundary.ts +13 -0
  848. package/src/connectors/connections/tokens.ts +292 -0
  849. package/src/connectors/connections/validation.ts +316 -0
  850. package/src/connectors/connections/views.ts +37 -0
  851. package/src/connectors/credentials.ts +149 -0
  852. package/src/connectors/errors.ts +111 -3
  853. package/src/connectors/execution.ts +157 -0
  854. package/src/connectors/index.ts +26 -2
  855. package/src/connectors/service.ts +142 -0
  856. package/src/connectors/types.ts +156 -7
  857. package/src/datasets/execution.ts +24 -0
  858. package/src/error-reporting/capability.ts +33 -106
  859. package/src/error-reporting/internal.ts +3 -1
  860. package/src/error-reporting/reporter.ts +19 -3
  861. package/src/error-reporting/reports.ts +172 -0
  862. package/src/error-reporting/types.ts +97 -43
  863. package/src/errors/catalog.ts +149 -0
  864. package/src/errors/internal.ts +322 -0
  865. package/src/errors/types.ts +21 -0
  866. package/src/events/definitions.ts +0 -4
  867. package/src/events/execution.ts +45 -0
  868. package/src/events/index.ts +15 -14
  869. package/src/events/outbox-dispatcher.ts +53 -18
  870. package/src/events/{runtime.ts → service.ts} +19 -23
  871. package/src/events/types/pipelines.ts +4 -1
  872. package/src/events/types/syncs.ts +3 -0
  873. package/src/events/types/workflows.ts +4 -2
  874. package/src/execution/agent.ts +130 -0
  875. package/src/execution/authorization.ts +409 -0
  876. package/src/execution/dispatch.ts +7 -0
  877. package/src/execution/durable.ts +193 -0
  878. package/src/execution/index.ts +12 -0
  879. package/src/execution/primitive.ts +50 -0
  880. package/src/execution/request.ts +109 -0
  881. package/src/execution/scopes.ts +198 -0
  882. package/src/execution/types.ts +113 -0
  883. package/src/http/api-routes.ts +3 -3
  884. package/src/index.ts +122 -9
  885. package/src/json.ts +0 -4
  886. package/src/logging/execution.ts +28 -0
  887. package/src/logging/index.ts +4 -4
  888. package/src/logging/{runtime.ts → service.ts} +7 -7
  889. package/src/materialization/events.ts +1 -0
  890. package/src/materialization/index.ts +2 -0
  891. package/src/materialization/model.ts +34 -18
  892. package/src/materializer/README.md +9 -13
  893. package/src/materializer/edits/apply.ts +55 -2
  894. package/src/materializer/edits/commit.ts +85 -28
  895. package/src/materializer/edits/load-state.ts +79 -16
  896. package/src/materializer/edits/operations.ts +80 -37
  897. package/src/materializer/edits/plan.ts +95 -22
  898. package/src/materializer/edits/working-state.ts +93 -55
  899. package/src/materializer/effective/build-events.ts +2 -0
  900. package/src/materializer/effective/diff.ts +22 -0
  901. package/src/materializer/effective/load-state.ts +0 -31
  902. package/src/materializer/effective/resolve.ts +140 -9
  903. package/src/materializer/execution/commit-lifecycle.ts +9 -1
  904. package/src/materializer/execution/plan-stream.ts +33 -9
  905. package/src/materializer/execution/scope.ts +95 -0
  906. package/src/materializer/execution/work-executor.ts +6 -2
  907. package/src/materializer/execution/work-records.ts +42 -7
  908. package/src/materializer/index.ts +9 -1
  909. package/src/materializer/materializer.ts +67 -5
  910. package/src/materializer/projections/entry-validator.ts +23 -1
  911. package/src/materializer/projections/finish-run.ts +29 -11
  912. package/src/materializer/projections/replace.ts +55 -22
  913. package/src/materializer/projections/replacement-plan.ts +39 -7
  914. package/src/materializer/shared/batching.ts +4 -1
  915. package/src/materializer/shared/normalize.ts +16 -19
  916. package/src/materializer/telemetry/append.ts +57 -26
  917. package/src/materializer/telemetry/plan.ts +15 -6
  918. package/src/objects/action/request.ts +5 -5
  919. package/src/objects/context/index.ts +1 -0
  920. package/src/objects/context/types.ts +6 -0
  921. package/src/objects/execution.ts +346 -0
  922. package/src/objects/materializer-adapter.ts +1 -23
  923. package/src/objects/query/executor.ts +15 -29
  924. package/src/objects/query/index.ts +1 -2
  925. package/src/objects/query/planner.ts +0 -6
  926. package/src/objects/sdk/object-handle.ts +2 -2
  927. package/src/objects/sdk/object-set.ts +17 -7
  928. package/src/objects/sdk/runtime-query-executor.ts +9 -2
  929. package/src/objects/sdk/telemetry-channel.ts +5 -1
  930. package/src/objects/service/action-service.ts +5 -2
  931. package/src/objects/service/list-service.ts +1 -1
  932. package/src/objects/telemetry/history.ts +8 -3
  933. package/src/objects/telemetry/write-batch.ts +0 -2
  934. package/src/ontology/index.ts +6 -1
  935. package/src/ontology/registry.ts +16 -2
  936. package/src/pipelines/execution.ts +105 -0
  937. package/src/pipelines/index.ts +7 -0
  938. package/src/pipelines/request.ts +32 -26
  939. package/src/pipelines/run-dispatch.ts +308 -0
  940. package/src/projections/builders.ts +100 -44
  941. package/src/projections/capability.ts +37 -0
  942. package/src/projections/execution.ts +85 -0
  943. package/src/projections/index.ts +8 -1
  944. package/src/projections/internal.ts +21 -61
  945. package/src/projections/ownership.ts +2 -2
  946. package/src/projections/registry.ts +33 -11
  947. package/src/projections/revision.ts +11 -5
  948. package/src/projections/run-dispatch.ts +497 -0
  949. package/src/projections/run-id.ts +20 -0
  950. package/src/projections/timestamp.ts +66 -0
  951. package/src/projections/types.ts +19 -0
  952. package/src/projections/validation.ts +27 -3
  953. package/src/queues/in-memory.ts +37 -11
  954. package/src/queues/index.ts +10 -2
  955. package/src/queues/types.ts +78 -45
  956. package/src/rules/execution.ts +49 -0
  957. package/src/rules/index.ts +0 -1
  958. package/src/rules/validation.ts +2 -6
  959. package/src/runtime/ai-cost.ts +15 -0
  960. package/src/runtime/ai-usage.ts +17 -0
  961. package/src/runtime/create.ts +28 -68
  962. package/src/runtime/definitions.ts +44 -0
  963. package/src/runtime/host.ts +377 -0
  964. package/src/runtime/index.ts +5 -13
  965. package/src/runtime/internal.ts +12 -0
  966. package/src/runtime/ontology-mutations.ts +5 -3
  967. package/src/runtime/resolve-definitions.ts +238 -0
  968. package/src/runtime/sixb.ts +95 -822
  969. package/src/runtime/types.ts +17 -290
  970. package/src/scheduler/index.ts +1 -1
  971. package/src/scheduler/runtime.ts +37 -6
  972. package/src/schedules/execution.ts +14 -0
  973. package/src/schedules/types.ts +0 -8
  974. package/src/security/every.ts +4 -0
  975. package/src/security/grants.ts +13 -1
  976. package/src/security/index.ts +3 -1
  977. package/src/security/registry.ts +107 -0
  978. package/src/security/types.ts +8 -12
  979. package/src/security/validation.ts +7 -0
  980. package/src/storage/action-runs/failure.ts +64 -0
  981. package/src/storage/action-runs/idempotency.ts +3 -1
  982. package/src/storage/action-runs/in-memory.ts +39 -9
  983. package/src/storage/action-runs/index.ts +3 -0
  984. package/src/storage/action-runs/provider.ts +25 -0
  985. package/src/storage/action-runs/types.ts +61 -27
  986. package/src/storage/agents/errors.ts +1 -0
  987. package/src/storage/agents/in-memory.ts +219 -14
  988. package/src/storage/agents/index.ts +7 -1
  989. package/src/storage/agents/provider.ts +252 -0
  990. package/src/storage/agents/types.ts +96 -22
  991. package/src/storage/ai-cost/analytics.ts +602 -0
  992. package/src/storage/ai-cost/codec.ts +136 -0
  993. package/src/storage/ai-cost/errors.ts +12 -0
  994. package/src/storage/ai-cost/in-memory.ts +164 -0
  995. package/src/storage/ai-cost/index.ts +35 -0
  996. package/src/storage/ai-cost/provider.ts +20 -0
  997. package/src/storage/ai-cost/types.ts +193 -0
  998. package/src/storage/ai-cost/validation.ts +337 -0
  999. package/src/storage/ai-usage/errors.ts +13 -0
  1000. package/src/storage/ai-usage/in-memory.ts +162 -0
  1001. package/src/storage/ai-usage/index.ts +21 -0
  1002. package/src/storage/ai-usage/record.ts +74 -0
  1003. package/src/storage/ai-usage/types.ts +102 -0
  1004. package/src/storage/ai-usage/usage.ts +104 -0
  1005. package/src/storage/auth/types.ts +1 -0
  1006. package/src/storage/connector-connections/errors.ts +24 -0
  1007. package/src/storage/connector-connections/in-memory.ts +1377 -0
  1008. package/src/storage/connector-connections/index.ts +66 -0
  1009. package/src/storage/connector-connections/provider/authorizations.ts +446 -0
  1010. package/src/storage/connector-connections/provider/connections.ts +291 -0
  1011. package/src/storage/connector-connections/provider/runs.ts +369 -0
  1012. package/src/storage/connector-connections/provider/shared.ts +342 -0
  1013. package/src/storage/connector-connections/provider.ts +219 -0
  1014. package/src/storage/connector-connections/types.ts +546 -0
  1015. package/src/storage/executions/errors.ts +21 -0
  1016. package/src/storage/executions/in-memory.ts +75 -0
  1017. package/src/storage/executions/index.ts +16 -0
  1018. package/src/storage/executions/provider.ts +292 -0
  1019. package/src/storage/executions/run-link.ts +70 -0
  1020. package/src/storage/executions/types.ts +49 -0
  1021. package/src/storage/executions/validation.ts +370 -0
  1022. package/src/storage/in-memory/index.ts +100 -16
  1023. package/src/storage/index.ts +191 -15
  1024. package/src/storage/ontology/commits.ts +1 -0
  1025. package/src/storage/ontology/in-memory/index.ts +2 -0
  1026. package/src/storage/ontology/in-memory/materializations-finalization.ts +2 -1
  1027. package/src/storage/ontology/in-memory/materializations-state.ts +10 -0
  1028. package/src/storage/ontology/in-memory/materializations-work.ts +2 -1
  1029. package/src/storage/ontology/in-memory/materializations.ts +132 -9
  1030. package/src/storage/ontology/in-memory/outbox.ts +1 -1
  1031. package/src/storage/ontology/in-memory/shared-state.ts +12 -1
  1032. package/src/storage/ontology/index.ts +6 -0
  1033. package/src/storage/ontology/materializations.ts +53 -4
  1034. package/src/storage/ontology/outbox.ts +13 -2
  1035. package/src/storage/ontology/provider-header-validation.ts +1 -0
  1036. package/src/storage/ontology/provider-work.ts +33 -14
  1037. package/src/storage/ontology/provider.ts +72 -52
  1038. package/src/storage/operation-scope.ts +2 -0
  1039. package/src/storage/pipeline-runs/idempotency.ts +14 -0
  1040. package/src/storage/pipeline-runs/in-memory.ts +88 -8
  1041. package/src/storage/pipeline-runs/index.ts +5 -1
  1042. package/src/storage/pipeline-runs/provider.ts +25 -0
  1043. package/src/storage/pipeline-runs/types.ts +37 -14
  1044. package/src/storage/projection-runs/in-memory.ts +93 -24
  1045. package/src/storage/projection-runs/index.ts +4 -0
  1046. package/src/storage/projection-runs/lifecycle.ts +165 -36
  1047. package/src/storage/projection-runs/provider.ts +34 -0
  1048. package/src/storage/projection-runs/types.ts +34 -11
  1049. package/src/storage/run-listing.ts +22 -13
  1050. package/src/storage/sync-runs/idempotency.ts +18 -0
  1051. package/src/storage/sync-runs/in-memory.ts +90 -7
  1052. package/src/storage/sync-runs/index.ts +4 -1
  1053. package/src/storage/sync-runs/provider.ts +25 -0
  1054. package/src/storage/sync-runs/types.ts +35 -11
  1055. package/src/storage/types.ts +46 -17
  1056. package/src/storage/webhook-runs/errors.ts +14 -0
  1057. package/src/storage/webhook-runs/in-memory.ts +84 -9
  1058. package/src/storage/webhook-runs/index.ts +5 -1
  1059. package/src/storage/webhook-runs/provider.ts +30 -0
  1060. package/src/storage/webhook-runs/types.ts +52 -11
  1061. package/src/storage/workflow-runs/in-memory.ts +89 -55
  1062. package/src/storage/workflow-runs/index.ts +2 -0
  1063. package/src/storage/workflow-runs/provider.ts +70 -0
  1064. package/src/storage/workflow-runs/types.ts +36 -25
  1065. package/src/syncs/builders.ts +2 -2
  1066. package/src/syncs/execution.ts +78 -0
  1067. package/src/syncs/index.ts +13 -0
  1068. package/src/syncs/request.ts +32 -43
  1069. package/src/syncs/run-dispatch.ts +312 -0
  1070. package/src/syncs/sources.ts +20 -0
  1071. package/src/syncs/types.ts +32 -8
  1072. package/src/testing/action-execution.ts +61 -0
  1073. package/src/testing/agent-execution.ts +81 -0
  1074. package/src/testing/agent-storage-contract.ts +498 -64
  1075. package/src/testing/ai-cost-storage-contract.ts +320 -0
  1076. package/src/testing/ai-usage-storage-contract.ts +528 -0
  1077. package/src/testing/auth-storage-contract.ts +17 -1
  1078. package/src/testing/broker-contract.ts +16 -1
  1079. package/src/testing/connector-connection-storage-contract.ts +1052 -0
  1080. package/src/testing/execution-storage-contract.ts +435 -0
  1081. package/src/testing/execution.ts +48 -0
  1082. package/src/testing/index.ts +57 -0
  1083. package/src/testing/materializer-fixture.ts +11 -3
  1084. package/src/testing/materializer-storage-contract.ts +333 -13
  1085. package/src/testing/ontology-contract-fixture.ts +35 -2
  1086. package/src/testing/ontology-storage-contract.ts +75 -14
  1087. package/src/testing/pipeline-execution.ts +64 -0
  1088. package/src/testing/projection-execution.ts +98 -0
  1089. package/src/testing/projection-run-storage-contract.ts +215 -29
  1090. package/src/testing/queues-contract.ts +40 -51
  1091. package/src/testing/sync-execution.ts +61 -0
  1092. package/src/testing/webhook-execution.ts +47 -0
  1093. package/src/testing/webhook-run-storage-contract.ts +240 -0
  1094. package/src/testing/workflow-execution.ts +77 -0
  1095. package/src/webhooks/index.ts +2 -1
  1096. package/src/webhooks/internal.ts +5 -0
  1097. package/src/webhooks/registry.ts +60 -36
  1098. package/src/webhooks/run-admission.ts +172 -0
  1099. package/src/webhooks/types.ts +8 -5
  1100. package/src/workers/queue-delivery.ts +25 -22
  1101. package/src/workers/queue-worker.ts +76 -33
  1102. package/src/workflows/execution.ts +313 -0
  1103. package/src/workflows/failure.ts +63 -0
  1104. package/src/workflows/index.ts +10 -1
  1105. package/src/workflows/request.ts +39 -118
  1106. package/src/workflows/run-dispatch.ts +359 -0
  1107. package/src/workflows/types.ts +39 -8
  1108. package/dist/actions/runtime.d.ts +0 -11
  1109. package/dist/actions/runtime.d.ts.map +0 -1
  1110. package/dist/agents/runtime.d.ts +0 -41
  1111. package/dist/agents/runtime.d.ts.map +0 -1
  1112. package/dist/chunk-4hwxq5e6.js +0 -49
  1113. package/dist/chunk-4hwxq5e6.js.map +0 -10
  1114. package/dist/chunk-4tvj3ate.js.map +0 -11
  1115. package/dist/chunk-50kv63vj.js.map +0 -12
  1116. package/dist/chunk-86459jn0.js +0 -1091
  1117. package/dist/chunk-86459jn0.js.map +0 -22
  1118. package/dist/chunk-867jxh7c.js.map +0 -19
  1119. package/dist/chunk-9k3hgv8h.js +0 -352
  1120. package/dist/chunk-9k3hgv8h.js.map +0 -13
  1121. package/dist/chunk-avppcgt6.js.map +0 -14
  1122. package/dist/chunk-b1bqvhpe.js.map +0 -13
  1123. package/dist/chunk-b5dp7gaf.js +0 -1092
  1124. package/dist/chunk-b5dp7gaf.js.map +0 -26
  1125. package/dist/chunk-bh8bwma3.js +0 -37
  1126. package/dist/chunk-bh8bwma3.js.map +0 -10
  1127. package/dist/chunk-btcsywk4.js +0 -985
  1128. package/dist/chunk-btcsywk4.js.map +0 -15
  1129. package/dist/chunk-exrfbt2d.js +0 -354
  1130. package/dist/chunk-exrfbt2d.js.map +0 -17
  1131. package/dist/chunk-hb9xcx9c.js.map +0 -14
  1132. package/dist/chunk-k25jm1x5.js +0 -102
  1133. package/dist/chunk-k25jm1x5.js.map +0 -10
  1134. package/dist/chunk-k6j72mtt.js +0 -9
  1135. package/dist/chunk-k6j72mtt.js.map +0 -10
  1136. package/dist/chunk-m9w0artv.js +0 -554
  1137. package/dist/chunk-m9w0artv.js.map +0 -13
  1138. package/dist/chunk-nbywkytr.js.map +0 -16
  1139. package/dist/chunk-p7vj8xgb.js.map +0 -34
  1140. package/dist/chunk-raq0x6bd.js.map +0 -48
  1141. package/dist/chunk-rgzed50y.js +0 -1445
  1142. package/dist/chunk-rgzed50y.js.map +0 -22
  1143. package/dist/chunk-rjqm6ksg.js.map +0 -44
  1144. package/dist/chunk-t72dvahb.js.map +0 -12
  1145. package/dist/chunk-v5c085yp.js.map +0 -10
  1146. package/dist/chunk-xt6qx9sh.js.map +0 -36
  1147. package/dist/chunk-xz5g49bp.js.map +0 -11
  1148. package/dist/chunk-ya6brh8a.js.map +0 -11
  1149. package/dist/chunk-yn947ck3.js.map +0 -14
  1150. package/dist/connectors/runtime.d.ts +0 -13
  1151. package/dist/connectors/runtime.d.ts.map +0 -1
  1152. package/dist/events/runtime.d.ts.map +0 -1
  1153. package/dist/objects/contexts.d.ts +0 -45
  1154. package/dist/objects/contexts.d.ts.map +0 -1
  1155. package/dist/objects/helpers.d.ts +0 -7
  1156. package/dist/objects/helpers.d.ts.map +0 -1
  1157. package/dist/runtime/scoped.d.ts +0 -158
  1158. package/dist/runtime/scoped.d.ts.map +0 -1
  1159. package/dist/security/runtime.d.ts +0 -16
  1160. package/dist/security/runtime.d.ts.map +0 -1
  1161. package/dist/storage/webhook-deliveries/in-memory.d.ts +0 -18
  1162. package/dist/storage/webhook-deliveries/in-memory.d.ts.map +0 -1
  1163. package/dist/storage/webhook-deliveries/index.d.ts +0 -3
  1164. package/dist/storage/webhook-deliveries/index.d.ts.map +0 -1
  1165. package/dist/storage/webhook-deliveries/types.d.ts +0 -43
  1166. package/dist/storage/webhook-deliveries/types.d.ts.map +0 -1
  1167. package/dist/workflows/runtime.d.ts +0 -33
  1168. package/dist/workflows/runtime.d.ts.map +0 -1
  1169. package/src/actions/runtime.ts +0 -31
  1170. package/src/agents/runtime.ts +0 -124
  1171. package/src/connectors/runtime.ts +0 -100
  1172. package/src/objects/contexts.ts +0 -64
  1173. package/src/objects/helpers.ts +0 -18
  1174. package/src/runtime/scoped.ts +0 -436
  1175. package/src/security/runtime.ts +0 -101
  1176. package/src/storage/webhook-deliveries/in-memory.ts +0 -108
  1177. package/src/storage/webhook-deliveries/index.ts +0 -9
  1178. package/src/storage/webhook-deliveries/types.ts +0 -41
  1179. package/src/workflows/runtime.ts +0 -68
  1180. /package/dist/{chunk-md9jbrm9.js.map → chunk-4gz41why.js.map} +0 -0
  1181. /package/dist/{chunk-6rzdtvn5.js.map → chunk-8b55ygje.js.map} +0 -0
  1182. /package/dist/{chunk-r82k4z7z.js.map → chunk-a31h57d5.js.map} +0 -0
  1183. /package/dist/{chunk-qzyemcj7.js.map → chunk-ckxfnx7f.js.map} +0 -0
  1184. /package/dist/{chunk-53s4asfm.js.map → chunk-rnshztfq.js.map} +0 -0
  1185. /package/dist/{chunk-8kv2sez0.js.map → chunk-vybf6pkp.js.map} +0 -0
  1186. /package/dist/{chunk-6zrpewy4.js.map → chunk-z3zp0bj1.js.map} +0 -0
  1187. /package/dist/{chunk-hz8m927w.js.map → chunk-zqysyfjt.js.map} +0 -0
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/logging/console-logger.ts", "../src/logging/record.ts", "../src/logging/run-logger.ts", "../src/logging/stream.ts", "../src/logging/runtime.ts"],
3
+ "sources": ["../src/logging/console-logger.ts", "../src/logging/record.ts", "../src/logging/run-logger.ts", "../src/logging/stream.ts", "../src/logging/service.ts"],
4
4
  "sourcesContent": [
5
5
  "import {\n isLevelEnabled,\n type LogEntry,\n type Logger,\n type LoggerProvider,\n type LogLevel,\n} from \"./types\"\n\n/** Options for {@link ConsoleLogger}. */\nexport interface ConsoleLoggerOptions {\n /** Entries below this level are not printed. Defaults to `\"info\"`. */\n readonly level?: LogLevel\n}\n\nconst CONSOLE_METHOD: Record<LogLevel, \"debug\" | \"info\" | \"warn\" | \"error\"> = {\n debug: \"debug\",\n info: \"info\",\n warn: \"warn\",\n error: \"error\",\n}\n\n/** Opt-in console output provider. Broker capture is configured independently. */\nexport class ConsoleLogger implements LoggerProvider {\n readonly level: LogLevel\n\n constructor(options: ConsoleLoggerOptions = {}) {\n this.level = options.level ?? \"info\"\n }\n\n write(entry: LogEntry): void {\n if (!isLevelEnabled(entry.level, this.level)) {\n return\n }\n\n let suffix = \"\"\n try {\n suffix = ` ${JSON.stringify({\n ...(entry.fields ?? {}),\n sixb: entry.context,\n })}`\n } catch {\n suffix = ` ${JSON.stringify({ sixb: entry.context, sixb_unloggableFields: true })}`\n }\n\n console[CONSOLE_METHOD[entry.level]](`${entry.level.toUpperCase()} ${entry.message}${suffix}`)\n }\n}\n\n/** Output provider used by minimal worker contexts with no configured runtime. */\nexport const noopLoggerProvider: LoggerProvider = {\n write() {},\n}\n\n/** Handler façade used by tests and contexts where logging is intentionally absent. */\nexport const noopLogger: Logger = {\n debug() {},\n info() {},\n warn() {},\n error() {},\n child() {\n return noopLogger\n },\n}\n",
6
6
  "import { getInvalidJsonValueReason, type JsonValue } from \"../json\"\nimport type { LogEntry, LogFields, LogRecord } from \"./types\"\n\nconst textEncoder = new TextEncoder()\n\n/** Build the provider-independent, redacted and byte-bounded broker copy. */\nexport function sanitizeRecord(\n entry: LogEntry,\n options: {\n readonly maxBytes: number\n readonly redactPaths: readonly string[]\n readonly redactCensor: JsonValue\n }\n): LogRecord {\n const fields = sanitizeFields(entry.fields, options.redactPaths, options.redactCensor)\n let record: LogRecord = {\n level: entry.level,\n message: entry.message,\n ...(fields && Object.keys(fields).length > 0 ? { fields } : {}),\n at: entry.at,\n context: entry.context,\n }\n const originalBytes = serializedBytes(record)\n if (originalBytes <= options.maxBytes) {\n return record\n }\n\n record = {\n ...record,\n fields: { sixb_truncated: true, originalBytes },\n }\n if (serializedBytes(record) <= options.maxBytes) {\n return record\n }\n\n const characters = Array.from(record.message)\n let low = 0\n let high = characters.length\n while (low < high) {\n const middle = Math.ceil((low + high) / 2)\n const candidate = { ...record, message: characters.slice(0, middle).join(\"\") }\n if (serializedBytes(candidate) <= options.maxBytes) {\n low = middle\n } else {\n high = middle - 1\n }\n }\n return { ...record, message: characters.slice(0, low).join(\"\") }\n}\n\nexport function serializedBytes(value: unknown): number {\n return textEncoder.encode(JSON.stringify(value)).byteLength\n}\n\nfunction sanitizeFields(\n fields: LogFields | undefined,\n redactPaths: readonly string[],\n censor: JsonValue\n): LogFields | undefined {\n if (!fields) {\n return undefined\n }\n const reason = getInvalidJsonValueReason(fields, \"log fields\")\n if (reason) {\n return { sixb_unloggableFields: reason }\n }\n\n const copy = JSON.parse(JSON.stringify(fields)) as LogFields\n for (const configuredPath of redactPaths) {\n const path = configuredPath.startsWith(\"fields.\")\n ? configuredPath.slice(\"fields.\".length)\n : configuredPath\n redactPath(copy, path.split(\".\").filter(Boolean), censor)\n }\n return copy\n}\n\nfunction redactPath(target: JsonValue, path: readonly string[], censor: JsonValue): void {\n if (path.length === 0 || typeof target !== \"object\" || target === null) {\n return\n }\n const [head, ...tail] = path\n if (!head) {\n return\n }\n\n if (head === \"*\") {\n const values = Array.isArray(target) ? target : Object.values(target)\n if (tail.length === 0) {\n if (Array.isArray(target)) {\n target.fill(censor)\n } else {\n for (const key of Object.keys(target)) {\n target[key] = censor\n }\n }\n return\n }\n for (const value of values) {\n redactPath(value, tail, censor)\n }\n return\n }\n\n if (Array.isArray(target)) {\n const index = Number(head)\n if (!Number.isSafeInteger(index) || index < 0 || index >= target.length) {\n return\n }\n if (tail.length === 0) {\n target[index] = censor\n } else {\n redactPath(target[index]!, tail, censor)\n }\n return\n }\n\n if (!(head in target)) {\n return\n }\n if (tail.length === 0) {\n target[head] = censor\n } else {\n redactPath(target[head]!, tail, censor)\n }\n}\n",
7
7
  "import type { JsonValue } from \"../json\"\nimport { sanitizeRecord, serializedBytes } from \"./record\"\nimport type {\n LogContext,\n LogEntry,\n LogFields,\n Logger,\n LoggerProvider,\n LogLevel,\n LogRecord,\n LogRunRef,\n} from \"./types\"\nimport { isLevelEnabled, normalizeLogError } from \"./types\"\n\n/** Publishes one ordered batch to the backing broker stream. */\nexport type LogPublisher = (records: readonly LogRecord[]) => Promise<void>\n\n/** @internal Fixed broker-capture safeguards for one execution. */\nexport interface RunLogCaptureOptions {\n readonly publish: LogPublisher\n readonly level: LogLevel\n readonly maxLinesPerExecution: number\n readonly maxRecordBytes: number\n readonly maxBufferedBytes: number\n readonly batchMaxRecords: number\n readonly batchMaxBytes: number\n readonly batchMaxDelayMs: number\n readonly redactPaths: readonly string[]\n readonly redactCensor: JsonValue\n}\n\n/** @internal Dependencies used to create one execution-scoped log session. */\nexport interface RunLogSessionOptions {\n readonly run: LogRunRef\n readonly provider: LoggerProvider\n readonly capture?: RunLogCaptureOptions\n}\n\ntype EmitLog = (\n level: LogLevel,\n message: string,\n fields: LogFields | undefined,\n context: Omit<LogContext, \"run\">\n) => void\n\n/**\n * Internal state and lifecycle for every handler logger created during one worker execution.\n *\n * Handler loggers are immutable views over this session. They all share its capture quota,\n * ordered broker queue, and final flush boundary.\n */\nexport class RunLogSession {\n readonly logger: Logger\n\n private captured = 0\n private droppedByLineLimit = 0\n private droppedByBackpressure = 0\n private pending: Array<{ readonly record: LogRecord; readonly bytes: number }> = []\n private pendingBytes = 0\n private bufferedBytes = 0\n private pumpPromise: Promise<void> | undefined\n private flushPromise: Promise<void> | undefined\n private flushTimer: ReturnType<typeof setTimeout> | undefined\n private captureClosed = false\n private providerFailureReported = false\n private publisherFailureReported = false\n\n private readonly emitFromContext: EmitLog = (level, message, fields, context) => {\n this.emit(level, message, fields, context)\n }\n\n constructor(private readonly options: RunLogSessionOptions) {\n this.logger = new ContextLogger(this.emitFromContext, {}, {})\n }\n\n /** Derive a handler logger with immutable framework-owned metadata. */\n withContext(context: Omit<LogContext, \"run\">): Logger {\n return new ContextLogger(this.emitFromContext, {}, { ...context })\n }\n\n /** Flush this execution's broker capture. It never flushes or closes the process provider. */\n flush(): Promise<void> {\n this.flushPromise ??= this.flushCapture()\n return this.flushPromise\n }\n\n private emit(\n level: LogLevel,\n message: string,\n fields: LogFields | undefined,\n context: Omit<LogContext, \"run\">\n ): void {\n const entry: LogEntry = {\n level,\n message,\n ...(fields && safeKeys(fields).length > 0 ? { fields } : {}),\n at: new Date().toISOString(),\n context: { ...context, run: this.options.run },\n }\n\n this.writeToProvider(entry)\n\n const capture = this.options.capture\n if (this.captureClosed || !capture || !isLevelEnabled(level, capture.level)) {\n return\n }\n\n if (this.captured >= capture.maxLinesPerExecution) {\n this.droppedByLineLimit += 1\n return\n }\n\n const record = sanitizeRecord(entry, {\n maxBytes: capture.maxRecordBytes,\n redactPaths: capture.redactPaths,\n redactCensor: capture.redactCensor,\n })\n const bytes = serializedBytes(record)\n\n if (this.bufferedBytes + bytes > capture.maxBufferedBytes) {\n this.droppedByBackpressure += 1\n return\n }\n\n this.captured += 1\n this.pending.push({ record, bytes })\n this.pendingBytes += bytes\n this.bufferedBytes += bytes\n\n if (\n this.pending.length >= capture.batchMaxRecords ||\n this.pendingBytes >= capture.batchMaxBytes\n ) {\n this.startPump()\n } else {\n this.scheduleFlush()\n }\n }\n\n private async flushCapture(): Promise<void> {\n this.captureClosed = true\n\n // Drain ordinary records first so the truncation marker cannot exceed the hard buffer bound.\n this.startPump()\n await this.drain()\n this.enqueueTruncationMarker()\n this.startPump()\n await this.drain()\n }\n\n private async drain(): Promise<void> {\n while (this.pumpPromise || this.pending.length > 0) {\n this.startPump()\n const pump = this.pumpPromise\n if (!pump) {\n return\n }\n await pump\n }\n }\n\n private writeToProvider(entry: LogEntry): void {\n try {\n this.options.provider.write(entry)\n } catch (error) {\n if (!this.providerFailureReported) {\n this.providerFailureReported = true\n reportLoggingFailure(\"output provider\", error)\n }\n }\n }\n\n private enqueueTruncationMarker(): void {\n const capture = this.options.capture\n const droppedLines = this.droppedByLineLimit + this.droppedByBackpressure\n if (droppedLines === 0 || !capture) {\n return\n }\n\n const marker = sanitizeRecord(\n {\n level: \"warn\",\n message: \"log truncated\",\n fields: {\n droppedLines,\n lineLimit: this.droppedByLineLimit,\n backpressure: this.droppedByBackpressure,\n },\n at: new Date().toISOString(),\n context: { run: this.options.run },\n },\n {\n maxBytes: capture.maxRecordBytes,\n redactPaths: [],\n redactCensor: capture.redactCensor,\n }\n )\n const bytes = serializedBytes(marker)\n if (bytes > capture.maxBufferedBytes) {\n reportLoggingFailure(\n \"broker capture\",\n new Error(\"The log truncation marker exceeds the internal capture buffer bound.\")\n )\n return\n }\n this.pending.push({ record: marker, bytes })\n this.pendingBytes += bytes\n this.bufferedBytes += bytes\n }\n\n private scheduleFlush(): void {\n if (this.flushTimer !== undefined) {\n return\n }\n const delay = this.options.capture?.batchMaxDelayMs\n if (delay === undefined) {\n return\n }\n this.flushTimer = setTimeout(() => {\n this.flushTimer = undefined\n this.startPump()\n }, delay)\n }\n\n private startPump(): void {\n if (this.flushTimer !== undefined) {\n clearTimeout(this.flushTimer)\n this.flushTimer = undefined\n }\n const publish = this.options.capture?.publish\n if (this.pending.length === 0 || !publish || this.pumpPromise) {\n return\n }\n\n this.pumpPromise = this.pump(publish).finally(() => {\n this.pumpPromise = undefined\n if (this.pending.length > 0) {\n this.startPump()\n }\n })\n }\n\n private async pump(publish: LogPublisher): Promise<void> {\n while (this.pending.length > 0) {\n const batch = this.takeBatch()\n try {\n await publish(batch.records)\n } catch (error) {\n if (!this.publisherFailureReported) {\n this.publisherFailureReported = true\n reportLoggingFailure(\"broker capture\", error)\n }\n } finally {\n this.bufferedBytes -= batch.bytes\n }\n }\n }\n\n private takeBatch(): { readonly records: readonly LogRecord[]; readonly bytes: number } {\n const capture = this.options.capture\n if (!capture) {\n return { records: [], bytes: 0 }\n }\n\n let count = 0\n let bytes = 0\n while (count < this.pending.length && count < capture.batchMaxRecords) {\n const next = this.pending[count]!\n if (count > 0 && bytes + next.bytes > capture.batchMaxBytes) {\n break\n }\n bytes += next.bytes\n count += 1\n }\n\n const items = this.pending.splice(0, count)\n this.pendingBytes -= bytes\n return { records: items.map((item) => item.record), bytes }\n }\n}\n\n/** Handler façade that binds user fields while preserving framework-owned context. */\nclass ContextLogger implements Logger {\n constructor(\n private readonly emit: EmitLog,\n private readonly fields: LogFields,\n private readonly context: Omit<LogContext, \"run\">\n ) {}\n\n debug(message: string, fields?: LogFields): void {\n this.safeEmit(\"debug\", message, fields)\n }\n\n info(message: string, fields?: LogFields): void {\n this.safeEmit(\"info\", message, fields)\n }\n\n warn(message: string, fields?: LogFields): void {\n this.safeEmit(\"warn\", message, fields)\n }\n\n error(message: string | Error, fields?: LogFields): void {\n try {\n const normalized = normalizeLogError(message, this.merge(fields))\n this.emit(\"error\", normalized.message, normalized.fields, this.context)\n } catch (error) {\n reportLoggingFailure(\"handler façade\", error)\n }\n }\n\n child(bindings: LogFields): Logger {\n try {\n return new ContextLogger(this.emit, { ...this.fields, ...bindings }, this.context)\n } catch (error) {\n reportLoggingFailure(\"handler façade\", error)\n return this\n }\n }\n\n private safeEmit(level: LogLevel, message: string, fields: LogFields | undefined): void {\n try {\n this.emit(level, message, this.merge(fields), this.context)\n } catch (error) {\n reportLoggingFailure(\"handler façade\", error)\n }\n }\n\n private merge(fields: LogFields | undefined): LogFields | undefined {\n if (!fields || safeKeys(fields).length === 0) {\n return safeKeys(this.fields).length > 0 ? this.fields : undefined\n }\n return { ...this.fields, ...fields }\n }\n}\n\nfunction safeKeys(value: object): string[] {\n try {\n return Object.keys(value)\n } catch {\n return []\n }\n}\n\nfunction reportLoggingFailure(destination: string, error: unknown): void {\n try {\n console.error(`[Sixb] Logging ${destination} failed:`, error)\n } catch {\n // Logging is best-effort and must never escape into project code.\n }\n}\n",
8
8
  "import type { BrokerStreamDefinition } from \"../broker\"\n\n/** 30 days in milliseconds — the age bound for retained log lines. */\nconst THIRTY_DAYS_MS = 30 * 24 * 60 * 60 * 1000\n\n/** Default upper bound for the complete retained logs stream. */\nexport const DEFAULT_LOGS_MAX_BYTES = 256 * 1024 * 1024\n\n/** Portable retention for the project-wide, ephemeral logs stream. */\nexport const DEFAULT_LOGS_RETENTION = {\n maxAgeMs: THIRTY_DAYS_MS,\n maxRecords: 100_000,\n maxBytes: DEFAULT_LOGS_MAX_BYTES,\n} as const\n\n/** The single project-wide broker stream that carries every run's log lines. */\nexport const LOGS_STREAM: BrokerStreamDefinition = {\n id: \"__logs\",\n retention: DEFAULT_LOGS_RETENTION,\n}\n\n/** Maximum captured lines per worker execution, excluding its truncation marker. */\nexport const DEFAULT_MAX_LINES_PER_EXECUTION = 10_000\n\n/** Maximum UTF-8 size of one serialized broker record payload. */\nexport const DEFAULT_MAX_LOG_RECORD_BYTES = 64 * 1024\n\n/** Number of records that triggers an immediate broker append. */\nexport const DEFAULT_LOG_BATCH_MAX_RECORDS = 64\n\n/** Serialized payload bytes that trigger an immediate broker append. */\nexport const DEFAULT_LOG_BATCH_MAX_BYTES = 256 * 1024\n\n/** Maximum time a partial batch waits before being appended. */\nexport const DEFAULT_LOG_BATCH_MAX_DELAY_MS = 10\n\n/** Maximum pending bytes while a previous broker append is in flight. */\nexport const DEFAULT_LOG_MAX_BUFFERED_BYTES = 1024 * 1024\n",
9
- "import type { Broker, BrokerRecord, BrokerRetention, BrokerStreamDefinition } from \"../broker\"\nimport { getInvalidJsonValueReason, type JsonValue } from \"../json\"\nimport { noopLoggerProvider } from \"./console-logger\"\nimport { type LogPublisher, RunLogSession } from \"./run-logger\"\nimport {\n DEFAULT_LOG_BATCH_MAX_BYTES,\n DEFAULT_LOG_BATCH_MAX_DELAY_MS,\n DEFAULT_LOG_BATCH_MAX_RECORDS,\n DEFAULT_LOG_MAX_BUFFERED_BYTES,\n DEFAULT_LOGS_RETENTION,\n DEFAULT_MAX_LINES_PER_EXECUTION,\n DEFAULT_MAX_LOG_RECORD_BYTES,\n LOGS_STREAM,\n} from \"./stream\"\nimport {\n isLogRecord,\n LOG_LEVELS,\n type LoggerProvider,\n type LogLevel,\n type LogRecord,\n type LogRunRef,\n SIXB_RUN_KINDS,\n type SixbRunKind,\n type StoredLogLine,\n} from \"./types\"\n\nexport interface LogsPage {\n readonly lines: readonly StoredLogLine[]\n readonly cursor?: string\n readonly hasMore: boolean\n}\n\nexport interface LogsReadInput {\n readonly afterCursor?: string\n readonly limit?: number\n readonly kinds?: readonly SixbRunKind[]\n readonly levels?: readonly LogLevel[]\n readonly run?: LogRunRef\n}\n\nexport interface LogsTailInput {\n readonly beforeCursor?: string\n readonly limit?: number\n readonly kinds?: readonly SixbRunKind[]\n readonly levels?: readonly LogLevel[]\n readonly run?: LogRunRef\n}\n\nexport interface LogsSubscribeInput {\n readonly from?: \"latest\" | \"earliest\"\n readonly afterCursor?: string\n readonly kinds?: readonly SixbRunKind[]\n readonly levels?: readonly LogLevel[]\n readonly run?: LogRunRef\n}\n\nexport interface LogsObservabilityOptions {\n /** Forward handler logs to the broker. Defaults to `true`. */\n readonly enabled?: boolean\n /** Minimum level captured by the broker. Defaults to `\"info\"`. */\n readonly level?: LogLevel\n /** Retention overrides merged with the bounded defaults. */\n readonly retention?: BrokerRetention\n /** Captured lines per worker execution. Defaults to 10,000. */\n readonly maxLinesPerExecution?: number\n readonly redact?: {\n /** Dot paths relative to `fields` (an optional `fields.` prefix is accepted). */\n readonly paths: readonly string[]\n /** Replacement value. Defaults to `\"[REDACTED]\"`. */\n readonly censor?: JsonValue\n }\n}\n\nexport interface ObservabilityOptions {\n readonly logs?: LogsObservabilityOptions\n}\n\nexport interface LogsRuntimeOptions {\n readonly projectId: string\n /** Broker backing the `__logs` stream. Absent means output-only logging. */\n readonly broker?: Broker\n /** Optional process-level output provider. Omit for broker-only logging. */\n readonly logger?: LoggerProvider\n readonly observability?: LogsObservabilityOptions\n /** Internal/testing stream override. */\n readonly stream?: BrokerStreamDefinition\n}\n\n/** Project-scoped logger factory and broker capture runtime. */\nexport class LogsRuntime {\n private readonly projectId: string\n private readonly broker?: Broker\n private readonly provider: LoggerProvider\n private readonly captureEnabled: boolean\n private readonly captureLevel: LogLevel\n private readonly maxLinesPerExecution: number\n private readonly redactPaths: readonly string[]\n private readonly redactCensor: JsonValue\n private readonly stream: BrokerStreamDefinition\n private ensureStreamPromise?: Promise<void>\n\n constructor(options: LogsRuntimeOptions) {\n const config = options.observability ?? {}\n this.projectId = options.projectId\n this.broker = options.broker\n this.provider = options.logger ?? noopLoggerProvider\n this.captureEnabled = config.enabled ?? true\n this.captureLevel = logLevel(config.level ?? \"info\", \"observability.logs.level\")\n this.maxLinesPerExecution = nonNegativeInteger(\n config.maxLinesPerExecution ?? DEFAULT_MAX_LINES_PER_EXECUTION,\n \"observability.logs.maxLinesPerExecution\"\n )\n this.redactPaths = normalizeRedactPaths(config.redact?.paths ?? [])\n this.redactCensor = config.redact?.censor ?? \"[REDACTED]\"\n const censorReason = getInvalidJsonValueReason(\n this.redactCensor,\n \"observability.logs.redact.censor\"\n )\n if (censorReason) {\n throw new TypeError(censorReason)\n }\n\n this.stream =\n options.stream ??\n ({\n ...LOGS_STREAM,\n retention: mergeLogsRetention(config.retention),\n } satisfies BrokerStreamDefinition)\n }\n\n /** Start the single logger session owned by one worker execution. */\n startExecution(run: LogRunRef): RunLogSession {\n const publish = this.publisher()\n return new RunLogSession({\n run,\n provider: this.provider,\n capture: publish\n ? {\n publish,\n level: this.captureLevel,\n maxLinesPerExecution: this.maxLinesPerExecution,\n maxRecordBytes: DEFAULT_MAX_LOG_RECORD_BYTES,\n maxBufferedBytes: DEFAULT_LOG_MAX_BUFFERED_BYTES,\n batchMaxRecords: DEFAULT_LOG_BATCH_MAX_RECORDS,\n batchMaxBytes: DEFAULT_LOG_BATCH_MAX_BYTES,\n batchMaxDelayMs: DEFAULT_LOG_BATCH_MAX_DELAY_MS,\n redactPaths: this.redactPaths,\n redactCensor: this.redactCensor,\n }\n : undefined,\n })\n }\n\n async read(input: LogsReadInput = {}): Promise<LogsPage> {\n if (!this.broker || (input.limit !== undefined && input.limit <= 0)) {\n return { lines: [], cursor: input.afterCursor, hasMore: false }\n }\n await this.ensureStream()\n const page = await this.broker.read({\n projectId: this.projectId,\n streamId: this.stream.id,\n afterCursor: input.afterCursor,\n limit: input.limit,\n names: logRecordNames(input.kinds, input.levels, input.run),\n keys: input.run ? [`${input.run.kind}:${input.run.id}`] : undefined,\n })\n return {\n lines: page.records.map(hydrateLogRecord),\n cursor: page.cursor,\n hasMore: page.hasMore,\n }\n }\n\n async tail(input: LogsTailInput = {}): Promise<LogsPage> {\n if (!this.broker || (input.limit !== undefined && input.limit <= 0)) {\n return { lines: [], cursor: input.beforeCursor, hasMore: false }\n }\n await this.ensureStream()\n const page = await this.broker.tail({\n projectId: this.projectId,\n streamId: this.stream.id,\n beforeCursor: input.beforeCursor,\n limit: input.limit,\n names: logRecordNames(input.kinds, input.levels, input.run),\n keys: input.run ? [`${input.run.kind}:${input.run.id}`] : undefined,\n })\n return {\n lines: page.records.map(hydrateLogRecord),\n cursor: page.cursor,\n hasMore: page.hasMore,\n }\n }\n\n async subscribe(\n input: LogsSubscribeInput,\n handler: (lines: readonly StoredLogLine[]) => void\n ): Promise<() => void> {\n const broker = this.broker\n if (!broker) {\n return () => undefined\n }\n await this.ensureStream()\n return broker.subscribe(\n {\n projectId: this.projectId,\n streamId: this.stream.id,\n from: input.from,\n afterCursor: input.afterCursor,\n names: logRecordNames(input.kinds, input.levels, input.run),\n keys: input.run ? [`${input.run.kind}:${input.run.id}`] : undefined,\n },\n (records) => {\n const lines = records.map(hydrateLogRecord)\n if (lines.length === 0) return\n try {\n handler(lines)\n } catch {\n // Subscriber failures never break broker delivery.\n }\n }\n )\n }\n\n /** Flush the process provider. Execution sessions never call this globally. */\n async flush(): Promise<void> {\n await this.provider.flush?.()\n }\n\n /** Close the process provider. Lifecycle ownership stays outside handler loggers. */\n async close(): Promise<void> {\n if (this.provider.close) {\n await this.provider.close()\n return\n }\n await this.provider.flush?.()\n }\n\n private publisher(): LogPublisher | undefined {\n const broker = this.broker\n if (!broker || !this.captureEnabled) {\n return undefined\n }\n return async (records) => {\n await this.ensureStream()\n await broker.append({\n projectId: this.projectId,\n streamId: this.stream.id,\n records: records.map((record) => ({\n name: `${record.context.run.kind}.${record.level}`,\n key: `${record.context.run.kind}:${record.context.run.id}`,\n payload: record as unknown as JsonValue,\n })),\n })\n }\n }\n\n private ensureStream(): Promise<void> {\n const broker = this.broker\n if (!broker) {\n return Promise.resolve()\n }\n if (!this.ensureStreamPromise) {\n this.ensureStreamPromise = broker\n .ensureStream({ projectId: this.projectId, stream: this.stream })\n .catch((error) => {\n this.ensureStreamPromise = undefined\n throw error\n })\n }\n return this.ensureStreamPromise\n }\n}\n\n/** Resolve a worker runtime, falling back to a silent output-only runtime. */\nexport function resolveLogsRuntime(projectId: string, logs?: LogsRuntime): LogsRuntime {\n return logs ?? new LogsRuntime({ projectId, logger: noopLoggerProvider })\n}\n\nfunction normalizeRedactPaths(paths: readonly string[]): readonly string[] {\n const normalized = new Set<string>()\n for (const path of paths) {\n if (typeof path !== \"string\" || path.trim().length === 0) {\n throw new TypeError(\"observability.logs.redact.paths must contain non-empty strings\")\n }\n normalized.add(path.trim())\n }\n return [...normalized]\n}\n\nfunction mergeLogsRetention(retention: BrokerRetention | undefined): BrokerRetention {\n return {\n maxAgeMs: nonNegativeInteger(\n retention?.maxAgeMs ?? DEFAULT_LOGS_RETENTION.maxAgeMs,\n \"observability.logs.retention.maxAgeMs\"\n ),\n maxRecords: nonNegativeInteger(\n retention?.maxRecords ?? DEFAULT_LOGS_RETENTION.maxRecords,\n \"observability.logs.retention.maxRecords\"\n ),\n maxBytes: nonNegativeInteger(\n retention?.maxBytes ?? DEFAULT_LOGS_RETENTION.maxBytes,\n \"observability.logs.retention.maxBytes\"\n ),\n }\n}\n\nfunction logLevel(value: LogLevel, path: string): LogLevel {\n if (value !== \"debug\" && value !== \"info\" && value !== \"warn\" && value !== \"error\") {\n throw new TypeError(`${path} must be one of: debug, info, warn, error`)\n }\n return value\n}\n\nfunction nonNegativeInteger(value: number, path: string): number {\n if (!Number.isSafeInteger(value) || value < 0) {\n throw new TypeError(`${path} must be a non-negative safe integer`)\n }\n return value\n}\n\nfunction logRecordNames(\n kinds: readonly SixbRunKind[] | undefined,\n levels: readonly LogLevel[] | undefined,\n run: LogRunRef | undefined\n): readonly string[] | undefined {\n const selectedKinds = run ? [run.kind] : kinds\n if ((!selectedKinds || selectedKinds.length === 0) && (!levels || levels.length === 0)) {\n return undefined\n }\n const resolvedKinds = selectedKinds && selectedKinds.length > 0 ? selectedKinds : SIXB_RUN_KINDS\n const resolvedLevels = levels && levels.length > 0 ? levels : LOG_LEVELS\n return resolvedKinds.flatMap((kind) => resolvedLevels.map((level) => `${kind}.${level}`))\n}\n\nfunction hydrateLogRecord(record: BrokerRecord): StoredLogLine {\n const payload = record.payload\n if (!isLogRecord(payload)) {\n throw new Error(`[Sixb] Broker record at cursor '${record.cursor}' is not a log line.`)\n }\n return { ...(payload as LogRecord), cursor: record.cursor }\n}\n"
9
+ "import type { Broker, BrokerRecord, BrokerRetention, BrokerStreamDefinition } from \"../broker\"\nimport { getInvalidJsonValueReason, type JsonValue } from \"../json\"\nimport { noopLoggerProvider } from \"./console-logger\"\nimport { type LogPublisher, RunLogSession } from \"./run-logger\"\nimport {\n DEFAULT_LOG_BATCH_MAX_BYTES,\n DEFAULT_LOG_BATCH_MAX_DELAY_MS,\n DEFAULT_LOG_BATCH_MAX_RECORDS,\n DEFAULT_LOG_MAX_BUFFERED_BYTES,\n DEFAULT_LOGS_RETENTION,\n DEFAULT_MAX_LINES_PER_EXECUTION,\n DEFAULT_MAX_LOG_RECORD_BYTES,\n LOGS_STREAM,\n} from \"./stream\"\nimport {\n isLogRecord,\n LOG_LEVELS,\n type LoggerProvider,\n type LogLevel,\n type LogRecord,\n type LogRunRef,\n SIXB_RUN_KINDS,\n type SixbRunKind,\n type StoredLogLine,\n} from \"./types\"\n\nexport interface LogsPage {\n readonly lines: readonly StoredLogLine[]\n readonly cursor?: string\n readonly hasMore: boolean\n}\n\nexport interface LogsReadInput {\n readonly afterCursor?: string\n readonly limit?: number\n readonly kinds?: readonly SixbRunKind[]\n readonly levels?: readonly LogLevel[]\n readonly run?: LogRunRef\n}\n\nexport interface LogsTailInput {\n readonly beforeCursor?: string\n readonly limit?: number\n readonly kinds?: readonly SixbRunKind[]\n readonly levels?: readonly LogLevel[]\n readonly run?: LogRunRef\n}\n\nexport interface LogsSubscribeInput {\n readonly from?: \"latest\" | \"earliest\"\n readonly afterCursor?: string\n readonly kinds?: readonly SixbRunKind[]\n readonly levels?: readonly LogLevel[]\n readonly run?: LogRunRef\n}\n\nexport interface LogsObservabilityOptions {\n /** Forward handler logs to the broker. Defaults to `true`. */\n readonly enabled?: boolean\n /** Minimum level captured by the broker. Defaults to `\"info\"`. */\n readonly level?: LogLevel\n /** Retention overrides merged with the bounded defaults. */\n readonly retention?: BrokerRetention\n /** Captured lines per worker execution. Defaults to 10,000. */\n readonly maxLinesPerExecution?: number\n readonly redact?: {\n /** Dot paths relative to `fields` (an optional `fields.` prefix is accepted). */\n readonly paths: readonly string[]\n /** Replacement value. Defaults to `\"[REDACTED]\"`. */\n readonly censor?: JsonValue\n }\n}\n\nexport interface ObservabilityOptions {\n readonly logs?: LogsObservabilityOptions\n}\n\nexport interface LoggingServiceOptions {\n readonly projectId: string\n /** Broker backing the `__logs` stream. Absent means output-only logging. */\n readonly broker?: Broker\n /** Optional process-level output provider. Omit for broker-only logging. */\n readonly logger?: LoggerProvider\n readonly observability?: LogsObservabilityOptions\n /** Internal/testing stream override. */\n readonly stream?: BrokerStreamDefinition\n}\n\n/** Project-scoped logger factory and broker capture service. */\nexport class LoggingService {\n private readonly projectId: string\n private readonly broker?: Broker\n private readonly provider: LoggerProvider\n private readonly captureEnabled: boolean\n private readonly captureLevel: LogLevel\n private readonly maxLinesPerExecution: number\n private readonly redactPaths: readonly string[]\n private readonly redactCensor: JsonValue\n private readonly stream: BrokerStreamDefinition\n private ensureStreamPromise?: Promise<void>\n\n constructor(options: LoggingServiceOptions) {\n const config = options.observability ?? {}\n this.projectId = options.projectId\n this.broker = options.broker\n this.provider = options.logger ?? noopLoggerProvider\n this.captureEnabled = config.enabled ?? true\n this.captureLevel = logLevel(config.level ?? \"info\", \"observability.logs.level\")\n this.maxLinesPerExecution = nonNegativeInteger(\n config.maxLinesPerExecution ?? DEFAULT_MAX_LINES_PER_EXECUTION,\n \"observability.logs.maxLinesPerExecution\"\n )\n this.redactPaths = normalizeRedactPaths(config.redact?.paths ?? [])\n this.redactCensor = config.redact?.censor ?? \"[REDACTED]\"\n const censorReason = getInvalidJsonValueReason(\n this.redactCensor,\n \"observability.logs.redact.censor\"\n )\n if (censorReason) {\n throw new TypeError(censorReason)\n }\n\n this.stream =\n options.stream ??\n ({\n ...LOGS_STREAM,\n retention: mergeLogsRetention(config.retention),\n } satisfies BrokerStreamDefinition)\n }\n\n /** Start the single logger session owned by one worker execution. */\n startExecution(run: LogRunRef): RunLogSession {\n const publish = this.publisher()\n return new RunLogSession({\n run,\n provider: this.provider,\n capture: publish\n ? {\n publish,\n level: this.captureLevel,\n maxLinesPerExecution: this.maxLinesPerExecution,\n maxRecordBytes: DEFAULT_MAX_LOG_RECORD_BYTES,\n maxBufferedBytes: DEFAULT_LOG_MAX_BUFFERED_BYTES,\n batchMaxRecords: DEFAULT_LOG_BATCH_MAX_RECORDS,\n batchMaxBytes: DEFAULT_LOG_BATCH_MAX_BYTES,\n batchMaxDelayMs: DEFAULT_LOG_BATCH_MAX_DELAY_MS,\n redactPaths: this.redactPaths,\n redactCensor: this.redactCensor,\n }\n : undefined,\n })\n }\n\n async read(input: LogsReadInput = {}): Promise<LogsPage> {\n if (!this.broker || (input.limit !== undefined && input.limit <= 0)) {\n return { lines: [], cursor: input.afterCursor, hasMore: false }\n }\n await this.ensureStream()\n const page = await this.broker.read({\n projectId: this.projectId,\n streamId: this.stream.id,\n afterCursor: input.afterCursor,\n limit: input.limit,\n names: logRecordNames(input.kinds, input.levels, input.run),\n keys: input.run ? [`${input.run.kind}:${input.run.id}`] : undefined,\n })\n return {\n lines: page.records.map(hydrateLogRecord),\n cursor: page.cursor,\n hasMore: page.hasMore,\n }\n }\n\n async tail(input: LogsTailInput = {}): Promise<LogsPage> {\n if (!this.broker || (input.limit !== undefined && input.limit <= 0)) {\n return { lines: [], cursor: input.beforeCursor, hasMore: false }\n }\n await this.ensureStream()\n const page = await this.broker.tail({\n projectId: this.projectId,\n streamId: this.stream.id,\n beforeCursor: input.beforeCursor,\n limit: input.limit,\n names: logRecordNames(input.kinds, input.levels, input.run),\n keys: input.run ? [`${input.run.kind}:${input.run.id}`] : undefined,\n })\n return {\n lines: page.records.map(hydrateLogRecord),\n cursor: page.cursor,\n hasMore: page.hasMore,\n }\n }\n\n async subscribe(\n input: LogsSubscribeInput,\n handler: (lines: readonly StoredLogLine[]) => void\n ): Promise<() => void> {\n const broker = this.broker\n if (!broker) {\n return () => undefined\n }\n await this.ensureStream()\n return broker.subscribe(\n {\n projectId: this.projectId,\n streamId: this.stream.id,\n from: input.from,\n afterCursor: input.afterCursor,\n names: logRecordNames(input.kinds, input.levels, input.run),\n keys: input.run ? [`${input.run.kind}:${input.run.id}`] : undefined,\n },\n (records) => {\n const lines = records.map(hydrateLogRecord)\n if (lines.length === 0) return\n try {\n handler(lines)\n } catch {\n // Subscriber failures never break broker delivery.\n }\n }\n )\n }\n\n /** Flush the process provider. Execution sessions never call this globally. */\n async flush(): Promise<void> {\n await this.provider.flush?.()\n }\n\n /** Close the process provider. Lifecycle ownership stays outside handler loggers. */\n async close(): Promise<void> {\n if (this.provider.close) {\n await this.provider.close()\n return\n }\n await this.provider.flush?.()\n }\n\n private publisher(): LogPublisher | undefined {\n const broker = this.broker\n if (!broker || !this.captureEnabled) {\n return undefined\n }\n return async (records) => {\n await this.ensureStream()\n await broker.append({\n projectId: this.projectId,\n streamId: this.stream.id,\n records: records.map((record) => ({\n name: `${record.context.run.kind}.${record.level}`,\n key: `${record.context.run.kind}:${record.context.run.id}`,\n payload: record as unknown as JsonValue,\n })),\n })\n }\n }\n\n private ensureStream(): Promise<void> {\n const broker = this.broker\n if (!broker) {\n return Promise.resolve()\n }\n if (!this.ensureStreamPromise) {\n this.ensureStreamPromise = broker\n .ensureStream({ projectId: this.projectId, stream: this.stream })\n .catch((error) => {\n this.ensureStreamPromise = undefined\n throw error\n })\n }\n return this.ensureStreamPromise\n }\n}\n\n/** Resolve the logging service, falling back to a silent output-only service. */\nexport function resolveLoggingService(projectId: string, logging?: LoggingService): LoggingService {\n return logging ?? new LoggingService({ projectId, logger: noopLoggerProvider })\n}\n\nfunction normalizeRedactPaths(paths: readonly string[]): readonly string[] {\n const normalized = new Set<string>()\n for (const path of paths) {\n if (typeof path !== \"string\" || path.trim().length === 0) {\n throw new TypeError(\"observability.logs.redact.paths must contain non-empty strings\")\n }\n normalized.add(path.trim())\n }\n return [...normalized]\n}\n\nfunction mergeLogsRetention(retention: BrokerRetention | undefined): BrokerRetention {\n return {\n maxAgeMs: nonNegativeInteger(\n retention?.maxAgeMs ?? DEFAULT_LOGS_RETENTION.maxAgeMs,\n \"observability.logs.retention.maxAgeMs\"\n ),\n maxRecords: nonNegativeInteger(\n retention?.maxRecords ?? DEFAULT_LOGS_RETENTION.maxRecords,\n \"observability.logs.retention.maxRecords\"\n ),\n maxBytes: nonNegativeInteger(\n retention?.maxBytes ?? DEFAULT_LOGS_RETENTION.maxBytes,\n \"observability.logs.retention.maxBytes\"\n ),\n }\n}\n\nfunction logLevel(value: LogLevel, path: string): LogLevel {\n if (value !== \"debug\" && value !== \"info\" && value !== \"warn\" && value !== \"error\") {\n throw new TypeError(`${path} must be one of: debug, info, warn, error`)\n }\n return value\n}\n\nfunction nonNegativeInteger(value: number, path: string): number {\n if (!Number.isSafeInteger(value) || value < 0) {\n throw new TypeError(`${path} must be a non-negative safe integer`)\n }\n return value\n}\n\nfunction logRecordNames(\n kinds: readonly SixbRunKind[] | undefined,\n levels: readonly LogLevel[] | undefined,\n run: LogRunRef | undefined\n): readonly string[] | undefined {\n const selectedKinds = run ? [run.kind] : kinds\n if ((!selectedKinds || selectedKinds.length === 0) && (!levels || levels.length === 0)) {\n return undefined\n }\n const resolvedKinds = selectedKinds && selectedKinds.length > 0 ? selectedKinds : SIXB_RUN_KINDS\n const resolvedLevels = levels && levels.length > 0 ? levels : LOG_LEVELS\n return resolvedKinds.flatMap((kind) => resolvedLevels.map((level) => `${kind}.${level}`))\n}\n\nfunction hydrateLogRecord(record: BrokerRecord): StoredLogLine {\n const payload = record.payload\n if (!isLogRecord(payload)) {\n throw new Error(`[Sixb] Broker record at cursor '${record.cursor}' is not a log line.`)\n }\n return { ...(payload as LogRecord), cursor: record.cursor }\n}\n"
10
10
  ],
11
- "mappings": "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",
12
- "debugId": "9C47EFE3BB2FCD6764756E2164756E21",
11
+ "mappings": "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",
12
+ "debugId": "707AC3FBDC09C7CE64756E2164756E21",
13
13
  "names": []
14
14
  }
@@ -0,0 +1,271 @@
1
+ // @bun
2
+ // src/storage/executions/errors.ts
3
+ class ExecutionStorageError extends Error {
4
+ code;
5
+ name = "ExecutionStorageError";
6
+ constructor(code, message, options = {}) {
7
+ super(message, options);
8
+ this.code = code;
9
+ }
10
+ }
11
+
12
+ // src/storage/executions/validation.ts
13
+ function normalizeExecutionRecord(input, createdAt = new Date) {
14
+ const record = {
15
+ id: input.id,
16
+ projectId: input.projectId,
17
+ ...input.requestedBy === undefined ? {} : { requestedBy: structuredClone(input.requestedBy) },
18
+ executor: structuredClone(input.executor),
19
+ source: structuredClone(input.source),
20
+ correlationId: input.correlationId,
21
+ authorizationRef: structuredClone(input.authorizationRef),
22
+ createdAt: new Date(createdAt)
23
+ };
24
+ assertRecordShape(record);
25
+ assertExecutorAuthority(record);
26
+ return record;
27
+ }
28
+ async function validateExecutionRecordReferences(record, lookup) {
29
+ await validatePrincipal(record.requestedBy, record.projectId, "Requested-by principal", lookup);
30
+ if (record.authorizationRef.type === "principal") {
31
+ await validatePrincipal(record.authorizationRef.principal, record.projectId, "Authority principal", lookup);
32
+ await validateCredential(record, lookup);
33
+ }
34
+ await validateParent(record, lookup);
35
+ }
36
+ function cloneExecutionRecord(record) {
37
+ return structuredClone(record);
38
+ }
39
+ function assertRecordShape(record) {
40
+ assertNonBlank(record.id, "Execution id");
41
+ assertNonBlank(record.projectId, "Execution project id");
42
+ assertNonBlank(record.correlationId, "Execution correlation id");
43
+ assertValidDate(record.createdAt, "Execution createdAt");
44
+ if (record.requestedBy) {
45
+ assertPrincipal(record.requestedBy, "Requested-by principal");
46
+ }
47
+ assertExecutor(record.executor);
48
+ assertSource(record.source);
49
+ assertAuthorizationRef(record.authorizationRef);
50
+ }
51
+ function assertExecutor(executor) {
52
+ switch (executor.type) {
53
+ case "request":
54
+ assertNonBlank(executor.requestId, "Executor request id");
55
+ return;
56
+ case "primitive":
57
+ assertTrustedPrimitiveKind(executor.kind, "Executor primitive kind");
58
+ assertNonBlank(executor.runId, "Executor primitive run id");
59
+ return;
60
+ case "agent":
61
+ assertNonBlank(executor.runId, "Executor agent run id");
62
+ return;
63
+ case "kernel":
64
+ assertKernelOperation(executor.operation, "Executor kernel operation");
65
+ return;
66
+ default:
67
+ invalid(`Unknown execution executor type '${String(executor.type)}'.`);
68
+ }
69
+ }
70
+ function assertSource(source) {
71
+ switch (source.type) {
72
+ case "http":
73
+ assertNonBlank(source.requestId, "Execution source request id");
74
+ return;
75
+ case "webhook":
76
+ assertNonBlank(source.deliveryId, "Execution source delivery id");
77
+ return;
78
+ case "schedule":
79
+ case "event":
80
+ assertNonBlank(source.eventId, "Execution source event id");
81
+ return;
82
+ case "datasetVersion":
83
+ assertNonBlank(source.datasetId, "Execution source dataset id");
84
+ assertNonBlank(source.versionId, "Execution source dataset version id");
85
+ return;
86
+ case "execution":
87
+ assertNonBlank(source.executionId, "Execution source execution id");
88
+ return;
89
+ default:
90
+ invalid(`Execution source type '${String(source.type)}' is not durable.`);
91
+ }
92
+ }
93
+ function assertAuthorizationRef(ref) {
94
+ switch (ref.type) {
95
+ case "principal":
96
+ assertPrincipal(ref.principal, "Authority principal");
97
+ if (ref.credential) {
98
+ if (ref.credential.type !== "session" && ref.credential.type !== "accessToken") {
99
+ invalid(`Unknown authority credential type '${String(ref.credential.type)}'.`);
100
+ }
101
+ assertNonBlank(ref.credential.id, "Authority credential id");
102
+ }
103
+ return;
104
+ case "trustedPrimitive":
105
+ assertTrustedPrimitiveKind(ref.primitive.kind, "Authority primitive kind");
106
+ assertNonBlank(ref.primitive.id, "Authority primitive id");
107
+ assertNonBlank(ref.primitive.runId, "Authority primitive run id");
108
+ return;
109
+ case "kernel":
110
+ assertKernelOperation(ref.operation, "Authority kernel operation");
111
+ return;
112
+ case "disabled":
113
+ return;
114
+ default:
115
+ invalid(`Unknown authorization reference type '${String(ref.type)}'.`);
116
+ }
117
+ }
118
+ function assertExecutorAuthority(record) {
119
+ const { executor, authorizationRef, requestedBy, source } = record;
120
+ switch (executor.type) {
121
+ case "request": {
122
+ if (source.type !== "http" || source.requestId !== executor.requestId) {
123
+ invalid("Request executions require a matching HTTP source request id.");
124
+ }
125
+ if (authorizationRef.type === "principal") {
126
+ if (!principalsEqual(requestedBy, authorizationRef.principal)) {
127
+ invalid("Request authority must match its requested-by principal.");
128
+ }
129
+ return;
130
+ }
131
+ if (authorizationRef.type === "disabled") {
132
+ if (requestedBy !== undefined) {
133
+ invalid("Auth-disabled request executions cannot have a requested-by principal.");
134
+ }
135
+ return;
136
+ }
137
+ invalid("Request executions require principal or explicitly disabled authority.");
138
+ break;
139
+ }
140
+ case "primitive": {
141
+ if (authorizationRef.type !== "trustedPrimitive") {
142
+ invalid("Primitive executions require trusted primitive authority.");
143
+ }
144
+ if (authorizationRef.primitive.kind !== executor.kind || authorizationRef.primitive.runId !== executor.runId) {
145
+ invalid("Trusted primitive authority must match the executor kind and run id.");
146
+ }
147
+ return;
148
+ }
149
+ case "agent": {
150
+ if (authorizationRef.type !== "principal" || authorizationRef.principal.type !== "serviceAccount") {
151
+ invalid("Agent executions require service-account authority.");
152
+ }
153
+ if (authorizationRef.credential !== undefined) {
154
+ invalid("Agent execution authority cannot carry an external credential.");
155
+ }
156
+ return;
157
+ }
158
+ case "kernel": {
159
+ if (authorizationRef.type !== "kernel" || !kernelOperationsEqual(authorizationRef.operation, executor.operation)) {
160
+ invalid("Kernel authority must match the executor operation.");
161
+ }
162
+ if (requestedBy !== undefined) {
163
+ invalid("Kernel executions cannot have a requested-by principal.");
164
+ }
165
+ return;
166
+ }
167
+ }
168
+ }
169
+ async function validatePrincipal(principal, projectId, label, lookup) {
170
+ if (!principal)
171
+ return;
172
+ const record = principal.type === "user" ? await lookup.auth.users.getById({ projectId, id: principal.id }) : await lookup.auth.serviceAccounts.getById({ projectId, id: principal.id });
173
+ if (!record) {
174
+ throw new ExecutionStorageError("missing_principal", `[Sixb] ${label} '${principal.id}' does not exist in project '${projectId}'.`);
175
+ }
176
+ }
177
+ async function validateCredential(record, lookup) {
178
+ if (record.authorizationRef.type !== "principal" || !record.authorizationRef.credential)
179
+ return;
180
+ const { principal, credential } = record.authorizationRef;
181
+ if (credential.type === "session") {
182
+ const session = await lookup.auth.sessions.getById({
183
+ projectId: record.projectId,
184
+ id: credential.id
185
+ });
186
+ if (!session) {
187
+ throw new ExecutionStorageError("missing_credential", `[Sixb] Authority session '${credential.id}' does not exist in project '${record.projectId}'.`);
188
+ }
189
+ if (principal.type !== "user" || session.userId !== principal.id) {
190
+ throw new ExecutionStorageError("invalid_credential", `[Sixb] Authority session '${credential.id}' does not belong to principal '${principal.id}'.`);
191
+ }
192
+ return;
193
+ }
194
+ const token = await lookup.auth.accessTokens.getById({
195
+ projectId: record.projectId,
196
+ id: credential.id
197
+ });
198
+ if (!token) {
199
+ throw new ExecutionStorageError("missing_credential", `[Sixb] Authority access token '${credential.id}' does not exist in project '${record.projectId}'.`);
200
+ }
201
+ if (token.subjectType !== principal.type || token.subjectId !== principal.id) {
202
+ throw new ExecutionStorageError("invalid_credential", `[Sixb] Authority access token '${credential.id}' does not belong to principal '${principal.id}'.`);
203
+ }
204
+ }
205
+ async function validateParent(record, lookup) {
206
+ if (record.source.type !== "execution")
207
+ return;
208
+ const parentExecutionId = record.source.executionId;
209
+ const parent = await lookup.getExecution({
210
+ projectId: record.projectId,
211
+ id: parentExecutionId
212
+ });
213
+ if (!parent) {
214
+ throw new ExecutionStorageError("missing_parent_execution", `[Sixb] Parent execution '${parentExecutionId}' does not exist in project '${record.projectId}'.`);
215
+ }
216
+ if (parent.correlationId !== record.correlationId) {
217
+ throw new ExecutionStorageError("invalid_parent_execution", `[Sixb] Child execution '${record.id}' must preserve its parent correlation id.`);
218
+ }
219
+ if (!principalsEqual(parent.requestedBy, record.requestedBy)) {
220
+ throw new ExecutionStorageError("invalid_parent_execution", `[Sixb] Child execution '${record.id}' must preserve its parent requested-by principal.`);
221
+ }
222
+ }
223
+ function assertPrincipal(principal, label) {
224
+ if (principal.type !== "user" && principal.type !== "serviceAccount") {
225
+ invalid(`${label} has unsupported type '${String(principal.type)}'.`);
226
+ }
227
+ assertNonBlank(principal.id, `${label} id`);
228
+ }
229
+ function assertKernelOperation(operation, label) {
230
+ if (operation.type !== "ontology.recover") {
231
+ invalid(`${label} has unsupported type '${String(operation.type)}'.`);
232
+ }
233
+ assertNonBlank(operation.recoveryId, `${label} recovery id`);
234
+ }
235
+ function assertTrustedPrimitiveKind(value, label) {
236
+ if (!TRUSTED_PRIMITIVE_KINDS.has(value)) {
237
+ invalid(`${label} '${value}' is not supported.`);
238
+ }
239
+ }
240
+ function assertNonBlank(value, label) {
241
+ if (typeof value !== "string" || !value.trim()) {
242
+ invalid(`${label} must be a non-empty string.`);
243
+ }
244
+ }
245
+ function assertValidDate(value, label) {
246
+ if (!(value instanceof Date) || !Number.isFinite(value.getTime())) {
247
+ invalid(`${label} must be a valid date.`);
248
+ }
249
+ }
250
+ function principalsEqual(left, right) {
251
+ return left?.type === right?.type && left?.id === right?.id;
252
+ }
253
+ function kernelOperationsEqual(left, right) {
254
+ return left.type === right.type && left.recoveryId === right.recoveryId;
255
+ }
256
+ function invalid(message) {
257
+ throw new ExecutionStorageError("invalid_input", `[Sixb] ${message}`);
258
+ }
259
+ var TRUSTED_PRIMITIVE_KINDS = new Set([
260
+ "action",
261
+ "pipeline",
262
+ "projection",
263
+ "rule",
264
+ "sync",
265
+ "webhook",
266
+ "workflow"
267
+ ]);
268
+
269
+ export { ExecutionStorageError, normalizeExecutionRecord, validateExecutionRecordReferences, cloneExecutionRecord };
270
+
271
+ //# debugId=903A9A3201175C6C64756E2164756E21
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/storage/executions/errors.ts", "../src/storage/executions/validation.ts"],
4
+ "sourcesContent": [
5
+ "export type ExecutionStorageErrorCode =\n | \"duplicate_execution\"\n | \"invalid_credential\"\n | \"invalid_input\"\n | \"invalid_parent_execution\"\n | \"missing_credential\"\n | \"missing_parent_execution\"\n | \"missing_principal\"\n\n/** Stable error raised when an execution record would violate ledger invariants. */\nexport class ExecutionStorageError extends Error {\n readonly name = \"ExecutionStorageError\"\n\n constructor(\n readonly code: ExecutionStorageErrorCode,\n message: string,\n options: ErrorOptions = {}\n ) {\n super(message, options)\n }\n}\n",
6
+ "import type {\n AuthorizablePrincipal,\n AuthorizationRef,\n KernelOperation,\n} from \"../../execution/types\"\nimport type { AuthStorage } from \"../auth\"\nimport { ExecutionStorageError } from \"./errors\"\nimport type {\n CreateExecutionInput,\n DurableExecutionExecutor,\n DurableExecutionSource,\n ExecutionRecord,\n} from \"./types\"\n\nexport interface ExecutionValidationLookup {\n readonly auth: AuthStorage\n getExecution(params: {\n readonly projectId: string\n readonly id: string\n }): Promise<ExecutionRecord | null>\n}\n\nexport function normalizeExecutionRecord(\n input: CreateExecutionInput,\n createdAt: Date = new Date()\n): ExecutionRecord {\n const record: ExecutionRecord = {\n id: input.id,\n projectId: input.projectId,\n ...(input.requestedBy === undefined ? {} : { requestedBy: structuredClone(input.requestedBy) }),\n executor: structuredClone(input.executor),\n source: structuredClone(input.source),\n correlationId: input.correlationId,\n authorizationRef: structuredClone(input.authorizationRef),\n createdAt: new Date(createdAt),\n }\n\n assertRecordShape(record)\n assertExecutorAuthority(record)\n return record\n}\n\nexport async function validateExecutionRecordReferences(\n record: ExecutionRecord,\n lookup: ExecutionValidationLookup\n): Promise<void> {\n await validatePrincipal(record.requestedBy, record.projectId, \"Requested-by principal\", lookup)\n\n if (record.authorizationRef.type === \"principal\") {\n await validatePrincipal(\n record.authorizationRef.principal,\n record.projectId,\n \"Authority principal\",\n lookup\n )\n await validateCredential(record, lookup)\n }\n\n await validateParent(record, lookup)\n}\n\nexport function cloneExecutionRecord(record: ExecutionRecord): ExecutionRecord {\n return structuredClone(record)\n}\n\nfunction assertRecordShape(record: ExecutionRecord): void {\n assertNonBlank(record.id, \"Execution id\")\n assertNonBlank(record.projectId, \"Execution project id\")\n assertNonBlank(record.correlationId, \"Execution correlation id\")\n assertValidDate(record.createdAt, \"Execution createdAt\")\n\n if (record.requestedBy) {\n assertPrincipal(record.requestedBy, \"Requested-by principal\")\n }\n\n assertExecutor(record.executor)\n assertSource(record.source)\n assertAuthorizationRef(record.authorizationRef)\n}\n\nfunction assertExecutor(executor: DurableExecutionExecutor): void {\n switch (executor.type) {\n case \"request\":\n assertNonBlank(executor.requestId, \"Executor request id\")\n return\n case \"primitive\":\n assertTrustedPrimitiveKind(executor.kind, \"Executor primitive kind\")\n assertNonBlank(executor.runId, \"Executor primitive run id\")\n return\n case \"agent\":\n assertNonBlank(executor.runId, \"Executor agent run id\")\n return\n case \"kernel\":\n assertKernelOperation(executor.operation, \"Executor kernel operation\")\n return\n default:\n invalid(`Unknown execution executor type '${String((executor as { type?: unknown }).type)}'.`)\n }\n}\n\nfunction assertSource(source: DurableExecutionSource): void {\n switch (source.type) {\n case \"http\":\n assertNonBlank(source.requestId, \"Execution source request id\")\n return\n case \"webhook\":\n assertNonBlank(source.deliveryId, \"Execution source delivery id\")\n return\n case \"schedule\":\n case \"event\":\n assertNonBlank(source.eventId, \"Execution source event id\")\n return\n case \"datasetVersion\":\n assertNonBlank(source.datasetId, \"Execution source dataset id\")\n assertNonBlank(source.versionId, \"Execution source dataset version id\")\n return\n case \"execution\":\n assertNonBlank(source.executionId, \"Execution source execution id\")\n return\n default:\n invalid(\n `Execution source type '${String((source as { type?: unknown }).type)}' is not durable.`\n )\n }\n}\n\nfunction assertAuthorizationRef(ref: AuthorizationRef): void {\n switch (ref.type) {\n case \"principal\":\n assertPrincipal(ref.principal, \"Authority principal\")\n if (ref.credential) {\n if (ref.credential.type !== \"session\" && ref.credential.type !== \"accessToken\") {\n invalid(\n `Unknown authority credential type '${String(\n (ref.credential as { type?: unknown }).type\n )}'.`\n )\n }\n assertNonBlank(ref.credential.id, \"Authority credential id\")\n }\n return\n case \"trustedPrimitive\":\n assertTrustedPrimitiveKind(ref.primitive.kind, \"Authority primitive kind\")\n assertNonBlank(ref.primitive.id, \"Authority primitive id\")\n assertNonBlank(ref.primitive.runId, \"Authority primitive run id\")\n return\n case \"kernel\":\n assertKernelOperation(ref.operation, \"Authority kernel operation\")\n return\n case \"disabled\":\n return\n default:\n invalid(`Unknown authorization reference type '${String((ref as { type?: unknown }).type)}'.`)\n }\n}\n\nfunction assertExecutorAuthority(record: ExecutionRecord): void {\n const { executor, authorizationRef, requestedBy, source } = record\n\n switch (executor.type) {\n case \"request\": {\n if (source.type !== \"http\" || source.requestId !== executor.requestId) {\n invalid(\"Request executions require a matching HTTP source request id.\")\n }\n if (authorizationRef.type === \"principal\") {\n if (!principalsEqual(requestedBy, authorizationRef.principal)) {\n invalid(\"Request authority must match its requested-by principal.\")\n }\n return\n }\n if (authorizationRef.type === \"disabled\") {\n if (requestedBy !== undefined) {\n invalid(\"Auth-disabled request executions cannot have a requested-by principal.\")\n }\n return\n }\n invalid(\"Request executions require principal or explicitly disabled authority.\")\n break\n }\n case \"primitive\": {\n if (authorizationRef.type !== \"trustedPrimitive\") {\n invalid(\"Primitive executions require trusted primitive authority.\")\n }\n if (\n authorizationRef.primitive.kind !== executor.kind ||\n authorizationRef.primitive.runId !== executor.runId\n ) {\n invalid(\"Trusted primitive authority must match the executor kind and run id.\")\n }\n return\n }\n case \"agent\": {\n if (\n authorizationRef.type !== \"principal\" ||\n authorizationRef.principal.type !== \"serviceAccount\"\n ) {\n invalid(\"Agent executions require service-account authority.\")\n }\n if (authorizationRef.credential !== undefined) {\n invalid(\"Agent execution authority cannot carry an external credential.\")\n }\n return\n }\n case \"kernel\": {\n if (\n authorizationRef.type !== \"kernel\" ||\n !kernelOperationsEqual(authorizationRef.operation, executor.operation)\n ) {\n invalid(\"Kernel authority must match the executor operation.\")\n }\n if (requestedBy !== undefined) {\n invalid(\"Kernel executions cannot have a requested-by principal.\")\n }\n return\n }\n }\n}\n\nasync function validatePrincipal(\n principal: AuthorizablePrincipal | undefined,\n projectId: string,\n label: string,\n lookup: ExecutionValidationLookup\n): Promise<void> {\n if (!principal) return\n\n const record =\n principal.type === \"user\"\n ? await lookup.auth.users.getById({ projectId, id: principal.id })\n : await lookup.auth.serviceAccounts.getById({ projectId, id: principal.id })\n if (!record) {\n throw new ExecutionStorageError(\n \"missing_principal\",\n `[Sixb] ${label} '${principal.id}' does not exist in project '${projectId}'.`\n )\n }\n}\n\nasync function validateCredential(\n record: ExecutionRecord,\n lookup: ExecutionValidationLookup\n): Promise<void> {\n if (record.authorizationRef.type !== \"principal\" || !record.authorizationRef.credential) return\n\n const { principal, credential } = record.authorizationRef\n if (credential.type === \"session\") {\n const session = await lookup.auth.sessions.getById({\n projectId: record.projectId,\n id: credential.id,\n })\n if (!session) {\n throw new ExecutionStorageError(\n \"missing_credential\",\n `[Sixb] Authority session '${credential.id}' does not exist in project '${record.projectId}'.`\n )\n }\n if (principal.type !== \"user\" || session.userId !== principal.id) {\n throw new ExecutionStorageError(\n \"invalid_credential\",\n `[Sixb] Authority session '${credential.id}' does not belong to principal '${principal.id}'.`\n )\n }\n return\n }\n\n const token = await lookup.auth.accessTokens.getById({\n projectId: record.projectId,\n id: credential.id,\n })\n if (!token) {\n throw new ExecutionStorageError(\n \"missing_credential\",\n `[Sixb] Authority access token '${credential.id}' does not exist in project '${record.projectId}'.`\n )\n }\n if (token.subjectType !== principal.type || token.subjectId !== principal.id) {\n throw new ExecutionStorageError(\n \"invalid_credential\",\n `[Sixb] Authority access token '${credential.id}' does not belong to principal '${principal.id}'.`\n )\n }\n}\n\nasync function validateParent(\n record: ExecutionRecord,\n lookup: ExecutionValidationLookup\n): Promise<void> {\n if (record.source.type !== \"execution\") return\n const parentExecutionId = record.source.executionId\n\n const parent = await lookup.getExecution({\n projectId: record.projectId,\n id: parentExecutionId,\n })\n if (!parent) {\n throw new ExecutionStorageError(\n \"missing_parent_execution\",\n `[Sixb] Parent execution '${parentExecutionId}' does not exist in project '${record.projectId}'.`\n )\n }\n if (parent.correlationId !== record.correlationId) {\n throw new ExecutionStorageError(\n \"invalid_parent_execution\",\n `[Sixb] Child execution '${record.id}' must preserve its parent correlation id.`\n )\n }\n if (!principalsEqual(parent.requestedBy, record.requestedBy)) {\n throw new ExecutionStorageError(\n \"invalid_parent_execution\",\n `[Sixb] Child execution '${record.id}' must preserve its parent requested-by principal.`\n )\n }\n}\n\nfunction assertPrincipal(principal: AuthorizablePrincipal, label: string): void {\n if (principal.type !== \"user\" && principal.type !== \"serviceAccount\") {\n invalid(`${label} has unsupported type '${String((principal as { type?: unknown }).type)}'.`)\n }\n assertNonBlank(principal.id, `${label} id`)\n}\n\nfunction assertKernelOperation(operation: KernelOperation, label: string): void {\n if (operation.type !== \"ontology.recover\") {\n invalid(`${label} has unsupported type '${String((operation as { type?: unknown }).type)}'.`)\n }\n assertNonBlank(operation.recoveryId, `${label} recovery id`)\n}\n\nfunction assertTrustedPrimitiveKind(value: string, label: string): void {\n if (!TRUSTED_PRIMITIVE_KINDS.has(value)) {\n invalid(`${label} '${value}' is not supported.`)\n }\n}\n\nfunction assertNonBlank(value: string, label: string): void {\n if (typeof value !== \"string\" || !value.trim()) {\n invalid(`${label} must be a non-empty string.`)\n }\n}\n\nfunction assertValidDate(value: Date, label: string): void {\n if (!(value instanceof Date) || !Number.isFinite(value.getTime())) {\n invalid(`${label} must be a valid date.`)\n }\n}\n\nfunction principalsEqual(\n left: AuthorizablePrincipal | undefined,\n right: AuthorizablePrincipal | undefined\n): boolean {\n return left?.type === right?.type && left?.id === right?.id\n}\n\nfunction kernelOperationsEqual(left: KernelOperation, right: KernelOperation): boolean {\n return left.type === right.type && left.recoveryId === right.recoveryId\n}\n\nfunction invalid(message: string): never {\n throw new ExecutionStorageError(\"invalid_input\", `[Sixb] ${message}`)\n}\n\nconst TRUSTED_PRIMITIVE_KINDS = new Set([\n \"action\",\n \"pipeline\",\n \"projection\",\n \"rule\",\n \"sync\",\n \"webhook\",\n \"workflow\",\n])\n"
7
+ ],
8
+ "mappings": "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",
9
+ "debugId": "903A9A3201175C6C64756E2164756E21",
10
+ "names": []
11
+ }
@@ -0,0 +1,59 @@
1
+ // @bun
2
+ import {
3
+ parseSixbFailure
4
+ } from "./chunk-0172wgm9.js";
5
+ import {
6
+ isPlainRecord
7
+ } from "./chunk-t8t39h7v.js";
8
+
9
+ // src/storage/action-runs/types.ts
10
+ var ACTION_RUN_PHASES = [
11
+ "request",
12
+ "enqueue",
13
+ "validation",
14
+ "writeback",
15
+ "edits",
16
+ "commit",
17
+ "effects",
18
+ "cancelled"
19
+ ];
20
+ var ACTION_RUN_FAILURE_CODES = [
21
+ "internal.unexpected",
22
+ "runtime.cancelled",
23
+ "queue.enqueue_failed",
24
+ "action.phase_failed"
25
+ ];
26
+
27
+ // src/storage/action-runs/failure.ts
28
+ function serializeActionRunFailure(failure, expectedPhase) {
29
+ const parsed = expectedPhase === undefined ? parseActionRunFailure(failure) : parseActionRunFailure(failure, expectedPhase);
30
+ return JSON.stringify(parsed);
31
+ }
32
+ function parseActionRunFailure(value, expectedPhase) {
33
+ const candidate = parseStoredActionRunFailureValue(value);
34
+ const failure = parseSixbFailure(candidate, ACTION_RUN_FAILURE_CODES);
35
+ const details = failure.details;
36
+ if (!isPlainRecord(details) || typeof details.actionId !== "string" || typeof details.runId !== "string" || typeof details.phase !== "string" || !ACTION_RUN_PHASES.includes(details.phase)) {
37
+ throw new Error("[Sixb] Stored failure is invalid: Action details must contain actionId, runId, and a known phase.");
38
+ }
39
+ if (expectedPhase !== undefined && details.phase !== expectedPhase) {
40
+ throw new Error(`[Sixb] Stored Action ${expectedPhase} failure has phase '${details.phase}'.`);
41
+ }
42
+ return {
43
+ ...failure,
44
+ details
45
+ };
46
+ }
47
+ function parseStoredActionRunFailureValue(value) {
48
+ if (typeof value !== "string")
49
+ return value;
50
+ try {
51
+ return JSON.parse(value);
52
+ } catch {
53
+ throw new Error("[Sixb] Stored failure is invalid: value is not valid JSON.");
54
+ }
55
+ }
56
+
57
+ export { ACTION_RUN_PHASES, ACTION_RUN_FAILURE_CODES, serializeActionRunFailure, parseActionRunFailure };
58
+
59
+ //# debugId=C0AEB0A8D7FE678664756E2164756E21
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/storage/action-runs/types.ts", "../src/storage/action-runs/failure.ts"],
4
+ "sourcesContent": [
5
+ "import type { ActionSubject } from \"../../actions\"\nimport type { SixbErrorCode, SixbFailure } from \"../../errors/types\"\nimport type { JsonValue } from \"../../json\"\n\nexport type ActionRunStatus = \"queued\" | \"running\" | \"succeeded\" | \"failed\" | \"cancelled\"\n\nexport const ACTION_RUN_PHASES = [\n \"request\",\n \"enqueue\",\n \"validation\",\n \"writeback\",\n \"edits\",\n \"commit\",\n \"effects\",\n \"cancelled\",\n] as const\n\nexport type ActionRunPhase = (typeof ACTION_RUN_PHASES)[number]\n\nexport type ActionRunParams = Readonly<Record<string, JsonValue>>\n\nexport type ActionRunPhaseStatus = \"succeeded\" | \"failed\"\n\n/** Error codes an action run or phase record can persist and expose. */\nexport const ACTION_RUN_FAILURE_CODES = [\n \"internal.unexpected\",\n \"runtime.cancelled\",\n \"queue.enqueue_failed\",\n \"action.phase_failed\",\n] as const satisfies readonly [SixbErrorCode, ...SixbErrorCode[]]\n\nexport type ActionRunFailureCode = (typeof ACTION_RUN_FAILURE_CODES)[number]\n\nexport interface ActionRunFailureDetails<TPhase extends ActionRunPhase = ActionRunPhase> {\n readonly actionId: string\n readonly runId: string\n readonly phase: TPhase\n}\n\n/** Portable failure record with Action's required correlation details. */\nexport interface ActionRunFailure<TPhase extends ActionRunPhase = ActionRunPhase>\n extends Omit<SixbFailure<ActionRunFailureCode>, \"details\"> {\n readonly details: ActionRunFailureDetails<TPhase>\n}\n\nexport type ActionRunWritebackRecord =\n | {\n readonly status: \"succeeded\"\n readonly completedAt: Date\n readonly result: JsonValue\n readonly error?: never\n }\n | {\n readonly status: \"failed\"\n readonly completedAt: Date\n readonly result?: never\n readonly error: ActionRunFailure<\"writeback\">\n }\n\nexport type ActionRunEffectsRecord =\n | {\n readonly status: \"succeeded\"\n readonly completedAt: Date\n readonly error?: never\n }\n | {\n readonly status: \"failed\"\n readonly completedAt: Date\n readonly error: ActionRunFailure<\"effects\">\n }\n\nexport interface ActionRunRecord {\n readonly id: string\n readonly projectId: string\n readonly executionId: string\n readonly actionId: string\n readonly subject: ActionSubject\n readonly status: ActionRunStatus\n readonly phase?: ActionRunPhase\n readonly queuedAt: Date\n readonly startedAt?: Date\n readonly finishedAt?: Date\n readonly params: ActionRunParams\n readonly idempotencyKey: string\n readonly writeback?: ActionRunWritebackRecord\n readonly effects?: ActionRunEffectsRecord\n readonly error?: ActionRunFailure\n}\n\nexport interface QueueActionRunInput {\n readonly id: string\n readonly projectId: string\n readonly executionId: string\n readonly actionId: string\n readonly subject: ActionSubject\n readonly params: ActionRunParams\n readonly idempotencyKey: string\n readonly queuedAt?: Date\n}\n\nexport interface StartActionRunInput {\n readonly id: string\n readonly projectId: string\n readonly startedAt?: Date\n readonly phase?: Extract<ActionRunPhase, \"validation\">\n}\n\nexport interface EnterActionRunPhaseInput {\n readonly id: string\n readonly projectId: string\n readonly phase: Extract<\n ActionRunPhase,\n \"validation\" | \"writeback\" | \"edits\" | \"commit\" | \"effects\"\n >\n}\n\nexport type RecordActionWritebackInput =\n | {\n readonly id: string\n readonly projectId: string\n readonly status: \"succeeded\"\n readonly completedAt?: Date\n readonly result: JsonValue\n }\n | {\n readonly id: string\n readonly projectId: string\n readonly status: \"failed\"\n readonly completedAt?: Date\n readonly error: ActionRunFailure<\"writeback\">\n }\n\nexport type RecordActionEffectsInput =\n | {\n readonly id: string\n readonly projectId: string\n readonly status: \"succeeded\"\n readonly completedAt?: Date\n }\n | {\n readonly id: string\n readonly projectId: string\n readonly status: \"failed\"\n readonly completedAt?: Date\n readonly error: ActionRunFailure<\"effects\">\n }\n\nexport type FinishActionRunInput =\n | {\n readonly id: string\n readonly projectId: string\n readonly status: \"succeeded\"\n readonly finishedAt?: Date\n readonly phase?: ActionRunPhase\n }\n | {\n readonly id: string\n readonly projectId: string\n readonly status: \"failed\" | \"cancelled\"\n readonly finishedAt?: Date\n readonly error: ActionRunFailure\n }\n\nexport interface ListActionRunsInput {\n readonly projectId: string\n readonly actionId?: string\n readonly actionIds?: readonly string[]\n readonly subject?: ActionSubject\n readonly objectTypeId?: string\n readonly objectTypeIds?: readonly string[]\n readonly primaryId?: string\n readonly statuses?: readonly ActionRunStatus[]\n readonly startedAfter?: Date\n readonly startedBefore?: Date\n readonly limit?: number\n readonly offset?: number\n readonly order?: \"asc\" | \"desc\"\n}\n\nexport interface ListActionRunsResult {\n readonly runs: readonly ActionRunRecord[]\n readonly hasMore: boolean\n readonly total: number\n}\n\nexport interface LockActionMaterializationRunInput {\n readonly projectId: string\n readonly actionId: string\n readonly runId: string\n}\n\nexport interface ActionRunStorage {\n /** Transactional fence for Action identity and running state before a new ontology commit. */\n lockForMaterialization(input: LockActionMaterializationRunInput): Promise<ActionRunRecord>\n queue(input: QueueActionRunInput): Promise<ActionRunRecord>\n start(input: StartActionRunInput): Promise<ActionRunRecord>\n enterPhase(input: EnterActionRunPhaseInput): Promise<ActionRunRecord>\n recordWriteback(input: RecordActionWritebackInput): Promise<ActionRunRecord>\n recordEffects(input: RecordActionEffectsInput): Promise<ActionRunRecord>\n finish(input: FinishActionRunInput): Promise<ActionRunRecord>\n getById(params: { projectId: string; id: string }): Promise<ActionRunRecord | null>\n list(input: ListActionRunsInput): Promise<ListActionRunsResult>\n}\n",
6
+ "import { parseSixbFailure } from \"../../errors/internal\"\nimport { isPlainRecord } from \"../../json\"\nimport {\n ACTION_RUN_FAILURE_CODES,\n ACTION_RUN_PHASES,\n type ActionRunFailure,\n type ActionRunFailureDetails,\n type ActionRunPhase,\n} from \"./types\"\n\n/** Serializes the canonical failure plus Action's typed lifecycle extension. */\nexport function serializeActionRunFailure<TPhase extends ActionRunPhase>(\n failure: ActionRunFailure<TPhase>,\n expectedPhase?: TPhase\n): string {\n const parsed =\n expectedPhase === undefined\n ? parseActionRunFailure(failure)\n : parseActionRunFailure(failure, expectedPhase)\n return JSON.stringify(parsed)\n}\n\n/** Validates and detaches an Action failure read from a storage boundary. */\nexport function parseActionRunFailure<TPhase extends ActionRunPhase>(\n value: unknown,\n expectedPhase: TPhase\n): ActionRunFailure<TPhase>\nexport function parseActionRunFailure(value: unknown): ActionRunFailure\nexport function parseActionRunFailure(\n value: unknown,\n expectedPhase?: ActionRunPhase\n): ActionRunFailure {\n const candidate = parseStoredActionRunFailureValue(value)\n const failure = parseSixbFailure(candidate, ACTION_RUN_FAILURE_CODES)\n const details = failure.details\n if (\n !isPlainRecord(details) ||\n typeof details.actionId !== \"string\" ||\n typeof details.runId !== \"string\" ||\n typeof details.phase !== \"string\" ||\n !(ACTION_RUN_PHASES as readonly string[]).includes(details.phase)\n ) {\n throw new Error(\n \"[Sixb] Stored failure is invalid: Action details must contain actionId, runId, and a known phase.\"\n )\n }\n if (expectedPhase !== undefined && details.phase !== expectedPhase) {\n throw new Error(`[Sixb] Stored Action ${expectedPhase} failure has phase '${details.phase}'.`)\n }\n\n return {\n ...failure,\n details: details as unknown as ActionRunFailureDetails,\n }\n}\n\nfunction parseStoredActionRunFailureValue(value: unknown): unknown {\n if (typeof value !== \"string\") return value\n try {\n return JSON.parse(value) as unknown\n } catch {\n throw new Error(\"[Sixb] Stored failure is invalid: value is not valid JSON.\")\n }\n}\n"
7
+ ],
8
+ "mappings": ";;;;;;;;;AAMO,IAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AASO,IAAM,2BAA2B;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;AClBO,SAAS,yBAAwD,CACtE,SACA,eACQ;AAAA,EACR,MAAM,SACJ,kBAAkB,YACd,sBAAsB,OAAO,IAC7B,sBAAsB,SAAS,aAAa;AAAA,EAClD,OAAO,KAAK,UAAU,MAAM;AAAA;AASvB,SAAS,qBAAqB,CACnC,OACA,eACkB;AAAA,EAClB,MAAM,YAAY,iCAAiC,KAAK;AAAA,EACxD,MAAM,UAAU,iBAAiB,WAAW,wBAAwB;AAAA,EACpE,MAAM,UAAU,QAAQ;AAAA,EACxB,IACE,CAAC,cAAc,OAAO,KACtB,OAAO,QAAQ,aAAa,YAC5B,OAAO,QAAQ,UAAU,YACzB,OAAO,QAAQ,UAAU,YACzB,CAAE,kBAAwC,SAAS,QAAQ,KAAK,GAChE;AAAA,IACA,MAAM,IAAI,MACR,mGACF;AAAA,EACF;AAAA,EACA,IAAI,kBAAkB,aAAa,QAAQ,UAAU,eAAe;AAAA,IAClE,MAAM,IAAI,MAAM,wBAAwB,oCAAoC,QAAQ,SAAS;AAAA,EAC/F;AAAA,EAEA,OAAO;AAAA,OACF;AAAA,IACH;AAAA,EACF;AAAA;AAGF,SAAS,gCAAgC,CAAC,OAAyB;AAAA,EACjE,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO;AAAA,EACtC,IAAI;AAAA,IACF,OAAO,KAAK,MAAM,KAAK;AAAA,IACvB,MAAM;AAAA,IACN,MAAM,IAAI,MAAM,4DAA4D;AAAA;AAAA;",
9
+ "debugId": "C0AEB0A8D7FE678664756E2164756E21",
10
+ "names": []
11
+ }