@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.
- package/dist/actions/index.js +77 -89
- package/dist/actions/index.js.map +1 -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 +3 -3
- 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/index.d.ts +4 -4
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +192 -204
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/message.d.ts +1 -1
- package/dist/agents/message.d.ts.map +1 -1
- package/dist/agents/model-loop.d.ts +2 -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/types.d.ts +1 -1
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/validation.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 -108
- 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/index.js +51 -56
- 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 +14 -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 -88
- package/dist/bootstrap/index.js.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-q0k9nc5a.js → chunk-0w35wavj.js} +98 -98
- package/dist/{chunk-q0k9nc5a.js.map → chunk-0w35wavj.js.map} +2 -2
- package/dist/chunk-0y39rgsb.js +43 -0
- package/dist/{chunk-c15dr03f.js.map → chunk-0y39rgsb.js.map} +2 -2
- package/dist/{chunk-k522z7v6.js → chunk-17kfctj6.js} +16 -11
- package/dist/chunk-17kfctj6.js.map +10 -0
- package/dist/{chunk-aa2pen2v.js → chunk-1enhpacz.js} +188 -175
- package/dist/{chunk-aa2pen2v.js.map → chunk-1enhpacz.js.map} +2 -2
- 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-fvt9rjsa.js → chunk-38zv5rkr.js} +4 -4
- package/dist/{chunk-fvt9rjsa.js.map → chunk-38zv5rkr.js.map} +1 -1
- 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-mwsxn98e.js → chunk-52hbv0ak.js} +170 -170
- package/dist/{chunk-mwsxn98e.js.map → chunk-52hbv0ak.js.map} +4 -4
- 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-p1rzczbt.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-pc7ys28c.js → chunk-860dwwy0.js} +29 -29
- package/dist/{chunk-pc7ys28c.js.map → chunk-860dwwy0.js.map} +2 -2
- 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-rafagrwr.js → chunk-93csa55g.js} +45 -17
- 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-n4khvw9n.js → chunk-9qsh3p5y.js} +17 -17
- package/dist/{chunk-n4khvw9n.js.map → chunk-9qsh3p5y.js.map} +2 -2
- package/dist/{chunk-4a849fr1.js → chunk-9tc8dxmn.js} +1 -1
- package/dist/{chunk-9nbmsvn5.js → chunk-9vx5e9g1.js} +9 -9
- package/dist/{chunk-9nbmsvn5.js.map → chunk-9vx5e9g1.js.map} +2 -2
- package/dist/{chunk-f26bck4t.js → chunk-an5tt9y0.js} +353 -353
- package/dist/{chunk-f26bck4t.js.map → chunk-an5tt9y0.js.map} +2 -2
- package/dist/{chunk-2dw777qw.js → chunk-ap0g1g74.js} +37 -82
- package/dist/{chunk-2dw777qw.js.map → chunk-ap0g1g74.js.map} +3 -4
- package/dist/{chunk-v4en4jc2.js → chunk-awbhdqyc.js} +7 -7
- package/dist/{chunk-v4en4jc2.js.map → chunk-awbhdqyc.js.map} +2 -2
- 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-nx7k8tpr.js → chunk-br3k6qbf.js} +23 -23
- package/dist/{chunk-nx7k8tpr.js.map → chunk-br3k6qbf.js.map} +2 -2
- 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-5e3pq99w.js → chunk-dmn70ztd.js} +30 -30
- package/dist/chunk-dmn70ztd.js.map +11 -0
- package/dist/{chunk-p1x242ad.js → chunk-dz5h08xv.js} +175 -175
- package/dist/{chunk-p1x242ad.js.map → chunk-dz5h08xv.js.map} +2 -2
- 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-wtf06et8.js → chunk-emyyk7dx.js} +55 -55
- package/dist/{chunk-wtf06et8.js.map → chunk-emyyk7dx.js.map} +2 -2
- package/dist/{chunk-19jp6g9d.js → chunk-f0rwz2vh.js} +54 -33
- 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-4sm0aznx.js → chunk-g00bfdq6.js} +254 -256
- package/dist/{chunk-4sm0aznx.js.map → chunk-g00bfdq6.js.map} +3 -3
- 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-xajtptbw.js → chunk-hpr1r6av.js} +1367 -418
- 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-w9tg6yyb.js → chunk-jjy0fhrn.js} +36 -36
- package/dist/{chunk-w9tg6yyb.js.map → chunk-jjy0fhrn.js.map} +2 -2
- package/dist/{chunk-wdage1eb.js → chunk-jmfet9r4.js} +6 -6
- package/dist/{chunk-wdage1eb.js.map → chunk-jmfet9r4.js.map} +2 -2
- package/dist/{chunk-ajnan18g.js → chunk-k3cqkkn2.js} +58 -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-3z1qec12.js → chunk-m3z3x9v0.js} +107 -64
- package/dist/{chunk-3z1qec12.js.map → chunk-m3z3x9v0.js.map} +3 -3
- package/dist/{chunk-sbzzr4kx.js → chunk-mjbk2djy.js} +1061 -1195
- package/dist/{chunk-sbzzr4kx.js.map → chunk-mjbk2djy.js.map} +9 -15
- package/dist/{chunk-4jjp5k14.js → chunk-mmagke4x.js} +6 -6
- package/dist/{chunk-4jjp5k14.js.map → chunk-mmagke4x.js.map} +2 -2
- package/dist/{chunk-359jm1jw.js → chunk-mrp7k0pw.js} +20 -20
- package/dist/{chunk-359jm1jw.js.map → chunk-mrp7k0pw.js.map} +2 -2
- package/dist/{chunk-h0k55pc7.js → chunk-ms2tmn1k.js} +139 -139
- package/dist/{chunk-h0k55pc7.js.map → chunk-ms2tmn1k.js.map} +2 -2
- package/dist/{chunk-rv2hkwwa.js → chunk-ppytyr6w.js} +156 -179
- package/dist/{chunk-rv2hkwwa.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-nn0tekr1.js → chunk-pr2h4bv4.js} +33 -33
- package/dist/{chunk-nn0tekr1.js.map → chunk-pr2h4bv4.js.map} +2 -2
- 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-5ntny1qx.js → chunk-qf954wje.js} +6 -6
- package/dist/{chunk-5ntny1qx.js.map → chunk-qf954wje.js.map} +2 -2
- package/dist/{chunk-mth82m8t.js → chunk-qhcpj9wc.js} +77 -77
- package/dist/{chunk-mth82m8t.js.map → chunk-qhcpj9wc.js.map} +2 -2
- 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-3xep5cjx.js → chunk-r4tfx1sf.js} +104 -86
- 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-r8jrnexe.js → chunk-v4jbb3rs.js} +4 -4
- package/dist/{chunk-r8jrnexe.js.map → chunk-v4jbb3rs.js.map} +2 -2
- package/dist/{chunk-v1xppd0y.js → chunk-vf691g1r.js} +60 -60
- package/dist/{chunk-v1xppd0y.js.map → chunk-vf691g1r.js.map} +2 -2
- package/dist/{chunk-w1tvjszy.js → chunk-vsj3mdfj.js} +8 -8
- package/dist/{chunk-w1tvjszy.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-z4ccwbkz.js → chunk-x9v4cx1d.js} +1 -1
- package/dist/{chunk-gbejpkex.js → chunk-xfbydgzy.js} +26 -26
- package/dist/{chunk-gbejpkex.js.map → chunk-xfbydgzy.js.map} +2 -2
- package/dist/{chunk-gzasd5b6.js → chunk-xyr8kppc.js} +22 -22
- package/dist/{chunk-gzasd5b6.js.map → chunk-xyr8kppc.js.map} +2 -2
- package/dist/{chunk-h5vqbfmd.js → chunk-ypbtykv6.js} +117 -117
- package/dist/{chunk-h5vqbfmd.js.map → chunk-ypbtykv6.js.map} +3 -3
- 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-yp8ee62z.js → chunk-z30bv4ga.js} +35 -35
- package/dist/{chunk-yp8ee62z.js.map → chunk-z30bv4ga.js.map} +2 -2
- 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-4yqmp43v.js → chunk-z8fx5cgb.js} +12 -12
- package/dist/{chunk-4yqmp43v.js.map → chunk-z8fx5cgb.js.map} +2 -2
- 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/write.js +8 -12
- package/dist/datasets/write.js.map +1 -1
- 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/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/execution/agent.d.ts +3 -3
- package/dist/execution/agent.d.ts.map +1 -1
- package/dist/execution/agent.js +70 -82
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/durable.d.ts +1 -0
- package/dist/execution/durable.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 -71
- package/dist/execution/primitive.js.map +3 -3
- package/dist/execution/request.d.ts +1 -0
- package/dist/execution/request.d.ts.map +1 -1
- package/dist/execution/request.js +65 -75
- package/dist/execution/request.js.map +3 -3
- package/dist/http/index.js +10 -11
- package/dist/http/index.js.map +1 -1
- package/dist/index.d.ts +14 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +455 -477
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/index.js +38 -42
- package/dist/lake-storage/index.js.map +1 -1
- 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 -145
- 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/execution.d.ts.map +1 -1
- package/dist/objects/index.js +75 -87
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/query/index.js +67 -76
- package/dist/objects/query/index.js.map +1 -1
- package/dist/ontology/index.d.ts +1 -2
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +62 -113
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/internal.d.ts +7 -0
- package/dist/ontology/internal.d.ts.map +1 -1
- package/dist/ontology/internal.js +65 -116
- package/dist/ontology/internal.js.map +3 -4
- package/dist/pipelines/index.js +57 -66
- package/dist/pipelines/index.js.map +1 -1
- package/dist/projections/internal.js +58 -67
- package/dist/projections/internal.js.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/internal.js +4 -5
- package/dist/rules/internal.js.map +1 -1
- package/dist/runtime/create.d.ts +2 -1
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +2 -1
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/internal.js +13 -14
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/sixb.d.ts +2 -0
- package/dist/runtime/sixb.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/index.js +31 -33
- package/dist/schedules/index.js.map +1 -1
- package/dist/shares/internal.js +46 -54
- package/dist/shares/internal.js.map +2 -2
- 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.map +1 -1
- package/dist/storage/executions/provider.d.ts +2 -1
- package/dist/storage/executions/provider.d.ts.map +1 -1
- package/dist/storage/executions/provider.js +14 -11
- package/dist/storage/executions/provider.js.map +3 -3
- 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 +2 -0
- package/dist/storage/executions/validation.d.ts.map +1 -1
- package/dist/storage/in-memory/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +6 -7
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +221 -256
- 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/ontology/provider.js +105 -109
- package/dist/storage/ontology/provider.js.map +1 -1
- package/dist/storage/operation-scope.js +18 -19
- 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/provider.js +17 -19
- package/dist/storage/share-grants/provider.js.map +1 -1
- package/dist/storage/share-sessions/provider.js +14 -15
- package/dist/storage/share-sessions/provider.js.map +1 -1
- package/dist/storage/sync-runs/provider.js +4 -6
- package/dist/storage/sync-runs/provider.js.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 -21
- 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/index.js +55 -65
- package/dist/syncs/index.js.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/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.js +911 -799
- package/dist/testing/index.js.map +9 -9
- 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 -59
- 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/failure.d.ts +2 -0
- package/dist/workflows/failure.d.ts.map +1 -1
- package/dist/workflows/index.js +135 -147
- 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 +48 -30
- package/src/actions/run-dispatch.ts +2 -6
- package/src/actions/types/context.ts +2 -0
- package/src/actions/validation.ts +2 -1
- package/src/agents/adapters.ts +4 -9
- 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 +1 -1
- package/src/agents/index.ts +4 -4
- package/src/agents/message.ts +1 -1
- package/src/agents/model-loop.ts +8 -0
- package/src/agents/request.ts +11 -26
- 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/types.ts +1 -1
- package/src/agents/validation.ts +3 -7
- package/src/auth/index.ts +0 -1
- package/src/bootstrap/discovery.ts +81 -24
- package/src/bootstrap/index.ts +8 -1
- package/src/errors/internal.ts +90 -10
- package/src/errors/redaction.ts +98 -0
- package/src/errors/types.ts +4 -0
- package/src/execution/agent.ts +5 -3
- package/src/execution/durable.ts +11 -1
- package/src/execution/primitive.ts +5 -1
- package/src/execution/request.ts +3 -0
- package/src/index.ts +20 -18
- 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/execution.ts +1 -1
- package/src/ontology/index.ts +1 -2
- package/src/ontology/internal.ts +35 -0
- package/src/projections/run-dispatch.ts +1 -0
- package/src/query.ts +0 -1
- package/src/queues/index.ts +4 -2
- package/src/queues/types.ts +6 -25
- package/src/runtime/create.ts +2 -1
- package/src/runtime/host.ts +2 -1
- package/src/runtime/sixb.ts +4 -0
- package/src/sandboxes/errors.ts +5 -0
- package/src/sandboxes/index.ts +3 -0
- package/src/sandboxes/sandbox.ts +35 -7
- 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 +4 -9
- package/src/storage/executions/provider.ts +4 -0
- package/src/storage/executions/types.ts +6 -2
- package/src/storage/executions/validation.ts +32 -0
- package/src/storage/in-memory/index.ts +16 -1
- package/src/storage/index.ts +3 -29
- package/src/storage/internal.ts +20 -0
- package/src/storage/workflow-runs/in-memory.ts +0 -2
- package/src/storage/workflow-runs/types.ts +0 -3
- 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/execution-storage-contract.ts +59 -1
- package/src/testing/execution.ts +6 -0
- package/src/testing/workflow-execution.ts +4 -0
- package/src/workflows/failure.ts +62 -1
- package/src/workflows/request.ts +0 -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-19jp6g9d.js.map +0 -11
- package/dist/chunk-2xns679x.js.map +0 -11
- package/dist/chunk-3xep5cjx.js.map +0 -15
- package/dist/chunk-407j3msh.js +0 -60
- package/dist/chunk-4qfkag59.js +0 -1568
- package/dist/chunk-4qfkag59.js.map +0 -20
- package/dist/chunk-5e3pq99w.js.map +0 -11
- package/dist/chunk-7y0f6rf1.js.map +0 -10
- package/dist/chunk-ajnan18g.js.map +0 -12
- package/dist/chunk-c15dr03f.js +0 -43
- package/dist/chunk-d8qkxt2v.js.map +0 -10
- package/dist/chunk-jq43kdvk.js +0 -50
- package/dist/chunk-k522z7v6.js.map +0 -10
- package/dist/chunk-p03r0h5s.js.map +0 -16
- package/dist/chunk-p1rzczbt.js +0 -218
- package/dist/chunk-rafagrwr.js.map +0 -11
- package/dist/chunk-xajtptbw.js.map +0 -40
- package/dist/chunk-y64skrwp.js +0 -19
- package/dist/chunk-zcnhxkvd.js +0 -7
- package/dist/logging/types.js +0 -27
- package/dist/logging/types.js.map +0 -9
- /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
- /package/dist/{chunk-j1sbhm7p.js → chunk-ey1nk510.js} +0 -0
- /package/dist/{chunk-j1sbhm7p.js.map → chunk-ey1nk510.js.map} +0 -0
- /package/dist/{chunk-z4ccwbkz.js.map → chunk-x9v4cx1d.js.map} +0 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { InferSchemaOrRef, SchemaOrRef } from "../ontology"
|
|
2
|
+
import type { ModelFinishReason, ModelUsage } from "./events"
|
|
3
|
+
import type { LanguageModel, ModelReasoning } from "./language-model"
|
|
4
|
+
import type { ModelMessage } from "./messages"
|
|
5
|
+
import type { ModelCallCost } from "./pricing"
|
|
6
|
+
|
|
7
|
+
export type LanguageModelOutputShape = Readonly<Record<string, SchemaOrRef>>
|
|
8
|
+
|
|
9
|
+
export type InferLanguageModelOutput<TShape extends LanguageModelOutputShape> =
|
|
10
|
+
string extends keyof TShape
|
|
11
|
+
? Record<string, unknown>
|
|
12
|
+
: { -readonly [K in keyof TShape]: InferSchemaOrRef<TShape[K]> }
|
|
13
|
+
|
|
14
|
+
export type LanguageModelGenerateInput<
|
|
15
|
+
TShape extends LanguageModelOutputShape | undefined = undefined,
|
|
16
|
+
> = {
|
|
17
|
+
readonly instructions?: string
|
|
18
|
+
readonly model?: LanguageModel
|
|
19
|
+
readonly output?: TShape
|
|
20
|
+
readonly maxOutputTokens?: number
|
|
21
|
+
readonly reasoning?: ModelReasoning
|
|
22
|
+
readonly caching?: "auto" | "off"
|
|
23
|
+
readonly signal?: AbortSignal
|
|
24
|
+
} & (undefined extends TShape ? unknown : { readonly output: TShape }) &
|
|
25
|
+
(
|
|
26
|
+
| { readonly prompt: string; readonly messages?: never }
|
|
27
|
+
| { readonly messages: readonly ModelMessage[]; readonly prompt?: never }
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
export interface LanguageModelGenerateResult<TOutput = string> {
|
|
31
|
+
readonly output: TOutput
|
|
32
|
+
readonly usage: ModelUsage
|
|
33
|
+
readonly cost: ModelCallCost
|
|
34
|
+
readonly finishReason: ModelFinishReason
|
|
35
|
+
readonly callId: string
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface LanguageModelsRuntime {
|
|
39
|
+
generate<const TShape extends LanguageModelOutputShape | undefined = undefined>(
|
|
40
|
+
input: LanguageModelGenerateInput<TShape>
|
|
41
|
+
): Promise<
|
|
42
|
+
LanguageModelGenerateResult<
|
|
43
|
+
TShape extends LanguageModelOutputShape ? InferLanguageModelOutput<TShape> : string
|
|
44
|
+
>
|
|
45
|
+
>
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export interface ModelsRuntime {
|
|
49
|
+
readonly language: LanguageModelsRuntime
|
|
50
|
+
}
|
package/src/models/index.ts
CHANGED
|
@@ -35,6 +35,14 @@ export type {
|
|
|
35
35
|
ModelUsage,
|
|
36
36
|
} from "./events"
|
|
37
37
|
export { normalizeModelProviderIds } from "./events"
|
|
38
|
+
export type {
|
|
39
|
+
InferLanguageModelOutput,
|
|
40
|
+
LanguageModelGenerateInput,
|
|
41
|
+
LanguageModelGenerateResult,
|
|
42
|
+
LanguageModelOutputShape,
|
|
43
|
+
LanguageModelsRuntime,
|
|
44
|
+
ModelsRuntime,
|
|
45
|
+
} from "./generation-types"
|
|
38
46
|
export type {
|
|
39
47
|
LanguageModel,
|
|
40
48
|
LanguageModelProvider,
|
|
@@ -43,6 +43,7 @@ export interface ModelCapabilities {
|
|
|
43
43
|
readonly reasoning?: false | ModelReasoningCapabilities
|
|
44
44
|
readonly localTools?: boolean
|
|
45
45
|
readonly parallelToolCalls?: boolean
|
|
46
|
+
/** `undefined` is unknown, not an assertion that schema-constrained output is unsupported. */
|
|
46
47
|
readonly nativeStructuredOutput?: boolean
|
|
47
48
|
readonly providerExecutedTools?: boolean
|
|
48
49
|
}
|
|
@@ -90,6 +91,8 @@ export interface LanguageModel {
|
|
|
90
91
|
* retry with an offline snapshot. Invalid definitions and other resolver errors remain fatal.
|
|
91
92
|
*/
|
|
92
93
|
resolve?(options?: { readonly offline?: boolean }): Promise<LanguageModel>
|
|
94
|
+
/** Validate known output constraints without inference. Success does not certify endpoint support. */
|
|
95
|
+
validateResponseFormat?(format: ModelResponseFormat): void | Promise<void>
|
|
93
96
|
stream(request: LanguageModelRequest): Promise<LanguageModelStream>
|
|
94
97
|
}
|
|
95
98
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { assertJsonObject } from "../json"
|
|
2
|
+
import { schemaRecordToJsonSchema } from "../ontology/json-schema"
|
|
3
|
+
import { isObjectRefSchema, validateSchemaOrRefValue } from "../ontology/refs"
|
|
4
|
+
import type { ValueType } from "../ontology/types"
|
|
5
|
+
import { isRecord } from "../ontology/validation"
|
|
6
|
+
import { coerceSchemaValueToTyped, normalizeSchemaValue } from "../ontology/validation/normalize"
|
|
7
|
+
import type { LanguageModelOutputShape } from "./generation-types"
|
|
8
|
+
import type { ModelOutput } from "./tools"
|
|
9
|
+
|
|
10
|
+
export function languageModelOutput(
|
|
11
|
+
shape: LanguageModelOutputShape,
|
|
12
|
+
valueTypesById: ReadonlyMap<string, ValueType>
|
|
13
|
+
): ModelOutput<Record<string, unknown>> {
|
|
14
|
+
if (!isRecord(shape)) throw new TypeError("[SixbModels] output must be a Sixb schema record.")
|
|
15
|
+
const schema = schemaRecordToJsonSchema({ shape, valueTypesById })
|
|
16
|
+
assertJsonObject(schema, "model output schema")
|
|
17
|
+
return {
|
|
18
|
+
name: "sixb_output",
|
|
19
|
+
schema,
|
|
20
|
+
validate(value) {
|
|
21
|
+
if (!isRecord(value)) throw new TypeError("[SixbModels] Output must be an object.")
|
|
22
|
+
for (const key of Object.keys(value)) {
|
|
23
|
+
if (!Object.hasOwn(shape, key)) {
|
|
24
|
+
throw new TypeError(`[SixbModels] Unknown output field '${key}'.`)
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return Object.fromEntries(
|
|
28
|
+
Object.entries(shape).map(([key, field]) => {
|
|
29
|
+
if (!Object.hasOwn(value, key)) {
|
|
30
|
+
throw new TypeError(`[SixbModels] Missing output field '${key}'.`)
|
|
31
|
+
}
|
|
32
|
+
validateSchemaOrRefValue(field, value[key], `output.${key}`, valueTypesById)
|
|
33
|
+
const output = isObjectRefSchema(field)
|
|
34
|
+
? value[key]
|
|
35
|
+
: coerceSchemaValueToTyped(
|
|
36
|
+
field,
|
|
37
|
+
normalizeSchemaValue(field, value[key], `output.${key}`, valueTypesById),
|
|
38
|
+
valueTypesById
|
|
39
|
+
)
|
|
40
|
+
return [key, output]
|
|
41
|
+
})
|
|
42
|
+
)
|
|
43
|
+
},
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { defineLanguageModel } from "./definitions"
|
|
2
|
+
import { ModelCatalogUnavailableError } from "./errors"
|
|
3
|
+
import type { LanguageModel } from "./language-model"
|
|
4
|
+
|
|
5
|
+
/** Pin operational metadata once, falling back offline only when the catalog is unavailable. */
|
|
6
|
+
export async function resolveLanguageModel(binding: LanguageModel): Promise<LanguageModel> {
|
|
7
|
+
const offline =
|
|
8
|
+
binding.definition.contextWindow !== undefined ||
|
|
9
|
+
binding.definition.maxInputTokens !== undefined
|
|
10
|
+
let model: LanguageModel
|
|
11
|
+
try {
|
|
12
|
+
model = (await binding.resolve?.({ offline })) ?? binding
|
|
13
|
+
} catch (cause) {
|
|
14
|
+
if (offline || !(cause instanceof ModelCatalogUnavailableError)) throw cause
|
|
15
|
+
model = (await binding.resolve?.({ offline: true })) ?? binding
|
|
16
|
+
}
|
|
17
|
+
const definition = defineLanguageModel(model.definition)
|
|
18
|
+
if (
|
|
19
|
+
definition.providerId !== binding.providerId ||
|
|
20
|
+
definition.modelId !== binding.modelId ||
|
|
21
|
+
model.providerId !== binding.providerId ||
|
|
22
|
+
model.modelId !== binding.modelId
|
|
23
|
+
) {
|
|
24
|
+
throw new TypeError("[SixbModels] Resolved model identity does not match the selected model.")
|
|
25
|
+
}
|
|
26
|
+
return model
|
|
27
|
+
}
|
package/src/objects/execution.ts
CHANGED
|
@@ -5,8 +5,8 @@ import {
|
|
|
5
5
|
getAuthorizedOntologyView,
|
|
6
6
|
} from "../execution/authorized-object-reader"
|
|
7
7
|
import type { ValueType } from "../ontology"
|
|
8
|
-
import { assertObjectTypeRegistered } from "../ontology"
|
|
9
8
|
import type { ObjectTypeWithPropertyTokens } from "../ontology/tokens"
|
|
9
|
+
import { assertObjectTypeRegistered } from "../ontology/validation/properties"
|
|
10
10
|
import { shareOntologyMutationRuntime } from "../runtime/ontology-mutations"
|
|
11
11
|
import type {
|
|
12
12
|
ListResult,
|
package/src/ontology/index.ts
CHANGED
|
@@ -25,7 +25,7 @@ export type {
|
|
|
25
25
|
LinkPathSelectionMode,
|
|
26
26
|
} from "./link-path-selection"
|
|
27
27
|
export type { InferSchemaOrRef, ObjectRef, ObjectRefSchema, SchemaOrRef } from "./refs"
|
|
28
|
-
export { isObjectRefSchema, objectRef, ref
|
|
28
|
+
export { isObjectRefSchema, objectRef, ref } from "./refs"
|
|
29
29
|
export type {
|
|
30
30
|
LinkToken,
|
|
31
31
|
LinkTokenMap,
|
|
@@ -88,4 +88,3 @@ export {
|
|
|
88
88
|
valueTypeRef,
|
|
89
89
|
} from "./builders"
|
|
90
90
|
export * from "./units"
|
|
91
|
-
export * from "./validation"
|
package/src/ontology/internal.ts
CHANGED
|
@@ -1,2 +1,37 @@
|
|
|
1
1
|
export { schemaFieldsToJsonSchema, schemaRecordToJsonSchema } from "./json-schema"
|
|
2
|
+
export { validateSchemaOrRefValue } from "./refs"
|
|
2
3
|
export { createLinkTokenMap, createPropertyTokenMap } from "./tokens"
|
|
4
|
+
export {
|
|
5
|
+
assertLinkTargetType,
|
|
6
|
+
assertTargetTypeCompatible,
|
|
7
|
+
normalizeLinkProperties,
|
|
8
|
+
validateLinkProperties,
|
|
9
|
+
} from "./validation/links"
|
|
10
|
+
export {
|
|
11
|
+
coerceSchemaValueToTyped,
|
|
12
|
+
normalizeObjectProperties,
|
|
13
|
+
normalizeSchemaValue,
|
|
14
|
+
} from "./validation/normalize"
|
|
15
|
+
export {
|
|
16
|
+
assertKnownProperties,
|
|
17
|
+
assertLinkTokenBelongsToObjectType,
|
|
18
|
+
assertObjectTypeRegistered,
|
|
19
|
+
assertPropertyTokenBelongsToObjectType,
|
|
20
|
+
assertRequiredProperties,
|
|
21
|
+
validateObjectProperties,
|
|
22
|
+
validatePrimaryProperties,
|
|
23
|
+
validatePropertyDefinitions,
|
|
24
|
+
validatePropertyValue,
|
|
25
|
+
} from "./validation/properties"
|
|
26
|
+
export { validateQueryMetadata } from "./validation/query"
|
|
27
|
+
export {
|
|
28
|
+
isRecord,
|
|
29
|
+
resolveValueTypeRef,
|
|
30
|
+
resolveValueTypeSchema,
|
|
31
|
+
validateSchemaValue,
|
|
32
|
+
} from "./validation/schema"
|
|
33
|
+
export {
|
|
34
|
+
assertTelemetryProperty,
|
|
35
|
+
resolveSemanticType,
|
|
36
|
+
validateTelemetryUnit,
|
|
37
|
+
} from "./validation/telemetry"
|
|
@@ -144,6 +144,7 @@ async function persistProjectionRun(input: {
|
|
|
144
144
|
versionId: input.identity.datasetVersion.versionId,
|
|
145
145
|
},
|
|
146
146
|
correlationId: input.producerExecution?.correlationId ?? input.runId,
|
|
147
|
+
requesterGroupIds: input.producerExecution?.requesterGroupIds,
|
|
147
148
|
...(input.producerExecution?.requestedBy === undefined
|
|
148
149
|
? {}
|
|
149
150
|
: { requestedBy: input.producerExecution.requestedBy }),
|
package/src/query.ts
CHANGED
|
@@ -40,7 +40,6 @@ export type {
|
|
|
40
40
|
ObjectQueryTraverse,
|
|
41
41
|
ObjectQueryVector,
|
|
42
42
|
} from "./objects/query/ir"
|
|
43
|
-
export { normalizeObjectQuery } from "./objects/query/normalize"
|
|
44
43
|
export { createObjectQueryBuilder } from "./objects/sdk/query-builder"
|
|
45
44
|
export type {
|
|
46
45
|
ObjectQueryExecutor,
|
package/src/queues/index.ts
CHANGED
|
@@ -7,14 +7,16 @@ export type {
|
|
|
7
7
|
ModelRoute,
|
|
8
8
|
} from "../models"
|
|
9
9
|
export type { ModelProviderIds } from "../models/events"
|
|
10
|
+
export type {
|
|
11
|
+
AiModelCallAccountingPayload,
|
|
12
|
+
AiModelCallRecordPayload,
|
|
13
|
+
} from "../models/execution/types"
|
|
10
14
|
export type { ProviderScope } from "../provider-scope"
|
|
11
15
|
export { QueueError } from "./errors"
|
|
12
16
|
export { InMemoryQueues } from "./in-memory"
|
|
13
17
|
export type {
|
|
14
18
|
ActionQueueJobFailureCode,
|
|
15
19
|
ActionRunRequestedQueueJob,
|
|
16
|
-
AgentAiUsageAccountingPayload,
|
|
17
|
-
AgentAiUsageRecordPayload,
|
|
18
20
|
AgentAiUsageRecordRequestedQueueJob,
|
|
19
21
|
AgentQueueJob,
|
|
20
22
|
AgentQueueJobFailureCode,
|
package/src/queues/types.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import type { SixbErrorCode, SixbFailure } from "../errors/types"
|
|
2
2
|
import type { JsonValue } from "../json"
|
|
3
|
-
import type {
|
|
3
|
+
import type {
|
|
4
|
+
AiModelCallAccountingPayload,
|
|
5
|
+
AiModelCallRecordPayload,
|
|
6
|
+
} from "../models/execution/types"
|
|
4
7
|
import type { ProjectionRunFailureCode } from "../projections/types"
|
|
5
8
|
import type { ProviderScope } from "../provider-scope"
|
|
6
9
|
import type { ActionRunFailureCode } from "../storage/action-runs/types"
|
|
7
10
|
import type { AgentRunFailureCode } from "../storage/agents/types"
|
|
8
|
-
import type { RecordAiModelCallInput } from "../storage/ai-usage"
|
|
9
11
|
import type { PipelineRunFailureCode } from "../storage/pipeline-runs/types"
|
|
10
12
|
import type { SyncRunFailureCode } from "../storage/sync-runs/types"
|
|
11
13
|
import type { WorkflowRunFailureCode } from "../storage/workflow-runs/types"
|
|
@@ -210,33 +212,12 @@ export interface AgentWorkflowNodeRequestedQueueJob
|
|
|
210
212
|
}
|
|
211
213
|
> {}
|
|
212
214
|
|
|
213
|
-
/** JSON-safe representation of one model-call ledger append awaiting durable recovery. */
|
|
214
|
-
export type AgentAiUsageRecordPayload = Omit<
|
|
215
|
-
RecordAiModelCallInput,
|
|
216
|
-
"projectId" | "usage" | "occurredAt" | "recordedAt"
|
|
217
|
-
> & {
|
|
218
|
-
readonly usage: {
|
|
219
|
-
readonly [Field in keyof RecordAiModelCallInput["usage"]]: RecordAiModelCallInput["usage"][Field]
|
|
220
|
-
}
|
|
221
|
-
readonly occurredAt: string
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
export interface AgentAiUsageAccountingPayload {
|
|
225
|
-
readonly estimate?: ModelCostEstimate
|
|
226
|
-
readonly cost: ModelCallCost
|
|
227
|
-
readonly route?: ModelRoute
|
|
228
|
-
readonly ratedAt: string
|
|
229
|
-
/** Absent on pre-limit jobs; those model calls did not create a reservation. */
|
|
230
|
-
readonly reconcileLimitReservation?: boolean
|
|
231
|
-
}
|
|
232
|
-
|
|
233
215
|
export interface AgentAiUsageRecordRequestedQueueJob
|
|
234
216
|
extends QueueJob<
|
|
235
217
|
"agent.ai-usage.record.requested",
|
|
236
218
|
{
|
|
237
|
-
readonly record:
|
|
238
|
-
|
|
239
|
-
readonly accounting?: AgentAiUsageAccountingPayload
|
|
219
|
+
readonly record: AiModelCallRecordPayload
|
|
220
|
+
readonly accounting: AiModelCallAccountingPayload
|
|
240
221
|
}
|
|
241
222
|
> {}
|
|
242
223
|
|
package/src/runtime/create.ts
CHANGED
|
@@ -10,7 +10,8 @@ import type { ConnectorConnectionOptions, ConnectorDefinition } from "../connect
|
|
|
10
10
|
import type { DatasetDefinition } from "../datasets"
|
|
11
11
|
import type { SixbErrorHandler } from "../error-reporting/types"
|
|
12
12
|
import type { LakeStorage } from "../lake-storage"
|
|
13
|
-
import type { LoggerProvider
|
|
13
|
+
import type { LoggerProvider } from "../logging"
|
|
14
|
+
import type { ObservabilityOptions } from "../logging/service"
|
|
14
15
|
import type { OntologyMaintenanceOptions } from "../maintenance"
|
|
15
16
|
import type { ModelCatalogInput } from "../models"
|
|
16
17
|
import type { PipelineDefinition } from "../pipelines/types"
|
package/src/runtime/host.ts
CHANGED
|
@@ -43,7 +43,8 @@ import {
|
|
|
43
43
|
import { createAuthorizedObjectReader } from "../execution/authorized-object-reader"
|
|
44
44
|
import type { ExecutionScope } from "../execution/types"
|
|
45
45
|
import type { LakeStorage } from "../lake-storage"
|
|
46
|
-
import {
|
|
46
|
+
import type { LoggerProvider } from "../logging"
|
|
47
|
+
import { LoggingService, type ObservabilityOptions } from "../logging/service"
|
|
47
48
|
import {
|
|
48
49
|
OntologyMaintenance,
|
|
49
50
|
type OntologyMaintenanceHandle,
|
package/src/runtime/sixb.ts
CHANGED
|
@@ -16,6 +16,8 @@ import { assertAuthorizedObjectReaderBinding } from "../execution/authorized-obj
|
|
|
16
16
|
import type { LakeStorage } from "../lake-storage/types"
|
|
17
17
|
import { createLogsRuntime, type LogsRuntime } from "../logging/execution"
|
|
18
18
|
import type { LoggingService } from "../logging/service"
|
|
19
|
+
import { createModelsRuntime } from "../models/execution"
|
|
20
|
+
import type { ModelsRuntime } from "../models/generation-types"
|
|
19
21
|
import { createObjectsRuntime, type ObjectsRuntime } from "../objects/execution"
|
|
20
22
|
import { createPipelinesRuntime, type PipelinesRuntime } from "../pipelines/execution"
|
|
21
23
|
import { createProjectionsRuntime, type ProjectionsRuntime } from "../projections/execution"
|
|
@@ -42,6 +44,7 @@ export interface Sixb<
|
|
|
42
44
|
readonly projections: ProjectionsRuntime
|
|
43
45
|
readonly rules: RulesRuntime
|
|
44
46
|
readonly agent: AgentRuntime
|
|
47
|
+
readonly models: ModelsRuntime
|
|
45
48
|
readonly aiUsage: AiUsageRuntime
|
|
46
49
|
readonly events: EventsRuntime
|
|
47
50
|
readonly logs: LogsRuntime
|
|
@@ -118,6 +121,7 @@ function createExecutionFacades<TOntologySources extends readonly OntologySource
|
|
|
118
121
|
projections: createProjectionsRuntime(runtime, dependencies.definitions.projections),
|
|
119
122
|
rules: createRulesRuntime(runtime, dependencies.definitions.rules),
|
|
120
123
|
agent: createAgentRuntime(runtime, execution, dependencies.definitions.models),
|
|
124
|
+
models: createModelsRuntime(runtime, execution, dependencies.definitions.models),
|
|
121
125
|
aiUsage: createAiUsageRuntime(runtime, dependencies.definitions.security),
|
|
122
126
|
events: createEventsRuntime(runtime),
|
|
123
127
|
logs: createLogsRuntime(runtime, dependencies.logging),
|
package/src/sandboxes/errors.ts
CHANGED
|
@@ -6,6 +6,11 @@ export class SandboxError extends Error {
|
|
|
6
6
|
readonly name: string = "SandboxError"
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
+
/** The named sandbox or its saved filesystem no longer exists. Explicit recreation is required. */
|
|
10
|
+
export class SandboxStateUnavailableError extends SandboxError {
|
|
11
|
+
override readonly name = "SandboxStateUnavailableError"
|
|
12
|
+
}
|
|
13
|
+
|
|
9
14
|
/** runCommand / stop / destroy called after the sandbox is stopped or destroyed. */
|
|
10
15
|
export class SandboxNotRunningError extends SandboxError {
|
|
11
16
|
override readonly name = "SandboxNotRunningError"
|
package/src/sandboxes/index.ts
CHANGED
|
@@ -2,6 +2,7 @@ export {
|
|
|
2
2
|
SandboxError,
|
|
3
3
|
SandboxIsolationUnavailableError,
|
|
4
4
|
SandboxNotRunningError,
|
|
5
|
+
SandboxStateUnavailableError,
|
|
5
6
|
SandboxTimeoutError,
|
|
6
7
|
} from "./errors"
|
|
7
8
|
export type { ExecOptions } from "./exec"
|
|
@@ -9,11 +10,13 @@ export { exec } from "./exec"
|
|
|
9
10
|
export type {
|
|
10
11
|
CommandResult,
|
|
11
12
|
CreateSandboxOptions,
|
|
13
|
+
ResumeSandboxOptions,
|
|
12
14
|
RunCommandOptions,
|
|
13
15
|
Sandbox,
|
|
14
16
|
SandboxFactory,
|
|
15
17
|
SandboxFileRecord,
|
|
16
18
|
SandboxNetworkPolicy,
|
|
17
19
|
SandboxNetworkTarget,
|
|
20
|
+
SandboxSessionOptions,
|
|
18
21
|
SandboxStatus,
|
|
19
22
|
} from "./sandbox"
|
package/src/sandboxes/sandbox.ts
CHANGED
|
@@ -72,17 +72,25 @@ export interface SandboxNetworkTarget {
|
|
|
72
72
|
readonly origin: string
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
/**
|
|
76
|
-
|
|
77
|
-
* may extend this type with their own options.
|
|
78
|
-
*/
|
|
79
|
-
export interface CreateSandboxOptions {
|
|
75
|
+
/** Current execution defaults, supplied on both creation and resume, never recovered from files. */
|
|
76
|
+
export interface SandboxSessionOptions {
|
|
80
77
|
readonly workingDirectory?: string
|
|
81
78
|
readonly env?: Readonly<Record<string, string>>
|
|
82
79
|
readonly timeout?: number
|
|
83
80
|
readonly network?: SandboxNetworkPolicy
|
|
84
81
|
}
|
|
85
82
|
|
|
83
|
+
/** Options accepted by every SandboxFactory.create. */
|
|
84
|
+
export interface CreateSandboxOptions extends SandboxSessionOptions {
|
|
85
|
+
/** Create new named state; reject an existing name or unsupported persistence before provisioning. */
|
|
86
|
+
readonly persistence?: { readonly name: string }
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** Resume changes execution defaults, not the identity or creation configuration of saved state. */
|
|
90
|
+
export interface ResumeSandboxOptions extends SandboxSessionOptions {
|
|
91
|
+
readonly persistence?: never
|
|
92
|
+
}
|
|
93
|
+
|
|
86
94
|
export interface Sandbox {
|
|
87
95
|
readonly id: string
|
|
88
96
|
/** Provider id matching the package suffix, for example "local". */
|
|
@@ -109,16 +117,36 @@ export interface Sandbox {
|
|
|
109
117
|
*/
|
|
110
118
|
writeFiles(files: readonly SandboxFileRecord[]): Promise<void>
|
|
111
119
|
|
|
112
|
-
/**
|
|
120
|
+
/** Stop this session; subsequent operations reject. Idempotent.
|
|
121
|
+
* Persistent handles confirm preservation and share the outcome, including failure,
|
|
122
|
+
* across repeated/concurrent calls.
|
|
123
|
+
*/
|
|
113
124
|
stop(): Promise<void>
|
|
114
|
-
/** Stop and reclaim
|
|
125
|
+
/** Stop and reclaim resources, permanently deleting named state when persistent. Idempotent.
|
|
126
|
+
* Requires exclusive lifecycle ownership, including after stop(); never routine persistent teardown.
|
|
127
|
+
*/
|
|
115
128
|
destroy(): Promise<void>
|
|
116
129
|
}
|
|
117
130
|
|
|
118
131
|
/**
|
|
119
132
|
* What createSixb({ sandboxes }) accepts. Provider-specific factories hold
|
|
120
133
|
* their defaults set once and expose create(options) for each run.
|
|
134
|
+
* Persistent files are retention-bound, not a durable file store or a distributed lock.
|
|
135
|
+
* Callers own namespacing and must serialize the entire create/resume/use/stop/destroy lifecycle.
|
|
136
|
+
* Credentials and current authority must be supplied again, never inferred from saved files.
|
|
121
137
|
*/
|
|
122
138
|
export interface SandboxFactory {
|
|
139
|
+
/** Create an ephemeral sandbox unless persistence is requested. Existing names must fail,
|
|
140
|
+
* never attach or overwrite. Unsupported providers must reject persistence before provisioning.
|
|
141
|
+
* A persistent handle targets one session; operations must not automatically resume another VM.
|
|
142
|
+
*/
|
|
123
143
|
create(options?: CreateSandboxOptions): Promise<Sandbox>
|
|
144
|
+
/**
|
|
145
|
+
* Present only when named persistent creation and resume are supported.
|
|
146
|
+
* Resume an existing, stopped sandbox. Missing/expired state throws SandboxStateUnavailableError;
|
|
147
|
+
* it must never create an empty replacement. An already running sandbox must be rejected.
|
|
148
|
+
* Returns a handle bound to the resumed session, with no automatic resume on use.
|
|
149
|
+
* Runtime options must be provided again; no creation settings or persistence option are accepted.
|
|
150
|
+
*/
|
|
151
|
+
resume?(name: string, options?: ResumeSandboxOptions): Promise<Sandbox>
|
|
124
152
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AGENT_MESSAGE_CONTENT_VERSION } from "../../agents/message"
|
|
2
2
|
import { principalsEqual } from "../../auth"
|
|
3
|
-
import { normalizeRequesterGroupIds } from "../../auth/attribution"
|
|
4
3
|
import { parseSixbFailure } from "../../errors/internal"
|
|
5
4
|
import type { SixbFailure } from "../../errors/types"
|
|
6
5
|
import type { ExecutionStorage } from "../executions"
|
|
@@ -234,7 +233,6 @@ class InMemoryAgentRunStore implements AgentRunStore {
|
|
|
234
233
|
threadId: input.threadId,
|
|
235
234
|
triggerMessageId: input.triggerMessageId,
|
|
236
235
|
spec: clone(input.spec),
|
|
237
|
-
requesterGroupIds: normalizeRequesterGroupIds(input.requesterGroupIds),
|
|
238
236
|
status: "queued",
|
|
239
237
|
attempt: 0,
|
|
240
238
|
createdAt,
|
|
@@ -330,7 +328,6 @@ class InMemoryAgentRunStore implements AgentRunStore {
|
|
|
330
328
|
parentRunId: input.parentRunId,
|
|
331
329
|
spawnKey: input.spawnKey,
|
|
332
330
|
spec: clone(input.spec),
|
|
333
|
-
requesterGroupIds: clone(parent.requesterGroupIds),
|
|
334
331
|
status: "queued",
|
|
335
332
|
attempt: 0,
|
|
336
333
|
createdAt: new Date(input.createdAt ?? new Date()),
|
|
@@ -148,8 +148,6 @@ interface AgentRunRecordBase {
|
|
|
148
148
|
readonly id: string
|
|
149
149
|
readonly projectId: string
|
|
150
150
|
readonly executionId: string
|
|
151
|
-
/** Durable group memberships snapshotted when the run was admitted. */
|
|
152
|
-
readonly requesterGroupIds: readonly string[]
|
|
153
151
|
readonly status: AgentRunStatus
|
|
154
152
|
readonly modelId?: string
|
|
155
153
|
/** Why the run ended (our own SDK-independent enum). */
|
|
@@ -215,7 +213,6 @@ export interface CreateAgentRunInput {
|
|
|
215
213
|
readonly threadId: string
|
|
216
214
|
readonly triggerMessageId: string
|
|
217
215
|
readonly spec: ConversationAgentRunSpec
|
|
218
|
-
readonly requesterGroupIds: readonly string[]
|
|
219
216
|
readonly createdAt?: Date
|
|
220
217
|
}
|
|
221
218
|
|
|
@@ -168,7 +168,7 @@ export function buildAiAccountingOverview(
|
|
|
168
168
|
item
|
|
169
169
|
)
|
|
170
170
|
}
|
|
171
|
-
if (item.attribution?.kind === "workflowAgent") {
|
|
171
|
+
if (item.attribution?.kind === "workflowAgent" || item.attribution?.kind === "workflow") {
|
|
172
172
|
appendGrouped(workflowItems, item.attribution.workflowId, item)
|
|
173
173
|
}
|
|
174
174
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AiAccountingAttribution } from "./types"
|
|
2
|
+
|
|
3
|
+
/** Direct calls are identified by durable provenance, even when their run has been removed. */
|
|
4
|
+
export function directModelCallAttribution(
|
|
5
|
+
kind: string | null,
|
|
6
|
+
id: string | null,
|
|
7
|
+
primitiveId: string | null
|
|
8
|
+
): AiAccountingAttribution | undefined {
|
|
9
|
+
if (!id) return undefined
|
|
10
|
+
if (kind === "request") return { kind, requestId: id }
|
|
11
|
+
if (kind === "action" && primitiveId) return { kind, actionId: primitiveId, actionRunId: id }
|
|
12
|
+
if (kind === "workflow" && primitiveId)
|
|
13
|
+
return { kind, workflowId: primitiveId, workflowRunId: id }
|
|
14
|
+
return undefined
|
|
15
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AiAccountingRecordSetItem } from "./analytics"
|
|
2
2
|
import { aiAccountingItemMatchesQuery, normalizeAiModelCallAccountingQuery } from "./analytics"
|
|
3
|
+
import { directModelCallAttribution } from "./attribution"
|
|
3
4
|
import type {
|
|
4
5
|
AiAccountingAttribution,
|
|
5
6
|
AiBillingIdentity,
|
|
@@ -56,12 +57,15 @@ export interface AiModelCallGroupRow {
|
|
|
56
57
|
readonly workflow_node_run_id: string | null
|
|
57
58
|
readonly workflow_id: string | null
|
|
58
59
|
readonly workflow_run_id: string | null
|
|
60
|
+
readonly executor_kind: string | null
|
|
61
|
+
readonly executor_id: string | null
|
|
62
|
+
readonly primitive_id: string | null
|
|
59
63
|
}
|
|
60
64
|
|
|
61
65
|
export function aiModelCallGroupFragmentFromRow(
|
|
62
66
|
row: AiModelCallGroupRow
|
|
63
67
|
): AiModelCallGroupFragment {
|
|
64
|
-
let attribution
|
|
68
|
+
let attribution = directModelCallAttribution(row.executor_kind, row.executor_id, row.primitive_id)
|
|
65
69
|
if (row.root_agent_run_id && row.root_thread_id) {
|
|
66
70
|
attribution = {
|
|
67
71
|
kind: "agent",
|
|
@@ -12,6 +12,7 @@ export {
|
|
|
12
12
|
normalizeAiModelCallAccountingQuery,
|
|
13
13
|
toAccountingItem,
|
|
14
14
|
} from "./analytics"
|
|
15
|
+
export { directModelCallAttribution } from "./attribution"
|
|
15
16
|
export type { AiModelCallCostDetails } from "./codec"
|
|
16
17
|
export { aiModelCallCostDetails, parseAiModelCallCostDetails } from "./codec"
|
|
17
18
|
export type {
|
|
@@ -181,7 +181,14 @@ export interface AiAccountingOverview {
|
|
|
181
181
|
readonly workflows: readonly AiAccountingWorkflowBreakdown[]
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
+
/**
|
|
185
|
+
* The execution that made the model call, rather than the request that triggered its work.
|
|
186
|
+
* `request` identifies a direct call from a request-bound SDK, outside an action or workflow.
|
|
187
|
+
*/
|
|
184
188
|
export type AiAccountingAttribution =
|
|
189
|
+
| { readonly kind: "request"; readonly requestId: string }
|
|
190
|
+
| { readonly kind: "action"; readonly actionId: string; readonly actionRunId: string }
|
|
191
|
+
| { readonly kind: "workflow"; readonly workflowId: string; readonly workflowRunId: string }
|
|
185
192
|
| {
|
|
186
193
|
readonly kind: "agent"
|
|
187
194
|
readonly agentRunId: string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { InMemoryAuthStorage } from "./in-memory/
|
|
1
|
+
export { InMemoryAuthStorage } from "./in-memory/auth-storage"
|
|
@@ -2,11 +2,7 @@ import type { AuthStorage } from "../auth"
|
|
|
2
2
|
import type { ShareSessionStorage } from "../share-sessions"
|
|
3
3
|
import { ExecutionStorageError } from "./errors"
|
|
4
4
|
import type { CreateExecutionInput, ExecutionRecord, ExecutionStorage } from "./types"
|
|
5
|
-
import {
|
|
6
|
-
cloneExecutionRecord,
|
|
7
|
-
normalizeExecutionRecord,
|
|
8
|
-
validateExecutionRecordReferences,
|
|
9
|
-
} from "./validation"
|
|
5
|
+
import { cloneExecutionRecord, prepareExecutionRecord } from "./validation"
|
|
10
6
|
|
|
11
7
|
type RunRootOperation = <T>(run: () => Promise<T> | T) => Promise<T>
|
|
12
8
|
|
|
@@ -45,16 +41,15 @@ export class InMemoryExecutionStorage implements ExecutionStorage {
|
|
|
45
41
|
|
|
46
42
|
async create(input: CreateExecutionInput): Promise<ExecutionRecord> {
|
|
47
43
|
return this.runRootOperation(async () => {
|
|
48
|
-
const
|
|
49
|
-
const key = executionKey(record.projectId, record.id)
|
|
44
|
+
const key = executionKey(input.projectId, input.id)
|
|
50
45
|
if (this.rows.has(key)) {
|
|
51
46
|
throw new ExecutionStorageError(
|
|
52
47
|
"duplicate_execution",
|
|
53
|
-
`[Sixb] Execution '${
|
|
48
|
+
`[Sixb] Execution '${input.id}' already exists in project '${input.projectId}'.`
|
|
54
49
|
)
|
|
55
50
|
}
|
|
56
51
|
|
|
57
|
-
await
|
|
52
|
+
const record = await prepareExecutionRecord(input, {
|
|
58
53
|
auth: this.auth,
|
|
59
54
|
getExecution: async ({ projectId, id }) => {
|
|
60
55
|
const existing = this.rows.get(executionKey(projectId, id))
|
|
@@ -6,6 +6,7 @@ import { normalizeExecutionRecord } from "./validation"
|
|
|
6
6
|
export {
|
|
7
7
|
type ExecutionValidationLookup,
|
|
8
8
|
normalizeExecutionRecord,
|
|
9
|
+
prepareExecutionRecord,
|
|
9
10
|
validateExecutionRecordReferences,
|
|
10
11
|
} from "./validation"
|
|
11
12
|
|
|
@@ -19,6 +20,7 @@ export interface ExecutionStorageRow {
|
|
|
19
20
|
readonly sourceId: string
|
|
20
21
|
readonly requestedByUserId: string | null
|
|
21
22
|
readonly requestedByServiceAccountId: string | null
|
|
23
|
+
readonly requesterGroupIds: readonly string[]
|
|
22
24
|
readonly correlationId: string
|
|
23
25
|
/** SQL-only projection of an execution source, used to enforce the parent foreign key. */
|
|
24
26
|
readonly parentExecutionId: string | null
|
|
@@ -43,6 +45,7 @@ export function executionRecordToStorageRow(record: ExecutionRecord): ExecutionS
|
|
|
43
45
|
return {
|
|
44
46
|
projectId: record.projectId,
|
|
45
47
|
id: record.id,
|
|
48
|
+
requesterGroupIds: [...record.requesterGroupIds],
|
|
46
49
|
...executor,
|
|
47
50
|
...source,
|
|
48
51
|
requestedByUserId: record.requestedBy?.type === "user" ? record.requestedBy.id : null,
|
|
@@ -70,6 +73,7 @@ export function executionRecordFromStorageRow(row: ExecutionStorageRow): Executi
|
|
|
70
73
|
{
|
|
71
74
|
id: row.id,
|
|
72
75
|
projectId: row.projectId,
|
|
76
|
+
requesterGroupIds: row.requesterGroupIds,
|
|
73
77
|
...(requestedBy === undefined ? {} : { requestedBy }),
|
|
74
78
|
executor,
|
|
75
79
|
source,
|