@sixb/core 0.1.8 → 0.1.10
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 +193 -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 +80 -88
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/broker/in-memory.d.ts +8 -2
- package/dist/broker/in-memory.d.ts.map +1 -1
- package/dist/broker/index.d.ts +4 -2
- package/dist/broker/index.d.ts.map +1 -1
- package/dist/broker/index.js +12 -10
- package/dist/broker/index.js.map +1 -1
- package/dist/broker/retention.d.ts +4 -0
- package/dist/broker/retention.d.ts.map +1 -0
- package/dist/broker/subscriber.d.ts +10 -0
- package/dist/broker/subscriber.d.ts.map +1 -0
- package/dist/broker/types.d.ts +14 -1
- package/dist/broker/types.d.ts.map +1 -1
- 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-ajnan18g.js → chunk-1824gssz.js} +74 -106
- package/dist/chunk-1824gssz.js.map +12 -0
- package/dist/chunk-28ja2cjs.js +602 -0
- package/dist/chunk-28ja2cjs.js.map +18 -0
- package/dist/{chunk-5gd7tpv6.js → chunk-2c4j899j.js} +4 -4
- package/dist/chunk-2c4j899j.js.map +11 -0
- package/dist/{chunk-rv2hkwwa.js → chunk-358caqf5.js} +157 -180
- package/dist/chunk-358caqf5.js.map +12 -0
- 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-s5y30bc9.js → chunk-3qms4nax.js} +52 -50
- package/dist/{chunk-s5y30bc9.js.map → chunk-3qms4nax.js.map} +5 -5
- 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-wtf06et8.js → chunk-5c7ga8zz.js} +54 -177
- package/dist/chunk-5c7ga8zz.js.map +12 -0
- 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-xajtptbw.js → chunk-5p1v802y.js} +1401 -445
- package/dist/chunk-5p1v802y.js.map +44 -0
- 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-xhy826cz.js → chunk-85cd7e8c.js} +8 -7
- package/dist/chunk-85cd7e8c.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-aa2pen2v.js → chunk-976rxdpx.js} +188 -175
- package/dist/{chunk-aa2pen2v.js.map → chunk-976rxdpx.js.map} +2 -2
- 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-8m5ejdpn.js → chunk-9x8dybsb.js} +5 -5
- package/dist/chunk-9x8dybsb.js.map +10 -0
- package/dist/chunk-aa6z4a19.js +358 -0
- package/dist/chunk-aa6z4a19.js.map +12 -0
- package/dist/{chunk-3xep5cjx.js → chunk-agbbygvh.js} +104 -86
- package/dist/chunk-agbbygvh.js.map +15 -0
- 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-w9tg6yyb.js → chunk-b0ec55a1.js} +54 -37
- package/dist/chunk-b0ec55a1.js.map +12 -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-gbejpkex.js → chunk-bn138h9w.js} +27 -28
- package/dist/{chunk-gbejpkex.js.map → chunk-bn138h9w.js.map} +3 -3
- 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-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-f26bck4t.js → chunk-ftv470j8.js} +393 -355
- package/dist/{chunk-f26bck4t.js.map → chunk-ftv470j8.js.map} +7 -7
- 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-q0k9nc5a.js → chunk-g7knyczr.js} +98 -98
- package/dist/{chunk-q0k9nc5a.js.map → chunk-g7knyczr.js.map} +2 -2
- 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-8tsf6dmc.js → chunk-gqh45d2n.js} +244 -205
- package/dist/chunk-gqh45d2n.js.map +15 -0
- package/dist/chunk-h3v76ams.js +32 -0
- package/dist/{chunk-08m3b6w8.js.map → chunk-h3v76ams.js.map} +2 -2
- 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-wdage1eb.js → chunk-jmfet9r4.js} +6 -6
- package/dist/{chunk-wdage1eb.js.map → chunk-jmfet9r4.js.map} +2 -2
- package/dist/{chunk-k34z5rvh.js → chunk-kfee1h52.js} +132 -48
- package/dist/chunk-kfee1h52.js.map +13 -0
- 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-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-h5vqbfmd.js → chunk-nmbxcaqx.js} +117 -117
- package/dist/{chunk-h5vqbfmd.js.map → chunk-nmbxcaqx.js.map} +3 -3
- package/dist/{chunk-n2w475r0.js → chunk-nt99sxd6.js} +82 -82
- package/dist/{chunk-n2w475r0.js.map → chunk-nt99sxd6.js.map} +3 -3
- package/dist/{chunk-v1xppd0y.js → chunk-p5vcsw9c.js} +60 -60
- package/dist/{chunk-v1xppd0y.js.map → chunk-p5vcsw9c.js.map} +2 -2
- package/dist/{chunk-sbzzr4kx.js → chunk-p6a4npdx.js} +1260 -1289
- package/dist/chunk-p6a4npdx.js.map +58 -0
- 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-qma80ych.js +30 -0
- package/dist/chunk-qma80ych.js.map +11 -0
- package/dist/{chunk-mth82m8t.js → chunk-qyeptdyv.js} +171 -77
- package/dist/chunk-qyeptdyv.js.map +15 -0
- 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-mwsxn98e.js → chunk-r7fj830t.js} +253 -200
- package/dist/chunk-r7fj830t.js.map +36 -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-gzasd5b6.js → chunk-rtk71jzp.js} +22 -22
- package/dist/{chunk-gzasd5b6.js.map → chunk-rtk71jzp.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-3z1qec12.js → chunk-t1f4f1ve.js} +107 -64
- package/dist/{chunk-3z1qec12.js.map → chunk-t1f4f1ve.js.map} +3 -3
- package/dist/chunk-v2vcg0w6.js +151 -0
- package/dist/chunk-v2vcg0w6.js.map +11 -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-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-z4ccwbkz.js → chunk-x9v4cx1d.js} +1 -1
- 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-yt8wphsx.js → chunk-zvx7h87b.js} +3 -3
- package/dist/{chunk-yt8wphsx.js.map → chunk-zvx7h87b.js.map} +2 -2
- package/dist/connectors/connections/authorizations.d.ts.map +1 -1
- package/dist/connectors/connections/contracts.d.ts +3 -0
- package/dist/connectors/connections/contracts.d.ts.map +1 -1
- package/dist/connectors/connections/internal.js +9 -10
- package/dist/connectors/connections/internal.js.map +1 -1
- package/dist/connectors/connections/request.d.ts +3 -1
- package/dist/connectors/connections/request.d.ts.map +1 -1
- package/dist/connectors/connections/runs.d.ts.map +1 -1
- package/dist/connectors/connections/tokens.d.ts.map +1 -1
- package/dist/connectors/connections/validation.d.ts +5 -1
- package/dist/connectors/connections/validation.d.ts.map +1 -1
- package/dist/connectors/types.d.ts +19 -4
- package/dist/connectors/types.d.ts.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/execution.d.ts +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/service.d.ts +2 -2
- package/dist/events/service.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 +71 -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 +64 -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 +66 -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 +17 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +457 -477
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/changes.d.ts +5 -0
- package/dist/lake-storage/changes.d.ts.map +1 -0
- package/dist/lake-storage/in-memory.d.ts +2 -1
- package/dist/lake-storage/in-memory.d.ts.map +1 -1
- package/dist/lake-storage/index.d.ts +2 -1
- package/dist/lake-storage/index.d.ts.map +1 -1
- package/dist/lake-storage/index.js +40 -42
- package/dist/lake-storage/index.js.map +1 -1
- package/dist/lake-storage/types.d.ts +36 -0
- package/dist/lake-storage/types.d.ts.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.d.ts +1 -1
- package/dist/materialization/index.d.ts.map +1 -1
- package/dist/materialization/index.js +46 -49
- package/dist/materialization/index.js.map +1 -1
- package/dist/materialization/model.d.ts +12 -1
- package/dist/materialization/model.d.ts.map +1 -1
- package/dist/materializer/index.d.ts +1 -1
- package/dist/materializer/index.d.ts.map +1 -1
- package/dist/materializer/index.js +137 -145
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/materializer.d.ts +5 -1
- package/dist/materializer/materializer.d.ts.map +1 -1
- package/dist/materializer/projections/entry-validator.d.ts +2 -1
- package/dist/materializer/projections/entry-validator.d.ts.map +1 -1
- package/dist/materializer/projections/replace.d.ts.map +1 -1
- package/dist/materializer/projections/source-materialization.d.ts +4 -3
- package/dist/materializer/projections/source-materialization.d.ts.map +1 -1
- package/dist/materializer/shared/normalize.d.ts +2 -1
- package/dist/materializer/shared/normalize.d.ts.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/pipelines/run-dispatch.d.ts.map +1 -1
- package/dist/projections/internal.js +56 -67
- 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/in-memory.d.ts +7 -3
- package/dist/queues/in-memory.d.ts.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/indexed-heap.d.ts +15 -0
- package/dist/queues/indexed-heap.d.ts.map +1 -0
- 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/ontology-mutations.d.ts +3 -1
- package/dist/runtime/ontology-mutations.d.ts.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/in-memory.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider/runs.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +35 -37
- package/dist/storage/connector-connections/provider.js.map +3 -3
- package/dist/storage/connector-connections/types.d.ts +3 -2
- package/dist/storage/connector-connections/types.d.ts.map +1 -1
- 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 +7 -8
- 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/in-memory/materializations-state.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations.d.ts +1 -1
- package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/shared-state.d.ts +15 -2
- package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/source-roots.d.ts +6 -0
- package/dist/storage/ontology/in-memory/source-roots.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -1
- package/dist/storage/ontology/index.d.ts +1 -1
- package/dist/storage/ontology/index.d.ts.map +1 -1
- package/dist/storage/ontology/provider.d.ts +16 -0
- package/dist/storage/ontology/provider.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +107 -109
- package/dist/storage/ontology/provider.js.map +1 -1
- package/dist/storage/ontology/sources.d.ts +13 -4
- package/dist/storage/ontology/sources.d.ts.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/lifecycle.d.ts.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/projection-runs/types.d.ts +2 -0
- package/dist/storage/projection-runs/types.d.ts.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 +56 -65
- package/dist/syncs/index.js.map +1 -1
- package/dist/syncs/run-dispatch.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/broker-contract.d.ts.map +1 -1
- package/dist/testing/connector-connection-storage-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.d.ts +1 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +2282 -1662
- package/dist/testing/index.js.map +16 -15
- package/dist/testing/lake-changes-contract.d.ts +6 -0
- package/dist/testing/lake-changes-contract.d.ts.map +1 -0
- package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
- package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
- package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
- package/dist/testing/workflow-execution.d.ts +1 -0
- package/dist/testing/workflow-execution.d.ts.map +1 -1
- package/dist/webhooks/connections.d.ts +6 -0
- package/dist/webhooks/connections.d.ts.map +1 -0
- package/dist/webhooks/index.d.ts +1 -1
- package/dist/webhooks/index.d.ts.map +1 -1
- package/dist/webhooks/internal.d.ts +2 -0
- package/dist/webhooks/internal.d.ts.map +1 -1
- package/dist/webhooks/internal.js +98 -61
- package/dist/webhooks/internal.js.map +4 -3
- package/dist/webhooks/registry.d.ts +1 -1
- package/dist/webhooks/registry.d.ts.map +1 -1
- package/dist/webhooks/types.d.ts +15 -4
- package/dist/webhooks/types.d.ts.map +1 -1
- 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 +136 -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 +3 -2
- 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/broker/in-memory.ts +104 -39
- package/src/broker/index.ts +4 -1
- package/src/broker/retention.ts +28 -0
- package/src/broker/subscriber.ts +21 -0
- package/src/broker/types.ts +15 -1
- package/src/connectors/builders.ts +0 -6
- package/src/connectors/connections/authorizations.ts +11 -5
- package/src/connectors/connections/contracts.ts +3 -0
- package/src/connectors/connections/request.ts +56 -22
- package/src/connectors/connections/runs.ts +1 -0
- package/src/connectors/connections/tokens.ts +4 -0
- package/src/connectors/connections/validation.ts +91 -5
- package/src/connectors/types.ts +19 -4
- 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 +2 -2
- package/src/events/service.ts +3 -3
- 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 +30 -20
- package/src/lake-storage/changes.ts +43 -0
- package/src/lake-storage/in-memory.ts +73 -0
- package/src/lake-storage/index.ts +4 -0
- package/src/lake-storage/types.ts +40 -0
- package/src/logging/index.ts +2 -33
- package/src/logging/internal.ts +43 -0
- package/src/logging/service.ts +1 -1
- package/src/materialization/index.ts +2 -0
- package/src/materialization/model.ts +14 -1
- package/src/materializer/index.ts +2 -0
- package/src/materializer/materializer.ts +10 -0
- package/src/materializer/projections/entry-validator.ts +19 -1
- package/src/materializer/projections/replace.ts +36 -1
- package/src/materializer/projections/source-materialization.ts +26 -6
- package/src/materializer/shared/normalize.ts +1 -1
- 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/pipelines/run-dispatch.ts +21 -1
- package/src/projections/run-dispatch.ts +31 -68
- package/src/query.ts +0 -1
- package/src/queues/in-memory.ts +105 -62
- package/src/queues/index.ts +4 -2
- package/src/queues/indexed-heap.ts +74 -0
- package/src/queues/types.ts +6 -25
- package/src/runtime/create.ts +2 -1
- package/src/runtime/host.ts +2 -15
- package/src/runtime/ontology-mutations.ts +4 -0
- 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/connector-connections/in-memory.ts +3 -1
- package/src/storage/connector-connections/provider/runs.ts +3 -1
- package/src/storage/connector-connections/types.ts +3 -2
- 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 +4 -29
- package/src/storage/internal.ts +20 -0
- package/src/storage/ontology/in-memory/materializations-state.ts +5 -18
- package/src/storage/ontology/in-memory/materializations.ts +73 -92
- package/src/storage/ontology/in-memory/shared-state.ts +26 -1
- package/src/storage/ontology/in-memory/source-roots.ts +123 -0
- package/src/storage/ontology/in-memory/sources.ts +78 -23
- package/src/storage/ontology/index.ts +1 -0
- package/src/storage/ontology/provider.ts +70 -0
- package/src/storage/ontology/sources.ts +14 -3
- package/src/storage/projection-runs/lifecycle.ts +5 -2
- package/src/storage/projection-runs/types.ts +4 -3
- package/src/storage/workflow-runs/in-memory.ts +0 -2
- package/src/storage/workflow-runs/types.ts +0 -3
- package/src/syncs/run-dispatch.ts +19 -1
- 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/broker-contract.ts +95 -0
- package/src/testing/connector-connection-storage-contract.ts +18 -1
- package/src/testing/execution-storage-contract.ts +59 -1
- package/src/testing/execution.ts +6 -0
- package/src/testing/index.ts +1 -0
- package/src/testing/lake-changes-contract.ts +240 -0
- package/src/testing/materializer-storage-contract.ts +172 -1
- package/src/testing/ontology-storage-contract.ts +7 -0
- package/src/testing/projection-run-storage-contract.ts +34 -0
- package/src/testing/workflow-execution.ts +4 -0
- package/src/webhooks/connections.ts +56 -0
- package/src/webhooks/index.ts +2 -0
- package/src/webhooks/internal.ts +2 -0
- package/src/webhooks/registry.ts +3 -4
- package/src/webhooks/types.ts +17 -4
- package/src/workflows/failure.ts +62 -1
- package/src/workflows/request.ts +0 -9
- package/src/workflows/run-dispatch.ts +42 -32
- 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-5gd7tpv6.js.map +0 -11
- package/dist/chunk-7y0f6rf1.js.map +0 -10
- package/dist/chunk-8m5ejdpn.js.map +0 -10
- package/dist/chunk-8tsf6dmc.js.map +0 -15
- 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-k34z5rvh.js.map +0 -11
- package/dist/chunk-k522z7v6.js.map +0 -10
- package/dist/chunk-mth82m8t.js.map +0 -14
- package/dist/chunk-mwsxn98e.js.map +0 -36
- 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-rv2hkwwa.js.map +0 -14
- package/dist/chunk-sbzzr4kx.js.map +0 -63
- package/dist/chunk-tpnd31c1.js +0 -242
- package/dist/chunk-tpnd31c1.js.map +0 -11
- package/dist/chunk-w9tg6yyb.js.map +0 -12
- package/dist/chunk-wtf06et8.js.map +0 -14
- package/dist/chunk-xajtptbw.js.map +0 -40
- package/dist/chunk-xhy826cz.js.map +0 -10
- 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
|
@@ -1,30 +1,56 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
|
-
LakeConcurrencyError,
|
|
4
|
-
LakeStorageError,
|
|
5
|
-
cloneDatasetMergeChange,
|
|
6
|
-
encodeDatasetPrimaryKey,
|
|
7
|
-
getDatasetMergeChangeValidationError,
|
|
8
|
-
getDatasetPrimaryKeyColumns
|
|
9
|
-
} from "./chunk-n4khvw9n.js";
|
|
10
|
-
import {
|
|
11
|
-
assertDatasetDefinition,
|
|
12
3
|
datasetSequenceValue,
|
|
13
|
-
|
|
14
|
-
|
|
4
|
+
assertDatasetDefinition2,
|
|
5
|
+
getDatasetRowValidationError2
|
|
6
|
+
} from "./chunk-860dwwy0.js";
|
|
7
|
+
import {
|
|
8
|
+
LakeStorageError2,
|
|
9
|
+
LakeConcurrencyError2,
|
|
10
|
+
getDatasetPrimaryKeyColumns2,
|
|
11
|
+
encodeDatasetPrimaryKey2,
|
|
12
|
+
getDatasetMergeChangeValidationError2,
|
|
13
|
+
cloneDatasetMergeChange2
|
|
14
|
+
} from "./chunk-9qsh3p5y.js";
|
|
15
15
|
import {
|
|
16
|
-
|
|
17
|
-
} from "./chunk-
|
|
16
|
+
normalizeDecimalValue2
|
|
17
|
+
} from "./chunk-3bh94gbw.js";
|
|
18
18
|
import {
|
|
19
|
-
|
|
20
|
-
} from "./chunk-
|
|
19
|
+
stableJsonStringify2
|
|
20
|
+
} from "./chunk-wy0qdqfm.js";
|
|
21
|
+
// src/lake-storage/changes.ts
|
|
22
|
+
function resolveDatasetChangeColumns2(input, before, after) {
|
|
23
|
+
for (const value of [input.datasetId, input.fromVersionId, input.toVersionId]) {
|
|
24
|
+
if (typeof value !== "string" || value.trim().length === 0) {
|
|
25
|
+
throw new LakeStorageError2("[LakeStorage] Change reads require explicit dataset and version ids.");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (input.keyColumns.length === 0 || new Set(input.keyColumns).size !== input.keyColumns.length || input.columns.length === 0 || new Set(input.columns).size !== input.columns.length || input.columns.some((column) => typeof column !== "string" || column.length === 0) || input.keyColumns.some((column) => !input.columns.includes(column))) {
|
|
29
|
+
throw new LakeStorageError2("[LakeStorage] Change reads require distinct columns including every key column.");
|
|
30
|
+
}
|
|
31
|
+
if (!before || !after)
|
|
32
|
+
return null;
|
|
33
|
+
const oldColumns = new Map(before.schema.columns.map((column) => [column.name, column]));
|
|
34
|
+
const newColumns = new Map(after.schema.columns.map((column) => [column.name, column]));
|
|
35
|
+
const columns = [];
|
|
36
|
+
for (const name of input.columns) {
|
|
37
|
+
const previous = oldColumns.get(name);
|
|
38
|
+
const next = newColumns.get(name);
|
|
39
|
+
if (!previous || !next || previous.type !== next.type)
|
|
40
|
+
return null;
|
|
41
|
+
if (input.keyColumns.includes(name) && next.type !== "string")
|
|
42
|
+
return null;
|
|
43
|
+
columns.push(next);
|
|
44
|
+
}
|
|
45
|
+
return columns;
|
|
46
|
+
}
|
|
21
47
|
// src/lake-storage/definition-updates.ts
|
|
22
48
|
var SCHEMA_UPDATE_V1_POLICY = "Dataset definition updates V1 support only adding nullable columns.";
|
|
23
|
-
function
|
|
49
|
+
function planDatasetDefinitionUpdate2(existing, requested) {
|
|
24
50
|
assertSameDataset(existing, requested);
|
|
25
|
-
|
|
51
|
+
assertDatasetDefinition2(requested, (message) => new LakeStorageError2(`[SixbLake] ${message}`));
|
|
26
52
|
if (existing.sequenceBy !== requested.sequenceBy) {
|
|
27
|
-
throw new
|
|
53
|
+
throw new LakeStorageError2(`[SixbLake] Dataset '${requested.id}' sequenceBy is immutable. Create a new dataset and backfill to adopt or change source ordering.`);
|
|
28
54
|
}
|
|
29
55
|
assertPrimaryKeyUnchanged(existing, requested);
|
|
30
56
|
const addedColumns = getAddedColumnsAfterValidatingExistingColumns(existing, requested);
|
|
@@ -44,23 +70,23 @@ function planDatasetDefinitionUpdate(existing, requested) {
|
|
|
44
70
|
changed: schema.kind !== "none" || metadata.descriptionChanged || metadata.partitionByChanged
|
|
45
71
|
};
|
|
46
72
|
}
|
|
47
|
-
function
|
|
48
|
-
|
|
73
|
+
function mergeStrictDatasetDefinition2(options) {
|
|
74
|
+
assertDatasetDefinition2(options.next, (message) => new LakeStorageError2(`[SixbLake] ${message}`));
|
|
49
75
|
if (!options.existing) {
|
|
50
76
|
return structuredClone(options.next);
|
|
51
77
|
}
|
|
52
|
-
const plan =
|
|
78
|
+
const plan = planDatasetDefinitionUpdate2(options.existing, options.next);
|
|
53
79
|
if (plan.schema.kind !== "none") {
|
|
54
|
-
throw new
|
|
80
|
+
throw new LakeStorageError2(`[SixbLake] Dataset '${options.next.id}' cannot be redefined with an incompatible schema.`);
|
|
55
81
|
}
|
|
56
82
|
return structuredClone(plan.definition);
|
|
57
83
|
}
|
|
58
|
-
async function
|
|
84
|
+
async function assertLakeDatasetDefinitionsCompatible2(options) {
|
|
59
85
|
await options.lakeStorage.assertDatasetDefinitionsCompatible(options.definitions);
|
|
60
86
|
}
|
|
61
87
|
function assertSameDataset(existing, requested) {
|
|
62
88
|
if (existing.id !== requested.id) {
|
|
63
|
-
throw new
|
|
89
|
+
throw new LakeStorageError2(`[SixbLake] Cannot update dataset '${existing.id}' with definition for '${requested.id}'.`);
|
|
64
90
|
}
|
|
65
91
|
}
|
|
66
92
|
function assertPrimaryKeyUnchanged(existing, requested) {
|
|
@@ -68,7 +94,7 @@ function assertPrimaryKeyUnchanged(existing, requested) {
|
|
|
68
94
|
const requestedPrimaryKey = requested.primaryKey;
|
|
69
95
|
const unchanged = existingPrimaryKey === undefined || requestedPrimaryKey === undefined ? existingPrimaryKey === requestedPrimaryKey : areDefinitionValuesEqual(existingPrimaryKey, requestedPrimaryKey);
|
|
70
96
|
if (!unchanged) {
|
|
71
|
-
throw new
|
|
97
|
+
throw new LakeStorageError2(`[SixbLake] Dataset '${requested.id}' cannot be redefined with an incompatible primaryKey. Primary keys are immutable.`);
|
|
72
98
|
}
|
|
73
99
|
}
|
|
74
100
|
function getAddedColumnsAfterValidatingExistingColumns(existing, requested) {
|
|
@@ -129,7 +155,7 @@ function assertCompatibleMetadataField(datasetId, field, existing, requested) {
|
|
|
129
155
|
if (existing === undefined || requested === undefined || areDefinitionValuesEqual(existing, requested)) {
|
|
130
156
|
return;
|
|
131
157
|
}
|
|
132
|
-
throw new
|
|
158
|
+
throw new LakeStorageError2(`[SixbLake] Dataset '${datasetId}' cannot be redefined with an incompatible ${field}.`);
|
|
133
159
|
}
|
|
134
160
|
function areStringArraysEqual(left, right) {
|
|
135
161
|
if (left === undefined || right === undefined) {
|
|
@@ -150,23 +176,24 @@ function cloneColumns(columns) {
|
|
|
150
176
|
return columns.map((column) => ({ ...column }));
|
|
151
177
|
}
|
|
152
178
|
function throwUnsupportedSchemaUpdate(datasetId, detail) {
|
|
153
|
-
throw new
|
|
179
|
+
throw new LakeStorageError2(`[SixbLake] Dataset '${datasetId}' cannot apply schema update because ${detail}. ${SCHEMA_UPDATE_V1_POLICY}`);
|
|
154
180
|
}
|
|
155
181
|
// src/lake-storage/in-memory.ts
|
|
156
182
|
import { randomUUID } from "crypto";
|
|
183
|
+
import { isDeepStrictEqual } from "util";
|
|
157
184
|
|
|
158
185
|
// src/lake-storage/merge.ts
|
|
159
|
-
async function
|
|
186
|
+
async function retryDatasetMergeCommit2(merge, commit, run) {
|
|
160
187
|
const attempts = commit?.retryOnConflict && merge.dataset.sequenceBy !== undefined && merge.expectedLatestVersionId === undefined ? 3 : 1;
|
|
161
188
|
for (let attempt = 0;; attempt += 1) {
|
|
162
189
|
commit?.signal?.throwIfAborted();
|
|
163
190
|
try {
|
|
164
191
|
return await run(attempt > 0);
|
|
165
192
|
} catch (error) {
|
|
166
|
-
if (!(error instanceof
|
|
193
|
+
if (!(error instanceof LakeConcurrencyError2) || attempts === 1)
|
|
167
194
|
throw error;
|
|
168
195
|
if (attempt + 1 === attempts) {
|
|
169
|
-
throw new
|
|
196
|
+
throw new LakeConcurrencyError2(`[SixbLake] Dataset '${merge.dataset.id}' merge exhausted ${attempts} concurrency attempts. No changes from this operation were committed.`, { cause: error });
|
|
170
197
|
}
|
|
171
198
|
}
|
|
172
199
|
}
|
|
@@ -174,15 +201,15 @@ async function retryDatasetMergeCommit(merge, commit, run) {
|
|
|
174
201
|
|
|
175
202
|
// src/lake-storage/source-ordering.ts
|
|
176
203
|
import { createHash } from "crypto";
|
|
177
|
-
function
|
|
204
|
+
function datasetSequenceChange2(dataset, change) {
|
|
178
205
|
const value = change.kind === "upsert" ? change.row[dataset.sequenceBy ?? ""] : change.sequence;
|
|
179
206
|
return {
|
|
180
|
-
key:
|
|
207
|
+
key: encodeDatasetPrimaryKey2(dataset, change.kind === "upsert" ? change.row : change.key),
|
|
181
208
|
sequence: datasetSequenceValue(dataset, value).toString(),
|
|
182
209
|
content: change.kind === "delete" ? null : rowDigest(dataset, change.row)
|
|
183
210
|
};
|
|
184
211
|
}
|
|
185
|
-
function
|
|
212
|
+
function reconcileDatasetSequences2(dataset, previous, changes) {
|
|
186
213
|
const states = new Map(previous);
|
|
187
214
|
const accepted = new Map;
|
|
188
215
|
for (const [index, change] of changes.entries()) {
|
|
@@ -193,7 +220,7 @@ function reconcileDatasetSequences(dataset, previous, changes) {
|
|
|
193
220
|
continue;
|
|
194
221
|
if (difference === 0n) {
|
|
195
222
|
if (current.content !== change.content) {
|
|
196
|
-
throw new
|
|
223
|
+
throw new LakeStorageError2(`[SixbLake] Dataset '${dataset.id}' has conflicting content at source sequence '${change.sequence}' for key ${change.key}.`);
|
|
197
224
|
}
|
|
198
225
|
continue;
|
|
199
226
|
}
|
|
@@ -220,22 +247,22 @@ function rowDigest(dataset, row) {
|
|
|
220
247
|
content[column.name] = new Date(value).toISOString().slice(0, 10);
|
|
221
248
|
break;
|
|
222
249
|
case "decimal":
|
|
223
|
-
content[column.name] =
|
|
250
|
+
content[column.name] = normalizeDecimalValue2(value);
|
|
224
251
|
break;
|
|
225
252
|
default:
|
|
226
253
|
content[column.name] = value;
|
|
227
254
|
}
|
|
228
255
|
}
|
|
229
|
-
return createHash("sha256").update(
|
|
256
|
+
return createHash("sha256").update(stableJsonStringify2(JSON.parse(JSON.stringify(content)))).digest("hex");
|
|
230
257
|
}
|
|
231
|
-
function
|
|
258
|
+
function assertUnsequencedDatasetWrite2(dataset) {
|
|
232
259
|
if (dataset.sequenceBy !== undefined) {
|
|
233
|
-
throw new
|
|
260
|
+
throw new LakeStorageError2(`[SixbLake] Dataset '${dataset.id}' declares sequenceBy; use beginMerge with source-ordered changes.`);
|
|
234
261
|
}
|
|
235
262
|
}
|
|
236
263
|
|
|
237
264
|
// src/lake-storage/version-inputs.ts
|
|
238
|
-
function
|
|
265
|
+
function hasDatasetInputChanges2(previous, next) {
|
|
239
266
|
if (next === undefined)
|
|
240
267
|
return false;
|
|
241
268
|
const keys = (refs) => new Set(refs.map((ref) => JSON.stringify([ref.datasetId, ref.versionId])));
|
|
@@ -280,7 +307,7 @@ function sameRowContent(left, right) {
|
|
|
280
307
|
}
|
|
281
308
|
function assertDatasetId(datasetId) {
|
|
282
309
|
if (datasetId.trim().length === 0) {
|
|
283
|
-
throw new
|
|
310
|
+
throw new LakeStorageError2("[LakeStorage] Dataset id must not be empty");
|
|
284
311
|
}
|
|
285
312
|
}
|
|
286
313
|
function errorMessage(error) {
|
|
@@ -302,14 +329,14 @@ class InMemoryLakeWriteSession {
|
|
|
302
329
|
const stagedRows = [];
|
|
303
330
|
const stagedPrimaryKeys = new Set;
|
|
304
331
|
for await (const row of rows) {
|
|
305
|
-
const validationError =
|
|
332
|
+
const validationError = getDatasetRowValidationError2(row, this.input.dataset);
|
|
306
333
|
if (validationError) {
|
|
307
|
-
throw new
|
|
334
|
+
throw new LakeStorageError2(`[LakeStorage] ${validationError}`);
|
|
308
335
|
}
|
|
309
|
-
if (
|
|
310
|
-
const primaryKey =
|
|
336
|
+
if (getDatasetPrimaryKeyColumns2(this.input.dataset) !== null) {
|
|
337
|
+
const primaryKey = encodeDatasetPrimaryKey2(this.input.dataset, row);
|
|
311
338
|
if (this.primaryKeys.has(primaryKey) || stagedPrimaryKeys.has(primaryKey)) {
|
|
312
|
-
throw new
|
|
339
|
+
throw new LakeStorageError2(`[LakeStorage] Dataset '${this.input.dataset.id}' write contains duplicate primary key ${primaryKey}.`);
|
|
313
340
|
}
|
|
314
341
|
stagedPrimaryKeys.add(primaryKey);
|
|
315
342
|
}
|
|
@@ -335,7 +362,7 @@ class InMemoryLakeWriteSession {
|
|
|
335
362
|
}
|
|
336
363
|
assertOpen() {
|
|
337
364
|
if (this.closed) {
|
|
338
|
-
throw new
|
|
365
|
+
throw new LakeStorageError2("[LakeStorage] Write session is already closed");
|
|
339
366
|
}
|
|
340
367
|
}
|
|
341
368
|
}
|
|
@@ -355,18 +382,18 @@ class InMemoryLakeMergeSession {
|
|
|
355
382
|
this.assertOpen();
|
|
356
383
|
const stagedChanges = [];
|
|
357
384
|
for await (const change of changes) {
|
|
358
|
-
const validationError =
|
|
385
|
+
const validationError = getDatasetMergeChangeValidationError2(change, this.input.dataset);
|
|
359
386
|
if (validationError) {
|
|
360
|
-
throw new
|
|
387
|
+
throw new LakeStorageError2(`[LakeStorage] ${validationError}`);
|
|
361
388
|
}
|
|
362
|
-
stagedChanges.push(
|
|
389
|
+
stagedChanges.push(cloneDatasetMergeChange2(change));
|
|
363
390
|
}
|
|
364
391
|
this.changes.push(...stagedChanges);
|
|
365
392
|
}
|
|
366
393
|
async commit(input) {
|
|
367
394
|
this.assertOpen();
|
|
368
395
|
this.closed = true;
|
|
369
|
-
return
|
|
396
|
+
return retryDatasetMergeCommit2(this.input, input, async (rebase) => this.storage.commitMerge({
|
|
370
397
|
merge: this.input,
|
|
371
398
|
baseVersionId: rebase ? (await this.storage.getLatestVersion(this.input.dataset.id))?.versionId ?? null : this.baseVersionId,
|
|
372
399
|
changes: this.changes,
|
|
@@ -379,12 +406,12 @@ class InMemoryLakeMergeSession {
|
|
|
379
406
|
}
|
|
380
407
|
assertOpen() {
|
|
381
408
|
if (this.closed) {
|
|
382
|
-
throw new
|
|
409
|
+
throw new LakeStorageError2("[LakeStorage] Merge session is already closed");
|
|
383
410
|
}
|
|
384
411
|
}
|
|
385
412
|
}
|
|
386
413
|
|
|
387
|
-
class
|
|
414
|
+
class InMemoryLakeStorage2 {
|
|
388
415
|
datasets = new Map;
|
|
389
416
|
versionsByDataset = new Map;
|
|
390
417
|
rowsByVersionId = new Map;
|
|
@@ -394,7 +421,7 @@ class InMemoryLakeStorage {
|
|
|
394
421
|
async createDataset(definition) {
|
|
395
422
|
assertDatasetId(definition.id);
|
|
396
423
|
const existing = this.datasets.get(definition.id);
|
|
397
|
-
const stored =
|
|
424
|
+
const stored = mergeStrictDatasetDefinition2({
|
|
398
425
|
existing,
|
|
399
426
|
next: definition
|
|
400
427
|
});
|
|
@@ -410,7 +437,7 @@ class InMemoryLakeStorage {
|
|
|
410
437
|
if (!existing) {
|
|
411
438
|
continue;
|
|
412
439
|
}
|
|
413
|
-
|
|
440
|
+
mergeStrictDatasetDefinition2({
|
|
414
441
|
existing,
|
|
415
442
|
next: definition
|
|
416
443
|
});
|
|
@@ -421,7 +448,7 @@ class InMemoryLakeStorage {
|
|
|
421
448
|
if (failures.length > 0) {
|
|
422
449
|
const details = failures.join(`
|
|
423
450
|
`);
|
|
424
|
-
throw new
|
|
451
|
+
throw new LakeStorageError2(`[SixbLake] Lake dataset definition check failed for ${failures.length} dataset(s).
|
|
425
452
|
${details}`);
|
|
426
453
|
}
|
|
427
454
|
}
|
|
@@ -458,9 +485,9 @@ ${details}`);
|
|
|
458
485
|
async beginWrite(input) {
|
|
459
486
|
const definition = await this.getDataset(input.dataset.id);
|
|
460
487
|
if (!definition) {
|
|
461
|
-
throw new
|
|
488
|
+
throw new LakeStorageError2(`[LakeStorage] Unknown dataset '${input.dataset.id}'`);
|
|
462
489
|
}
|
|
463
|
-
|
|
490
|
+
assertUnsequencedDatasetWrite2(definition);
|
|
464
491
|
return new InMemoryLakeWriteSession(this, {
|
|
465
492
|
...input,
|
|
466
493
|
dataset: definition,
|
|
@@ -470,14 +497,14 @@ ${details}`);
|
|
|
470
497
|
async beginMerge(input) {
|
|
471
498
|
const definition = await this.getDataset(input.dataset.id);
|
|
472
499
|
if (!definition) {
|
|
473
|
-
throw new
|
|
500
|
+
throw new LakeStorageError2(`[LakeStorage] Unknown dataset '${input.dataset.id}'`);
|
|
474
501
|
}
|
|
475
|
-
if (
|
|
476
|
-
throw new
|
|
502
|
+
if (getDatasetPrimaryKeyColumns2(definition) === null) {
|
|
503
|
+
throw new LakeStorageError2(`[LakeStorage] Dataset '${definition.id}' must define a primaryKey before it can be merged.`);
|
|
477
504
|
}
|
|
478
505
|
const latestVersion = await this.getLatestVersion(definition.id);
|
|
479
506
|
if (input.expectedLatestVersionId !== undefined && latestVersion?.versionId !== input.expectedLatestVersionId) {
|
|
480
|
-
throw new
|
|
507
|
+
throw new LakeConcurrencyError2(`[LakeStorage] Optimistic merge start failed for dataset '${definition.id}': expected latest version '${input.expectedLatestVersionId}', found '${latestVersion?.versionId ?? "none"}'`);
|
|
481
508
|
}
|
|
482
509
|
return new InMemoryLakeMergeSession(this, {
|
|
483
510
|
...input,
|
|
@@ -499,11 +526,11 @@ ${details}`);
|
|
|
499
526
|
async* readRows(input) {
|
|
500
527
|
const definition = this.datasets.get(input.datasetId);
|
|
501
528
|
if (!definition) {
|
|
502
|
-
throw new
|
|
529
|
+
throw new LakeStorageError2(`[LakeStorage] Unknown dataset '${input.datasetId}'`);
|
|
503
530
|
}
|
|
504
531
|
const version = input.versionId === undefined ? await this.getLatestVersion(input.datasetId) : await this.getVersion(input.datasetId, input.versionId);
|
|
505
532
|
if (!version) {
|
|
506
|
-
throw new
|
|
533
|
+
throw new LakeStorageError2(`[LakeStorage] No committed version found for dataset '${input.datasetId}'`);
|
|
507
534
|
}
|
|
508
535
|
const offset = Math.max(0, input.offset ?? 0);
|
|
509
536
|
const limit = input.limit === undefined ? undefined : Math.max(0, input.limit);
|
|
@@ -512,6 +539,73 @@ ${details}`);
|
|
|
512
539
|
yield selectColumns(row, input.columns);
|
|
513
540
|
}
|
|
514
541
|
}
|
|
542
|
+
async readChanges(input) {
|
|
543
|
+
input.signal?.throwIfAborted();
|
|
544
|
+
const before = await this.getVersion(input.datasetId, input.fromVersionId);
|
|
545
|
+
const after = await this.getVersion(input.datasetId, input.toVersionId);
|
|
546
|
+
if (!resolveDatasetChangeColumns2(input, before, after))
|
|
547
|
+
return null;
|
|
548
|
+
const previous = this.rowsByVersionId.get(input.fromVersionId);
|
|
549
|
+
const next = this.rowsByVersionId.get(input.toVersionId);
|
|
550
|
+
const index = (rows) => {
|
|
551
|
+
const result = new Map;
|
|
552
|
+
for (const row of rows) {
|
|
553
|
+
input.signal?.throwIfAborted();
|
|
554
|
+
const values = input.keyColumns.map((column) => row[column]);
|
|
555
|
+
if (values.some((value) => typeof value !== "string" || value.trim().length === 0))
|
|
556
|
+
return null;
|
|
557
|
+
const key = JSON.stringify(values);
|
|
558
|
+
if (result.has(key))
|
|
559
|
+
return null;
|
|
560
|
+
result.set(key, row);
|
|
561
|
+
}
|
|
562
|
+
return result;
|
|
563
|
+
};
|
|
564
|
+
const oldRows = index(previous);
|
|
565
|
+
const newRows = index(next);
|
|
566
|
+
if (!oldRows || !newRows)
|
|
567
|
+
return null;
|
|
568
|
+
let pending = [];
|
|
569
|
+
for (const [key, row] of oldRows) {
|
|
570
|
+
const newRow = newRows.get(key);
|
|
571
|
+
if (!newRow || input.columns.some((column) => !isDeepStrictEqual(row[column] ?? null, newRow[column] ?? null))) {
|
|
572
|
+
pending.push({
|
|
573
|
+
before: selectColumns(row, input.columns),
|
|
574
|
+
after: newRow ? selectColumns(newRow, input.columns) : null
|
|
575
|
+
});
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
for (const [key, row] of newRows) {
|
|
579
|
+
if (!oldRows.has(key))
|
|
580
|
+
pending.push({ before: null, after: selectColumns(row, input.columns) });
|
|
581
|
+
}
|
|
582
|
+
let closed = false;
|
|
583
|
+
const changeCount = pending.length;
|
|
584
|
+
return {
|
|
585
|
+
fromRowCount: previous.length,
|
|
586
|
+
toRowCount: next.length,
|
|
587
|
+
changeCount,
|
|
588
|
+
changes: async function* () {
|
|
589
|
+
if (closed)
|
|
590
|
+
throw new LakeStorageError2("[LakeStorage] Change reader is closed.");
|
|
591
|
+
try {
|
|
592
|
+
for (let i = 0;i < changeCount; i++) {
|
|
593
|
+
input.signal?.throwIfAborted();
|
|
594
|
+
if (closed)
|
|
595
|
+
throw new LakeStorageError2("[LakeStorage] Change reader is closed.");
|
|
596
|
+
yield structuredClone(pending[i]);
|
|
597
|
+
}
|
|
598
|
+
} finally {
|
|
599
|
+
closed = true;
|
|
600
|
+
pending = [];
|
|
601
|
+
}
|
|
602
|
+
}(),
|
|
603
|
+
async close() {
|
|
604
|
+
closed = true;
|
|
605
|
+
pending = [];
|
|
606
|
+
}
|
|
607
|
+
};
|
|
608
|
+
}
|
|
515
609
|
async commitWrite(options) {
|
|
516
610
|
return this.withDatasetCommitLock(options.write.dataset.id, () => this.commitWriteUnlocked(options));
|
|
517
611
|
}
|
|
@@ -519,25 +613,25 @@ ${details}`);
|
|
|
519
613
|
return this.withDatasetCommitLock(options.merge.dataset.id, async () => {
|
|
520
614
|
const definition = this.datasets.get(options.merge.dataset.id);
|
|
521
615
|
if (!definition) {
|
|
522
|
-
throw new
|
|
616
|
+
throw new LakeStorageError2(`[LakeStorage] Unknown dataset '${options.merge.dataset.id}'`);
|
|
523
617
|
}
|
|
524
618
|
const latestVersion = await this.getLatestVersion(options.merge.dataset.id);
|
|
525
619
|
options.commit?.signal?.throwIfAborted();
|
|
526
620
|
const actualVersionId = latestVersion?.versionId ?? null;
|
|
527
621
|
if (actualVersionId !== options.baseVersionId) {
|
|
528
|
-
throw new
|
|
622
|
+
throw new LakeConcurrencyError2(`[LakeStorage] Optimistic merge commit failed for dataset '${options.merge.dataset.id}': expected latest version '${options.baseVersionId ?? "none"}', found '${actualVersionId ?? "none"}'`);
|
|
529
623
|
}
|
|
530
624
|
const previousRows = this.rowsByVersionId.get(latestVersion?.versionId ?? "") ?? [];
|
|
531
625
|
const previousByKey = this.rowsByPrimaryKey(previousRows, definition);
|
|
532
626
|
const finalChanges = new Map;
|
|
533
|
-
const ordered = definition.sequenceBy === undefined ? undefined :
|
|
627
|
+
const ordered = definition.sequenceBy === undefined ? undefined : reconcileDatasetSequences2(definition, this.sequencesByVersionId.get(actualVersionId ?? "") ?? new Map, options.changes.map((change) => datasetSequenceChange2(definition, change)));
|
|
534
628
|
if (ordered) {
|
|
535
629
|
for (const [key, index] of ordered.accepted)
|
|
536
630
|
finalChanges.set(key, options.changes[index]);
|
|
537
631
|
} else {
|
|
538
632
|
for (const change of options.changes) {
|
|
539
633
|
const value = change.kind === "upsert" ? change.row : change.key;
|
|
540
|
-
finalChanges.set(
|
|
634
|
+
finalChanges.set(encodeDatasetPrimaryKey2(definition, value), change);
|
|
541
635
|
}
|
|
542
636
|
}
|
|
543
637
|
const nextByKey = new Map(previousByKey);
|
|
@@ -583,19 +677,19 @@ ${details}`);
|
|
|
583
677
|
async commitWriteUnlocked(options) {
|
|
584
678
|
const definition = this.datasets.get(options.write.dataset.id);
|
|
585
679
|
if (!definition) {
|
|
586
|
-
throw new
|
|
680
|
+
throw new LakeStorageError2(`[LakeStorage] Unknown dataset '${options.write.dataset.id}'`);
|
|
587
681
|
}
|
|
588
682
|
const mode = options.write.mode ?? "snapshot";
|
|
589
|
-
|
|
683
|
+
assertUnsequencedDatasetWrite2(definition);
|
|
590
684
|
const latestVersion = await this.getLatestVersion(options.write.dataset.id);
|
|
591
685
|
if (options.commit?.expectedLatestVersionId !== undefined) {
|
|
592
686
|
const actual = latestVersion?.versionId ?? null;
|
|
593
687
|
if (actual !== options.commit.expectedLatestVersionId) {
|
|
594
|
-
throw new
|
|
688
|
+
throw new LakeConcurrencyError2(`[LakeStorage] Optimistic commit failed for dataset '${options.write.dataset.id}': expected latest version '${options.commit.expectedLatestVersionId ?? "none"}', found '${actual ?? "none"}'`);
|
|
595
689
|
}
|
|
596
690
|
}
|
|
597
691
|
this.assertKeyedWriteIsUnique(mode, options.rows, latestVersion, definition);
|
|
598
|
-
if (latestVersion && !
|
|
692
|
+
if (latestVersion && !hasDatasetInputChanges2(latestVersion.inputs, options.write.inputs) && this.isUnchangedWrite(mode, latestVersion, options.rows, definition.schema)) {
|
|
599
693
|
return { ...latestVersion, outcome: "unchanged" };
|
|
600
694
|
}
|
|
601
695
|
const versionId = `ver_${randomUUID()}`;
|
|
@@ -629,7 +723,7 @@ ${details}`);
|
|
|
629
723
|
return sameRowContent(rows.map((row) => rowContentKey(row, schema)), previousRows.map((row) => rowContentKey(row, schema)));
|
|
630
724
|
}
|
|
631
725
|
assertKeyedWriteIsUnique(mode, rows, latestVersion, definition) {
|
|
632
|
-
if (
|
|
726
|
+
if (getDatasetPrimaryKeyColumns2(definition) === null) {
|
|
633
727
|
return;
|
|
634
728
|
}
|
|
635
729
|
const stagedByKey = this.rowsByPrimaryKey(rows, definition);
|
|
@@ -640,16 +734,16 @@ ${details}`);
|
|
|
640
734
|
const previousByKey = this.rowsByPrimaryKey(previousRows, definition);
|
|
641
735
|
for (const primaryKey of stagedByKey.keys()) {
|
|
642
736
|
if (previousByKey.has(primaryKey)) {
|
|
643
|
-
throw new
|
|
737
|
+
throw new LakeStorageError2(`[LakeStorage] Dataset '${definition.id}' append contains duplicate primary key ${primaryKey}.`);
|
|
644
738
|
}
|
|
645
739
|
}
|
|
646
740
|
}
|
|
647
741
|
rowsByPrimaryKey(rows, definition) {
|
|
648
742
|
const byKey = new Map;
|
|
649
743
|
for (const row of rows) {
|
|
650
|
-
const primaryKey =
|
|
744
|
+
const primaryKey = encodeDatasetPrimaryKey2(definition, row);
|
|
651
745
|
if (byKey.has(primaryKey)) {
|
|
652
|
-
throw new
|
|
746
|
+
throw new LakeStorageError2(`[LakeStorage] Dataset '${definition.id}' contains duplicate primary key ${primaryKey}.`);
|
|
653
747
|
}
|
|
654
748
|
byKey.set(primaryKey, row);
|
|
655
749
|
}
|
|
@@ -687,6 +781,6 @@ ${details}`);
|
|
|
687
781
|
}
|
|
688
782
|
}
|
|
689
783
|
}
|
|
690
|
-
export {
|
|
784
|
+
export { resolveDatasetChangeColumns2, planDatasetDefinitionUpdate2, mergeStrictDatasetDefinition2, assertLakeDatasetDefinitionsCompatible2, retryDatasetMergeCommit2, datasetSequenceChange2, reconcileDatasetSequences2, assertUnsequencedDatasetWrite2, hasDatasetInputChanges2, InMemoryLakeStorage2 };
|
|
691
785
|
|
|
692
|
-
//# debugId=
|
|
786
|
+
//# debugId=8B7567B39BAB0B9A64756E2164756E21
|