@sixb/core 0.1.8 → 0.1.10

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 (785) hide show
  1. package/dist/actions/index.js +77 -89
  2. package/dist/actions/index.js.map +1 -1
  3. package/dist/actions/run-dispatch.d.ts.map +1 -1
  4. package/dist/actions/types/context.d.ts +2 -0
  5. package/dist/actions/types/context.d.ts.map +1 -1
  6. package/dist/actions/validation.d.ts +1 -1
  7. package/dist/actions/validation.d.ts.map +1 -1
  8. package/dist/actions/worker.js +33 -37
  9. package/dist/actions/worker.js.map +2 -2
  10. package/dist/agents/adapters.d.ts +3 -3
  11. package/dist/agents/{context.d.ts → context/entries.d.ts} +3 -3
  12. package/dist/agents/context/entries.d.ts.map +1 -0
  13. package/dist/agents/context/index.d.ts +4 -0
  14. package/dist/agents/context/index.d.ts.map +1 -0
  15. package/dist/agents/context/index.js +19 -0
  16. package/dist/agents/{streams.js.map → context/index.js.map} +1 -1
  17. package/dist/agents/context-model.d.ts +1 -1
  18. package/dist/agents/context-model.d.ts.map +1 -1
  19. package/dist/agents/context-resolution.d.ts +1 -1
  20. package/dist/agents/context-resolution.d.ts.map +1 -1
  21. package/dist/agents/index.d.ts +4 -4
  22. package/dist/agents/index.d.ts.map +1 -1
  23. package/dist/agents/index.js +193 -204
  24. package/dist/agents/index.js.map +1 -1
  25. package/dist/agents/message.d.ts +1 -1
  26. package/dist/agents/message.d.ts.map +1 -1
  27. package/dist/agents/model-loop.d.ts +2 -0
  28. package/dist/agents/model-loop.d.ts.map +1 -1
  29. package/dist/agents/request.d.ts +1 -1
  30. package/dist/agents/request.d.ts.map +1 -1
  31. package/dist/agents/streams/index.d.ts +4 -0
  32. package/dist/agents/streams/index.d.ts.map +1 -0
  33. package/dist/agents/streams/index.js +20 -0
  34. package/dist/{chunk-y64skrwp.js.map → agents/streams/index.js.map} +1 -1
  35. package/dist/agents/streams/internal.d.ts +3 -0
  36. package/dist/agents/streams/internal.d.ts.map +1 -0
  37. package/dist/agents/streams/internal.js +40 -0
  38. package/dist/agents/{context.js.map → streams/internal.js.map} +1 -1
  39. package/dist/agents/{streams.d.ts → streams/protocol.d.ts} +5 -5
  40. package/dist/agents/streams/protocol.d.ts.map +1 -0
  41. package/dist/agents/types.d.ts +1 -1
  42. package/dist/agents/types.d.ts.map +1 -1
  43. package/dist/agents/validation.d.ts.map +1 -1
  44. package/dist/auth/index.d.ts +0 -1
  45. package/dist/auth/index.d.ts.map +1 -1
  46. package/dist/auth/index.js +96 -108
  47. package/dist/auth/index.js.map +1 -1
  48. package/dist/auth/strategy.js +8 -9
  49. package/dist/auth/strategy.js.map +1 -1
  50. package/dist/authorization/index.js +51 -56
  51. package/dist/authorization/index.js.map +1 -1
  52. package/dist/blob-storage/browser.js +15 -17
  53. package/dist/blob-storage/browser.js.map +1 -1
  54. package/dist/blob-storage/index.js +36 -38
  55. package/dist/blob-storage/index.js.map +1 -1
  56. package/dist/bootstrap/discovery.d.ts +14 -1
  57. package/dist/bootstrap/discovery.d.ts.map +1 -1
  58. package/dist/bootstrap/index.d.ts +2 -2
  59. package/dist/bootstrap/index.d.ts.map +1 -1
  60. package/dist/bootstrap/index.js +80 -88
  61. package/dist/bootstrap/index.js.map +1 -1
  62. package/dist/broker/in-memory.d.ts +8 -2
  63. package/dist/broker/in-memory.d.ts.map +1 -1
  64. package/dist/broker/index.d.ts +4 -2
  65. package/dist/broker/index.d.ts.map +1 -1
  66. package/dist/broker/index.js +12 -10
  67. package/dist/broker/index.js.map +1 -1
  68. package/dist/broker/retention.d.ts +4 -0
  69. package/dist/broker/retention.d.ts.map +1 -0
  70. package/dist/broker/subscriber.d.ts +10 -0
  71. package/dist/broker/subscriber.d.ts.map +1 -0
  72. package/dist/broker/types.d.ts +14 -1
  73. package/dist/broker/types.d.ts.map +1 -1
  74. package/dist/chunk-0y39rgsb.js +43 -0
  75. package/dist/{chunk-c15dr03f.js.map → chunk-0y39rgsb.js.map} +2 -2
  76. package/dist/{chunk-k522z7v6.js → chunk-17kfctj6.js} +16 -11
  77. package/dist/chunk-17kfctj6.js.map +10 -0
  78. package/dist/{chunk-ajnan18g.js → chunk-1824gssz.js} +74 -106
  79. package/dist/chunk-1824gssz.js.map +12 -0
  80. package/dist/chunk-28ja2cjs.js +602 -0
  81. package/dist/chunk-28ja2cjs.js.map +18 -0
  82. package/dist/{chunk-5gd7tpv6.js → chunk-2c4j899j.js} +4 -4
  83. package/dist/chunk-2c4j899j.js.map +11 -0
  84. package/dist/{chunk-rv2hkwwa.js → chunk-358caqf5.js} +157 -180
  85. package/dist/chunk-358caqf5.js.map +12 -0
  86. package/dist/{chunk-fvt9rjsa.js → chunk-38zv5rkr.js} +4 -4
  87. package/dist/{chunk-fvt9rjsa.js.map → chunk-38zv5rkr.js.map} +1 -1
  88. package/dist/{chunk-w3e09qqk.js → chunk-39tqv9hz.js} +24 -24
  89. package/dist/{chunk-w3e09qqk.js.map → chunk-39tqv9hz.js.map} +2 -2
  90. package/dist/{chunk-04b07a9q.js → chunk-3bh94gbw.js} +13 -13
  91. package/dist/{chunk-04b07a9q.js.map → chunk-3bh94gbw.js.map} +2 -2
  92. package/dist/{chunk-s5y30bc9.js → chunk-3qms4nax.js} +52 -50
  93. package/dist/{chunk-s5y30bc9.js.map → chunk-3qms4nax.js.map} +5 -5
  94. package/dist/{chunk-nf4r78r4.js → chunk-5a4a52tq.js} +4 -4
  95. package/dist/{chunk-nf4r78r4.js.map → chunk-5a4a52tq.js.map} +2 -2
  96. package/dist/{chunk-wtf06et8.js → chunk-5c7ga8zz.js} +54 -177
  97. package/dist/chunk-5c7ga8zz.js.map +12 -0
  98. package/dist/{chunk-rte5sm3z.js → chunk-5hz0fnca.js} +23 -23
  99. package/dist/{chunk-rte5sm3z.js.map → chunk-5hz0fnca.js.map} +2 -2
  100. package/dist/{chunk-xajtptbw.js → chunk-5p1v802y.js} +1401 -445
  101. package/dist/chunk-5p1v802y.js.map +44 -0
  102. package/dist/chunk-653vwrzr.js +39 -0
  103. package/dist/chunk-653vwrzr.js.map +10 -0
  104. package/dist/{chunk-qw9gvjv5.js → chunk-72w2pxk7.js} +13 -13
  105. package/dist/{chunk-qw9gvjv5.js.map → chunk-72w2pxk7.js.map} +2 -2
  106. package/dist/chunk-7apz6hg4.js +50 -0
  107. package/dist/{chunk-jq43kdvk.js.map → chunk-7apz6hg4.js.map} +2 -2
  108. package/dist/chunk-7bs40fe1.js +218 -0
  109. package/dist/{chunk-p1rzczbt.js.map → chunk-7bs40fe1.js.map} +3 -3
  110. package/dist/chunk-7zgecwy1.js +113 -0
  111. package/dist/chunk-7zgecwy1.js.map +10 -0
  112. package/dist/{chunk-xhy826cz.js → chunk-85cd7e8c.js} +8 -7
  113. package/dist/chunk-85cd7e8c.js.map +10 -0
  114. package/dist/{chunk-pc7ys28c.js → chunk-860dwwy0.js} +29 -29
  115. package/dist/{chunk-pc7ys28c.js.map → chunk-860dwwy0.js.map} +2 -2
  116. package/dist/chunk-8vj0rjgs.js +165 -0
  117. package/dist/chunk-8vj0rjgs.js.map +15 -0
  118. package/dist/{chunk-7y0f6rf1.js → chunk-92vk7gta.js} +58 -58
  119. package/dist/chunk-92vk7gta.js.map +10 -0
  120. package/dist/{chunk-rafagrwr.js → chunk-93csa55g.js} +45 -17
  121. package/dist/chunk-93csa55g.js.map +11 -0
  122. package/dist/{chunk-aa2pen2v.js → chunk-976rxdpx.js} +188 -175
  123. package/dist/{chunk-aa2pen2v.js.map → chunk-976rxdpx.js.map} +2 -2
  124. package/dist/{chunk-d8qkxt2v.js → chunk-98cw09sw.js} +7 -7
  125. package/dist/chunk-98cw09sw.js.map +10 -0
  126. package/dist/{chunk-n4khvw9n.js → chunk-9qsh3p5y.js} +17 -17
  127. package/dist/{chunk-n4khvw9n.js.map → chunk-9qsh3p5y.js.map} +2 -2
  128. package/dist/{chunk-4a849fr1.js → chunk-9tc8dxmn.js} +1 -1
  129. package/dist/{chunk-9nbmsvn5.js → chunk-9vx5e9g1.js} +9 -9
  130. package/dist/{chunk-9nbmsvn5.js.map → chunk-9vx5e9g1.js.map} +2 -2
  131. package/dist/{chunk-8m5ejdpn.js → chunk-9x8dybsb.js} +5 -5
  132. package/dist/chunk-9x8dybsb.js.map +10 -0
  133. package/dist/chunk-aa6z4a19.js +358 -0
  134. package/dist/chunk-aa6z4a19.js.map +12 -0
  135. package/dist/{chunk-3xep5cjx.js → chunk-agbbygvh.js} +104 -86
  136. package/dist/chunk-agbbygvh.js.map +15 -0
  137. package/dist/{chunk-2dw777qw.js → chunk-ap0g1g74.js} +37 -82
  138. package/dist/{chunk-2dw777qw.js.map → chunk-ap0g1g74.js.map} +3 -4
  139. package/dist/{chunk-v4en4jc2.js → chunk-awbhdqyc.js} +7 -7
  140. package/dist/{chunk-v4en4jc2.js.map → chunk-awbhdqyc.js.map} +2 -2
  141. package/dist/{chunk-w9tg6yyb.js → chunk-b0ec55a1.js} +54 -37
  142. package/dist/chunk-b0ec55a1.js.map +12 -0
  143. package/dist/{chunk-ka3a2ft3.js → chunk-b19g04jk.js} +12 -12
  144. package/dist/{chunk-ka3a2ft3.js.map → chunk-b19g04jk.js.map} +2 -2
  145. package/dist/{chunk-gbejpkex.js → chunk-bn138h9w.js} +27 -28
  146. package/dist/{chunk-gbejpkex.js.map → chunk-bn138h9w.js.map} +3 -3
  147. package/dist/{chunk-nx7k8tpr.js → chunk-br3k6qbf.js} +23 -23
  148. package/dist/{chunk-nx7k8tpr.js.map → chunk-br3k6qbf.js.map} +2 -2
  149. package/dist/{chunk-dbc80ad7.js → chunk-c5rkjrgp.js} +28 -28
  150. package/dist/{chunk-dbc80ad7.js.map → chunk-c5rkjrgp.js.map} +2 -2
  151. package/dist/{chunk-dktq02ne.js → chunk-cqr3acm1.js} +4 -4
  152. package/dist/{chunk-dktq02ne.js.map → chunk-cqr3acm1.js.map} +2 -2
  153. package/dist/chunk-d62kjtbg.js +7 -0
  154. package/dist/{chunk-zcnhxkvd.js.map → chunk-d62kjtbg.js.map} +2 -2
  155. package/dist/{chunk-74drx9gd.js → chunk-dfm066qg.js} +10 -10
  156. package/dist/{chunk-74drx9gd.js.map → chunk-dfm066qg.js.map} +2 -2
  157. package/dist/{chunk-5e3pq99w.js → chunk-dmn70ztd.js} +30 -30
  158. package/dist/chunk-dmn70ztd.js.map +11 -0
  159. package/dist/{chunk-p1x242ad.js → chunk-dz5h08xv.js} +175 -175
  160. package/dist/{chunk-p1x242ad.js.map → chunk-dz5h08xv.js.map} +2 -2
  161. package/dist/{chunk-p2vqaxkc.js → chunk-e0d1rzef.js} +27 -22
  162. package/dist/{chunk-p2vqaxkc.js.map → chunk-e0d1rzef.js.map} +3 -3
  163. package/dist/{chunk-5sz8ta9r.js → chunk-e1c18xjx.js} +52 -52
  164. package/dist/{chunk-5sz8ta9r.js.map → chunk-e1c18xjx.js.map} +2 -2
  165. package/dist/{chunk-19jp6g9d.js → chunk-f0rwz2vh.js} +54 -33
  166. package/dist/chunk-f0rwz2vh.js.map +11 -0
  167. package/dist/{chunk-2xns679x.js → chunk-f4w3yp4f.js} +171 -36
  168. package/dist/chunk-f4w3yp4f.js.map +12 -0
  169. package/dist/{chunk-979ww6b3.js → chunk-fb3feg1e.js} +29 -29
  170. package/dist/{chunk-979ww6b3.js.map → chunk-fb3feg1e.js.map} +2 -2
  171. package/dist/{chunk-f26bck4t.js → chunk-ftv470j8.js} +393 -355
  172. package/dist/{chunk-f26bck4t.js.map → chunk-ftv470j8.js.map} +7 -7
  173. package/dist/{chunk-4sm0aznx.js → chunk-g00bfdq6.js} +254 -256
  174. package/dist/{chunk-4sm0aznx.js.map → chunk-g00bfdq6.js.map} +3 -3
  175. package/dist/{chunk-p03r0h5s.js → chunk-g53f0e4j.js} +76 -202
  176. package/dist/chunk-g53f0e4j.js.map +15 -0
  177. package/dist/chunk-g6cke204.js +124 -0
  178. package/dist/chunk-g6cke204.js.map +10 -0
  179. package/dist/{chunk-q0k9nc5a.js → chunk-g7knyczr.js} +98 -98
  180. package/dist/{chunk-q0k9nc5a.js.map → chunk-g7knyczr.js.map} +2 -2
  181. package/dist/{chunk-51fjndv0.js → chunk-gfdh9kqa.js} +4 -4
  182. package/dist/{chunk-51fjndv0.js.map → chunk-gfdh9kqa.js.map} +2 -2
  183. package/dist/{chunk-8tsf6dmc.js → chunk-gqh45d2n.js} +244 -205
  184. package/dist/chunk-gqh45d2n.js.map +15 -0
  185. package/dist/chunk-h3v76ams.js +32 -0
  186. package/dist/{chunk-08m3b6w8.js.map → chunk-h3v76ams.js.map} +2 -2
  187. package/dist/{chunk-jecn6t54.js → chunk-jgwb25gc.js} +74 -74
  188. package/dist/{chunk-jecn6t54.js.map → chunk-jgwb25gc.js.map} +2 -2
  189. package/dist/{chunk-wdage1eb.js → chunk-jmfet9r4.js} +6 -6
  190. package/dist/{chunk-wdage1eb.js.map → chunk-jmfet9r4.js.map} +2 -2
  191. package/dist/{chunk-k34z5rvh.js → chunk-kfee1h52.js} +132 -48
  192. package/dist/chunk-kfee1h52.js.map +13 -0
  193. package/dist/{chunk-2ab72m2h.js → chunk-m2ca93my.js} +3 -3
  194. package/dist/{chunk-2ab72m2h.js.map → chunk-m2ca93my.js.map} +2 -2
  195. package/dist/{chunk-4jjp5k14.js → chunk-mmagke4x.js} +6 -6
  196. package/dist/{chunk-4jjp5k14.js.map → chunk-mmagke4x.js.map} +2 -2
  197. package/dist/{chunk-359jm1jw.js → chunk-mrp7k0pw.js} +20 -20
  198. package/dist/{chunk-359jm1jw.js.map → chunk-mrp7k0pw.js.map} +2 -2
  199. package/dist/{chunk-h0k55pc7.js → chunk-ms2tmn1k.js} +139 -139
  200. package/dist/{chunk-h0k55pc7.js.map → chunk-ms2tmn1k.js.map} +2 -2
  201. package/dist/{chunk-h5vqbfmd.js → chunk-nmbxcaqx.js} +117 -117
  202. package/dist/{chunk-h5vqbfmd.js.map → chunk-nmbxcaqx.js.map} +3 -3
  203. package/dist/{chunk-n2w475r0.js → chunk-nt99sxd6.js} +82 -82
  204. package/dist/{chunk-n2w475r0.js.map → chunk-nt99sxd6.js.map} +3 -3
  205. package/dist/{chunk-v1xppd0y.js → chunk-p5vcsw9c.js} +60 -60
  206. package/dist/{chunk-v1xppd0y.js.map → chunk-p5vcsw9c.js.map} +2 -2
  207. package/dist/{chunk-sbzzr4kx.js → chunk-p6a4npdx.js} +1260 -1289
  208. package/dist/chunk-p6a4npdx.js.map +58 -0
  209. package/dist/{chunk-trxxmgnf.js → chunk-pqajwytd.js} +10 -10
  210. package/dist/{chunk-trxxmgnf.js.map → chunk-pqajwytd.js.map} +3 -3
  211. package/dist/{chunk-nn0tekr1.js → chunk-pr2h4bv4.js} +33 -33
  212. package/dist/{chunk-nn0tekr1.js.map → chunk-pr2h4bv4.js.map} +2 -2
  213. package/dist/{chunk-xwnf87e1.js → chunk-q5gz3g2j.js} +64 -64
  214. package/dist/{chunk-xwnf87e1.js.map → chunk-q5gz3g2j.js.map} +2 -2
  215. package/dist/{chunk-5ntny1qx.js → chunk-qf954wje.js} +6 -6
  216. package/dist/{chunk-5ntny1qx.js.map → chunk-qf954wje.js.map} +2 -2
  217. package/dist/chunk-qma80ych.js +30 -0
  218. package/dist/chunk-qma80ych.js.map +11 -0
  219. package/dist/{chunk-mth82m8t.js → chunk-qyeptdyv.js} +171 -77
  220. package/dist/chunk-qyeptdyv.js.map +15 -0
  221. package/dist/{chunk-b49dgvsj.js → chunk-r2y23egw.js} +3 -3
  222. package/dist/{chunk-b49dgvsj.js.map → chunk-r2y23egw.js.map} +2 -2
  223. package/dist/{chunk-mwsxn98e.js → chunk-r7fj830t.js} +253 -200
  224. package/dist/chunk-r7fj830t.js.map +36 -0
  225. package/dist/{chunk-4rh2m6zg.js → chunk-rb1xx120.js} +13 -13
  226. package/dist/{chunk-4rh2m6zg.js.map → chunk-rb1xx120.js.map} +2 -2
  227. package/dist/{chunk-gzasd5b6.js → chunk-rtk71jzp.js} +22 -22
  228. package/dist/{chunk-gzasd5b6.js.map → chunk-rtk71jzp.js.map} +2 -2
  229. package/dist/chunk-s3csryxe.js +152 -0
  230. package/dist/chunk-s3csryxe.js.map +11 -0
  231. package/dist/chunk-s670k14v.js +60 -0
  232. package/dist/{chunk-407j3msh.js.map → chunk-s670k14v.js.map} +2 -2
  233. package/dist/chunk-skz0hst3.js +788 -0
  234. package/dist/chunk-skz0hst3.js.map +19 -0
  235. package/dist/{chunk-3z1qec12.js → chunk-t1f4f1ve.js} +107 -64
  236. package/dist/{chunk-3z1qec12.js.map → chunk-t1f4f1ve.js.map} +3 -3
  237. package/dist/chunk-v2vcg0w6.js +151 -0
  238. package/dist/chunk-v2vcg0w6.js.map +11 -0
  239. package/dist/{chunk-r8jrnexe.js → chunk-v4jbb3rs.js} +4 -4
  240. package/dist/{chunk-r8jrnexe.js.map → chunk-v4jbb3rs.js.map} +2 -2
  241. package/dist/{chunk-w1tvjszy.js → chunk-vsj3mdfj.js} +8 -8
  242. package/dist/{chunk-w1tvjszy.js.map → chunk-vsj3mdfj.js.map} +2 -2
  243. package/dist/{chunk-9dzba0f2.js → chunk-wjasrj67.js} +8 -8
  244. package/dist/{chunk-9dzba0f2.js.map → chunk-wjasrj67.js.map} +2 -2
  245. package/dist/{chunk-1evzqhks.js → chunk-wr8qp979.js} +6 -6
  246. package/dist/{chunk-1evzqhks.js.map → chunk-wr8qp979.js.map} +2 -2
  247. package/dist/{chunk-n6jxh8sw.js → chunk-wy0qdqfm.js} +18 -18
  248. package/dist/{chunk-n6jxh8sw.js.map → chunk-wy0qdqfm.js.map} +2 -2
  249. package/dist/{chunk-z4ccwbkz.js → chunk-x9v4cx1d.js} +1 -1
  250. package/dist/{chunk-ry24jbr1.js → chunk-yv79ncbv.js} +10 -10
  251. package/dist/{chunk-ry24jbr1.js.map → chunk-yv79ncbv.js.map} +2 -2
  252. package/dist/{chunk-yp8ee62z.js → chunk-z30bv4ga.js} +35 -35
  253. package/dist/{chunk-yp8ee62z.js.map → chunk-z30bv4ga.js.map} +2 -2
  254. package/dist/{chunk-8ydjhh27.js → chunk-z3y411fq.js} +11 -7
  255. package/dist/{chunk-8ydjhh27.js.map → chunk-z3y411fq.js.map} +3 -3
  256. package/dist/{chunk-9t8f5xfx.js → chunk-z5rnrmz1.js} +10 -10
  257. package/dist/{chunk-9t8f5xfx.js.map → chunk-z5rnrmz1.js.map} +2 -2
  258. package/dist/{chunk-96swp2wd.js → chunk-z667z3sg.js} +3 -3
  259. package/dist/{chunk-96swp2wd.js.map → chunk-z667z3sg.js.map} +2 -2
  260. package/dist/{chunk-4yqmp43v.js → chunk-z8fx5cgb.js} +12 -12
  261. package/dist/{chunk-4yqmp43v.js.map → chunk-z8fx5cgb.js.map} +2 -2
  262. package/dist/{chunk-yt8wphsx.js → chunk-zvx7h87b.js} +3 -3
  263. package/dist/{chunk-yt8wphsx.js.map → chunk-zvx7h87b.js.map} +2 -2
  264. package/dist/connectors/connections/authorizations.d.ts.map +1 -1
  265. package/dist/connectors/connections/contracts.d.ts +3 -0
  266. package/dist/connectors/connections/contracts.d.ts.map +1 -1
  267. package/dist/connectors/connections/internal.js +9 -10
  268. package/dist/connectors/connections/internal.js.map +1 -1
  269. package/dist/connectors/connections/request.d.ts +3 -1
  270. package/dist/connectors/connections/request.d.ts.map +1 -1
  271. package/dist/connectors/connections/runs.d.ts.map +1 -1
  272. package/dist/connectors/connections/tokens.d.ts.map +1 -1
  273. package/dist/connectors/connections/validation.d.ts +5 -1
  274. package/dist/connectors/connections/validation.d.ts.map +1 -1
  275. package/dist/connectors/types.d.ts +19 -4
  276. package/dist/connectors/types.d.ts.map +1 -1
  277. package/dist/datasets/write.js +8 -12
  278. package/dist/datasets/write.js.map +1 -1
  279. package/dist/edits/index.js +7 -8
  280. package/dist/edits/index.js.map +1 -1
  281. package/dist/error-reporting/internal.js +22 -24
  282. package/dist/error-reporting/internal.js.map +1 -1
  283. package/dist/errors/internal.d.ts +1 -1
  284. package/dist/errors/internal.d.ts.map +1 -1
  285. package/dist/errors/internal.js +22 -24
  286. package/dist/errors/internal.js.map +1 -1
  287. package/dist/errors/redaction.d.ts +8 -0
  288. package/dist/errors/redaction.d.ts.map +1 -0
  289. package/dist/errors/types.d.ts +4 -0
  290. package/dist/errors/types.d.ts.map +1 -1
  291. package/dist/events/execution.d.ts +1 -1
  292. package/dist/events/execution.d.ts.map +1 -1
  293. package/dist/events/index.js +60 -63
  294. package/dist/events/index.js.map +1 -1
  295. package/dist/events/scope.js +4 -5
  296. package/dist/events/scope.js.map +1 -1
  297. package/dist/events/selectors/index.js +9 -10
  298. package/dist/events/selectors/index.js.map +1 -1
  299. package/dist/events/service.d.ts +2 -2
  300. package/dist/events/service.d.ts.map +1 -1
  301. package/dist/execution/agent.d.ts +3 -3
  302. package/dist/execution/agent.d.ts.map +1 -1
  303. package/dist/execution/agent.js +71 -82
  304. package/dist/execution/agent.js.map +1 -1
  305. package/dist/execution/durable.d.ts +1 -0
  306. package/dist/execution/durable.d.ts.map +1 -1
  307. package/dist/execution/primitive.d.ts +2 -0
  308. package/dist/execution/primitive.d.ts.map +1 -1
  309. package/dist/execution/primitive.js +64 -71
  310. package/dist/execution/primitive.js.map +3 -3
  311. package/dist/execution/request.d.ts +1 -0
  312. package/dist/execution/request.d.ts.map +1 -1
  313. package/dist/execution/request.js +66 -75
  314. package/dist/execution/request.js.map +3 -3
  315. package/dist/http/index.js +10 -11
  316. package/dist/http/index.js.map +1 -1
  317. package/dist/index.d.ts +17 -13
  318. package/dist/index.d.ts.map +1 -1
  319. package/dist/index.js +457 -477
  320. package/dist/index.js.map +1 -1
  321. package/dist/lake-storage/changes.d.ts +5 -0
  322. package/dist/lake-storage/changes.d.ts.map +1 -0
  323. package/dist/lake-storage/in-memory.d.ts +2 -1
  324. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  325. package/dist/lake-storage/index.d.ts +2 -1
  326. package/dist/lake-storage/index.d.ts.map +1 -1
  327. package/dist/lake-storage/index.js +40 -42
  328. package/dist/lake-storage/index.js.map +1 -1
  329. package/dist/lake-storage/types.d.ts +36 -0
  330. package/dist/lake-storage/types.d.ts.map +1 -1
  331. package/dist/logging/index.d.ts +3 -4
  332. package/dist/logging/index.d.ts.map +1 -1
  333. package/dist/logging/index.js +18 -40
  334. package/dist/logging/index.js.map +1 -1
  335. package/dist/logging/internal.d.ts +5 -0
  336. package/dist/logging/internal.d.ts.map +1 -0
  337. package/dist/logging/internal.js +43 -0
  338. package/dist/logging/internal.js.map +9 -0
  339. package/dist/materialization/index.d.ts +1 -1
  340. package/dist/materialization/index.d.ts.map +1 -1
  341. package/dist/materialization/index.js +46 -49
  342. package/dist/materialization/index.js.map +1 -1
  343. package/dist/materialization/model.d.ts +12 -1
  344. package/dist/materialization/model.d.ts.map +1 -1
  345. package/dist/materializer/index.d.ts +1 -1
  346. package/dist/materializer/index.d.ts.map +1 -1
  347. package/dist/materializer/index.js +137 -145
  348. package/dist/materializer/index.js.map +1 -1
  349. package/dist/materializer/materializer.d.ts +5 -1
  350. package/dist/materializer/materializer.d.ts.map +1 -1
  351. package/dist/materializer/projections/entry-validator.d.ts +2 -1
  352. package/dist/materializer/projections/entry-validator.d.ts.map +1 -1
  353. package/dist/materializer/projections/replace.d.ts.map +1 -1
  354. package/dist/materializer/projections/source-materialization.d.ts +4 -3
  355. package/dist/materializer/projections/source-materialization.d.ts.map +1 -1
  356. package/dist/materializer/shared/normalize.d.ts +2 -1
  357. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  358. package/dist/models/errors.d.ts +4 -0
  359. package/dist/models/errors.d.ts.map +1 -1
  360. package/dist/models/execution/binding.d.ts +9 -0
  361. package/dist/models/execution/binding.d.ts.map +1 -0
  362. package/dist/models/execution/errors.d.ts +9 -0
  363. package/dist/models/execution/errors.d.ts.map +1 -0
  364. package/dist/models/execution/index.d.ts +11 -0
  365. package/dist/models/execution/index.d.ts.map +1 -0
  366. package/dist/models/execution/index.js +55 -0
  367. package/dist/models/execution/index.js.map +9 -0
  368. package/dist/models/execution/model-call-accounting.d.ts +17 -0
  369. package/dist/models/execution/model-call-accounting.d.ts.map +1 -0
  370. package/dist/models/execution/model-call-admission.d.ts +47 -0
  371. package/dist/models/execution/model-call-admission.d.ts.map +1 -0
  372. package/dist/models/execution/model-call-limits.d.ts +15 -0
  373. package/dist/models/execution/model-call-limits.d.ts.map +1 -0
  374. package/dist/models/execution/model-call-recorder.d.ts +40 -0
  375. package/dist/models/execution/model-call-recorder.d.ts.map +1 -0
  376. package/dist/models/execution/model-call-recovery.d.ts +12 -0
  377. package/dist/models/execution/model-call-recovery.d.ts.map +1 -0
  378. package/dist/models/execution/recovery-queue.d.ts +5 -0
  379. package/dist/models/execution/recovery-queue.d.ts.map +1 -0
  380. package/dist/models/execution/types.d.ts +44 -0
  381. package/dist/models/execution/types.d.ts.map +1 -0
  382. package/dist/models/execution/usage.d.ts +5 -0
  383. package/dist/models/execution/usage.d.ts.map +1 -0
  384. package/dist/models/execution.d.ts +6 -0
  385. package/dist/models/execution.d.ts.map +1 -0
  386. package/dist/models/generation-types.d.ts +40 -0
  387. package/dist/models/generation-types.d.ts.map +1 -0
  388. package/dist/models/index.d.ts +1 -0
  389. package/dist/models/index.d.ts.map +1 -1
  390. package/dist/models/index.js +42 -43
  391. package/dist/models/index.js.map +1 -1
  392. package/dist/models/language-model.d.ts +3 -0
  393. package/dist/models/language-model.d.ts.map +1 -1
  394. package/dist/models/output.d.ts +5 -0
  395. package/dist/models/output.d.ts.map +1 -0
  396. package/dist/models/resolve.d.ts +4 -0
  397. package/dist/models/resolve.d.ts.map +1 -0
  398. package/dist/objects/execution.d.ts.map +1 -1
  399. package/dist/objects/index.js +75 -87
  400. package/dist/objects/index.js.map +1 -1
  401. package/dist/objects/query/index.js +67 -76
  402. package/dist/objects/query/index.js.map +1 -1
  403. package/dist/ontology/index.d.ts +1 -2
  404. package/dist/ontology/index.d.ts.map +1 -1
  405. package/dist/ontology/index.js +62 -113
  406. package/dist/ontology/index.js.map +1 -1
  407. package/dist/ontology/internal.d.ts +7 -0
  408. package/dist/ontology/internal.d.ts.map +1 -1
  409. package/dist/ontology/internal.js +65 -116
  410. package/dist/ontology/internal.js.map +3 -4
  411. package/dist/pipelines/index.js +57 -66
  412. package/dist/pipelines/index.js.map +1 -1
  413. package/dist/pipelines/run-dispatch.d.ts.map +1 -1
  414. package/dist/projections/internal.js +56 -67
  415. package/dist/projections/internal.js.map +1 -1
  416. package/dist/projections/run-dispatch.d.ts.map +1 -1
  417. package/dist/query.d.ts +0 -1
  418. package/dist/query.d.ts.map +1 -1
  419. package/dist/query.js +11 -15
  420. package/dist/query.js.map +1 -1
  421. package/dist/queues/in-memory.d.ts +7 -3
  422. package/dist/queues/in-memory.d.ts.map +1 -1
  423. package/dist/queues/index.d.ts +2 -1
  424. package/dist/queues/index.d.ts.map +1 -1
  425. package/dist/queues/index.js +6 -7
  426. package/dist/queues/index.js.map +1 -1
  427. package/dist/queues/indexed-heap.d.ts +15 -0
  428. package/dist/queues/indexed-heap.d.ts.map +1 -0
  429. package/dist/queues/types.d.ts +3 -20
  430. package/dist/queues/types.d.ts.map +1 -1
  431. package/dist/rules/internal.js +4 -5
  432. package/dist/rules/internal.js.map +1 -1
  433. package/dist/runtime/create.d.ts +2 -1
  434. package/dist/runtime/create.d.ts.map +1 -1
  435. package/dist/runtime/host.d.ts +2 -1
  436. package/dist/runtime/host.d.ts.map +1 -1
  437. package/dist/runtime/internal.js +13 -14
  438. package/dist/runtime/internal.js.map +1 -1
  439. package/dist/runtime/ontology-mutations.d.ts +3 -1
  440. package/dist/runtime/ontology-mutations.d.ts.map +1 -1
  441. package/dist/runtime/sixb.d.ts +2 -0
  442. package/dist/runtime/sixb.d.ts.map +1 -1
  443. package/dist/sandboxes/errors.d.ts +4 -0
  444. package/dist/sandboxes/errors.d.ts.map +1 -1
  445. package/dist/sandboxes/index.d.ts +2 -2
  446. package/dist/sandboxes/index.d.ts.map +1 -1
  447. package/dist/sandboxes/index.js +14 -13
  448. package/dist/sandboxes/index.js.map +1 -1
  449. package/dist/sandboxes/sandbox.d.ts +35 -7
  450. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  451. package/dist/scheduler/index.js +9 -10
  452. package/dist/scheduler/index.js.map +1 -1
  453. package/dist/schedules/index.js +31 -33
  454. package/dist/schedules/index.js.map +1 -1
  455. package/dist/shares/internal.js +46 -54
  456. package/dist/shares/internal.js.map +2 -2
  457. package/dist/storage/action-runs/failure.js +7 -9
  458. package/dist/storage/action-runs/failure.js.map +1 -1
  459. package/dist/storage/action-runs/provider.js +4 -8
  460. package/dist/storage/action-runs/provider.js.map +1 -1
  461. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  462. package/dist/storage/agents/provider.js +26 -30
  463. package/dist/storage/agents/provider.js.map +1 -1
  464. package/dist/storage/agents/types.d.ts +0 -3
  465. package/dist/storage/agents/types.d.ts.map +1 -1
  466. package/dist/storage/ai-cost/attribution.d.ts +4 -0
  467. package/dist/storage/ai-cost/attribution.d.ts.map +1 -0
  468. package/dist/storage/ai-cost/groups.d.ts +3 -0
  469. package/dist/storage/ai-cost/groups.d.ts.map +1 -1
  470. package/dist/storage/ai-cost/provider.d.ts +1 -0
  471. package/dist/storage/ai-cost/provider.d.ts.map +1 -1
  472. package/dist/storage/ai-cost/provider.js +30 -143
  473. package/dist/storage/ai-cost/provider.js.map +3 -4
  474. package/dist/storage/ai-cost/types.d.ts +15 -0
  475. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  476. package/dist/storage/ai-limits/enforcement.js +14 -16
  477. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  478. package/dist/storage/ai-limits/provider.js +56 -57
  479. package/dist/storage/ai-limits/provider.js.map +1 -1
  480. package/dist/storage/auth/in-memory.d.ts +1 -1
  481. package/dist/storage/auth/in-memory.d.ts.map +1 -1
  482. package/dist/storage/connector-connections/in-memory.d.ts.map +1 -1
  483. package/dist/storage/connector-connections/provider/runs.d.ts.map +1 -1
  484. package/dist/storage/connector-connections/provider.js +35 -37
  485. package/dist/storage/connector-connections/provider.js.map +3 -3
  486. package/dist/storage/connector-connections/types.d.ts +3 -2
  487. package/dist/storage/connector-connections/types.d.ts.map +1 -1
  488. package/dist/storage/executions/in-memory.d.ts.map +1 -1
  489. package/dist/storage/executions/provider.d.ts +2 -1
  490. package/dist/storage/executions/provider.d.ts.map +1 -1
  491. package/dist/storage/executions/provider.js +14 -11
  492. package/dist/storage/executions/provider.js.map +3 -3
  493. package/dist/storage/executions/types.d.ts +6 -2
  494. package/dist/storage/executions/types.d.ts.map +1 -1
  495. package/dist/storage/executions/validation.d.ts +2 -0
  496. package/dist/storage/executions/validation.d.ts.map +1 -1
  497. package/dist/storage/in-memory/index.d.ts.map +1 -1
  498. package/dist/storage/index.d.ts +7 -8
  499. package/dist/storage/index.d.ts.map +1 -1
  500. package/dist/storage/index.js +221 -256
  501. package/dist/storage/index.js.map +1 -1
  502. package/dist/storage/internal.d.ts +10 -0
  503. package/dist/storage/internal.d.ts.map +1 -0
  504. package/dist/storage/internal.js +47 -0
  505. package/dist/storage/internal.js.map +9 -0
  506. package/dist/storage/ontology/in-memory/materializations-state.d.ts.map +1 -1
  507. package/dist/storage/ontology/in-memory/materializations.d.ts +1 -1
  508. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  509. package/dist/storage/ontology/in-memory/shared-state.d.ts +15 -2
  510. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
  511. package/dist/storage/ontology/in-memory/source-roots.d.ts +6 -0
  512. package/dist/storage/ontology/in-memory/source-roots.d.ts.map +1 -0
  513. package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -1
  514. package/dist/storage/ontology/index.d.ts +1 -1
  515. package/dist/storage/ontology/index.d.ts.map +1 -1
  516. package/dist/storage/ontology/provider.d.ts +16 -0
  517. package/dist/storage/ontology/provider.d.ts.map +1 -1
  518. package/dist/storage/ontology/provider.js +107 -109
  519. package/dist/storage/ontology/provider.js.map +1 -1
  520. package/dist/storage/ontology/sources.d.ts +13 -4
  521. package/dist/storage/ontology/sources.d.ts.map +1 -1
  522. package/dist/storage/operation-scope.js +18 -19
  523. package/dist/storage/operation-scope.js.map +1 -1
  524. package/dist/storage/pipeline-runs/provider.js +4 -6
  525. package/dist/storage/pipeline-runs/provider.js.map +1 -1
  526. package/dist/storage/projection-runs/lifecycle.d.ts.map +1 -1
  527. package/dist/storage/projection-runs/provider.js +66 -70
  528. package/dist/storage/projection-runs/provider.js.map +1 -1
  529. package/dist/storage/projection-runs/types.d.ts +2 -0
  530. package/dist/storage/projection-runs/types.d.ts.map +1 -1
  531. package/dist/storage/share-grants/provider.js +17 -19
  532. package/dist/storage/share-grants/provider.js.map +1 -1
  533. package/dist/storage/share-sessions/provider.js +14 -15
  534. package/dist/storage/share-sessions/provider.js.map +1 -1
  535. package/dist/storage/sync-runs/provider.js +4 -6
  536. package/dist/storage/sync-runs/provider.js.map +1 -1
  537. package/dist/storage/webhook-runs/provider.js +4 -6
  538. package/dist/storage/webhook-runs/provider.js.map +1 -1
  539. package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
  540. package/dist/storage/workflow-runs/provider.js +13 -21
  541. package/dist/storage/workflow-runs/provider.js.map +1 -1
  542. package/dist/storage/workflow-runs/types.d.ts +0 -3
  543. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  544. package/dist/syncs/index.js +56 -65
  545. package/dist/syncs/index.js.map +1 -1
  546. package/dist/syncs/run-dispatch.d.ts.map +1 -1
  547. package/dist/testing/action-execution.d.ts +4 -1
  548. package/dist/testing/action-execution.d.ts.map +1 -1
  549. package/dist/testing/agent-execution.d.ts +1 -0
  550. package/dist/testing/agent-execution.d.ts.map +1 -1
  551. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  552. package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -1
  553. package/dist/testing/broker-contract.d.ts.map +1 -1
  554. package/dist/testing/connector-connection-storage-contract.d.ts.map +1 -1
  555. package/dist/testing/execution-storage-contract.d.ts.map +1 -1
  556. package/dist/testing/execution.d.ts +1 -0
  557. package/dist/testing/execution.d.ts.map +1 -1
  558. package/dist/testing/index.d.ts +1 -0
  559. package/dist/testing/index.d.ts.map +1 -1
  560. package/dist/testing/index.js +2282 -1662
  561. package/dist/testing/index.js.map +16 -15
  562. package/dist/testing/lake-changes-contract.d.ts +6 -0
  563. package/dist/testing/lake-changes-contract.d.ts.map +1 -0
  564. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  565. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  566. package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
  567. package/dist/testing/workflow-execution.d.ts +1 -0
  568. package/dist/testing/workflow-execution.d.ts.map +1 -1
  569. package/dist/webhooks/connections.d.ts +6 -0
  570. package/dist/webhooks/connections.d.ts.map +1 -0
  571. package/dist/webhooks/index.d.ts +1 -1
  572. package/dist/webhooks/index.d.ts.map +1 -1
  573. package/dist/webhooks/internal.d.ts +2 -0
  574. package/dist/webhooks/internal.d.ts.map +1 -1
  575. package/dist/webhooks/internal.js +98 -61
  576. package/dist/webhooks/internal.js.map +4 -3
  577. package/dist/webhooks/registry.d.ts +1 -1
  578. package/dist/webhooks/registry.d.ts.map +1 -1
  579. package/dist/webhooks/types.d.ts +15 -4
  580. package/dist/webhooks/types.d.ts.map +1 -1
  581. package/dist/workers/index.js +11 -13
  582. package/dist/workers/index.js.map +2 -2
  583. package/dist/workflows/failure.d.ts +2 -0
  584. package/dist/workflows/failure.d.ts.map +1 -1
  585. package/dist/workflows/index.js +136 -147
  586. package/dist/workflows/index.js.map +1 -1
  587. package/dist/workflows/request.d.ts.map +1 -1
  588. package/dist/workflows/run-dispatch.d.ts +3 -2
  589. package/dist/workflows/run-dispatch.d.ts.map +1 -1
  590. package/dist/workflows/types.d.ts +2 -0
  591. package/dist/workflows/types.d.ts.map +1 -1
  592. package/package.json +48 -30
  593. package/src/actions/run-dispatch.ts +2 -6
  594. package/src/actions/types/context.ts +2 -0
  595. package/src/actions/validation.ts +2 -1
  596. package/src/agents/adapters.ts +4 -9
  597. package/src/agents/{context.ts → context/entries.ts} +4 -4
  598. package/src/agents/context/index.ts +15 -0
  599. package/src/agents/context-model.ts +1 -1
  600. package/src/agents/context-resolution.ts +1 -1
  601. package/src/agents/index.ts +4 -4
  602. package/src/agents/message.ts +1 -1
  603. package/src/agents/model-loop.ts +8 -0
  604. package/src/agents/request.ts +11 -26
  605. package/src/agents/streams/index.ts +18 -0
  606. package/src/agents/streams/internal.ts +19 -0
  607. package/src/agents/{streams.ts → streams/protocol.ts} +5 -5
  608. package/src/agents/types.ts +1 -1
  609. package/src/agents/validation.ts +3 -7
  610. package/src/auth/index.ts +0 -1
  611. package/src/bootstrap/discovery.ts +81 -24
  612. package/src/bootstrap/index.ts +8 -1
  613. package/src/broker/in-memory.ts +104 -39
  614. package/src/broker/index.ts +4 -1
  615. package/src/broker/retention.ts +28 -0
  616. package/src/broker/subscriber.ts +21 -0
  617. package/src/broker/types.ts +15 -1
  618. package/src/connectors/builders.ts +0 -6
  619. package/src/connectors/connections/authorizations.ts +11 -5
  620. package/src/connectors/connections/contracts.ts +3 -0
  621. package/src/connectors/connections/request.ts +56 -22
  622. package/src/connectors/connections/runs.ts +1 -0
  623. package/src/connectors/connections/tokens.ts +4 -0
  624. package/src/connectors/connections/validation.ts +91 -5
  625. package/src/connectors/types.ts +19 -4
  626. package/src/errors/internal.ts +90 -10
  627. package/src/errors/redaction.ts +98 -0
  628. package/src/errors/types.ts +4 -0
  629. package/src/events/execution.ts +2 -2
  630. package/src/events/service.ts +3 -3
  631. package/src/execution/agent.ts +5 -3
  632. package/src/execution/durable.ts +11 -1
  633. package/src/execution/primitive.ts +5 -1
  634. package/src/execution/request.ts +3 -0
  635. package/src/index.ts +30 -20
  636. package/src/lake-storage/changes.ts +43 -0
  637. package/src/lake-storage/in-memory.ts +73 -0
  638. package/src/lake-storage/index.ts +4 -0
  639. package/src/lake-storage/types.ts +40 -0
  640. package/src/logging/index.ts +2 -33
  641. package/src/logging/internal.ts +43 -0
  642. package/src/logging/service.ts +1 -1
  643. package/src/materialization/index.ts +2 -0
  644. package/src/materialization/model.ts +14 -1
  645. package/src/materializer/index.ts +2 -0
  646. package/src/materializer/materializer.ts +10 -0
  647. package/src/materializer/projections/entry-validator.ts +19 -1
  648. package/src/materializer/projections/replace.ts +36 -1
  649. package/src/materializer/projections/source-materialization.ts +26 -6
  650. package/src/materializer/shared/normalize.ts +1 -1
  651. package/src/models/errors.ts +12 -0
  652. package/src/models/execution/binding.ts +29 -0
  653. package/src/models/execution/errors.ts +18 -0
  654. package/src/models/execution/index.ts +26 -0
  655. package/src/models/execution/model-call-accounting.ts +211 -0
  656. package/src/models/execution/model-call-admission.ts +127 -0
  657. package/src/models/execution/model-call-limits.ts +135 -0
  658. package/src/models/execution/model-call-recorder.ts +235 -0
  659. package/src/models/execution/model-call-recovery.ts +125 -0
  660. package/src/models/execution/recovery-queue.ts +31 -0
  661. package/src/models/execution/types.ts +58 -0
  662. package/src/models/execution/usage.ts +23 -0
  663. package/src/models/execution.ts +207 -0
  664. package/src/models/generation-types.ts +50 -0
  665. package/src/models/index.ts +8 -0
  666. package/src/models/language-model.ts +3 -0
  667. package/src/models/output.ts +45 -0
  668. package/src/models/resolve.ts +27 -0
  669. package/src/objects/execution.ts +1 -1
  670. package/src/ontology/index.ts +1 -2
  671. package/src/ontology/internal.ts +35 -0
  672. package/src/pipelines/run-dispatch.ts +21 -1
  673. package/src/projections/run-dispatch.ts +31 -68
  674. package/src/query.ts +0 -1
  675. package/src/queues/in-memory.ts +105 -62
  676. package/src/queues/index.ts +4 -2
  677. package/src/queues/indexed-heap.ts +74 -0
  678. package/src/queues/types.ts +6 -25
  679. package/src/runtime/create.ts +2 -1
  680. package/src/runtime/host.ts +2 -15
  681. package/src/runtime/ontology-mutations.ts +4 -0
  682. package/src/runtime/sixb.ts +4 -0
  683. package/src/sandboxes/errors.ts +5 -0
  684. package/src/sandboxes/index.ts +3 -0
  685. package/src/sandboxes/sandbox.ts +35 -7
  686. package/src/storage/agents/in-memory.ts +0 -3
  687. package/src/storage/agents/types.ts +0 -3
  688. package/src/storage/ai-cost/analytics.ts +1 -1
  689. package/src/storage/ai-cost/attribution.ts +15 -0
  690. package/src/storage/ai-cost/groups.ts +5 -1
  691. package/src/storage/ai-cost/provider.ts +1 -0
  692. package/src/storage/ai-cost/types.ts +7 -0
  693. package/src/storage/auth/in-memory.ts +1 -1
  694. package/src/storage/connector-connections/in-memory.ts +3 -1
  695. package/src/storage/connector-connections/provider/runs.ts +3 -1
  696. package/src/storage/connector-connections/types.ts +3 -2
  697. package/src/storage/executions/in-memory.ts +4 -9
  698. package/src/storage/executions/provider.ts +4 -0
  699. package/src/storage/executions/types.ts +6 -2
  700. package/src/storage/executions/validation.ts +32 -0
  701. package/src/storage/in-memory/index.ts +16 -1
  702. package/src/storage/index.ts +4 -29
  703. package/src/storage/internal.ts +20 -0
  704. package/src/storage/ontology/in-memory/materializations-state.ts +5 -18
  705. package/src/storage/ontology/in-memory/materializations.ts +73 -92
  706. package/src/storage/ontology/in-memory/shared-state.ts +26 -1
  707. package/src/storage/ontology/in-memory/source-roots.ts +123 -0
  708. package/src/storage/ontology/in-memory/sources.ts +78 -23
  709. package/src/storage/ontology/index.ts +1 -0
  710. package/src/storage/ontology/provider.ts +70 -0
  711. package/src/storage/ontology/sources.ts +14 -3
  712. package/src/storage/projection-runs/lifecycle.ts +5 -2
  713. package/src/storage/projection-runs/types.ts +4 -3
  714. package/src/storage/workflow-runs/in-memory.ts +0 -2
  715. package/src/storage/workflow-runs/types.ts +0 -3
  716. package/src/syncs/run-dispatch.ts +19 -1
  717. package/src/testing/action-execution.ts +9 -2
  718. package/src/testing/agent-execution.ts +3 -0
  719. package/src/testing/agent-storage-contract.ts +0 -5
  720. package/src/testing/ai-model-call-groups-contract.ts +74 -2
  721. package/src/testing/broker-contract.ts +95 -0
  722. package/src/testing/connector-connection-storage-contract.ts +18 -1
  723. package/src/testing/execution-storage-contract.ts +59 -1
  724. package/src/testing/execution.ts +6 -0
  725. package/src/testing/index.ts +1 -0
  726. package/src/testing/lake-changes-contract.ts +240 -0
  727. package/src/testing/materializer-storage-contract.ts +172 -1
  728. package/src/testing/ontology-storage-contract.ts +7 -0
  729. package/src/testing/projection-run-storage-contract.ts +34 -0
  730. package/src/testing/workflow-execution.ts +4 -0
  731. package/src/webhooks/connections.ts +56 -0
  732. package/src/webhooks/index.ts +2 -0
  733. package/src/webhooks/internal.ts +2 -0
  734. package/src/webhooks/registry.ts +3 -4
  735. package/src/webhooks/types.ts +17 -4
  736. package/src/workflows/failure.ts +62 -1
  737. package/src/workflows/request.ts +0 -9
  738. package/src/workflows/run-dispatch.ts +42 -32
  739. package/src/workflows/types.ts +2 -0
  740. package/src/workflows/validation.ts +1 -1
  741. package/dist/agents/context.d.ts.map +0 -1
  742. package/dist/agents/context.js +0 -23
  743. package/dist/agents/streams.d.ts.map +0 -1
  744. package/dist/agents/streams.js +0 -55
  745. package/dist/chunk-08m3b6w8.js +0 -32
  746. package/dist/chunk-19jp6g9d.js.map +0 -11
  747. package/dist/chunk-2xns679x.js.map +0 -11
  748. package/dist/chunk-3xep5cjx.js.map +0 -15
  749. package/dist/chunk-407j3msh.js +0 -60
  750. package/dist/chunk-4qfkag59.js +0 -1568
  751. package/dist/chunk-4qfkag59.js.map +0 -20
  752. package/dist/chunk-5e3pq99w.js.map +0 -11
  753. package/dist/chunk-5gd7tpv6.js.map +0 -11
  754. package/dist/chunk-7y0f6rf1.js.map +0 -10
  755. package/dist/chunk-8m5ejdpn.js.map +0 -10
  756. package/dist/chunk-8tsf6dmc.js.map +0 -15
  757. package/dist/chunk-ajnan18g.js.map +0 -12
  758. package/dist/chunk-c15dr03f.js +0 -43
  759. package/dist/chunk-d8qkxt2v.js.map +0 -10
  760. package/dist/chunk-jq43kdvk.js +0 -50
  761. package/dist/chunk-k34z5rvh.js.map +0 -11
  762. package/dist/chunk-k522z7v6.js.map +0 -10
  763. package/dist/chunk-mth82m8t.js.map +0 -14
  764. package/dist/chunk-mwsxn98e.js.map +0 -36
  765. package/dist/chunk-p03r0h5s.js.map +0 -16
  766. package/dist/chunk-p1rzczbt.js +0 -218
  767. package/dist/chunk-rafagrwr.js.map +0 -11
  768. package/dist/chunk-rv2hkwwa.js.map +0 -14
  769. package/dist/chunk-sbzzr4kx.js.map +0 -63
  770. package/dist/chunk-tpnd31c1.js +0 -242
  771. package/dist/chunk-tpnd31c1.js.map +0 -11
  772. package/dist/chunk-w9tg6yyb.js.map +0 -12
  773. package/dist/chunk-wtf06et8.js.map +0 -14
  774. package/dist/chunk-xajtptbw.js.map +0 -40
  775. package/dist/chunk-xhy826cz.js.map +0 -10
  776. package/dist/chunk-y64skrwp.js +0 -19
  777. package/dist/chunk-zcnhxkvd.js +0 -7
  778. package/dist/logging/types.js +0 -27
  779. package/dist/logging/types.js.map +0 -9
  780. /package/dist/{chunk-zqqz8052.js → chunk-7n30ybym.js} +0 -0
  781. /package/dist/{chunk-zqqz8052.js.map → chunk-7n30ybym.js.map} +0 -0
  782. /package/dist/{chunk-4a849fr1.js.map → chunk-9tc8dxmn.js.map} +0 -0
  783. /package/dist/{chunk-j1sbhm7p.js → chunk-ey1nk510.js} +0 -0
  784. /package/dist/{chunk-j1sbhm7p.js.map → chunk-ey1nk510.js.map} +0 -0
  785. /package/dist/{chunk-z4ccwbkz.js.map → chunk-x9v4cx1d.js.map} +0 -0
@@ -1,4 +1,5 @@
1
1
  import { createHash } from "node:crypto"
2
+ import { isJsonObject } from "../../json"
2
3
  import type { ConnectorAuthorizationRecord } from "../../storage"
3
4
  import { createConnectorCodedError } from "../errors"
4
5
  import type { ConnectorAccountCandidate, ConnectorOAuthCredentials } from "../types"
@@ -26,6 +27,7 @@ export function validateCredentials(
26
27
  tokenType?: string
27
28
  scopes?: string[]
28
29
  expiresAt?: Date
30
+ authorizationContext?: ConnectorOAuthCredentials["authorizationContext"]
29
31
  } = {
30
32
  accessToken: nonblank(
31
33
  credentials.accessToken,
@@ -76,6 +78,16 @@ export function validateCredentials(
76
78
  normalized.expiresAt = new Date(credentials.expiresAt)
77
79
  }
78
80
 
81
+ if (credentials.authorizationContext !== undefined) {
82
+ if (!isJsonObject(credentials.authorizationContext)) {
83
+ throw createConnectorCodedError(
84
+ "connector.adapter_invalid",
85
+ "OAuth connector adapter returned invalid authorization context; expected a JSON object."
86
+ )
87
+ }
88
+ normalized.authorizationContext = structuredClone(credentials.authorizationContext)
89
+ }
90
+
79
91
  return normalized
80
92
  }
81
93
 
@@ -135,6 +147,9 @@ export function serializeCredentials(credentials: ConnectorOAuthCredentials): st
135
147
  ...(credentials.expiresAt === undefined
136
148
  ? {}
137
149
  : { expiresAt: credentials.expiresAt.toISOString() }),
150
+ ...(credentials.authorizationContext === undefined
151
+ ? {}
152
+ : { authorizationContext: credentials.authorizationContext }),
138
153
  })
139
154
  }
140
155
 
@@ -160,7 +175,8 @@ export function parseCredentials(serialized: string): ConnectorOAuthCredentials
160
175
  (value.tokenType !== undefined && typeof value.tokenType !== "string") ||
161
176
  (value.scopes !== undefined &&
162
177
  (!Array.isArray(value.scopes) || value.scopes.some((scope) => typeof scope !== "string"))) ||
163
- (value.expiresAt !== undefined && typeof value.expiresAt !== "string")
178
+ (value.expiresAt !== undefined && typeof value.expiresAt !== "string") ||
179
+ (value.authorizationContext !== undefined && !isJsonObject(value.authorizationContext))
164
180
  ) {
165
181
  throw createConnectorCodedError(
166
182
  "connector.credentials_unavailable",
@@ -175,6 +191,9 @@ export function parseCredentials(serialized: string): ConnectorOAuthCredentials
175
191
  ...(value.tokenType === undefined ? {} : { tokenType: value.tokenType }),
176
192
  ...(value.scopes === undefined ? {} : { scopes: value.scopes as string[] }),
177
193
  ...(expiresAt === undefined ? {} : { expiresAt }),
194
+ ...(value.authorizationContext === undefined
195
+ ? {}
196
+ : { authorizationContext: value.authorizationContext }),
178
197
  })
179
198
  } catch (error) {
180
199
  throw createConnectorCodedError(
@@ -238,21 +257,88 @@ export function normalizedHttpUrl(
238
257
 
239
258
  export function assertAuthorizationUrlParameters(
240
259
  authorizationUrl: string,
241
- expected: { readonly state: string; readonly codeChallenge: string }
260
+ expected: { readonly state: string; readonly codeChallenge?: string }
242
261
  ): void {
243
262
  const parameters = new URL(authorizationUrl).searchParams
244
263
  if (
245
264
  !sameSingleParameter(parameters, "state", expected.state) ||
246
- !sameSingleParameter(parameters, "code_challenge", expected.codeChallenge) ||
247
- !sameSingleParameter(parameters, "code_challenge_method", "S256")
265
+ (expected.codeChallenge === undefined
266
+ ? parameters.has("code_challenge") || parameters.has("code_challenge_method")
267
+ : !sameSingleParameter(parameters, "code_challenge", expected.codeChallenge) ||
268
+ !sameSingleParameter(parameters, "code_challenge_method", "S256"))
248
269
  ) {
249
270
  throw createConnectorCodedError(
250
271
  "connector.adapter_invalid",
251
- "OAuth connector authorization URL must preserve the framework-provided state and PKCE S256 parameters."
272
+ expected.codeChallenge === undefined
273
+ ? "OAuth connector authorization URL must preserve the framework-provided state and omit disabled PKCE parameters."
274
+ : "OAuth connector authorization URL must preserve the framework-provided state and PKCE S256 parameters."
252
275
  )
253
276
  }
254
277
  }
255
278
 
279
+ export function connectorPkceEnabled(pkce: "S256" | "disabled" | undefined): boolean {
280
+ if (pkce === undefined || pkce === "S256") return true
281
+ if (pkce === "disabled") return false
282
+ throw createConnectorCodedError(
283
+ "connector.adapter_invalid",
284
+ "OAuth connector PKCE must be S256 or disabled."
285
+ )
286
+ }
287
+
288
+ const reservedCallbackParameters = new Set([
289
+ "state",
290
+ "code",
291
+ "auth_code",
292
+ "error",
293
+ "error_description",
294
+ "error_uri",
295
+ ])
296
+
297
+ export function validateCallbackParameterNames(names: readonly string[] = []): void {
298
+ if (
299
+ !Array.isArray(names) ||
300
+ names.some(
301
+ (name) =>
302
+ typeof name !== "string" ||
303
+ !/^[A-Za-z_][A-Za-z0-9_.-]*$/.test(name) ||
304
+ reservedCallbackParameters.has(name)
305
+ ) ||
306
+ new Set(names).size !== names.length
307
+ ) {
308
+ throw createConnectorCodedError(
309
+ "connector.adapter_invalid",
310
+ "OAuth callback parameter names must be unique, non-reserved parameter names."
311
+ )
312
+ }
313
+ }
314
+
315
+ /** Select only declared provider values after the callback's state and browser binding are proved. */
316
+ export function selectCallbackParameters(
317
+ names: readonly string[] = [],
318
+ parameters: Readonly<Record<string, string | readonly string[]>> = {}
319
+ ): Readonly<Record<string, string>> {
320
+ validateCallbackParameterNames(names)
321
+ if (!isRecord(parameters)) {
322
+ throw createConnectorCodedError(
323
+ "connector.authorization_invalid",
324
+ "OAuth provider callback parameters must be an object."
325
+ )
326
+ }
327
+ return Object.fromEntries(
328
+ names.flatMap((name) => {
329
+ if (!Object.hasOwn(parameters, name)) return []
330
+ const value = parameters[name]
331
+ if (typeof value !== "string") {
332
+ throw createConnectorCodedError(
333
+ "connector.authorization_invalid",
334
+ "OAuth provider callback parameters must have a single string value."
335
+ )
336
+ }
337
+ return [[name, value]]
338
+ })
339
+ )
340
+ }
341
+
256
342
  export function nonblank(
257
343
  value: unknown,
258
344
  field: string,
@@ -1,3 +1,4 @@
1
+ import type { ReadonlyJsonObject } from "../json"
1
2
  import type { WebhookDefinition } from "../webhooks/types"
2
3
 
3
4
  /**
@@ -33,6 +34,12 @@ export interface ConnectorOAuthCredentials {
33
34
  readonly tokenType?: string
34
35
  readonly scopes?: readonly string[]
35
36
  readonly expiresAt?: Date
37
+ /**
38
+ * Provider-owned grant context, encrypted with the tokens and never exposed in connection views.
39
+ * Available to account discovery, refresh, and revoke. Refresh preserves it when omitted;
40
+ * returning an object replaces it (use {} to clear it). Code exchange starts fresh on reauthorization.
41
+ */
42
+ readonly authorizationContext?: ReadonlyJsonObject
36
43
  }
37
44
 
38
45
  /** Public, non-secret account information returned for framework-owned selection UI. */
@@ -75,13 +82,17 @@ export interface OAuthConnectorAuthorizationContext extends ConnectorContext {
75
82
 
76
83
  export interface OAuthConnectorAuthorizationUrlInput {
77
84
  readonly state: string
78
- readonly codeChallenge: string
79
- readonly codeChallengeMethod: "S256"
85
+ /** Present only when the adapter enables PKCE (S256 by default). */
86
+ readonly codeChallenge?: string
87
+ readonly codeChallengeMethod?: "S256"
80
88
  }
81
89
 
82
90
  export interface OAuthConnectorCodeExchangeInput {
83
91
  readonly code: string
84
- readonly codeVerifier: string
92
+ /** Present only when this authorization attempt used PKCE. */
93
+ readonly codeVerifier?: string
94
+ /** Allowlisted callback values. Untrusted until the adapter validates them with the provider. */
95
+ readonly callbackParameters?: Readonly<Record<string, string>>
85
96
  }
86
97
 
87
98
  export interface ConnectorConnectionClientContext extends ConnectorContext {
@@ -109,6 +120,10 @@ export interface ConnectorTokenSource {
109
120
  */
110
121
  export interface ConnectorOAuth2Authentication {
111
122
  readonly type: "oauth2"
123
+ /** Defaults to S256. Disable only for providers whose flow does not support PKCE. */
124
+ readonly pkce?: "S256" | "disabled"
125
+ /** Additional callback parameter names accepted by exchangeCode; framework OAuth fields are reserved. */
126
+ readonly callbackParameters?: readonly string[]
112
127
  authorizationUrl(
113
128
  context: OAuthConnectorAuthorizationContext,
114
129
  input: OAuthConnectorAuthorizationUrlInput
@@ -131,7 +146,7 @@ export interface ConnectorOAuth2Authentication {
131
146
  export interface OAuthConnectorAdapter<TType extends string = string, TClient = unknown> {
132
147
  readonly type: TType
133
148
  readonly authentication: ConnectorOAuth2Authentication
134
- readonly webhooks?: undefined
149
+ readonly webhooks?: readonly WebhookDefinition<unknown, TClient>[]
135
150
  discoverAccounts(
136
151
  context: ConnectorContext,
137
152
  credentials: ConnectorOAuthCredentials
@@ -1,5 +1,6 @@
1
1
  import { cloneJsonValue, isJsonValue, isPlainRecord, type ReadonlyJsonValue } from "../json"
2
2
  import { SIXB_ERROR_CODES, SIXB_ERROR_DEFINITIONS } from "./catalog"
3
+ import { createFailureRedactor } from "./redaction"
3
4
  import type { SixbErrorCode, SixbFailure } from "./types"
4
5
 
5
6
  export const SIXB_FAILURE_MAX_MESSAGE_BYTES = 4 * 1024
@@ -103,7 +104,11 @@ export function captureSixbFailure<const TCodes extends SixbErrorCodeTuple>(
103
104
 
104
105
  /** Identifies errors created by Sixb without making their class part of the contract. */
105
106
  export function isSixbError(error: unknown): error is SixbCodedError {
106
- return error instanceof SixbError
107
+ try {
108
+ return error instanceof SixbError
109
+ } catch {
110
+ return false
111
+ }
107
112
  }
108
113
 
109
114
  /**
@@ -128,9 +133,12 @@ export function toSixbFailure(
128
133
  throw new Error(`[Sixb] Error code '${error.code}' is not allowed by this failure contract.`)
129
134
  }
130
135
  const code = error.code
131
- const details = error.details
136
+ const redactor = createFailureRedactor()
137
+ const details = error.details === undefined ? undefined : redactor.context(error.details)
138
+ const { detail, truncated } = findFailureDetail(error, code)
139
+ const summary = SIXB_ERROR_DEFINITIONS[code].publicMessage
132
140
  const message = truncateUtf8(
133
- SIXB_ERROR_DEFINITIONS[code].publicMessage,
141
+ redactor.text(detail && detail.message !== summary ? `${summary} ${detail.message}` : summary),
134
142
  SIXB_FAILURE_MAX_MESSAGE_BYTES
135
143
  )
136
144
  const failure: SixbFailure = {
@@ -139,7 +147,9 @@ export function toSixbFailure(
139
147
  retryable: SIXB_ERROR_DEFINITIONS[code].retryable,
140
148
  at: failureTimestamp(options.at),
141
149
  ...(details === undefined ? {} : { details: cloneJsonValue(details, "Sixb failure details") }),
142
- ...(message.truncated ? { truncated: true } : {}),
150
+ ...(detail?.httpStatus === undefined ? {} : { httpStatus: detail.httpStatus }),
151
+ ...(redactor.redacted ? { redacted: true } : {}),
152
+ ...(message.truncated || truncated || redactor.truncated ? { truncated: true } : {}),
143
153
  }
144
154
 
145
155
  if (serializedByteLength(failure) <= SIXB_FAILURE_MAX_SERIALIZED_BYTES) return failure
@@ -149,10 +159,67 @@ export function toSixbFailure(
149
159
  message: failure.message,
150
160
  retryable: failure.retryable,
151
161
  at: failure.at,
162
+ ...(failure.httpStatus === undefined ? {} : { httpStatus: failure.httpStatus }),
163
+ ...(failure.redacted ? { redacted: true } : {}),
152
164
  truncated: true,
153
165
  }
154
166
  }
155
167
 
168
+ const NETWORK_MESSAGES: Readonly<Record<string, string>> = {
169
+ ECONNREFUSED: "The remote service refused the connection.",
170
+ ECONNRESET: "The remote service reset the connection.",
171
+ ENOTFOUND: "The remote host could not be resolved.",
172
+ EAI_AGAIN: "DNS resolution temporarily failed.",
173
+ ETIMEDOUT: "The connection timed out.",
174
+ }
175
+
176
+ function isHttpStatus(value: unknown): value is number {
177
+ return typeof value === "number" && Number.isInteger(value) && value >= 100 && value <= 599
178
+ }
179
+
180
+ /** Select one explanation along the causal chain; unrelated aggregate errors stay separate. */
181
+ function findFailureDetail(
182
+ error: SixbCodedError,
183
+ boundaryCode: SixbErrorCode
184
+ ): { detail?: { message: string; httpStatus?: number }; truncated: boolean } {
185
+ const seen = new Set<object>()
186
+ let current: unknown = error
187
+ while (typeof current === "object" && current !== null && !seen.has(current)) {
188
+ if (seen.size === 8) return { truncated: true }
189
+ seen.add(current)
190
+ if (
191
+ isSixbError(current) &&
192
+ current.code !== boundaryCode &&
193
+ current.code !== "internal.unexpected"
194
+ ) {
195
+ return {
196
+ detail: { message: SIXB_ERROR_DEFINITIONS[current.code].publicMessage },
197
+ truncated: false,
198
+ }
199
+ }
200
+ try {
201
+ // Read only data properties: arbitrary messages and getters remain private.
202
+ const status =
203
+ Object.getOwnPropertyDescriptor(current, "status")?.value ??
204
+ Object.getOwnPropertyDescriptor(current, "statusCode")?.value
205
+ if (isHttpStatus(status)) {
206
+ return {
207
+ detail: { message: `Upstream request returned HTTP ${status}.`, httpStatus: status },
208
+ truncated: false,
209
+ }
210
+ }
211
+ const code = Object.getOwnPropertyDescriptor(current, "code")?.value
212
+ if (typeof code === "string" && Object.hasOwn(NETWORK_MESSAGES, code)) {
213
+ return { detail: { message: NETWORK_MESSAGES[code] }, truncated: false }
214
+ }
215
+ current = Object.getOwnPropertyDescriptor(current, "cause")?.value
216
+ } catch {
217
+ break
218
+ }
219
+ }
220
+ return { truncated: false }
221
+ }
222
+
156
223
  /** Serializes a validated failure for durable storage. */
157
224
  export function serializeSixbFailure<const TCodes extends SixbErrorCodeTuple>(
158
225
  failure: SixbFailure<TCodes[number]>,
@@ -186,7 +253,7 @@ export function parseSixbFailure(
186
253
  throw invalidStoredFailure("expected a JSON object")
187
254
  }
188
255
 
189
- const { code, message, retryable, at, details, truncated } = candidate
256
+ const { code, message, retryable, at, details, httpStatus, redacted, truncated } = candidate
190
257
  if (typeof code !== "string" || !SIXB_ERROR_CODE_SET.has(code)) {
191
258
  throw invalidStoredFailure("code is not a known Sixb error code")
192
259
  }
@@ -215,15 +282,28 @@ export function parseSixbFailure(
215
282
  throw invalidStoredFailure("truncated must be true when present")
216
283
  }
217
284
 
285
+ if (redacted !== undefined && redacted !== true) {
286
+ throw invalidStoredFailure("redacted must be true when present")
287
+ }
288
+ if (httpStatus !== undefined && !isHttpStatus(httpStatus)) {
289
+ throw invalidStoredFailure("httpStatus must be an integer HTTP status")
290
+ }
291
+ const redactor = createFailureRedactor()
292
+ const safeMessage = truncateUtf8(redactor.text(message), SIXB_FAILURE_MAX_MESSAGE_BYTES)
293
+ const safeDetails =
294
+ details === undefined ? undefined : redactor.context(details as ReadonlyJsonValue)
295
+
218
296
  const failure: SixbFailure = {
219
297
  code: code as SixbErrorCode,
220
- message,
298
+ message: safeMessage.value,
221
299
  retryable,
222
300
  at,
223
- ...(details === undefined
301
+ ...(safeDetails === undefined
224
302
  ? {}
225
- : { details: cloneJsonValue(details, "Stored Sixb failure details") }),
226
- ...(truncated === true ? { truncated: true } : {}),
303
+ : { details: cloneJsonValue(safeDetails, "Stored Sixb failure details") }),
304
+ ...(httpStatus === undefined ? {} : { httpStatus: httpStatus as number }),
305
+ ...(redacted || redactor.redacted ? { redacted: true } : {}),
306
+ ...(truncated || redactor.truncated || safeMessage.truncated ? { truncated: true } : {}),
227
307
  }
228
308
  if (serializedByteLength(failure) > SIXB_FAILURE_MAX_SERIALIZED_BYTES) {
229
309
  throw invalidStoredFailure(
@@ -255,7 +335,7 @@ function invalidStoredFailure(reason: string): Error {
255
335
  * Extracts a diagnostic message for an internal error or log entry.
256
336
  *
257
337
  * The result can contain provider data and must not be persisted or returned by an API.
258
- * `toSixbFailure()` selects the catalog-owned public message instead.
338
+ * `toSixbFailure()` constructs a message from recognized HTTP, network, or Sixb information instead.
259
339
  */
260
340
  export function summarizeErrorMessage(value: unknown, fallback?: string): string {
261
341
  const message = readStringProperty(value, "message")
@@ -0,0 +1,98 @@
1
+ import type { ReadonlyJsonValue } from "../json"
2
+
3
+ const REDACTED = "[REDACTED]"
4
+ const MAX_CONTEXT_DEPTH = 12
5
+ const MAX_CONTEXT_ENTRIES = 1024
6
+ const SENSITIVE_KEY =
7
+ /password|passwd|passphrase|secret|token|credential|authorization|cookie|privatekey|apikey|accesskey|connectionstring|databaseurl|clientassertion|signature/i
8
+ const PRIVATE_CONTAINER =
9
+ /^(?:request|response)(?:body|headers)?$|^(?:headers|body|payload|env|environment)$/i
10
+
11
+ function isSensitiveKey(key: string): boolean {
12
+ const normalized = key.replace(/[^a-z0-9]/gi, "")
13
+ return SENSITIVE_KEY.test(normalized) || PRIVATE_CONTAINER.test(normalized)
14
+ }
15
+
16
+ /** Runtime credentials are additional protection for context; never a license to copy errors. */
17
+ function environmentSecrets(): string[] {
18
+ return Object.entries(process.env)
19
+ .filter(([key, value]) => isSensitiveKey(key) && value !== undefined && value.length >= 4)
20
+ .map(([, value]) => value as string)
21
+ .sort((a, b) => b.length - a.length)
22
+ }
23
+
24
+ export function createFailureRedactor() {
25
+ const secrets = environmentSecrets()
26
+ let redacted = false
27
+ let truncated = false
28
+ let entries = 0
29
+
30
+ const text = (input: string): string => {
31
+ let value = input
32
+ for (const secret of secrets) {
33
+ value = value
34
+ .split(REDACTED)
35
+ .map((part) => part.split(secret).join(REDACTED))
36
+ .join(REDACTED)
37
+ }
38
+ value = value
39
+ .replace(
40
+ /-----BEGIN [^-]*PRIVATE KEY-----[\s\S]*?(?:-----END [^-]*PRIVATE KEY-----|$)/g,
41
+ REDACTED
42
+ )
43
+ .replace(/\b(?:Bearer|Basic)\s+[A-Za-z0-9+/_.~=-]+/gi, REDACTED)
44
+ .replace(/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g, REDACTED)
45
+ .replace(
46
+ /\b(?:sk[-_](?:live[-_]|test[-_]|proj[-_])?[A-Za-z0-9_-]{12,}|gh[pousr]_[A-Za-z0-9_]{20,}|github_pat_[A-Za-z0-9_]+|AKIA[A-Z0-9]{16})\b/g,
47
+ REDACTED
48
+ )
49
+ // URLs may carry userinfo, signed query parameters, or credentials in the path.
50
+ .replace(/\b[a-z][a-z0-9+.-]*:\/\/[^\s<>"']+/gi, REDACTED)
51
+ .replace(
52
+ /["']?\b(?:password|passwd|passphrase|[a-z_-]*secret|[a-z_-]*token|api[-_]?key|authorization|cookie|credential|signature)["']?\s*[=:]\s*(?:"[^"\r\n]*"|'[^'\r\n]*'|[^\s,;]+)/gi,
53
+ REDACTED
54
+ )
55
+ if (value !== input) redacted = true
56
+ return value
57
+ }
58
+
59
+ const context = (value: ReadonlyJsonValue, depth = 0): ReadonlyJsonValue => {
60
+ if (depth > MAX_CONTEXT_DEPTH || entries++ >= MAX_CONTEXT_ENTRIES) {
61
+ truncated = true
62
+ return "[TRUNCATED]"
63
+ }
64
+ if (typeof value === "string") return text(value)
65
+ if (value === null || typeof value !== "object") return value
66
+ if (Array.isArray(value)) {
67
+ const available = Math.max(0, MAX_CONTEXT_ENTRIES - entries)
68
+ if (value.length > available) truncated = true
69
+ return value.slice(0, available).map((entry) => context(entry, depth + 1))
70
+ }
71
+ const result: Record<string, ReadonlyJsonValue> = Object.create(null)
72
+ for (const [key, entry] of Object.entries(value)) {
73
+ if (entries >= MAX_CONTEXT_ENTRIES) {
74
+ truncated = true
75
+ break
76
+ }
77
+ if (isSensitiveKey(key)) {
78
+ redacted = true
79
+ entries++
80
+ result[text(key)] = REDACTED
81
+ } else {
82
+ result[text(key)] = context(entry, depth + 1)
83
+ }
84
+ }
85
+ return result
86
+ }
87
+
88
+ return {
89
+ text,
90
+ context,
91
+ get redacted() {
92
+ return redacted
93
+ },
94
+ get truncated() {
95
+ return truncated
96
+ },
97
+ }
98
+ }
@@ -16,6 +16,10 @@ export interface SixbFailure<TCode extends SixbErrorCode = SixbErrorCode> {
16
16
  /** ISO-8601 UTC timestamp of the failure occurrence. */
17
17
  readonly at: string
18
18
  readonly details?: ReadonlyJsonValue
19
+ /** Status returned by the failed upstream request, when one exists. */
20
+ readonly httpStatus?: number
21
+ /** Sensitive context was replaced before this record crossed a storage or API boundary. */
22
+ readonly redacted?: true
19
23
  /** Present when optional context exceeded the durable failure size budget and was omitted. */
20
24
  readonly truncated?: true
21
25
  }
@@ -17,7 +17,7 @@ export interface EventsRuntime {
17
17
  latestCursor(): Promise<string | undefined>
18
18
  subscribe(
19
19
  input: EventsSubscribeInput,
20
- handler: (events: readonly StoredDomainEvent[]) => void
20
+ handler: (events: readonly StoredDomainEvent[]) => unknown
21
21
  ): Promise<() => void>
22
22
  }
23
23
 
@@ -88,7 +88,7 @@ export function createEventsRuntime(runtime: SixbRuntimeContext): EventsRuntime
88
88
  }
89
89
  return runtime.events.subscribe(input, (events) => {
90
90
  const visible = visibleEvents(events)
91
- if (visible.length > 0) handler(visible)
91
+ if (visible.length > 0) return handler(visible)
92
92
  })
93
93
  },
94
94
  }
@@ -79,7 +79,7 @@ export interface DomainEventLog {
79
79
  latestCursor(): Promise<string | undefined>
80
80
  subscribe(
81
81
  input: EventsSubscribeInput,
82
- handler: (events: readonly StoredDomainEvent[]) => void
82
+ handler: (events: readonly StoredDomainEvent[]) => unknown
83
83
  ): Promise<() => void>
84
84
  }
85
85
 
@@ -251,7 +251,7 @@ export class DomainEventService implements DomainEventLog, StableEventPublisher
251
251
 
252
252
  async subscribe(
253
253
  input: EventsSubscribeInput,
254
- handler: (events: readonly StoredDomainEvent[]) => void
254
+ handler: (events: readonly StoredDomainEvent[]) => unknown
255
255
  ): Promise<() => void> {
256
256
  await this.ensureStream()
257
257
  return this.broker.subscribe(
@@ -269,7 +269,7 @@ export class DomainEventService implements DomainEventLog, StableEventPublisher
269
269
  }
270
270
 
271
271
  try {
272
- handler(events)
272
+ return handler(events)
273
273
  } catch {
274
274
  // Preserve fire-and-forget subscriber semantics.
275
275
  }
@@ -1,7 +1,7 @@
1
1
  import { type AgentExecutionAuthorization, agentServiceAccountId } from "../agents/authority"
2
2
  import type { OntologySource } from "../ontology"
3
3
  import { isBoundSixb, type Sixb } from "../runtime/sixb"
4
- import type { CreateExecutionInput, ExecutionRecord } from "../storage/executions"
4
+ import type { ExecutionRecord } from "../storage/executions"
5
5
  import { ExecutionStorageError } from "../storage/executions"
6
6
 
7
7
  export { ensureExecutionRecord } from "./durable"
@@ -36,11 +36,12 @@ export function createAgentExecutionRecord(input: {
36
36
  readonly actorId: string
37
37
  readonly runId: string
38
38
  readonly principal: Extract<AuthorizablePrincipal, { readonly type: "serviceAccount" }>
39
- }): CreateExecutionInput {
39
+ }): Omit<ExecutionRecord, "createdAt"> {
40
40
  assertAgentPrincipal(input.actorId, input.principal)
41
41
  return {
42
42
  id: input.id,
43
43
  projectId: input.parent.projectId,
44
+ requesterGroupIds: [...input.parent.requesterGroupIds],
44
45
  ...(input.parent.requestedBy === undefined
45
46
  ? {}
46
47
  : { requestedBy: structuredClone(input.parent.requestedBy) }),
@@ -59,7 +60,7 @@ export function createInheritedAgentExecutionRecord(input: {
59
60
  readonly id: string
60
61
  readonly parent: ExecutionRecord
61
62
  readonly runId: string
62
- }): CreateExecutionInput {
63
+ }): Omit<ExecutionRecord, "createdAt"> {
63
64
  const authority = input.parent.authorizationRef
64
65
  if (
65
66
  authority.type !== "disabled" &&
@@ -78,6 +79,7 @@ export function createInheritedAgentExecutionRecord(input: {
78
79
  return {
79
80
  id: input.id,
80
81
  projectId: input.parent.projectId,
82
+ requesterGroupIds: [...input.parent.requesterGroupIds],
81
83
  ...(input.parent.requestedBy === undefined
82
84
  ? {}
83
85
  : { requestedBy: structuredClone(input.parent.requestedBy) }),
@@ -82,6 +82,7 @@ type PrimitiveExecutionOrigin =
82
82
  >
83
83
  readonly correlationId: string
84
84
  readonly requestedBy?: CreateExecutionInput["requestedBy"]
85
+ readonly requesterGroupIds?: readonly string[]
85
86
  }
86
87
 
87
88
  /** Build an immutable primitive execution from its parent execution or automatic trigger. */
@@ -94,6 +95,7 @@ export function createPrimitiveExecutionRecord(input: {
94
95
  input.origin.type === "execution"
95
96
  ? {
96
97
  projectId: input.origin.parent.projectId,
98
+ requesterGroupIds: [...input.origin.parent.requesterGroupIds],
97
99
  ...(input.origin.parent.requestedBy === undefined
98
100
  ? {}
99
101
  : { requestedBy: structuredClone(input.origin.parent.requestedBy) }),
@@ -102,6 +104,9 @@ export function createPrimitiveExecutionRecord(input: {
102
104
  }
103
105
  : {
104
106
  projectId: input.origin.projectId,
107
+ ...(input.origin.requesterGroupIds === undefined
108
+ ? {}
109
+ : { requesterGroupIds: [...input.origin.requesterGroupIds] }),
105
110
  ...(input.origin.requestedBy === undefined
106
111
  ? {}
107
112
  : { requestedBy: structuredClone(input.origin.requestedBy) }),
@@ -171,7 +176,12 @@ function assertExecutionRecordMatches(
171
176
  input: CreateExecutionInput
172
177
  ): void {
173
178
  const { createdAt: _createdAt, ...stored } = existing
174
- if (!isDeepStrictEqual(stored, input)) {
179
+ if (
180
+ !isDeepStrictEqual(stored, {
181
+ ...input,
182
+ requesterGroupIds: input.requesterGroupIds ?? stored.requesterGroupIds,
183
+ })
184
+ ) {
175
185
  throw new ExecutionStorageError(
176
186
  "duplicate_execution",
177
187
  `[Sixb] Execution '${input.id}' already exists with different immutable provenance.`
@@ -1,3 +1,4 @@
1
+ import { bindModelExecutionAttempt, type ModelExecutionAttempt } from "../models/execution/binding"
1
2
  import type { OntologySource } from "../ontology"
2
3
  import type { OntologyMutationRuntime } from "../runtime/ontology-mutations"
3
4
  import { getOntologyMutationRuntime } from "../runtime/ontology-mutations"
@@ -24,9 +25,12 @@ export function bindDurablePrimitiveExecution(
24
25
  input: {
25
26
  readonly execution: ExecutionRecord
26
27
  readonly primitive: TrustedPrimitiveRef
28
+ readonly modelExecution?: ModelExecutionAttempt
27
29
  }
28
30
  ): BoundPrimitiveExecution {
29
- return bindPrimitiveScope(host, restoreTrustedPrimitiveExecutionScope(input))
31
+ const bound = bindPrimitiveScope(host, restoreTrustedPrimitiveExecutionScope(input))
32
+ if (input.modelExecution) bindModelExecutionAttempt(bound.sixb.models, input.modelExecution)
33
+ return bound
30
34
  }
31
35
 
32
36
  function bindPrimitiveScope(
@@ -1,5 +1,6 @@
1
1
  import { randomUUID } from "node:crypto"
2
2
  import type { AuthorizationContext } from "../authorization"
3
+ import { bindModelExecutionAttempt } from "../models/execution/binding"
3
4
  import type { OntologySource } from "../ontology"
4
5
  import { isBoundSixb, type Sixb } from "../runtime/sixb"
5
6
  import {
@@ -32,6 +33,7 @@ export type { AuthorizationContext } from "../authorization"
32
33
  export type { DatasetsRuntime } from "../datasets/execution"
33
34
  export type { EventsRuntime } from "../events/execution"
34
35
  export type { LogsRuntime } from "../logging/execution"
36
+ export type { LanguageModelsRuntime, ModelsRuntime } from "../models/generation-types"
35
37
  export type {
36
38
  ExecutionObjectByIdHandle,
37
39
  ExecutionObjectSet,
@@ -104,6 +106,7 @@ export function bindRequestExecution(
104
106
  if (!isBoundSixb(sixb)) {
105
107
  throw new Error("[Sixb] Request host did not return an execution-bound Sixb SDK.")
106
108
  }
109
+ bindModelExecutionAttempt(sixb.models, { attempt: 1, signal: input.request.signal })
107
110
  return sixb
108
111
  }
109
112