@sixb/core 0.1.8 → 0.1.9

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 (615) 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 +192 -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 +79 -88
  61. package/dist/bootstrap/index.js.map +1 -1
  62. package/dist/broker/index.js +8 -10
  63. package/dist/broker/index.js.map +1 -1
  64. package/dist/{chunk-k34z5rvh.js → chunk-0rdrecsb.js} +18 -18
  65. package/dist/{chunk-k34z5rvh.js.map → chunk-0rdrecsb.js.map} +2 -2
  66. package/dist/{chunk-q0k9nc5a.js → chunk-0w35wavj.js} +98 -98
  67. package/dist/{chunk-q0k9nc5a.js.map → chunk-0w35wavj.js.map} +2 -2
  68. package/dist/chunk-0y39rgsb.js +43 -0
  69. package/dist/{chunk-c15dr03f.js.map → chunk-0y39rgsb.js.map} +2 -2
  70. package/dist/{chunk-k522z7v6.js → chunk-17kfctj6.js} +16 -11
  71. package/dist/chunk-17kfctj6.js.map +10 -0
  72. package/dist/{chunk-aa2pen2v.js → chunk-1enhpacz.js} +188 -175
  73. package/dist/{chunk-aa2pen2v.js.map → chunk-1enhpacz.js.map} +2 -2
  74. package/dist/{chunk-5gd7tpv6.js → chunk-2c4j899j.js} +4 -4
  75. package/dist/{chunk-5gd7tpv6.js.map → chunk-2c4j899j.js.map} +2 -2
  76. package/dist/{chunk-fvt9rjsa.js → chunk-38zv5rkr.js} +4 -4
  77. package/dist/{chunk-fvt9rjsa.js.map → chunk-38zv5rkr.js.map} +1 -1
  78. package/dist/{chunk-w3e09qqk.js → chunk-39tqv9hz.js} +24 -24
  79. package/dist/{chunk-w3e09qqk.js.map → chunk-39tqv9hz.js.map} +2 -2
  80. package/dist/{chunk-04b07a9q.js → chunk-3bh94gbw.js} +13 -13
  81. package/dist/{chunk-04b07a9q.js.map → chunk-3bh94gbw.js.map} +2 -2
  82. package/dist/{chunk-8m5ejdpn.js → chunk-3f7veca0.js} +4 -4
  83. package/dist/{chunk-8m5ejdpn.js.map → chunk-3f7veca0.js.map} +2 -2
  84. package/dist/chunk-3frsnm7x.js +32 -0
  85. package/dist/chunk-3frsnm7x.js.map +11 -0
  86. package/dist/{chunk-n2w475r0.js → chunk-3tgwrcyh.js} +81 -81
  87. package/dist/{chunk-n2w475r0.js.map → chunk-3tgwrcyh.js.map} +2 -2
  88. package/dist/{chunk-mwsxn98e.js → chunk-52hbv0ak.js} +170 -170
  89. package/dist/{chunk-mwsxn98e.js.map → chunk-52hbv0ak.js.map} +4 -4
  90. package/dist/{chunk-nf4r78r4.js → chunk-5a4a52tq.js} +4 -4
  91. package/dist/{chunk-nf4r78r4.js.map → chunk-5a4a52tq.js.map} +2 -2
  92. package/dist/{chunk-rte5sm3z.js → chunk-5hz0fnca.js} +23 -23
  93. package/dist/{chunk-rte5sm3z.js.map → chunk-5hz0fnca.js.map} +2 -2
  94. package/dist/chunk-653vwrzr.js +39 -0
  95. package/dist/chunk-653vwrzr.js.map +10 -0
  96. package/dist/{chunk-qw9gvjv5.js → chunk-72w2pxk7.js} +13 -13
  97. package/dist/{chunk-qw9gvjv5.js.map → chunk-72w2pxk7.js.map} +2 -2
  98. package/dist/chunk-7apz6hg4.js +50 -0
  99. package/dist/{chunk-jq43kdvk.js.map → chunk-7apz6hg4.js.map} +2 -2
  100. package/dist/chunk-7bs40fe1.js +218 -0
  101. package/dist/{chunk-p1rzczbt.js.map → chunk-7bs40fe1.js.map} +3 -3
  102. package/dist/chunk-7zgecwy1.js +113 -0
  103. package/dist/chunk-7zgecwy1.js.map +10 -0
  104. package/dist/{chunk-pc7ys28c.js → chunk-860dwwy0.js} +29 -29
  105. package/dist/{chunk-pc7ys28c.js.map → chunk-860dwwy0.js.map} +2 -2
  106. package/dist/chunk-8vj0rjgs.js +165 -0
  107. package/dist/chunk-8vj0rjgs.js.map +15 -0
  108. package/dist/{chunk-7y0f6rf1.js → chunk-92vk7gta.js} +58 -58
  109. package/dist/chunk-92vk7gta.js.map +10 -0
  110. package/dist/{chunk-rafagrwr.js → chunk-93csa55g.js} +45 -17
  111. package/dist/chunk-93csa55g.js.map +11 -0
  112. package/dist/{chunk-d8qkxt2v.js → chunk-98cw09sw.js} +7 -7
  113. package/dist/chunk-98cw09sw.js.map +10 -0
  114. package/dist/{chunk-n4khvw9n.js → chunk-9qsh3p5y.js} +17 -17
  115. package/dist/{chunk-n4khvw9n.js.map → chunk-9qsh3p5y.js.map} +2 -2
  116. package/dist/{chunk-4a849fr1.js → chunk-9tc8dxmn.js} +1 -1
  117. package/dist/{chunk-9nbmsvn5.js → chunk-9vx5e9g1.js} +9 -9
  118. package/dist/{chunk-9nbmsvn5.js.map → chunk-9vx5e9g1.js.map} +2 -2
  119. package/dist/{chunk-f26bck4t.js → chunk-an5tt9y0.js} +353 -353
  120. package/dist/{chunk-f26bck4t.js.map → chunk-an5tt9y0.js.map} +2 -2
  121. package/dist/{chunk-2dw777qw.js → chunk-ap0g1g74.js} +37 -82
  122. package/dist/{chunk-2dw777qw.js.map → chunk-ap0g1g74.js.map} +3 -4
  123. package/dist/{chunk-v4en4jc2.js → chunk-awbhdqyc.js} +7 -7
  124. package/dist/{chunk-v4en4jc2.js.map → chunk-awbhdqyc.js.map} +2 -2
  125. package/dist/{chunk-ka3a2ft3.js → chunk-b19g04jk.js} +12 -12
  126. package/dist/{chunk-ka3a2ft3.js.map → chunk-b19g04jk.js.map} +2 -2
  127. package/dist/{chunk-nx7k8tpr.js → chunk-br3k6qbf.js} +23 -23
  128. package/dist/{chunk-nx7k8tpr.js.map → chunk-br3k6qbf.js.map} +2 -2
  129. package/dist/{chunk-dbc80ad7.js → chunk-c5rkjrgp.js} +28 -28
  130. package/dist/{chunk-dbc80ad7.js.map → chunk-c5rkjrgp.js.map} +2 -2
  131. package/dist/{chunk-dktq02ne.js → chunk-cqr3acm1.js} +4 -4
  132. package/dist/{chunk-dktq02ne.js.map → chunk-cqr3acm1.js.map} +2 -2
  133. package/dist/chunk-d62kjtbg.js +7 -0
  134. package/dist/{chunk-zcnhxkvd.js.map → chunk-d62kjtbg.js.map} +2 -2
  135. package/dist/{chunk-74drx9gd.js → chunk-dfm066qg.js} +10 -10
  136. package/dist/{chunk-74drx9gd.js.map → chunk-dfm066qg.js.map} +2 -2
  137. package/dist/{chunk-5e3pq99w.js → chunk-dmn70ztd.js} +30 -30
  138. package/dist/chunk-dmn70ztd.js.map +11 -0
  139. package/dist/{chunk-p1x242ad.js → chunk-dz5h08xv.js} +175 -175
  140. package/dist/{chunk-p1x242ad.js.map → chunk-dz5h08xv.js.map} +2 -2
  141. package/dist/{chunk-p2vqaxkc.js → chunk-e0d1rzef.js} +27 -22
  142. package/dist/{chunk-p2vqaxkc.js.map → chunk-e0d1rzef.js.map} +3 -3
  143. package/dist/{chunk-5sz8ta9r.js → chunk-e1c18xjx.js} +52 -52
  144. package/dist/{chunk-5sz8ta9r.js.map → chunk-e1c18xjx.js.map} +2 -2
  145. package/dist/{chunk-wtf06et8.js → chunk-emyyk7dx.js} +55 -55
  146. package/dist/{chunk-wtf06et8.js.map → chunk-emyyk7dx.js.map} +2 -2
  147. package/dist/{chunk-19jp6g9d.js → chunk-f0rwz2vh.js} +54 -33
  148. package/dist/chunk-f0rwz2vh.js.map +11 -0
  149. package/dist/{chunk-2xns679x.js → chunk-f4w3yp4f.js} +171 -36
  150. package/dist/chunk-f4w3yp4f.js.map +12 -0
  151. package/dist/{chunk-979ww6b3.js → chunk-fb3feg1e.js} +29 -29
  152. package/dist/{chunk-979ww6b3.js.map → chunk-fb3feg1e.js.map} +2 -2
  153. package/dist/{chunk-4sm0aznx.js → chunk-g00bfdq6.js} +254 -256
  154. package/dist/{chunk-4sm0aznx.js.map → chunk-g00bfdq6.js.map} +3 -3
  155. package/dist/{chunk-p03r0h5s.js → chunk-g53f0e4j.js} +76 -202
  156. package/dist/chunk-g53f0e4j.js.map +15 -0
  157. package/dist/chunk-g6cke204.js +124 -0
  158. package/dist/chunk-g6cke204.js.map +10 -0
  159. package/dist/{chunk-51fjndv0.js → chunk-gfdh9kqa.js} +4 -4
  160. package/dist/{chunk-51fjndv0.js.map → chunk-gfdh9kqa.js.map} +2 -2
  161. package/dist/chunk-h1gfhhbh.js +602 -0
  162. package/dist/chunk-h1gfhhbh.js.map +18 -0
  163. package/dist/chunk-h3v76ams.js +32 -0
  164. package/dist/{chunk-08m3b6w8.js.map → chunk-h3v76ams.js.map} +2 -2
  165. package/dist/{chunk-xajtptbw.js → chunk-hpr1r6av.js} +1367 -418
  166. package/dist/chunk-hpr1r6av.js.map +44 -0
  167. package/dist/{chunk-jecn6t54.js → chunk-jgwb25gc.js} +74 -74
  168. package/dist/{chunk-jecn6t54.js.map → chunk-jgwb25gc.js.map} +2 -2
  169. package/dist/{chunk-w9tg6yyb.js → chunk-jjy0fhrn.js} +36 -36
  170. package/dist/{chunk-w9tg6yyb.js.map → chunk-jjy0fhrn.js.map} +2 -2
  171. package/dist/{chunk-wdage1eb.js → chunk-jmfet9r4.js} +6 -6
  172. package/dist/{chunk-wdage1eb.js.map → chunk-jmfet9r4.js.map} +2 -2
  173. package/dist/{chunk-ajnan18g.js → chunk-k3cqkkn2.js} +58 -55
  174. package/dist/chunk-k3cqkkn2.js.map +12 -0
  175. package/dist/{chunk-s5y30bc9.js → chunk-kxwa347f.js} +51 -49
  176. package/dist/{chunk-s5y30bc9.js.map → chunk-kxwa347f.js.map} +4 -4
  177. package/dist/{chunk-2ab72m2h.js → chunk-m2ca93my.js} +3 -3
  178. package/dist/{chunk-2ab72m2h.js.map → chunk-m2ca93my.js.map} +2 -2
  179. package/dist/{chunk-3z1qec12.js → chunk-m3z3x9v0.js} +107 -64
  180. package/dist/{chunk-3z1qec12.js.map → chunk-m3z3x9v0.js.map} +3 -3
  181. package/dist/{chunk-sbzzr4kx.js → chunk-mjbk2djy.js} +1061 -1195
  182. package/dist/{chunk-sbzzr4kx.js.map → chunk-mjbk2djy.js.map} +9 -15
  183. package/dist/{chunk-4jjp5k14.js → chunk-mmagke4x.js} +6 -6
  184. package/dist/{chunk-4jjp5k14.js.map → chunk-mmagke4x.js.map} +2 -2
  185. package/dist/{chunk-359jm1jw.js → chunk-mrp7k0pw.js} +20 -20
  186. package/dist/{chunk-359jm1jw.js.map → chunk-mrp7k0pw.js.map} +2 -2
  187. package/dist/{chunk-h0k55pc7.js → chunk-ms2tmn1k.js} +139 -139
  188. package/dist/{chunk-h0k55pc7.js.map → chunk-ms2tmn1k.js.map} +2 -2
  189. package/dist/{chunk-rv2hkwwa.js → chunk-ppytyr6w.js} +156 -179
  190. package/dist/{chunk-rv2hkwwa.js.map → chunk-ppytyr6w.js.map} +3 -5
  191. package/dist/{chunk-trxxmgnf.js → chunk-pqajwytd.js} +10 -10
  192. package/dist/{chunk-trxxmgnf.js.map → chunk-pqajwytd.js.map} +3 -3
  193. package/dist/{chunk-nn0tekr1.js → chunk-pr2h4bv4.js} +33 -33
  194. package/dist/{chunk-nn0tekr1.js.map → chunk-pr2h4bv4.js.map} +2 -2
  195. package/dist/{chunk-xwnf87e1.js → chunk-q5gz3g2j.js} +64 -64
  196. package/dist/{chunk-xwnf87e1.js.map → chunk-q5gz3g2j.js.map} +2 -2
  197. package/dist/{chunk-5ntny1qx.js → chunk-qf954wje.js} +6 -6
  198. package/dist/{chunk-5ntny1qx.js.map → chunk-qf954wje.js.map} +2 -2
  199. package/dist/{chunk-mth82m8t.js → chunk-qhcpj9wc.js} +77 -77
  200. package/dist/{chunk-mth82m8t.js.map → chunk-qhcpj9wc.js.map} +2 -2
  201. package/dist/{chunk-tpnd31c1.js → chunk-r29fxdhn.js} +12 -12
  202. package/dist/{chunk-tpnd31c1.js.map → chunk-r29fxdhn.js.map} +2 -2
  203. package/dist/{chunk-b49dgvsj.js → chunk-r2y23egw.js} +3 -3
  204. package/dist/{chunk-b49dgvsj.js.map → chunk-r2y23egw.js.map} +2 -2
  205. package/dist/{chunk-3xep5cjx.js → chunk-r4tfx1sf.js} +104 -86
  206. package/dist/chunk-r4tfx1sf.js.map +15 -0
  207. package/dist/{chunk-4rh2m6zg.js → chunk-rb1xx120.js} +13 -13
  208. package/dist/{chunk-4rh2m6zg.js.map → chunk-rb1xx120.js.map} +2 -2
  209. package/dist/chunk-s3csryxe.js +152 -0
  210. package/dist/chunk-s3csryxe.js.map +11 -0
  211. package/dist/chunk-s670k14v.js +60 -0
  212. package/dist/{chunk-407j3msh.js.map → chunk-s670k14v.js.map} +2 -2
  213. package/dist/chunk-skz0hst3.js +788 -0
  214. package/dist/chunk-skz0hst3.js.map +19 -0
  215. package/dist/{chunk-r8jrnexe.js → chunk-v4jbb3rs.js} +4 -4
  216. package/dist/{chunk-r8jrnexe.js.map → chunk-v4jbb3rs.js.map} +2 -2
  217. package/dist/{chunk-v1xppd0y.js → chunk-vf691g1r.js} +60 -60
  218. package/dist/{chunk-v1xppd0y.js.map → chunk-vf691g1r.js.map} +2 -2
  219. package/dist/{chunk-w1tvjszy.js → chunk-vsj3mdfj.js} +8 -8
  220. package/dist/{chunk-w1tvjszy.js.map → chunk-vsj3mdfj.js.map} +2 -2
  221. package/dist/{chunk-9dzba0f2.js → chunk-wjasrj67.js} +8 -8
  222. package/dist/{chunk-9dzba0f2.js.map → chunk-wjasrj67.js.map} +2 -2
  223. package/dist/{chunk-1evzqhks.js → chunk-wr8qp979.js} +6 -6
  224. package/dist/{chunk-1evzqhks.js.map → chunk-wr8qp979.js.map} +2 -2
  225. package/dist/{chunk-n6jxh8sw.js → chunk-wy0qdqfm.js} +18 -18
  226. package/dist/{chunk-n6jxh8sw.js.map → chunk-wy0qdqfm.js.map} +2 -2
  227. package/dist/{chunk-8tsf6dmc.js → chunk-x57ycxq0.js} +204 -204
  228. package/dist/{chunk-8tsf6dmc.js.map → chunk-x57ycxq0.js.map} +2 -2
  229. package/dist/{chunk-z4ccwbkz.js → chunk-x9v4cx1d.js} +1 -1
  230. package/dist/{chunk-gbejpkex.js → chunk-xfbydgzy.js} +26 -26
  231. package/dist/{chunk-gbejpkex.js.map → chunk-xfbydgzy.js.map} +2 -2
  232. package/dist/{chunk-gzasd5b6.js → chunk-xyr8kppc.js} +22 -22
  233. package/dist/{chunk-gzasd5b6.js.map → chunk-xyr8kppc.js.map} +2 -2
  234. package/dist/{chunk-h5vqbfmd.js → chunk-ypbtykv6.js} +117 -117
  235. package/dist/{chunk-h5vqbfmd.js.map → chunk-ypbtykv6.js.map} +3 -3
  236. package/dist/{chunk-ry24jbr1.js → chunk-yv79ncbv.js} +10 -10
  237. package/dist/{chunk-ry24jbr1.js.map → chunk-yv79ncbv.js.map} +2 -2
  238. package/dist/{chunk-yp8ee62z.js → chunk-z30bv4ga.js} +35 -35
  239. package/dist/{chunk-yp8ee62z.js.map → chunk-z30bv4ga.js.map} +2 -2
  240. package/dist/{chunk-8ydjhh27.js → chunk-z3y411fq.js} +11 -7
  241. package/dist/{chunk-8ydjhh27.js.map → chunk-z3y411fq.js.map} +3 -3
  242. package/dist/{chunk-9t8f5xfx.js → chunk-z5rnrmz1.js} +10 -10
  243. package/dist/{chunk-9t8f5xfx.js.map → chunk-z5rnrmz1.js.map} +2 -2
  244. package/dist/{chunk-96swp2wd.js → chunk-z667z3sg.js} +3 -3
  245. package/dist/{chunk-96swp2wd.js.map → chunk-z667z3sg.js.map} +2 -2
  246. package/dist/{chunk-4yqmp43v.js → chunk-z8fx5cgb.js} +12 -12
  247. package/dist/{chunk-4yqmp43v.js.map → chunk-z8fx5cgb.js.map} +2 -2
  248. package/dist/{chunk-xhy826cz.js → chunk-zcnq6105.js} +7 -7
  249. package/dist/{chunk-xhy826cz.js.map → chunk-zcnq6105.js.map} +2 -2
  250. package/dist/{chunk-yt8wphsx.js → chunk-zvx7h87b.js} +3 -3
  251. package/dist/{chunk-yt8wphsx.js.map → chunk-zvx7h87b.js.map} +2 -2
  252. package/dist/connectors/connections/internal.js +9 -10
  253. package/dist/connectors/connections/internal.js.map +1 -1
  254. package/dist/datasets/write.js +8 -12
  255. package/dist/datasets/write.js.map +1 -1
  256. package/dist/edits/index.js +7 -8
  257. package/dist/edits/index.js.map +1 -1
  258. package/dist/error-reporting/internal.js +22 -24
  259. package/dist/error-reporting/internal.js.map +1 -1
  260. package/dist/errors/internal.d.ts +1 -1
  261. package/dist/errors/internal.d.ts.map +1 -1
  262. package/dist/errors/internal.js +22 -24
  263. package/dist/errors/internal.js.map +1 -1
  264. package/dist/errors/redaction.d.ts +8 -0
  265. package/dist/errors/redaction.d.ts.map +1 -0
  266. package/dist/errors/types.d.ts +4 -0
  267. package/dist/errors/types.d.ts.map +1 -1
  268. package/dist/events/index.js +60 -63
  269. package/dist/events/index.js.map +1 -1
  270. package/dist/events/scope.js +4 -5
  271. package/dist/events/scope.js.map +1 -1
  272. package/dist/events/selectors/index.js +9 -10
  273. package/dist/events/selectors/index.js.map +1 -1
  274. package/dist/execution/agent.d.ts +3 -3
  275. package/dist/execution/agent.d.ts.map +1 -1
  276. package/dist/execution/agent.js +70 -82
  277. package/dist/execution/agent.js.map +1 -1
  278. package/dist/execution/durable.d.ts +1 -0
  279. package/dist/execution/durable.d.ts.map +1 -1
  280. package/dist/execution/primitive.d.ts +2 -0
  281. package/dist/execution/primitive.d.ts.map +1 -1
  282. package/dist/execution/primitive.js +63 -71
  283. package/dist/execution/primitive.js.map +3 -3
  284. package/dist/execution/request.d.ts +1 -0
  285. package/dist/execution/request.d.ts.map +1 -1
  286. package/dist/execution/request.js +65 -75
  287. package/dist/execution/request.js.map +3 -3
  288. package/dist/http/index.js +10 -11
  289. package/dist/http/index.js.map +1 -1
  290. package/dist/index.d.ts +14 -10
  291. package/dist/index.d.ts.map +1 -1
  292. package/dist/index.js +455 -477
  293. package/dist/index.js.map +1 -1
  294. package/dist/lake-storage/index.js +38 -42
  295. package/dist/lake-storage/index.js.map +1 -1
  296. package/dist/logging/index.d.ts +3 -4
  297. package/dist/logging/index.d.ts.map +1 -1
  298. package/dist/logging/index.js +18 -40
  299. package/dist/logging/index.js.map +1 -1
  300. package/dist/logging/internal.d.ts +5 -0
  301. package/dist/logging/internal.d.ts.map +1 -0
  302. package/dist/logging/internal.js +43 -0
  303. package/dist/logging/internal.js.map +9 -0
  304. package/dist/materialization/index.js +46 -49
  305. package/dist/materialization/index.js.map +1 -1
  306. package/dist/materializer/index.js +137 -145
  307. package/dist/materializer/index.js.map +1 -1
  308. package/dist/models/errors.d.ts +4 -0
  309. package/dist/models/errors.d.ts.map +1 -1
  310. package/dist/models/execution/binding.d.ts +9 -0
  311. package/dist/models/execution/binding.d.ts.map +1 -0
  312. package/dist/models/execution/errors.d.ts +9 -0
  313. package/dist/models/execution/errors.d.ts.map +1 -0
  314. package/dist/models/execution/index.d.ts +11 -0
  315. package/dist/models/execution/index.d.ts.map +1 -0
  316. package/dist/models/execution/index.js +55 -0
  317. package/dist/models/execution/index.js.map +9 -0
  318. package/dist/models/execution/model-call-accounting.d.ts +17 -0
  319. package/dist/models/execution/model-call-accounting.d.ts.map +1 -0
  320. package/dist/models/execution/model-call-admission.d.ts +47 -0
  321. package/dist/models/execution/model-call-admission.d.ts.map +1 -0
  322. package/dist/models/execution/model-call-limits.d.ts +15 -0
  323. package/dist/models/execution/model-call-limits.d.ts.map +1 -0
  324. package/dist/models/execution/model-call-recorder.d.ts +40 -0
  325. package/dist/models/execution/model-call-recorder.d.ts.map +1 -0
  326. package/dist/models/execution/model-call-recovery.d.ts +12 -0
  327. package/dist/models/execution/model-call-recovery.d.ts.map +1 -0
  328. package/dist/models/execution/recovery-queue.d.ts +5 -0
  329. package/dist/models/execution/recovery-queue.d.ts.map +1 -0
  330. package/dist/models/execution/types.d.ts +44 -0
  331. package/dist/models/execution/types.d.ts.map +1 -0
  332. package/dist/models/execution/usage.d.ts +5 -0
  333. package/dist/models/execution/usage.d.ts.map +1 -0
  334. package/dist/models/execution.d.ts +6 -0
  335. package/dist/models/execution.d.ts.map +1 -0
  336. package/dist/models/generation-types.d.ts +40 -0
  337. package/dist/models/generation-types.d.ts.map +1 -0
  338. package/dist/models/index.d.ts +1 -0
  339. package/dist/models/index.d.ts.map +1 -1
  340. package/dist/models/index.js +42 -43
  341. package/dist/models/index.js.map +1 -1
  342. package/dist/models/language-model.d.ts +3 -0
  343. package/dist/models/language-model.d.ts.map +1 -1
  344. package/dist/models/output.d.ts +5 -0
  345. package/dist/models/output.d.ts.map +1 -0
  346. package/dist/models/resolve.d.ts +4 -0
  347. package/dist/models/resolve.d.ts.map +1 -0
  348. package/dist/objects/execution.d.ts.map +1 -1
  349. package/dist/objects/index.js +75 -87
  350. package/dist/objects/index.js.map +1 -1
  351. package/dist/objects/query/index.js +67 -76
  352. package/dist/objects/query/index.js.map +1 -1
  353. package/dist/ontology/index.d.ts +1 -2
  354. package/dist/ontology/index.d.ts.map +1 -1
  355. package/dist/ontology/index.js +62 -113
  356. package/dist/ontology/index.js.map +1 -1
  357. package/dist/ontology/internal.d.ts +7 -0
  358. package/dist/ontology/internal.d.ts.map +1 -1
  359. package/dist/ontology/internal.js +65 -116
  360. package/dist/ontology/internal.js.map +3 -4
  361. package/dist/pipelines/index.js +57 -66
  362. package/dist/pipelines/index.js.map +1 -1
  363. package/dist/projections/internal.js +58 -67
  364. package/dist/projections/internal.js.map +1 -1
  365. package/dist/query.d.ts +0 -1
  366. package/dist/query.d.ts.map +1 -1
  367. package/dist/query.js +11 -15
  368. package/dist/query.js.map +1 -1
  369. package/dist/queues/index.d.ts +2 -1
  370. package/dist/queues/index.d.ts.map +1 -1
  371. package/dist/queues/index.js +6 -7
  372. package/dist/queues/index.js.map +1 -1
  373. package/dist/queues/types.d.ts +3 -20
  374. package/dist/queues/types.d.ts.map +1 -1
  375. package/dist/rules/internal.js +4 -5
  376. package/dist/rules/internal.js.map +1 -1
  377. package/dist/runtime/create.d.ts +2 -1
  378. package/dist/runtime/create.d.ts.map +1 -1
  379. package/dist/runtime/host.d.ts +2 -1
  380. package/dist/runtime/host.d.ts.map +1 -1
  381. package/dist/runtime/internal.js +13 -14
  382. package/dist/runtime/internal.js.map +1 -1
  383. package/dist/runtime/sixb.d.ts +2 -0
  384. package/dist/runtime/sixb.d.ts.map +1 -1
  385. package/dist/sandboxes/errors.d.ts +4 -0
  386. package/dist/sandboxes/errors.d.ts.map +1 -1
  387. package/dist/sandboxes/index.d.ts +2 -2
  388. package/dist/sandboxes/index.d.ts.map +1 -1
  389. package/dist/sandboxes/index.js +14 -13
  390. package/dist/sandboxes/index.js.map +1 -1
  391. package/dist/sandboxes/sandbox.d.ts +35 -7
  392. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  393. package/dist/scheduler/index.js +9 -10
  394. package/dist/scheduler/index.js.map +1 -1
  395. package/dist/schedules/index.js +31 -33
  396. package/dist/schedules/index.js.map +1 -1
  397. package/dist/shares/internal.js +46 -54
  398. package/dist/shares/internal.js.map +2 -2
  399. package/dist/storage/action-runs/failure.js +7 -9
  400. package/dist/storage/action-runs/failure.js.map +1 -1
  401. package/dist/storage/action-runs/provider.js +4 -8
  402. package/dist/storage/action-runs/provider.js.map +1 -1
  403. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  404. package/dist/storage/agents/provider.js +26 -30
  405. package/dist/storage/agents/provider.js.map +1 -1
  406. package/dist/storage/agents/types.d.ts +0 -3
  407. package/dist/storage/agents/types.d.ts.map +1 -1
  408. package/dist/storage/ai-cost/attribution.d.ts +4 -0
  409. package/dist/storage/ai-cost/attribution.d.ts.map +1 -0
  410. package/dist/storage/ai-cost/groups.d.ts +3 -0
  411. package/dist/storage/ai-cost/groups.d.ts.map +1 -1
  412. package/dist/storage/ai-cost/provider.d.ts +1 -0
  413. package/dist/storage/ai-cost/provider.d.ts.map +1 -1
  414. package/dist/storage/ai-cost/provider.js +30 -143
  415. package/dist/storage/ai-cost/provider.js.map +3 -4
  416. package/dist/storage/ai-cost/types.d.ts +15 -0
  417. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  418. package/dist/storage/ai-limits/enforcement.js +14 -16
  419. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  420. package/dist/storage/ai-limits/provider.js +56 -57
  421. package/dist/storage/ai-limits/provider.js.map +1 -1
  422. package/dist/storage/auth/in-memory.d.ts +1 -1
  423. package/dist/storage/auth/in-memory.d.ts.map +1 -1
  424. package/dist/storage/connector-connections/provider.js +34 -36
  425. package/dist/storage/connector-connections/provider.js.map +2 -2
  426. package/dist/storage/executions/in-memory.d.ts.map +1 -1
  427. package/dist/storage/executions/provider.d.ts +2 -1
  428. package/dist/storage/executions/provider.d.ts.map +1 -1
  429. package/dist/storage/executions/provider.js +14 -11
  430. package/dist/storage/executions/provider.js.map +3 -3
  431. package/dist/storage/executions/types.d.ts +6 -2
  432. package/dist/storage/executions/types.d.ts.map +1 -1
  433. package/dist/storage/executions/validation.d.ts +2 -0
  434. package/dist/storage/executions/validation.d.ts.map +1 -1
  435. package/dist/storage/in-memory/index.d.ts.map +1 -1
  436. package/dist/storage/index.d.ts +6 -7
  437. package/dist/storage/index.d.ts.map +1 -1
  438. package/dist/storage/index.js +221 -256
  439. package/dist/storage/index.js.map +1 -1
  440. package/dist/storage/internal.d.ts +10 -0
  441. package/dist/storage/internal.d.ts.map +1 -0
  442. package/dist/storage/internal.js +47 -0
  443. package/dist/storage/internal.js.map +9 -0
  444. package/dist/storage/ontology/provider.js +105 -109
  445. package/dist/storage/ontology/provider.js.map +1 -1
  446. package/dist/storage/operation-scope.js +18 -19
  447. package/dist/storage/operation-scope.js.map +1 -1
  448. package/dist/storage/pipeline-runs/provider.js +4 -6
  449. package/dist/storage/pipeline-runs/provider.js.map +1 -1
  450. package/dist/storage/projection-runs/provider.js +66 -70
  451. package/dist/storage/projection-runs/provider.js.map +1 -1
  452. package/dist/storage/share-grants/provider.js +17 -19
  453. package/dist/storage/share-grants/provider.js.map +1 -1
  454. package/dist/storage/share-sessions/provider.js +14 -15
  455. package/dist/storage/share-sessions/provider.js.map +1 -1
  456. package/dist/storage/sync-runs/provider.js +4 -6
  457. package/dist/storage/sync-runs/provider.js.map +1 -1
  458. package/dist/storage/webhook-runs/provider.js +4 -6
  459. package/dist/storage/webhook-runs/provider.js.map +1 -1
  460. package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
  461. package/dist/storage/workflow-runs/provider.js +13 -21
  462. package/dist/storage/workflow-runs/provider.js.map +1 -1
  463. package/dist/storage/workflow-runs/types.d.ts +0 -3
  464. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  465. package/dist/syncs/index.js +55 -65
  466. package/dist/syncs/index.js.map +1 -1
  467. package/dist/testing/action-execution.d.ts +4 -1
  468. package/dist/testing/action-execution.d.ts.map +1 -1
  469. package/dist/testing/agent-execution.d.ts +1 -0
  470. package/dist/testing/agent-execution.d.ts.map +1 -1
  471. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  472. package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -1
  473. package/dist/testing/execution-storage-contract.d.ts.map +1 -1
  474. package/dist/testing/execution.d.ts +1 -0
  475. package/dist/testing/execution.d.ts.map +1 -1
  476. package/dist/testing/index.js +911 -799
  477. package/dist/testing/index.js.map +9 -9
  478. package/dist/testing/workflow-execution.d.ts +1 -0
  479. package/dist/testing/workflow-execution.d.ts.map +1 -1
  480. package/dist/webhooks/internal.js +51 -59
  481. package/dist/webhooks/internal.js.map +2 -2
  482. package/dist/workers/index.js +11 -13
  483. package/dist/workers/index.js.map +2 -2
  484. package/dist/workflows/failure.d.ts +2 -0
  485. package/dist/workflows/failure.d.ts.map +1 -1
  486. package/dist/workflows/index.js +135 -147
  487. package/dist/workflows/index.js.map +1 -1
  488. package/dist/workflows/request.d.ts.map +1 -1
  489. package/dist/workflows/run-dispatch.d.ts +0 -1
  490. package/dist/workflows/run-dispatch.d.ts.map +1 -1
  491. package/dist/workflows/types.d.ts +2 -0
  492. package/dist/workflows/types.d.ts.map +1 -1
  493. package/package.json +48 -30
  494. package/src/actions/run-dispatch.ts +2 -6
  495. package/src/actions/types/context.ts +2 -0
  496. package/src/actions/validation.ts +2 -1
  497. package/src/agents/adapters.ts +4 -9
  498. package/src/agents/{context.ts → context/entries.ts} +4 -4
  499. package/src/agents/context/index.ts +15 -0
  500. package/src/agents/context-model.ts +1 -1
  501. package/src/agents/context-resolution.ts +1 -1
  502. package/src/agents/index.ts +4 -4
  503. package/src/agents/message.ts +1 -1
  504. package/src/agents/model-loop.ts +8 -0
  505. package/src/agents/request.ts +11 -26
  506. package/src/agents/streams/index.ts +18 -0
  507. package/src/agents/streams/internal.ts +19 -0
  508. package/src/agents/{streams.ts → streams/protocol.ts} +5 -5
  509. package/src/agents/types.ts +1 -1
  510. package/src/agents/validation.ts +3 -7
  511. package/src/auth/index.ts +0 -1
  512. package/src/bootstrap/discovery.ts +81 -24
  513. package/src/bootstrap/index.ts +8 -1
  514. package/src/errors/internal.ts +90 -10
  515. package/src/errors/redaction.ts +98 -0
  516. package/src/errors/types.ts +4 -0
  517. package/src/execution/agent.ts +5 -3
  518. package/src/execution/durable.ts +11 -1
  519. package/src/execution/primitive.ts +5 -1
  520. package/src/execution/request.ts +3 -0
  521. package/src/index.ts +20 -18
  522. package/src/logging/index.ts +2 -33
  523. package/src/logging/internal.ts +43 -0
  524. package/src/models/errors.ts +12 -0
  525. package/src/models/execution/binding.ts +29 -0
  526. package/src/models/execution/errors.ts +18 -0
  527. package/src/models/execution/index.ts +26 -0
  528. package/src/models/execution/model-call-accounting.ts +211 -0
  529. package/src/models/execution/model-call-admission.ts +127 -0
  530. package/src/models/execution/model-call-limits.ts +135 -0
  531. package/src/models/execution/model-call-recorder.ts +235 -0
  532. package/src/models/execution/model-call-recovery.ts +125 -0
  533. package/src/models/execution/recovery-queue.ts +31 -0
  534. package/src/models/execution/types.ts +58 -0
  535. package/src/models/execution/usage.ts +23 -0
  536. package/src/models/execution.ts +207 -0
  537. package/src/models/generation-types.ts +50 -0
  538. package/src/models/index.ts +8 -0
  539. package/src/models/language-model.ts +3 -0
  540. package/src/models/output.ts +45 -0
  541. package/src/models/resolve.ts +27 -0
  542. package/src/objects/execution.ts +1 -1
  543. package/src/ontology/index.ts +1 -2
  544. package/src/ontology/internal.ts +35 -0
  545. package/src/projections/run-dispatch.ts +1 -0
  546. package/src/query.ts +0 -1
  547. package/src/queues/index.ts +4 -2
  548. package/src/queues/types.ts +6 -25
  549. package/src/runtime/create.ts +2 -1
  550. package/src/runtime/host.ts +2 -1
  551. package/src/runtime/sixb.ts +4 -0
  552. package/src/sandboxes/errors.ts +5 -0
  553. package/src/sandboxes/index.ts +3 -0
  554. package/src/sandboxes/sandbox.ts +35 -7
  555. package/src/storage/agents/in-memory.ts +0 -3
  556. package/src/storage/agents/types.ts +0 -3
  557. package/src/storage/ai-cost/analytics.ts +1 -1
  558. package/src/storage/ai-cost/attribution.ts +15 -0
  559. package/src/storage/ai-cost/groups.ts +5 -1
  560. package/src/storage/ai-cost/provider.ts +1 -0
  561. package/src/storage/ai-cost/types.ts +7 -0
  562. package/src/storage/auth/in-memory.ts +1 -1
  563. package/src/storage/executions/in-memory.ts +4 -9
  564. package/src/storage/executions/provider.ts +4 -0
  565. package/src/storage/executions/types.ts +6 -2
  566. package/src/storage/executions/validation.ts +32 -0
  567. package/src/storage/in-memory/index.ts +16 -1
  568. package/src/storage/index.ts +3 -29
  569. package/src/storage/internal.ts +20 -0
  570. package/src/storage/workflow-runs/in-memory.ts +0 -2
  571. package/src/storage/workflow-runs/types.ts +0 -3
  572. package/src/testing/action-execution.ts +9 -2
  573. package/src/testing/agent-execution.ts +3 -0
  574. package/src/testing/agent-storage-contract.ts +0 -5
  575. package/src/testing/ai-model-call-groups-contract.ts +74 -2
  576. package/src/testing/execution-storage-contract.ts +59 -1
  577. package/src/testing/execution.ts +6 -0
  578. package/src/testing/workflow-execution.ts +4 -0
  579. package/src/workflows/failure.ts +62 -1
  580. package/src/workflows/request.ts +0 -9
  581. package/src/workflows/run-dispatch.ts +0 -3
  582. package/src/workflows/types.ts +2 -0
  583. package/src/workflows/validation.ts +1 -1
  584. package/dist/agents/context.d.ts.map +0 -1
  585. package/dist/agents/context.js +0 -23
  586. package/dist/agents/streams.d.ts.map +0 -1
  587. package/dist/agents/streams.js +0 -55
  588. package/dist/chunk-08m3b6w8.js +0 -32
  589. package/dist/chunk-19jp6g9d.js.map +0 -11
  590. package/dist/chunk-2xns679x.js.map +0 -11
  591. package/dist/chunk-3xep5cjx.js.map +0 -15
  592. package/dist/chunk-407j3msh.js +0 -60
  593. package/dist/chunk-4qfkag59.js +0 -1568
  594. package/dist/chunk-4qfkag59.js.map +0 -20
  595. package/dist/chunk-5e3pq99w.js.map +0 -11
  596. package/dist/chunk-7y0f6rf1.js.map +0 -10
  597. package/dist/chunk-ajnan18g.js.map +0 -12
  598. package/dist/chunk-c15dr03f.js +0 -43
  599. package/dist/chunk-d8qkxt2v.js.map +0 -10
  600. package/dist/chunk-jq43kdvk.js +0 -50
  601. package/dist/chunk-k522z7v6.js.map +0 -10
  602. package/dist/chunk-p03r0h5s.js.map +0 -16
  603. package/dist/chunk-p1rzczbt.js +0 -218
  604. package/dist/chunk-rafagrwr.js.map +0 -11
  605. package/dist/chunk-xajtptbw.js.map +0 -40
  606. package/dist/chunk-y64skrwp.js +0 -19
  607. package/dist/chunk-zcnhxkvd.js +0 -7
  608. package/dist/logging/types.js +0 -27
  609. package/dist/logging/types.js.map +0 -9
  610. /package/dist/{chunk-zqqz8052.js → chunk-7n30ybym.js} +0 -0
  611. /package/dist/{chunk-zqqz8052.js.map → chunk-7n30ybym.js.map} +0 -0
  612. /package/dist/{chunk-4a849fr1.js.map → chunk-9tc8dxmn.js.map} +0 -0
  613. /package/dist/{chunk-j1sbhm7p.js → chunk-ey1nk510.js} +0 -0
  614. /package/dist/{chunk-j1sbhm7p.js.map → chunk-ey1nk510.js.map} +0 -0
  615. /package/dist/{chunk-z4ccwbkz.js.map → chunk-x9v4cx1d.js.map} +0 -0
@@ -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
  }
@@ -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
 
package/src/index.ts CHANGED
@@ -55,7 +55,6 @@ export {
55
55
  prop,
56
56
  ref,
57
57
  stringEnum,
58
- validateSchemaOrRefValue,
59
58
  valueTypeRef,
60
59
  } from "./ontology"
61
60
 
@@ -127,9 +126,6 @@ export {
127
126
  isObjectActionDefinition,
128
127
  optional,
129
128
  param,
130
- requestAction,
131
- requestActionAndWait,
132
- waitForActionRun,
133
129
  } from "./actions"
134
130
  /**
135
131
  * `ctx.edits()` rejects an invalid batch with this, so it crosses a public boundary and users need
@@ -336,24 +332,26 @@ export {
336
332
 
337
333
  // ── Logging ─────────────────────────────────────────────────
338
334
 
335
+ export type { ConsoleLoggerOptions } from "./logging/console-logger"
336
+ export { ConsoleLogger, noopLogger, noopLoggerProvider } from "./logging/console-logger"
337
+ export type {
338
+ LoggingService,
339
+ LogsObservabilityOptions,
340
+ ObservabilityOptions,
341
+ } from "./logging/service"
339
342
  export type {
340
- ConsoleLoggerOptions,
341
343
  LogContext,
342
344
  LogEntry,
343
345
  LogFields,
344
346
  Logger,
345
347
  LoggerProvider,
346
- LoggingService,
347
348
  LogLevel,
348
349
  LogRecord,
349
350
  LogRunRef,
350
- LogsObservabilityOptions,
351
- ObservabilityOptions,
352
351
  SixbRunKind,
353
352
  StoredLogLine,
354
- } from "./logging"
353
+ } from "./logging/types"
355
354
  export {
356
- ConsoleLogger,
357
355
  isLevelEnabled,
358
356
  isLogLevel,
359
357
  isLogRecord,
@@ -361,10 +359,8 @@ export {
361
359
  isStoredLogLine,
362
360
  LOG_LEVELS,
363
361
  logLevelsAtOrAbove,
364
- noopLogger,
365
- noopLoggerProvider,
366
362
  SIXB_RUN_KINDS,
367
- } from "./logging"
363
+ } from "./logging/types"
368
364
 
369
365
  // ── Predicates ─────────────────────────────────────────────
370
366
 
@@ -426,7 +422,6 @@ export type { AuthorizationContext, GrantIndex, GrantKind } from "./authorizatio
426
422
  export {
427
423
  AuthorizationError,
428
424
  canAccessApplication,
429
- emptyGrantIndex,
430
425
  isAllowed,
431
426
  isApplicationAccessControlled,
432
427
  resolveAuthorizationContext,
@@ -592,12 +587,14 @@ export type {
592
587
  CommandResult,
593
588
  CreateSandboxOptions,
594
589
  ExecOptions,
590
+ ResumeSandboxOptions,
595
591
  RunCommandOptions,
596
592
  Sandbox,
597
593
  SandboxFactory,
598
594
  SandboxFileRecord,
599
595
  SandboxNetworkPolicy,
600
596
  SandboxNetworkTarget,
597
+ SandboxSessionOptions,
601
598
  SandboxStatus,
602
599
  } from "./sandboxes"
603
600
  export {
@@ -724,7 +721,7 @@ export type {
724
721
  SyncRunRequestResult,
725
722
  SyncTargetBuilder,
726
723
  } from "./syncs"
727
- export { defineSync, requestSyncRun } from "./syncs"
724
+ export { defineSync } from "./syncs"
728
725
 
729
726
  // ── Schedules ───────────────────────────────────────────────
730
727
 
@@ -784,7 +781,6 @@ export {
784
781
  isPipelineDefinition,
785
782
  isPipelineStepDefinition,
786
783
  PipelineError,
787
- requestPipelineRun,
788
784
  } from "./pipelines"
789
785
 
790
786
  // ── Workflows ───────────────────────────────────────────────
@@ -850,7 +846,6 @@ export {
850
846
  isInterventionDefinition,
851
847
  isStepDefinition,
852
848
  isWorkflowDefinition,
853
- requestWorkflowRun,
854
849
  WorkflowDefinitionError,
855
850
  WorkflowValidationError,
856
851
  } from "./workflows"
@@ -1062,7 +1057,6 @@ export {
1062
1057
  MAX_AGENT_APP_STATE_ENTRY_BYTES,
1063
1058
  MAX_AGENT_APP_STATE_TOTAL_BYTES,
1064
1059
  MAX_AGENT_CONTEXT_ENTRIES,
1065
- requestAgentRun,
1066
1060
  } from "./agents"
1067
1061
  export type { AgentThreadRecord, ListAgentThreadsResult } from "./storage/agents"
1068
1062
 
@@ -1075,6 +1069,14 @@ export type {
1075
1069
  ModelCatalog,
1076
1070
  ModelCatalogInput,
1077
1071
  } from "./models"
1072
+ export type {
1073
+ InferLanguageModelOutput,
1074
+ LanguageModelGenerateInput,
1075
+ LanguageModelGenerateResult,
1076
+ LanguageModelOutputShape,
1077
+ LanguageModelsRuntime,
1078
+ ModelsRuntime,
1079
+ } from "./models/generation-types"
1078
1080
 
1079
1081
  // ── Scheduling ──────────────────────────────────────────────
1080
1082
 
@@ -1,25 +1,5 @@
1
- export {
2
- ConsoleLogger,
3
- type ConsoleLoggerOptions,
4
- noopLogger,
5
- noopLoggerProvider,
6
- } from "./console-logger"
7
- export {
8
- LoggingService,
9
- type LoggingServiceOptions,
10
- type LogsObservabilityOptions,
11
- type LogsPage,
12
- type LogsReadInput,
13
- type LogsSubscribeInput,
14
- type LogsTailInput,
15
- type ObservabilityOptions,
16
- resolveLoggingService,
17
- } from "./service"
18
- export {
19
- DEFAULT_LOGS_MAX_BYTES,
20
- DEFAULT_LOGS_RETENTION,
21
- LOGS_STREAM,
22
- } from "./stream"
1
+ /** Browser-safe logging contracts and record readers. */
2
+ export type * from "./types"
23
3
  export {
24
4
  isLevelEnabled,
25
5
  isLogLevel,
@@ -27,17 +7,6 @@ export {
27
7
  isSixbRunKind,
28
8
  isStoredLogLine,
29
9
  LOG_LEVELS,
30
- type LogContext,
31
- type LogEntry,
32
- type LogFields,
33
- type Logger,
34
- type LoggerProvider,
35
- type LogLevel,
36
- type LogRecord,
37
- type LogRunRef,
38
10
  logLevelsAtOrAbove,
39
- normalizeLogError,
40
11
  SIXB_RUN_KINDS,
41
- type SixbRunKind,
42
- type StoredLogLine,
43
12
  } from "./types"
@@ -0,0 +1,43 @@
1
+ export {
2
+ ConsoleLogger,
3
+ type ConsoleLoggerOptions,
4
+ noopLogger,
5
+ noopLoggerProvider,
6
+ } from "./console-logger"
7
+ export {
8
+ LoggingService,
9
+ type LoggingServiceOptions,
10
+ type LogsObservabilityOptions,
11
+ type LogsPage,
12
+ type LogsReadInput,
13
+ type LogsSubscribeInput,
14
+ type LogsTailInput,
15
+ type ObservabilityOptions,
16
+ resolveLoggingService,
17
+ } from "./service"
18
+ export {
19
+ DEFAULT_LOGS_MAX_BYTES,
20
+ DEFAULT_LOGS_RETENTION,
21
+ LOGS_STREAM,
22
+ } from "./stream"
23
+ export {
24
+ isLevelEnabled,
25
+ isLogLevel,
26
+ isLogRecord,
27
+ isSixbRunKind,
28
+ isStoredLogLine,
29
+ LOG_LEVELS,
30
+ type LogContext,
31
+ type LogEntry,
32
+ type LogFields,
33
+ type Logger,
34
+ type LoggerProvider,
35
+ type LogLevel,
36
+ type LogRecord,
37
+ type LogRunRef,
38
+ logLevelsAtOrAbove,
39
+ normalizeLogError,
40
+ SIXB_RUN_KINDS,
41
+ type SixbRunKind,
42
+ type StoredLogLine,
43
+ } from "./types"
@@ -43,6 +43,18 @@ export class ModelStreamError extends Error {
43
43
 
44
44
  export class UnsupportedModelFeatureError extends Error {
45
45
  readonly name = "UnsupportedModelFeatureError"
46
+
47
+ constructor(
48
+ message?: string,
49
+ options?: ErrorOptions & {
50
+ readonly reason?: "unsupported-model" | "unsupported-schema"
51
+ }
52
+ ) {
53
+ super(message, options)
54
+ this.reason = options?.reason
55
+ }
56
+
57
+ readonly reason?: "unsupported-model" | "unsupported-schema"
46
58
  }
47
59
 
48
60
  export class StructuredOutputError extends Error {
@@ -0,0 +1,29 @@
1
+ import type { ModelsRuntime } from "../generation-types"
2
+
3
+ export interface ModelExecutionAttempt {
4
+ readonly attempt: number
5
+ readonly signal: AbortSignal
6
+ }
7
+
8
+ const bindings = new WeakMap<ModelsRuntime, (input: ModelExecutionAttempt) => void>()
9
+
10
+ export function registerModelExecutionBinding(
11
+ models: ModelsRuntime,
12
+ bind: (input: ModelExecutionAttempt) => void
13
+ ): void {
14
+ bindings.set(models, bind)
15
+ }
16
+
17
+ /** Called once on a fresh facade at the request or worker delivery boundary. */
18
+ export function bindModelExecutionAttempt(
19
+ models: ModelsRuntime,
20
+ input: ModelExecutionAttempt
21
+ ): void {
22
+ const bind = bindings.get(models)
23
+ if (!bind) throw new Error("[SixbModels] Model runtime has no execution binding.")
24
+ if (!Number.isSafeInteger(input.attempt) || input.attempt < 1) {
25
+ throw new TypeError("[SixbModels] Execution attempt must be a positive safe integer.")
26
+ }
27
+ bind(input)
28
+ bindings.delete(models)
29
+ }
@@ -0,0 +1,18 @@
1
+ /** A provider call was not recorded synchronously, so its execution must stop. */
2
+ export class ModelUsageRecordingError extends Error {
3
+ readonly name = "ModelUsageRecordingError"
4
+
5
+ constructor(
6
+ readonly executionId: string,
7
+ readonly callId: string,
8
+ readonly recoveryScheduled: boolean,
9
+ options?: ErrorOptions
10
+ ) {
11
+ super(
12
+ recoveryScheduled
13
+ ? `[SixbModels] AI usage for call '${callId}' in execution '${executionId}' was deferred to durable recovery.`
14
+ : `[SixbModels] Could not preserve AI usage for call '${callId}' in execution '${executionId}'.`,
15
+ options
16
+ )
17
+ }
18
+ }