@sixb/core 0.1.7 → 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.
- package/dist/actions/delegated-admission.d.ts +24 -0
- package/dist/actions/delegated-admission.d.ts.map +1 -0
- package/dist/actions/descriptor.d.ts +29 -0
- package/dist/actions/descriptor.d.ts.map +1 -0
- package/dist/actions/execution.d.ts +5 -5
- package/dist/actions/execution.d.ts.map +1 -1
- package/dist/actions/index.js +78 -84
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/request.d.ts.map +1 -1
- package/dist/actions/run-authorization.d.ts +20 -0
- package/dist/actions/run-authorization.d.ts.map +1 -0
- package/dist/actions/run-dispatch.d.ts +3 -1
- package/dist/actions/run-dispatch.d.ts.map +1 -1
- package/dist/actions/types/context.d.ts +2 -0
- package/dist/actions/types/context.d.ts.map +1 -1
- package/dist/actions/validation.d.ts +1 -1
- package/dist/actions/validation.d.ts.map +1 -1
- package/dist/actions/worker.js +33 -37
- package/dist/actions/worker.js.map +2 -2
- package/dist/agents/adapters.d.ts +8 -125
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/authority.d.ts +1 -1
- package/dist/agents/authority.d.ts.map +1 -1
- package/dist/agents/{context.d.ts → context/entries.d.ts} +3 -3
- package/dist/agents/context/entries.d.ts.map +1 -0
- package/dist/agents/context/index.d.ts +4 -0
- package/dist/agents/context/index.d.ts.map +1 -0
- package/dist/agents/context/index.js +19 -0
- package/dist/agents/{streams.js.map → context/index.js.map} +1 -1
- package/dist/agents/context-model.d.ts +1 -1
- package/dist/agents/context-model.d.ts.map +1 -1
- package/dist/agents/context-resolution.d.ts +1 -1
- package/dist/agents/context-resolution.d.ts.map +1 -1
- package/dist/agents/errors.d.ts +0 -9
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/execution.d.ts.map +1 -1
- package/dist/agents/identity.d.ts +3 -0
- package/dist/agents/identity.d.ts.map +1 -0
- package/dist/agents/index.d.ts +7 -7
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +193 -205
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/message.d.ts +5 -6
- package/dist/agents/message.d.ts.map +1 -1
- package/dist/agents/model-loop.d.ts +4 -0
- package/dist/agents/model-loop.d.ts.map +1 -1
- package/dist/agents/request.d.ts +1 -1
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/streams/index.d.ts +4 -0
- package/dist/agents/streams/index.d.ts.map +1 -0
- package/dist/agents/streams/index.js +20 -0
- package/dist/{chunk-y64skrwp.js.map → agents/streams/index.js.map} +1 -1
- package/dist/agents/streams/internal.d.ts +3 -0
- package/dist/agents/streams/internal.d.ts.map +1 -0
- package/dist/agents/streams/internal.js +40 -0
- package/dist/agents/{context.js.map → streams/internal.js.map} +1 -1
- package/dist/agents/{streams.d.ts → streams/protocol.d.ts} +5 -5
- package/dist/agents/streams/protocol.d.ts.map +1 -0
- package/dist/agents/tool-definition.d.ts +0 -1
- package/dist/agents/tool-definition.d.ts.map +1 -1
- package/dist/agents/types.d.ts +1 -1
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/validation.d.ts +0 -4
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/ai-usage/execution.d.ts.map +1 -1
- package/dist/auth/index.d.ts +0 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +96 -105
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/strategy.js +8 -9
- package/dist/auth/strategy.js.map +1 -1
- package/dist/authorization/decision.d.ts +10 -2
- package/dist/authorization/decision.d.ts.map +1 -1
- package/dist/authorization/grant-kinds.d.ts +2 -1
- package/dist/authorization/grant-kinds.d.ts.map +1 -1
- package/dist/authorization/index.d.ts +1 -1
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +51 -53
- package/dist/authorization/index.js.map +1 -1
- package/dist/blob-storage/browser.js +15 -17
- package/dist/blob-storage/browser.js.map +1 -1
- package/dist/blob-storage/index.js +36 -38
- package/dist/blob-storage/index.js.map +1 -1
- package/dist/bootstrap/discovery.d.ts +20 -1
- package/dist/bootstrap/discovery.d.ts.map +1 -1
- package/dist/bootstrap/index.d.ts +2 -2
- package/dist/bootstrap/index.d.ts.map +1 -1
- package/dist/bootstrap/index.js +79 -81
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
- package/dist/broker/index.js +8 -10
- package/dist/broker/index.js.map +1 -1
- package/dist/{chunk-k34z5rvh.js → chunk-0rdrecsb.js} +18 -18
- package/dist/{chunk-k34z5rvh.js.map → chunk-0rdrecsb.js.map} +2 -2
- package/dist/{chunk-3fqt22c4.js → chunk-0w35wavj.js} +360 -168
- package/dist/chunk-0w35wavj.js.map +14 -0
- package/dist/chunk-0y39rgsb.js +43 -0
- package/dist/{chunk-c15dr03f.js.map → chunk-0y39rgsb.js.map} +2 -2
- package/dist/{chunk-hdz94br2.js → chunk-17kfctj6.js} +23 -13
- package/dist/chunk-17kfctj6.js.map +10 -0
- package/dist/{chunk-e4rvtvpw.js → chunk-1enhpacz.js} +418 -233
- package/dist/chunk-1enhpacz.js.map +34 -0
- package/dist/{chunk-5gd7tpv6.js → chunk-2c4j899j.js} +4 -4
- package/dist/{chunk-5gd7tpv6.js.map → chunk-2c4j899j.js.map} +2 -2
- package/dist/{chunk-7ds9620f.js → chunk-38zv5rkr.js} +24 -8
- package/dist/chunk-38zv5rkr.js.map +10 -0
- package/dist/{chunk-w3e09qqk.js → chunk-39tqv9hz.js} +24 -24
- package/dist/{chunk-w3e09qqk.js.map → chunk-39tqv9hz.js.map} +2 -2
- package/dist/{chunk-04b07a9q.js → chunk-3bh94gbw.js} +13 -13
- package/dist/{chunk-04b07a9q.js.map → chunk-3bh94gbw.js.map} +2 -2
- package/dist/{chunk-8m5ejdpn.js → chunk-3f7veca0.js} +4 -4
- package/dist/{chunk-8m5ejdpn.js.map → chunk-3f7veca0.js.map} +2 -2
- package/dist/chunk-3frsnm7x.js +32 -0
- package/dist/chunk-3frsnm7x.js.map +11 -0
- package/dist/{chunk-n2w475r0.js → chunk-3tgwrcyh.js} +81 -81
- package/dist/{chunk-n2w475r0.js.map → chunk-3tgwrcyh.js.map} +2 -2
- package/dist/{chunk-qv38twt8.js → chunk-52hbv0ak.js} +192 -171
- package/dist/{chunk-qv38twt8.js.map → chunk-52hbv0ak.js.map} +6 -6
- package/dist/{chunk-nf4r78r4.js → chunk-5a4a52tq.js} +4 -4
- package/dist/{chunk-nf4r78r4.js.map → chunk-5a4a52tq.js.map} +2 -2
- package/dist/{chunk-rte5sm3z.js → chunk-5hz0fnca.js} +23 -23
- package/dist/{chunk-rte5sm3z.js.map → chunk-5hz0fnca.js.map} +2 -2
- package/dist/chunk-653vwrzr.js +39 -0
- package/dist/chunk-653vwrzr.js.map +10 -0
- package/dist/{chunk-qw9gvjv5.js → chunk-72w2pxk7.js} +13 -13
- package/dist/{chunk-qw9gvjv5.js.map → chunk-72w2pxk7.js.map} +2 -2
- package/dist/chunk-7apz6hg4.js +50 -0
- package/dist/{chunk-jq43kdvk.js.map → chunk-7apz6hg4.js.map} +2 -2
- package/dist/chunk-7bs40fe1.js +218 -0
- package/dist/{chunk-08twe8m6.js.map → chunk-7bs40fe1.js.map} +3 -3
- package/dist/chunk-7zgecwy1.js +113 -0
- package/dist/chunk-7zgecwy1.js.map +10 -0
- package/dist/{chunk-tn7xcs2n.js → chunk-860dwwy0.js} +93 -30
- package/dist/chunk-860dwwy0.js.map +14 -0
- package/dist/chunk-8vj0rjgs.js +165 -0
- package/dist/chunk-8vj0rjgs.js.map +15 -0
- package/dist/{chunk-7y0f6rf1.js → chunk-92vk7gta.js} +58 -58
- package/dist/chunk-92vk7gta.js.map +10 -0
- package/dist/{chunk-gbrpsx4m.js → chunk-93csa55g.js} +72 -16
- package/dist/chunk-93csa55g.js.map +11 -0
- package/dist/{chunk-d8qkxt2v.js → chunk-98cw09sw.js} +7 -7
- package/dist/chunk-98cw09sw.js.map +10 -0
- package/dist/chunk-9qsh3p5y.js +111 -0
- package/dist/chunk-9qsh3p5y.js.map +11 -0
- package/dist/{chunk-4a849fr1.js → chunk-9tc8dxmn.js} +1 -1
- package/dist/{chunk-z2sery1b.js → chunk-9vx5e9g1.js} +68 -28
- package/dist/chunk-9vx5e9g1.js.map +11 -0
- package/dist/{chunk-9aehf39w.js → chunk-an5tt9y0.js} +353 -353
- package/dist/{chunk-9aehf39w.js.map → chunk-an5tt9y0.js.map} +2 -2
- package/dist/{chunk-x0qhkqje.js → chunk-ap0g1g74.js} +37 -37
- package/dist/{chunk-x0qhkqje.js.map → chunk-ap0g1g74.js.map} +2 -2
- package/dist/chunk-awbhdqyc.js +252 -0
- package/dist/chunk-awbhdqyc.js.map +10 -0
- package/dist/{chunk-ka3a2ft3.js → chunk-b19g04jk.js} +12 -12
- package/dist/{chunk-ka3a2ft3.js.map → chunk-b19g04jk.js.map} +2 -2
- package/dist/chunk-br3k6qbf.js +436 -0
- package/dist/chunk-br3k6qbf.js.map +12 -0
- package/dist/{chunk-dbc80ad7.js → chunk-c5rkjrgp.js} +28 -28
- package/dist/{chunk-dbc80ad7.js.map → chunk-c5rkjrgp.js.map} +2 -2
- package/dist/{chunk-dktq02ne.js → chunk-cqr3acm1.js} +4 -4
- package/dist/{chunk-dktq02ne.js.map → chunk-cqr3acm1.js.map} +2 -2
- package/dist/chunk-d62kjtbg.js +7 -0
- package/dist/{chunk-zcnhxkvd.js.map → chunk-d62kjtbg.js.map} +2 -2
- package/dist/{chunk-74drx9gd.js → chunk-dfm066qg.js} +10 -10
- package/dist/{chunk-74drx9gd.js.map → chunk-dfm066qg.js.map} +2 -2
- package/dist/{chunk-atmkaf60.js → chunk-dmn70ztd.js} +30 -34
- package/dist/chunk-dmn70ztd.js.map +11 -0
- package/dist/chunk-dz5h08xv.js +1887 -0
- package/dist/chunk-dz5h08xv.js.map +25 -0
- package/dist/{chunk-p2vqaxkc.js → chunk-e0d1rzef.js} +27 -22
- package/dist/{chunk-p2vqaxkc.js.map → chunk-e0d1rzef.js.map} +3 -3
- package/dist/{chunk-5sz8ta9r.js → chunk-e1c18xjx.js} +52 -52
- package/dist/{chunk-5sz8ta9r.js.map → chunk-e1c18xjx.js.map} +2 -2
- package/dist/{chunk-ha58tjtt.js → chunk-emyyk7dx.js} +59 -55
- package/dist/{chunk-ha58tjtt.js.map → chunk-emyyk7dx.js.map} +3 -3
- package/dist/{chunk-3kv70xwp.js → chunk-ey1nk510.js} +18 -2
- package/dist/chunk-ey1nk510.js.map +10 -0
- package/dist/chunk-f0rwz2vh.js +152 -0
- package/dist/chunk-f0rwz2vh.js.map +11 -0
- package/dist/{chunk-2xns679x.js → chunk-f4w3yp4f.js} +171 -36
- package/dist/chunk-f4w3yp4f.js.map +12 -0
- package/dist/{chunk-979ww6b3.js → chunk-fb3feg1e.js} +29 -29
- package/dist/{chunk-979ww6b3.js.map → chunk-fb3feg1e.js.map} +2 -2
- package/dist/{chunk-rre42skh.js → chunk-g00bfdq6.js} +729 -296
- package/dist/{chunk-rre42skh.js.map → chunk-g00bfdq6.js.map} +11 -7
- package/dist/{chunk-p03r0h5s.js → chunk-g53f0e4j.js} +76 -202
- package/dist/chunk-g53f0e4j.js.map +15 -0
- package/dist/chunk-g6cke204.js +124 -0
- package/dist/chunk-g6cke204.js.map +10 -0
- package/dist/{chunk-51fjndv0.js → chunk-gfdh9kqa.js} +4 -4
- package/dist/{chunk-51fjndv0.js.map → chunk-gfdh9kqa.js.map} +2 -2
- package/dist/chunk-h1gfhhbh.js +602 -0
- package/dist/chunk-h1gfhhbh.js.map +18 -0
- package/dist/chunk-h3v76ams.js +32 -0
- package/dist/{chunk-08m3b6w8.js.map → chunk-h3v76ams.js.map} +2 -2
- package/dist/chunk-hpr1r6av.js +4006 -0
- package/dist/chunk-hpr1r6av.js.map +44 -0
- package/dist/{chunk-jecn6t54.js → chunk-jgwb25gc.js} +74 -74
- package/dist/{chunk-jecn6t54.js.map → chunk-jgwb25gc.js.map} +2 -2
- package/dist/{chunk-rp1mvzb4.js → chunk-jjy0fhrn.js} +40 -35
- package/dist/{chunk-rp1mvzb4.js.map → chunk-jjy0fhrn.js.map} +3 -3
- package/dist/{chunk-4nxeacx7.js → chunk-jmfet9r4.js} +6 -6
- package/dist/{chunk-4nxeacx7.js.map → chunk-jmfet9r4.js.map} +2 -2
- package/dist/{chunk-64sr682n.js → chunk-k3cqkkn2.js} +61 -55
- package/dist/chunk-k3cqkkn2.js.map +12 -0
- package/dist/{chunk-s5y30bc9.js → chunk-kxwa347f.js} +51 -49
- package/dist/{chunk-s5y30bc9.js.map → chunk-kxwa347f.js.map} +4 -4
- package/dist/{chunk-2ab72m2h.js → chunk-m2ca93my.js} +3 -3
- package/dist/{chunk-2ab72m2h.js.map → chunk-m2ca93my.js.map} +2 -2
- package/dist/{chunk-qjycjdj6.js → chunk-m3z3x9v0.js} +106 -65
- package/dist/{chunk-qjycjdj6.js.map → chunk-m3z3x9v0.js.map} +3 -3
- package/dist/{chunk-6ed5bwnd.js → chunk-mjbk2djy.js} +2092 -1714
- package/dist/chunk-mjbk2djy.js.map +57 -0
- package/dist/{chunk-5jcdmjam.js → chunk-mmagke4x.js} +6 -6
- package/dist/{chunk-5jcdmjam.js.map → chunk-mmagke4x.js.map} +2 -2
- package/dist/chunk-mrp7k0pw.js +147 -0
- package/dist/chunk-mrp7k0pw.js.map +10 -0
- package/dist/{chunk-d63tybny.js → chunk-ms2tmn1k.js} +139 -139
- package/dist/{chunk-d63tybny.js.map → chunk-ms2tmn1k.js.map} +2 -2
- package/dist/{chunk-xdpwpkha.js → chunk-ppytyr6w.js} +156 -179
- package/dist/{chunk-xdpwpkha.js.map → chunk-ppytyr6w.js.map} +3 -5
- package/dist/{chunk-trxxmgnf.js → chunk-pqajwytd.js} +10 -10
- package/dist/{chunk-trxxmgnf.js.map → chunk-pqajwytd.js.map} +3 -3
- package/dist/{chunk-qjzp9xyb.js → chunk-pr2h4bv4.js} +33 -35
- package/dist/chunk-pr2h4bv4.js.map +12 -0
- package/dist/{chunk-xwnf87e1.js → chunk-q5gz3g2j.js} +64 -64
- package/dist/{chunk-xwnf87e1.js.map → chunk-q5gz3g2j.js.map} +2 -2
- package/dist/{chunk-agsvg9ar.js → chunk-qf954wje.js} +6 -6
- package/dist/{chunk-agsvg9ar.js.map → chunk-qf954wje.js.map} +2 -2
- package/dist/{chunk-wjgm6jjt.js → chunk-qhcpj9wc.js} +166 -132
- package/dist/chunk-qhcpj9wc.js.map +14 -0
- package/dist/{chunk-tpnd31c1.js → chunk-r29fxdhn.js} +12 -12
- package/dist/{chunk-tpnd31c1.js.map → chunk-r29fxdhn.js.map} +2 -2
- package/dist/{chunk-b49dgvsj.js → chunk-r2y23egw.js} +3 -3
- package/dist/{chunk-b49dgvsj.js.map → chunk-r2y23egw.js.map} +2 -2
- package/dist/{chunk-2b5qtban.js → chunk-r4tfx1sf.js} +142 -89
- package/dist/chunk-r4tfx1sf.js.map +15 -0
- package/dist/{chunk-4rh2m6zg.js → chunk-rb1xx120.js} +13 -13
- package/dist/{chunk-4rh2m6zg.js.map → chunk-rb1xx120.js.map} +2 -2
- package/dist/chunk-s3csryxe.js +152 -0
- package/dist/chunk-s3csryxe.js.map +11 -0
- package/dist/chunk-s670k14v.js +60 -0
- package/dist/{chunk-407j3msh.js.map → chunk-s670k14v.js.map} +2 -2
- package/dist/chunk-skz0hst3.js +788 -0
- package/dist/chunk-skz0hst3.js.map +19 -0
- package/dist/chunk-v4jbb3rs.js +403 -0
- package/dist/chunk-v4jbb3rs.js.map +10 -0
- package/dist/{chunk-d2ndstdf.js → chunk-vf691g1r.js} +61 -59
- package/dist/{chunk-d2ndstdf.js.map → chunk-vf691g1r.js.map} +2 -2
- package/dist/{chunk-1kamz6j0.js → chunk-vsj3mdfj.js} +8 -8
- package/dist/{chunk-1kamz6j0.js.map → chunk-vsj3mdfj.js.map} +2 -2
- package/dist/{chunk-9dzba0f2.js → chunk-wjasrj67.js} +8 -8
- package/dist/{chunk-9dzba0f2.js.map → chunk-wjasrj67.js.map} +2 -2
- package/dist/{chunk-1evzqhks.js → chunk-wr8qp979.js} +6 -6
- package/dist/{chunk-1evzqhks.js.map → chunk-wr8qp979.js.map} +2 -2
- package/dist/{chunk-n6jxh8sw.js → chunk-wy0qdqfm.js} +18 -18
- package/dist/{chunk-n6jxh8sw.js.map → chunk-wy0qdqfm.js.map} +2 -2
- package/dist/{chunk-8tsf6dmc.js → chunk-x57ycxq0.js} +204 -204
- package/dist/{chunk-8tsf6dmc.js.map → chunk-x57ycxq0.js.map} +2 -2
- package/dist/chunk-x9v4cx1d.js +139 -0
- package/dist/chunk-x9v4cx1d.js.map +10 -0
- package/dist/{chunk-kt81c11h.js → chunk-xfbydgzy.js} +27 -27
- package/dist/{chunk-kt81c11h.js.map → chunk-xfbydgzy.js.map} +2 -2
- package/dist/{chunk-vjjv9mrb.js → chunk-xyr8kppc.js} +22 -22
- package/dist/{chunk-vjjv9mrb.js.map → chunk-xyr8kppc.js.map} +3 -3
- package/dist/chunk-ypbtykv6.js +1537 -0
- package/dist/chunk-ypbtykv6.js.map +19 -0
- package/dist/{chunk-ry24jbr1.js → chunk-yv79ncbv.js} +10 -10
- package/dist/{chunk-ry24jbr1.js.map → chunk-yv79ncbv.js.map} +2 -2
- package/dist/{chunk-xc7hq65b.js → chunk-z30bv4ga.js} +80 -33
- package/dist/chunk-z30bv4ga.js.map +11 -0
- package/dist/{chunk-8ydjhh27.js → chunk-z3y411fq.js} +11 -7
- package/dist/{chunk-8ydjhh27.js.map → chunk-z3y411fq.js.map} +3 -3
- package/dist/{chunk-9t8f5xfx.js → chunk-z5rnrmz1.js} +10 -10
- package/dist/{chunk-9t8f5xfx.js.map → chunk-z5rnrmz1.js.map} +2 -2
- package/dist/{chunk-96swp2wd.js → chunk-z667z3sg.js} +3 -3
- package/dist/{chunk-96swp2wd.js.map → chunk-z667z3sg.js.map} +2 -2
- package/dist/chunk-z8fx5cgb.js +159 -0
- package/dist/chunk-z8fx5cgb.js.map +11 -0
- package/dist/{chunk-xhy826cz.js → chunk-zcnq6105.js} +7 -7
- package/dist/{chunk-xhy826cz.js.map → chunk-zcnq6105.js.map} +2 -2
- package/dist/{chunk-yt8wphsx.js → chunk-zvx7h87b.js} +3 -3
- package/dist/{chunk-yt8wphsx.js.map → chunk-zvx7h87b.js.map} +2 -2
- package/dist/connectors/connections/internal.js +9 -10
- package/dist/connectors/connections/internal.js.map +1 -1
- package/dist/datasets/builders.d.ts +11 -2
- package/dist/datasets/builders.d.ts.map +1 -1
- package/dist/datasets/changes.d.ts +14 -4
- package/dist/datasets/changes.d.ts.map +1 -1
- package/dist/datasets/execution.d.ts +15 -1
- package/dist/datasets/execution.d.ts.map +1 -1
- package/dist/datasets/index.d.ts +1 -0
- package/dist/datasets/index.d.ts.map +1 -1
- package/dist/datasets/sequence.d.ts +7 -0
- package/dist/datasets/sequence.d.ts.map +1 -0
- package/dist/datasets/types.d.ts +1 -0
- package/dist/datasets/types.d.ts.map +1 -1
- package/dist/datasets/validation.d.ts.map +1 -1
- package/dist/datasets/write.d.ts +37 -0
- package/dist/datasets/write.d.ts.map +1 -0
- package/dist/datasets/write.js +13 -0
- package/dist/datasets/write.js.map +9 -0
- package/dist/edits/index.js +7 -8
- package/dist/edits/index.js.map +1 -1
- package/dist/error-reporting/internal.js +22 -24
- package/dist/error-reporting/internal.js.map +1 -1
- package/dist/errors/internal.d.ts +1 -1
- package/dist/errors/internal.d.ts.map +1 -1
- package/dist/errors/internal.js +22 -24
- package/dist/errors/internal.js.map +1 -1
- package/dist/errors/redaction.d.ts +8 -0
- package/dist/errors/redaction.d.ts.map +1 -0
- package/dist/errors/types.d.ts +4 -0
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/events/execution.d.ts.map +1 -1
- package/dist/events/index.js +60 -63
- package/dist/events/index.js.map +1 -1
- package/dist/events/scope.js +4 -5
- package/dist/events/scope.js.map +1 -1
- package/dist/events/selectors/index.js +9 -10
- package/dist/events/selectors/index.js.map +1 -1
- package/dist/events/types/datasets.d.ts +2 -6
- package/dist/events/types/datasets.d.ts.map +1 -1
- package/dist/execution/agent.d.ts +3 -3
- package/dist/execution/agent.d.ts.map +1 -1
- package/dist/execution/agent.js +70 -75
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorization.d.ts +58 -20
- package/dist/execution/authorization.d.ts.map +1 -1
- package/dist/execution/authorized-object-reader.d.ts +69 -0
- package/dist/execution/authorized-object-reader.d.ts.map +1 -0
- package/dist/execution/durable.d.ts +1 -0
- package/dist/execution/durable.d.ts.map +1 -1
- package/dist/execution/index.d.ts +1 -1
- package/dist/execution/index.d.ts.map +1 -1
- package/dist/execution/primitive.d.ts +2 -0
- package/dist/execution/primitive.d.ts.map +1 -1
- package/dist/execution/primitive.js +63 -64
- package/dist/execution/primitive.js.map +3 -3
- package/dist/execution/request.d.ts +12 -0
- package/dist/execution/request.d.ts.map +1 -1
- package/dist/execution/request.js +97 -71
- package/dist/execution/request.js.map +3 -3
- package/dist/execution/scopes.d.ts +16 -0
- package/dist/execution/scopes.d.ts.map +1 -1
- package/dist/execution/types.d.ts +9 -0
- package/dist/execution/types.d.ts.map +1 -1
- package/dist/http/api-routes.d.ts +2 -0
- package/dist/http/api-routes.d.ts.map +1 -1
- package/dist/http/index.js +10 -11
- package/dist/http/index.js.map +1 -1
- package/dist/index.d.ts +21 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +455 -463
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/definition-updates.d.ts.map +1 -1
- package/dist/lake-storage/errors.d.ts +5 -1
- package/dist/lake-storage/errors.d.ts.map +1 -1
- package/dist/lake-storage/in-memory.d.ts +1 -0
- package/dist/lake-storage/in-memory.d.ts.map +1 -1
- package/dist/lake-storage/index.d.ts +6 -1
- package/dist/lake-storage/index.d.ts.map +1 -1
- package/dist/lake-storage/index.js +40 -27
- package/dist/lake-storage/index.js.map +1 -1
- package/dist/lake-storage/merge-validation.d.ts.map +1 -1
- package/dist/lake-storage/merge.d.ts +13 -2
- package/dist/lake-storage/merge.d.ts.map +1 -1
- package/dist/lake-storage/source-ordering.d.ts +19 -0
- package/dist/lake-storage/source-ordering.d.ts.map +1 -0
- package/dist/lake-storage/sql-transforms.d.ts +2 -1
- package/dist/lake-storage/sql-transforms.d.ts.map +1 -1
- package/dist/lake-storage/types.d.ts +10 -5
- package/dist/lake-storage/types.d.ts.map +1 -1
- package/dist/lake-storage/version-inputs.d.ts +4 -0
- package/dist/lake-storage/version-inputs.d.ts.map +1 -0
- package/dist/logging/index.d.ts +3 -4
- package/dist/logging/index.d.ts.map +1 -1
- package/dist/logging/index.js +18 -40
- package/dist/logging/index.js.map +1 -1
- package/dist/logging/internal.d.ts +5 -0
- package/dist/logging/internal.d.ts.map +1 -0
- package/dist/logging/internal.js +43 -0
- package/dist/logging/internal.js.map +9 -0
- package/dist/materialization/index.js +46 -49
- package/dist/materialization/index.js.map +1 -1
- package/dist/materializer/index.js +137 -142
- package/dist/materializer/index.js.map +1 -1
- package/dist/models/errors.d.ts +4 -0
- package/dist/models/errors.d.ts.map +1 -1
- package/dist/models/execution/binding.d.ts +9 -0
- package/dist/models/execution/binding.d.ts.map +1 -0
- package/dist/models/execution/errors.d.ts +9 -0
- package/dist/models/execution/errors.d.ts.map +1 -0
- package/dist/models/execution/index.d.ts +11 -0
- package/dist/models/execution/index.d.ts.map +1 -0
- package/dist/models/execution/index.js +55 -0
- package/dist/models/execution/index.js.map +9 -0
- package/dist/models/execution/model-call-accounting.d.ts +17 -0
- package/dist/models/execution/model-call-accounting.d.ts.map +1 -0
- package/dist/models/execution/model-call-admission.d.ts +47 -0
- package/dist/models/execution/model-call-admission.d.ts.map +1 -0
- package/dist/models/execution/model-call-limits.d.ts +15 -0
- package/dist/models/execution/model-call-limits.d.ts.map +1 -0
- package/dist/models/execution/model-call-recorder.d.ts +40 -0
- package/dist/models/execution/model-call-recorder.d.ts.map +1 -0
- package/dist/models/execution/model-call-recovery.d.ts +12 -0
- package/dist/models/execution/model-call-recovery.d.ts.map +1 -0
- package/dist/models/execution/recovery-queue.d.ts +5 -0
- package/dist/models/execution/recovery-queue.d.ts.map +1 -0
- package/dist/models/execution/types.d.ts +44 -0
- package/dist/models/execution/types.d.ts.map +1 -0
- package/dist/models/execution/usage.d.ts +5 -0
- package/dist/models/execution/usage.d.ts.map +1 -0
- package/dist/models/execution.d.ts +6 -0
- package/dist/models/execution.d.ts.map +1 -0
- package/dist/models/generation-types.d.ts +40 -0
- package/dist/models/generation-types.d.ts.map +1 -0
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +42 -43
- package/dist/models/index.js.map +1 -1
- package/dist/models/language-model.d.ts +3 -0
- package/dist/models/language-model.d.ts.map +1 -1
- package/dist/models/output.d.ts +5 -0
- package/dist/models/output.d.ts.map +1 -0
- package/dist/models/resolve.d.ts +4 -0
- package/dist/models/resolve.d.ts.map +1 -0
- package/dist/objects/authorized-ontology-view.d.ts +25 -0
- package/dist/objects/authorized-ontology-view.d.ts.map +1 -0
- package/dist/objects/execution.d.ts +1 -1
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +75 -84
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/link/authorization.d.ts +2 -7
- package/dist/objects/link/authorization.d.ts.map +1 -1
- package/dist/objects/query/executor.d.ts +4 -2
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/index.js +67 -73
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/links.d.ts +22 -1
- package/dist/objects/query/links.d.ts.map +1 -1
- package/dist/objects/query/selected-read-admission.d.ts +27 -0
- package/dist/objects/query/selected-read-admission.d.ts.map +1 -0
- package/dist/objects/query/validate.d.ts +60 -2
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/sdk/runtime-query-executor.d.ts +2 -7
- package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
- package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
- package/dist/objects/service/list-service.d.ts +2 -3
- package/dist/objects/service/list-service.d.ts.map +1 -1
- package/dist/objects/telemetry/history.d.ts +8 -6
- package/dist/objects/telemetry/history.d.ts.map +1 -1
- package/dist/objects/telemetry/index.d.ts +2 -2
- package/dist/objects/telemetry/index.d.ts.map +1 -1
- package/dist/objects/telemetry/workload.d.ts +11 -0
- package/dist/objects/telemetry/workload.d.ts.map +1 -0
- package/dist/ontology/index.d.ts +2 -2
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +61 -111
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/inference/index.d.ts +2 -1
- package/dist/ontology/inference/index.d.ts.map +1 -1
- package/dist/ontology/internal.d.ts +7 -1
- package/dist/ontology/internal.d.ts.map +1 -1
- package/dist/ontology/internal.js +65 -121
- package/dist/ontology/internal.js.map +3 -4
- package/dist/ontology/json-schema.d.ts +10 -6
- package/dist/ontology/json-schema.d.ts.map +1 -1
- package/dist/ontology/link-path-selection.d.ts +35 -0
- package/dist/ontology/link-path-selection.d.ts.map +1 -0
- package/dist/ontology/refs.d.ts +2 -0
- package/dist/ontology/refs.d.ts.map +1 -1
- package/dist/ontology/tokens.d.ts +2 -1
- package/dist/ontology/tokens.d.ts.map +1 -1
- package/dist/pipelines/execution.d.ts.map +1 -1
- package/dist/pipelines/index.js +57 -63
- package/dist/pipelines/index.js.map +1 -1
- package/dist/pipelines/request.d.ts.map +1 -1
- package/dist/projections/execution.d.ts.map +1 -1
- package/dist/projections/internal.js +58 -64
- package/dist/projections/internal.js.map +1 -1
- package/dist/projections/run-dispatch.d.ts.map +1 -1
- package/dist/query.d.ts +0 -1
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +11 -15
- package/dist/query.js.map +1 -1
- package/dist/queues/index.d.ts +2 -1
- package/dist/queues/index.d.ts.map +1 -1
- package/dist/queues/index.js +6 -7
- package/dist/queues/index.js.map +1 -1
- package/dist/queues/types.d.ts +3 -20
- package/dist/queues/types.d.ts.map +1 -1
- package/dist/rules/execution.d.ts.map +1 -1
- package/dist/rules/internal.js +4 -5
- package/dist/rules/internal.js.map +1 -1
- package/dist/runtime/create.d.ts +6 -2
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/definitions.d.ts +2 -0
- package/dist/runtime/definitions.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +4 -1
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/internal.d.ts +1 -0
- package/dist/runtime/internal.d.ts.map +1 -1
- package/dist/runtime/internal.js +13 -14
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts +2 -0
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +6 -0
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +3 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/sandboxes/errors.d.ts +4 -0
- package/dist/sandboxes/errors.d.ts.map +1 -1
- package/dist/sandboxes/index.d.ts +2 -2
- package/dist/sandboxes/index.d.ts.map +1 -1
- package/dist/sandboxes/index.js +14 -13
- package/dist/sandboxes/index.js.map +1 -1
- package/dist/sandboxes/sandbox.d.ts +35 -7
- package/dist/sandboxes/sandbox.d.ts.map +1 -1
- package/dist/scheduler/index.js +9 -10
- package/dist/scheduler/index.js.map +1 -1
- package/dist/schedules/execution.d.ts +2 -1
- package/dist/schedules/execution.d.ts.map +1 -1
- package/dist/schedules/index.js +31 -33
- package/dist/schedules/index.js.map +1 -1
- package/dist/security/every.d.ts +4 -1
- package/dist/security/every.d.ts.map +1 -1
- package/dist/security/grants.d.ts +7 -2
- package/dist/security/grants.d.ts.map +1 -1
- package/dist/security/index.d.ts +1 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/registry.d.ts +1 -0
- package/dist/security/registry.d.ts.map +1 -1
- package/dist/security/types.d.ts +7 -1
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts +2 -0
- package/dist/security/validation.d.ts.map +1 -1
- package/dist/shares/access-plan.d.ts +22 -0
- package/dist/shares/access-plan.d.ts.map +1 -0
- package/dist/shares/builders.d.ts +14 -0
- package/dist/shares/builders.d.ts.map +1 -0
- package/dist/shares/compiler.d.ts +14 -0
- package/dist/shares/compiler.d.ts.map +1 -0
- package/dist/shares/errors.d.ts +4 -0
- package/dist/shares/errors.d.ts.map +1 -0
- package/dist/shares/execution.d.ts +57 -0
- package/dist/shares/execution.d.ts.map +1 -0
- package/dist/shares/index.d.ts +10 -0
- package/dist/shares/index.d.ts.map +1 -0
- package/dist/shares/internal.d.ts +3 -0
- package/dist/shares/internal.d.ts.map +1 -0
- package/dist/shares/internal.js +231 -0
- package/dist/shares/internal.js.map +10 -0
- package/dist/shares/intersection.d.ts +9 -0
- package/dist/shares/intersection.d.ts.map +1 -0
- package/dist/shares/session-protocol.d.ts +41 -0
- package/dist/shares/session-protocol.d.ts.map +1 -0
- package/dist/shares/types.d.ts +51 -0
- package/dist/shares/types.d.ts.map +1 -0
- package/dist/shares/validation.d.ts +11 -0
- package/dist/shares/validation.d.ts.map +1 -0
- package/dist/storage/action-runs/failure.js +7 -9
- package/dist/storage/action-runs/failure.js.map +1 -1
- package/dist/storage/action-runs/provider.js +4 -8
- package/dist/storage/action-runs/provider.js.map +1 -1
- package/dist/storage/agents/in-memory.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +26 -30
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +0 -3
- package/dist/storage/agents/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/attribution.d.ts +4 -0
- package/dist/storage/ai-cost/attribution.d.ts.map +1 -0
- package/dist/storage/ai-cost/groups.d.ts +3 -0
- package/dist/storage/ai-cost/groups.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.d.ts +1 -0
- package/dist/storage/ai-cost/provider.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.js +30 -143
- package/dist/storage/ai-cost/provider.js.map +3 -4
- package/dist/storage/ai-cost/types.d.ts +15 -0
- package/dist/storage/ai-cost/types.d.ts.map +1 -1
- package/dist/storage/ai-limits/enforcement.js +14 -16
- package/dist/storage/ai-limits/enforcement.js.map +1 -1
- package/dist/storage/ai-limits/provider.js +56 -57
- package/dist/storage/ai-limits/provider.js.map +1 -1
- package/dist/storage/auth/in-memory.d.ts +1 -1
- package/dist/storage/auth/in-memory.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +34 -36
- package/dist/storage/connector-connections/provider.js.map +2 -2
- package/dist/storage/executions/in-memory.d.ts +3 -0
- package/dist/storage/executions/in-memory.d.ts.map +1 -1
- package/dist/storage/executions/provider.d.ts +6 -2
- package/dist/storage/executions/provider.d.ts.map +1 -1
- package/dist/storage/executions/provider.js +35 -12
- package/dist/storage/executions/provider.js.map +3 -3
- package/dist/storage/executions/run-link.d.ts +7 -0
- package/dist/storage/executions/run-link.d.ts.map +1 -1
- package/dist/storage/executions/types.d.ts +6 -2
- package/dist/storage/executions/types.d.ts.map +1 -1
- package/dist/storage/executions/validation.d.ts +8 -0
- package/dist/storage/executions/validation.d.ts.map +1 -1
- package/dist/storage/in-memory/index.d.ts +8 -0
- package/dist/storage/in-memory/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +14 -9
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +221 -227
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.d.ts +10 -0
- package/dist/storage/internal.d.ts.map +1 -0
- package/dist/storage/internal.js +47 -0
- package/dist/storage/internal.js.map +9 -0
- package/dist/storage/objects/execution-limits.d.ts +25 -0
- package/dist/storage/objects/execution-limits.d.ts.map +1 -0
- package/dist/storage/objects/guard.d.ts +16 -0
- package/dist/storage/objects/guard.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/index.d.ts +3 -0
- package/dist/storage/objects/in-memory/index.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/keys.d.ts +10 -0
- package/dist/storage/objects/in-memory/keys.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/query.d.ts +31 -0
- package/dist/storage/objects/in-memory/query.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/read-scope.d.ts +18 -0
- package/dist/storage/objects/in-memory/read-scope.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/read-source.d.ts +10 -0
- package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/selected-reader.d.ts +9 -0
- package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -0
- package/dist/storage/objects/{in-memory.d.ts → in-memory/storage.d.ts} +13 -10
- package/dist/storage/objects/in-memory/storage.d.ts.map +1 -0
- package/dist/storage/objects/index.d.ts +4 -1
- package/dist/storage/objects/index.d.ts.map +1 -1
- package/dist/storage/objects/keys.d.ts +1 -1
- package/dist/storage/objects/keys.d.ts.map +1 -1
- package/dist/storage/objects/read-scope.d.ts +25 -0
- package/dist/storage/objects/read-scope.d.ts.map +1 -0
- package/dist/storage/objects/types.d.ts +114 -22
- package/dist/storage/objects/types.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +105 -109
- package/dist/storage/ontology/provider.js.map +1 -1
- package/dist/storage/operation-scope.d.ts +3 -0
- package/dist/storage/operation-scope.d.ts.map +1 -1
- package/dist/storage/operation-scope.js +18 -17
- package/dist/storage/operation-scope.js.map +1 -1
- package/dist/storage/pipeline-runs/provider.js +4 -6
- package/dist/storage/pipeline-runs/provider.js.map +1 -1
- package/dist/storage/projection-runs/provider.js +66 -70
- package/dist/storage/projection-runs/provider.js.map +1 -1
- package/dist/storage/share-grants/errors.d.ts +8 -0
- package/dist/storage/share-grants/errors.d.ts.map +1 -0
- package/dist/storage/share-grants/in-memory.d.ts +11 -0
- package/dist/storage/share-grants/in-memory.d.ts.map +1 -0
- package/dist/storage/share-grants/index.d.ts +5 -0
- package/dist/storage/share-grants/index.d.ts.map +1 -0
- package/dist/storage/share-grants/provider.d.ts +4 -0
- package/dist/storage/share-grants/provider.d.ts.map +1 -0
- package/dist/storage/share-grants/provider.js +22 -0
- package/dist/storage/share-grants/provider.js.map +9 -0
- package/dist/storage/share-grants/record.d.ts +11 -0
- package/dist/storage/share-grants/record.d.ts.map +1 -0
- package/dist/storage/share-grants/types.d.ts +97 -0
- package/dist/storage/share-grants/types.d.ts.map +1 -0
- package/dist/storage/share-sessions/errors.d.ts +8 -0
- package/dist/storage/share-sessions/errors.d.ts.map +1 -0
- package/dist/storage/share-sessions/in-memory.d.ts +14 -0
- package/dist/storage/share-sessions/in-memory.d.ts.map +1 -0
- package/dist/storage/share-sessions/index.d.ts +5 -0
- package/dist/storage/share-sessions/index.d.ts.map +1 -0
- package/dist/storage/share-sessions/provider.d.ts +3 -0
- package/dist/storage/share-sessions/provider.d.ts.map +1 -0
- package/dist/storage/share-sessions/provider.js +19 -0
- package/dist/storage/share-sessions/provider.js.map +9 -0
- package/dist/storage/share-sessions/record.d.ts +8 -0
- package/dist/storage/share-sessions/record.d.ts.map +1 -0
- package/dist/storage/share-sessions/types.d.ts +50 -0
- package/dist/storage/share-sessions/types.d.ts.map +1 -0
- package/dist/storage/sync-runs/provider.js +4 -6
- package/dist/storage/sync-runs/provider.js.map +1 -1
- package/dist/storage/transaction.d.ts +2 -1
- package/dist/storage/transaction.d.ts.map +1 -1
- package/dist/storage/types.d.ts +8 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/webhook-runs/provider.js +4 -6
- package/dist/storage/webhook-runs/provider.js.map +1 -1
- package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +13 -18
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/storage/workflow-runs/types.d.ts +0 -3
- package/dist/storage/workflow-runs/types.d.ts.map +1 -1
- package/dist/syncs/execution.d.ts.map +1 -1
- package/dist/syncs/index.js +55 -62
- package/dist/syncs/index.js.map +1 -1
- package/dist/syncs/request.d.ts.map +1 -1
- package/dist/testing/action-execution.d.ts +4 -1
- package/dist/testing/action-execution.d.ts.map +1 -1
- package/dist/testing/agent-execution.d.ts +1 -0
- package/dist/testing/agent-execution.d.ts.map +1 -1
- package/dist/testing/agent-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -1
- package/dist/testing/dataset-sequence-contract.d.ts +4 -0
- package/dist/testing/dataset-sequence-contract.d.ts.map +1 -0
- package/dist/testing/effective-storage-contract.d.ts.map +1 -1
- package/dist/testing/execution-storage-contract.d.ts +4 -0
- package/dist/testing/execution-storage-contract.d.ts.map +1 -1
- package/dist/testing/execution.d.ts +1 -0
- package/dist/testing/execution.d.ts.map +1 -1
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +3087 -1328
- package/dist/testing/index.js.map +17 -13
- package/dist/testing/lake-merge-storage-contract.d.ts +1 -0
- package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -1
- package/dist/testing/lake-storage-contract.d.ts.map +1 -1
- package/dist/testing/object-read-scope-contract.d.ts +22 -0
- package/dist/testing/object-read-scope-contract.d.ts.map +1 -0
- package/dist/testing/share-grant-storage-contract.d.ts +10 -0
- package/dist/testing/share-grant-storage-contract.d.ts.map +1 -0
- package/dist/testing/share-session-storage-contract.d.ts +9 -0
- package/dist/testing/share-session-storage-contract.d.ts.map +1 -0
- package/dist/testing/workflow-execution.d.ts +1 -0
- package/dist/testing/workflow-execution.d.ts.map +1 -1
- package/dist/webhooks/internal.js +51 -56
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workers/index.js +11 -13
- package/dist/workers/index.js.map +2 -2
- package/dist/workflows/execution.d.ts.map +1 -1
- package/dist/workflows/failure.d.ts +2 -0
- package/dist/workflows/failure.d.ts.map +1 -1
- package/dist/workflows/index.js +135 -140
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/request.d.ts.map +1 -1
- package/dist/workflows/run-dispatch.d.ts +0 -1
- package/dist/workflows/run-dispatch.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +2 -0
- package/dist/workflows/types.d.ts.map +1 -1
- package/package.json +72 -30
- package/src/actions/delegated-admission.ts +72 -0
- package/src/actions/descriptor.ts +58 -0
- package/src/actions/execution.ts +99 -24
- package/src/actions/request.ts +136 -19
- package/src/actions/run-authorization.ts +53 -0
- package/src/actions/run-dispatch.ts +10 -7
- package/src/actions/types/context.ts +2 -0
- package/src/actions/validation.ts +2 -1
- package/src/agents/adapters.ts +34 -429
- package/src/agents/authority.ts +3 -4
- package/src/agents/{context.ts → context/entries.ts} +4 -4
- package/src/agents/context/index.ts +15 -0
- package/src/agents/context-model.ts +1 -1
- package/src/agents/context-resolution.ts +2 -5
- package/src/agents/errors.ts +0 -10
- package/src/agents/execution.ts +13 -5
- package/src/agents/identity.ts +4 -0
- package/src/agents/index.ts +5 -24
- package/src/agents/message.ts +5 -6
- package/src/agents/model-loop.ts +62 -6
- package/src/agents/request.ts +27 -29
- package/src/agents/streams/index.ts +18 -0
- package/src/agents/streams/internal.ts +19 -0
- package/src/agents/{streams.ts → streams/protocol.ts} +5 -5
- package/src/agents/tool-definition.ts +0 -19
- package/src/agents/types.ts +1 -1
- package/src/agents/validation.ts +9 -72
- package/src/ai-usage/execution.ts +4 -11
- package/src/auth/index.ts +0 -1
- package/src/authorization/decision.ts +29 -14
- package/src/authorization/grant-kinds.ts +10 -0
- package/src/authorization/index.ts +1 -0
- package/src/bootstrap/discovery.ts +84 -24
- package/src/bootstrap/index.ts +8 -1
- package/src/bootstrap/ontology-type-manifest.ts +12 -6
- package/src/datasets/builders.ts +23 -2
- package/src/datasets/changes.ts +16 -4
- package/src/datasets/execution.ts +76 -5
- package/src/datasets/index.ts +1 -0
- package/src/datasets/sequence.ts +77 -0
- package/src/datasets/types.ts +1 -0
- package/src/datasets/validation.ts +26 -0
- package/src/datasets/write.ts +240 -0
- package/src/errors/internal.ts +90 -10
- package/src/errors/redaction.ts +98 -0
- package/src/errors/types.ts +4 -0
- package/src/events/execution.ts +57 -7
- package/src/events/types/datasets.ts +2 -6
- package/src/execution/agent.ts +6 -7
- package/src/execution/authorization.ts +470 -90
- package/src/execution/authorized-object-reader.ts +695 -0
- package/src/execution/durable.ts +21 -3
- package/src/execution/index.ts +1 -0
- package/src/execution/primitive.ts +5 -1
- package/src/execution/request.ts +66 -13
- package/src/execution/scopes.ts +36 -6
- package/src/execution/types.ts +8 -0
- package/src/http/api-routes.ts +45 -0
- package/src/index.ts +56 -33
- package/src/lake-storage/definition-updates.ts +9 -0
- package/src/lake-storage/errors.ts +6 -1
- package/src/lake-storage/in-memory.ts +53 -17
- package/src/lake-storage/index.ts +10 -1
- package/src/lake-storage/merge-validation.ts +12 -2
- package/src/lake-storage/merge.ts +40 -2
- package/src/lake-storage/source-ordering.ts +95 -0
- package/src/lake-storage/sql-transforms.ts +2 -1
- package/src/lake-storage/types.ts +10 -5
- package/src/lake-storage/version-inputs.ts +14 -0
- package/src/logging/index.ts +2 -33
- package/src/logging/internal.ts +43 -0
- package/src/models/errors.ts +12 -0
- package/src/models/execution/binding.ts +29 -0
- package/src/models/execution/errors.ts +18 -0
- package/src/models/execution/index.ts +26 -0
- package/src/models/execution/model-call-accounting.ts +211 -0
- package/src/models/execution/model-call-admission.ts +127 -0
- package/src/models/execution/model-call-limits.ts +135 -0
- package/src/models/execution/model-call-recorder.ts +235 -0
- package/src/models/execution/model-call-recovery.ts +125 -0
- package/src/models/execution/recovery-queue.ts +31 -0
- package/src/models/execution/types.ts +58 -0
- package/src/models/execution/usage.ts +23 -0
- package/src/models/execution.ts +207 -0
- package/src/models/generation-types.ts +50 -0
- package/src/models/index.ts +8 -0
- package/src/models/language-model.ts +3 -0
- package/src/models/output.ts +45 -0
- package/src/models/resolve.ts +27 -0
- package/src/objects/authorized-ontology-view.ts +512 -0
- package/src/objects/execution.ts +99 -144
- package/src/objects/link/authorization.ts +3 -2
- package/src/objects/query/executor.ts +45 -34
- package/src/objects/query/links.ts +84 -25
- package/src/objects/query/selected-read-admission.ts +310 -0
- package/src/objects/query/validate.ts +353 -36
- package/src/objects/sdk/object-handle.ts +2 -8
- package/src/objects/sdk/object-set.ts +10 -11
- package/src/objects/sdk/runtime-query-executor.ts +8 -28
- package/src/objects/sdk/telemetry-channel.ts +11 -7
- package/src/objects/service/list-service.ts +15 -29
- package/src/objects/telemetry/history.ts +297 -17
- package/src/objects/telemetry/index.ts +2 -2
- package/src/objects/telemetry/workload.ts +79 -0
- package/src/ontology/index.ts +7 -2
- package/src/ontology/inference/index.ts +4 -1
- package/src/ontology/internal.ts +35 -1
- package/src/ontology/json-schema.ts +13 -12
- package/src/ontology/link-path-selection.ts +193 -0
- package/src/ontology/refs.ts +19 -0
- package/src/ontology/tokens.ts +15 -8
- package/src/pipelines/execution.ts +30 -7
- package/src/pipelines/request.ts +5 -0
- package/src/projections/execution.ts +72 -11
- package/src/projections/run-dispatch.ts +7 -12
- package/src/query.ts +0 -1
- package/src/queues/index.ts +4 -2
- package/src/queues/types.ts +6 -25
- package/src/rules/execution.ts +20 -8
- package/src/runtime/create.ts +7 -2
- package/src/runtime/definitions.ts +2 -0
- package/src/runtime/host.ts +27 -7
- package/src/runtime/internal.ts +1 -0
- package/src/runtime/resolve-definitions.ts +9 -0
- package/src/runtime/sixb.ts +27 -2
- package/src/runtime/types.ts +3 -0
- package/src/sandboxes/errors.ts +5 -0
- package/src/sandboxes/index.ts +3 -0
- package/src/sandboxes/sandbox.ts +35 -7
- package/src/schedules/execution.ts +24 -2
- package/src/security/every.ts +4 -0
- package/src/security/grants.ts +45 -3
- package/src/security/index.ts +1 -0
- package/src/security/registry.ts +3 -0
- package/src/security/types.ts +8 -0
- package/src/security/validation.ts +3 -0
- package/src/shares/access-plan.ts +225 -0
- package/src/shares/builders.ts +381 -0
- package/src/shares/compiler.ts +359 -0
- package/src/shares/errors.ts +3 -0
- package/src/shares/execution.ts +394 -0
- package/src/shares/index.ts +28 -0
- package/src/shares/internal.ts +9 -0
- package/src/shares/intersection.ts +178 -0
- package/src/shares/session-protocol.ts +258 -0
- package/src/shares/types.ts +76 -0
- package/src/shares/validation.ts +40 -0
- package/src/storage/agents/in-memory.ts +0 -3
- package/src/storage/agents/types.ts +0 -3
- package/src/storage/ai-cost/analytics.ts +1 -1
- package/src/storage/ai-cost/attribution.ts +15 -0
- package/src/storage/ai-cost/groups.ts +5 -1
- package/src/storage/ai-cost/provider.ts +1 -0
- package/src/storage/ai-cost/types.ts +7 -0
- package/src/storage/auth/in-memory.ts +1 -1
- package/src/storage/executions/in-memory.ts +13 -10
- package/src/storage/executions/provider.ts +34 -1
- package/src/storage/executions/run-link.ts +29 -0
- package/src/storage/executions/types.ts +6 -2
- package/src/storage/executions/validation.ts +78 -1
- package/src/storage/in-memory/index.ts +37 -3
- package/src/storage/index.ts +54 -29
- package/src/storage/internal.ts +20 -0
- package/src/storage/objects/execution-limits.ts +283 -0
- package/src/storage/objects/guard.ts +55 -0
- package/src/storage/objects/in-memory/index.ts +2 -0
- package/src/storage/objects/in-memory/keys.ts +46 -0
- package/src/storage/objects/in-memory/query.ts +754 -0
- package/src/storage/objects/in-memory/read-scope.ts +211 -0
- package/src/storage/objects/in-memory/read-source.ts +10 -0
- package/src/storage/objects/in-memory/selected-reader.ts +252 -0
- package/src/storage/objects/in-memory/storage.ts +589 -0
- package/src/storage/objects/index.ts +21 -0
- package/src/storage/objects/keys.ts +1 -1
- package/src/storage/objects/read-scope.ts +672 -0
- package/src/storage/objects/types.ts +123 -19
- package/src/storage/operation-scope.ts +16 -0
- package/src/storage/share-grants/errors.ts +14 -0
- package/src/storage/share-grants/in-memory.ts +107 -0
- package/src/storage/share-grants/index.ts +14 -0
- package/src/storage/share-grants/provider.ts +11 -0
- package/src/storage/share-grants/record.ts +347 -0
- package/src/storage/share-grants/types.ts +112 -0
- package/src/storage/share-sessions/errors.ts +14 -0
- package/src/storage/share-sessions/in-memory.ts +105 -0
- package/src/storage/share-sessions/index.ts +11 -0
- package/src/storage/share-sessions/provider.ts +9 -0
- package/src/storage/share-sessions/record.ts +176 -0
- package/src/storage/share-sessions/types.ts +57 -0
- package/src/storage/transaction.ts +14 -2
- package/src/storage/types.ts +27 -0
- package/src/storage/workflow-runs/in-memory.ts +0 -2
- package/src/storage/workflow-runs/types.ts +0 -3
- package/src/syncs/execution.ts +25 -5
- package/src/syncs/request.ts +5 -0
- package/src/testing/action-execution.ts +9 -2
- package/src/testing/agent-execution.ts +3 -0
- package/src/testing/agent-storage-contract.ts +0 -5
- package/src/testing/ai-model-call-groups-contract.ts +74 -2
- package/src/testing/dataset-sequence-contract.ts +373 -0
- package/src/testing/effective-storage-contract.ts +34 -0
- package/src/testing/execution-storage-contract.ts +138 -1
- package/src/testing/execution.ts +6 -0
- package/src/testing/index.ts +16 -0
- package/src/testing/lake-merge-storage-contract.ts +3 -0
- package/src/testing/lake-storage-contract.ts +58 -0
- package/src/testing/object-read-scope-contract.ts +939 -0
- package/src/testing/share-grant-storage-contract.ts +325 -0
- package/src/testing/share-session-storage-contract.ts +235 -0
- package/src/testing/workflow-execution.ts +4 -0
- package/src/workflows/execution.ts +53 -14
- package/src/workflows/failure.ts +62 -1
- package/src/workflows/request.ts +5 -9
- package/src/workflows/run-dispatch.ts +0 -3
- package/src/workflows/types.ts +2 -0
- package/src/workflows/validation.ts +1 -1
- package/dist/agents/context.d.ts.map +0 -1
- package/dist/agents/context.js +0 -23
- package/dist/agents/streams.d.ts.map +0 -1
- package/dist/agents/streams.js +0 -55
- package/dist/chunk-08m3b6w8.js +0 -32
- package/dist/chunk-08twe8m6.js +0 -218
- package/dist/chunk-2b5qtban.js.map +0 -14
- package/dist/chunk-2xns679x.js.map +0 -11
- package/dist/chunk-37wk412q.js +0 -1370
- package/dist/chunk-37wk412q.js.map +0 -23
- package/dist/chunk-3fqt22c4.js.map +0 -14
- package/dist/chunk-3kv70xwp.js.map +0 -10
- package/dist/chunk-407j3msh.js +0 -60
- package/dist/chunk-64sr682n.js.map +0 -12
- package/dist/chunk-6ed5bwnd.js.map +0 -57
- package/dist/chunk-7ds9620f.js.map +0 -10
- package/dist/chunk-7y0f6rf1.js.map +0 -10
- package/dist/chunk-atmkaf60.js.map +0 -11
- package/dist/chunk-c15dr03f.js +0 -43
- package/dist/chunk-d8qkxt2v.js.map +0 -10
- package/dist/chunk-dqn23610.js +0 -72
- package/dist/chunk-dqn23610.js.map +0 -11
- package/dist/chunk-e4rvtvpw.js.map +0 -34
- package/dist/chunk-gbrpsx4m.js.map +0 -11
- package/dist/chunk-h0knpbz5.js +0 -2486
- package/dist/chunk-h0knpbz5.js.map +0 -38
- package/dist/chunk-hdz94br2.js.map +0 -10
- package/dist/chunk-jq43kdvk.js +0 -50
- package/dist/chunk-n2arzn6e.js +0 -1745
- package/dist/chunk-n2arzn6e.js.map +0 -20
- package/dist/chunk-p03r0h5s.js.map +0 -16
- package/dist/chunk-qjzp9xyb.js.map +0 -12
- package/dist/chunk-tn7xcs2n.js.map +0 -13
- package/dist/chunk-wjgm6jjt.js.map +0 -13
- package/dist/chunk-xc7hq65b.js.map +0 -10
- package/dist/chunk-y35ma3mj.js +0 -551
- package/dist/chunk-y35ma3mj.js.map +0 -15
- package/dist/chunk-y64skrwp.js +0 -19
- package/dist/chunk-z2sery1b.js.map +0 -11
- package/dist/chunk-zcnhxkvd.js +0 -7
- package/dist/logging/types.js +0 -27
- package/dist/logging/types.js.map +0 -9
- package/dist/storage/objects/in-memory.d.ts.map +0 -1
- package/src/storage/objects/in-memory.ts +0 -1241
- /package/dist/{chunk-zqqz8052.js → chunk-7n30ybym.js} +0 -0
- /package/dist/{chunk-zqqz8052.js.map → chunk-7n30ybym.js.map} +0 -0
- /package/dist/{chunk-4a849fr1.js.map → chunk-9tc8dxmn.js.map} +0 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { createHash } from "node:crypto"
|
|
2
|
+
import type { DatasetDefinition, MergeChange } from "../datasets"
|
|
3
|
+
import { datasetSequenceValue } from "../datasets/sequence"
|
|
4
|
+
import { stableJsonStringify } from "../json"
|
|
5
|
+
import { normalizeDecimalValue } from "../ontology/decimal"
|
|
6
|
+
import { LakeStorageError } from "./errors"
|
|
7
|
+
import { encodeDatasetPrimaryKey } from "./merge-validation"
|
|
8
|
+
import type { DatasetRow } from "./types"
|
|
9
|
+
|
|
10
|
+
/** Current source revision; a null content digest is a deletion tombstone. */
|
|
11
|
+
export interface DatasetSequenceState {
|
|
12
|
+
readonly sequence: string
|
|
13
|
+
readonly content: string | null
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface DatasetSequenceChange extends DatasetSequenceState {
|
|
17
|
+
readonly key: string
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function datasetSequenceChange(
|
|
21
|
+
dataset: DatasetDefinition,
|
|
22
|
+
change: MergeChange<DatasetRow, DatasetRow>
|
|
23
|
+
): DatasetSequenceChange {
|
|
24
|
+
const value = change.kind === "upsert" ? change.row[dataset.sequenceBy ?? ""] : change.sequence
|
|
25
|
+
return {
|
|
26
|
+
key: encodeDatasetPrimaryKey(dataset, change.kind === "upsert" ? change.row : change.key),
|
|
27
|
+
sequence: datasetSequenceValue(dataset, value).toString(),
|
|
28
|
+
content: change.kind === "delete" ? null : rowDigest(dataset, change.row),
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** Process in submission order against a private copy; conflicts publish no partial state. */
|
|
33
|
+
export function reconcileDatasetSequences(
|
|
34
|
+
dataset: DatasetDefinition,
|
|
35
|
+
previous: ReadonlyMap<string, DatasetSequenceState>,
|
|
36
|
+
changes: readonly DatasetSequenceChange[]
|
|
37
|
+
): { states: Map<string, DatasetSequenceState>; accepted: Map<string, number> } {
|
|
38
|
+
const states = new Map(previous)
|
|
39
|
+
const accepted = new Map<string, number>()
|
|
40
|
+
for (const [index, change] of changes.entries()) {
|
|
41
|
+
const current = states.get(change.key)
|
|
42
|
+
if (current) {
|
|
43
|
+
const difference = BigInt(change.sequence) - BigInt(current.sequence)
|
|
44
|
+
if (difference < 0n) continue
|
|
45
|
+
if (difference === 0n) {
|
|
46
|
+
if (current.content !== change.content) {
|
|
47
|
+
throw new LakeStorageError(
|
|
48
|
+
`[SixbLake] Dataset '${dataset.id}' has conflicting content at source sequence '${change.sequence}' for key ${change.key}.`
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
continue
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
states.set(change.key, { sequence: change.sequence, content: change.content })
|
|
55
|
+
accepted.set(change.key, index)
|
|
56
|
+
}
|
|
57
|
+
return { states, accepted }
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function rowDigest(dataset: DatasetDefinition, row: DatasetRow): string {
|
|
61
|
+
const content: Record<string, unknown> = Object.create(null)
|
|
62
|
+
for (const column of dataset.schema.columns) {
|
|
63
|
+
const value = row[column.name]
|
|
64
|
+
// Nullable additions and omitted/undefined/null values have identical content.
|
|
65
|
+
if (value == null) continue
|
|
66
|
+
switch (column.type) {
|
|
67
|
+
case "int64":
|
|
68
|
+
content[column.name] = BigInt(value as string | number).toString()
|
|
69
|
+
break
|
|
70
|
+
case "timestamp":
|
|
71
|
+
content[column.name] = new Date(value as string | Date).toISOString()
|
|
72
|
+
break
|
|
73
|
+
case "date":
|
|
74
|
+
content[column.name] = new Date(value as string | Date).toISOString().slice(0, 10)
|
|
75
|
+
break
|
|
76
|
+
case "decimal":
|
|
77
|
+
content[column.name] = normalizeDecimalValue(value as string)
|
|
78
|
+
break
|
|
79
|
+
default:
|
|
80
|
+
content[column.name] = value
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return createHash("sha256")
|
|
84
|
+
.update(stableJsonStringify(JSON.parse(JSON.stringify(content))))
|
|
85
|
+
.digest("hex")
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/** Until row reconciliation is supported, replacement writes must not erase source history. */
|
|
89
|
+
export function assertUnsequencedDatasetWrite(dataset: DatasetDefinition): void {
|
|
90
|
+
if (dataset.sequenceBy !== undefined) {
|
|
91
|
+
throw new LakeStorageError(
|
|
92
|
+
`[SixbLake] Dataset '${dataset.id}' declares sequenceBy; use beginMerge with source-ordered changes.`
|
|
93
|
+
)
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -39,7 +39,8 @@ export interface ExecuteSqlTransformInput<TSqlDialect extends SqlDialect = SqlDi
|
|
|
39
39
|
readonly target: DatasetDefinition
|
|
40
40
|
readonly mode: DatasetWriteMode
|
|
41
41
|
readonly producer?: DatasetProducer
|
|
42
|
-
|
|
42
|
+
/** Atomic target version guard; null requires that no version exists. */
|
|
43
|
+
readonly expectedLatestVersionId?: string | null
|
|
43
44
|
readonly commitMessage?: string
|
|
44
45
|
}
|
|
45
46
|
|
|
@@ -19,7 +19,8 @@ export interface DatasetVersionRef {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
export interface DatasetProducer {
|
|
22
|
-
readonly kind: "sync" | "pipeline"
|
|
22
|
+
readonly kind: "sync" | "pipeline" | "ingest"
|
|
23
|
+
/** For ingestion, the bound execution id; otherwise the sync/pipeline definition id. */
|
|
23
24
|
readonly id?: string
|
|
24
25
|
readonly runId?: string
|
|
25
26
|
readonly stepId?: string
|
|
@@ -73,7 +74,8 @@ export interface ReadDatasetRowsInput {
|
|
|
73
74
|
}
|
|
74
75
|
|
|
75
76
|
export interface CommitDatasetWriteInput {
|
|
76
|
-
|
|
77
|
+
/** Atomic version guard; null requires that no version exists, undefined leaves it unguarded. */
|
|
78
|
+
readonly expectedLatestVersionId?: string | null
|
|
77
79
|
readonly commitMessage?: string
|
|
78
80
|
}
|
|
79
81
|
|
|
@@ -81,11 +83,14 @@ export interface DatasetWriteCommitResult extends DatasetVersion {
|
|
|
81
83
|
/**
|
|
82
84
|
* Whether this operation created the returned version or reused the
|
|
83
85
|
* unchanged latest version. When a latest version exists, providers must
|
|
84
|
-
* report `unchanged` and reuse it for commits that
|
|
85
|
-
* dataset content
|
|
86
|
+
* report `unchanged` and reuse it for commits that change neither visible
|
|
87
|
+
* dataset content nor explicitly supplied input lineage: a snapshot whose
|
|
88
|
+
* rows equal the latest visible rows
|
|
86
89
|
* (order-insensitive, with equal duplicate counts), or an append of zero
|
|
87
90
|
* rows. Without a latest version, an empty snapshot or append still creates
|
|
88
|
-
* the first addressable dataset version.
|
|
91
|
+
* the first addressable dataset version. New input versions create a version
|
|
92
|
+
* even for identical rows, so a newer pipeline calculation fences concurrent
|
|
93
|
+
* work based on older inputs.
|
|
89
94
|
*/
|
|
90
95
|
readonly outcome: "created" | "unchanged"
|
|
91
96
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { DatasetVersionRef } from "./types"
|
|
2
|
+
|
|
3
|
+
/** Input lineage participates in write identity when the caller supplies it. */
|
|
4
|
+
export function hasDatasetInputChanges(
|
|
5
|
+
previous: readonly DatasetVersionRef[] | undefined,
|
|
6
|
+
next: readonly DatasetVersionRef[] | undefined
|
|
7
|
+
): boolean {
|
|
8
|
+
if (next === undefined) return false
|
|
9
|
+
const keys = (refs: readonly DatasetVersionRef[]) =>
|
|
10
|
+
new Set(refs.map((ref) => JSON.stringify([ref.datasetId, ref.versionId])))
|
|
11
|
+
const before = keys(previous ?? [])
|
|
12
|
+
const after = keys(next)
|
|
13
|
+
return before.size !== after.size || [...after].some((key) => !before.has(key))
|
|
14
|
+
}
|
package/src/logging/index.ts
CHANGED
|
@@ -1,25 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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"
|
package/src/models/errors.ts
CHANGED
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export { resolveLanguageModel } from "../resolve"
|
|
2
|
+
export { ModelUsageRecordingError } from "./errors"
|
|
3
|
+
export type {
|
|
4
|
+
AiModelCallAdmissionDecision,
|
|
5
|
+
AiModelCallAdmissionInput,
|
|
6
|
+
AiModelCallInputTokenEstimate,
|
|
7
|
+
BeforeAiModelCall,
|
|
8
|
+
MarkAiModelCallUnknown,
|
|
9
|
+
} from "./model-call-admission"
|
|
10
|
+
export type { AiModelCallLimitController } from "./model-call-limits"
|
|
11
|
+
export { createAiModelCallLimitController } from "./model-call-limits"
|
|
12
|
+
export type { AiModelCallRecorderInput } from "./model-call-recorder"
|
|
13
|
+
export { AiModelCallRecorder } from "./model-call-recorder"
|
|
14
|
+
export {
|
|
15
|
+
isPermanentAiUsageRecoveryError,
|
|
16
|
+
recordRecoveredAiModelCall,
|
|
17
|
+
} from "./model-call-recovery"
|
|
18
|
+
export { enqueueAiModelCallRecovery } from "./recovery-queue"
|
|
19
|
+
export type {
|
|
20
|
+
AiModelCallAccountingPayload,
|
|
21
|
+
AiModelCallRecordPayload,
|
|
22
|
+
AiModelCallRecoveryRecord,
|
|
23
|
+
ModelCallAccountingStorage,
|
|
24
|
+
RecoverAiModelCall,
|
|
25
|
+
RecoverAiModelCallInput,
|
|
26
|
+
} from "./types"
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { createHash } from "node:crypto"
|
|
2
|
+
import { assertJsonObject } from "../../json"
|
|
3
|
+
import type {
|
|
4
|
+
AiBillableMeter,
|
|
5
|
+
AiCostStorage,
|
|
6
|
+
AiLimitStorage,
|
|
7
|
+
AiModelCallCostRecord,
|
|
8
|
+
AiModelCallUsageRecord,
|
|
9
|
+
AiPricingContext,
|
|
10
|
+
AiUsageStorage,
|
|
11
|
+
RecordAiModelCallResult,
|
|
12
|
+
Storage,
|
|
13
|
+
} from "../../storage"
|
|
14
|
+
import {
|
|
15
|
+
aiModelCallCostMatchesUsage,
|
|
16
|
+
normalizeAiModelCallCostRecord,
|
|
17
|
+
} from "../../storage/ai-cost/provider"
|
|
18
|
+
import { normalizeAiModelCallRecord } from "../../storage/ai-usage/record"
|
|
19
|
+
import type { ModelCostEstimate } from "../pricing"
|
|
20
|
+
import type { ModelCallAccountingStorage, RecoverAiModelCallInput } from "./types"
|
|
21
|
+
|
|
22
|
+
interface RecordAiModelCallAccountingInput extends RecoverAiModelCallInput {
|
|
23
|
+
readonly storage: Pick<ModelCallAccountingStorage, "transaction">
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
interface AiAccountingCapabilities {
|
|
27
|
+
readonly aiUsage: AiUsageStorage
|
|
28
|
+
readonly aiCosts: AiCostStorage
|
|
29
|
+
readonly aiLimits: AiLimitStorage
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** Atomically append one provider call's usage and the valuation captured by the model runtime. */
|
|
33
|
+
export async function recordAiModelCallAccounting(
|
|
34
|
+
input: RecordAiModelCallAccountingInput
|
|
35
|
+
): Promise<RecordAiModelCallResult> {
|
|
36
|
+
return input.storage.transaction(async (tx) => {
|
|
37
|
+
const { aiUsage, aiCosts, aiLimits } = requireAccountingCapabilities(tx)
|
|
38
|
+
const usage = await aiUsage.recordModelCall(input.usage)
|
|
39
|
+
// Usage deduplicates provider lifecycle replays by execution/call identity. Always attach the
|
|
40
|
+
// valuation to the canonical row it returns, not the fresh candidate ID from a replay.
|
|
41
|
+
const canonical = normalizeModelCallAccounting({
|
|
42
|
+
...input,
|
|
43
|
+
usage: usage.record,
|
|
44
|
+
ratedAt: usage.record.recordedAt,
|
|
45
|
+
})
|
|
46
|
+
const record = modelCostRecord(canonical, usage.record.id)
|
|
47
|
+
const estimate =
|
|
48
|
+
canonical.cost.status !== "reported" || canonical.estimate === undefined
|
|
49
|
+
? undefined
|
|
50
|
+
: modelCostRecord({ ...canonical, cost: canonical.estimate }, usage.record.id)
|
|
51
|
+
await aiCosts.recordModelCallCost({
|
|
52
|
+
...record,
|
|
53
|
+
...(estimate === undefined
|
|
54
|
+
? {}
|
|
55
|
+
: {
|
|
56
|
+
estimate:
|
|
57
|
+
estimate.status === "rated"
|
|
58
|
+
? { status: "rated", money: estimate.money, components: estimate.components }
|
|
59
|
+
: {
|
|
60
|
+
status: "unpriceable",
|
|
61
|
+
reason: estimate.reason,
|
|
62
|
+
...(estimate.missingMeters === undefined
|
|
63
|
+
? {}
|
|
64
|
+
: { missingMeters: estimate.missingMeters }),
|
|
65
|
+
},
|
|
66
|
+
}),
|
|
67
|
+
})
|
|
68
|
+
if (usage.created) {
|
|
69
|
+
await aiLimits.recordModelCallActuals({
|
|
70
|
+
projectId: usage.record.projectId,
|
|
71
|
+
usageRecordId: usage.record.id,
|
|
72
|
+
recordedAt: input.ratedAt,
|
|
73
|
+
})
|
|
74
|
+
}
|
|
75
|
+
if (input.reconcileLimitReservation) {
|
|
76
|
+
await aiLimits.reconcileModelCall({
|
|
77
|
+
projectId: usage.record.projectId,
|
|
78
|
+
executionId: usage.record.executionId,
|
|
79
|
+
attempt: usage.record.attempt,
|
|
80
|
+
callId: usage.record.callId,
|
|
81
|
+
usageRecordId: usage.record.id,
|
|
82
|
+
reconciledAt: input.ratedAt,
|
|
83
|
+
})
|
|
84
|
+
}
|
|
85
|
+
return usage
|
|
86
|
+
})
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** Sanitize optional enrichment before either persistence or a JSON-safe recovery handoff. */
|
|
90
|
+
export function normalizeModelCallAccounting(
|
|
91
|
+
input: RecoverAiModelCallInput
|
|
92
|
+
): RecoverAiModelCallInput {
|
|
93
|
+
const usage = normalizeAiModelCallRecord(input.usage)
|
|
94
|
+
return {
|
|
95
|
+
...input,
|
|
96
|
+
cost:
|
|
97
|
+
input.cost.status === "reported" ? input.cost : validatedEstimate(input.cost, input, usage),
|
|
98
|
+
...(input.estimate === undefined
|
|
99
|
+
? {}
|
|
100
|
+
: { estimate: validatedEstimate(input.estimate, input, usage) }),
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function validatedEstimate(
|
|
105
|
+
cost: ModelCostEstimate,
|
|
106
|
+
input: RecoverAiModelCallInput,
|
|
107
|
+
usage: AiModelCallUsageRecord
|
|
108
|
+
): ModelCostEstimate {
|
|
109
|
+
try {
|
|
110
|
+
assertJsonObject(cost, "model cost estimate")
|
|
111
|
+
const record = normalizeAiModelCallCostRecord(modelCostRecord({ ...input, cost }, usage.id))
|
|
112
|
+
if (!aiModelCallCostMatchesUsage(record, usage)) {
|
|
113
|
+
throw new TypeError("Estimate quantities do not match recorded usage.")
|
|
114
|
+
}
|
|
115
|
+
return structuredClone(cost)
|
|
116
|
+
} catch {
|
|
117
|
+
console.warn(
|
|
118
|
+
"[SixbModels] Invalid model cost estimate; preserving call usage and provider cost."
|
|
119
|
+
)
|
|
120
|
+
return { status: "unpriceable", reason: "inconsistent-usage" }
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function modelCostRecord(
|
|
125
|
+
input: RecoverAiModelCallInput,
|
|
126
|
+
usageRecordId: string
|
|
127
|
+
): AiModelCallCostRecord {
|
|
128
|
+
const billingIdentity = {
|
|
129
|
+
providerId: input.usage.providerId,
|
|
130
|
+
modelId: input.usage.requestedModelId,
|
|
131
|
+
}
|
|
132
|
+
const pricingContext: AiPricingContext = {
|
|
133
|
+
...(input.route?.providerId === undefined ? {} : { routedProviderId: input.route.providerId }),
|
|
134
|
+
...(input.route?.modelId === undefined ? {} : { routedModelId: input.route.modelId }),
|
|
135
|
+
}
|
|
136
|
+
if (input.cost.status === "reported" || input.cost.status === "rated") {
|
|
137
|
+
return {
|
|
138
|
+
projectId: input.usage.projectId,
|
|
139
|
+
usageRecordId,
|
|
140
|
+
status: "rated",
|
|
141
|
+
billingIdentity,
|
|
142
|
+
pricingContext,
|
|
143
|
+
priceSource: costPriceSource(input.usage, input.cost),
|
|
144
|
+
money: input.cost.money,
|
|
145
|
+
components: input.cost.status === "rated" ? input.cost.components : [],
|
|
146
|
+
ratedAt: new Date(input.ratedAt),
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
const reason =
|
|
151
|
+
input.cost.reason === "missing-rate-card"
|
|
152
|
+
? "missingRateCard"
|
|
153
|
+
: input.cost.reason === "missing-usage"
|
|
154
|
+
? "missingUsageMeter"
|
|
155
|
+
: "invalidUsageForFormula"
|
|
156
|
+
const missingMeters =
|
|
157
|
+
reason === "missingUsageMeter" ? normalizeMissingMeters(input.cost.missingMeters) : undefined
|
|
158
|
+
return {
|
|
159
|
+
projectId: input.usage.projectId,
|
|
160
|
+
usageRecordId,
|
|
161
|
+
status: "unpriceable",
|
|
162
|
+
billingIdentity,
|
|
163
|
+
pricingContext,
|
|
164
|
+
reason,
|
|
165
|
+
...(missingMeters === undefined ? {} : { missingMeters }),
|
|
166
|
+
ratedAt: new Date(input.ratedAt),
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
function costPriceSource(
|
|
171
|
+
usage: RecoverAiModelCallInput["usage"],
|
|
172
|
+
cost: Extract<RecoverAiModelCallInput["cost"], { status: "reported" | "rated" }>
|
|
173
|
+
) {
|
|
174
|
+
if (cost.status === "reported") {
|
|
175
|
+
return {
|
|
176
|
+
sourceId: "provider-reported",
|
|
177
|
+
sourceEntryId: `${usage.providerId}/${usage.responseId}`,
|
|
178
|
+
sourceVersion: "response-v1",
|
|
179
|
+
observedAt: new Date(usage.occurredAt),
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
const rates = cost.components.map(({ meter, rateAmountNanosPerMillion }) => ({
|
|
183
|
+
meter,
|
|
184
|
+
rateAmountNanosPerMillion,
|
|
185
|
+
}))
|
|
186
|
+
const version = createHash("sha256").update(JSON.stringify(rates)).digest("hex")
|
|
187
|
+
return {
|
|
188
|
+
sourceId: "model-rate-card",
|
|
189
|
+
sourceEntryId: `${usage.providerId}/${usage.requestedModelId}`,
|
|
190
|
+
sourceVersion: `sha256:${version}`,
|
|
191
|
+
observedAt: new Date(usage.occurredAt),
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
function normalizeMissingMeters(
|
|
196
|
+
meters: Extract<RecoverAiModelCallInput["cost"], { status: "unpriceable" }>["missingMeters"]
|
|
197
|
+
): readonly AiBillableMeter[] {
|
|
198
|
+
const fallback: readonly AiBillableMeter[] = ["tokens.input.total", "tokens.output.total"]
|
|
199
|
+
return [...new Set<AiBillableMeter>(meters ?? fallback)]
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export function requireAccountingCapabilities(
|
|
203
|
+
storage: Pick<Storage, "aiUsage" | "aiCosts" | "aiLimits">
|
|
204
|
+
): AiAccountingCapabilities {
|
|
205
|
+
if (!storage.aiUsage || !storage.aiCosts || !storage.aiLimits) {
|
|
206
|
+
throw new Error(
|
|
207
|
+
"[SixbModels] AI model-call accounting requires storage.aiUsage, storage.aiCosts, and storage.aiLimits."
|
|
208
|
+
)
|
|
209
|
+
}
|
|
210
|
+
return { aiUsage: storage.aiUsage, aiCosts: storage.aiCosts, aiLimits: storage.aiLimits }
|
|
211
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import type { AiModelCallReservationIdentity } from "../../storage"
|
|
2
|
+
import type { ModelCostEstimator } from "../pricing"
|
|
3
|
+
|
|
4
|
+
/** Default output ceiling when a call and its resolved model supply no limit. */
|
|
5
|
+
export const AI_MODEL_CALL_OUTPUT_TOKEN_ALLOWANCE = 4_096
|
|
6
|
+
|
|
7
|
+
export type AiModelCallInputTokenEstimate =
|
|
8
|
+
| {
|
|
9
|
+
readonly status: "estimated"
|
|
10
|
+
readonly tokens: number
|
|
11
|
+
readonly method: "utf8BytesDividedByFour"
|
|
12
|
+
}
|
|
13
|
+
| {
|
|
14
|
+
readonly status: "unavailable"
|
|
15
|
+
readonly reason: "nonTextInput" | "unserializableInput"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** Provider-neutral snapshot passed to aggregate-budget admission before a provider request. */
|
|
19
|
+
export interface AiModelCallAdmissionInput {
|
|
20
|
+
readonly projectId: string
|
|
21
|
+
readonly executionId: string
|
|
22
|
+
readonly attempt: number
|
|
23
|
+
readonly requesterGroupIds: readonly string[]
|
|
24
|
+
readonly callId: string
|
|
25
|
+
readonly providerId: string
|
|
26
|
+
readonly modelId: string
|
|
27
|
+
readonly costEstimator?: ModelCostEstimator
|
|
28
|
+
readonly inputTokens: AiModelCallInputTokenEstimate
|
|
29
|
+
readonly outputTokenAllowance: number
|
|
30
|
+
readonly estimatedTotalTokens?: number
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface AiModelCallAdmissionDecision {
|
|
34
|
+
/** Active means accounting must reconcile the reservation for this provider attempt. */
|
|
35
|
+
readonly reservation: "active" | "none"
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export type BeforeAiModelCall = (
|
|
39
|
+
input: AiModelCallAdmissionInput
|
|
40
|
+
) => AiModelCallAdmissionDecision | Promise<AiModelCallAdmissionDecision>
|
|
41
|
+
|
|
42
|
+
export type MarkAiModelCallUnknown = (input: AiModelCallReservationIdentity) => void | Promise<void>
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Estimate the exact, prepared provider request without requiring a provider-specific tokenizer.
|
|
46
|
+
*
|
|
47
|
+
* The heuristic is intentionally explicit so reservations are reproducible. Non-text inputs are
|
|
48
|
+
* reported as unavailable; an enforced token or cost policy can then fail closed instead of
|
|
49
|
+
* pretending that an image, file, or provider-defined payload has no token cost.
|
|
50
|
+
*/
|
|
51
|
+
export function estimateAiModelCallInputTokens(input: {
|
|
52
|
+
readonly prompt: unknown
|
|
53
|
+
readonly tools: unknown
|
|
54
|
+
readonly responseFormat: unknown
|
|
55
|
+
}): AiModelCallInputTokenEstimate {
|
|
56
|
+
if (containsNonTextInput(input.prompt)) {
|
|
57
|
+
return { status: "unavailable", reason: "nonTextInput" }
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
let serialized: string | undefined
|
|
61
|
+
try {
|
|
62
|
+
serialized = JSON.stringify(input)
|
|
63
|
+
} catch {
|
|
64
|
+
return { status: "unavailable", reason: "unserializableInput" }
|
|
65
|
+
}
|
|
66
|
+
if (serialized === undefined) {
|
|
67
|
+
return { status: "unavailable", reason: "unserializableInput" }
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const bytes = new TextEncoder().encode(serialized).byteLength
|
|
71
|
+
return {
|
|
72
|
+
status: "estimated",
|
|
73
|
+
tokens: Math.ceil(bytes / 4),
|
|
74
|
+
method: "utf8BytesDividedByFour",
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function aiModelCallOutputTokenAllowance(maxOutputTokens: number | undefined): number {
|
|
79
|
+
if (maxOutputTokens === undefined) return AI_MODEL_CALL_OUTPUT_TOKEN_ALLOWANCE
|
|
80
|
+
if (!Number.isSafeInteger(maxOutputTokens) || maxOutputTokens <= 0) {
|
|
81
|
+
throw new TypeError(
|
|
82
|
+
"[SixbModels] AI model-call maxOutputTokens must be a positive safe integer."
|
|
83
|
+
)
|
|
84
|
+
}
|
|
85
|
+
return maxOutputTokens
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export function estimatedAiModelCallTotalTokens(
|
|
89
|
+
inputTokens: AiModelCallInputTokenEstimate,
|
|
90
|
+
outputTokenAllowance: number
|
|
91
|
+
): number | undefined {
|
|
92
|
+
if (inputTokens.status !== "estimated") return undefined
|
|
93
|
+
const total = inputTokens.tokens + outputTokenAllowance
|
|
94
|
+
if (!Number.isSafeInteger(total)) {
|
|
95
|
+
throw new TypeError("[SixbModels] AI model-call token estimate exceeds the safe range.")
|
|
96
|
+
}
|
|
97
|
+
return total
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
function containsNonTextInput(value: unknown, seen = new WeakSet<object>()): boolean {
|
|
101
|
+
if (value === null || typeof value !== "object") return false
|
|
102
|
+
if (
|
|
103
|
+
value instanceof URL ||
|
|
104
|
+
value instanceof ArrayBuffer ||
|
|
105
|
+
ArrayBuffer.isView(value) ||
|
|
106
|
+
(typeof Blob !== "undefined" && value instanceof Blob)
|
|
107
|
+
) {
|
|
108
|
+
return true
|
|
109
|
+
}
|
|
110
|
+
if (seen.has(value)) return false
|
|
111
|
+
seen.add(value)
|
|
112
|
+
|
|
113
|
+
if (!Array.isArray(value)) {
|
|
114
|
+
const type = Reflect.get(value, "type")
|
|
115
|
+
if (
|
|
116
|
+
type === "image" ||
|
|
117
|
+
type === "file" ||
|
|
118
|
+
type === "reasoning-file" ||
|
|
119
|
+
type === "custom" ||
|
|
120
|
+
type === "provider-state"
|
|
121
|
+
) {
|
|
122
|
+
return true
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return Object.values(value).some((entry) => containsNonTextInput(entry, seen))
|
|
127
|
+
}
|