@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
|
@@ -86,7 +86,6 @@ import {
|
|
|
86
86
|
publicLinkSlotOverride,
|
|
87
87
|
publicObjectOverride,
|
|
88
88
|
storedPoint,
|
|
89
|
-
storedSource,
|
|
90
89
|
storedSourceLink,
|
|
91
90
|
storedSourceObject,
|
|
92
91
|
uniqueBy,
|
|
@@ -117,6 +116,7 @@ import {
|
|
|
117
116
|
projectEntityKey,
|
|
118
117
|
sourceMaterializationKey,
|
|
119
118
|
} from "./shared-state"
|
|
119
|
+
import { activateSourceRoots, previousSourceRows } from "./source-roots"
|
|
120
120
|
|
|
121
121
|
export interface SessionState {
|
|
122
122
|
readonly providerToken: object
|
|
@@ -160,7 +160,7 @@ export interface ReplacementLinkWork {
|
|
|
160
160
|
export interface ReplacementSessionState {
|
|
161
161
|
readonly sourceId: string
|
|
162
162
|
readonly candidateMaterializationId: string
|
|
163
|
-
readonly
|
|
163
|
+
readonly owned: Set<string>
|
|
164
164
|
readonly candidate: InMemorySourceMaterialization
|
|
165
165
|
readonly objects: Map<string, ReplacementObjectWork>
|
|
166
166
|
readonly links: Map<string, ReplacementLinkWork>
|
|
@@ -432,8 +432,7 @@ export class InMemoryOntologyMaterializationStorage implements OntologyMateriali
|
|
|
432
432
|
for (const entry of selected) {
|
|
433
433
|
const key = projectionEntityKey({ kind: "link", ref: entry.ref })
|
|
434
434
|
const base = await this.linkState(session, entry.ref)
|
|
435
|
-
const ownedByReplacement =
|
|
436
|
-
replacement.previous?.rowsByEntity.has(key) || replacement.candidate.rowsByEntity.has(key)
|
|
435
|
+
const ownedByReplacement = replacement.owned.has(key)
|
|
437
436
|
links.push({
|
|
438
437
|
ref: base.ref,
|
|
439
438
|
candidateSource: ownedByReplacement
|
|
@@ -788,6 +787,7 @@ export class InMemoryOntologyMaterializationStorage implements OntologyMateriali
|
|
|
788
787
|
}
|
|
789
788
|
)
|
|
790
789
|
}
|
|
790
|
+
activateSourceRoots(this.state, candidate, activation)
|
|
791
791
|
this.state.sourceMaterializations.set(candidateKey, {
|
|
792
792
|
...candidate,
|
|
793
793
|
status: "active",
|
|
@@ -872,7 +872,7 @@ export class InMemoryOntologyMaterializationStorage implements OntologyMateriali
|
|
|
872
872
|
const replacement: ReplacementSessionState = {
|
|
873
873
|
sourceId,
|
|
874
874
|
candidateMaterializationId: input.candidateMaterializationId,
|
|
875
|
-
|
|
875
|
+
owned: new Set(),
|
|
876
876
|
candidate,
|
|
877
877
|
objects: new Map(),
|
|
878
878
|
links: new Map(),
|
|
@@ -886,9 +886,12 @@ export class InMemoryOntologyMaterializationStorage implements OntologyMateriali
|
|
|
886
886
|
linkStreamCompleted: false,
|
|
887
887
|
linksExpanded: false,
|
|
888
888
|
}
|
|
889
|
-
for (const
|
|
890
|
-
|
|
891
|
-
|
|
889
|
+
for (const rows of [
|
|
890
|
+
previousSourceRows(this.state, candidate),
|
|
891
|
+
candidate.rowsByEntity.values(),
|
|
892
|
+
]) {
|
|
893
|
+
for (const row of rows) {
|
|
894
|
+
replacement.owned.add(projectionEntityKey(row.assertion))
|
|
892
895
|
if (row.assertion.kind === "object") {
|
|
893
896
|
const ref = row.assertion.ref
|
|
894
897
|
replacement.objects.set(objectRefKey(ref), { ref, sortKey: objectRefSortKey(ref) })
|
|
@@ -915,54 +918,54 @@ export class InMemoryOntologyMaterializationStorage implements OntologyMateriali
|
|
|
915
918
|
incident.has(objectRefKey(ref.source)) || incident.has(objectRefKey(ref.target))
|
|
916
919
|
|
|
917
920
|
const adapter = getInMemoryObjectMaterializerAdapter(this.objects)
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
for (const override of this.state.linkSlotOverrides.values()) {
|
|
927
|
-
if (override.projectId !== projectId) continue
|
|
928
|
-
const ref = {
|
|
929
|
-
source: override.ref.source,
|
|
930
|
-
linkId: override.ref.linkId,
|
|
931
|
-
target: override.value.target,
|
|
921
|
+
if (incident.size > 0) {
|
|
922
|
+
adapter.visitExactLinks(projectId, (row) => {
|
|
923
|
+
const ref = linkRef(row)
|
|
924
|
+
if (touchesIncident(ref)) addReplacementLink(replacement, ref, true)
|
|
925
|
+
})
|
|
926
|
+
for (const override of this.state.linkOverrides.values()) {
|
|
927
|
+
if (override.projectId !== projectId) continue
|
|
928
|
+
if (touchesIncident(override.ref)) addReplacementLink(replacement, override.ref, true)
|
|
932
929
|
}
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
addReplacementLink(replacement, row.assertion.ref, true)
|
|
930
|
+
for (const override of this.state.linkSlotOverrides.values()) {
|
|
931
|
+
if (override.projectId !== projectId) continue
|
|
932
|
+
const ref = {
|
|
933
|
+
source: override.ref.source,
|
|
934
|
+
linkId: override.ref.linkId,
|
|
935
|
+
target: override.value.target,
|
|
940
936
|
}
|
|
937
|
+
if (touchesIncident(ref)) addReplacementLink(replacement, ref, true)
|
|
941
938
|
}
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
})
|
|
950
|
-
for (const override of this.state.linkSlotOverrides.values()) {
|
|
951
|
-
if (
|
|
952
|
-
override.projectId === projectId &&
|
|
953
|
-
replacement.affectedScopes.has(linkScopeSortKey(override.ref.source, override.ref.linkId))
|
|
954
|
-
) {
|
|
955
|
-
addReplacementLink(
|
|
956
|
-
replacement,
|
|
957
|
-
{
|
|
958
|
-
source: override.ref.source,
|
|
959
|
-
linkId: override.ref.linkId,
|
|
960
|
-
target: override.value.target,
|
|
961
|
-
},
|
|
962
|
-
false
|
|
963
|
-
)
|
|
939
|
+
for (const [scopeKey, rows] of this.state.activeSourceLinkScopes) {
|
|
940
|
+
if (JSON.parse(scopeKey)[0] !== projectId) continue
|
|
941
|
+
for (const row of rows.values()) {
|
|
942
|
+
if (row.assertion.kind === "link" && touchesIncident(row.assertion.ref)) {
|
|
943
|
+
addReplacementLink(replacement, row.assertion.ref, true)
|
|
944
|
+
}
|
|
945
|
+
}
|
|
964
946
|
}
|
|
965
947
|
}
|
|
948
|
+
const scopes = new Map<string, { source: OntologyObjectRef; linkId: string }>()
|
|
949
|
+
for (const { ref } of replacement.links.values()) {
|
|
950
|
+
const key = linkScopeSortKey(ref.source, ref.linkId)
|
|
951
|
+
if (replacement.affectedScopes.has(key)) scopes.set(key, ref)
|
|
952
|
+
}
|
|
953
|
+
for (const scope of scopes.values()) {
|
|
954
|
+
adapter.visitExactScopeLinks(
|
|
955
|
+
projectId,
|
|
956
|
+
scope.source.objectTypeId,
|
|
957
|
+
scope.source.primaryId,
|
|
958
|
+
scope.linkId,
|
|
959
|
+
(row) => {
|
|
960
|
+
addReplacementLink(replacement, linkRef(row), false)
|
|
961
|
+
}
|
|
962
|
+
)
|
|
963
|
+
const override = this.state.linkSlotOverrides.get(
|
|
964
|
+
projectEntityKey(projectId, linkScopeKey(scope.source, scope.linkId))
|
|
965
|
+
)
|
|
966
|
+
if (override)
|
|
967
|
+
addReplacementLink(replacement, { ...scope, target: override.value.target }, false)
|
|
968
|
+
}
|
|
966
969
|
replacement.linksExpanded = true
|
|
967
970
|
replacement.orderedLinks = null
|
|
968
971
|
}
|
|
@@ -1206,31 +1209,15 @@ export class InMemoryOntologyMaterializationStorage implements OntologyMateriali
|
|
|
1206
1209
|
source: OntologyObjectRef,
|
|
1207
1210
|
linkId: string
|
|
1208
1211
|
): StoredSourceLinkAssertion | null {
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
continue
|
|
1219
|
-
}
|
|
1220
|
-
if (found) {
|
|
1221
|
-
throw new MaterializationConflictError(
|
|
1222
|
-
"source-materialization",
|
|
1223
|
-
`Multiple active source links assert cardinality-one scope '${source.objectTypeId}.${linkId}'.`
|
|
1224
|
-
)
|
|
1225
|
-
}
|
|
1226
|
-
found = storedSource(
|
|
1227
|
-
active.source.projectionId,
|
|
1228
|
-
active.materializationId,
|
|
1229
|
-
row
|
|
1230
|
-
) as StoredSourceLinkAssertion
|
|
1231
|
-
}
|
|
1232
|
-
}
|
|
1233
|
-
return structuredClone(found)
|
|
1212
|
+
const rows = this.state.activeSourceLinkScopes.get(
|
|
1213
|
+
projectEntityKey(projectId, linkScopeSortKey(source, linkId))
|
|
1214
|
+
)
|
|
1215
|
+
if (rows && rows.size > 1)
|
|
1216
|
+
throw new MaterializationConflictError(
|
|
1217
|
+
"source-materialization",
|
|
1218
|
+
`Multiple active source links assert cardinality-one scope '${source.objectTypeId}.${linkId}'.`
|
|
1219
|
+
)
|
|
1220
|
+
return structuredClone(rows?.values().next().value ?? null)
|
|
1234
1221
|
}
|
|
1235
1222
|
|
|
1236
1223
|
private findActiveObjectSource(
|
|
@@ -1250,19 +1237,13 @@ export class InMemoryOntologyMaterializationStorage implements OntologyMateriali
|
|
|
1250
1237
|
}
|
|
1251
1238
|
|
|
1252
1239
|
private findActiveSource(projectId: string, entityKey: string): StoredSourceAssertion | null {
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
"source-materialization",
|
|
1261
|
-
`Multiple active sources assert ${entityKey}.`
|
|
1262
|
-
)
|
|
1263
|
-
found = storedSource(active.source.projectionId, active.materializationId, row)
|
|
1264
|
-
}
|
|
1265
|
-
return structuredClone(found)
|
|
1240
|
+
const rows = this.state.activeSourceRows.get(projectEntityKey(projectId, entityKey))
|
|
1241
|
+
if (rows && rows.size > 1)
|
|
1242
|
+
throw new MaterializationConflictError(
|
|
1243
|
+
"source-materialization",
|
|
1244
|
+
`Multiple active sources assert ${entityKey}.`
|
|
1245
|
+
)
|
|
1246
|
+
return structuredClone(rows?.values().next().value ?? null)
|
|
1266
1247
|
}
|
|
1267
1248
|
|
|
1268
1249
|
private incidentLinkRefs(
|
|
@@ -1307,9 +1288,9 @@ export class InMemoryOntologyMaterializationStorage implements OntologyMateriali
|
|
|
1307
1288
|
target: override.value.target,
|
|
1308
1289
|
})
|
|
1309
1290
|
}
|
|
1310
|
-
for (const
|
|
1311
|
-
if (
|
|
1312
|
-
for (const row of
|
|
1291
|
+
for (const [scopeKey, rows] of this.state.activeSourceLinkScopes) {
|
|
1292
|
+
if (JSON.parse(scopeKey)[0] !== projectId) continue
|
|
1293
|
+
for (const row of rows.values()) {
|
|
1313
1294
|
if (row.assertion.kind === "link") consider(row.assertion.ref)
|
|
1314
1295
|
}
|
|
1315
1296
|
}
|
|
@@ -2,6 +2,7 @@ import { MaterializationValidationError } from "../../../materialization/errors"
|
|
|
2
2
|
import type {
|
|
3
3
|
LinkSlotOverride,
|
|
4
4
|
OntologyMaterializationOrigin,
|
|
5
|
+
ProjectionEntityRef,
|
|
5
6
|
} from "../../../materialization/model"
|
|
6
7
|
import type { OntologyCommitOriginSelector, OntologyCommitRecord } from "../commits"
|
|
7
8
|
import type {
|
|
@@ -11,9 +12,24 @@ import type {
|
|
|
11
12
|
StoredObjectOverride,
|
|
12
13
|
} from "../materializations"
|
|
13
14
|
import type { OntologyOutboxRecord } from "../outbox"
|
|
14
|
-
import type {
|
|
15
|
+
import type {
|
|
16
|
+
OntologySourceRecord,
|
|
17
|
+
StageSourceAssertion,
|
|
18
|
+
StoredSourceAssertion,
|
|
19
|
+
StoredSourceLinkAssertion,
|
|
20
|
+
} from "../sources"
|
|
21
|
+
|
|
22
|
+
export interface InMemorySourceRoot {
|
|
23
|
+
readonly root: ProjectionEntityRef
|
|
24
|
+
readonly stagingOrdinal: number
|
|
25
|
+
readonly deleted: boolean
|
|
26
|
+
readonly entityKeys: Set<string>
|
|
27
|
+
active: boolean
|
|
28
|
+
retiredAt: string | null
|
|
29
|
+
}
|
|
15
30
|
|
|
16
31
|
export interface InMemorySourceMaterialization extends OntologySourceRecord {
|
|
32
|
+
readonly roots: Map<string, InMemorySourceRoot>
|
|
17
33
|
readonly rowsByEntity: Map<string, StageSourceAssertion>
|
|
18
34
|
readonly rootOrdinals: Map<string, number>
|
|
19
35
|
readonly ordinalRoots: Map<number, string>
|
|
@@ -37,6 +53,10 @@ export interface InMemoryOntologyState {
|
|
|
37
53
|
readonly commitIdByIdempotency: Map<string, string>
|
|
38
54
|
readonly commitIdByOrigin: Map<string, string>
|
|
39
55
|
readonly sourceMaterializations: Map<string, InMemorySourceMaterialization>
|
|
56
|
+
readonly activeSourceHeads: Map<string, string>
|
|
57
|
+
readonly activeSourceRoots: Map<string, Map<string, string>>
|
|
58
|
+
readonly activeSourceRows: Map<string, Map<string, StoredSourceAssertion>>
|
|
59
|
+
readonly activeSourceLinkScopes: Map<string, Map<string, StoredSourceLinkAssertion>>
|
|
40
60
|
readonly objectOverrides: Map<string, InMemoryStoredObjectOverride>
|
|
41
61
|
readonly linkOverrides: Map<string, InMemoryStoredLinkOverride>
|
|
42
62
|
readonly linkSlotOverrides: Map<string, InMemoryStoredLinkSlotOverride>
|
|
@@ -57,6 +77,10 @@ export function createInMemoryOntologyState(): InMemoryOntologyState {
|
|
|
57
77
|
commitIdByIdempotency: new Map(),
|
|
58
78
|
commitIdByOrigin: new Map(),
|
|
59
79
|
sourceMaterializations: new Map(),
|
|
80
|
+
activeSourceHeads: new Map(),
|
|
81
|
+
activeSourceRoots: new Map(),
|
|
82
|
+
activeSourceRows: new Map(),
|
|
83
|
+
activeSourceLinkScopes: new Map(),
|
|
60
84
|
objectOverrides: new Map(),
|
|
61
85
|
linkOverrides: new Map(),
|
|
62
86
|
linkSlotOverrides: new Map(),
|
|
@@ -83,6 +107,7 @@ export function sourceMaterializationRecord(
|
|
|
83
107
|
rowsByEntity: _rows,
|
|
84
108
|
rootOrdinals: _roots,
|
|
85
109
|
ordinalRoots: _ordinals,
|
|
110
|
+
roots: _sourceRoots,
|
|
86
111
|
...record
|
|
87
112
|
} = materialization
|
|
88
113
|
return structuredClone(record)
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { MaterializationConflictError } from "../../../materialization/errors"
|
|
2
|
+
import { linkScopeSortKey, projectionEntityKey } from "../../../materialization/refs"
|
|
3
|
+
import type { SourceActivationWrite } from "../materializations"
|
|
4
|
+
import type { StoredSourceAssertion, StoredSourceLinkAssertion } from "../sources"
|
|
5
|
+
import { storedSource } from "./materializations-state"
|
|
6
|
+
import {
|
|
7
|
+
type InMemoryOntologyState,
|
|
8
|
+
type InMemorySourceMaterialization,
|
|
9
|
+
projectEntityKey,
|
|
10
|
+
sourceMaterializationKey,
|
|
11
|
+
} from "./shared-state"
|
|
12
|
+
|
|
13
|
+
export function* previousSourceRows(
|
|
14
|
+
state: InMemoryOntologyState,
|
|
15
|
+
candidate: InMemorySourceMaterialization
|
|
16
|
+
): Iterable<StoredSourceAssertion> {
|
|
17
|
+
const sourceKey = projectEntityKey(candidate.projectId, candidate.source.projectionId)
|
|
18
|
+
const active = state.activeSourceRoots.get(sourceKey)
|
|
19
|
+
if (!active) return
|
|
20
|
+
for (const rootKey of candidate.base ? candidate.roots.keys() : active.keys()) {
|
|
21
|
+
const materializationId = active.get(rootKey)
|
|
22
|
+
if (!materializationId) continue
|
|
23
|
+
const materialization = state.sourceMaterializations.get(
|
|
24
|
+
sourceMaterializationKey(
|
|
25
|
+
candidate.projectId,
|
|
26
|
+
candidate.source.projectionId,
|
|
27
|
+
materializationId
|
|
28
|
+
)
|
|
29
|
+
)!
|
|
30
|
+
for (const entityKey of materialization.roots.get(rootKey)!.entityKeys) {
|
|
31
|
+
yield storedSource(
|
|
32
|
+
candidate.source.projectionId,
|
|
33
|
+
materializationId,
|
|
34
|
+
materialization.rowsByEntity.get(entityKey)!
|
|
35
|
+
)
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function activateSourceRoots(
|
|
41
|
+
state: InMemoryOntologyState,
|
|
42
|
+
candidate: InMemorySourceMaterialization,
|
|
43
|
+
activation: SourceActivationWrite
|
|
44
|
+
): void {
|
|
45
|
+
if (
|
|
46
|
+
candidate.base &&
|
|
47
|
+
(candidate.base.materializationId !== activation.expected.activeMaterializationId ||
|
|
48
|
+
candidate.base.lastCommitId !== activation.expected.lastCommitId)
|
|
49
|
+
) {
|
|
50
|
+
throw new MaterializationConflictError(
|
|
51
|
+
"projection-fence",
|
|
52
|
+
"Source delta base changed before activation."
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
const sourceKey = projectEntityKey(candidate.projectId, candidate.source.projectionId)
|
|
56
|
+
const active = state.activeSourceRoots.get(sourceKey) ?? new Map<string, string>()
|
|
57
|
+
for (const key of candidate.base ? candidate.roots.keys() : [...active.keys()]) {
|
|
58
|
+
const materializationId = active.get(key)
|
|
59
|
+
if (!materializationId) continue
|
|
60
|
+
const old = state.sourceMaterializations.get(
|
|
61
|
+
sourceMaterializationKey(
|
|
62
|
+
candidate.projectId,
|
|
63
|
+
candidate.source.projectionId,
|
|
64
|
+
materializationId
|
|
65
|
+
)
|
|
66
|
+
)!
|
|
67
|
+
const root = old.roots.get(key)!
|
|
68
|
+
root.active = false
|
|
69
|
+
root.retiredAt = activation.updatedAt
|
|
70
|
+
active.delete(key)
|
|
71
|
+
for (const entityKey of root.entityKeys) {
|
|
72
|
+
const row = old.rowsByEntity.get(entityKey)!
|
|
73
|
+
const indexKey = projectEntityKey(candidate.projectId, entityKey)
|
|
74
|
+
const sources = state.activeSourceRows.get(indexKey)!
|
|
75
|
+
sources.delete(candidate.source.projectionId)
|
|
76
|
+
if (sources.size === 0) state.activeSourceRows.delete(indexKey)
|
|
77
|
+
if (row.assertion.kind === "link") {
|
|
78
|
+
const scopeKey = projectEntityKey(
|
|
79
|
+
candidate.projectId,
|
|
80
|
+
linkScopeSortKey(row.assertion.ref.source, row.assertion.ref.linkId)
|
|
81
|
+
)
|
|
82
|
+
const scope = state.activeSourceLinkScopes.get(scopeKey)!
|
|
83
|
+
scope.delete(JSON.stringify([candidate.source.projectionId, entityKey]))
|
|
84
|
+
if (scope.size === 0) state.activeSourceLinkScopes.delete(scopeKey)
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
for (const [rootKey, root] of candidate.roots) {
|
|
89
|
+
root.active = !root.deleted
|
|
90
|
+
root.retiredAt = root.deleted ? activation.updatedAt : null
|
|
91
|
+
if (root.deleted) continue
|
|
92
|
+
active.set(rootKey, candidate.materializationId)
|
|
93
|
+
for (const entityKey of root.entityKeys) {
|
|
94
|
+
// These are internal immutable assertions. Share their payload between indexes;
|
|
95
|
+
// read methods clone returned values and transaction snapshots preserve aliases.
|
|
96
|
+
const row = {
|
|
97
|
+
source: candidate.source,
|
|
98
|
+
materializationId: candidate.materializationId,
|
|
99
|
+
...candidate.rowsByEntity.get(entityKey)!,
|
|
100
|
+
} as StoredSourceAssertion
|
|
101
|
+
const indexKey = projectEntityKey(candidate.projectId, projectionEntityKey(row.assertion))
|
|
102
|
+
const sources =
|
|
103
|
+
state.activeSourceRows.get(indexKey) ?? new Map<string, StoredSourceAssertion>()
|
|
104
|
+
sources.set(candidate.source.projectionId, row)
|
|
105
|
+
state.activeSourceRows.set(indexKey, sources)
|
|
106
|
+
if (row.assertion.kind === "link") {
|
|
107
|
+
const scopeKey = projectEntityKey(
|
|
108
|
+
candidate.projectId,
|
|
109
|
+
linkScopeSortKey(row.assertion.ref.source, row.assertion.ref.linkId)
|
|
110
|
+
)
|
|
111
|
+
const scope =
|
|
112
|
+
state.activeSourceLinkScopes.get(scopeKey) ?? new Map<string, StoredSourceLinkAssertion>()
|
|
113
|
+
scope.set(
|
|
114
|
+
JSON.stringify([candidate.source.projectionId, entityKey]),
|
|
115
|
+
row as StoredSourceLinkAssertion
|
|
116
|
+
)
|
|
117
|
+
state.activeSourceLinkScopes.set(scopeKey, scope)
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
state.activeSourceRoots.set(sourceKey, active)
|
|
122
|
+
state.activeSourceHeads.set(sourceKey, candidate.materializationId)
|
|
123
|
+
}
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
isExactStagingManifest,
|
|
14
14
|
sourceConflict,
|
|
15
15
|
sourceMaterializationIdentity,
|
|
16
|
+
sourceStageRoots,
|
|
16
17
|
} from "../provider"
|
|
17
18
|
import type {
|
|
18
19
|
AbandonSourceMaterializationCandidateInput,
|
|
@@ -32,6 +33,7 @@ import type {
|
|
|
32
33
|
SummarizeTerminalSourceMaterializationsInput,
|
|
33
34
|
TerminalSourceMaterializationSummary,
|
|
34
35
|
} from "../sources"
|
|
36
|
+
import { findActiveSourceMaterialization } from "./materializations-state"
|
|
35
37
|
import {
|
|
36
38
|
assertNonblank,
|
|
37
39
|
type InMemoryOntologyState,
|
|
@@ -93,6 +95,7 @@ export class InMemoryOntologySourceStorage implements OntologySourceStorage {
|
|
|
93
95
|
projectionRevision: input.projectionRevision,
|
|
94
96
|
ownershipHash: input.ownershipHash,
|
|
95
97
|
ontologyRevision: input.ontologyRevision,
|
|
98
|
+
...(input.base ? { base: structuredClone(input.base) } : {}),
|
|
96
99
|
rootCount: null,
|
|
97
100
|
assertionCount: null,
|
|
98
101
|
createdAt: input.createdAt,
|
|
@@ -102,6 +105,7 @@ export class InMemoryOntologySourceStorage implements OntologySourceStorage {
|
|
|
102
105
|
lastCommitId: null,
|
|
103
106
|
updatedAt: input.createdAt,
|
|
104
107
|
rowsByEntity: new Map(),
|
|
108
|
+
roots: new Map(),
|
|
105
109
|
rootOrdinals: new Map(),
|
|
106
110
|
ordinalRoots: new Map(),
|
|
107
111
|
}
|
|
@@ -121,7 +125,7 @@ export class InMemoryOntologySourceStorage implements OntologySourceStorage {
|
|
|
121
125
|
`Source materialization '${input.materializationId}' is '${materialization.status}' and cannot accept rows.`
|
|
122
126
|
)
|
|
123
127
|
}
|
|
124
|
-
return stageRowsAtomically(materialization, input
|
|
128
|
+
return stageRowsAtomically(materialization, input)
|
|
125
129
|
})
|
|
126
130
|
}
|
|
127
131
|
|
|
@@ -178,18 +182,12 @@ export class InMemoryOntologySourceStorage implements OntologySourceStorage {
|
|
|
178
182
|
async getActive(input: GetActiveOntologySourceInput): Promise<OntologySourceRecord | null> {
|
|
179
183
|
return this.runRootOperation(() => {
|
|
180
184
|
assertProjectAndSource(input)
|
|
181
|
-
const active =
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
materialization.status === "active"
|
|
185
|
+
const active = findActiveSourceMaterialization(
|
|
186
|
+
this.state,
|
|
187
|
+
input.projectId,
|
|
188
|
+
input.source.projectionId
|
|
186
189
|
)
|
|
187
|
-
|
|
188
|
-
throw sourceConflict(
|
|
189
|
-
`Source '${input.source.projectionId}' has more than one active materialization.`
|
|
190
|
-
)
|
|
191
|
-
}
|
|
192
|
-
return active[0] ? sourceMaterializationRecord(active[0]) : null
|
|
190
|
+
return active ? sourceMaterializationRecord(active) : null
|
|
193
191
|
})
|
|
194
192
|
}
|
|
195
193
|
|
|
@@ -230,6 +228,14 @@ export class InMemoryOntologySourceStorage implements OntologySourceStorage {
|
|
|
230
228
|
) {
|
|
231
229
|
continue
|
|
232
230
|
}
|
|
231
|
+
if (
|
|
232
|
+
materialization.roots.size > 0 &&
|
|
233
|
+
![...materialization.roots.values()].some(
|
|
234
|
+
(root) =>
|
|
235
|
+
!root.active && root.retiredAt !== null && root.retiredAt < input.terminalBefore
|
|
236
|
+
)
|
|
237
|
+
)
|
|
238
|
+
continue
|
|
233
239
|
insertBounded(candidates, entry, input.limit, compareTerminalMaterializations)
|
|
234
240
|
}
|
|
235
241
|
|
|
@@ -240,18 +246,28 @@ export class InMemoryOntologySourceStorage implements OntologySourceStorage {
|
|
|
240
246
|
if (remaining === 0) break
|
|
241
247
|
const current = this.state.sourceMaterializations.get(key)
|
|
242
248
|
if (current !== candidate) continue
|
|
243
|
-
// Terminal manifests never participate in reads or activation again. Release their
|
|
244
|
-
// ingestion-only indexes immediately instead of retaining O(root count) memory until the
|
|
245
|
-
// last child row is removed by a later bounded cleanup pass.
|
|
246
249
|
current.rootOrdinals.clear()
|
|
247
250
|
current.ordinalRoots.clear()
|
|
248
|
-
for (const
|
|
251
|
+
for (const [rootKey, root] of current.roots) {
|
|
249
252
|
if (remaining === 0) break
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
+
if (root.active || root.retiredAt === null || root.retiredAt >= input.terminalBefore)
|
|
254
|
+
continue
|
|
255
|
+
for (const entityKey of root.entityKeys) {
|
|
256
|
+
if (remaining === 0) break
|
|
257
|
+
current.rowsByEntity.delete(entityKey)
|
|
258
|
+
root.entityKeys.delete(entityKey)
|
|
259
|
+
rowsDeleted += 1
|
|
260
|
+
remaining -= 1
|
|
261
|
+
}
|
|
262
|
+
if (root.entityKeys.size === 0 && remaining > 0) {
|
|
263
|
+
current.roots.delete(rootKey)
|
|
264
|
+
current.rootOrdinals.delete(rootKey)
|
|
265
|
+
current.ordinalRoots.delete(root.stagingOrdinal)
|
|
266
|
+
rowsDeleted += 1
|
|
267
|
+
remaining -= 1
|
|
268
|
+
}
|
|
253
269
|
}
|
|
254
|
-
if (current.rowsByEntity.size === 0 && remaining > 0) {
|
|
270
|
+
if (current.roots.size === 0 && current.rowsByEntity.size === 0 && remaining > 0) {
|
|
255
271
|
this.state.sourceMaterializations.delete(key)
|
|
256
272
|
materializationsDeleted += 1
|
|
257
273
|
remaining -= 1
|
|
@@ -372,6 +388,7 @@ export class InMemoryOntologySourceStorage implements OntologySourceStorage {
|
|
|
372
388
|
if (materialization.readyAt !== null) {
|
|
373
389
|
assertNotBefore(abandonedAt, materialization.readyAt, "Source abandonedAt", "readyAt")
|
|
374
390
|
}
|
|
391
|
+
for (const root of materialization.roots.values()) root.retiredAt = abandonedAt
|
|
375
392
|
const abandoned: InMemorySourceMaterialization = {
|
|
376
393
|
...materialization,
|
|
377
394
|
status: "abandoned",
|
|
@@ -407,14 +424,33 @@ export class InMemoryOntologySourceStorage implements OntologySourceStorage {
|
|
|
407
424
|
|
|
408
425
|
function stageRowsAtomically(
|
|
409
426
|
materialization: InMemorySourceMaterialization,
|
|
410
|
-
|
|
427
|
+
input: StageSourceRowsInput
|
|
411
428
|
): StageSourceRowsResult {
|
|
412
429
|
let inserted = 0
|
|
413
430
|
let unchanged = 0
|
|
414
431
|
const newRows = new Map<string, StageSourceRowsInput["rows"][number]>()
|
|
415
432
|
const newRootOrdinals = new Map<string, number>()
|
|
416
433
|
const newOrdinalRoots = new Map<number, string>()
|
|
417
|
-
|
|
434
|
+
const roots = sourceStageRoots(materialization.projectionKind, input)
|
|
435
|
+
if (!materialization.base && roots.some((root) => root.deleted)) {
|
|
436
|
+
throw new MaterializationValidationError("Root deletions require a source delta base.")
|
|
437
|
+
}
|
|
438
|
+
for (const root of roots) {
|
|
439
|
+
const previous = materialization.roots.get(root.rootKey)
|
|
440
|
+
const otherRoot = materialization.ordinalRoots.get(root.stagingOrdinal)
|
|
441
|
+
if (
|
|
442
|
+
(previous &&
|
|
443
|
+
(previous.deleted !== root.deleted || previous.stagingOrdinal !== root.stagingOrdinal)) ||
|
|
444
|
+
(otherRoot !== undefined && otherRoot !== root.rootKey)
|
|
445
|
+
) {
|
|
446
|
+
throw new MaterializationValidationError(
|
|
447
|
+
"Source materialization repeats root or stream ordinal with different content."
|
|
448
|
+
)
|
|
449
|
+
}
|
|
450
|
+
newRootOrdinals.set(root.rootKey, root.stagingOrdinal)
|
|
451
|
+
newOrdinalRoots.set(root.stagingOrdinal, root.rootKey)
|
|
452
|
+
}
|
|
453
|
+
for (const row of input.rows) {
|
|
418
454
|
assertSourceStagedRow(materialization.projectionKind, row)
|
|
419
455
|
|
|
420
456
|
const rootKey = projectionEntityKey(row.root)
|
|
@@ -458,7 +494,21 @@ function stageRowsAtomically(
|
|
|
458
494
|
for (const [ordinal, rootKey] of newOrdinalRoots) {
|
|
459
495
|
materialization.ordinalRoots.set(ordinal, rootKey)
|
|
460
496
|
}
|
|
461
|
-
for (const
|
|
497
|
+
for (const root of roots) {
|
|
498
|
+
if (!materialization.roots.has(root.rootKey))
|
|
499
|
+
materialization.roots.set(root.rootKey, {
|
|
500
|
+
root: structuredClone(root.root),
|
|
501
|
+
stagingOrdinal: root.stagingOrdinal,
|
|
502
|
+
deleted: root.deleted,
|
|
503
|
+
entityKeys: new Set(),
|
|
504
|
+
active: false,
|
|
505
|
+
retiredAt: null,
|
|
506
|
+
})
|
|
507
|
+
}
|
|
508
|
+
for (const [entityKey, row] of newRows) {
|
|
509
|
+
materialization.rowsByEntity.set(entityKey, row)
|
|
510
|
+
materialization.roots.get(projectionEntityKey(row.root))!.entityKeys.add(entityKey)
|
|
511
|
+
}
|
|
462
512
|
return { inserted, unchanged }
|
|
463
513
|
}
|
|
464
514
|
|
|
@@ -497,6 +547,11 @@ function assertReadyTopology(materialization: InMemorySourceMaterialization): vo
|
|
|
497
547
|
|
|
498
548
|
for (const rootKey of materialization.rootOrdinals.keys()) {
|
|
499
549
|
const rows = rowsByRoot.get(rootKey) ?? []
|
|
550
|
+
if (materialization.roots.get(rootKey)?.deleted) {
|
|
551
|
+
if (rows.length > 0)
|
|
552
|
+
throw new MaterializationValidationError("Deleted source roots cannot contain assertions.")
|
|
553
|
+
continue
|
|
554
|
+
}
|
|
500
555
|
const first = rows[0]
|
|
501
556
|
if (!first) {
|
|
502
557
|
throw new MaterializationValidationError(`Source root ${rootKey} has no staged assertions.`)
|