@noy-db/hub 0.3.0-pre.5 → 0.3.0-pre.6
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/adapter/index.d.ts +1 -1
- package/dist/adapter/index.js +1 -1
- package/dist/aggregate/index.d.ts +2 -2
- package/dist/aggregate/index.js +4 -4
- package/dist/api-OQ65LUSK.js +20 -0
- package/dist/as/index.d.ts +3 -3
- package/dist/as/index.js +9 -9
- package/dist/at/index.d.ts +1 -1
- package/dist/attestation/index.d.ts +2 -2
- package/dist/attestation/index.js +16 -16
- package/dist/{backup-OPONO6Q5.js → backup-Y3RMFGVX.js} +9 -9
- package/dist/blobs/index.d.ts +3 -3
- package/dist/blobs/index.js +8 -8
- package/dist/bundle/index.d.ts +4 -4
- package/dist/bundle/index.js +17 -17
- package/dist/{bundle-Bs13EZtX.d.ts → bundle-BPOSpGZG.d.ts} +1 -1
- package/dist/by/index.js +2 -2
- package/dist/cargo/index.d.ts +3 -3
- package/dist/cargo/index.js +19 -19
- package/dist/{chunk-BMQOH7MM.js → chunk-26FSVNBL.js} +2 -2
- package/dist/{chunk-ZBDK7T6X.js → chunk-3IMGBWP7.js} +5 -5
- package/dist/{chunk-LPRPVCNY.js → chunk-3UUXDQPM.js} +2 -2
- package/dist/{chunk-AF5ZRTZ4.js → chunk-47C4CI7R.js} +2 -2
- package/dist/{chunk-P27Z66EB.js → chunk-4I4UNXHM.js} +4 -4
- package/dist/{chunk-ULIHDPKL.js → chunk-55LSDABW.js} +2 -2
- package/dist/{chunk-P5WXDYMD.js → chunk-5GQE5IDB.js} +4 -4
- package/dist/{chunk-TLJOJBZD.js → chunk-5HZULLHE.js} +2 -2
- package/dist/chunk-5JQMX2EH.js +50 -0
- package/dist/chunk-5JQMX2EH.js.map +1 -0
- package/dist/{chunk-PGFY7IRW.js → chunk-5UOPIPZC.js} +3 -3
- package/dist/{chunk-6HNKCKFZ.js → chunk-65FW3ALF.js} +4 -4
- package/dist/{chunk-ZKF6HH7V.js → chunk-6P5AJ2ZS.js} +2 -2
- package/dist/{chunk-QNTEDPWP.js → chunk-6PALJTC2.js} +3 -3
- package/dist/{chunk-GBTUANXF.js → chunk-6Z435B6N.js} +5 -5
- package/dist/{chunk-Z3FZC5GV.js → chunk-73C4RPMX.js} +3 -3
- package/dist/{chunk-VMJ5URU7.js → chunk-7A7LTSJR.js} +5 -5
- package/dist/{chunk-OVO2RZAE.js → chunk-7AGLCOYE.js} +10 -10
- package/dist/{chunk-XYYW64LB.js → chunk-7CZ6YXMO.js} +2 -2
- package/dist/{chunk-RDHAGBEB.js → chunk-7KTL4RHZ.js} +3 -3
- package/dist/{chunk-4K3MQ5S3.js → chunk-BASCPHNM.js} +2 -2
- package/dist/{chunk-TL7QR5T6.js → chunk-BYS45GOJ.js} +3 -3
- package/dist/{chunk-P2LDXRGP.js → chunk-C2ZKWL37.js} +2 -2
- package/dist/{chunk-BKGIWGCX.js → chunk-C4NOLA5X.js} +2 -2
- package/dist/{chunk-EWR7HL3K.js → chunk-C57J6AWN.js} +30 -5
- package/dist/{chunk-EWR7HL3K.js.map → chunk-C57J6AWN.js.map} +1 -1
- package/dist/{chunk-TB5RNNJ4.js → chunk-C6A2DPRE.js} +4 -4
- package/dist/{chunk-SW56GSYC.js → chunk-CHK5VVMI.js} +2 -2
- package/dist/{chunk-A4DWPOP3.js → chunk-CYWF3JJE.js} +10 -10
- package/dist/{chunk-IEUIUSBO.js → chunk-D6ADQ4QL.js} +577 -82
- package/dist/chunk-D6ADQ4QL.js.map +1 -0
- package/dist/{chunk-H7RYPVMJ.js → chunk-DBBP35OP.js} +2 -2
- package/dist/{chunk-A5DYVMDR.js → chunk-E7MAS736.js} +3 -3
- package/dist/{chunk-3Y4QLJ6K.js → chunk-EU7HDMT3.js} +2 -2
- package/dist/{chunk-T65UZXR6.js → chunk-FCOZ7DEC.js} +3 -3
- package/dist/{chunk-HBKDR7R3.js → chunk-GEK6UGOJ.js} +2 -2
- package/dist/{chunk-PI5CG2OV.js → chunk-GGFT2XFF.js} +4 -4
- package/dist/chunk-GYGLAVCX.js +19 -0
- package/dist/chunk-GYGLAVCX.js.map +1 -0
- package/dist/{chunk-HY6ZGGEC.js → chunk-HJZ3CTZ2.js} +2 -2
- package/dist/{chunk-GXGK22QU.js → chunk-HU55NPHZ.js} +2 -2
- package/dist/{chunk-U24XHXNK.js → chunk-I6JJ6VJS.js} +2 -2
- package/dist/{chunk-3QRQOBS7.js → chunk-I7GTYPWF.js} +2 -2
- package/dist/{chunk-N5YVZHCB.js → chunk-II6DLDZM.js} +2 -2
- package/dist/{chunk-XJR3COJO.js → chunk-IVIGZTFH.js} +4 -4
- package/dist/{chunk-Z7KI4WHR.js → chunk-LFGJG4XZ.js} +2 -2
- package/dist/{chunk-ZKYMKF2S.js → chunk-ML5UP7YN.js} +5 -5
- package/dist/{chunk-ZROMNP7Q.js → chunk-MOQ5M46U.js} +2 -2
- package/dist/{chunk-GQOT6QJR.js → chunk-MT4YWJRW.js} +5 -5
- package/dist/{chunk-7SY3PTED.js → chunk-NL4HVTNO.js} +3 -3
- package/dist/{chunk-GZZL5R73.js → chunk-OCVO2V63.js} +4 -4
- package/dist/{chunk-U23JUUPX.js → chunk-OJ64XMPJ.js} +10 -2
- package/dist/{chunk-U23JUUPX.js.map → chunk-OJ64XMPJ.js.map} +1 -1
- package/dist/{chunk-VFRNWE5P.js → chunk-OLVIGEHQ.js} +6 -6
- package/dist/{chunk-HMXLN43G.js → chunk-OWGAXPRE.js} +2 -2
- package/dist/{chunk-T2EGAXPM.js → chunk-PAJCRV7O.js} +2 -2
- package/dist/{chunk-5MRE3C4Q.js → chunk-PLQCXH75.js} +2 -2
- package/dist/{chunk-RTS23VIJ.js → chunk-PYIUDUGS.js} +2 -2
- package/dist/{chunk-6UOSONVI.js → chunk-QQQE6QUO.js} +8 -8
- package/dist/{chunk-TYGW5TOR.js → chunk-RIZQZKU6.js} +4 -4
- package/dist/{chunk-VPCMJ5Z4.js → chunk-RLP65PI3.js} +5 -5
- package/dist/{chunk-6RXPSMKR.js → chunk-RNYDHIQL.js} +3 -3
- package/dist/{chunk-S2WKOCTU.js → chunk-RXUFMTD5.js} +2 -2
- package/dist/{chunk-SAJJWVNQ.js → chunk-S2IDC6MO.js} +38 -6
- package/dist/chunk-S2IDC6MO.js.map +1 -0
- package/dist/{chunk-Z5PIUYNB.js → chunk-S55MJQUQ.js} +5 -5
- package/dist/{chunk-O2DB4C3M.js → chunk-SXLMLECV.js} +3 -3
- package/dist/{chunk-OPTFANOX.js → chunk-TSAT3E7Y.js} +3 -3
- package/dist/{chunk-M66NAZA4.js → chunk-TWJVOYU2.js} +3 -3
- package/dist/{chunk-43ISXURO.js → chunk-U7LV2DUN.js} +2 -2
- package/dist/{chunk-FH52CDEW.js → chunk-UB3XHGFG.js} +5 -5
- package/dist/{chunk-TCIUO62Z.js → chunk-UWZ7O4NR.js} +2 -2
- package/dist/{chunk-LEA7WJEZ.js → chunk-UZZFV3O3.js} +7 -7
- package/dist/{chunk-P3NGV5RV.js → chunk-V76PHWLE.js} +2 -2
- package/dist/{chunk-UOEWDCUX.js → chunk-VFQOE76I.js} +2 -2
- package/dist/{chunk-VRPBEOWU.js → chunk-VIWOGJ2O.js} +2 -2
- package/dist/{chunk-5EWYUR5P.js → chunk-VK6OC22R.js} +2 -2
- package/dist/{chunk-ZT4GWVTX.js → chunk-WAL4MRBK.js} +4 -4
- package/dist/{chunk-H5XRIJX3.js → chunk-WAW4VFS7.js} +4 -4
- package/dist/{chunk-44UTIDE2.js → chunk-WQAT24C2.js} +6 -6
- package/dist/{chunk-OJU3CPFA.js → chunk-XDWNF4BS.js} +8 -8
- package/dist/{chunk-G7RDYYTE.js → chunk-XW5LZYV4.js} +2 -2
- package/dist/{chunk-LIP6JWYK.js → chunk-YTCCC6NG.js} +3 -3
- package/dist/{chunk-OFBFAVLI.js → chunk-YXGIPYH4.js} +52 -6
- package/dist/chunk-YXGIPYH4.js.map +1 -0
- package/dist/{chunk-NQVZB3S7.js → chunk-ZHK3F5RB.js} +5 -5
- package/dist/{chunk-G4MGYGSS.js → chunk-ZRJBLWKQ.js} +5 -5
- package/dist/classified/index.d.ts +3 -3
- package/dist/classified/index.js +3 -3
- package/dist/{collection-facade-THH4ASGX.js → collection-facade-5V3JS7SD.js} +13 -13
- package/dist/{computed-BMMEFRFJ.js → computed-6FOFXQPE.js} +3 -3
- package/dist/{config-drift-3UIJVI5G.js → config-drift-SWZNEH5H.js} +3 -3
- package/dist/consent/index.d.ts +2 -2
- package/dist/consent/index.js +7 -7
- package/dist/crdt/index.d.ts +2 -2
- package/dist/dead-filter-MGWMNRO2.js +28 -0
- package/dist/dead-filter-MGWMNRO2.js.map +1 -0
- package/dist/{delegation-BQNIEHZE.js → delegation-AUY42TGU.js} +9 -9
- package/dist/derivations/index.d.ts +3 -3
- package/dist/derivations/index.js +9 -9
- package/dist/derive-FWSEWWI7.js +21 -0
- package/dist/{dev-unlock-Cqd5Xv5J.d.ts → dev-unlock-DxecHstJ.d.ts} +1 -1
- package/dist/{enclave-YN6223OG.js → enclave-UYZGSE2C.js} +8 -8
- package/dist/executor-EUPYHCLU.js +9 -0
- package/dist/executor-KZ4B3PRT.js +9 -0
- package/dist/executor-XWPD5PIM.js +21 -0
- package/dist/export-accessible-M54OI6FO.js +23 -0
- package/dist/{extract-partition-6JGY3KYR.js → extract-partition-MIHAL6PP.js} +13 -13
- package/dist/{fanout-sidecar-WS22Q5WH.js → fanout-sidecar-SSEW7BQB.js} +7 -7
- package/dist/find-OH4BEULF.js +11 -0
- package/dist/forget/index.js +7 -7
- package/dist/guards/index.d.ts +3 -3
- package/dist/guards/index.js +6 -6
- package/dist/{hash-D8Q5MJLA.d.ts → hash-umqwdLhO.d.ts} +1 -1
- package/dist/history/index.d.ts +3 -3
- package/dist/history/index.js +9 -9
- package/dist/i18n/index.d.ts +2 -2
- package/dist/i18n/index.js +11 -11
- package/dist/in/index.d.ts +1 -1
- package/dist/{index-D4GQe1Rx.d.ts → index-B-LKCpm6.d.ts} +103 -4
- package/dist/{index-DRxk8q_7.d.ts → index-zdEVWlkZ.d.ts} +2 -2
- package/dist/index.d.ts +13 -13
- package/dist/index.js +114 -112
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.d.ts +2 -2
- package/dist/indexing/index.js +4 -4
- package/dist/issue-PHWTGH2G.js +19 -0
- package/dist/kernel/index.d.ts +2 -2
- package/dist/kernel/index.js +10 -10
- package/dist/lazy/index.d.ts +2 -2
- package/dist/{ledger-KZWBKAG5.js → ledger-IWWY7IIC.js} +9 -9
- package/dist/liberate-QDTNV7SM.js +24 -0
- package/dist/{link-set-UQEIYQAM.js → link-set-HJOC7GB7.js} +9 -9
- package/dist/materialized-views/index.d.ts +3 -3
- package/dist/materialized-views/index.js +13 -13
- package/dist/{mime-magic-DmwT7OzZ.d.ts → mime-magic-C_O9KsAk.d.ts} +1 -1
- package/dist/noydb-Y5L74IDJ.js +62 -0
- package/dist/on/index.d.ts +1 -1
- package/dist/on/index.js +7 -7
- package/dist/overlay-views/index.d.ts +3 -3
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.d.ts +2 -2
- package/dist/periods/index.js +10 -10
- package/dist/pod/index.d.ts +2 -2
- package/dist/pod/index.js +9 -9
- package/dist/{policy-YIKUH4AD.js → policy-3ZKSGSRK.js} +3 -3
- package/dist/portability/index.d.ts +2 -2
- package/dist/portability/index.js +8 -8
- package/dist/post-register-BIXGCZ2M.js +55 -0
- package/dist/post-register-BIXGCZ2M.js.map +1 -0
- package/dist/{public-envelope-MRN5YYZZ.js → public-envelope-6UBQ4IUY.js} +3 -3
- package/dist/query/index.d.ts +1 -1
- package/dist/query/index.js +6 -6
- package/dist/register-OVONZ2MJ.js +23 -0
- package/dist/registry-AIEYUOSG.js +19 -0
- package/dist/registry-D5J7SVJ2.js +17 -0
- package/dist/registry-HSNQ4NBP.js +9 -0
- package/dist/{request-withdrawal-EHALV66Y.js → request-withdrawal-IHF64VIT.js} +12 -12
- package/dist/{reveal-TBLTFWQ2.js → reveal-B77Q2BJW.js} +5 -5
- package/dist/{revoke-MHAUAESM.js → revoke-BPPOUZPE.js} +9 -9
- package/dist/satellites/index.d.ts +5 -0
- package/dist/satellites/index.js +8 -0
- package/dist/sealed-record/index.d.ts +2 -2
- package/dist/sealed-record/index.js +10 -10
- package/dist/session/index.d.ts +3 -3
- package/dist/session/index.js +7 -7
- package/dist/shadow/index.d.ts +2 -2
- package/dist/shadow/index.js +2 -2
- package/dist/{signer-PQ74YXRY.js → signer-MNQEL27B.js} +8 -8
- package/dist/snapshots/index.d.ts +2 -2
- package/dist/snapshots/index.js +8 -8
- package/dist/{stale-7Q62KVI3.js → stale-COBBJORL.js} +2 -2
- package/dist/{storage-3FKGLQMC.js → storage-DVKYH7UU.js} +8 -8
- package/dist/storage-DVKYH7UU.js.map +1 -0
- package/dist/sync/index.d.ts +1 -1
- package/dist/sync/index.js +7 -7
- package/dist/team/index.d.ts +2 -2
- package/dist/team/index.js +13 -13
- package/dist/tiers/index.d.ts +1 -1
- package/dist/tiers/index.js +8 -8
- package/dist/to/index.d.ts +1 -1
- package/dist/to/index.js +1 -1
- package/dist/{transition-guard-C4hvR-Ac.d.ts → transition-guard-CzqWwVGP.d.ts} +1 -1
- package/dist/tx/index.d.ts +2 -2
- package/dist/tx/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/{validators-Ctgkj5qd.d.ts → validators-Bdiv0ucK.d.ts} +1 -1
- package/dist/{vault-diff-B1Ir6EGs.d.ts → vault-diff-BbZngJUP.d.ts} +1 -1
- package/dist/{verify-YB5LQHNA.js → verify-CAYGXYNO.js} +5 -5
- package/dist/{walk-T65TZDN2.js → walk-CVNXFUEF.js} +9 -9
- package/dist/with/index.d.ts +2 -2
- package/dist/with/index.js +9 -9
- package/dist/{with-materialized-view-Bp65kKdQ.d.ts → with-materialized-view-BmKXygt2.d.ts} +1 -1
- package/dist/{with-overlayed-view-BRhdQNrK.d.ts → with-overlayed-view-Bnwe7E75.d.ts} +1 -1
- package/dist/{with-rollup-bQRPc3y1.d.ts → with-rollup-JXTxc9cu.d.ts} +1 -1
- package/dist/{withdraw-accessible-JMX2TCPX.js → withdraw-accessible-5ALN3ZGM.js} +11 -11
- package/dist/withdraw-accessible-5ALN3ZGM.js.map +1 -0
- package/package.json +7 -3
- package/dist/api-JOXUNSKP.js +0 -20
- package/dist/chunk-IEUIUSBO.js.map +0 -1
- package/dist/chunk-OFBFAVLI.js.map +0 -1
- package/dist/chunk-SAJJWVNQ.js.map +0 -1
- package/dist/executor-CBTNU5VZ.js +0 -9
- package/dist/executor-DJHNSTIR.js +0 -9
- package/dist/executor-FGISLQIN.js +0 -21
- package/dist/export-accessible-P7SLRLK3.js +0 -23
- package/dist/find-RNBG7LBY.js +0 -11
- package/dist/issue-W5QG53B5.js +0 -19
- package/dist/liberate-AQ7OWBZZ.js +0 -24
- package/dist/noydb-WQZNAECY.js +0 -60
- package/dist/register-V5AQTXNI.js +0 -21
- package/dist/registry-IMNMHWTM.js +0 -17
- package/dist/registry-K6VUQXKV.js +0 -19
- package/dist/registry-ZVO3T4M5.js +0 -9
- /package/dist/{api-JOXUNSKP.js.map → api-OQ65LUSK.js.map} +0 -0
- /package/dist/{backup-OPONO6Q5.js.map → backup-Y3RMFGVX.js.map} +0 -0
- /package/dist/{chunk-BMQOH7MM.js.map → chunk-26FSVNBL.js.map} +0 -0
- /package/dist/{chunk-ZBDK7T6X.js.map → chunk-3IMGBWP7.js.map} +0 -0
- /package/dist/{chunk-LPRPVCNY.js.map → chunk-3UUXDQPM.js.map} +0 -0
- /package/dist/{chunk-AF5ZRTZ4.js.map → chunk-47C4CI7R.js.map} +0 -0
- /package/dist/{chunk-P27Z66EB.js.map → chunk-4I4UNXHM.js.map} +0 -0
- /package/dist/{chunk-ULIHDPKL.js.map → chunk-55LSDABW.js.map} +0 -0
- /package/dist/{chunk-P5WXDYMD.js.map → chunk-5GQE5IDB.js.map} +0 -0
- /package/dist/{chunk-TLJOJBZD.js.map → chunk-5HZULLHE.js.map} +0 -0
- /package/dist/{chunk-PGFY7IRW.js.map → chunk-5UOPIPZC.js.map} +0 -0
- /package/dist/{chunk-6HNKCKFZ.js.map → chunk-65FW3ALF.js.map} +0 -0
- /package/dist/{chunk-ZKF6HH7V.js.map → chunk-6P5AJ2ZS.js.map} +0 -0
- /package/dist/{chunk-QNTEDPWP.js.map → chunk-6PALJTC2.js.map} +0 -0
- /package/dist/{chunk-GBTUANXF.js.map → chunk-6Z435B6N.js.map} +0 -0
- /package/dist/{chunk-Z3FZC5GV.js.map → chunk-73C4RPMX.js.map} +0 -0
- /package/dist/{chunk-VMJ5URU7.js.map → chunk-7A7LTSJR.js.map} +0 -0
- /package/dist/{chunk-OVO2RZAE.js.map → chunk-7AGLCOYE.js.map} +0 -0
- /package/dist/{chunk-XYYW64LB.js.map → chunk-7CZ6YXMO.js.map} +0 -0
- /package/dist/{chunk-RDHAGBEB.js.map → chunk-7KTL4RHZ.js.map} +0 -0
- /package/dist/{chunk-4K3MQ5S3.js.map → chunk-BASCPHNM.js.map} +0 -0
- /package/dist/{chunk-TL7QR5T6.js.map → chunk-BYS45GOJ.js.map} +0 -0
- /package/dist/{chunk-P2LDXRGP.js.map → chunk-C2ZKWL37.js.map} +0 -0
- /package/dist/{chunk-BKGIWGCX.js.map → chunk-C4NOLA5X.js.map} +0 -0
- /package/dist/{chunk-TB5RNNJ4.js.map → chunk-C6A2DPRE.js.map} +0 -0
- /package/dist/{chunk-SW56GSYC.js.map → chunk-CHK5VVMI.js.map} +0 -0
- /package/dist/{chunk-A4DWPOP3.js.map → chunk-CYWF3JJE.js.map} +0 -0
- /package/dist/{chunk-H7RYPVMJ.js.map → chunk-DBBP35OP.js.map} +0 -0
- /package/dist/{chunk-A5DYVMDR.js.map → chunk-E7MAS736.js.map} +0 -0
- /package/dist/{chunk-3Y4QLJ6K.js.map → chunk-EU7HDMT3.js.map} +0 -0
- /package/dist/{chunk-T65UZXR6.js.map → chunk-FCOZ7DEC.js.map} +0 -0
- /package/dist/{chunk-HBKDR7R3.js.map → chunk-GEK6UGOJ.js.map} +0 -0
- /package/dist/{chunk-PI5CG2OV.js.map → chunk-GGFT2XFF.js.map} +0 -0
- /package/dist/{chunk-HY6ZGGEC.js.map → chunk-HJZ3CTZ2.js.map} +0 -0
- /package/dist/{chunk-GXGK22QU.js.map → chunk-HU55NPHZ.js.map} +0 -0
- /package/dist/{chunk-U24XHXNK.js.map → chunk-I6JJ6VJS.js.map} +0 -0
- /package/dist/{chunk-3QRQOBS7.js.map → chunk-I7GTYPWF.js.map} +0 -0
- /package/dist/{chunk-N5YVZHCB.js.map → chunk-II6DLDZM.js.map} +0 -0
- /package/dist/{chunk-XJR3COJO.js.map → chunk-IVIGZTFH.js.map} +0 -0
- /package/dist/{chunk-Z7KI4WHR.js.map → chunk-LFGJG4XZ.js.map} +0 -0
- /package/dist/{chunk-ZKYMKF2S.js.map → chunk-ML5UP7YN.js.map} +0 -0
- /package/dist/{chunk-ZROMNP7Q.js.map → chunk-MOQ5M46U.js.map} +0 -0
- /package/dist/{chunk-GQOT6QJR.js.map → chunk-MT4YWJRW.js.map} +0 -0
- /package/dist/{chunk-7SY3PTED.js.map → chunk-NL4HVTNO.js.map} +0 -0
- /package/dist/{chunk-GZZL5R73.js.map → chunk-OCVO2V63.js.map} +0 -0
- /package/dist/{chunk-VFRNWE5P.js.map → chunk-OLVIGEHQ.js.map} +0 -0
- /package/dist/{chunk-HMXLN43G.js.map → chunk-OWGAXPRE.js.map} +0 -0
- /package/dist/{chunk-T2EGAXPM.js.map → chunk-PAJCRV7O.js.map} +0 -0
- /package/dist/{chunk-5MRE3C4Q.js.map → chunk-PLQCXH75.js.map} +0 -0
- /package/dist/{chunk-RTS23VIJ.js.map → chunk-PYIUDUGS.js.map} +0 -0
- /package/dist/{chunk-6UOSONVI.js.map → chunk-QQQE6QUO.js.map} +0 -0
- /package/dist/{chunk-TYGW5TOR.js.map → chunk-RIZQZKU6.js.map} +0 -0
- /package/dist/{chunk-VPCMJ5Z4.js.map → chunk-RLP65PI3.js.map} +0 -0
- /package/dist/{chunk-6RXPSMKR.js.map → chunk-RNYDHIQL.js.map} +0 -0
- /package/dist/{chunk-S2WKOCTU.js.map → chunk-RXUFMTD5.js.map} +0 -0
- /package/dist/{chunk-Z5PIUYNB.js.map → chunk-S55MJQUQ.js.map} +0 -0
- /package/dist/{chunk-O2DB4C3M.js.map → chunk-SXLMLECV.js.map} +0 -0
- /package/dist/{chunk-OPTFANOX.js.map → chunk-TSAT3E7Y.js.map} +0 -0
- /package/dist/{chunk-M66NAZA4.js.map → chunk-TWJVOYU2.js.map} +0 -0
- /package/dist/{chunk-43ISXURO.js.map → chunk-U7LV2DUN.js.map} +0 -0
- /package/dist/{chunk-FH52CDEW.js.map → chunk-UB3XHGFG.js.map} +0 -0
- /package/dist/{chunk-TCIUO62Z.js.map → chunk-UWZ7O4NR.js.map} +0 -0
- /package/dist/{chunk-LEA7WJEZ.js.map → chunk-UZZFV3O3.js.map} +0 -0
- /package/dist/{chunk-P3NGV5RV.js.map → chunk-V76PHWLE.js.map} +0 -0
- /package/dist/{chunk-UOEWDCUX.js.map → chunk-VFQOE76I.js.map} +0 -0
- /package/dist/{chunk-VRPBEOWU.js.map → chunk-VIWOGJ2O.js.map} +0 -0
- /package/dist/{chunk-5EWYUR5P.js.map → chunk-VK6OC22R.js.map} +0 -0
- /package/dist/{chunk-ZT4GWVTX.js.map → chunk-WAL4MRBK.js.map} +0 -0
- /package/dist/{chunk-H5XRIJX3.js.map → chunk-WAW4VFS7.js.map} +0 -0
- /package/dist/{chunk-44UTIDE2.js.map → chunk-WQAT24C2.js.map} +0 -0
- /package/dist/{chunk-OJU3CPFA.js.map → chunk-XDWNF4BS.js.map} +0 -0
- /package/dist/{chunk-G7RDYYTE.js.map → chunk-XW5LZYV4.js.map} +0 -0
- /package/dist/{chunk-LIP6JWYK.js.map → chunk-YTCCC6NG.js.map} +0 -0
- /package/dist/{chunk-NQVZB3S7.js.map → chunk-ZHK3F5RB.js.map} +0 -0
- /package/dist/{chunk-G4MGYGSS.js.map → chunk-ZRJBLWKQ.js.map} +0 -0
- /package/dist/{collection-facade-THH4ASGX.js.map → collection-facade-5V3JS7SD.js.map} +0 -0
- /package/dist/{computed-BMMEFRFJ.js.map → computed-6FOFXQPE.js.map} +0 -0
- /package/dist/{config-drift-3UIJVI5G.js.map → config-drift-SWZNEH5H.js.map} +0 -0
- /package/dist/{delegation-BQNIEHZE.js.map → delegation-AUY42TGU.js.map} +0 -0
- /package/dist/{enclave-YN6223OG.js.map → derive-FWSEWWI7.js.map} +0 -0
- /package/dist/{executor-CBTNU5VZ.js.map → enclave-UYZGSE2C.js.map} +0 -0
- /package/dist/{executor-DJHNSTIR.js.map → executor-EUPYHCLU.js.map} +0 -0
- /package/dist/{executor-FGISLQIN.js.map → executor-KZ4B3PRT.js.map} +0 -0
- /package/dist/{export-accessible-P7SLRLK3.js.map → executor-XWPD5PIM.js.map} +0 -0
- /package/dist/{extract-partition-6JGY3KYR.js.map → export-accessible-M54OI6FO.js.map} +0 -0
- /package/dist/{find-RNBG7LBY.js.map → extract-partition-MIHAL6PP.js.map} +0 -0
- /package/dist/{fanout-sidecar-WS22Q5WH.js.map → fanout-sidecar-SSEW7BQB.js.map} +0 -0
- /package/dist/{issue-W5QG53B5.js.map → find-OH4BEULF.js.map} +0 -0
- /package/dist/{ledger-KZWBKAG5.js.map → issue-PHWTGH2G.js.map} +0 -0
- /package/dist/{liberate-AQ7OWBZZ.js.map → ledger-IWWY7IIC.js.map} +0 -0
- /package/dist/{link-set-UQEIYQAM.js.map → liberate-QDTNV7SM.js.map} +0 -0
- /package/dist/{noydb-WQZNAECY.js.map → link-set-HJOC7GB7.js.map} +0 -0
- /package/dist/{policy-YIKUH4AD.js.map → noydb-Y5L74IDJ.js.map} +0 -0
- /package/dist/{public-envelope-MRN5YYZZ.js.map → policy-3ZKSGSRK.js.map} +0 -0
- /package/dist/{register-V5AQTXNI.js.map → public-envelope-6UBQ4IUY.js.map} +0 -0
- /package/dist/{registry-IMNMHWTM.js.map → register-OVONZ2MJ.js.map} +0 -0
- /package/dist/{registry-K6VUQXKV.js.map → registry-AIEYUOSG.js.map} +0 -0
- /package/dist/{registry-ZVO3T4M5.js.map → registry-D5J7SVJ2.js.map} +0 -0
- /package/dist/{request-withdrawal-EHALV66Y.js.map → registry-HSNQ4NBP.js.map} +0 -0
- /package/dist/{revoke-MHAUAESM.js.map → request-withdrawal-IHF64VIT.js.map} +0 -0
- /package/dist/{reveal-TBLTFWQ2.js.map → reveal-B77Q2BJW.js.map} +0 -0
- /package/dist/{signer-PQ74YXRY.js.map → revoke-BPPOUZPE.js.map} +0 -0
- /package/dist/{stale-7Q62KVI3.js.map → satellites/index.js.map} +0 -0
- /package/dist/{storage-3FKGLQMC.js.map → signer-MNQEL27B.js.map} +0 -0
- /package/dist/{withdraw-accessible-JMX2TCPX.js.map → stale-COBBJORL.js.map} +0 -0
- /package/dist/{verify-YB5LQHNA.js.map → verify-CAYGXYNO.js.map} +0 -0
- /package/dist/{walk-T65TZDN2.js.map → walk-CVNXFUEF.js.map} +0 -0
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
loadVaultPolicy
|
|
3
|
+
} from "./chunk-T45LAT2Y.js";
|
|
1
4
|
import {
|
|
2
5
|
jsonSchemaToFields
|
|
3
6
|
} from "./chunk-TQ3REHVF.js";
|
|
@@ -6,20 +9,17 @@ import {
|
|
|
6
9
|
SEQUENCE_COLLECTION,
|
|
7
10
|
compileSequenceFormat,
|
|
8
11
|
resolveSequenceKey
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import {
|
|
11
|
-
loadVaultPolicy
|
|
12
|
-
} from "./chunk-T45LAT2Y.js";
|
|
12
|
+
} from "./chunk-4I4UNXHM.js";
|
|
13
13
|
import {
|
|
14
14
|
LinkIntegrityError,
|
|
15
15
|
isLinkCollectionName,
|
|
16
16
|
linkCollectionName,
|
|
17
17
|
linkRowKey
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-V76PHWLE.js";
|
|
19
19
|
import {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
} from "./chunk-
|
|
20
|
+
hashFields,
|
|
21
|
+
validateSatelliteDeclaration
|
|
22
|
+
} from "./chunk-5JQMX2EH.js";
|
|
23
23
|
import {
|
|
24
24
|
loadFence
|
|
25
25
|
} from "./chunk-YFF2RP3X.js";
|
|
@@ -29,7 +29,20 @@ import {
|
|
|
29
29
|
NO_SEARCH,
|
|
30
30
|
VectorSet,
|
|
31
31
|
buildPersistedIndexCallbacks
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-CYWF3JJE.js";
|
|
33
|
+
import {
|
|
34
|
+
derivePersistedSchema,
|
|
35
|
+
isZod4Schema
|
|
36
|
+
} from "./chunk-55LSDABW.js";
|
|
37
|
+
import {
|
|
38
|
+
isBaseLive,
|
|
39
|
+
liveBaseIdSet
|
|
40
|
+
} from "./chunk-GYGLAVCX.js";
|
|
41
|
+
import {
|
|
42
|
+
CustodyApi,
|
|
43
|
+
NO_CARGO,
|
|
44
|
+
NO_CUSTODY
|
|
45
|
+
} from "./chunk-GGFT2XFF.js";
|
|
33
46
|
import {
|
|
34
47
|
ServiceBus,
|
|
35
48
|
WriteHookRegistry,
|
|
@@ -37,50 +50,45 @@ import {
|
|
|
37
50
|
assertCanImport,
|
|
38
51
|
canExport,
|
|
39
52
|
canImport
|
|
40
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-NL4HVTNO.js";
|
|
41
54
|
import {
|
|
42
55
|
NO_ATTESTATION
|
|
43
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-LFGJG4XZ.js";
|
|
44
57
|
import {
|
|
45
58
|
NO_CLASSIFIED,
|
|
46
59
|
enforceClassifiedWrite,
|
|
47
60
|
resolveClassifiedFields
|
|
48
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-47C4CI7R.js";
|
|
49
62
|
import {
|
|
50
63
|
NO_TIERS,
|
|
51
64
|
classifySealedShred
|
|
52
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-7A7LTSJR.js";
|
|
53
66
|
import {
|
|
54
67
|
NO_PORTABILITY
|
|
55
|
-
} from "./chunk-
|
|
56
|
-
import {
|
|
57
|
-
CustodyApi,
|
|
58
|
-
NO_CARGO,
|
|
59
|
-
NO_CUSTODY
|
|
60
|
-
} from "./chunk-PI5CG2OV.js";
|
|
68
|
+
} from "./chunk-II6DLDZM.js";
|
|
61
69
|
import {
|
|
62
70
|
runDrainBarrier
|
|
63
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-EU7HDMT3.js";
|
|
64
72
|
import {
|
|
65
73
|
PERIODS_COLLECTION
|
|
66
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-OCVO2V63.js";
|
|
67
75
|
import {
|
|
68
76
|
TxContext,
|
|
69
77
|
revertExecuted
|
|
70
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-FCOZ7DEC.js";
|
|
71
79
|
import {
|
|
72
80
|
OverlayedCollection
|
|
73
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-MOQ5M46U.js";
|
|
74
82
|
import {
|
|
75
83
|
EXPORT_AUDIT_COLLECTION,
|
|
76
84
|
createExportBlobsHandle,
|
|
77
85
|
runCompaction
|
|
78
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-PLQCXH75.js";
|
|
79
87
|
import {
|
|
80
88
|
LazyQuery,
|
|
81
89
|
decodeIdxId,
|
|
82
90
|
encodeIdxId
|
|
83
|
-
} from "./chunk-
|
|
91
|
+
} from "./chunk-6PALJTC2.js";
|
|
84
92
|
import {
|
|
85
93
|
IMPLICIT_LAZY,
|
|
86
94
|
Lru,
|
|
@@ -93,7 +101,7 @@ import {
|
|
|
93
101
|
import {
|
|
94
102
|
isDictCollectionName,
|
|
95
103
|
isStaticDictDescriptor
|
|
96
|
-
} from "./chunk-
|
|
104
|
+
} from "./chunk-WQAT24C2.js";
|
|
97
105
|
import {
|
|
98
106
|
NO_TEAM,
|
|
99
107
|
enrollAuthenticator,
|
|
@@ -104,7 +112,7 @@ import {
|
|
|
104
112
|
rotatePassphrase,
|
|
105
113
|
updateAuthenticator,
|
|
106
114
|
writeMagicLinkGrant
|
|
107
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-UZZFV3O3.js";
|
|
108
116
|
import {
|
|
109
117
|
hasRecoveryEnrolled,
|
|
110
118
|
hasStrongRecoveryEnrolled,
|
|
@@ -114,7 +122,7 @@ import {
|
|
|
114
122
|
mintShamirRecoveryEntry,
|
|
115
123
|
savePaperRecoveryEntries,
|
|
116
124
|
saveShamirRecoveryEntries
|
|
117
|
-
} from "./chunk-
|
|
125
|
+
} from "./chunk-3UUXDQPM.js";
|
|
118
126
|
import {
|
|
119
127
|
INDEXED_STORE_POLICY
|
|
120
128
|
} from "./chunk-VQNJ7UZL.js";
|
|
@@ -130,17 +138,17 @@ import {
|
|
|
130
138
|
listUsers,
|
|
131
139
|
loadKeyring,
|
|
132
140
|
updateKeyringIdentity
|
|
133
|
-
} from "./chunk-
|
|
141
|
+
} from "./chunk-WAL4MRBK.js";
|
|
134
142
|
import {
|
|
135
143
|
persistDirectoryConfig,
|
|
136
144
|
readDirectoryConfig
|
|
137
|
-
} from "./chunk-
|
|
145
|
+
} from "./chunk-C6A2DPRE.js";
|
|
138
146
|
import {
|
|
139
147
|
generateULID
|
|
140
148
|
} from "./chunk-ZJADGNYF.js";
|
|
141
149
|
import {
|
|
142
150
|
sha256Hex
|
|
143
|
-
} from "./chunk-
|
|
151
|
+
} from "./chunk-TWJVOYU2.js";
|
|
144
152
|
import {
|
|
145
153
|
NO_FORGET,
|
|
146
154
|
addSubjectRef,
|
|
@@ -149,10 +157,10 @@ import {
|
|
|
149
157
|
readDottedPath,
|
|
150
158
|
rebuildSubjectIndex,
|
|
151
159
|
removeSubjectRef
|
|
152
|
-
} from "./chunk-
|
|
160
|
+
} from "./chunk-SXLMLECV.js";
|
|
153
161
|
import {
|
|
154
162
|
NO_SEALED_RECORD
|
|
155
|
-
} from "./chunk-
|
|
163
|
+
} from "./chunk-XW5LZYV4.js";
|
|
156
164
|
import {
|
|
157
165
|
RecordCodec,
|
|
158
166
|
SEALED_CEK_NS,
|
|
@@ -162,7 +170,7 @@ import {
|
|
|
162
170
|
queryByDet,
|
|
163
171
|
resolveStableCek,
|
|
164
172
|
validateSchemaInput
|
|
165
|
-
} from "./chunk-
|
|
173
|
+
} from "./chunk-7AGLCOYE.js";
|
|
166
174
|
import {
|
|
167
175
|
buildTombstone,
|
|
168
176
|
isTombstone
|
|
@@ -172,25 +180,25 @@ import {
|
|
|
172
180
|
} from "./chunk-LN22XH4B.js";
|
|
173
181
|
import {
|
|
174
182
|
encrypt
|
|
175
|
-
} from "./chunk-
|
|
183
|
+
} from "./chunk-5HZULLHE.js";
|
|
176
184
|
import {
|
|
177
185
|
NO_AGGREGATE,
|
|
178
186
|
Query,
|
|
179
187
|
ScanBuilder
|
|
180
|
-
} from "./chunk-
|
|
188
|
+
} from "./chunk-6Z435B6N.js";
|
|
181
189
|
import {
|
|
182
190
|
canonicalGroupKey
|
|
183
|
-
} from "./chunk-
|
|
191
|
+
} from "./chunk-5GQE5IDB.js";
|
|
184
192
|
import {
|
|
185
193
|
moneyRuntime,
|
|
186
194
|
readPath
|
|
187
|
-
} from "./chunk-
|
|
195
|
+
} from "./chunk-6P5AJ2ZS.js";
|
|
188
196
|
import {
|
|
189
197
|
getAtPath,
|
|
190
198
|
resolvePolicy,
|
|
191
199
|
setAtPathInPlace,
|
|
192
200
|
stripI18nFilled
|
|
193
|
-
} from "./chunk-
|
|
201
|
+
} from "./chunk-BASCPHNM.js";
|
|
194
202
|
import {
|
|
195
203
|
AlreadyElevatedError,
|
|
196
204
|
AttestationError,
|
|
@@ -217,6 +225,7 @@ import {
|
|
|
217
225
|
RecoveryNotEnrolledError,
|
|
218
226
|
RecoveryProfileNotImplementedError,
|
|
219
227
|
ReservedCollectionNameError,
|
|
228
|
+
SatelliteConfigError,
|
|
220
229
|
SchemaFenceError,
|
|
221
230
|
StaticDictReadonlyError,
|
|
222
231
|
StoreCapabilityError,
|
|
@@ -227,7 +236,7 @@ import {
|
|
|
227
236
|
UnknownDictCodeError,
|
|
228
237
|
UnsupportedIndexOptionError,
|
|
229
238
|
ValidationError
|
|
230
|
-
} from "./chunk-
|
|
239
|
+
} from "./chunk-OJ64XMPJ.js";
|
|
231
240
|
|
|
232
241
|
// src/port/by/default-provider.ts
|
|
233
242
|
async function createDefaultCoordinationProvider(store) {
|
|
@@ -1060,7 +1069,7 @@ async function resolveStaleOnRead(accessor, outputCollection, id) {
|
|
|
1060
1069
|
}
|
|
1061
1070
|
const sourceWithId = { ...source, id };
|
|
1062
1071
|
if (DerivationExecutor === null) {
|
|
1063
|
-
({ DerivationExecutor } = await import("./executor-
|
|
1072
|
+
({ DerivationExecutor } = await import("./executor-EUPYHCLU.js"));
|
|
1064
1073
|
}
|
|
1065
1074
|
const ctx = { vault: accessor.getReadOnlyFacade() };
|
|
1066
1075
|
const result = await DerivationExecutor.run(spec, sourceWithId, 0, strategyHash, ctx);
|
|
@@ -1350,7 +1359,7 @@ function resolveCollectionConfig(opts) {
|
|
|
1350
1359
|
// src/with-formula/computed/lazy.ts
|
|
1351
1360
|
var fn = null;
|
|
1352
1361
|
async function loadEvalComputedFields() {
|
|
1353
|
-
fn ??= (await import("./computed-
|
|
1362
|
+
fn ??= (await import("./computed-6FOFXQPE.js")).evalComputedFields;
|
|
1354
1363
|
return fn;
|
|
1355
1364
|
}
|
|
1356
1365
|
|
|
@@ -2188,7 +2197,7 @@ var Collection = class {
|
|
|
2188
2197
|
}
|
|
2189
2198
|
await this.onAccess?.("find", "*");
|
|
2190
2199
|
if (hits.length === 0) return [];
|
|
2191
|
-
const { verifyDigestField } = await import("./verify-
|
|
2200
|
+
const { verifyDigestField } = await import("./verify-CAYGXYNO.js");
|
|
2192
2201
|
const policy = {
|
|
2193
2202
|
normalize: spec.verifyNormalize ?? "password",
|
|
2194
2203
|
notLastN: spec.notLastN ?? 0,
|
|
@@ -2364,7 +2373,7 @@ var Collection = class {
|
|
|
2364
2373
|
}
|
|
2365
2374
|
}
|
|
2366
2375
|
if (this.materializedViewSource !== void 0) {
|
|
2367
|
-
const { resolveStaleMVOnRead } = await import("./stale-
|
|
2376
|
+
const { resolveStaleMVOnRead } = await import("./stale-COBBJORL.js");
|
|
2368
2377
|
await resolveStaleMVOnRead(this.materializedViewSource, this.name);
|
|
2369
2378
|
}
|
|
2370
2379
|
let record;
|
|
@@ -2927,7 +2936,7 @@ var Collection = class {
|
|
|
2927
2936
|
if (mode === "eager") {
|
|
2928
2937
|
if (executor === null) {
|
|
2929
2938
|
;
|
|
2930
|
-
({ MaterializedViewExecutor: executor } = await import("./executor-
|
|
2939
|
+
({ MaterializedViewExecutor: executor } = await import("./executor-XWPD5PIM.js"));
|
|
2931
2940
|
}
|
|
2932
2941
|
await executor.refresh(reg, {
|
|
2933
2942
|
getCollection: (name) => this.materializedViewSource.getCollection(name),
|
|
@@ -2936,7 +2945,7 @@ var Collection = class {
|
|
|
2936
2945
|
});
|
|
2937
2946
|
} else if (mode === "lazy") {
|
|
2938
2947
|
if (staleHelpers === null) {
|
|
2939
|
-
staleHelpers = await import("./stale-
|
|
2948
|
+
staleHelpers = await import("./stale-COBBJORL.js");
|
|
2940
2949
|
}
|
|
2941
2950
|
staleHelpers.markMVStale(registry, reg.spec.name);
|
|
2942
2951
|
}
|
|
@@ -3121,7 +3130,7 @@ var Collection = class {
|
|
|
3121
3130
|
continue;
|
|
3122
3131
|
}
|
|
3123
3132
|
if (DerivationExecutor === null) {
|
|
3124
|
-
({ DerivationExecutor } = await import("./executor-
|
|
3133
|
+
({ DerivationExecutor } = await import("./executor-EUPYHCLU.js"));
|
|
3125
3134
|
}
|
|
3126
3135
|
for (const run of runs) {
|
|
3127
3136
|
const ctx = { vault: this.derivationSource.getReadOnlyFacade() };
|
|
@@ -3140,7 +3149,7 @@ var Collection = class {
|
|
|
3140
3149
|
const outputCollection = this.derivationSource.getCollection(outSpec.collection);
|
|
3141
3150
|
const txCtx = this.derivationSource.getActiveTxContext();
|
|
3142
3151
|
if (out.kind === "array") {
|
|
3143
|
-
const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-
|
|
3152
|
+
const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-SSEW7BQB.js");
|
|
3144
3153
|
const prior = await loadFanoutSidecar(this.adapter, this.vault, spec.source, run.runId, key, this.getDEK, this.storeCiphertext);
|
|
3145
3154
|
const prevKeys = new Set(prior?.keys ?? []);
|
|
3146
3155
|
const newKeysList = out.entries.map((e) => e.key);
|
|
@@ -3493,7 +3502,7 @@ var Collection = class {
|
|
|
3493
3502
|
for (const [outputKey, outSpec] of Object.entries(spec.outputs)) {
|
|
3494
3503
|
if (outSpec.shape !== "array") continue;
|
|
3495
3504
|
if (helpers === null) {
|
|
3496
|
-
helpers = await import("./fanout-sidecar-
|
|
3505
|
+
helpers = await import("./fanout-sidecar-SSEW7BQB.js");
|
|
3497
3506
|
}
|
|
3498
3507
|
const sidecar = await helpers.loadFanoutSidecar(this.adapter, this.vault, spec.source, id, outputKey, this.getDEK, this.storeCiphertext);
|
|
3499
3508
|
if (!sidecar) continue;
|
|
@@ -3527,7 +3536,7 @@ var Collection = class {
|
|
|
3527
3536
|
if (mode === "eager") {
|
|
3528
3537
|
if (executor === null) {
|
|
3529
3538
|
;
|
|
3530
|
-
({ MaterializedViewExecutor: executor } = await import("./executor-
|
|
3539
|
+
({ MaterializedViewExecutor: executor } = await import("./executor-XWPD5PIM.js"));
|
|
3531
3540
|
}
|
|
3532
3541
|
await executor.refresh(reg, {
|
|
3533
3542
|
getCollection: (name) => this.materializedViewSource.getCollection(name),
|
|
@@ -3536,7 +3545,7 @@ var Collection = class {
|
|
|
3536
3545
|
});
|
|
3537
3546
|
} else if (mode === "lazy") {
|
|
3538
3547
|
if (staleHelpers === null) {
|
|
3539
|
-
staleHelpers = await import("./stale-
|
|
3548
|
+
staleHelpers = await import("./stale-COBBJORL.js");
|
|
3540
3549
|
}
|
|
3541
3550
|
staleHelpers.markMVStale(registry, reg.spec.name);
|
|
3542
3551
|
}
|
|
@@ -3559,7 +3568,7 @@ var Collection = class {
|
|
|
3559
3568
|
);
|
|
3560
3569
|
}
|
|
3561
3570
|
if (this.materializedViewSource !== void 0) {
|
|
3562
|
-
const { resolveStaleMVOnRead } = await import("./stale-
|
|
3571
|
+
const { resolveStaleMVOnRead } = await import("./stale-COBBJORL.js");
|
|
3563
3572
|
await resolveStaleMVOnRead(this.materializedViewSource, this.name);
|
|
3564
3573
|
}
|
|
3565
3574
|
await this.ensureHydrated();
|
|
@@ -4193,6 +4202,15 @@ var Collection = class {
|
|
|
4193
4202
|
_invalidateCekCacheEntry(id) {
|
|
4194
4203
|
this.cekCache?.remove(id);
|
|
4195
4204
|
}
|
|
4205
|
+
/** @internal Satellite fan-out revert cleanup (spec #591): drop the sync dirty entry ('revert' is
|
|
4206
|
+
* onDirty-channel-only) and re-announce the RESTORED state as a plain put/delete — `subscribe()`
|
|
4207
|
+
* only understands those two actions, and the restored record may exist again. */
|
|
4208
|
+
async _compensateRevertedWrite(id) {
|
|
4209
|
+
await this._invalidateCacheEntry(id);
|
|
4210
|
+
await this.onDirty?.(this.name, id, "revert", 0);
|
|
4211
|
+
const restored = await this.get(id);
|
|
4212
|
+
this.emitter.emit("change", { vault: this.vault, collection: this.name, id, action: restored !== null ? "put" : "delete" });
|
|
4213
|
+
}
|
|
4196
4214
|
async _invalidateCacheEntry(id) {
|
|
4197
4215
|
if (this.lazy && this.lru) {
|
|
4198
4216
|
this.lru.remove(id);
|
|
@@ -4704,14 +4722,14 @@ var Collection = class {
|
|
|
4704
4722
|
/** C-A/R10: persist the classified marker once per classified handle (store I/O in config-drift.ts). */
|
|
4705
4723
|
async _ensureClassifiedMarker() {
|
|
4706
4724
|
if (this._markerPersisted || this.vdigFields === null) return;
|
|
4707
|
-
const { persistClassifiedMarkerForFields } = await import("./config-drift-
|
|
4725
|
+
const { persistClassifiedMarkerForFields } = await import("./config-drift-SWZNEH5H.js");
|
|
4708
4726
|
await persistClassifiedMarkerForFields(this.adapter, this.vault, this.name, this.vdigFields, await this.getDEK(this.name));
|
|
4709
4727
|
this._markerPersisted = true;
|
|
4710
4728
|
}
|
|
4711
4729
|
/** C-A/R10 drift signal — the marker's declared digest-only set, memoized to one store read per handle (see config-drift.ts). */
|
|
4712
4730
|
async _classifiedMarkerDigestOnly() {
|
|
4713
4731
|
if (this._markerDigestOnlyCache !== void 0) return this._markerDigestOnlyCache;
|
|
4714
|
-
const { readClassifiedMarkerDigestOnly } = await import("./config-drift-
|
|
4732
|
+
const { readClassifiedMarkerDigestOnly } = await import("./config-drift-SWZNEH5H.js");
|
|
4715
4733
|
this._markerDigestOnlyCache = await readClassifiedMarkerDigestOnly(this.adapter, this.vault, this.name, await this.getDEK(this.name));
|
|
4716
4734
|
return this._markerDigestOnlyCache;
|
|
4717
4735
|
}
|
|
@@ -5758,7 +5776,7 @@ var VaultLinks = class {
|
|
|
5758
5776
|
// src/with-shape/links/lazy-handle.ts
|
|
5759
5777
|
function makeLazyLinkSetHandle(d) {
|
|
5760
5778
|
let engine = null;
|
|
5761
|
-
const load = () => engine ??= import("./link-set-
|
|
5779
|
+
const load = () => engine ??= import("./link-set-HJOC7GB7.js").then(
|
|
5762
5780
|
({ LinkSet }) => new LinkSet(d.adapter, d.vault, d.name, d.spec, d.encrypted, d.getDEK, d.actor, d.emitter, d.endpointExists)
|
|
5763
5781
|
);
|
|
5764
5782
|
return {
|
|
@@ -5772,6 +5790,423 @@ function makeLazyLinkSetHandle(d) {
|
|
|
5772
5790
|
};
|
|
5773
5791
|
}
|
|
5774
5792
|
|
|
5793
|
+
// src/with-shape/satellites/registry.ts
|
|
5794
|
+
var SatelliteRegistry = class {
|
|
5795
|
+
byBase = /* @__PURE__ */ new Map();
|
|
5796
|
+
bySat = /* @__PURE__ */ new Map();
|
|
5797
|
+
byJoin = /* @__PURE__ */ new Map();
|
|
5798
|
+
poisoned = /* @__PURE__ */ new Map();
|
|
5799
|
+
locks = /* @__PURE__ */ new Map();
|
|
5800
|
+
register(spec) {
|
|
5801
|
+
if (this.byBase.has(spec.base)) {
|
|
5802
|
+
throw new SatelliteConfigError(`R-S1: base "${spec.base}" already has satellite "${this.byBase.get(spec.base).satellite}" \u2014 v1 allows exactly one satellite per base.`);
|
|
5803
|
+
}
|
|
5804
|
+
if (this.byBase.has(spec.satellite)) {
|
|
5805
|
+
throw new SatelliteConfigError(`R-S3: "${spec.satellite}" is itself registered as a base (of "${this.byBase.get(spec.satellite).satellite}") \u2014 no satellite-of-satellite chains.`);
|
|
5806
|
+
}
|
|
5807
|
+
const taken = (n) => this.byBase.has(n) || this.bySat.has(n) || this.byJoin.has(n);
|
|
5808
|
+
if (spec.joined !== void 0 && taken(spec.joined)) {
|
|
5809
|
+
throw new SatelliteConfigError(`R-S5: joined name "${spec.joined}" collides with an existing pair member or joined name.`);
|
|
5810
|
+
}
|
|
5811
|
+
this.byBase.set(spec.base, spec);
|
|
5812
|
+
this.bySat.set(spec.satellite, spec);
|
|
5813
|
+
if (spec.joined !== void 0) this.byJoin.set(spec.joined, spec);
|
|
5814
|
+
}
|
|
5815
|
+
satelliteOf(base) {
|
|
5816
|
+
return this.byBase.get(base) ?? null;
|
|
5817
|
+
}
|
|
5818
|
+
bySatellite(name) {
|
|
5819
|
+
return this.bySat.get(name) ?? null;
|
|
5820
|
+
}
|
|
5821
|
+
byJoined(name) {
|
|
5822
|
+
return this.byJoin.get(name) ?? null;
|
|
5823
|
+
}
|
|
5824
|
+
isPairMember(name) {
|
|
5825
|
+
return this.byBase.has(name) || this.bySat.has(name);
|
|
5826
|
+
}
|
|
5827
|
+
allSpecs() {
|
|
5828
|
+
return [...this.byBase.values()];
|
|
5829
|
+
}
|
|
5830
|
+
expandNames(names) {
|
|
5831
|
+
const out = new Set(names);
|
|
5832
|
+
for (const n of names) {
|
|
5833
|
+
const asBase = this.byBase.get(n);
|
|
5834
|
+
if (asBase) out.add(asBase.satellite);
|
|
5835
|
+
const asSat = this.bySat.get(n);
|
|
5836
|
+
if (asSat) out.add(asSat.base);
|
|
5837
|
+
}
|
|
5838
|
+
return [...out];
|
|
5839
|
+
}
|
|
5840
|
+
poison(satellite, reason) {
|
|
5841
|
+
this.poisoned.set(satellite, reason);
|
|
5842
|
+
}
|
|
5843
|
+
assertNotPoisoned(satellite) {
|
|
5844
|
+
const reason = this.poisoned.get(satellite);
|
|
5845
|
+
if (reason !== void 0) throw new SatelliteConfigError(reason);
|
|
5846
|
+
}
|
|
5847
|
+
/** Per-base async mutex: chains sections on a stored promise tail. */
|
|
5848
|
+
async withPairLock(base, fn2) {
|
|
5849
|
+
const tail = this.locks.get(base) ?? Promise.resolve();
|
|
5850
|
+
let release;
|
|
5851
|
+
const gate = new Promise((res) => {
|
|
5852
|
+
release = res;
|
|
5853
|
+
});
|
|
5854
|
+
this.locks.set(base, tail.then(() => gate));
|
|
5855
|
+
await tail;
|
|
5856
|
+
try {
|
|
5857
|
+
return await fn2();
|
|
5858
|
+
} finally {
|
|
5859
|
+
release();
|
|
5860
|
+
}
|
|
5861
|
+
}
|
|
5862
|
+
};
|
|
5863
|
+
|
|
5864
|
+
// src/with-shape/satellites/declare.ts
|
|
5865
|
+
function declareSatellite(ctx, collectionName, options, existingRegistry) {
|
|
5866
|
+
if (existingRegistry !== null) {
|
|
5867
|
+
const existing = existingRegistry.bySatellite(collectionName);
|
|
5868
|
+
if (existing) {
|
|
5869
|
+
const same = existing.base === options.satelliteOf && hashFields(existing.fields) === hashFields(options.fields ?? []) && (existing.joined ?? null) === (options.joined ?? null);
|
|
5870
|
+
if (!same) {
|
|
5871
|
+
throw new SatelliteConfigError(`R-S9: "${collectionName}" re-declared divergently within this session (base/fields/joined mismatch).`);
|
|
5872
|
+
}
|
|
5873
|
+
return existingRegistry;
|
|
5874
|
+
}
|
|
5875
|
+
}
|
|
5876
|
+
const spec = validateSatelliteDeclaration({
|
|
5877
|
+
satellite: collectionName,
|
|
5878
|
+
satelliteOf: options.satelliteOf,
|
|
5879
|
+
fields: options.fields,
|
|
5880
|
+
joined: options.joined,
|
|
5881
|
+
baseIsSatellite: (existingRegistry?.bySatellite(options.satelliteOf) ?? null) !== null,
|
|
5882
|
+
// R-S8 direction (i): refuse if EITHER this declaration sets crdt, OR the
|
|
5883
|
+
// base was already constructed with crdt mode before this pairing.
|
|
5884
|
+
crdtMode: options.crdt !== void 0 || ctx.getBaseCrdt(options.satelliteOf) !== void 0,
|
|
5885
|
+
joinedCollidesWithCollection: options.joined !== void 0 && ctx.collectionExists(options.joined)
|
|
5886
|
+
});
|
|
5887
|
+
if (ctx.forgetSubjects[spec.base] !== void 0 && options.perRecordKeys !== true) {
|
|
5888
|
+
throw new SatelliteConfigError(`R-S7: satellite "${collectionName}" of forget-covered base "${spec.base}" must declare perRecordKeys.`);
|
|
5889
|
+
}
|
|
5890
|
+
let reg = existingRegistry;
|
|
5891
|
+
if (reg === null) {
|
|
5892
|
+
const created = new SatelliteRegistry();
|
|
5893
|
+
ctx.registerPoisonHook((e) => {
|
|
5894
|
+
if (e.vault === ctx.vaultName) created.assertNotPoisoned(e.collection);
|
|
5895
|
+
});
|
|
5896
|
+
ctx.forEachSyncEngine((e) => e.setPairExpander((names) => created.expandNames(names)));
|
|
5897
|
+
reg = created;
|
|
5898
|
+
}
|
|
5899
|
+
reg.register(spec);
|
|
5900
|
+
ctx.forEachSyncEngine((e) => e.remirrorPairResolvers([spec.base, spec.satellite]));
|
|
5901
|
+
const registry = reg;
|
|
5902
|
+
const baseSchema = ctx.getBaseSchema(spec.base);
|
|
5903
|
+
void import("./post-register-BIXGCZ2M.js").then((m) => m.postRegister(ctx.adapter, ctx.vaultName, spec, ctx.getDEK, baseSchema, registry)).catch(() => {
|
|
5904
|
+
});
|
|
5905
|
+
return reg;
|
|
5906
|
+
}
|
|
5907
|
+
|
|
5908
|
+
// src/with-shape/satellites/raw-target.ts
|
|
5909
|
+
var RAW_TARGET = /* @__PURE__ */ Symbol("noydb.satellite.rawTarget");
|
|
5910
|
+
|
|
5911
|
+
// src/with-shape/satellites/fanout.ts
|
|
5912
|
+
function unwrap(handle) {
|
|
5913
|
+
return handle[RAW_TARGET] ?? handle;
|
|
5914
|
+
}
|
|
5915
|
+
async function revertAndCompensate(deps, executed) {
|
|
5916
|
+
for (const leg of [...executed].reverse()) {
|
|
5917
|
+
try {
|
|
5918
|
+
if (leg.prior !== null) await deps.adapter.put(deps.vaultName, leg.coll, leg.id, leg.prior);
|
|
5919
|
+
else await deps.adapter.delete(deps.vaultName, leg.coll, leg.id);
|
|
5920
|
+
await leg.handle._compensateRevertedWrite(leg.id);
|
|
5921
|
+
} catch {
|
|
5922
|
+
}
|
|
5923
|
+
}
|
|
5924
|
+
}
|
|
5925
|
+
async function joinedPut(deps, id, record) {
|
|
5926
|
+
deps.registry.assertNotPoisoned(deps.spec.satellite);
|
|
5927
|
+
const base = unwrap(deps.base());
|
|
5928
|
+
const satellite = unwrap(deps.satellite());
|
|
5929
|
+
const satFields = new Set(deps.spec.fields);
|
|
5930
|
+
const baseRec = {};
|
|
5931
|
+
const satRec = {};
|
|
5932
|
+
for (const [k, v] of Object.entries(record)) (satFields.has(k) ? satRec : baseRec)[k] = v;
|
|
5933
|
+
await base.validateInput(baseRec);
|
|
5934
|
+
await satellite.validateInput(satRec);
|
|
5935
|
+
return deps.registry.withPairLock(deps.spec.base, async () => {
|
|
5936
|
+
const executed = [];
|
|
5937
|
+
const run = async (handle, coll, rec) => {
|
|
5938
|
+
executed.push({ coll, id, prior: await deps.adapter.get(deps.vaultName, coll, id), handle });
|
|
5939
|
+
await handle.put(id, rec);
|
|
5940
|
+
};
|
|
5941
|
+
try {
|
|
5942
|
+
await run(base, deps.spec.base, baseRec);
|
|
5943
|
+
await run(satellite, deps.spec.satellite, satRec);
|
|
5944
|
+
} catch (err) {
|
|
5945
|
+
await revertAndCompensate(deps, executed);
|
|
5946
|
+
throw err;
|
|
5947
|
+
}
|
|
5948
|
+
});
|
|
5949
|
+
}
|
|
5950
|
+
async function pairDelete(deps, id) {
|
|
5951
|
+
const base = unwrap(deps.base());
|
|
5952
|
+
const satellite = unwrap(deps.satellite());
|
|
5953
|
+
return deps.registry.withPairLock(deps.spec.base, async () => {
|
|
5954
|
+
const executed = [];
|
|
5955
|
+
const run = async (handle, coll) => {
|
|
5956
|
+
executed.push({ coll, id, prior: await deps.adapter.get(deps.vaultName, coll, id), handle });
|
|
5957
|
+
await handle.delete(id);
|
|
5958
|
+
};
|
|
5959
|
+
try {
|
|
5960
|
+
await run(satellite, deps.spec.satellite);
|
|
5961
|
+
await run(base, deps.spec.base);
|
|
5962
|
+
} catch (err) {
|
|
5963
|
+
await revertAndCompensate(deps, executed);
|
|
5964
|
+
throw err;
|
|
5965
|
+
}
|
|
5966
|
+
});
|
|
5967
|
+
}
|
|
5968
|
+
|
|
5969
|
+
// src/with-shape/satellites/proxy.ts
|
|
5970
|
+
async function listWithIds(target) {
|
|
5971
|
+
const records = await target.list();
|
|
5972
|
+
const ids = [...target.cache.keys()];
|
|
5973
|
+
const out = [];
|
|
5974
|
+
for (let i = 0; i < records.length; i++) {
|
|
5975
|
+
const id = ids[i];
|
|
5976
|
+
if (id !== void 0) out.push([id, records[i]]);
|
|
5977
|
+
}
|
|
5978
|
+
return out;
|
|
5979
|
+
}
|
|
5980
|
+
async function filterLiveHits(hits, adapter, vaultName, base) {
|
|
5981
|
+
const live = await Promise.all(hits.map((h) => isBaseLive(adapter, vaultName, base, h.id)));
|
|
5982
|
+
return hits.filter((_, i) => live[i]);
|
|
5983
|
+
}
|
|
5984
|
+
function makeSatelliteProxy(target, spec, registry) {
|
|
5985
|
+
const adapter = target.adapter;
|
|
5986
|
+
const vaultName = target.vault;
|
|
5987
|
+
const queryNotExistenceFiltered = () => {
|
|
5988
|
+
throw new SatelliteConfigError(
|
|
5989
|
+
`satellite "${spec.satellite}": query() is not existence-filtered. Query's terminal methods (toArray/first/count) read the in-memory cache synchronously, while existence authority (\xA7 Convergence & existence authority, rule 1) requires an async, undecrypted check against live base state \u2014 the two shapes don't compose without either breaking query()'s synchronous contract or accepting a check that misses out-of-band base mutations. Use list() (or get()) for existence-safe reads on satellite collections.`
|
|
5990
|
+
);
|
|
5991
|
+
};
|
|
5992
|
+
const getOne = async (id) => {
|
|
5993
|
+
if (!await isBaseLive(adapter, vaultName, spec.base, id)) return null;
|
|
5994
|
+
return target.get(id);
|
|
5995
|
+
};
|
|
5996
|
+
const putOne = async (id, record) => {
|
|
5997
|
+
return registry.withPairLock(spec.base, async () => {
|
|
5998
|
+
registry.assertNotPoisoned(spec.satellite);
|
|
5999
|
+
if (!await isBaseLive(adapter, vaultName, spec.base, id)) {
|
|
6000
|
+
throw new SatelliteConfigError(
|
|
6001
|
+
`R-S6: satellite "${spec.satellite}" put for "${id}" with no live base record in "${spec.base}" \u2014 create the base first (or write through the joined handle).`
|
|
6002
|
+
);
|
|
6003
|
+
}
|
|
6004
|
+
return target.put(id, record);
|
|
6005
|
+
});
|
|
6006
|
+
};
|
|
6007
|
+
const overrides = {
|
|
6008
|
+
get: getOne,
|
|
6009
|
+
async list() {
|
|
6010
|
+
const live = await liveBaseIdSet(adapter, vaultName, spec.base);
|
|
6011
|
+
const pairs = await listWithIds(target);
|
|
6012
|
+
return pairs.filter(([id]) => live.has(id)).map(([, record]) => record);
|
|
6013
|
+
},
|
|
6014
|
+
query: queryNotExistenceFiltered,
|
|
6015
|
+
put: putOne,
|
|
6016
|
+
// #591 review I1: the real `getMany` loops `this.get(id)` bound to the raw
|
|
6017
|
+
// target, never this proxy's existence-filtered `get` — same Map<id, T|null>
|
|
6018
|
+
// shape, built from the overridden single-get instead.
|
|
6019
|
+
async getMany(ids) {
|
|
6020
|
+
const result = /* @__PURE__ */ new Map();
|
|
6021
|
+
for (const id of ids) result.set(id, await getOne(id));
|
|
6022
|
+
return result;
|
|
6023
|
+
},
|
|
6024
|
+
// #591 review I1: the real `putMany` (non-atomic) loops `this.put(id, record)`
|
|
6025
|
+
// bound to the raw target, bypassing R-S6/pair-lock/poison per item; looping
|
|
6026
|
+
// through the overridden single-put here restores that per-item enforcement
|
|
6027
|
+
// while preserving the real putMany's { ok, success, failures } shape — a
|
|
6028
|
+
// refused item becomes a failure entry, not a thrown error. Atomic mode is a
|
|
6029
|
+
// single transaction by design (looping per-item `put` would break its
|
|
6030
|
+
// all-or-nothing revert guarantee), so instead the WHOLE call is refused
|
|
6031
|
+
// with R-S6 up front, under the pair lock + poison check, if any id lacks a
|
|
6032
|
+
// live base — only then does it delegate to the real atomic executor.
|
|
6033
|
+
async putMany(entries, options) {
|
|
6034
|
+
if (options?.atomic) {
|
|
6035
|
+
return registry.withPairLock(spec.base, async () => {
|
|
6036
|
+
registry.assertNotPoisoned(spec.satellite);
|
|
6037
|
+
for (const [id] of entries) {
|
|
6038
|
+
if (!await isBaseLive(adapter, vaultName, spec.base, id)) {
|
|
6039
|
+
throw new SatelliteConfigError(
|
|
6040
|
+
`R-S6: satellite "${spec.satellite}" putMany(atomic) refused \u2014 "${id}" has no live base record in "${spec.base}".`
|
|
6041
|
+
);
|
|
6042
|
+
}
|
|
6043
|
+
}
|
|
6044
|
+
return target.putMany(entries, options);
|
|
6045
|
+
});
|
|
6046
|
+
}
|
|
6047
|
+
const success = [];
|
|
6048
|
+
const failures = [];
|
|
6049
|
+
for (const [id, record] of entries) {
|
|
6050
|
+
try {
|
|
6051
|
+
await putOne(id, record);
|
|
6052
|
+
success.push(id);
|
|
6053
|
+
} catch (error) {
|
|
6054
|
+
failures.push({ id, error });
|
|
6055
|
+
}
|
|
6056
|
+
}
|
|
6057
|
+
return { ok: failures.length === 0, success, failures };
|
|
6058
|
+
},
|
|
6059
|
+
// No `deleteMany` override: the real `deleteMany` loops the raw
|
|
6060
|
+
// `this.delete(id)` too, but this proxy never overrides single `delete`
|
|
6061
|
+
// (satellite delete is legal, unguarded — see makeBaseProxy for the leg
|
|
6062
|
+
// that DOES need fan-out) — there is nothing for a bulk delete to bypass.
|
|
6063
|
+
// #591 Task 9: search/retrieve/similarTo answer from the search facade's
|
|
6064
|
+
// own cache/index (never the get/list overrides above), so they need
|
|
6065
|
+
// their own existence post-filter — every retrieval surface the facade
|
|
6066
|
+
// exposes is covered here.
|
|
6067
|
+
async search(field, query, opts) {
|
|
6068
|
+
const hits = await target.search(field, query, opts);
|
|
6069
|
+
return filterLiveHits(hits, adapter, vaultName, spec.base);
|
|
6070
|
+
},
|
|
6071
|
+
async retrieve(query, opts) {
|
|
6072
|
+
const hits = await target.retrieve(query, opts);
|
|
6073
|
+
return filterLiveHits(hits, adapter, vaultName, spec.base);
|
|
6074
|
+
},
|
|
6075
|
+
async similarTo(vector, opts) {
|
|
6076
|
+
const hits = await target.similarTo(vector, opts);
|
|
6077
|
+
return filterLiveHits(hits, adapter, vaultName, spec.base);
|
|
6078
|
+
},
|
|
6079
|
+
// #591 Task 9 review fix: findByDet/queryByDet scan envelopes straight
|
|
6080
|
+
// off the adapter (kernel/enclave/record-keys/deterministic.ts) and
|
|
6081
|
+
// return BARE records (no id), so a post-filter can't correlate a match
|
|
6082
|
+
// back to its base row. Instead the scan itself is scoped: re-run the
|
|
6083
|
+
// same det functions over the collection's own DeterministicContext
|
|
6084
|
+
// (`detContext()` is private like `adapter`/`cache` above) with its
|
|
6085
|
+
// `adapter.list` narrowed to live-base ids — a dead-base match is then
|
|
6086
|
+
// never visited, so findByDet correctly continues to a later live match
|
|
6087
|
+
// rather than short-circuiting on a ghost.
|
|
6088
|
+
async findByDet(field, value) {
|
|
6089
|
+
return findByDet(liveScopedDetContext(), field, value);
|
|
6090
|
+
},
|
|
6091
|
+
async queryByDet(field, value) {
|
|
6092
|
+
return queryByDet(liveScopedDetContext(), field, value);
|
|
6093
|
+
}
|
|
6094
|
+
};
|
|
6095
|
+
const liveScopedDetContext = () => {
|
|
6096
|
+
const ctx = target.detContext();
|
|
6097
|
+
const raw = ctx.adapter;
|
|
6098
|
+
return {
|
|
6099
|
+
...ctx,
|
|
6100
|
+
adapter: {
|
|
6101
|
+
...raw,
|
|
6102
|
+
get: raw.get.bind(raw),
|
|
6103
|
+
async list(v, c) {
|
|
6104
|
+
const ids = await raw.list(v, c);
|
|
6105
|
+
const live = await Promise.all(ids.map((id) => isBaseLive(adapter, vaultName, spec.base, id)));
|
|
6106
|
+
return ids.filter((_, i) => live[i]);
|
|
6107
|
+
}
|
|
6108
|
+
}
|
|
6109
|
+
};
|
|
6110
|
+
};
|
|
6111
|
+
return new Proxy(target, {
|
|
6112
|
+
get(t, prop, _recv) {
|
|
6113
|
+
if (prop === RAW_TARGET) return t;
|
|
6114
|
+
if (typeof prop === "string" && prop in overrides) return overrides[prop];
|
|
6115
|
+
const v = Reflect.get(t, prop, t);
|
|
6116
|
+
return typeof v === "function" ? v.bind(t) : v;
|
|
6117
|
+
}
|
|
6118
|
+
});
|
|
6119
|
+
}
|
|
6120
|
+
function makeBaseProxy(target, spec, registry, satellite) {
|
|
6121
|
+
const adapter = target.adapter;
|
|
6122
|
+
const vaultName = target.vault;
|
|
6123
|
+
const deleteOne = async (id) => {
|
|
6124
|
+
return pairDelete({ spec, base: () => target, satellite, adapter, vaultName, registry }, id);
|
|
6125
|
+
};
|
|
6126
|
+
const overrides = {
|
|
6127
|
+
delete: deleteOne,
|
|
6128
|
+
async deleteMany(ids) {
|
|
6129
|
+
const success = [];
|
|
6130
|
+
const failures = [];
|
|
6131
|
+
for (const id of ids) {
|
|
6132
|
+
try {
|
|
6133
|
+
await deleteOne(id);
|
|
6134
|
+
success.push(id);
|
|
6135
|
+
} catch (error) {
|
|
6136
|
+
failures.push({ id, error });
|
|
6137
|
+
}
|
|
6138
|
+
}
|
|
6139
|
+
return { ok: failures.length === 0, success, failures };
|
|
6140
|
+
}
|
|
6141
|
+
};
|
|
6142
|
+
return new Proxy(target, {
|
|
6143
|
+
get(t, prop, _recv) {
|
|
6144
|
+
if (prop === RAW_TARGET) return t;
|
|
6145
|
+
if (typeof prop === "string" && prop in overrides) return overrides[prop];
|
|
6146
|
+
const v = Reflect.get(t, prop, t);
|
|
6147
|
+
return typeof v === "function" ? v.bind(t) : v;
|
|
6148
|
+
}
|
|
6149
|
+
});
|
|
6150
|
+
}
|
|
6151
|
+
|
|
6152
|
+
// src/with-shape/satellites/joined.ts
|
|
6153
|
+
function makeJoinedHandle(spec, deps) {
|
|
6154
|
+
const base = () => deps.base();
|
|
6155
|
+
const satellite = () => deps.satellite();
|
|
6156
|
+
const adapter = deps.adapter;
|
|
6157
|
+
const nullSat = () => Object.fromEntries(spec.fields.map((f) => [f, null]));
|
|
6158
|
+
const merge = (b, s) => ({ ...nullSat(), ...s ?? {}, ...b });
|
|
6159
|
+
return {
|
|
6160
|
+
async get(id) {
|
|
6161
|
+
if (!await isBaseLive(adapter, deps.vaultName, spec.base, id)) return null;
|
|
6162
|
+
const b = await base().get(id);
|
|
6163
|
+
if (b === null) return null;
|
|
6164
|
+
const s = await satellite().get(id);
|
|
6165
|
+
return merge(b, s);
|
|
6166
|
+
},
|
|
6167
|
+
async put(id, record) {
|
|
6168
|
+
await joinedPut(deps, id, record);
|
|
6169
|
+
},
|
|
6170
|
+
async delete(id) {
|
|
6171
|
+
await pairDelete(deps, id);
|
|
6172
|
+
},
|
|
6173
|
+
async list() {
|
|
6174
|
+
const live = await liveBaseIdSet(adapter, deps.vaultName, spec.base);
|
|
6175
|
+
const pairs = await listWithIds(base());
|
|
6176
|
+
const out = [];
|
|
6177
|
+
for (const [id, b] of pairs) {
|
|
6178
|
+
if (!live.has(id)) continue;
|
|
6179
|
+
out.push(merge(b, await satellite().get(id)));
|
|
6180
|
+
}
|
|
6181
|
+
return out;
|
|
6182
|
+
},
|
|
6183
|
+
async describe() {
|
|
6184
|
+
const [b, s] = await Promise.all([base().describe({}), satellite().describe({})]);
|
|
6185
|
+
return {
|
|
6186
|
+
collection: spec.joined ?? `${spec.base}+${spec.satellite}`,
|
|
6187
|
+
fields: [...b.fields, ...s.fields],
|
|
6188
|
+
meta: { label: spec.joined ?? spec.base }
|
|
6189
|
+
};
|
|
6190
|
+
}
|
|
6191
|
+
};
|
|
6192
|
+
}
|
|
6193
|
+
|
|
6194
|
+
// src/with-shape/satellites/forget.ts
|
|
6195
|
+
function expandRefsWithSatellites(refs, registry) {
|
|
6196
|
+
if (registry === null) return refs;
|
|
6197
|
+
const out = [];
|
|
6198
|
+
let anySat = false;
|
|
6199
|
+
for (const ref2 of refs) {
|
|
6200
|
+
const spec = registry.satelliteOf(ref2.collection);
|
|
6201
|
+
if (spec) {
|
|
6202
|
+
anySat = true;
|
|
6203
|
+
out.push({ collection: spec.satellite, id: ref2.id, satelliteOf: ref2.collection });
|
|
6204
|
+
}
|
|
6205
|
+
out.push(ref2);
|
|
6206
|
+
}
|
|
6207
|
+
return anySat ? out : refs;
|
|
6208
|
+
}
|
|
6209
|
+
|
|
5775
6210
|
// src/with-shape/schema-update/gate.ts
|
|
5776
6211
|
var SchemaUpdateGate = class {
|
|
5777
6212
|
#decision;
|
|
@@ -6110,6 +6545,8 @@ var Vault = class {
|
|
|
6110
6545
|
*/
|
|
6111
6546
|
reloadKeyring;
|
|
6112
6547
|
collectionCache = /* @__PURE__ */ new Map();
|
|
6548
|
+
satelliteRegistry = null;
|
|
6549
|
+
// spec #591, archetype-③
|
|
6113
6550
|
/** Vault-level schema cutover fence/controller. */
|
|
6114
6551
|
schemaFence;
|
|
6115
6552
|
/** Per-client heartbeat/watcher; started lazily on cutover registration. */
|
|
@@ -6401,6 +6838,29 @@ var Vault = class {
|
|
|
6401
6838
|
if (isSecretBearingReservedCollection(collectionName)) {
|
|
6402
6839
|
throw new ReservedCollectionNameError(collectionName);
|
|
6403
6840
|
}
|
|
6841
|
+
if (this.satelliteRegistry?.byJoined(collectionName)) {
|
|
6842
|
+
throw new SatelliteConfigError(`"${collectionName}" is a joined handle \u2014 use vault.joined('${collectionName}'), not vault.collection().`);
|
|
6843
|
+
}
|
|
6844
|
+
if (options?.crdt !== void 0 && this.satelliteRegistry?.isPairMember(collectionName)) {
|
|
6845
|
+
throw new SatelliteConfigError("R-S8: crdtMode is refused on either member of a satellite pair in v1 (revert cannot compensate a merge).");
|
|
6846
|
+
}
|
|
6847
|
+
if (options?.satelliteOf !== void 0) {
|
|
6848
|
+
this.satelliteRegistry = declareSatellite({
|
|
6849
|
+
adapter: this.adapter,
|
|
6850
|
+
vaultName: this.name,
|
|
6851
|
+
forgetSubjects: this.forgetStrategy.subjects,
|
|
6852
|
+
getDEK: this.getDEK,
|
|
6853
|
+
getBaseSchema: (base) => this.collectionCache.get(base)?.getSchema(),
|
|
6854
|
+
getBaseCrdt: (base) => this.collectionCache.get(base)?.getConfig()?.crdt,
|
|
6855
|
+
collectionExists: (name) => this.collectionCache.has(name),
|
|
6856
|
+
registerPoisonHook: (hook) => {
|
|
6857
|
+
this.noydb._writeHooks.onBeforeWrite(hook);
|
|
6858
|
+
},
|
|
6859
|
+
forEachSyncEngine: (fn2) => {
|
|
6860
|
+
this.noydb._forEachSyncEngine(this.name, fn2);
|
|
6861
|
+
}
|
|
6862
|
+
}, collectionName, { ...options, satelliteOf: options.satelliteOf }, this.satelliteRegistry);
|
|
6863
|
+
}
|
|
6404
6864
|
let coll = this.collectionCache.get(collectionName);
|
|
6405
6865
|
if (coll && options?.moneyFields) {
|
|
6406
6866
|
coll._applyMoneyFields(options.moneyFields);
|
|
@@ -6461,7 +6921,7 @@ var Vault = class {
|
|
|
6461
6921
|
const strategies = options.schemaUpdate ?? [];
|
|
6462
6922
|
const work = (async () => {
|
|
6463
6923
|
const dek = await this.getDEK(collectionName);
|
|
6464
|
-
const { persistSchemaIfNeeded } = await import("./register-
|
|
6924
|
+
const { persistSchemaIfNeeded } = await import("./register-OVONZ2MJ.js");
|
|
6465
6925
|
const result = await persistSchemaIfNeeded({
|
|
6466
6926
|
store: this.adapter,
|
|
6467
6927
|
vault: this.name,
|
|
@@ -6640,7 +7100,7 @@ var Vault = class {
|
|
|
6640
7100
|
const work = (async () => {
|
|
6641
7101
|
try {
|
|
6642
7102
|
const dek = await this.getDEK(collectionName);
|
|
6643
|
-
await (await import("./register-
|
|
7103
|
+
await (await import("./register-OVONZ2MJ.js")).persistSchemaIfNeeded({
|
|
6644
7104
|
store: this.adapter,
|
|
6645
7105
|
vault: this.name,
|
|
6646
7106
|
collectionName,
|
|
@@ -6656,8 +7116,27 @@ var Vault = class {
|
|
|
6656
7116
|
this._pendingSchemaWrites.push(work);
|
|
6657
7117
|
}
|
|
6658
7118
|
}
|
|
7119
|
+
if (this.satelliteRegistry) {
|
|
7120
|
+
const spec = this.satelliteRegistry.bySatellite(collectionName);
|
|
7121
|
+
if (spec) return makeSatelliteProxy(coll, spec, this.satelliteRegistry);
|
|
7122
|
+
const baseSpec = this.satelliteRegistry.satelliteOf(collectionName);
|
|
7123
|
+
if (baseSpec) return makeBaseProxy(coll, baseSpec, this.satelliteRegistry, () => this.collection(baseSpec.satellite));
|
|
7124
|
+
}
|
|
6659
7125
|
return coll;
|
|
6660
7126
|
}
|
|
7127
|
+
/** Full-record handle for a satellite pair registered with `joined:` (spec #591). Narrow type — not a Collection. */
|
|
7128
|
+
joined(name) {
|
|
7129
|
+
const spec = this.satelliteRegistry?.byJoined(name);
|
|
7130
|
+
if (!spec) throw new SatelliteConfigError(`No joined handle "${name}" is registered \u2014 declare it via collection(satellite, { joined: '${name}' }).`);
|
|
7131
|
+
return makeJoinedHandle(spec, {
|
|
7132
|
+
spec,
|
|
7133
|
+
base: () => this.collection(spec.base),
|
|
7134
|
+
satellite: () => this.collection(spec.satellite),
|
|
7135
|
+
adapter: this.adapter,
|
|
7136
|
+
vaultName: this.name,
|
|
7137
|
+
registry: this.satelliteRegistry
|
|
7138
|
+
});
|
|
7139
|
+
}
|
|
6661
7140
|
/**
|
|
6662
7141
|
* Await all background persisted-schema writes triggered by
|
|
6663
7142
|
* `collection({ persistJsonSchema: true })` calls on this vault.
|
|
@@ -7464,6 +7943,7 @@ var Vault = class {
|
|
|
7464
7943
|
throw new ForgetStrategyNotConfiguredError();
|
|
7465
7944
|
}
|
|
7466
7945
|
const refs = await lookupSubject(this.adapter, this.name, this.getDEK, this.encrypted, subjectId);
|
|
7946
|
+
const allRefs = expandRefsWithSatellites(refs, this.satelliteRegistry);
|
|
7467
7947
|
let recordsShredded = 0;
|
|
7468
7948
|
let historyVersionsShredded = 0;
|
|
7469
7949
|
const collections = /* @__PURE__ */ new Set();
|
|
@@ -7479,9 +7959,10 @@ var Vault = class {
|
|
|
7479
7959
|
const indexResidue = [];
|
|
7480
7960
|
const blobsEnabled = this.blobStrategy !== void 0;
|
|
7481
7961
|
const actor = this.keyring.userId;
|
|
7482
|
-
for (const ref2 of
|
|
7962
|
+
for (const ref2 of allRefs) {
|
|
7483
7963
|
const coll = this.collection(ref2.collection);
|
|
7484
|
-
const
|
|
7964
|
+
const satelliteOf = ref2.satelliteOf;
|
|
7965
|
+
const perRecordKeys = this.forgetStrategy.subjects[satelliteOf ?? ref2.collection] !== void 0;
|
|
7485
7966
|
const live = await this.adapter.get(this.name, ref2.collection, ref2.id);
|
|
7486
7967
|
if (perRecordKeys && live && live._data && !hasPerRecordKey(live)) {
|
|
7487
7968
|
unmigratedRecords.push(`${ref2.collection}:${ref2.id}`);
|
|
@@ -7513,7 +7994,17 @@ var Vault = class {
|
|
|
7513
7994
|
} catch {
|
|
7514
7995
|
sealedCekResidue.push(`${ref2.collection}:${ref2.id}`);
|
|
7515
7996
|
}
|
|
7516
|
-
|
|
7997
|
+
let shred;
|
|
7998
|
+
try {
|
|
7999
|
+
shred = await coll._writeTombstone(ref2.id, actor);
|
|
8000
|
+
} catch (cause) {
|
|
8001
|
+
if (satelliteOf === void 0) throw cause;
|
|
8002
|
+
throw new SatelliteConfigError(
|
|
8003
|
+
// R-S4: abort the whole forget rather than leave the heavy side un-erased
|
|
8004
|
+
`R-S4: forget could not fan out to satellite "${ref2.collection}" \u2014 aborting rather than leaving the heavy side`,
|
|
8005
|
+
{ cause }
|
|
8006
|
+
);
|
|
8007
|
+
}
|
|
7517
8008
|
if (shred !== null) {
|
|
7518
8009
|
recordsShredded++;
|
|
7519
8010
|
collections.add(ref2.collection);
|
|
@@ -7723,7 +8214,7 @@ var Vault = class {
|
|
|
7723
8214
|
async _initDerivations(handles) {
|
|
7724
8215
|
if (handles.length === 0) return;
|
|
7725
8216
|
const [{ DerivationRegistry }, { ReadOnlyVaultFacade }] = await Promise.all([
|
|
7726
|
-
import("./registry-
|
|
8217
|
+
import("./registry-D5J7SVJ2.js"),
|
|
7727
8218
|
import("./read-only-facade-5ADRJVTM.js")
|
|
7728
8219
|
]);
|
|
7729
8220
|
const registry = new DerivationRegistry();
|
|
@@ -7754,7 +8245,7 @@ var Vault = class {
|
|
|
7754
8245
|
*/
|
|
7755
8246
|
async _initMaterializedViews(handles) {
|
|
7756
8247
|
if (handles.length === 0) return;
|
|
7757
|
-
const { MaterializedViewRegistry } = await import("./registry-
|
|
8248
|
+
const { MaterializedViewRegistry } = await import("./registry-AIEYUOSG.js");
|
|
7758
8249
|
const registry = new MaterializedViewRegistry();
|
|
7759
8250
|
this.materializedViewRegistry = registry;
|
|
7760
8251
|
const db = this;
|
|
@@ -7778,7 +8269,7 @@ var Vault = class {
|
|
|
7778
8269
|
*/
|
|
7779
8270
|
async _initOverlayedViews(handles) {
|
|
7780
8271
|
if (handles.length === 0) return;
|
|
7781
|
-
const { OverlayedViewRegistry } = await import("./registry-
|
|
8272
|
+
const { OverlayedViewRegistry } = await import("./registry-HSNQ4NBP.js");
|
|
7782
8273
|
const registry = new OverlayedViewRegistry();
|
|
7783
8274
|
const mvRegistry = this.materializedViewRegistry;
|
|
7784
8275
|
const overlayNames = /* @__PURE__ */ new Set();
|
|
@@ -7825,13 +8316,13 @@ var Vault = class {
|
|
|
7825
8316
|
if (!reg) {
|
|
7826
8317
|
throw new Error(`refreshView: no MV registered with name "${name}"`);
|
|
7827
8318
|
}
|
|
7828
|
-
const { MaterializedViewExecutor } = await import("./executor-
|
|
8319
|
+
const { MaterializedViewExecutor } = await import("./executor-XWPD5PIM.js");
|
|
7829
8320
|
const result = await MaterializedViewExecutor.refresh(reg, {
|
|
7830
8321
|
getCollection: (n) => this.collection(n),
|
|
7831
8322
|
getActiveTxContext: () => this.noydb._activeTxContextOrNull,
|
|
7832
8323
|
getQueryContext: () => this
|
|
7833
8324
|
});
|
|
7834
|
-
const { clearMVStale } = await import("./stale-
|
|
8325
|
+
const { clearMVStale } = await import("./stale-COBBJORL.js");
|
|
7835
8326
|
clearMVStale(registry, name);
|
|
7836
8327
|
return result;
|
|
7837
8328
|
}
|
|
@@ -7847,7 +8338,7 @@ var Vault = class {
|
|
|
7847
8338
|
if (registry === null) return { derived: 0, failed: 0 };
|
|
7848
8339
|
const strategies = registry.strategiesForSource(sourceCollection);
|
|
7849
8340
|
if (strategies.length === 0) return { derived: 0, failed: 0 };
|
|
7850
|
-
const { DerivationExecutor } = await import("./executor-
|
|
8341
|
+
const { DerivationExecutor } = await import("./executor-EUPYHCLU.js");
|
|
7851
8342
|
const sourceColl = this.collection(sourceCollection);
|
|
7852
8343
|
const records = await sourceColl.list();
|
|
7853
8344
|
const ctx = { vault: this.derivationFacade ?? new (await import("./read-only-facade-5ADRJVTM.js")).ReadOnlyVaultFacade(this, "derivation") };
|
|
@@ -7872,7 +8363,7 @@ var Vault = class {
|
|
|
7872
8363
|
if (!outSpec) continue;
|
|
7873
8364
|
const outputColl = this.collection(outSpec.collection);
|
|
7874
8365
|
if (out.kind === "array") {
|
|
7875
|
-
const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-
|
|
8366
|
+
const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-SSEW7BQB.js");
|
|
7876
8367
|
const prior = await loadFanoutSidecar(this.adapter, this.name, spec.source, id, key, this.getDEK, this.encrypted);
|
|
7877
8368
|
const prevKeys = new Set(prior?.keys ?? []);
|
|
7878
8369
|
const newKeysList = out.entries.map((e) => e.key);
|
|
@@ -8094,7 +8585,7 @@ var Vault = class {
|
|
|
8094
8585
|
* collection.
|
|
8095
8586
|
*/
|
|
8096
8587
|
async delegate(opts) {
|
|
8097
|
-
const { issueDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-
|
|
8588
|
+
const { issueDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-AUY42TGU.js");
|
|
8098
8589
|
if (!this.keyring.kek) {
|
|
8099
8590
|
throw new ValidationError(
|
|
8100
8591
|
"issueDelegation: keyring.kek is null \u2014 issuing a delegation requires a tier-1 unlock. Re-authenticate at tier 1 (passphrase) first."
|
|
@@ -8116,7 +8607,7 @@ var Vault = class {
|
|
|
8116
8607
|
* if the id does not exist.
|
|
8117
8608
|
*/
|
|
8118
8609
|
async revokeDelegation(id) {
|
|
8119
|
-
const { revokeDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-
|
|
8610
|
+
const { revokeDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-AUY42TGU.js");
|
|
8120
8611
|
await revokeDelegation(this.adapter, this.name, id);
|
|
8121
8612
|
void DELEGATIONS_COLLECTION;
|
|
8122
8613
|
}
|
|
@@ -8332,7 +8823,7 @@ var Vault = class {
|
|
|
8332
8823
|
* @see docs/superpowers/specs/2026-05-22-schema-dump-design.md
|
|
8333
8824
|
*/
|
|
8334
8825
|
async dumpSchema(opts = {}) {
|
|
8335
|
-
const { dumpVaultSchema } = await import("./walk-
|
|
8826
|
+
const { dumpVaultSchema } = await import("./walk-CVNXFUEF.js");
|
|
8336
8827
|
return dumpVaultSchema(this, opts);
|
|
8337
8828
|
}
|
|
8338
8829
|
/**
|
|
@@ -8467,7 +8958,7 @@ var Vault = class {
|
|
|
8467
8958
|
* @see https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/public-envelope.md
|
|
8468
8959
|
*/
|
|
8469
8960
|
async getPublicEnvelope(opts = {}) {
|
|
8470
|
-
const { readPublicEnvelope } = await import("./public-envelope-
|
|
8961
|
+
const { readPublicEnvelope } = await import("./public-envelope-6UBQ4IUY.js");
|
|
8471
8962
|
return readPublicEnvelope(this.adapter, this.name, opts);
|
|
8472
8963
|
}
|
|
8473
8964
|
/**
|
|
@@ -8482,7 +8973,7 @@ var Vault = class {
|
|
|
8482
8973
|
* both modes round-trip cleanly.
|
|
8483
8974
|
*/
|
|
8484
8975
|
async dump() {
|
|
8485
|
-
const { dumpVault } = await import("./backup-
|
|
8976
|
+
const { dumpVault } = await import("./backup-Y3RMFGVX.js");
|
|
8486
8977
|
return dumpVault(this.backupContext());
|
|
8487
8978
|
}
|
|
8488
8979
|
/**
|
|
@@ -8534,7 +9025,7 @@ var Vault = class {
|
|
|
8534
9025
|
* — there's no chain to verify against.
|
|
8535
9026
|
*/
|
|
8536
9027
|
async load(backupJson) {
|
|
8537
|
-
const { loadVault } = await import("./backup-
|
|
9028
|
+
const { loadVault } = await import("./backup-Y3RMFGVX.js");
|
|
8538
9029
|
return loadVault(this.backupContext(), backupJson);
|
|
8539
9030
|
}
|
|
8540
9031
|
/**
|
|
@@ -8566,7 +9057,7 @@ var Vault = class {
|
|
|
8566
9057
|
* way to detect tampering of an in-place vault.
|
|
8567
9058
|
*/
|
|
8568
9059
|
async verifyBackupIntegrity() {
|
|
8569
|
-
const { verifyBackupIntegrity } = await import("./backup-
|
|
9060
|
+
const { verifyBackupIntegrity } = await import("./backup-Y3RMFGVX.js");
|
|
8570
9061
|
return verifyBackupIntegrity(this.backupContext());
|
|
8571
9062
|
}
|
|
8572
9063
|
/**
|
|
@@ -8784,7 +9275,7 @@ var Vault = class {
|
|
|
8784
9275
|
* is the live validator object, not a serialization of it).
|
|
8785
9276
|
*/
|
|
8786
9277
|
async exportJSON(opts = {}) {
|
|
8787
|
-
const { exportVaultJSON } = await import("./backup-
|
|
9278
|
+
const { exportVaultJSON } = await import("./backup-Y3RMFGVX.js");
|
|
8788
9279
|
return exportVaultJSON(this.backupContext(), opts);
|
|
8789
9280
|
}
|
|
8790
9281
|
};
|
|
@@ -10656,7 +11147,7 @@ var Noydb = class {
|
|
|
10656
11147
|
if (!facade) return;
|
|
10657
11148
|
const ctx = { existing, vault: facade, userId: e.userId, role: e.role };
|
|
10658
11149
|
await registry.runChecks(e.collection, incoming, ctx);
|
|
10659
|
-
const { GuardExecutor } = await import("./executor-
|
|
11150
|
+
const { GuardExecutor } = await import("./executor-KZ4B3PRT.js");
|
|
10660
11151
|
for (const g of guards) {
|
|
10661
11152
|
await GuardExecutor.checkFrozenFields(g, e.docId, existing, incoming, e.computedFieldNames);
|
|
10662
11153
|
}
|
|
@@ -10821,7 +11312,8 @@ var Noydb = class {
|
|
|
10821
11312
|
onDirty: targets.length > 0 ? async (coll, id, action, version) => {
|
|
10822
11313
|
for (const [key, engine] of this.syncEngines) {
|
|
10823
11314
|
if (key === name || key.startsWith(`${name}::`)) {
|
|
10824
|
-
void engine.
|
|
11315
|
+
if (action === "revert") void engine.removeDirty(coll, id);
|
|
11316
|
+
else void engine.trackChange(coll, id, action, version);
|
|
10825
11317
|
}
|
|
10826
11318
|
}
|
|
10827
11319
|
} : void 0,
|
|
@@ -11487,6 +11979,9 @@ var Noydb = class {
|
|
|
11487
11979
|
}
|
|
11488
11980
|
return engine;
|
|
11489
11981
|
}
|
|
11982
|
+
_forEachSyncEngine(vault, fn2) {
|
|
11983
|
+
for (const [key, engine] of this.syncEngines) if (key === vault || key.startsWith(`${vault}::`)) fn2(engine);
|
|
11984
|
+
}
|
|
11490
11985
|
// ─── Events ────────────────────────────────────────────────────
|
|
11491
11986
|
on(event, handler) {
|
|
11492
11987
|
this.emitter.on(event, handler);
|
|
@@ -11909,7 +12404,7 @@ var Noydb = class {
|
|
|
11909
12404
|
"setPublicEnvelope: the public-envelope feature is not enabled. Pass `publicEnvelope: true` (or a schema object) to `createNoydb`."
|
|
11910
12405
|
);
|
|
11911
12406
|
}
|
|
11912
|
-
const { loadPublicEnvelope, savePublicEnvelope, resolveSchema, validatePublicEnvelopeInput } = await import("./public-envelope-
|
|
12407
|
+
const { loadPublicEnvelope, savePublicEnvelope, resolveSchema, validatePublicEnvelopeInput } = await import("./public-envelope-6UBQ4IUY.js");
|
|
11913
12408
|
const schema = resolveSchema(this.options.publicEnvelope);
|
|
11914
12409
|
validatePublicEnvelopeInput(input, schema);
|
|
11915
12410
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
@@ -11938,7 +12433,7 @@ var Noydb = class {
|
|
|
11938
12433
|
* regardless).
|
|
11939
12434
|
*/
|
|
11940
12435
|
async getPublicEnvelope(vault, opts = {}) {
|
|
11941
|
-
const { readPublicEnvelope } = await import("./public-envelope-
|
|
12436
|
+
const { readPublicEnvelope } = await import("./public-envelope-6UBQ4IUY.js");
|
|
11942
12437
|
return readPublicEnvelope(this.options.store, vault, opts);
|
|
11943
12438
|
}
|
|
11944
12439
|
// ─── Auth introspection ─────────────────────────────────────────
|
|
@@ -12129,9 +12624,9 @@ async function createNoydb(options) {
|
|
|
12129
12624
|
throw new ValidationError("A secret (passphrase) or getKeyring callback is required when encryption is enabled");
|
|
12130
12625
|
}
|
|
12131
12626
|
if (!options.coordinationStrategy) options = { ...options, coordinationStrategy: await createDefaultCoordinationProvider(options.store) };
|
|
12132
|
-
if (!options.userApiFactory) options = { ...options, userApiFactory: (await import("./api-
|
|
12627
|
+
if (!options.userApiFactory) options = { ...options, userApiFactory: (await import("./api-OQ65LUSK.js")).createUserApi };
|
|
12133
12628
|
if (!options.policyFactory) {
|
|
12134
|
-
const policyModule = await import("./policy-
|
|
12629
|
+
const policyModule = await import("./policy-3ZKSGSRK.js");
|
|
12135
12630
|
options = { ...options, policyFactory: policyModule.createNoydbPolicy, policyCheckGateFn: policyModule.checkGate };
|
|
12136
12631
|
}
|
|
12137
12632
|
return new Noydb(options);
|
|
@@ -12166,4 +12661,4 @@ export {
|
|
|
12166
12661
|
Noydb,
|
|
12167
12662
|
createNoydb
|
|
12168
12663
|
};
|
|
12169
|
-
//# sourceMappingURL=chunk-
|
|
12664
|
+
//# sourceMappingURL=chunk-D6ADQ4QL.js.map
|