@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
package/src/agents/validation.ts
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import { getInvalidJsonValueReason, isPlainRecord, type JsonValue } from "../json"
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
OntologyValidationError,
|
|
6
|
-
type ValueType,
|
|
7
|
-
validateSchemaValue,
|
|
8
|
-
} from "../ontology"
|
|
9
|
-
import type { GroupDefinition } from "../security"
|
|
2
|
+
import { type ObjectSchema, OntologyValidationError, type ValueType } from "../ontology"
|
|
3
|
+
import { normalizeSchemaValue } from "../ontology/validation/normalize"
|
|
4
|
+
import { validateSchemaValue } from "../ontology/validation/schema"
|
|
10
5
|
import { AgentDefinitionError } from "./errors"
|
|
11
6
|
import type { AgentToolDefinition, AgentToolInputSchema } from "./types"
|
|
12
7
|
|
|
@@ -31,12 +26,6 @@ export const AGENT_RESERVED_TOOL_NAMES = [
|
|
|
31
26
|
"wait_agent",
|
|
32
27
|
] as const
|
|
33
28
|
|
|
34
|
-
export function assertNonEmpty(value: string, field: string): void {
|
|
35
|
-
if (!value.trim()) {
|
|
36
|
-
throw new AgentDefinitionError(`[Sixb] Agent ${field} must not be empty.`)
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
29
|
export function isAgentToolDefinition(value: unknown): value is AgentToolDefinition {
|
|
41
30
|
return (
|
|
42
31
|
isRecord(value) &&
|
|
@@ -126,38 +115,6 @@ export function validateAndNormalizeAgentToolInput(
|
|
|
126
115
|
)
|
|
127
116
|
}
|
|
128
117
|
|
|
129
|
-
export function groupIdsFromDefinitions(
|
|
130
|
-
agentId: string,
|
|
131
|
-
groups: readonly GroupDefinition[] | undefined
|
|
132
|
-
): readonly string[] {
|
|
133
|
-
const groupIds = (groups ?? []).map((group) => {
|
|
134
|
-
if (!isRecord(group) || group.kind !== "group") {
|
|
135
|
-
throw new AgentDefinitionError(
|
|
136
|
-
`[Sixb] Agent '${agentId}' groups must contain only group definitions.`
|
|
137
|
-
)
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
assertNonEmpty(group.id, `Agent '${agentId}' group id`)
|
|
141
|
-
return group.id
|
|
142
|
-
})
|
|
143
|
-
|
|
144
|
-
assertNoDuplicateGroupIds(agentId, groupIds)
|
|
145
|
-
return Object.freeze(groupIds)
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
function assertNoDuplicateGroupIds(agentId: string, groupIds: readonly string[]): void {
|
|
149
|
-
const seen = new Set<string>()
|
|
150
|
-
for (const groupId of groupIds) {
|
|
151
|
-
assertNonEmpty(groupId, `Agent '${agentId}' group id`)
|
|
152
|
-
if (seen.has(groupId)) {
|
|
153
|
-
throw new AgentDefinitionError(
|
|
154
|
-
`[Sixb] Agent '${agentId}' groups contains duplicate group id '${groupId}'.`
|
|
155
|
-
)
|
|
156
|
-
}
|
|
157
|
-
seen.add(groupId)
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
118
|
function assertValidAgentToolSchema(
|
|
162
119
|
toolName: string,
|
|
163
120
|
schema: unknown,
|
|
@@ -238,45 +195,25 @@ function invalidAgentToolSchema(toolName: string, path: string): AgentDefinition
|
|
|
238
195
|
)
|
|
239
196
|
}
|
|
240
197
|
|
|
241
|
-
export function assertValidAgentToolDefinitions(
|
|
242
|
-
agentId: string,
|
|
243
|
-
tools: readonly AgentToolDefinition[]
|
|
244
|
-
): void {
|
|
245
|
-
assertValidAgentToolDefinitionList(tools, {
|
|
246
|
-
invalidDefinitions: `[Sixb] Agent '${agentId}' tools must contain only agent tool definitions.`,
|
|
247
|
-
duplicateName: (name) =>
|
|
248
|
-
`[Sixb] Agent '${agentId}' tools contains duplicate tool name '${name}'.`,
|
|
249
|
-
})
|
|
250
|
-
}
|
|
251
|
-
|
|
252
198
|
export function assertValidProjectAgentToolDefinitions(
|
|
253
199
|
tools: readonly AgentToolDefinition[]
|
|
254
|
-
): void {
|
|
255
|
-
assertValidAgentToolDefinitionList(tools, {
|
|
256
|
-
invalidDefinitions: "[Sixb] Project tools must contain only agent tool definitions.",
|
|
257
|
-
duplicateName: (name) => `[Sixb] Project tools contain duplicate tool name '${name}'.`,
|
|
258
|
-
})
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
function assertValidAgentToolDefinitionList(
|
|
262
|
-
tools: readonly AgentToolDefinition[],
|
|
263
|
-
messages: {
|
|
264
|
-
readonly invalidDefinitions: string
|
|
265
|
-
readonly duplicateName: (name: string) => string
|
|
266
|
-
}
|
|
267
200
|
): void {
|
|
268
201
|
const seen = new Set<string>()
|
|
269
202
|
for (let index = 0; index < tools.length; index += 1) {
|
|
270
203
|
const tool = tools[index]
|
|
271
204
|
if (!Object.hasOwn(tools, index) || !isAgentToolDefinition(tool)) {
|
|
272
|
-
throw new AgentDefinitionError(
|
|
205
|
+
throw new AgentDefinitionError(
|
|
206
|
+
"[Sixb] Project tools must contain only agent tool definitions."
|
|
207
|
+
)
|
|
273
208
|
}
|
|
274
209
|
|
|
275
210
|
assertValidAgentToolName(tool.name)
|
|
276
211
|
assertValidAgentToolDescription(tool.name, tool.description)
|
|
277
212
|
assertValidAgentToolInput(tool.name, tool.input)
|
|
278
213
|
if (seen.has(tool.name)) {
|
|
279
|
-
throw new AgentDefinitionError(
|
|
214
|
+
throw new AgentDefinitionError(
|
|
215
|
+
`[Sixb] Project tools contain duplicate tool name '${tool.name}'.`
|
|
216
|
+
)
|
|
280
217
|
}
|
|
281
218
|
seen.add(tool.name)
|
|
282
219
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto"
|
|
2
|
-
import { assertAuthorized,
|
|
2
|
+
import { assertAuthorized, isRuntimeAllowed } from "../authorization"
|
|
3
3
|
import type { SixbRuntimeContext } from "../runtime/types"
|
|
4
4
|
import type { SecurityDefinitionCatalog } from "../security"
|
|
5
5
|
import type {
|
|
@@ -87,11 +87,9 @@ export function createAiUsageRuntime(
|
|
|
87
87
|
const assertObservable = () => assertAuthorized(runtime, { kind: "aiUsage.observe" })
|
|
88
88
|
const assertManageable = () => assertAuthorized(runtime, { kind: "aiUsage.manage" })
|
|
89
89
|
const assertPolicyReadable = () => {
|
|
90
|
-
const resolved = assertRuntimeAuthorizationBound(runtime)
|
|
91
90
|
if (
|
|
92
|
-
|
|
93
|
-
!
|
|
94
|
-
!isAllowed(resolved.context, { kind: "aiUsage.manage" })
|
|
91
|
+
!isRuntimeAllowed(runtime, { kind: "aiUsage.observe" }) &&
|
|
92
|
+
!isRuntimeAllowed(runtime, { kind: "aiUsage.manage" })
|
|
95
93
|
) {
|
|
96
94
|
assertObservable()
|
|
97
95
|
}
|
|
@@ -114,12 +112,7 @@ export function createAiUsageRuntime(
|
|
|
114
112
|
limitsConfigured: runtime.storage.aiLimits !== undefined,
|
|
115
113
|
assertObservable,
|
|
116
114
|
assertManageable,
|
|
117
|
-
canManageLimits: () => {
|
|
118
|
-
const resolved = assertRuntimeAuthorizationBound(runtime)
|
|
119
|
-
return (
|
|
120
|
-
resolved.type !== "principal" || isAllowed(resolved.context, { kind: "aiUsage.manage" })
|
|
121
|
-
)
|
|
122
|
-
},
|
|
115
|
+
canManageLimits: () => isRuntimeAllowed(runtime, { kind: "aiUsage.manage" }),
|
|
123
116
|
queryOverview: (input) => {
|
|
124
117
|
assertObservable()
|
|
125
118
|
return requireCosts().queryProjectOverview({ ...input, projectId: runtime.projectId })
|
package/src/auth/index.ts
CHANGED
|
@@ -9,7 +9,6 @@ export {
|
|
|
9
9
|
parseAccessTokenValue,
|
|
10
10
|
SERVICE_ACCOUNT_ACCESS_TOKEN_PREFIX,
|
|
11
11
|
} from "./access-tokens"
|
|
12
|
-
export { normalizeRequesterGroupIds, snapshotRequesterGroupIds } from "./attribution"
|
|
13
12
|
export type { AuthSessionAudience, AuthSessionAudienceOptions } from "./audience"
|
|
14
13
|
export {
|
|
15
14
|
DEFAULT_AUTH_SESSION_AUDIENCE,
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
import type { AuthSessionAudience } from "../auth/audience"
|
|
14
14
|
import {
|
|
15
15
|
type ResolvedRuntimeAuthorization,
|
|
16
|
-
|
|
16
|
+
resolveExecutionScopeAuthorization,
|
|
17
|
+
resolveRuntimeAuthorizationForProject,
|
|
17
18
|
} from "../execution/authorization"
|
|
18
19
|
import type { ExecutionContext, RuntimeAuthorization } from "../execution/types"
|
|
19
20
|
import { AuthorizationError } from "./errors"
|
|
@@ -28,6 +29,7 @@ export type AuthzRequest =
|
|
|
28
29
|
| { readonly kind: "object.edit"; readonly objectTypeId: string }
|
|
29
30
|
| { readonly kind: "telemetry.append"; readonly objectTypeId: string }
|
|
30
31
|
| { readonly kind: "action.apply"; readonly actionId: string }
|
|
32
|
+
| { readonly kind: "share.manage"; readonly shareId: string }
|
|
31
33
|
| { readonly kind: "workflow.run"; readonly workflowId: string }
|
|
32
34
|
| { readonly kind: "sync.run"; readonly syncId: string }
|
|
33
35
|
| { readonly kind: "pipeline.run"; readonly pipelineId: string }
|
|
@@ -47,6 +49,7 @@ export interface AuthzDecision {
|
|
|
47
49
|
}
|
|
48
50
|
|
|
49
51
|
interface AuthorizedRuntime {
|
|
52
|
+
readonly projectId: string
|
|
50
53
|
readonly runtimeAuthorization?: RuntimeAuthorization
|
|
51
54
|
readonly authorization?: AuthorizationContext
|
|
52
55
|
}
|
|
@@ -73,6 +76,8 @@ function atomsFor(request: AuthzRequest): readonly Atom[] {
|
|
|
73
76
|
return [{ kind: "append:telemetry", id: request.objectTypeId }]
|
|
74
77
|
case "action.apply":
|
|
75
78
|
return [{ kind: "apply:action", id: request.actionId }]
|
|
79
|
+
case "share.manage":
|
|
80
|
+
return [{ kind: "share:share", id: request.shareId }]
|
|
76
81
|
case "workflow.run":
|
|
77
82
|
return [{ kind: "run:workflow", id: request.workflowId }]
|
|
78
83
|
case "sync.run":
|
|
@@ -133,6 +138,12 @@ export function isAllowed(
|
|
|
133
138
|
|
|
134
139
|
export function assertAuthorized(runtime: AuthorizedRuntime, request: AuthzRequest): void {
|
|
135
140
|
const resolved = assertRuntimeAuthorizationBound(runtime)
|
|
141
|
+
if (resolved.type === "delegated") {
|
|
142
|
+
throw new AuthorizationError(
|
|
143
|
+
`delegated:${request.kind}`,
|
|
144
|
+
`[Sixb] Operation '${request.kind}' is not covered by delegated authorization.`
|
|
145
|
+
)
|
|
146
|
+
}
|
|
136
147
|
const authorization = resolved.type === "principal" ? resolved.context : undefined
|
|
137
148
|
const decision = evaluate(authorization, request)
|
|
138
149
|
if (decision.allowed) {
|
|
@@ -145,11 +156,18 @@ export function assertAuthorized(runtime: AuthorizedRuntime, request: AuthzReque
|
|
|
145
156
|
)
|
|
146
157
|
}
|
|
147
158
|
|
|
159
|
+
/** Runtime catalogs never infer unrestricted access from an absent principal context. */
|
|
160
|
+
export function isRuntimeAllowed(runtime: AuthorizedRuntime, request: AuthzRequest): boolean {
|
|
161
|
+
const authority = resolveRuntimeAuthorizationForProject(runtime)
|
|
162
|
+
if (authority.type === "denied" || authority.type === "delegated") return false
|
|
163
|
+
return authority.type === "unrestricted" || isAllowed(authority.context, request)
|
|
164
|
+
}
|
|
165
|
+
|
|
148
166
|
/** Resolve registered process-local authority before a protected leaf makes a decision. */
|
|
149
167
|
export function assertRuntimeAuthorizationBound(
|
|
150
168
|
runtime: AuthorizedRuntime
|
|
151
169
|
): Exclude<ResolvedRuntimeAuthorization, { readonly type: "denied" }> {
|
|
152
|
-
const resolved =
|
|
170
|
+
const resolved = resolveRuntimeAuthorizationForProject(runtime)
|
|
153
171
|
if (resolved.type === "denied") {
|
|
154
172
|
throw new AuthorizationError(
|
|
155
173
|
"runtime:unbound",
|
|
@@ -218,27 +236,22 @@ export function assertPrivileged(runtime: AuthorizedRuntime, operation: string):
|
|
|
218
236
|
* Assert access to process providers that trusted executions and genuine agent runs may use.
|
|
219
237
|
*
|
|
220
238
|
* Agent provenance alone is not authority: the registered capability must be bound to the exact
|
|
221
|
-
* same execution
|
|
239
|
+
* same immutable execution before this check succeeds.
|
|
222
240
|
*/
|
|
223
241
|
export function assertProviderAccess(
|
|
224
|
-
runtime: AuthorizedRuntime,
|
|
242
|
+
runtime: AuthorizedRuntime & { readonly runtimeAuthorization: RuntimeAuthorization },
|
|
225
243
|
execution: ExecutionContext,
|
|
226
244
|
operation: string
|
|
227
245
|
): void {
|
|
228
|
-
const resolved =
|
|
246
|
+
const resolved = resolveExecutionScopeAuthorization(runtime.projectId, {
|
|
247
|
+
execution,
|
|
248
|
+
authorization: runtime.runtimeAuthorization,
|
|
249
|
+
})
|
|
229
250
|
if (resolved.type === "unrestricted") {
|
|
230
251
|
return
|
|
231
252
|
}
|
|
232
253
|
|
|
233
|
-
|
|
234
|
-
const executor = execution.executor
|
|
235
|
-
if (
|
|
236
|
-
binding?.type === "agent" &&
|
|
237
|
-
executor.type === "agent" &&
|
|
238
|
-
binding.executionId === execution.id &&
|
|
239
|
-
binding.actorId === executor.actorId &&
|
|
240
|
-
binding.runId === executor.runId
|
|
241
|
-
) {
|
|
254
|
+
if (execution.executor.type === "agent") {
|
|
242
255
|
return
|
|
243
256
|
}
|
|
244
257
|
|
|
@@ -266,6 +279,8 @@ function deniedMessage(
|
|
|
266
279
|
return `[Sixb] Principal '${principalId}' is not allowed to append telemetry for object type '${request.objectTypeId}'.`
|
|
267
280
|
case "action.apply":
|
|
268
281
|
return `[Sixb] Principal '${principalId}' is not allowed to apply action '${request.actionId}'.`
|
|
282
|
+
case "share.manage":
|
|
283
|
+
return `[Sixb] Principal '${principalId}' is not allowed to manage Share '${request.shareId}'.`
|
|
269
284
|
case "workflow.run":
|
|
270
285
|
return `[Sixb] Principal '${principalId}' is not allowed to run workflow '${request.workflowId}'.`
|
|
271
286
|
case "sync.run":
|
|
@@ -17,6 +17,7 @@ export type GrantKind =
|
|
|
17
17
|
| "edit:object"
|
|
18
18
|
| "append:telemetry"
|
|
19
19
|
| "apply:action"
|
|
20
|
+
| "share:share"
|
|
20
21
|
| "run:workflow"
|
|
21
22
|
| "run:sync"
|
|
22
23
|
| "run:pipeline"
|
|
@@ -35,6 +36,7 @@ export interface GrantUniverse {
|
|
|
35
36
|
readonly objectTypeIds: ReadonlySet<string>
|
|
36
37
|
readonly datasetIds: ReadonlySet<string>
|
|
37
38
|
readonly actionIds: ReadonlySet<string>
|
|
39
|
+
readonly shareIds: ReadonlySet<string>
|
|
38
40
|
readonly workflowIds: ReadonlySet<string>
|
|
39
41
|
readonly syncIds: ReadonlySet<string>
|
|
40
42
|
readonly pipelineIds: ReadonlySet<string>
|
|
@@ -108,6 +110,11 @@ export const GRANT_KINDS: {
|
|
|
108
110
|
subject: "action",
|
|
109
111
|
fix: "Add it to 'actions/' or pass it to createSixb({ actions }).",
|
|
110
112
|
},
|
|
113
|
+
"share:share": {
|
|
114
|
+
universeKey: "shareIds",
|
|
115
|
+
subject: "share",
|
|
116
|
+
fix: "Add it to 'shares/' or pass it to createSixb({ shares }).",
|
|
117
|
+
},
|
|
111
118
|
"run:workflow": {
|
|
112
119
|
universeKey: "workflowIds",
|
|
113
120
|
subject: "workflow",
|
|
@@ -171,6 +178,8 @@ export function grantKindOf(grant: GrantDefinition): GrantKind {
|
|
|
171
178
|
return "append:telemetry"
|
|
172
179
|
case "apply":
|
|
173
180
|
return "apply:action"
|
|
181
|
+
case "share":
|
|
182
|
+
return "share:share"
|
|
174
183
|
case "run":
|
|
175
184
|
return `run:${grant.target}`
|
|
176
185
|
case "observe":
|
|
@@ -193,6 +202,7 @@ export function emptyGrantSets(): MutableGrantIndex {
|
|
|
193
202
|
"edit:object": new Set(),
|
|
194
203
|
"append:telemetry": new Set(),
|
|
195
204
|
"apply:action": new Set(),
|
|
205
|
+
"share:share": new Set(),
|
|
196
206
|
"run:workflow": new Set(),
|
|
197
207
|
"run:sync": new Set(),
|
|
198
208
|
"run:pipeline": new Set(),
|
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
* for the `Sixb` constructor.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import { AsyncLocalStorage } from "node:async_hooks"
|
|
9
10
|
import { readdir } from "node:fs/promises"
|
|
10
|
-
import { join, relative } from "node:path"
|
|
11
|
+
import { join, relative, resolve } from "node:path"
|
|
11
12
|
import { pathToFileURL } from "node:url"
|
|
12
13
|
import { isActionDefinition } from "../actions"
|
|
13
14
|
import { isConnectorDefinition } from "../connectors"
|
|
@@ -21,6 +22,7 @@ import { isRuleDefinition } from "../rules"
|
|
|
21
22
|
import { RuntimeError } from "../runtime/errors"
|
|
22
23
|
import { isScheduleDefinition } from "../schedules"
|
|
23
24
|
import { isGroupDefinition, isMembershipPolicyDefinition, isRoleDefinition } from "../security"
|
|
25
|
+
import { isShareDefinition } from "../shares"
|
|
24
26
|
import { isSyncDefinition } from "../syncs"
|
|
25
27
|
import { isWorkflowDefinition } from "../workflows"
|
|
26
28
|
|
|
@@ -29,13 +31,7 @@ const moduleExtensions = new Set([".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs"])
|
|
|
29
31
|
export async function discoverOntologySources(
|
|
30
32
|
projectRoot: string
|
|
31
33
|
): Promise<readonly OntologySource[]> {
|
|
32
|
-
const
|
|
33
|
-
const modulePaths = await listModuleFiles(ontologyDir)
|
|
34
|
-
const exportedCandidates = await loadModuleExports({
|
|
35
|
-
modulePaths,
|
|
36
|
-
projectRoot,
|
|
37
|
-
kind: "ontology",
|
|
38
|
-
})
|
|
34
|
+
const exportedCandidates = await loadFamilyExports(projectRoot, "ontology", ["ontology"])
|
|
39
35
|
|
|
40
36
|
const ontologyDocuments: OntologyDocumentInput[] = []
|
|
41
37
|
const objectTypes: ObjectTypeWithPropertyTokens[] = []
|
|
@@ -70,7 +66,7 @@ export async function discoverOntologySources(
|
|
|
70
66
|
return discoveredSources
|
|
71
67
|
}
|
|
72
68
|
|
|
73
|
-
type DiscoveryModuleKind =
|
|
69
|
+
export type DiscoveryModuleKind =
|
|
74
70
|
| "action"
|
|
75
71
|
| "connector"
|
|
76
72
|
| "dataset"
|
|
@@ -82,9 +78,35 @@ type DiscoveryModuleKind =
|
|
|
82
78
|
| "role"
|
|
83
79
|
| "rule"
|
|
84
80
|
| "schedule"
|
|
81
|
+
| "share"
|
|
85
82
|
| "sync"
|
|
86
83
|
| "workflow"
|
|
87
84
|
|
|
85
|
+
/** Build-time inventory; paths are relative to the source project root. */
|
|
86
|
+
export interface ProjectModule {
|
|
87
|
+
readonly path: string
|
|
88
|
+
readonly kind: DiscoveryModuleKind
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/** Literal imports generated by the CLI put discovery and config in the same bundle graph. */
|
|
92
|
+
export interface BundledProjectModule extends ProjectModule {
|
|
93
|
+
readonly load: () => Promise<Record<string, unknown>>
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const bundledProject = new AsyncLocalStorage<{
|
|
97
|
+
readonly projectRoot: string
|
|
98
|
+
readonly modules: readonly BundledProjectModule[]
|
|
99
|
+
}>()
|
|
100
|
+
|
|
101
|
+
/** Scope both config evaluation and deferred config factories without process-global state. */
|
|
102
|
+
export function withProjectModules<T>(
|
|
103
|
+
projectRoot: string,
|
|
104
|
+
modules: readonly BundledProjectModule[],
|
|
105
|
+
run: () => T
|
|
106
|
+
): T {
|
|
107
|
+
return bundledProject.run({ projectRoot: resolve(projectRoot), modules }, run)
|
|
108
|
+
}
|
|
109
|
+
|
|
88
110
|
interface DefinitionDiscoveryFamily<TDefinition> {
|
|
89
111
|
readonly directory: readonly string[]
|
|
90
112
|
readonly kind: Exclude<DiscoveryModuleKind, "ontology">
|
|
@@ -136,8 +158,22 @@ const definitionDiscoveryRegistry = {
|
|
|
136
158
|
kind: "membershipPolicy",
|
|
137
159
|
isDefinition: isMembershipPolicyDefinition,
|
|
138
160
|
},
|
|
161
|
+
shares: { directory: ["shares"], kind: "share", isDefinition: isShareDefinition },
|
|
139
162
|
} as const satisfies Record<string, DefinitionDiscoveryFamily<unknown>>
|
|
140
163
|
|
|
164
|
+
/** Inventory every discovery family without evaluating project code. */
|
|
165
|
+
export async function listProjectModules(projectRoot: string): Promise<readonly ProjectModule[]> {
|
|
166
|
+
const families = [
|
|
167
|
+
{ kind: "ontology" as const, directory: ["ontology"] },
|
|
168
|
+
...Object.values(definitionDiscoveryRegistry),
|
|
169
|
+
]
|
|
170
|
+
return (
|
|
171
|
+
await Promise.all(
|
|
172
|
+
families.map(({ kind, directory }) => listFamilyModules(projectRoot, kind, directory))
|
|
173
|
+
)
|
|
174
|
+
).flat()
|
|
175
|
+
}
|
|
176
|
+
|
|
141
177
|
type DefinitionFromFamily<TFamily> =
|
|
142
178
|
TFamily extends DefinitionDiscoveryFamily<infer TDefinition> ? TDefinition : never
|
|
143
179
|
|
|
@@ -166,34 +202,58 @@ async function discoverDefinitionFamily(
|
|
|
166
202
|
projectRoot: string,
|
|
167
203
|
family: DefinitionDiscoveryFamily<unknown>
|
|
168
204
|
): Promise<readonly unknown[]> {
|
|
169
|
-
const
|
|
170
|
-
const exportedCandidates = await loadModuleExports({
|
|
171
|
-
modulePaths,
|
|
172
|
-
projectRoot,
|
|
173
|
-
kind: family.kind,
|
|
174
|
-
})
|
|
205
|
+
const exportedCandidates = await loadFamilyExports(projectRoot, family.kind, family.directory)
|
|
175
206
|
|
|
176
207
|
return exportedCandidates.filter(family.isDefinition)
|
|
177
208
|
}
|
|
178
209
|
|
|
179
210
|
// ── Internal helpers ────────────────────────────────────────
|
|
180
211
|
|
|
181
|
-
async function
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
212
|
+
async function listFamilyModules(
|
|
213
|
+
projectRoot: string,
|
|
214
|
+
kind: DiscoveryModuleKind,
|
|
215
|
+
directory: readonly string[]
|
|
216
|
+
): Promise<ProjectModule[]> {
|
|
217
|
+
const paths = await listModuleFiles(join(projectRoot, ...directory))
|
|
218
|
+
return paths.map((path) => ({ kind, path: relative(projectRoot, path) }))
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
async function loadFamilyExports(
|
|
222
|
+
projectRoot: string,
|
|
223
|
+
kind: DiscoveryModuleKind,
|
|
224
|
+
directory: readonly string[]
|
|
225
|
+
): Promise<unknown[]> {
|
|
226
|
+
const project = bundledProject.getStore()
|
|
227
|
+
if (project) {
|
|
228
|
+
if (resolve(projectRoot) !== project.projectRoot) {
|
|
229
|
+
throw new RuntimeError(
|
|
230
|
+
`Built project discovery is scoped to '${project.projectRoot}', not '${projectRoot}'. ` +
|
|
231
|
+
"Run the built entry from the project root and use that root in createSixb()."
|
|
232
|
+
)
|
|
233
|
+
}
|
|
234
|
+
return loadModuleExports(project.modules.filter((module) => module.kind === kind))
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
const modules = await listFamilyModules(projectRoot, kind, directory)
|
|
238
|
+
return loadModuleExports(
|
|
239
|
+
modules.map((module) => ({
|
|
240
|
+
...module,
|
|
241
|
+
load: () => import(pathToFileURL(resolve(projectRoot, module.path)).href),
|
|
242
|
+
}))
|
|
243
|
+
)
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
async function loadModuleExports(modules: readonly BundledProjectModule[]): Promise<unknown[]> {
|
|
186
247
|
const exportedCandidates: unknown[] = []
|
|
187
248
|
const seen = new Set<unknown>()
|
|
188
249
|
|
|
189
|
-
for (const
|
|
250
|
+
for (const module of modules) {
|
|
190
251
|
let moduleNamespace: Record<string, unknown>
|
|
191
252
|
try {
|
|
192
|
-
moduleNamespace =
|
|
253
|
+
moduleNamespace = await module.load()
|
|
193
254
|
} catch (error) {
|
|
194
|
-
const relPath = relative(options.projectRoot, modulePath)
|
|
195
255
|
const reason = error instanceof Error ? error.message : String(error)
|
|
196
|
-
throw new RuntimeError(`Failed to load ${
|
|
256
|
+
throw new RuntimeError(`Failed to load ${module.kind} module '${module.path}': ${reason}`)
|
|
197
257
|
}
|
|
198
258
|
|
|
199
259
|
for (const exportedValue of Object.values(moduleNamespace)) {
|
package/src/bootstrap/index.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
export type {
|
|
1
|
+
export type {
|
|
2
|
+
BundledProjectModule,
|
|
3
|
+
DiscoveredProjectDefinitions,
|
|
4
|
+
DiscoveryModuleKind,
|
|
5
|
+
ProjectModule,
|
|
6
|
+
} from "./discovery"
|
|
2
7
|
export {
|
|
3
8
|
discoverOntologySources,
|
|
4
9
|
discoverProjectDefinitions,
|
|
10
|
+
listProjectModules,
|
|
11
|
+
withProjectModules,
|
|
5
12
|
} from "./discovery"
|
|
6
13
|
export type {
|
|
7
14
|
GenerateOntologyTypeManifestOptions,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { mkdir, readdir, readFile, writeFile } from "node:fs/promises"
|
|
1
|
+
import { access, mkdir, readdir, readFile, writeFile } from "node:fs/promises"
|
|
2
2
|
import { dirname, extname, join, relative, resolve, sep } from "node:path"
|
|
3
3
|
import { pathToFileURL } from "node:url"
|
|
4
4
|
import type { OntologyDocumentInput } from "../ontology/registry"
|
|
@@ -75,11 +75,17 @@ export async function generateOntologyTypeManifest(
|
|
|
75
75
|
const discovery = await discoverOntologyTypeManifest(projectRoot)
|
|
76
76
|
|
|
77
77
|
if (discovery.moduleCount === 0) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
// Leave projects without ontology untouched, but clear a previously generated map.
|
|
79
|
+
try {
|
|
80
|
+
await access(outFile)
|
|
81
|
+
} catch (error) {
|
|
82
|
+
if (!isNotFoundError(error)) throw error
|
|
83
|
+
return {
|
|
84
|
+
...discovery,
|
|
85
|
+
path: outFile,
|
|
86
|
+
written: false,
|
|
87
|
+
skipped: true,
|
|
88
|
+
}
|
|
83
89
|
}
|
|
84
90
|
}
|
|
85
91
|
|
package/src/datasets/builders.ts
CHANGED
|
@@ -15,6 +15,7 @@ type DatasetColumnOptions = {
|
|
|
15
15
|
type DefineDatasetOptions = {
|
|
16
16
|
readonly schema: readonly DatasetColumnDefinition[]
|
|
17
17
|
readonly primaryKey?: DatasetPrimaryKey
|
|
18
|
+
readonly sequenceBy?: string
|
|
18
19
|
readonly partitionBy?: readonly string[]
|
|
19
20
|
readonly description?: string
|
|
20
21
|
}
|
|
@@ -23,6 +24,7 @@ type DeriveDatasetOptions<TParent extends DatasetDefinition> = {
|
|
|
23
24
|
readonly pick?: readonly DatasetColumnNameOf<TParent>[]
|
|
24
25
|
readonly add?: readonly DatasetColumnDefinition[]
|
|
25
26
|
readonly primaryKey?: DatasetPrimaryKey
|
|
27
|
+
readonly sequenceBy?: string
|
|
26
28
|
readonly partitionBy?: readonly string[]
|
|
27
29
|
readonly description?: string
|
|
28
30
|
}
|
|
@@ -58,8 +60,22 @@ type PrimaryKeyColumnNameOf<TColumns extends readonly DatasetColumnDefinition[]>
|
|
|
58
60
|
|
|
59
61
|
type CheckedDefineDatasetOptions<TOptions extends DefineDatasetOptions> = TOptions & {
|
|
60
62
|
readonly primaryKey?: DatasetPrimaryKey<PrimaryKeyColumnNameOf<TOptions["schema"]>>
|
|
63
|
+
readonly sequenceBy?: SequenceColumnNameOf<TOptions["schema"]>
|
|
61
64
|
}
|
|
62
65
|
|
|
66
|
+
type SequenceColumnNameOf<TColumns extends readonly DatasetColumnDefinition[]> =
|
|
67
|
+
string extends ColumnNameOf<TColumns>
|
|
68
|
+
? string
|
|
69
|
+
: {
|
|
70
|
+
[TName in ColumnNameOf<TColumns>]: ColumnDefinitionOf<TColumns, TName>["type"] extends
|
|
71
|
+
| "timestamp"
|
|
72
|
+
| "int64"
|
|
73
|
+
? ColumnDefinitionOf<TColumns, TName> extends { readonly nullable: true }
|
|
74
|
+
? never
|
|
75
|
+
: TName
|
|
76
|
+
: never
|
|
77
|
+
}[ColumnNameOf<TColumns>]
|
|
78
|
+
|
|
63
79
|
type PickColumns<
|
|
64
80
|
TColumns extends readonly DatasetColumnDefinition[],
|
|
65
81
|
TNames extends readonly ColumnNameOf<TColumns>[],
|
|
@@ -107,8 +123,9 @@ type DatasetColumnResult<
|
|
|
107
123
|
|
|
108
124
|
type DatasetDefinitionResult<TId extends string, TOptions extends DefineDatasetOptions> = Omit<
|
|
109
125
|
DatasetDefinition<TId, TOptions["schema"]>,
|
|
110
|
-
"primaryKey" | "partitionBy" | "description"
|
|
126
|
+
"primaryKey" | "sequenceBy" | "partitionBy" | "description"
|
|
111
127
|
> &
|
|
128
|
+
FieldFromOptions<TOptions, "sequenceBy", string> &
|
|
112
129
|
FieldFromOptions<TOptions, "primaryKey", DatasetPrimaryKey> &
|
|
113
130
|
FieldFromOptions<TOptions, "partitionBy", readonly string[]> &
|
|
114
131
|
FieldFromOptions<TOptions, "description", string>
|
|
@@ -119,8 +136,9 @@ type DerivedDatasetDefinitionResult<
|
|
|
119
136
|
TOptions extends DeriveDatasetOptions<TParent> | undefined,
|
|
120
137
|
> = Omit<
|
|
121
138
|
DatasetDefinition<TId, DerivedColumns<TParent, TOptions>>,
|
|
122
|
-
"primaryKey" | "partitionBy" | "description"
|
|
139
|
+
"primaryKey" | "sequenceBy" | "partitionBy" | "description"
|
|
123
140
|
> &
|
|
141
|
+
FieldFromOptions<TOptions, "sequenceBy", string> &
|
|
124
142
|
FieldFromOptions<TOptions, "primaryKey", DatasetPrimaryKey> &
|
|
125
143
|
FieldFromOptions<TOptions, "partitionBy", readonly string[]> &
|
|
126
144
|
FieldFromOptions<TOptions, "description", string>
|
|
@@ -130,6 +148,7 @@ type CheckedDeriveDatasetOptions<
|
|
|
130
148
|
TOptions extends DeriveDatasetOptions<TParent>,
|
|
131
149
|
> = TOptions & {
|
|
132
150
|
readonly primaryKey?: DatasetPrimaryKey<PrimaryKeyColumnNameOf<DerivedColumns<TParent, TOptions>>>
|
|
151
|
+
readonly sequenceBy?: SequenceColumnNameOf<DerivedColumns<TParent, TOptions>>
|
|
133
152
|
}
|
|
134
153
|
|
|
135
154
|
export function col<const TName extends string, const TType extends DatasetColumnType>(
|
|
@@ -177,6 +196,7 @@ function createDatasetDefinition(id: string, options: DefineDatasetOptions): Dat
|
|
|
177
196
|
}
|
|
178
197
|
: {}),
|
|
179
198
|
...(options.partitionBy !== undefined ? { partitionBy: [...options.partitionBy] } : {}),
|
|
199
|
+
...(options.sequenceBy !== undefined ? { sequenceBy: options.sequenceBy } : {}),
|
|
180
200
|
...(options.description !== undefined ? { description: options.description } : {}),
|
|
181
201
|
}
|
|
182
202
|
|
|
@@ -230,6 +250,7 @@ function deriveDatasetDefinition(
|
|
|
230
250
|
return createDatasetDefinition(id, {
|
|
231
251
|
schema: [...pickedColumns, ...(options.add ?? [])],
|
|
232
252
|
...(options.primaryKey !== undefined ? { primaryKey: options.primaryKey } : {}),
|
|
253
|
+
...(options.sequenceBy !== undefined ? { sequenceBy: options.sequenceBy } : {}),
|
|
233
254
|
...(options.partitionBy !== undefined ? { partitionBy: options.partitionBy } : {}),
|
|
234
255
|
...(options.description !== undefined ? { description: options.description } : {}),
|
|
235
256
|
})
|
package/src/datasets/changes.ts
CHANGED
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
export type MergeChange<Row, Key> =
|
|
2
2
|
| { readonly kind: "upsert"; readonly row: Row }
|
|
3
|
-
| { readonly kind: "delete"; readonly key: Key }
|
|
3
|
+
| { readonly kind: "delete"; readonly key: Key; readonly sequence?: string | number | Date }
|
|
4
4
|
|
|
5
5
|
export const change = {
|
|
6
6
|
upsert<const Row extends object>(row: Row): { readonly kind: "upsert"; readonly row: Row } {
|
|
7
7
|
return { kind: "upsert", row }
|
|
8
8
|
},
|
|
9
9
|
|
|
10
|
-
delete
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
delete: deleteChange,
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function deleteChange<const Key extends object>(
|
|
14
|
+
key: Key
|
|
15
|
+
): { readonly kind: "delete"; readonly key: Key }
|
|
16
|
+
function deleteChange<const Key extends object, const Sequence extends string | number | Date>(
|
|
17
|
+
key: Key,
|
|
18
|
+
options: { readonly sequence: Sequence }
|
|
19
|
+
): { readonly kind: "delete"; readonly key: Key; readonly sequence: Sequence }
|
|
20
|
+
function deleteChange<Key extends object>(
|
|
21
|
+
key: Key,
|
|
22
|
+
options?: { readonly sequence: string | number | Date }
|
|
23
|
+
): { readonly kind: "delete"; readonly key: Key; readonly sequence?: string | number | Date } {
|
|
24
|
+
return { kind: "delete", key, ...(options ? { sequence: options.sequence } : {}) }
|
|
13
25
|
}
|