@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
@@ -0,0 +1,602 @@
1
+ // @bun
2
+ import {
3
+ createSixbError2,
4
+ isSixbError2
5
+ } from "./chunk-f4w3yp4f.js";
6
+ import {
7
+ AiLimitStorageError2
8
+ } from "./chunk-jgwb25gc.js";
9
+ import {
10
+ aiLimitSubjectsFromAttribution2,
11
+ applicableAiLimitPolicies2,
12
+ aiUsageLimitExceededError2,
13
+ aiUsageLimitUnavailableError2
14
+ } from "./chunk-0y39rgsb.js";
15
+ import {
16
+ defineLanguageModel2,
17
+ ModelCatalogUnavailableError2
18
+ } from "./chunk-e0d1rzef.js";
19
+ import {
20
+ AiUsageStorageError2,
21
+ normalizeAiModelCallCostRecord2,
22
+ aiModelCallCostMatchesUsage2
23
+ } from "./chunk-g53f0e4j.js";
24
+ import {
25
+ AiCostStorageError2
26
+ } from "./chunk-mjbk2djy.js";
27
+ import {
28
+ normalizeAiModelCallRecord2
29
+ } from "./chunk-s3csryxe.js";
30
+ import {
31
+ assertJsonObject2
32
+ } from "./chunk-wy0qdqfm.js";
33
+
34
+ // src/models/execution/model-call-limits.ts
35
+ function createAiModelCallLimitController2(input) {
36
+ const subjects = aiLimitSubjectsFromAttribution2(input.requestedBy, input.requesterGroupIds);
37
+ return {
38
+ beforeModelCall: async (admission) => {
39
+ let applicable;
40
+ try {
41
+ const policies = await input.storage.aiLimits.listPolicies({
42
+ projectId: input.projectId
43
+ });
44
+ applicable = applicableAiLimitPolicies2(policies, subjects);
45
+ } catch (error) {
46
+ throw limitStorageUnavailable(error);
47
+ }
48
+ if (applicable.length === 0)
49
+ return { reservation: "none" };
50
+ const estimates = reservationEstimates(admission, applicable.some((policy) => policy.limit.meter === "cost.catalogEstimated"));
51
+ if (estimates.length === 0) {
52
+ throw aiUsageLimitUnavailableError2(["missingEstimate"]);
53
+ }
54
+ let result;
55
+ try {
56
+ result = await input.storage.aiLimits.reserveModelCall({
57
+ ...reservationIdentity(admission),
58
+ subjects,
59
+ estimates
60
+ });
61
+ } catch (error) {
62
+ throw limitStorageUnavailable(error);
63
+ }
64
+ switch (result.status) {
65
+ case "reserved":
66
+ return { reservation: "active" };
67
+ case "notRequired":
68
+ return { reservation: "none" };
69
+ case "denied":
70
+ throw aiUsageLimitExceededError2(result.resetAt);
71
+ case "unavailable":
72
+ throw aiUsageLimitUnavailableError2(result.reasons);
73
+ case "terminal":
74
+ throw aiUsageLimitUnavailableError2(["terminalReservationReplay"]);
75
+ }
76
+ },
77
+ markModelCallUnknown: async (identity) => {
78
+ try {
79
+ await input.storage.aiLimits.markReservationUnknown(identity);
80
+ } catch (error) {
81
+ throw limitStorageUnavailable(error);
82
+ }
83
+ }
84
+ };
85
+ }
86
+ function reservationEstimates(input, needsCost) {
87
+ if (input.inputTokens.status !== "estimated" || input.estimatedTotalTokens === undefined) {
88
+ return [];
89
+ }
90
+ const estimates = [
91
+ { meter: "tokens.total", amount: input.estimatedTotalTokens }
92
+ ];
93
+ if (needsCost) {
94
+ try {
95
+ const money = input.costEstimator?.estimateReservation?.({
96
+ inputTokens: input.inputTokens.tokens,
97
+ outputTokens: input.outputTokenAllowance
98
+ });
99
+ if (money)
100
+ estimates.push({ meter: "cost.catalogEstimated", amount: money });
101
+ } catch {
102
+ return estimates;
103
+ }
104
+ }
105
+ return estimates;
106
+ }
107
+ function reservationIdentity(input) {
108
+ return {
109
+ projectId: input.projectId,
110
+ executionId: input.executionId,
111
+ attempt: input.attempt,
112
+ callId: input.callId
113
+ };
114
+ }
115
+ function limitStorageUnavailable(error) {
116
+ if (isSixbError2(error) && (error.code === "ai.usage_limit_exceeded" || error.code === "ai.usage_limit_unavailable")) {
117
+ return error;
118
+ }
119
+ return aiUsageLimitUnavailableError2(["limitStorageUnavailable"]);
120
+ }
121
+
122
+ // src/models/execution/errors.ts
123
+ class ModelUsageRecordingError2 extends Error {
124
+ executionId;
125
+ callId;
126
+ recoveryScheduled;
127
+ name = "ModelUsageRecordingError";
128
+ constructor(executionId, callId, recoveryScheduled, options) {
129
+ super(recoveryScheduled ? `[SixbModels] AI usage for call '${callId}' in execution '${executionId}' was deferred to durable recovery.` : `[SixbModels] Could not preserve AI usage for call '${callId}' in execution '${executionId}'.`, options);
130
+ this.executionId = executionId;
131
+ this.callId = callId;
132
+ this.recoveryScheduled = recoveryScheduled;
133
+ }
134
+ }
135
+
136
+ // src/models/execution/model-call-accounting.ts
137
+ import { createHash } from "crypto";
138
+ async function recordAiModelCallAccounting(input) {
139
+ return input.storage.transaction(async (tx) => {
140
+ const { aiUsage, aiCosts, aiLimits } = requireAccountingCapabilities(tx);
141
+ const usage = await aiUsage.recordModelCall(input.usage);
142
+ const canonical = normalizeModelCallAccounting({
143
+ ...input,
144
+ usage: usage.record,
145
+ ratedAt: usage.record.recordedAt
146
+ });
147
+ const record = modelCostRecord(canonical, usage.record.id);
148
+ const estimate = canonical.cost.status !== "reported" || canonical.estimate === undefined ? undefined : modelCostRecord({ ...canonical, cost: canonical.estimate }, usage.record.id);
149
+ await aiCosts.recordModelCallCost({
150
+ ...record,
151
+ ...estimate === undefined ? {} : {
152
+ estimate: estimate.status === "rated" ? { status: "rated", money: estimate.money, components: estimate.components } : {
153
+ status: "unpriceable",
154
+ reason: estimate.reason,
155
+ ...estimate.missingMeters === undefined ? {} : { missingMeters: estimate.missingMeters }
156
+ }
157
+ }
158
+ });
159
+ if (usage.created) {
160
+ await aiLimits.recordModelCallActuals({
161
+ projectId: usage.record.projectId,
162
+ usageRecordId: usage.record.id,
163
+ recordedAt: input.ratedAt
164
+ });
165
+ }
166
+ if (input.reconcileLimitReservation) {
167
+ await aiLimits.reconcileModelCall({
168
+ projectId: usage.record.projectId,
169
+ executionId: usage.record.executionId,
170
+ attempt: usage.record.attempt,
171
+ callId: usage.record.callId,
172
+ usageRecordId: usage.record.id,
173
+ reconciledAt: input.ratedAt
174
+ });
175
+ }
176
+ return usage;
177
+ });
178
+ }
179
+ function normalizeModelCallAccounting(input) {
180
+ const usage = normalizeAiModelCallRecord2(input.usage);
181
+ return {
182
+ ...input,
183
+ cost: input.cost.status === "reported" ? input.cost : validatedEstimate(input.cost, input, usage),
184
+ ...input.estimate === undefined ? {} : { estimate: validatedEstimate(input.estimate, input, usage) }
185
+ };
186
+ }
187
+ function validatedEstimate(cost, input, usage) {
188
+ try {
189
+ assertJsonObject2(cost, "model cost estimate");
190
+ const record = normalizeAiModelCallCostRecord2(modelCostRecord({ ...input, cost }, usage.id));
191
+ if (!aiModelCallCostMatchesUsage2(record, usage)) {
192
+ throw new TypeError("Estimate quantities do not match recorded usage.");
193
+ }
194
+ return structuredClone(cost);
195
+ } catch {
196
+ console.warn("[SixbModels] Invalid model cost estimate; preserving call usage and provider cost.");
197
+ return { status: "unpriceable", reason: "inconsistent-usage" };
198
+ }
199
+ }
200
+ function modelCostRecord(input, usageRecordId) {
201
+ const billingIdentity = {
202
+ providerId: input.usage.providerId,
203
+ modelId: input.usage.requestedModelId
204
+ };
205
+ const pricingContext = {
206
+ ...input.route?.providerId === undefined ? {} : { routedProviderId: input.route.providerId },
207
+ ...input.route?.modelId === undefined ? {} : { routedModelId: input.route.modelId }
208
+ };
209
+ if (input.cost.status === "reported" || input.cost.status === "rated") {
210
+ return {
211
+ projectId: input.usage.projectId,
212
+ usageRecordId,
213
+ status: "rated",
214
+ billingIdentity,
215
+ pricingContext,
216
+ priceSource: costPriceSource(input.usage, input.cost),
217
+ money: input.cost.money,
218
+ components: input.cost.status === "rated" ? input.cost.components : [],
219
+ ratedAt: new Date(input.ratedAt)
220
+ };
221
+ }
222
+ const reason = input.cost.reason === "missing-rate-card" ? "missingRateCard" : input.cost.reason === "missing-usage" ? "missingUsageMeter" : "invalidUsageForFormula";
223
+ const missingMeters = reason === "missingUsageMeter" ? normalizeMissingMeters(input.cost.missingMeters) : undefined;
224
+ return {
225
+ projectId: input.usage.projectId,
226
+ usageRecordId,
227
+ status: "unpriceable",
228
+ billingIdentity,
229
+ pricingContext,
230
+ reason,
231
+ ...missingMeters === undefined ? {} : { missingMeters },
232
+ ratedAt: new Date(input.ratedAt)
233
+ };
234
+ }
235
+ function costPriceSource(usage, cost) {
236
+ if (cost.status === "reported") {
237
+ return {
238
+ sourceId: "provider-reported",
239
+ sourceEntryId: `${usage.providerId}/${usage.responseId}`,
240
+ sourceVersion: "response-v1",
241
+ observedAt: new Date(usage.occurredAt)
242
+ };
243
+ }
244
+ const rates = cost.components.map(({ meter, rateAmountNanosPerMillion }) => ({
245
+ meter,
246
+ rateAmountNanosPerMillion
247
+ }));
248
+ const version = createHash("sha256").update(JSON.stringify(rates)).digest("hex");
249
+ return {
250
+ sourceId: "model-rate-card",
251
+ sourceEntryId: `${usage.providerId}/${usage.requestedModelId}`,
252
+ sourceVersion: `sha256:${version}`,
253
+ observedAt: new Date(usage.occurredAt)
254
+ };
255
+ }
256
+ function normalizeMissingMeters(meters) {
257
+ const fallback = ["tokens.input.total", "tokens.output.total"];
258
+ return [...new Set(meters ?? fallback)];
259
+ }
260
+ function requireAccountingCapabilities(storage) {
261
+ if (!storage.aiUsage || !storage.aiCosts || !storage.aiLimits) {
262
+ throw new Error("[SixbModels] AI model-call accounting requires storage.aiUsage, storage.aiCosts, and storage.aiLimits.");
263
+ }
264
+ return { aiUsage: storage.aiUsage, aiCosts: storage.aiCosts, aiLimits: storage.aiLimits };
265
+ }
266
+
267
+ // src/models/execution/usage.ts
268
+ function aiModelCallUsageFromModel(usage) {
269
+ return {
270
+ ...usage.inputTokens === undefined ? {} : { inputTokens: usage.inputTokens },
271
+ ...usage.outputTokens === undefined ? {} : { outputTokens: usage.outputTokens },
272
+ ...usage.uncachedInputTokens === undefined ? {} : { uncachedInputTokens: usage.uncachedInputTokens },
273
+ ...usage.cacheReadInputTokens === undefined ? {} : { cacheReadInputTokens: usage.cacheReadInputTokens },
274
+ ...usage.cacheWriteInputTokens === undefined ? {} : { cacheWriteInputTokens: usage.cacheWriteInputTokens },
275
+ ...usage.textOutputTokens === undefined ? {} : { textOutputTokens: usage.textOutputTokens },
276
+ ...usage.reasoningOutputTokens === undefined ? {} : { reasoningOutputTokens: usage.reasoningOutputTokens }
277
+ };
278
+ }
279
+
280
+ // src/models/execution/model-call-recovery.ts
281
+ class InvalidAiUsageRecoveryJobError extends Error {
282
+ name = "InvalidAiUsageRecoveryJobError";
283
+ constructor(message, options) {
284
+ super(`[SixbModels] ${message}`, options);
285
+ }
286
+ }
287
+ function modelCallRecoveryPayload(input) {
288
+ normalizeAiModelCallRecord2(input.usage);
289
+ return {
290
+ record: toQueuePayload(input.usage),
291
+ accounting: toAccountingPayload(input)
292
+ };
293
+ }
294
+ async function recordRecoveredAiModelCall2(storage, job) {
295
+ const usage = fromQueuePayload(job);
296
+ const accounting = accountingFromQueuePayload(job);
297
+ return recordAiModelCallAccounting({ storage, usage, ...accounting });
298
+ }
299
+ function isPermanentAiUsageRecoveryError2(error) {
300
+ return error instanceof InvalidAiUsageRecoveryJobError || error instanceof TypeError || error instanceof AiUsageStorageError2 && (error.code === "duplicate_id" || error.code === "missing_execution") || error instanceof AiCostStorageError2 && (error.code === "missing_usage" || error.code === "cost_mismatch") || error instanceof AiLimitStorageError2 && (error.code === "missing_execution" || error.code === "missing_reservation" || error.code === "missing_usage_record" || error.code === "usage_mismatch" || error.code === "reservation_conflict" || error.code === "reconciliation_conflict" || error.code === "invalid_reservation_state");
301
+ }
302
+ function toQueuePayload(record) {
303
+ return {
304
+ id: record.id,
305
+ executionId: record.executionId,
306
+ attempt: record.attempt,
307
+ callId: record.callId,
308
+ requesterGroupIds: [...record.requesterGroupIds],
309
+ providerId: record.providerId,
310
+ ...record.providerIds === undefined ? {} : { providerIds: structuredClone(record.providerIds) },
311
+ requestedModelId: record.requestedModelId,
312
+ ...record.requestedReasoning === undefined ? {} : { requestedReasoning: structuredClone(record.requestedReasoning) },
313
+ ...record.responseModelId === undefined ? {} : { responseModelId: record.responseModelId },
314
+ responseId: record.responseId,
315
+ usage: aiModelCallUsageFromModel(record.usage),
316
+ ...record.rawUsage === undefined ? {} : { rawUsage: structuredClone(record.rawUsage) },
317
+ occurredAt: record.occurredAt.toISOString()
318
+ };
319
+ }
320
+ function toAccountingPayload(input) {
321
+ return {
322
+ cost: structuredClone(input.cost),
323
+ ...input.estimate === undefined ? {} : { estimate: structuredClone(input.estimate) },
324
+ ...input.route === undefined ? {} : { route: structuredClone(input.route) },
325
+ ratedAt: input.ratedAt.toISOString(),
326
+ ...input.reconcileLimitReservation ? { reconcileLimitReservation: true } : {}
327
+ };
328
+ }
329
+ function fromQueuePayload(job) {
330
+ const occurredAt = parseDate(job.payload.record.occurredAt, job.id, "occurredAt");
331
+ return { ...job.payload.record, projectId: job.projectId, occurredAt };
332
+ }
333
+ function accountingFromQueuePayload(job) {
334
+ const accounting = job.payload.accounting;
335
+ return {
336
+ cost: structuredClone(accounting.cost),
337
+ ...accounting.estimate === undefined ? {} : { estimate: structuredClone(accounting.estimate) },
338
+ ...accounting.route === undefined ? {} : { route: structuredClone(accounting.route) },
339
+ ratedAt: parseDate(accounting.ratedAt, job.id, "ratedAt"),
340
+ reconcileLimitReservation: accounting.reconcileLimitReservation === true
341
+ };
342
+ }
343
+ function parseDate(value, jobId, field) {
344
+ const date = new Date(value);
345
+ if (!Number.isFinite(date.getTime())) {
346
+ throw new InvalidAiUsageRecoveryJobError(`AI usage recovery job '${jobId}' has an invalid ${field} timestamp.`);
347
+ }
348
+ return date;
349
+ }
350
+
351
+ // src/models/execution/model-call-recorder.ts
352
+ import { randomUUID } from "crypto";
353
+
354
+ // src/models/execution/model-call-admission.ts
355
+ var AI_MODEL_CALL_OUTPUT_TOKEN_ALLOWANCE = 4096;
356
+ function estimateAiModelCallInputTokens(input) {
357
+ if (containsNonTextInput(input.prompt)) {
358
+ return { status: "unavailable", reason: "nonTextInput" };
359
+ }
360
+ let serialized;
361
+ try {
362
+ serialized = JSON.stringify(input);
363
+ } catch {
364
+ return { status: "unavailable", reason: "unserializableInput" };
365
+ }
366
+ if (serialized === undefined) {
367
+ return { status: "unavailable", reason: "unserializableInput" };
368
+ }
369
+ const bytes = new TextEncoder().encode(serialized).byteLength;
370
+ return {
371
+ status: "estimated",
372
+ tokens: Math.ceil(bytes / 4),
373
+ method: "utf8BytesDividedByFour"
374
+ };
375
+ }
376
+ function aiModelCallOutputTokenAllowance(maxOutputTokens) {
377
+ if (maxOutputTokens === undefined)
378
+ return AI_MODEL_CALL_OUTPUT_TOKEN_ALLOWANCE;
379
+ if (!Number.isSafeInteger(maxOutputTokens) || maxOutputTokens <= 0) {
380
+ throw new TypeError("[SixbModels] AI model-call maxOutputTokens must be a positive safe integer.");
381
+ }
382
+ return maxOutputTokens;
383
+ }
384
+ function estimatedAiModelCallTotalTokens(inputTokens, outputTokenAllowance) {
385
+ if (inputTokens.status !== "estimated")
386
+ return;
387
+ const total = inputTokens.tokens + outputTokenAllowance;
388
+ if (!Number.isSafeInteger(total)) {
389
+ throw new TypeError("[SixbModels] AI model-call token estimate exceeds the safe range.");
390
+ }
391
+ return total;
392
+ }
393
+ function containsNonTextInput(value, seen = new WeakSet) {
394
+ if (value === null || typeof value !== "object")
395
+ return false;
396
+ if (value instanceof URL || value instanceof ArrayBuffer || ArrayBuffer.isView(value) || typeof Blob !== "undefined" && value instanceof Blob) {
397
+ return true;
398
+ }
399
+ if (seen.has(value))
400
+ return false;
401
+ seen.add(value);
402
+ if (!Array.isArray(value)) {
403
+ const type = Reflect.get(value, "type");
404
+ if (type === "image" || type === "file" || type === "reasoning-file" || type === "custom" || type === "provider-state") {
405
+ return true;
406
+ }
407
+ }
408
+ return Object.values(value).some((entry) => containsNonTextInput(entry, seen));
409
+ }
410
+
411
+ // src/models/execution/model-call-recorder.ts
412
+ var STORAGE_RETRY_DELAYS_MS = [50, 200, 600];
413
+
414
+ class AiModelCallRecorder2 {
415
+ input;
416
+ generateId;
417
+ now;
418
+ retryDelaysMs;
419
+ sleep;
420
+ recordAccounting;
421
+ reservations = new Set;
422
+ admissionError;
423
+ recordingError;
424
+ constructor(input, internals = {}) {
425
+ this.input = input;
426
+ requireAccountingCapabilities(input.storage);
427
+ this.generateId = internals.generateId ?? (() => `ai_usage_${randomUUID()}`);
428
+ this.now = internals.now ?? (() => new Date);
429
+ this.retryDelaysMs = internals.retryDelaysMs ?? STORAGE_RETRY_DELAYS_MS;
430
+ this.sleep = internals.sleep ?? sleep;
431
+ this.recordAccounting = internals.recordAccounting ?? (async (recovery) => {
432
+ await recordAiModelCallAccounting({ storage: this.input.storage, ...recovery });
433
+ });
434
+ }
435
+ wrapModel(model) {
436
+ return {
437
+ providerId: model.providerId,
438
+ modelId: model.modelId,
439
+ definition: model.definition,
440
+ costEstimator: model.costEstimator,
441
+ ...model.validateResponseFormat === undefined ? {} : { validateResponseFormat: model.validateResponseFormat.bind(model) },
442
+ stream: async (request) => {
443
+ this.assertHealthy();
444
+ const inputTokens = estimateAiModelCallInputTokens({
445
+ prompt: request.messages,
446
+ tools: request.tools,
447
+ responseFormat: request.responseFormat
448
+ });
449
+ const outputTokenAllowance = aiModelCallOutputTokenAllowance(request.maxOutputTokens);
450
+ let decision;
451
+ try {
452
+ decision = await this.input.limits.beforeModelCall({
453
+ ...this.identity(request),
454
+ requesterGroupIds: this.input.requesterGroupIds,
455
+ providerId: model.providerId,
456
+ modelId: model.modelId,
457
+ costEstimator: model.costEstimator,
458
+ inputTokens,
459
+ outputTokenAllowance,
460
+ estimatedTotalTokens: estimatedAiModelCallTotalTokens(inputTokens, outputTokenAllowance)
461
+ });
462
+ } catch (error) {
463
+ this.admissionError = error;
464
+ throw error;
465
+ }
466
+ if (decision.reservation === "active")
467
+ this.reservations.add(request.callId);
468
+ try {
469
+ return await model.stream(request);
470
+ } catch (error) {
471
+ if (this.reservations.has(request.callId)) {
472
+ await this.input.limits.markModelCallUnknown(this.identity(request));
473
+ }
474
+ throw error;
475
+ }
476
+ }
477
+ };
478
+ }
479
+ identity(request) {
480
+ return {
481
+ projectId: this.input.projectId,
482
+ executionId: this.input.executionId,
483
+ attempt: this.input.attempt,
484
+ callId: request.callId
485
+ };
486
+ }
487
+ onModelCallEnd = async (event) => {
488
+ try {
489
+ const occurredAt = this.now();
490
+ const record = {
491
+ id: this.generateId(),
492
+ projectId: this.input.projectId,
493
+ executionId: this.input.executionId,
494
+ attempt: this.input.attempt,
495
+ callId: event.callId,
496
+ requesterGroupIds: this.input.requesterGroupIds,
497
+ providerId: event.providerId,
498
+ ...event.providerIds === undefined ? {} : { providerIds: event.providerIds },
499
+ requestedModelId: event.modelId,
500
+ ...event.requestedReasoning === undefined ? {} : { requestedReasoning: event.requestedReasoning },
501
+ ...event.responseModelId === undefined ? {} : { responseModelId: event.responseModelId },
502
+ responseId: event.responseId,
503
+ usage: aiModelCallUsageFromModel(event.usage),
504
+ ...event.usage.raw === undefined ? {} : { rawUsage: rawUsage(event.usage) },
505
+ occurredAt
506
+ };
507
+ const recoveryInput = normalizeModelCallAccounting({
508
+ usage: record,
509
+ cost: event.cost,
510
+ ...event.estimate === undefined ? {} : { estimate: event.estimate },
511
+ ...event.route === undefined ? {} : { route: event.route },
512
+ ratedAt: new Date(occurredAt),
513
+ ...this.reservations.has(event.callId) ? { reconcileLimitReservation: true } : {}
514
+ });
515
+ try {
516
+ await retryOperation(() => this.recordAccounting(recoveryInput), this.retryDelaysMs, this.sleep, (error) => !isPermanentAiUsageRecoveryError2(error));
517
+ } catch (storageError) {
518
+ if (isPermanentAiUsageRecoveryError2(storageError))
519
+ throw storageError;
520
+ try {
521
+ await retryOperation(() => this.input.recoverAiModelCall(recoveryInput), this.retryDelaysMs, this.sleep, (error) => !isPermanentAiUsageRecoveryError2(error));
522
+ } catch (recoveryError) {
523
+ throw new AggregateError([storageError, recoveryError], "Direct AI accounting and durable recovery both failed.");
524
+ }
525
+ throw new ModelUsageRecordingError2(this.input.executionId, event.callId, true, {
526
+ cause: storageError
527
+ });
528
+ }
529
+ } catch (error) {
530
+ const recordingError = error instanceof ModelUsageRecordingError2 ? error : new ModelUsageRecordingError2(this.input.executionId, event.callId, false, {
531
+ cause: error
532
+ });
533
+ this.recordingError ??= recordingError;
534
+ throw recordingError;
535
+ }
536
+ };
537
+ assertHealthy() {
538
+ if (this.admissionError !== undefined)
539
+ throw this.admissionError;
540
+ if (this.recordingError)
541
+ throw this.recordingError;
542
+ }
543
+ }
544
+ function rawUsage(usage) {
545
+ return structuredClone(usage.raw ?? {});
546
+ }
547
+ async function retryOperation(operation, retryDelaysMs, wait, shouldRetry) {
548
+ for (let attempt = 0;; attempt += 1) {
549
+ try {
550
+ return await operation();
551
+ } catch (error) {
552
+ if (!shouldRetry(error))
553
+ throw error;
554
+ const delay = retryDelaysMs[attempt];
555
+ if (delay === undefined)
556
+ throw error;
557
+ await wait(delay);
558
+ }
559
+ }
560
+ }
561
+ function sleep(ms) {
562
+ return new Promise((resolve) => setTimeout(resolve, ms));
563
+ }
564
+
565
+ // src/models/execution/recovery-queue.ts
566
+ function agentAiUsageRecoveryJobId(recordId) {
567
+ return `agt_usage_job_${recordId}`;
568
+ }
569
+ async function enqueueAiModelCallRecovery2(queue, input) {
570
+ const payload = modelCallRecoveryPayload(input);
571
+ const record = input.usage;
572
+ const jobId = agentAiUsageRecoveryJobId(record.id);
573
+ const [job] = await queue.enqueue({
574
+ projectId: record.projectId,
575
+ jobs: [{ id: jobId, type: "agent.ai-usage.record.requested", payload }]
576
+ });
577
+ if (job?.id !== jobId || job.type !== "agent.ai-usage.record.requested") {
578
+ throw createSixbError2("internal.unexpected", `[SixbModels] Agent queue did not confirm AI usage recovery job '${jobId}'.`, { details: { jobId } });
579
+ }
580
+ }
581
+
582
+ // src/models/resolve.ts
583
+ async function resolveLanguageModel2(binding) {
584
+ const offline = binding.definition.contextWindow !== undefined || binding.definition.maxInputTokens !== undefined;
585
+ let model;
586
+ try {
587
+ model = await binding.resolve?.({ offline }) ?? binding;
588
+ } catch (cause) {
589
+ if (offline || !(cause instanceof ModelCatalogUnavailableError2))
590
+ throw cause;
591
+ model = await binding.resolve?.({ offline: true }) ?? binding;
592
+ }
593
+ const definition = defineLanguageModel2(model.definition);
594
+ if (definition.providerId !== binding.providerId || definition.modelId !== binding.modelId || model.providerId !== binding.providerId || model.modelId !== binding.modelId) {
595
+ throw new TypeError("[SixbModels] Resolved model identity does not match the selected model.");
596
+ }
597
+ return model;
598
+ }
599
+
600
+ export { requireAccountingCapabilities, aiModelCallOutputTokenAllowance, createAiModelCallLimitController2, ModelUsageRecordingError2, recordRecoveredAiModelCall2, isPermanentAiUsageRecoveryError2, AiModelCallRecorder2, enqueueAiModelCallRecovery2, resolveLanguageModel2 };
601
+
602
+ //# debugId=CC3C37B45A645F1264756E2164756E21