@noy-db/hub 0.2.0-pre.2 → 0.2.0-pre.21
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/README.md +126 -0
- package/dist/aggregate/index.cjs +643 -37
- package/dist/aggregate/index.cjs.map +1 -1
- package/dist/aggregate/index.d.cts +3 -2
- package/dist/aggregate/index.d.ts +3 -2
- package/dist/aggregate/index.js +9 -8
- package/dist/aggregate/index.js.map +1 -1
- package/dist/attestation/index.cjs.map +1 -1
- package/dist/attestation/index.d.cts +7 -5
- package/dist/attestation/index.d.ts +7 -5
- package/dist/attestation/index.js +6 -6
- package/dist/blobs/index.cjs +509 -22
- package/dist/blobs/index.cjs.map +1 -1
- package/dist/blobs/index.d.cts +9 -7
- package/dist/blobs/index.d.ts +9 -7
- package/dist/blobs/index.js +11 -6
- package/dist/blobs/index.js.map +1 -1
- package/dist/bundle/index.cjs +7886 -841
- package/dist/bundle/index.cjs.map +1 -1
- package/dist/bundle/index.d.cts +20 -18
- package/dist/bundle/index.d.ts +20 -18
- package/dist/bundle/index.js +24 -13
- package/dist/bundle/index.js.map +1 -1
- package/dist/{chunk-PFSNOPBQ.js → chunk-2XA2ZML4.js} +31 -3
- package/dist/chunk-2XA2ZML4.js.map +1 -0
- package/dist/{chunk-2PAQNPE3.js → chunk-37VGJM3T.js} +37 -2
- package/dist/chunk-37VGJM3T.js.map +1 -0
- package/dist/{chunk-7BRE6EUA.js → chunk-3HNKR65T.js} +4 -4
- package/dist/chunk-3HNKR65T.js.map +1 -0
- package/dist/{chunk-Y2RKOPNC.js → chunk-5YTXYPES.js} +46 -10
- package/dist/chunk-5YTXYPES.js.map +1 -0
- package/dist/{chunk-OVZDFEOR.js → chunk-6QAZ5O6X.js} +2 -2
- package/dist/chunk-6QAZ5O6X.js.map +1 -0
- package/dist/{chunk-RTZVQAJ7.js → chunk-6QE4DUYC.js} +19 -4
- package/dist/chunk-6QE4DUYC.js.map +1 -0
- package/dist/{chunk-7Q5PLD5C.js → chunk-7MRT7EPB.js} +3 -3
- package/dist/{chunk-E535SAN4.js → chunk-7PH4OPBZ.js} +4258 -520
- package/dist/chunk-7PH4OPBZ.js.map +1 -0
- package/dist/{chunk-PEULZC6M.js → chunk-A3JMGXPG.js} +8 -1
- package/dist/chunk-A3JMGXPG.js.map +1 -0
- package/dist/{chunk-UMLVJTYV.js → chunk-ADB7GPM3.js} +7 -4
- package/dist/chunk-ADB7GPM3.js.map +1 -0
- package/dist/{chunk-G6FRSBKK.js → chunk-AI4USDRI.js} +4 -4
- package/dist/chunk-BZW5IL43.js +151 -0
- package/dist/chunk-BZW5IL43.js.map +1 -0
- package/dist/chunk-C2RJVZZL.js +123 -0
- package/dist/chunk-C2RJVZZL.js.map +1 -0
- package/dist/{chunk-UND4XIB6.js → chunk-C6W5KVDV.js} +52 -38
- package/dist/chunk-C6W5KVDV.js.map +1 -0
- package/dist/chunk-CQYEDODS.js +125 -0
- package/dist/chunk-CQYEDODS.js.map +1 -0
- package/dist/{chunk-NWZ3I6R6.js → chunk-EYK72OTL.js} +5 -5
- package/dist/{chunk-7BUTTVMR.js → chunk-F5GWNSE2.js} +2 -2
- package/dist/{chunk-AHPFONIL.js → chunk-F5ILTHMU.js} +5 -5
- package/dist/{chunk-Q6W2CMEJ.js → chunk-FRRJIUSI.js} +18 -5
- package/dist/chunk-FRRJIUSI.js.map +1 -0
- package/dist/{chunk-YMYK7US4.js → chunk-GJTKMME7.js} +2 -2
- package/dist/chunk-GJTKMME7.js.map +1 -0
- package/dist/{chunk-EUYOGYGV.js → chunk-HYJMAV53.js} +6 -6
- package/dist/chunk-HYJMAV53.js.map +1 -0
- package/dist/{chunk-QPEXPHJR.js → chunk-I3IYTUUI.js} +4 -4
- package/dist/{chunk-3QAKZ37R.js → chunk-IVZWHIEK.js} +5 -5
- package/dist/{chunk-PLI5TV7N.js → chunk-IW4L4X65.js} +2 -2
- package/dist/chunk-IW4L4X65.js.map +1 -0
- package/dist/{chunk-3Z2TPHC4.js → chunk-IY24WS2P.js} +69 -5
- package/dist/chunk-IY24WS2P.js.map +1 -0
- package/dist/{chunk-HXJXPZRE.js → chunk-J6RGRZOY.js} +10 -3
- package/dist/chunk-J6RGRZOY.js.map +1 -0
- package/dist/{chunk-3S4BJX25.js → chunk-JBBWALNI.js} +2 -2
- package/dist/chunk-JBBWALNI.js.map +1 -0
- package/dist/{chunk-7Z23ZFLV.js → chunk-JDCPRJVS.js} +5 -5
- package/dist/chunk-JDCPRJVS.js.map +1 -0
- package/dist/{chunk-243PNUA6.js → chunk-JOK73NDT.js} +3 -3
- package/dist/chunk-JTI57WRT.js +164 -0
- package/dist/chunk-JTI57WRT.js.map +1 -0
- package/dist/{chunk-VRBCTEKQ.js → chunk-JYNH4FIM.js} +233 -11
- package/dist/chunk-JYNH4FIM.js.map +1 -0
- package/dist/{chunk-TBKOGSYR.js → chunk-KOAJ3TZM.js} +27 -5
- package/dist/chunk-KOAJ3TZM.js.map +1 -0
- package/dist/{chunk-YTXSFG3C.js → chunk-MBXKRHSS.js} +50 -20
- package/dist/chunk-MBXKRHSS.js.map +1 -0
- package/dist/{chunk-MUWOSVEP.js → chunk-NSXNXLYM.js} +10 -2
- package/dist/chunk-NSXNXLYM.js.map +1 -0
- package/dist/{chunk-J4KLMEUL.js → chunk-NV4IHBZS.js} +664 -51
- package/dist/chunk-NV4IHBZS.js.map +1 -0
- package/dist/{chunk-LRAZDV5X.js → chunk-O5XKZCUD.js} +31 -8
- package/dist/chunk-O5XKZCUD.js.map +1 -0
- package/dist/{chunk-W3XXT26A.js → chunk-OTWT6BAJ.js} +358 -3
- package/dist/chunk-OTWT6BAJ.js.map +1 -0
- package/dist/{chunk-XG3PTSCD.js → chunk-PDVP3C2I.js} +1 -1
- package/dist/chunk-PDVP3C2I.js.map +1 -0
- package/dist/{chunk-GIV6DWBG.js → chunk-S45MDEEF.js} +44 -5
- package/dist/chunk-S45MDEEF.js.map +1 -0
- package/dist/{chunk-VK5EER6C.js → chunk-SQKAECUL.js} +2 -2
- package/dist/{chunk-FAQVNJD4.js → chunk-SQOK5UM6.js} +12 -2
- package/dist/{chunk-FAQVNJD4.js.map → chunk-SQOK5UM6.js.map} +1 -1
- package/dist/chunk-STNPB3UM.js +9 -0
- package/dist/chunk-STNPB3UM.js.map +1 -0
- package/dist/{chunk-YS3POABP.js → chunk-TA6HPKWQ.js} +1 -1
- package/dist/chunk-TA6HPKWQ.js.map +1 -0
- package/dist/{chunk-4HIL6AHQ.js → chunk-TAMRU7A2.js} +4 -4
- package/dist/{chunk-QXQRKXCU.js → chunk-TGIJTNM3.js} +2 -2
- package/dist/chunk-TNH5SLCD.js +361 -0
- package/dist/chunk-TNH5SLCD.js.map +1 -0
- package/dist/{chunk-VPSUZLOJ.js → chunk-TYMDCIQM.js} +31 -5
- package/dist/chunk-TYMDCIQM.js.map +1 -0
- package/dist/chunk-U2XSUCDF.js +524 -0
- package/dist/chunk-U2XSUCDF.js.map +1 -0
- package/dist/{chunk-3Y53S2SA.js → chunk-UU6M64HI.js} +4 -4
- package/dist/{chunk-VCGTOS2A.js → chunk-WE2BUQD2.js} +3 -3
- package/dist/chunk-WE2BUQD2.js.map +1 -0
- package/dist/{chunk-JYQTXEIO.js → chunk-WWVJXBOT.js} +449 -29
- package/dist/chunk-WWVJXBOT.js.map +1 -0
- package/dist/chunk-YPIOFSN3.js +129 -0
- package/dist/chunk-YPIOFSN3.js.map +1 -0
- package/dist/chunk-ZC7J6ZYV.js +7 -0
- package/dist/chunk-ZC7J6ZYV.js.map +1 -0
- package/dist/{chunk-5ZGZ6HIZ.js → chunk-ZONKSLF2.js} +30 -7
- package/dist/chunk-ZONKSLF2.js.map +1 -0
- package/dist/consent/index.cjs.map +1 -1
- package/dist/consent/index.d.cts +8 -6
- package/dist/consent/index.d.ts +8 -6
- package/dist/consent/index.js +3 -3
- package/dist/{crypto-5ZDIY3NG.js → crypto-456N7UVX.js} +7 -3
- package/dist/{delegation-QYXZW25W.js → delegation-DP4COTXB.js} +5 -5
- package/dist/derivations/index.cjs +124 -6
- package/dist/derivations/index.cjs.map +1 -1
- package/dist/derivations/index.d.cts +11 -9
- package/dist/derivations/index.d.ts +11 -9
- package/dist/derivations/index.js +8 -6
- package/dist/{dev-unlock-DQCNDfFp.d.cts → dev-unlock-CY0HIZA0.d.cts} +1 -1
- package/dist/{dev-unlock-utkybTKb.d.ts → dev-unlock-CpKSkl2c.d.ts} +1 -1
- package/dist/discriminant-BN9REW3o.d.cts +60 -0
- package/dist/discriminant-BN9REW3o.d.ts +60 -0
- package/dist/errors-Dkc_fi-S.d.cts +1467 -0
- package/dist/errors-Dkc_fi-S.d.ts +1467 -0
- package/dist/executor-4IEW4KG5.js +8 -0
- package/dist/executor-KYJCJCIN.js +12 -0
- package/dist/executor-W7VIBOBZ.js +8 -0
- package/dist/{fanout-sidecar-VJ52RIEY.js → fanout-sidecar-YXNAEZ33.js} +2 -2
- package/dist/fanout-sidecar-YXNAEZ33.js.map +1 -0
- package/dist/forget/index.cjs +43 -0
- package/dist/forget/index.cjs.map +1 -0
- package/dist/forget/index.d.cts +1 -0
- package/dist/forget/index.d.ts +1 -0
- package/dist/forget/index.js +14 -0
- package/dist/guards/index.cjs +144 -4
- package/dist/guards/index.cjs.map +1 -1
- package/dist/guards/index.d.cts +16 -8
- package/dist/guards/index.d.ts +16 -8
- package/dist/guards/index.js +13 -7
- package/dist/{hash-jDowCrK2.d.cts → hash-BSd0-_L8.d.cts} +1 -1
- package/dist/{hash-DcoYWfJ_.d.ts → hash-BnBQx39y.d.ts} +1 -1
- package/dist/history/index.cjs +28 -5
- package/dist/history/index.cjs.map +1 -1
- package/dist/history/index.d.cts +9 -7
- package/dist/history/index.d.ts +9 -7
- package/dist/history/index.js +9 -7
- package/dist/history/index.js.map +1 -1
- package/dist/i18n/index.cjs +356 -26
- package/dist/i18n/index.cjs.map +1 -1
- package/dist/i18n/index.d.cts +8 -6
- package/dist/i18n/index.d.ts +8 -6
- package/dist/i18n/index.js +36 -15
- package/dist/i18n/index.js.map +1 -1
- package/dist/index-BMmajblo.d.cts +362 -0
- package/dist/index-BMmajblo.d.ts +362 -0
- package/dist/{index-BCKdioeh.d.ts → index-Bm9hIY7t.d.ts} +169 -1127
- package/dist/{index-BMjrzNZr.d.cts → index-tZqVB9g5.d.cts} +169 -1127
- package/dist/index.cjs +10286 -2168
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +258 -23
- package/dist/index.d.ts +258 -23
- package/dist/index.js +443 -110
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.cjs +97 -32
- package/dist/indexing/index.cjs.map +1 -1
- package/dist/indexing/index.d.cts +3 -3
- package/dist/indexing/index.d.ts +3 -3
- package/dist/indexing/index.js +4 -4
- package/dist/issue-JXC6T2QR.js +12 -0
- package/dist/{lazy-builder-Rpd-V3jP.d.ts → lazy-builder-ChSqcF5t.d.ts} +2 -2
- package/dist/{lazy-builder-C-rPfWG0.d.cts → lazy-builder-eYZzLEL1.d.cts} +2 -2
- package/dist/{ledger-3IU5GMXA.js → ledger-I7JUYP4L.js} +6 -6
- package/dist/materialized-views/index.cjs +687 -13
- package/dist/materialized-views/index.cjs.map +1 -1
- package/dist/materialized-views/index.d.cts +23 -20
- package/dist/materialized-views/index.d.ts +23 -20
- package/dist/materialized-views/index.js +8 -7
- package/dist/mime-magic-BnJCGJzB.d.cts +103 -0
- package/dist/mime-magic-CjSyakO4.d.ts +103 -0
- package/dist/noydb-ZZCRF6TE.js +38 -0
- package/dist/overlay-views/index.cjs +58 -18
- package/dist/overlay-views/index.cjs.map +1 -1
- package/dist/overlay-views/index.d.cts +32 -12
- package/dist/overlay-views/index.d.ts +32 -12
- package/dist/overlay-views/index.js +6 -6
- package/dist/periods/index.cjs.map +1 -1
- package/dist/periods/index.d.cts +8 -6
- package/dist/periods/index.d.ts +8 -6
- package/dist/periods/index.js +6 -6
- package/dist/{predicate-Dnu81tsS.d.cts → predicate-BmhBSPCH.d.cts} +87 -5
- package/dist/{predicate-Dnu81tsS.d.ts → predicate-BmhBSPCH.d.ts} +87 -5
- package/dist/{public-envelope-U3CMEOMV.js → public-envelope-5XRTUNKF.js} +4 -4
- package/dist/query/index.cjs +1438 -130
- package/dist/query/index.cjs.map +1 -1
- package/dist/query/index.d.cts +4 -3
- package/dist/query/index.d.ts +4 -3
- package/dist/query/index.js +13 -6
- package/dist/read-only-facade-EX6WZZBP.js +7 -0
- package/dist/registry-ATRHOG5B.js +8 -0
- package/dist/registry-DKEXOJVO.js +7 -0
- package/dist/registry-LEHB26TY.js +8 -0
- package/dist/{registry-3ALP62P6.js → registry-NWHOLD5M.js} +3 -3
- package/dist/{revoke-KY2GB4KP.js → revoke-5IEK22KT.js} +6 -6
- package/dist/sealed-record/index.cjs +139 -0
- package/dist/sealed-record/index.cjs.map +1 -0
- package/dist/sealed-record/index.d.cts +123 -0
- package/dist/sealed-record/index.d.ts +123 -0
- package/dist/sealed-record/index.js +42 -0
- package/dist/sealed-record/index.js.map +1 -0
- package/dist/session/index.cjs.map +1 -1
- package/dist/session/index.d.cts +9 -7
- package/dist/session/index.d.ts +9 -7
- package/dist/session/index.js +3 -3
- package/dist/shadow/index.cjs.map +1 -1
- package/dist/shadow/index.d.cts +8 -6
- package/dist/shadow/index.d.ts +8 -6
- package/dist/shadow/index.js +2 -2
- package/dist/{signer-GRI5TZKH.js → signer-I6YARZQA.js} +5 -5
- package/dist/snapshots/index.cjs +937 -0
- package/dist/snapshots/index.cjs.map +1 -0
- package/dist/snapshots/index.d.cts +30 -0
- package/dist/snapshots/index.d.ts +30 -0
- package/dist/snapshots/index.js +152 -0
- package/dist/snapshots/index.js.map +1 -0
- package/dist/{stale-OTOF3FH7.js → stale-CPESGAPL.js} +2 -2
- package/dist/stale-CPESGAPL.js.map +1 -0
- package/dist/state-vault-JR3CFGNP.js +14 -0
- package/dist/state-vault-JR3CFGNP.js.map +1 -0
- package/dist/store/index.cjs +8 -0
- package/dist/store/index.cjs.map +1 -1
- package/dist/store/index.d.cts +15 -6
- package/dist/store/index.d.ts +15 -6
- package/dist/store/index.js +2 -2
- package/dist/{strategy-DSTrsZ8t.d.ts → strategy-54eIwox5.d.ts} +456 -7
- package/dist/{strategy-DSTrsZ8t.d.cts → strategy-WtB-jXYv.d.cts} +456 -7
- package/dist/sync/index.cjs.map +1 -1
- package/dist/sync/index.d.cts +7 -5
- package/dist/sync/index.d.ts +7 -5
- package/dist/sync/index.js +4 -4
- package/dist/team/index.cjs +1 -1
- package/dist/team/index.cjs.map +1 -1
- package/dist/team/index.d.cts +8 -6
- package/dist/team/index.d.ts +8 -6
- package/dist/team/index.js +8 -8
- package/dist/transition-guard-D4bfIAiW.d.ts +165 -0
- package/dist/transition-guard-Dmpqzg-_.d.cts +165 -0
- package/dist/tx/index.cjs +155 -5
- package/dist/tx/index.cjs.map +1 -1
- package/dist/tx/index.d.cts +27 -9
- package/dist/tx/index.d.ts +27 -9
- package/dist/tx/index.js +61 -4
- package/dist/tx/index.js.map +1 -1
- package/dist/{types-BoFFiskX.d.ts → types-DLfWFr6U.d.ts} +3997 -1262
- package/dist/{types-DJG8HG6F.d.cts → types-DyOI6XZ_.d.cts} +3997 -1262
- package/dist/{ulid-BmBgooGm.d.ts → ulid-B2L_aqVA.d.ts} +19 -19
- package/dist/{ulid-C7ms9oli.d.cts → ulid-LaxfH2tK.d.cts} +19 -19
- package/dist/util/index.cjs +7 -0
- package/dist/util/index.cjs.map +1 -1
- package/dist/util/index.d.cts +2 -0
- package/dist/util/index.d.ts +2 -0
- package/dist/util/index.js +5 -1
- package/dist/util/index.js.map +1 -1
- package/dist/vault-group-BB246VIM.js +804 -0
- package/dist/vault-group-BB246VIM.js.map +1 -0
- package/dist/{with-materialized-view-CqnRwI2S.d.ts → with-materialized-view-CeZYGJVf.d.cts} +2 -2
- package/dist/{with-materialized-view-BbEPFIIJ.d.cts → with-materialized-view-DNULSxoP.d.ts} +2 -2
- package/dist/{with-overlayed-view-Ct1fSJt-.d.ts → with-overlayed-view-C9joG7UZ.d.ts} +2 -2
- package/dist/{with-overlayed-view-bwlmmFjx.d.cts → with-overlayed-view-kdcPGHih.d.cts} +2 -2
- package/dist/with-rollup-DJDbrxjf.d.ts +47 -0
- package/dist/with-rollup-s58XAeWO.d.cts +47 -0
- package/package.json +35 -4
- package/dist/chunk-2PAQNPE3.js.map +0 -1
- package/dist/chunk-3S4BJX25.js.map +0 -1
- package/dist/chunk-3XHOCQK4.js +0 -118
- package/dist/chunk-3XHOCQK4.js.map +0 -1
- package/dist/chunk-3Z2TPHC4.js.map +0 -1
- package/dist/chunk-5ZGZ6HIZ.js.map +0 -1
- package/dist/chunk-7BRE6EUA.js.map +0 -1
- package/dist/chunk-7Z23ZFLV.js.map +0 -1
- package/dist/chunk-CXSCDO5T.js +0 -51
- package/dist/chunk-CXSCDO5T.js.map +0 -1
- package/dist/chunk-E535SAN4.js.map +0 -1
- package/dist/chunk-EUYOGYGV.js.map +0 -1
- package/dist/chunk-GIV6DWBG.js.map +0 -1
- package/dist/chunk-HXJXPZRE.js.map +0 -1
- package/dist/chunk-J4KLMEUL.js.map +0 -1
- package/dist/chunk-JYQTXEIO.js.map +0 -1
- package/dist/chunk-LRAZDV5X.js.map +0 -1
- package/dist/chunk-MRIBLZL3.js +0 -86
- package/dist/chunk-MRIBLZL3.js.map +0 -1
- package/dist/chunk-MUWOSVEP.js.map +0 -1
- package/dist/chunk-OVZDFEOR.js.map +0 -1
- package/dist/chunk-PEULZC6M.js.map +0 -1
- package/dist/chunk-PFSNOPBQ.js.map +0 -1
- package/dist/chunk-PLI5TV7N.js.map +0 -1
- package/dist/chunk-Q6W2CMEJ.js.map +0 -1
- package/dist/chunk-RTZVQAJ7.js.map +0 -1
- package/dist/chunk-TBKOGSYR.js.map +0 -1
- package/dist/chunk-UMLVJTYV.js.map +0 -1
- package/dist/chunk-UND4XIB6.js.map +0 -1
- package/dist/chunk-VCGTOS2A.js.map +0 -1
- package/dist/chunk-VE6YVP32.js +0 -19
- package/dist/chunk-VE6YVP32.js.map +0 -1
- package/dist/chunk-VPSUZLOJ.js.map +0 -1
- package/dist/chunk-VRBCTEKQ.js.map +0 -1
- package/dist/chunk-W3XXT26A.js.map +0 -1
- package/dist/chunk-XG3PTSCD.js.map +0 -1
- package/dist/chunk-Y2RKOPNC.js.map +0 -1
- package/dist/chunk-YMYK7US4.js.map +0 -1
- package/dist/chunk-YS3POABP.js.map +0 -1
- package/dist/chunk-YTXSFG3C.js.map +0 -1
- package/dist/executor-AS2IDHKZ.js +0 -11
- package/dist/executor-HLXFXNFM.js +0 -8
- package/dist/executor-HN6YBHZ5.js +0 -8
- package/dist/fanout-sidecar-VJ52RIEY.js.map +0 -1
- package/dist/issue-ORP37MVW.js +0 -12
- package/dist/mime-magic-CBBSOkjm.d.cts +0 -50
- package/dist/mime-magic-CBBSOkjm.d.ts +0 -50
- package/dist/noydb-5H3C24GG.js +0 -34
- package/dist/read-only-facade-ITU6L7BL.js +0 -7
- package/dist/registry-7HE6VJGC.js +0 -8
- package/dist/registry-PSIPG2QR.js +0 -8
- package/dist/registry-RFGGMVNJ.js +0 -7
- package/dist/with-derivation-BKXXa8Vt.d.ts +0 -13
- package/dist/with-derivation-BjQ7q4NE.d.cts +0 -13
- package/dist/with-guard-C25yNjzd.d.ts +0 -18
- package/dist/with-guard-DQme5DKE.d.cts +0 -18
- /package/dist/{chunk-7Q5PLD5C.js.map → chunk-7MRT7EPB.js.map} +0 -0
- /package/dist/{chunk-G6FRSBKK.js.map → chunk-AI4USDRI.js.map} +0 -0
- /package/dist/{chunk-NWZ3I6R6.js.map → chunk-EYK72OTL.js.map} +0 -0
- /package/dist/{chunk-7BUTTVMR.js.map → chunk-F5GWNSE2.js.map} +0 -0
- /package/dist/{chunk-AHPFONIL.js.map → chunk-F5ILTHMU.js.map} +0 -0
- /package/dist/{chunk-QPEXPHJR.js.map → chunk-I3IYTUUI.js.map} +0 -0
- /package/dist/{chunk-3QAKZ37R.js.map → chunk-IVZWHIEK.js.map} +0 -0
- /package/dist/{chunk-243PNUA6.js.map → chunk-JOK73NDT.js.map} +0 -0
- /package/dist/{chunk-VK5EER6C.js.map → chunk-SQKAECUL.js.map} +0 -0
- /package/dist/{chunk-4HIL6AHQ.js.map → chunk-TAMRU7A2.js.map} +0 -0
- /package/dist/{chunk-QXQRKXCU.js.map → chunk-TGIJTNM3.js.map} +0 -0
- /package/dist/{chunk-3Y53S2SA.js.map → chunk-UU6M64HI.js.map} +0 -0
- /package/dist/{crypto-5ZDIY3NG.js.map → crypto-456N7UVX.js.map} +0 -0
- /package/dist/{delegation-QYXZW25W.js.map → delegation-DP4COTXB.js.map} +0 -0
- /package/dist/{executor-AS2IDHKZ.js.map → executor-4IEW4KG5.js.map} +0 -0
- /package/dist/{executor-HLXFXNFM.js.map → executor-KYJCJCIN.js.map} +0 -0
- /package/dist/{executor-HN6YBHZ5.js.map → executor-W7VIBOBZ.js.map} +0 -0
- /package/dist/{issue-ORP37MVW.js.map → forget/index.js.map} +0 -0
- /package/dist/{ledger-3IU5GMXA.js.map → issue-JXC6T2QR.js.map} +0 -0
- /package/dist/{noydb-5H3C24GG.js.map → ledger-I7JUYP4L.js.map} +0 -0
- /package/dist/{public-envelope-U3CMEOMV.js.map → noydb-ZZCRF6TE.js.map} +0 -0
- /package/dist/{read-only-facade-ITU6L7BL.js.map → public-envelope-5XRTUNKF.js.map} +0 -0
- /package/dist/{registry-3ALP62P6.js.map → read-only-facade-EX6WZZBP.js.map} +0 -0
- /package/dist/{registry-7HE6VJGC.js.map → registry-ATRHOG5B.js.map} +0 -0
- /package/dist/{registry-PSIPG2QR.js.map → registry-DKEXOJVO.js.map} +0 -0
- /package/dist/{registry-RFGGMVNJ.js.map → registry-LEHB26TY.js.map} +0 -0
- /package/dist/{revoke-KY2GB4KP.js.map → registry-NWHOLD5M.js.map} +0 -0
- /package/dist/{signer-GRI5TZKH.js.map → revoke-5IEK22KT.js.map} +0 -0
- /package/dist/{stale-OTOF3FH7.js.map → signer-I6YARZQA.js.map} +0 -0
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
export { w as withMaterializedView } from '../with-materialized-view-
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
4
|
-
import { Q as Query } from '../index-
|
|
5
|
-
export {
|
|
6
|
-
import '../lazy-builder-
|
|
7
|
-
import '../predicate-
|
|
8
|
-
import '../strategy-
|
|
1
|
+
export { w as withMaterializedView } from '../with-materialized-view-CeZYGJVf.cjs';
|
|
2
|
+
import { aN as Collection, bk as TxContext, bl as MVQueryContext, bm as RegisteredMV, bn as MaterializedViewRegistry } from '../types-DyOI6XZ_.cjs';
|
|
3
|
+
export { bo as MaterializedFromMeta, bp as MaterializedViewOutput, aK as MaterializedViewStrategy, aL as MaterializedViewStrategyHandle, bq as UnionArmJoin, br as UnionSource } from '../types-DyOI6XZ_.cjs';
|
|
4
|
+
import { Q as Query } from '../index-tZqVB9g5.cjs';
|
|
5
|
+
export { z as MaterializedViewConfigError, C as MaterializedViewCycleError, E as MaterializedViewSourceUnknownError, G as MaterializedViewTooLargeError } from '../errors-Dkc_fi-S.cjs';
|
|
6
|
+
import '../lazy-builder-eYZzLEL1.cjs';
|
|
7
|
+
import '../predicate-BmhBSPCH.cjs';
|
|
8
|
+
import '../strategy-WtB-jXYv.cjs';
|
|
9
9
|
import '../strategy-BSxFXGzb.cjs';
|
|
10
|
+
import '../index-BMmajblo.cjs';
|
|
10
11
|
import '@noy-db/attestation';
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* Accessor shape passed in from the owning Vault. Mirrors v1's
|
|
14
15
|
* `DerivationStaleAccessor` — provides the per-collection resolver
|
|
15
16
|
* and the active TxContext so refresh writes/tombstones register on
|
|
16
|
-
* `_executed` for
|
|
17
|
+
* `_executed` for rollback symmetry.
|
|
17
18
|
*/
|
|
18
19
|
interface MVExecutorAccessor {
|
|
19
20
|
getCollection(name: string): Collection<any>;
|
|
@@ -44,22 +45,22 @@ interface RefreshResult {
|
|
|
44
45
|
*
|
|
45
46
|
* Stamps `_materializedFrom` onto every emitted row.
|
|
46
47
|
*
|
|
47
|
-
* **Tombstoning
|
|
48
|
+
* **Tombstoning:** when `spec.onEmpty: 'delete'` (default), rows
|
|
48
49
|
* that existed in a prior refresh but no longer appear in the new
|
|
49
50
|
* materialized result are deleted via `Collection._internalDelete` —
|
|
50
|
-
* the housekeeping bypass primitive
|
|
51
|
+
* the housekeeping bypass primitive prevents user
|
|
51
52
|
* `onDelete` guards on the output collection from firing on these
|
|
52
53
|
* system-internal deletes. `onEmpty: 'keep'` opts out (rows from
|
|
53
54
|
* prior refreshes linger even when the new result lacks them).
|
|
54
55
|
*
|
|
55
|
-
* **Cost ceiling
|
|
56
|
+
* **Cost ceiling:** if the materialized row count exceeds
|
|
56
57
|
* `spec.maxRows` (default 100k), throws `MaterializedViewTooLargeError`
|
|
57
58
|
* before any writes hit the store — so strict-mode rollback is
|
|
58
59
|
* clean.
|
|
59
60
|
*
|
|
60
|
-
* **Strict mode
|
|
61
|
+
* **Strict mode:** `spec.strict === true` re-throws on any
|
|
61
62
|
* row-write failure; the active TxContext registration means the
|
|
62
|
-
* source-write rolls back atomically via `revertExecuted
|
|
63
|
+
* source-write rolls back atomically via `revertExecuted`.
|
|
63
64
|
*
|
|
64
65
|
* @internal
|
|
65
66
|
*/
|
|
@@ -71,14 +72,16 @@ declare const MaterializedViewExecutor: {
|
|
|
71
72
|
* Walks a `Query<T>` plan and returns the set of source collection
|
|
72
73
|
* names that any source-write should trigger a refresh on.
|
|
73
74
|
*
|
|
74
|
-
*
|
|
75
|
+
* Handles:
|
|
75
76
|
* - root collection (the one the query was built from)
|
|
76
77
|
* - FK join targets (`.join(field, { as })`)
|
|
77
78
|
*
|
|
78
|
-
*
|
|
79
|
-
* - `.crossJoin()` — v3
|
|
80
|
-
*
|
|
81
|
-
*
|
|
79
|
+
* Also handles:
|
|
80
|
+
* - cross-join targets (`.crossJoin(target, { as })`) — v3
|
|
81
|
+
*
|
|
82
|
+
* Deferred:
|
|
83
|
+
* - `.wherePredicate(name)` — v2 predicate primitive
|
|
84
|
+
* - Overlay-name expansion to {base, overlay}
|
|
82
85
|
*
|
|
83
86
|
* The set is materialized at MV registration time. The MV registry
|
|
84
87
|
* uses it to (a) dispatch `onSourceWrite` only to MVs that actually
|
|
@@ -167,7 +170,7 @@ declare function isMVStale(registry: MaterializedViewRegistry, mvName: string):
|
|
|
167
170
|
*
|
|
168
171
|
* Dynamic-imports the executor only when a stale flag actually fires
|
|
169
172
|
* (the floor-bundle isolation pattern v1 derivations established in
|
|
170
|
-
*
|
|
173
|
+
* floor-bundle isolation pattern).
|
|
171
174
|
*/
|
|
172
175
|
declare function resolveStaleMVOnRead(accessor: MVStaleAccessor, outputCollection: string): Promise<void>;
|
|
173
176
|
/**
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
export { w as withMaterializedView } from '../with-materialized-view-
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
4
|
-
import { Q as Query } from '../index-
|
|
5
|
-
export {
|
|
6
|
-
import '../lazy-builder-
|
|
7
|
-
import '../predicate-
|
|
8
|
-
import '../strategy-
|
|
1
|
+
export { w as withMaterializedView } from '../with-materialized-view-DNULSxoP.js';
|
|
2
|
+
import { aN as Collection, bk as TxContext, bl as MVQueryContext, bm as RegisteredMV, bn as MaterializedViewRegistry } from '../types-DLfWFr6U.js';
|
|
3
|
+
export { bo as MaterializedFromMeta, bp as MaterializedViewOutput, aK as MaterializedViewStrategy, aL as MaterializedViewStrategyHandle, bq as UnionArmJoin, br as UnionSource } from '../types-DLfWFr6U.js';
|
|
4
|
+
import { Q as Query } from '../index-Bm9hIY7t.js';
|
|
5
|
+
export { z as MaterializedViewConfigError, C as MaterializedViewCycleError, E as MaterializedViewSourceUnknownError, G as MaterializedViewTooLargeError } from '../errors-Dkc_fi-S.js';
|
|
6
|
+
import '../lazy-builder-ChSqcF5t.js';
|
|
7
|
+
import '../predicate-BmhBSPCH.js';
|
|
8
|
+
import '../strategy-54eIwox5.js';
|
|
9
9
|
import '../strategy-BSxFXGzb.js';
|
|
10
|
+
import '../index-BMmajblo.js';
|
|
10
11
|
import '@noy-db/attestation';
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* Accessor shape passed in from the owning Vault. Mirrors v1's
|
|
14
15
|
* `DerivationStaleAccessor` — provides the per-collection resolver
|
|
15
16
|
* and the active TxContext so refresh writes/tombstones register on
|
|
16
|
-
* `_executed` for
|
|
17
|
+
* `_executed` for rollback symmetry.
|
|
17
18
|
*/
|
|
18
19
|
interface MVExecutorAccessor {
|
|
19
20
|
getCollection(name: string): Collection<any>;
|
|
@@ -44,22 +45,22 @@ interface RefreshResult {
|
|
|
44
45
|
*
|
|
45
46
|
* Stamps `_materializedFrom` onto every emitted row.
|
|
46
47
|
*
|
|
47
|
-
* **Tombstoning
|
|
48
|
+
* **Tombstoning:** when `spec.onEmpty: 'delete'` (default), rows
|
|
48
49
|
* that existed in a prior refresh but no longer appear in the new
|
|
49
50
|
* materialized result are deleted via `Collection._internalDelete` —
|
|
50
|
-
* the housekeeping bypass primitive
|
|
51
|
+
* the housekeeping bypass primitive prevents user
|
|
51
52
|
* `onDelete` guards on the output collection from firing on these
|
|
52
53
|
* system-internal deletes. `onEmpty: 'keep'` opts out (rows from
|
|
53
54
|
* prior refreshes linger even when the new result lacks them).
|
|
54
55
|
*
|
|
55
|
-
* **Cost ceiling
|
|
56
|
+
* **Cost ceiling:** if the materialized row count exceeds
|
|
56
57
|
* `spec.maxRows` (default 100k), throws `MaterializedViewTooLargeError`
|
|
57
58
|
* before any writes hit the store — so strict-mode rollback is
|
|
58
59
|
* clean.
|
|
59
60
|
*
|
|
60
|
-
* **Strict mode
|
|
61
|
+
* **Strict mode:** `spec.strict === true` re-throws on any
|
|
61
62
|
* row-write failure; the active TxContext registration means the
|
|
62
|
-
* source-write rolls back atomically via `revertExecuted
|
|
63
|
+
* source-write rolls back atomically via `revertExecuted`.
|
|
63
64
|
*
|
|
64
65
|
* @internal
|
|
65
66
|
*/
|
|
@@ -71,14 +72,16 @@ declare const MaterializedViewExecutor: {
|
|
|
71
72
|
* Walks a `Query<T>` plan and returns the set of source collection
|
|
72
73
|
* names that any source-write should trigger a refresh on.
|
|
73
74
|
*
|
|
74
|
-
*
|
|
75
|
+
* Handles:
|
|
75
76
|
* - root collection (the one the query was built from)
|
|
76
77
|
* - FK join targets (`.join(field, { as })`)
|
|
77
78
|
*
|
|
78
|
-
*
|
|
79
|
-
* - `.crossJoin()` — v3
|
|
80
|
-
*
|
|
81
|
-
*
|
|
79
|
+
* Also handles:
|
|
80
|
+
* - cross-join targets (`.crossJoin(target, { as })`) — v3
|
|
81
|
+
*
|
|
82
|
+
* Deferred:
|
|
83
|
+
* - `.wherePredicate(name)` — v2 predicate primitive
|
|
84
|
+
* - Overlay-name expansion to {base, overlay}
|
|
82
85
|
*
|
|
83
86
|
* The set is materialized at MV registration time. The MV registry
|
|
84
87
|
* uses it to (a) dispatch `onSourceWrite` only to MVs that actually
|
|
@@ -167,7 +170,7 @@ declare function isMVStale(registry: MaterializedViewRegistry, mvName: string):
|
|
|
167
170
|
*
|
|
168
171
|
* Dynamic-imports the executor only when a stale flag actually fires
|
|
169
172
|
* (the floor-bundle isolation pattern v1 derivations established in
|
|
170
|
-
*
|
|
173
|
+
* floor-bundle isolation pattern).
|
|
171
174
|
*/
|
|
172
175
|
declare function resolveStaleMVOnRead(accessor: MVStaleAccessor, outputCollection: string): Promise<void>;
|
|
173
176
|
/**
|
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
import {
|
|
2
2
|
withMaterializedView
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-6QE4DUYC.js";
|
|
4
4
|
import {
|
|
5
5
|
MaterializedViewExecutor
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-5YTXYPES.js";
|
|
7
7
|
import {
|
|
8
8
|
MaterializedViewRegistry,
|
|
9
9
|
analyzeDependencies,
|
|
10
10
|
canonicalizeQueryPlan,
|
|
11
11
|
computeQueryHash,
|
|
12
12
|
summarizeQueryPlan
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-KOAJ3TZM.js";
|
|
14
14
|
import {
|
|
15
15
|
clearMVStale,
|
|
16
16
|
isMVStale,
|
|
17
17
|
markMVStale,
|
|
18
18
|
resolveStaleMVOnRead
|
|
19
|
-
} from "../chunk-
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
19
|
+
} from "../chunk-IW4L4X65.js";
|
|
20
|
+
import "../chunk-JYNH4FIM.js";
|
|
21
|
+
import "../chunk-U2XSUCDF.js";
|
|
22
|
+
import "../chunk-TNH5SLCD.js";
|
|
22
23
|
import {
|
|
23
24
|
MaterializedViewConfigError,
|
|
24
25
|
MaterializedViewCycleError,
|
|
25
26
|
MaterializedViewSourceUnknownError,
|
|
26
27
|
MaterializedViewTooLargeError
|
|
27
|
-
} from "../chunk-
|
|
28
|
+
} from "../chunk-OTWT6BAJ.js";
|
|
28
29
|
export {
|
|
29
30
|
MaterializedViewConfigError,
|
|
30
31
|
MaterializedViewCycleError,
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { V as ObjectProjection } from './types-DyOI6XZ_.cjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Import / bootstrap (reverse projection) — walk an existing bucket/prefix in an
|
|
5
|
+
* {@link ObjectProjection} and build a master collection where each record
|
|
6
|
+
* anchors one object, restoring the record-anchoring invariant for objects that
|
|
7
|
+
* pre-date noy-db (or were written by another system). See as-aws-s3 §3.8.
|
|
8
|
+
*
|
|
9
|
+
* Idempotent: re-running re-adopts the same objects under the same record ids.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/** Minimal collection surface this utility needs (avoids importing the kernel). */
|
|
13
|
+
interface ImportableCollection {
|
|
14
|
+
get(id: string): Promise<unknown>;
|
|
15
|
+
put(id: string, record: unknown): Promise<unknown>;
|
|
16
|
+
blob(id: string): {
|
|
17
|
+
adoptExternal(slot: string, ref: {
|
|
18
|
+
key: string;
|
|
19
|
+
size?: number;
|
|
20
|
+
contentType?: string;
|
|
21
|
+
public?: boolean;
|
|
22
|
+
backlink?: string;
|
|
23
|
+
}): Promise<void>;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
interface ImportExternalOptions {
|
|
27
|
+
/** Only consider objects under this key prefix. Default `''` (all). */
|
|
28
|
+
prefix?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Derive the record id for an object key. Default: the path segment before
|
|
31
|
+
* the last — i.e. `{collection}/{recordId}/{field}` → `recordId`. Return
|
|
32
|
+
* `null` to skip the object.
|
|
33
|
+
*/
|
|
34
|
+
deriveRecordId?: (key: string) => string | null;
|
|
35
|
+
/** Build the anchor record for a new id. Default `{ id }`. */
|
|
36
|
+
makeRecord?: (id: string) => unknown;
|
|
37
|
+
}
|
|
38
|
+
interface ImportExternalResult {
|
|
39
|
+
imported: number;
|
|
40
|
+
skipped: number;
|
|
41
|
+
recordIds: string[];
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Build/extend `collection` from the objects under `prefix` in `objectStore`,
|
|
45
|
+
* adopting each as the `field` blob on its derived record.
|
|
46
|
+
*/
|
|
47
|
+
declare function importExternalObjects(args: {
|
|
48
|
+
collection: ImportableCollection;
|
|
49
|
+
objectStore: ObjectProjection;
|
|
50
|
+
field: string;
|
|
51
|
+
options?: ImportExternalOptions;
|
|
52
|
+
}): Promise<ImportExternalResult>;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Lightweight MIME type detection from magic bytes (file signatures).
|
|
56
|
+
*
|
|
57
|
+
* Designed for the blob store's auto-detection feature. Operates on the first 16 bytes of
|
|
58
|
+
* plaintext — no filesystem access, no filename guessing.
|
|
59
|
+
*
|
|
60
|
+
* ## Detection strategies
|
|
61
|
+
*
|
|
62
|
+
* 1. **Prefix match** — magic bytes at offset 0 (most formats).
|
|
63
|
+
* 2. **Offset match** — magic bytes at a fixed offset > 0 (ISOBMFF: offset 4).
|
|
64
|
+
* 3. **Compound match** — two separate byte sequences at different offsets
|
|
65
|
+
* (RIFF-based: bytes 0-3 + bytes 8-11).
|
|
66
|
+
*
|
|
67
|
+
* ## Formats excluded (require offset > 16 bytes)
|
|
68
|
+
*
|
|
69
|
+
* - TAR (`ustar` at offset 257)
|
|
70
|
+
* - ISO 9660 (`CD001` at offset 32769)
|
|
71
|
+
*
|
|
72
|
+
* @module
|
|
73
|
+
*/
|
|
74
|
+
/**
|
|
75
|
+
* Detect MIME type from the first bytes of a file.
|
|
76
|
+
*
|
|
77
|
+
* @param header - The first 16 bytes (or more) of the plaintext. Passing
|
|
78
|
+
* fewer than 16 bytes may miss compound and offset-based matches.
|
|
79
|
+
* @returns Detected MIME type, or `'application/octet-stream'` if unknown.
|
|
80
|
+
*/
|
|
81
|
+
declare function detectMimeType(header: Uint8Array): string;
|
|
82
|
+
/**
|
|
83
|
+
* Detect MIME type and whether the format is already compressed.
|
|
84
|
+
*
|
|
85
|
+
* Used by `BlobSet.put()` to decide whether to skip gzip compression.
|
|
86
|
+
*
|
|
87
|
+
* @param header - The first 16 bytes (or more) of the plaintext.
|
|
88
|
+
* @returns `{ mime, preCompressed }` or `null` if no match.
|
|
89
|
+
*/
|
|
90
|
+
declare function detectMagic(header: Uint8Array): {
|
|
91
|
+
mime: string;
|
|
92
|
+
format: string;
|
|
93
|
+
preCompressed: boolean;
|
|
94
|
+
} | null;
|
|
95
|
+
/**
|
|
96
|
+
* Check whether a format is already compressed (should skip gzip).
|
|
97
|
+
*
|
|
98
|
+
* @param mimeType - A MIME type string.
|
|
99
|
+
* @returns `true` if the format is known to be pre-compressed.
|
|
100
|
+
*/
|
|
101
|
+
declare function isPreCompressed(mimeType: string): boolean;
|
|
102
|
+
|
|
103
|
+
export { type ImportExternalOptions as I, type ImportExternalResult as a, type ImportableCollection as b, detectMimeType as c, detectMagic as d, isPreCompressed as e, importExternalObjects as i };
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { V as ObjectProjection } from './types-DLfWFr6U.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Import / bootstrap (reverse projection) — walk an existing bucket/prefix in an
|
|
5
|
+
* {@link ObjectProjection} and build a master collection where each record
|
|
6
|
+
* anchors one object, restoring the record-anchoring invariant for objects that
|
|
7
|
+
* pre-date noy-db (or were written by another system). See as-aws-s3 §3.8.
|
|
8
|
+
*
|
|
9
|
+
* Idempotent: re-running re-adopts the same objects under the same record ids.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/** Minimal collection surface this utility needs (avoids importing the kernel). */
|
|
13
|
+
interface ImportableCollection {
|
|
14
|
+
get(id: string): Promise<unknown>;
|
|
15
|
+
put(id: string, record: unknown): Promise<unknown>;
|
|
16
|
+
blob(id: string): {
|
|
17
|
+
adoptExternal(slot: string, ref: {
|
|
18
|
+
key: string;
|
|
19
|
+
size?: number;
|
|
20
|
+
contentType?: string;
|
|
21
|
+
public?: boolean;
|
|
22
|
+
backlink?: string;
|
|
23
|
+
}): Promise<void>;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
interface ImportExternalOptions {
|
|
27
|
+
/** Only consider objects under this key prefix. Default `''` (all). */
|
|
28
|
+
prefix?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Derive the record id for an object key. Default: the path segment before
|
|
31
|
+
* the last — i.e. `{collection}/{recordId}/{field}` → `recordId`. Return
|
|
32
|
+
* `null` to skip the object.
|
|
33
|
+
*/
|
|
34
|
+
deriveRecordId?: (key: string) => string | null;
|
|
35
|
+
/** Build the anchor record for a new id. Default `{ id }`. */
|
|
36
|
+
makeRecord?: (id: string) => unknown;
|
|
37
|
+
}
|
|
38
|
+
interface ImportExternalResult {
|
|
39
|
+
imported: number;
|
|
40
|
+
skipped: number;
|
|
41
|
+
recordIds: string[];
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Build/extend `collection` from the objects under `prefix` in `objectStore`,
|
|
45
|
+
* adopting each as the `field` blob on its derived record.
|
|
46
|
+
*/
|
|
47
|
+
declare function importExternalObjects(args: {
|
|
48
|
+
collection: ImportableCollection;
|
|
49
|
+
objectStore: ObjectProjection;
|
|
50
|
+
field: string;
|
|
51
|
+
options?: ImportExternalOptions;
|
|
52
|
+
}): Promise<ImportExternalResult>;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Lightweight MIME type detection from magic bytes (file signatures).
|
|
56
|
+
*
|
|
57
|
+
* Designed for the blob store's auto-detection feature. Operates on the first 16 bytes of
|
|
58
|
+
* plaintext — no filesystem access, no filename guessing.
|
|
59
|
+
*
|
|
60
|
+
* ## Detection strategies
|
|
61
|
+
*
|
|
62
|
+
* 1. **Prefix match** — magic bytes at offset 0 (most formats).
|
|
63
|
+
* 2. **Offset match** — magic bytes at a fixed offset > 0 (ISOBMFF: offset 4).
|
|
64
|
+
* 3. **Compound match** — two separate byte sequences at different offsets
|
|
65
|
+
* (RIFF-based: bytes 0-3 + bytes 8-11).
|
|
66
|
+
*
|
|
67
|
+
* ## Formats excluded (require offset > 16 bytes)
|
|
68
|
+
*
|
|
69
|
+
* - TAR (`ustar` at offset 257)
|
|
70
|
+
* - ISO 9660 (`CD001` at offset 32769)
|
|
71
|
+
*
|
|
72
|
+
* @module
|
|
73
|
+
*/
|
|
74
|
+
/**
|
|
75
|
+
* Detect MIME type from the first bytes of a file.
|
|
76
|
+
*
|
|
77
|
+
* @param header - The first 16 bytes (or more) of the plaintext. Passing
|
|
78
|
+
* fewer than 16 bytes may miss compound and offset-based matches.
|
|
79
|
+
* @returns Detected MIME type, or `'application/octet-stream'` if unknown.
|
|
80
|
+
*/
|
|
81
|
+
declare function detectMimeType(header: Uint8Array): string;
|
|
82
|
+
/**
|
|
83
|
+
* Detect MIME type and whether the format is already compressed.
|
|
84
|
+
*
|
|
85
|
+
* Used by `BlobSet.put()` to decide whether to skip gzip compression.
|
|
86
|
+
*
|
|
87
|
+
* @param header - The first 16 bytes (or more) of the plaintext.
|
|
88
|
+
* @returns `{ mime, preCompressed }` or `null` if no match.
|
|
89
|
+
*/
|
|
90
|
+
declare function detectMagic(header: Uint8Array): {
|
|
91
|
+
mime: string;
|
|
92
|
+
format: string;
|
|
93
|
+
preCompressed: boolean;
|
|
94
|
+
} | null;
|
|
95
|
+
/**
|
|
96
|
+
* Check whether a format is already compressed (should skip gzip).
|
|
97
|
+
*
|
|
98
|
+
* @param mimeType - A MIME type string.
|
|
99
|
+
* @returns `true` if the format is known to be pre-compressed.
|
|
100
|
+
*/
|
|
101
|
+
declare function isPreCompressed(mimeType: string): boolean;
|
|
102
|
+
|
|
103
|
+
export { type ImportExternalOptions as I, type ImportExternalResult as a, type ImportableCollection as b, detectMimeType as c, detectMagic as d, isPreCompressed as e, importExternalObjects as i };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Noydb,
|
|
3
|
+
createNoydb
|
|
4
|
+
} from "./chunk-7PH4OPBZ.js";
|
|
5
|
+
import "./chunk-ZC7J6ZYV.js";
|
|
6
|
+
import "./chunk-EMIGCR7X.js";
|
|
7
|
+
import "./chunk-IY24WS2P.js";
|
|
8
|
+
import "./chunk-MBXKRHSS.js";
|
|
9
|
+
import "./chunk-NV4IHBZS.js";
|
|
10
|
+
import "./chunk-2XA2ZML4.js";
|
|
11
|
+
import "./chunk-3HNKR65T.js";
|
|
12
|
+
import "./chunk-GJTKMME7.js";
|
|
13
|
+
import "./chunk-ZONKSLF2.js";
|
|
14
|
+
import "./chunk-JYNH4FIM.js";
|
|
15
|
+
import "./chunk-U2XSUCDF.js";
|
|
16
|
+
import "./chunk-C6W5KVDV.js";
|
|
17
|
+
import "./chunk-JOK73NDT.js";
|
|
18
|
+
import "./chunk-BZW5IL43.js";
|
|
19
|
+
import "./chunk-I3IYTUUI.js";
|
|
20
|
+
import "./chunk-UF3BUNQZ.js";
|
|
21
|
+
import "./chunk-O5XKZCUD.js";
|
|
22
|
+
import "./chunk-TNH5SLCD.js";
|
|
23
|
+
import "./chunk-HYJMAV53.js";
|
|
24
|
+
import "./chunk-F5GWNSE2.js";
|
|
25
|
+
import "./chunk-FRRJIUSI.js";
|
|
26
|
+
import "./chunk-2QR2PQTT.js";
|
|
27
|
+
import "./chunk-FZU343FL.js";
|
|
28
|
+
import "./chunk-JDCPRJVS.js";
|
|
29
|
+
import "./chunk-PDVP3C2I.js";
|
|
30
|
+
import "./chunk-CQYEDODS.js";
|
|
31
|
+
import "./chunk-TA6HPKWQ.js";
|
|
32
|
+
import "./chunk-37VGJM3T.js";
|
|
33
|
+
import "./chunk-OTWT6BAJ.js";
|
|
34
|
+
export {
|
|
35
|
+
Noydb,
|
|
36
|
+
createNoydb
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=noydb-ZZCRF6TE.js.map
|
|
@@ -158,6 +158,16 @@ var OverlayedViewRegistry = class {
|
|
|
158
158
|
isOverlay(name) {
|
|
159
159
|
return this._byName.has(name);
|
|
160
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* All registered overlay strategies as a flat array.
|
|
163
|
+
* Each strategy carries `name`, `base`, and `overlay` fields that
|
|
164
|
+
* `describeOverlays()` in the introspection walker reads directly.
|
|
165
|
+
*
|
|
166
|
+
* Used by `dumpSchema()` to populate the `overlayViews` map.
|
|
167
|
+
*/
|
|
168
|
+
all() {
|
|
169
|
+
return [...this._byName.values()];
|
|
170
|
+
}
|
|
161
171
|
/**
|
|
162
172
|
* Resolve the `rowKey` function for an overlay's base MV. Returns
|
|
163
173
|
* `undefined` if the base isn't an MV (raw source collection) or
|
|
@@ -207,37 +217,34 @@ var OverlayedCollection = class {
|
|
|
207
217
|
/** Get the merged row by id. */
|
|
208
218
|
async get(id) {
|
|
209
219
|
const overlayRow = await this.overlayCollection.get(id);
|
|
210
|
-
if (overlayRow !== null && this.shadowPredicateApplies(overlayRow)) {
|
|
211
|
-
return overlayRow;
|
|
212
|
-
}
|
|
213
220
|
const baseRow = await this.baseCollection.get(id);
|
|
214
|
-
|
|
215
|
-
return null;
|
|
221
|
+
return this.mergeRows(overlayRow, baseRow);
|
|
216
222
|
}
|
|
217
223
|
/** List union of base + overlay ids, applying the merge per row. */
|
|
218
224
|
async list() {
|
|
219
225
|
const baseRows = await this.baseCollection.list();
|
|
220
226
|
const overlayRows = await this.overlayCollection.list();
|
|
221
|
-
const merged = /* @__PURE__ */ new Map();
|
|
222
227
|
const idOf = (row) => {
|
|
223
228
|
if (this.baseRowKey) return this.baseRowKey(row);
|
|
224
229
|
const idField = row.id;
|
|
225
230
|
return typeof idField === "string" ? idField : "";
|
|
226
231
|
};
|
|
232
|
+
const baseById = /* @__PURE__ */ new Map();
|
|
233
|
+
const overlayById = /* @__PURE__ */ new Map();
|
|
227
234
|
for (const row of baseRows) {
|
|
228
235
|
const id = idOf(row);
|
|
229
|
-
if (id)
|
|
236
|
+
if (id) baseById.set(id, row);
|
|
230
237
|
}
|
|
231
238
|
for (const row of overlayRows) {
|
|
232
239
|
const id = idOf(row);
|
|
233
|
-
if (
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
240
|
+
if (id) overlayById.set(id, row);
|
|
241
|
+
}
|
|
242
|
+
const out = [];
|
|
243
|
+
for (const id of /* @__PURE__ */ new Set([...baseById.keys(), ...overlayById.keys()])) {
|
|
244
|
+
const merged = this.mergeRows(overlayById.get(id) ?? null, baseById.get(id) ?? null);
|
|
245
|
+
if (merged !== null) out.push(merged);
|
|
239
246
|
}
|
|
240
|
-
return
|
|
247
|
+
return out;
|
|
241
248
|
}
|
|
242
249
|
/**
|
|
243
250
|
* Write to the overlay. Two forms:
|
|
@@ -277,9 +284,42 @@ var OverlayedCollection = class {
|
|
|
277
284
|
async delete(id) {
|
|
278
285
|
await this.overlayCollection.delete(id);
|
|
279
286
|
}
|
|
280
|
-
/**
|
|
281
|
-
|
|
282
|
-
|
|
287
|
+
/**
|
|
288
|
+
* Merge a single id's overlay + base rows into the visible row.
|
|
289
|
+
*
|
|
290
|
+
* Priority (first match wins):
|
|
291
|
+
* 1. Binary shadow win — overlay present AND
|
|
292
|
+
* `overlay[shadowField] === shadowValue` → return the overlay row
|
|
293
|
+
* entirely. This stays FIRST so the original binary behaviour is
|
|
294
|
+
* unchanged whether or not `mergeMode` is configured.
|
|
295
|
+
* 2. Field-level merge — overlay present, `mergeMode` configured,
|
|
296
|
+
* and a rule whose `whenStatus` equals `overlay[shadowField]`.
|
|
297
|
+
* The matched rule pulls its `overlayFields` (those present on
|
|
298
|
+
* the overlay row) on top of the base row. With no base row, the
|
|
299
|
+
* overlay row is returned as-is.
|
|
300
|
+
* 3. Fallback — return the base row (possibly `null`). An
|
|
301
|
+
* overlay-only row that qualifies under neither (1) nor (2) and
|
|
302
|
+
* has no base is therefore NOT surfaced.
|
|
303
|
+
*/
|
|
304
|
+
mergeRows(overlayRow, baseRow) {
|
|
305
|
+
const shadowField = this.spec.shadowField;
|
|
306
|
+
if (overlayRow !== null && overlayRow[shadowField] === this.spec.shadowValue) {
|
|
307
|
+
return overlayRow;
|
|
308
|
+
}
|
|
309
|
+
if (overlayRow !== null && this.spec.mergeMode) {
|
|
310
|
+
const status = overlayRow[shadowField];
|
|
311
|
+
const rule = this.spec.mergeMode.rules.find((r) => r.whenStatus === status);
|
|
312
|
+
if (rule) {
|
|
313
|
+
if (baseRow === null) return overlayRow;
|
|
314
|
+
const overlaySrc = overlayRow;
|
|
315
|
+
const picked = {};
|
|
316
|
+
for (const field of rule.overlayFields) {
|
|
317
|
+
if (field in overlaySrc) picked[field] = overlaySrc[field];
|
|
318
|
+
}
|
|
319
|
+
return { ...baseRow, ...picked };
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
return baseRow;
|
|
283
323
|
}
|
|
284
324
|
// ─── Throw-stubs for the unimplemented Collection<T> surface ───────
|
|
285
325
|
//
|
|
@@ -290,7 +330,7 @@ var OverlayedCollection = class {
|
|
|
290
330
|
// error pointing at the relevant issue — so consumers don't hit a
|
|
291
331
|
// cryptic `undefined is not a function` runtime crash.
|
|
292
332
|
//
|
|
293
|
-
//
|
|
333
|
+
// Throw-stubs so consumers get actionable errors rather than cryptic crashes.
|
|
294
334
|
/** @throws — chainable Query<T> over a virtual collection is deferred. */
|
|
295
335
|
query() {
|
|
296
336
|
throw new Error(
|