@noy-db/hub 0.3.0-pre.4 → 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-MOB27UUN.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-HLUKZ36Q.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-CPXPHQGX.js → chunk-BYS45GOJ.js} +17 -12
- package/dist/chunk-BYS45GOJ.js.map +1 -0
- 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-GOUNIHFA.js → chunk-CYWF3JJE.js} +10 -10
- package/dist/{chunk-ZPHDGUZZ.js → chunk-D6ADQ4QL.js} +581 -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-7J7JRYXW.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-P3V7JTB6.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-5CY35H55.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-5W7AOFWA.js → chunk-RXUFMTD5.js} +2 -2
- package/dist/chunk-S2IDC6MO.js +167 -0
- 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-K5P46KB3.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-VAWY44JW.js → chunk-WAL4MRBK.js} +25 -10
- package/dist/chunk-WAL4MRBK.js.map +1 -0
- package/dist/{chunk-H5XRIJX3.js → chunk-WAW4VFS7.js} +4 -4
- package/dist/{chunk-SEQ2JI3Y.js → chunk-WQAT24C2.js} +6 -6
- package/dist/{chunk-NB47TXGP.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-TVRQ3RYH.js → chunk-ZHK3F5RB.js} +6 -7
- package/dist/chunk-ZHK3F5RB.js.map +1 -0
- 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-MKEBZDWW.js → collection-facade-5V3JS7SD.js} +13 -13
- package/dist/{computed-BMMEFRFJ.js → computed-6FOFXQPE.js} +3 -3
- package/dist/{config-drift-KGM7ZRW4.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-RNVSFHAB.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 +21 -14
- package/dist/index.js +115 -113
- 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-DVKYH7UU.js +23 -0
- 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 +29 -4
- package/dist/team/index.js +14 -14
- 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-5C3GPKT2.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-CPXPHQGX.js.map +0 -1
- package/dist/chunk-KYY7L72M.js +0 -106
- package/dist/chunk-KYY7L72M.js.map +0 -1
- package/dist/chunk-OFBFAVLI.js.map +0 -1
- package/dist/chunk-TVRQ3RYH.js.map +0 -1
- package/dist/chunk-VAWY44JW.js.map +0 -1
- package/dist/chunk-ZPHDGUZZ.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-GMGCHIND.js +0 -24
- package/dist/noydb-KS2O2MRI.js +0 -60
- package/dist/register-K6DDSIXN.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/storage-5E6YB2JY.js +0 -21
- /package/dist/{api-JOXUNSKP.js.map → api-OQ65LUSK.js.map} +0 -0
- /package/dist/{backup-MOB27UUN.js.map → backup-Y3RMFGVX.js.map} +0 -0
- /package/dist/{chunk-BMQOH7MM.js.map → chunk-26FSVNBL.js.map} +0 -0
- /package/dist/{chunk-HLUKZ36Q.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-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-GOUNIHFA.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-7J7JRYXW.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-P3V7JTB6.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-5CY35H55.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-5W7AOFWA.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-K5P46KB3.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-H5XRIJX3.js.map → chunk-WAW4VFS7.js.map} +0 -0
- /package/dist/{chunk-SEQ2JI3Y.js.map → chunk-WQAT24C2.js.map} +0 -0
- /package/dist/{chunk-NB47TXGP.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-G4MGYGSS.js.map → chunk-ZRJBLWKQ.js.map} +0 -0
- /package/dist/{collection-facade-MKEBZDWW.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-KGM7ZRW4.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-RNVSFHAB.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-GMGCHIND.js.map → ledger-IWWY7IIC.js.map} +0 -0
- /package/dist/{link-set-UQEIYQAM.js.map → liberate-QDTNV7SM.js.map} +0 -0
- /package/dist/{noydb-KS2O2MRI.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-K6DDSIXN.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-5E6YB2JY.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-5C3GPKT2.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-7J7JRYXW.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";
|
|
@@ -126,20 +134,21 @@ import {
|
|
|
126
134
|
ensureCollectionDEK,
|
|
127
135
|
hasAccess,
|
|
128
136
|
hasWritePermission,
|
|
137
|
+
isSecretBearingReservedCollection,
|
|
129
138
|
listUsers,
|
|
130
139
|
loadKeyring,
|
|
131
140
|
updateKeyringIdentity
|
|
132
|
-
} from "./chunk-
|
|
141
|
+
} from "./chunk-WAL4MRBK.js";
|
|
133
142
|
import {
|
|
134
143
|
persistDirectoryConfig,
|
|
135
144
|
readDirectoryConfig
|
|
136
|
-
} from "./chunk-
|
|
145
|
+
} from "./chunk-C6A2DPRE.js";
|
|
137
146
|
import {
|
|
138
147
|
generateULID
|
|
139
148
|
} from "./chunk-ZJADGNYF.js";
|
|
140
149
|
import {
|
|
141
150
|
sha256Hex
|
|
142
|
-
} from "./chunk-
|
|
151
|
+
} from "./chunk-TWJVOYU2.js";
|
|
143
152
|
import {
|
|
144
153
|
NO_FORGET,
|
|
145
154
|
addSubjectRef,
|
|
@@ -148,10 +157,10 @@ import {
|
|
|
148
157
|
readDottedPath,
|
|
149
158
|
rebuildSubjectIndex,
|
|
150
159
|
removeSubjectRef
|
|
151
|
-
} from "./chunk-
|
|
160
|
+
} from "./chunk-SXLMLECV.js";
|
|
152
161
|
import {
|
|
153
162
|
NO_SEALED_RECORD
|
|
154
|
-
} from "./chunk-
|
|
163
|
+
} from "./chunk-XW5LZYV4.js";
|
|
155
164
|
import {
|
|
156
165
|
RecordCodec,
|
|
157
166
|
SEALED_CEK_NS,
|
|
@@ -161,7 +170,7 @@ import {
|
|
|
161
170
|
queryByDet,
|
|
162
171
|
resolveStableCek,
|
|
163
172
|
validateSchemaInput
|
|
164
|
-
} from "./chunk-
|
|
173
|
+
} from "./chunk-7AGLCOYE.js";
|
|
165
174
|
import {
|
|
166
175
|
buildTombstone,
|
|
167
176
|
isTombstone
|
|
@@ -171,25 +180,25 @@ import {
|
|
|
171
180
|
} from "./chunk-LN22XH4B.js";
|
|
172
181
|
import {
|
|
173
182
|
encrypt
|
|
174
|
-
} from "./chunk-
|
|
183
|
+
} from "./chunk-5HZULLHE.js";
|
|
175
184
|
import {
|
|
176
185
|
NO_AGGREGATE,
|
|
177
186
|
Query,
|
|
178
187
|
ScanBuilder
|
|
179
|
-
} from "./chunk-
|
|
188
|
+
} from "./chunk-6Z435B6N.js";
|
|
180
189
|
import {
|
|
181
190
|
canonicalGroupKey
|
|
182
|
-
} from "./chunk-
|
|
191
|
+
} from "./chunk-5GQE5IDB.js";
|
|
183
192
|
import {
|
|
184
193
|
moneyRuntime,
|
|
185
194
|
readPath
|
|
186
|
-
} from "./chunk-
|
|
195
|
+
} from "./chunk-6P5AJ2ZS.js";
|
|
187
196
|
import {
|
|
188
197
|
getAtPath,
|
|
189
198
|
resolvePolicy,
|
|
190
199
|
setAtPathInPlace,
|
|
191
200
|
stripI18nFilled
|
|
192
|
-
} from "./chunk-
|
|
201
|
+
} from "./chunk-BASCPHNM.js";
|
|
193
202
|
import {
|
|
194
203
|
AlreadyElevatedError,
|
|
195
204
|
AttestationError,
|
|
@@ -216,6 +225,7 @@ import {
|
|
|
216
225
|
RecoveryNotEnrolledError,
|
|
217
226
|
RecoveryProfileNotImplementedError,
|
|
218
227
|
ReservedCollectionNameError,
|
|
228
|
+
SatelliteConfigError,
|
|
219
229
|
SchemaFenceError,
|
|
220
230
|
StaticDictReadonlyError,
|
|
221
231
|
StoreCapabilityError,
|
|
@@ -226,7 +236,7 @@ import {
|
|
|
226
236
|
UnknownDictCodeError,
|
|
227
237
|
UnsupportedIndexOptionError,
|
|
228
238
|
ValidationError
|
|
229
|
-
} from "./chunk-
|
|
239
|
+
} from "./chunk-OJ64XMPJ.js";
|
|
230
240
|
|
|
231
241
|
// src/port/by/default-provider.ts
|
|
232
242
|
async function createDefaultCoordinationProvider(store) {
|
|
@@ -1059,7 +1069,7 @@ async function resolveStaleOnRead(accessor, outputCollection, id) {
|
|
|
1059
1069
|
}
|
|
1060
1070
|
const sourceWithId = { ...source, id };
|
|
1061
1071
|
if (DerivationExecutor === null) {
|
|
1062
|
-
({ DerivationExecutor } = await import("./executor-
|
|
1072
|
+
({ DerivationExecutor } = await import("./executor-EUPYHCLU.js"));
|
|
1063
1073
|
}
|
|
1064
1074
|
const ctx = { vault: accessor.getReadOnlyFacade() };
|
|
1065
1075
|
const result = await DerivationExecutor.run(spec, sourceWithId, 0, strategyHash, ctx);
|
|
@@ -1349,7 +1359,7 @@ function resolveCollectionConfig(opts) {
|
|
|
1349
1359
|
// src/with-formula/computed/lazy.ts
|
|
1350
1360
|
var fn = null;
|
|
1351
1361
|
async function loadEvalComputedFields() {
|
|
1352
|
-
fn ??= (await import("./computed-
|
|
1362
|
+
fn ??= (await import("./computed-6FOFXQPE.js")).evalComputedFields;
|
|
1353
1363
|
return fn;
|
|
1354
1364
|
}
|
|
1355
1365
|
|
|
@@ -2187,7 +2197,7 @@ var Collection = class {
|
|
|
2187
2197
|
}
|
|
2188
2198
|
await this.onAccess?.("find", "*");
|
|
2189
2199
|
if (hits.length === 0) return [];
|
|
2190
|
-
const { verifyDigestField } = await import("./verify-
|
|
2200
|
+
const { verifyDigestField } = await import("./verify-CAYGXYNO.js");
|
|
2191
2201
|
const policy = {
|
|
2192
2202
|
normalize: spec.verifyNormalize ?? "password",
|
|
2193
2203
|
notLastN: spec.notLastN ?? 0,
|
|
@@ -2363,7 +2373,7 @@ var Collection = class {
|
|
|
2363
2373
|
}
|
|
2364
2374
|
}
|
|
2365
2375
|
if (this.materializedViewSource !== void 0) {
|
|
2366
|
-
const { resolveStaleMVOnRead } = await import("./stale-
|
|
2376
|
+
const { resolveStaleMVOnRead } = await import("./stale-COBBJORL.js");
|
|
2367
2377
|
await resolveStaleMVOnRead(this.materializedViewSource, this.name);
|
|
2368
2378
|
}
|
|
2369
2379
|
let record;
|
|
@@ -2926,7 +2936,7 @@ var Collection = class {
|
|
|
2926
2936
|
if (mode === "eager") {
|
|
2927
2937
|
if (executor === null) {
|
|
2928
2938
|
;
|
|
2929
|
-
({ MaterializedViewExecutor: executor } = await import("./executor-
|
|
2939
|
+
({ MaterializedViewExecutor: executor } = await import("./executor-XWPD5PIM.js"));
|
|
2930
2940
|
}
|
|
2931
2941
|
await executor.refresh(reg, {
|
|
2932
2942
|
getCollection: (name) => this.materializedViewSource.getCollection(name),
|
|
@@ -2935,7 +2945,7 @@ var Collection = class {
|
|
|
2935
2945
|
});
|
|
2936
2946
|
} else if (mode === "lazy") {
|
|
2937
2947
|
if (staleHelpers === null) {
|
|
2938
|
-
staleHelpers = await import("./stale-
|
|
2948
|
+
staleHelpers = await import("./stale-COBBJORL.js");
|
|
2939
2949
|
}
|
|
2940
2950
|
staleHelpers.markMVStale(registry, reg.spec.name);
|
|
2941
2951
|
}
|
|
@@ -3120,7 +3130,7 @@ var Collection = class {
|
|
|
3120
3130
|
continue;
|
|
3121
3131
|
}
|
|
3122
3132
|
if (DerivationExecutor === null) {
|
|
3123
|
-
({ DerivationExecutor } = await import("./executor-
|
|
3133
|
+
({ DerivationExecutor } = await import("./executor-EUPYHCLU.js"));
|
|
3124
3134
|
}
|
|
3125
3135
|
for (const run of runs) {
|
|
3126
3136
|
const ctx = { vault: this.derivationSource.getReadOnlyFacade() };
|
|
@@ -3139,7 +3149,7 @@ var Collection = class {
|
|
|
3139
3149
|
const outputCollection = this.derivationSource.getCollection(outSpec.collection);
|
|
3140
3150
|
const txCtx = this.derivationSource.getActiveTxContext();
|
|
3141
3151
|
if (out.kind === "array") {
|
|
3142
|
-
const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-
|
|
3152
|
+
const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-SSEW7BQB.js");
|
|
3143
3153
|
const prior = await loadFanoutSidecar(this.adapter, this.vault, spec.source, run.runId, key, this.getDEK, this.storeCiphertext);
|
|
3144
3154
|
const prevKeys = new Set(prior?.keys ?? []);
|
|
3145
3155
|
const newKeysList = out.entries.map((e) => e.key);
|
|
@@ -3492,7 +3502,7 @@ var Collection = class {
|
|
|
3492
3502
|
for (const [outputKey, outSpec] of Object.entries(spec.outputs)) {
|
|
3493
3503
|
if (outSpec.shape !== "array") continue;
|
|
3494
3504
|
if (helpers === null) {
|
|
3495
|
-
helpers = await import("./fanout-sidecar-
|
|
3505
|
+
helpers = await import("./fanout-sidecar-SSEW7BQB.js");
|
|
3496
3506
|
}
|
|
3497
3507
|
const sidecar = await helpers.loadFanoutSidecar(this.adapter, this.vault, spec.source, id, outputKey, this.getDEK, this.storeCiphertext);
|
|
3498
3508
|
if (!sidecar) continue;
|
|
@@ -3526,7 +3536,7 @@ var Collection = class {
|
|
|
3526
3536
|
if (mode === "eager") {
|
|
3527
3537
|
if (executor === null) {
|
|
3528
3538
|
;
|
|
3529
|
-
({ MaterializedViewExecutor: executor } = await import("./executor-
|
|
3539
|
+
({ MaterializedViewExecutor: executor } = await import("./executor-XWPD5PIM.js"));
|
|
3530
3540
|
}
|
|
3531
3541
|
await executor.refresh(reg, {
|
|
3532
3542
|
getCollection: (name) => this.materializedViewSource.getCollection(name),
|
|
@@ -3535,7 +3545,7 @@ var Collection = class {
|
|
|
3535
3545
|
});
|
|
3536
3546
|
} else if (mode === "lazy") {
|
|
3537
3547
|
if (staleHelpers === null) {
|
|
3538
|
-
staleHelpers = await import("./stale-
|
|
3548
|
+
staleHelpers = await import("./stale-COBBJORL.js");
|
|
3539
3549
|
}
|
|
3540
3550
|
staleHelpers.markMVStale(registry, reg.spec.name);
|
|
3541
3551
|
}
|
|
@@ -3558,7 +3568,7 @@ var Collection = class {
|
|
|
3558
3568
|
);
|
|
3559
3569
|
}
|
|
3560
3570
|
if (this.materializedViewSource !== void 0) {
|
|
3561
|
-
const { resolveStaleMVOnRead } = await import("./stale-
|
|
3571
|
+
const { resolveStaleMVOnRead } = await import("./stale-COBBJORL.js");
|
|
3562
3572
|
await resolveStaleMVOnRead(this.materializedViewSource, this.name);
|
|
3563
3573
|
}
|
|
3564
3574
|
await this.ensureHydrated();
|
|
@@ -4192,6 +4202,15 @@ var Collection = class {
|
|
|
4192
4202
|
_invalidateCekCacheEntry(id) {
|
|
4193
4203
|
this.cekCache?.remove(id);
|
|
4194
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
|
+
}
|
|
4195
4214
|
async _invalidateCacheEntry(id) {
|
|
4196
4215
|
if (this.lazy && this.lru) {
|
|
4197
4216
|
this.lru.remove(id);
|
|
@@ -4703,14 +4722,14 @@ var Collection = class {
|
|
|
4703
4722
|
/** C-A/R10: persist the classified marker once per classified handle (store I/O in config-drift.ts). */
|
|
4704
4723
|
async _ensureClassifiedMarker() {
|
|
4705
4724
|
if (this._markerPersisted || this.vdigFields === null) return;
|
|
4706
|
-
const { persistClassifiedMarkerForFields } = await import("./config-drift-
|
|
4725
|
+
const { persistClassifiedMarkerForFields } = await import("./config-drift-SWZNEH5H.js");
|
|
4707
4726
|
await persistClassifiedMarkerForFields(this.adapter, this.vault, this.name, this.vdigFields, await this.getDEK(this.name));
|
|
4708
4727
|
this._markerPersisted = true;
|
|
4709
4728
|
}
|
|
4710
4729
|
/** C-A/R10 drift signal — the marker's declared digest-only set, memoized to one store read per handle (see config-drift.ts). */
|
|
4711
4730
|
async _classifiedMarkerDigestOnly() {
|
|
4712
4731
|
if (this._markerDigestOnlyCache !== void 0) return this._markerDigestOnlyCache;
|
|
4713
|
-
const { readClassifiedMarkerDigestOnly } = await import("./config-drift-
|
|
4732
|
+
const { readClassifiedMarkerDigestOnly } = await import("./config-drift-SWZNEH5H.js");
|
|
4714
4733
|
this._markerDigestOnlyCache = await readClassifiedMarkerDigestOnly(this.adapter, this.vault, this.name, await this.getDEK(this.name));
|
|
4715
4734
|
return this._markerDigestOnlyCache;
|
|
4716
4735
|
}
|
|
@@ -5757,7 +5776,7 @@ var VaultLinks = class {
|
|
|
5757
5776
|
// src/with-shape/links/lazy-handle.ts
|
|
5758
5777
|
function makeLazyLinkSetHandle(d) {
|
|
5759
5778
|
let engine = null;
|
|
5760
|
-
const load = () => engine ??= import("./link-set-
|
|
5779
|
+
const load = () => engine ??= import("./link-set-HJOC7GB7.js").then(
|
|
5761
5780
|
({ LinkSet }) => new LinkSet(d.adapter, d.vault, d.name, d.spec, d.encrypted, d.getDEK, d.actor, d.emitter, d.endpointExists)
|
|
5762
5781
|
);
|
|
5763
5782
|
return {
|
|
@@ -5771,6 +5790,423 @@ function makeLazyLinkSetHandle(d) {
|
|
|
5771
5790
|
};
|
|
5772
5791
|
}
|
|
5773
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
|
+
|
|
5774
6210
|
// src/with-shape/schema-update/gate.ts
|
|
5775
6211
|
var SchemaUpdateGate = class {
|
|
5776
6212
|
#decision;
|
|
@@ -6109,6 +6545,8 @@ var Vault = class {
|
|
|
6109
6545
|
*/
|
|
6110
6546
|
reloadKeyring;
|
|
6111
6547
|
collectionCache = /* @__PURE__ */ new Map();
|
|
6548
|
+
satelliteRegistry = null;
|
|
6549
|
+
// spec #591, archetype-③
|
|
6112
6550
|
/** Vault-level schema cutover fence/controller. */
|
|
6113
6551
|
schemaFence;
|
|
6114
6552
|
/** Per-client heartbeat/watcher; started lazily on cutover registration. */
|
|
@@ -6397,6 +6835,32 @@ var Vault = class {
|
|
|
6397
6835
|
if (isLinkCollectionName(collectionName)) {
|
|
6398
6836
|
throw new ReservedCollectionNameError(collectionName);
|
|
6399
6837
|
}
|
|
6838
|
+
if (isSecretBearingReservedCollection(collectionName)) {
|
|
6839
|
+
throw new ReservedCollectionNameError(collectionName);
|
|
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
|
+
}
|
|
6400
6864
|
let coll = this.collectionCache.get(collectionName);
|
|
6401
6865
|
if (coll && options?.moneyFields) {
|
|
6402
6866
|
coll._applyMoneyFields(options.moneyFields);
|
|
@@ -6457,7 +6921,7 @@ var Vault = class {
|
|
|
6457
6921
|
const strategies = options.schemaUpdate ?? [];
|
|
6458
6922
|
const work = (async () => {
|
|
6459
6923
|
const dek = await this.getDEK(collectionName);
|
|
6460
|
-
const { persistSchemaIfNeeded } = await import("./register-
|
|
6924
|
+
const { persistSchemaIfNeeded } = await import("./register-OVONZ2MJ.js");
|
|
6461
6925
|
const result = await persistSchemaIfNeeded({
|
|
6462
6926
|
store: this.adapter,
|
|
6463
6927
|
vault: this.name,
|
|
@@ -6636,7 +7100,7 @@ var Vault = class {
|
|
|
6636
7100
|
const work = (async () => {
|
|
6637
7101
|
try {
|
|
6638
7102
|
const dek = await this.getDEK(collectionName);
|
|
6639
|
-
await (await import("./register-
|
|
7103
|
+
await (await import("./register-OVONZ2MJ.js")).persistSchemaIfNeeded({
|
|
6640
7104
|
store: this.adapter,
|
|
6641
7105
|
vault: this.name,
|
|
6642
7106
|
collectionName,
|
|
@@ -6652,8 +7116,27 @@ var Vault = class {
|
|
|
6652
7116
|
this._pendingSchemaWrites.push(work);
|
|
6653
7117
|
}
|
|
6654
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
|
+
}
|
|
6655
7125
|
return coll;
|
|
6656
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
|
+
}
|
|
6657
7140
|
/**
|
|
6658
7141
|
* Await all background persisted-schema writes triggered by
|
|
6659
7142
|
* `collection({ persistJsonSchema: true })` calls on this vault.
|
|
@@ -7460,6 +7943,7 @@ var Vault = class {
|
|
|
7460
7943
|
throw new ForgetStrategyNotConfiguredError();
|
|
7461
7944
|
}
|
|
7462
7945
|
const refs = await lookupSubject(this.adapter, this.name, this.getDEK, this.encrypted, subjectId);
|
|
7946
|
+
const allRefs = expandRefsWithSatellites(refs, this.satelliteRegistry);
|
|
7463
7947
|
let recordsShredded = 0;
|
|
7464
7948
|
let historyVersionsShredded = 0;
|
|
7465
7949
|
const collections = /* @__PURE__ */ new Set();
|
|
@@ -7475,9 +7959,10 @@ var Vault = class {
|
|
|
7475
7959
|
const indexResidue = [];
|
|
7476
7960
|
const blobsEnabled = this.blobStrategy !== void 0;
|
|
7477
7961
|
const actor = this.keyring.userId;
|
|
7478
|
-
for (const ref2 of
|
|
7962
|
+
for (const ref2 of allRefs) {
|
|
7479
7963
|
const coll = this.collection(ref2.collection);
|
|
7480
|
-
const
|
|
7964
|
+
const satelliteOf = ref2.satelliteOf;
|
|
7965
|
+
const perRecordKeys = this.forgetStrategy.subjects[satelliteOf ?? ref2.collection] !== void 0;
|
|
7481
7966
|
const live = await this.adapter.get(this.name, ref2.collection, ref2.id);
|
|
7482
7967
|
if (perRecordKeys && live && live._data && !hasPerRecordKey(live)) {
|
|
7483
7968
|
unmigratedRecords.push(`${ref2.collection}:${ref2.id}`);
|
|
@@ -7509,7 +7994,17 @@ var Vault = class {
|
|
|
7509
7994
|
} catch {
|
|
7510
7995
|
sealedCekResidue.push(`${ref2.collection}:${ref2.id}`);
|
|
7511
7996
|
}
|
|
7512
|
-
|
|
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
|
+
}
|
|
7513
8008
|
if (shred !== null) {
|
|
7514
8009
|
recordsShredded++;
|
|
7515
8010
|
collections.add(ref2.collection);
|
|
@@ -7719,7 +8214,7 @@ var Vault = class {
|
|
|
7719
8214
|
async _initDerivations(handles) {
|
|
7720
8215
|
if (handles.length === 0) return;
|
|
7721
8216
|
const [{ DerivationRegistry }, { ReadOnlyVaultFacade }] = await Promise.all([
|
|
7722
|
-
import("./registry-
|
|
8217
|
+
import("./registry-D5J7SVJ2.js"),
|
|
7723
8218
|
import("./read-only-facade-5ADRJVTM.js")
|
|
7724
8219
|
]);
|
|
7725
8220
|
const registry = new DerivationRegistry();
|
|
@@ -7750,7 +8245,7 @@ var Vault = class {
|
|
|
7750
8245
|
*/
|
|
7751
8246
|
async _initMaterializedViews(handles) {
|
|
7752
8247
|
if (handles.length === 0) return;
|
|
7753
|
-
const { MaterializedViewRegistry } = await import("./registry-
|
|
8248
|
+
const { MaterializedViewRegistry } = await import("./registry-AIEYUOSG.js");
|
|
7754
8249
|
const registry = new MaterializedViewRegistry();
|
|
7755
8250
|
this.materializedViewRegistry = registry;
|
|
7756
8251
|
const db = this;
|
|
@@ -7774,7 +8269,7 @@ var Vault = class {
|
|
|
7774
8269
|
*/
|
|
7775
8270
|
async _initOverlayedViews(handles) {
|
|
7776
8271
|
if (handles.length === 0) return;
|
|
7777
|
-
const { OverlayedViewRegistry } = await import("./registry-
|
|
8272
|
+
const { OverlayedViewRegistry } = await import("./registry-HSNQ4NBP.js");
|
|
7778
8273
|
const registry = new OverlayedViewRegistry();
|
|
7779
8274
|
const mvRegistry = this.materializedViewRegistry;
|
|
7780
8275
|
const overlayNames = /* @__PURE__ */ new Set();
|
|
@@ -7821,13 +8316,13 @@ var Vault = class {
|
|
|
7821
8316
|
if (!reg) {
|
|
7822
8317
|
throw new Error(`refreshView: no MV registered with name "${name}"`);
|
|
7823
8318
|
}
|
|
7824
|
-
const { MaterializedViewExecutor } = await import("./executor-
|
|
8319
|
+
const { MaterializedViewExecutor } = await import("./executor-XWPD5PIM.js");
|
|
7825
8320
|
const result = await MaterializedViewExecutor.refresh(reg, {
|
|
7826
8321
|
getCollection: (n) => this.collection(n),
|
|
7827
8322
|
getActiveTxContext: () => this.noydb._activeTxContextOrNull,
|
|
7828
8323
|
getQueryContext: () => this
|
|
7829
8324
|
});
|
|
7830
|
-
const { clearMVStale } = await import("./stale-
|
|
8325
|
+
const { clearMVStale } = await import("./stale-COBBJORL.js");
|
|
7831
8326
|
clearMVStale(registry, name);
|
|
7832
8327
|
return result;
|
|
7833
8328
|
}
|
|
@@ -7843,7 +8338,7 @@ var Vault = class {
|
|
|
7843
8338
|
if (registry === null) return { derived: 0, failed: 0 };
|
|
7844
8339
|
const strategies = registry.strategiesForSource(sourceCollection);
|
|
7845
8340
|
if (strategies.length === 0) return { derived: 0, failed: 0 };
|
|
7846
|
-
const { DerivationExecutor } = await import("./executor-
|
|
8341
|
+
const { DerivationExecutor } = await import("./executor-EUPYHCLU.js");
|
|
7847
8342
|
const sourceColl = this.collection(sourceCollection);
|
|
7848
8343
|
const records = await sourceColl.list();
|
|
7849
8344
|
const ctx = { vault: this.derivationFacade ?? new (await import("./read-only-facade-5ADRJVTM.js")).ReadOnlyVaultFacade(this, "derivation") };
|
|
@@ -7868,7 +8363,7 @@ var Vault = class {
|
|
|
7868
8363
|
if (!outSpec) continue;
|
|
7869
8364
|
const outputColl = this.collection(outSpec.collection);
|
|
7870
8365
|
if (out.kind === "array") {
|
|
7871
|
-
const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-
|
|
8366
|
+
const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-SSEW7BQB.js");
|
|
7872
8367
|
const prior = await loadFanoutSidecar(this.adapter, this.name, spec.source, id, key, this.getDEK, this.encrypted);
|
|
7873
8368
|
const prevKeys = new Set(prior?.keys ?? []);
|
|
7874
8369
|
const newKeysList = out.entries.map((e) => e.key);
|
|
@@ -8090,7 +8585,7 @@ var Vault = class {
|
|
|
8090
8585
|
* collection.
|
|
8091
8586
|
*/
|
|
8092
8587
|
async delegate(opts) {
|
|
8093
|
-
const { issueDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-
|
|
8588
|
+
const { issueDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-AUY42TGU.js");
|
|
8094
8589
|
if (!this.keyring.kek) {
|
|
8095
8590
|
throw new ValidationError(
|
|
8096
8591
|
"issueDelegation: keyring.kek is null \u2014 issuing a delegation requires a tier-1 unlock. Re-authenticate at tier 1 (passphrase) first."
|
|
@@ -8112,7 +8607,7 @@ var Vault = class {
|
|
|
8112
8607
|
* if the id does not exist.
|
|
8113
8608
|
*/
|
|
8114
8609
|
async revokeDelegation(id) {
|
|
8115
|
-
const { revokeDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-
|
|
8610
|
+
const { revokeDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-AUY42TGU.js");
|
|
8116
8611
|
await revokeDelegation(this.adapter, this.name, id);
|
|
8117
8612
|
void DELEGATIONS_COLLECTION;
|
|
8118
8613
|
}
|
|
@@ -8328,7 +8823,7 @@ var Vault = class {
|
|
|
8328
8823
|
* @see docs/superpowers/specs/2026-05-22-schema-dump-design.md
|
|
8329
8824
|
*/
|
|
8330
8825
|
async dumpSchema(opts = {}) {
|
|
8331
|
-
const { dumpVaultSchema } = await import("./walk-
|
|
8826
|
+
const { dumpVaultSchema } = await import("./walk-CVNXFUEF.js");
|
|
8332
8827
|
return dumpVaultSchema(this, opts);
|
|
8333
8828
|
}
|
|
8334
8829
|
/**
|
|
@@ -8463,7 +8958,7 @@ var Vault = class {
|
|
|
8463
8958
|
* @see https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/public-envelope.md
|
|
8464
8959
|
*/
|
|
8465
8960
|
async getPublicEnvelope(opts = {}) {
|
|
8466
|
-
const { readPublicEnvelope } = await import("./public-envelope-
|
|
8961
|
+
const { readPublicEnvelope } = await import("./public-envelope-6UBQ4IUY.js");
|
|
8467
8962
|
return readPublicEnvelope(this.adapter, this.name, opts);
|
|
8468
8963
|
}
|
|
8469
8964
|
/**
|
|
@@ -8478,7 +8973,7 @@ var Vault = class {
|
|
|
8478
8973
|
* both modes round-trip cleanly.
|
|
8479
8974
|
*/
|
|
8480
8975
|
async dump() {
|
|
8481
|
-
const { dumpVault } = await import("./backup-
|
|
8976
|
+
const { dumpVault } = await import("./backup-Y3RMFGVX.js");
|
|
8482
8977
|
return dumpVault(this.backupContext());
|
|
8483
8978
|
}
|
|
8484
8979
|
/**
|
|
@@ -8530,7 +9025,7 @@ var Vault = class {
|
|
|
8530
9025
|
* — there's no chain to verify against.
|
|
8531
9026
|
*/
|
|
8532
9027
|
async load(backupJson) {
|
|
8533
|
-
const { loadVault } = await import("./backup-
|
|
9028
|
+
const { loadVault } = await import("./backup-Y3RMFGVX.js");
|
|
8534
9029
|
return loadVault(this.backupContext(), backupJson);
|
|
8535
9030
|
}
|
|
8536
9031
|
/**
|
|
@@ -8562,7 +9057,7 @@ var Vault = class {
|
|
|
8562
9057
|
* way to detect tampering of an in-place vault.
|
|
8563
9058
|
*/
|
|
8564
9059
|
async verifyBackupIntegrity() {
|
|
8565
|
-
const { verifyBackupIntegrity } = await import("./backup-
|
|
9060
|
+
const { verifyBackupIntegrity } = await import("./backup-Y3RMFGVX.js");
|
|
8566
9061
|
return verifyBackupIntegrity(this.backupContext());
|
|
8567
9062
|
}
|
|
8568
9063
|
/**
|
|
@@ -8780,7 +9275,7 @@ var Vault = class {
|
|
|
8780
9275
|
* is the live validator object, not a serialization of it).
|
|
8781
9276
|
*/
|
|
8782
9277
|
async exportJSON(opts = {}) {
|
|
8783
|
-
const { exportVaultJSON } = await import("./backup-
|
|
9278
|
+
const { exportVaultJSON } = await import("./backup-Y3RMFGVX.js");
|
|
8784
9279
|
return exportVaultJSON(this.backupContext(), opts);
|
|
8785
9280
|
}
|
|
8786
9281
|
};
|
|
@@ -10652,7 +11147,7 @@ var Noydb = class {
|
|
|
10652
11147
|
if (!facade) return;
|
|
10653
11148
|
const ctx = { existing, vault: facade, userId: e.userId, role: e.role };
|
|
10654
11149
|
await registry.runChecks(e.collection, incoming, ctx);
|
|
10655
|
-
const { GuardExecutor } = await import("./executor-
|
|
11150
|
+
const { GuardExecutor } = await import("./executor-KZ4B3PRT.js");
|
|
10656
11151
|
for (const g of guards) {
|
|
10657
11152
|
await GuardExecutor.checkFrozenFields(g, e.docId, existing, incoming, e.computedFieldNames);
|
|
10658
11153
|
}
|
|
@@ -10817,7 +11312,8 @@ var Noydb = class {
|
|
|
10817
11312
|
onDirty: targets.length > 0 ? async (coll, id, action, version) => {
|
|
10818
11313
|
for (const [key, engine] of this.syncEngines) {
|
|
10819
11314
|
if (key === name || key.startsWith(`${name}::`)) {
|
|
10820
|
-
void engine.
|
|
11315
|
+
if (action === "revert") void engine.removeDirty(coll, id);
|
|
11316
|
+
else void engine.trackChange(coll, id, action, version);
|
|
10821
11317
|
}
|
|
10822
11318
|
}
|
|
10823
11319
|
} : void 0,
|
|
@@ -11483,6 +11979,9 @@ var Noydb = class {
|
|
|
11483
11979
|
}
|
|
11484
11980
|
return engine;
|
|
11485
11981
|
}
|
|
11982
|
+
_forEachSyncEngine(vault, fn2) {
|
|
11983
|
+
for (const [key, engine] of this.syncEngines) if (key === vault || key.startsWith(`${vault}::`)) fn2(engine);
|
|
11984
|
+
}
|
|
11486
11985
|
// ─── Events ────────────────────────────────────────────────────
|
|
11487
11986
|
on(event, handler) {
|
|
11488
11987
|
this.emitter.on(event, handler);
|
|
@@ -11905,7 +12404,7 @@ var Noydb = class {
|
|
|
11905
12404
|
"setPublicEnvelope: the public-envelope feature is not enabled. Pass `publicEnvelope: true` (or a schema object) to `createNoydb`."
|
|
11906
12405
|
);
|
|
11907
12406
|
}
|
|
11908
|
-
const { loadPublicEnvelope, savePublicEnvelope, resolveSchema, validatePublicEnvelopeInput } = await import("./public-envelope-
|
|
12407
|
+
const { loadPublicEnvelope, savePublicEnvelope, resolveSchema, validatePublicEnvelopeInput } = await import("./public-envelope-6UBQ4IUY.js");
|
|
11909
12408
|
const schema = resolveSchema(this.options.publicEnvelope);
|
|
11910
12409
|
validatePublicEnvelopeInput(input, schema);
|
|
11911
12410
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
@@ -11934,7 +12433,7 @@ var Noydb = class {
|
|
|
11934
12433
|
* regardless).
|
|
11935
12434
|
*/
|
|
11936
12435
|
async getPublicEnvelope(vault, opts = {}) {
|
|
11937
|
-
const { readPublicEnvelope } = await import("./public-envelope-
|
|
12436
|
+
const { readPublicEnvelope } = await import("./public-envelope-6UBQ4IUY.js");
|
|
11938
12437
|
return readPublicEnvelope(this.options.store, vault, opts);
|
|
11939
12438
|
}
|
|
11940
12439
|
// ─── Auth introspection ─────────────────────────────────────────
|
|
@@ -12125,9 +12624,9 @@ async function createNoydb(options) {
|
|
|
12125
12624
|
throw new ValidationError("A secret (passphrase) or getKeyring callback is required when encryption is enabled");
|
|
12126
12625
|
}
|
|
12127
12626
|
if (!options.coordinationStrategy) options = { ...options, coordinationStrategy: await createDefaultCoordinationProvider(options.store) };
|
|
12128
|
-
if (!options.userApiFactory) options = { ...options, userApiFactory: (await import("./api-
|
|
12627
|
+
if (!options.userApiFactory) options = { ...options, userApiFactory: (await import("./api-OQ65LUSK.js")).createUserApi };
|
|
12129
12628
|
if (!options.policyFactory) {
|
|
12130
|
-
const policyModule = await import("./policy-
|
|
12629
|
+
const policyModule = await import("./policy-3ZKSGSRK.js");
|
|
12131
12630
|
options = { ...options, policyFactory: policyModule.createNoydbPolicy, policyCheckGateFn: policyModule.checkGate };
|
|
12132
12631
|
}
|
|
12133
12632
|
return new Noydb(options);
|
|
@@ -12162,4 +12661,4 @@ export {
|
|
|
12162
12661
|
Noydb,
|
|
12163
12662
|
createNoydb
|
|
12164
12663
|
};
|
|
12165
|
-
//# sourceMappingURL=chunk-
|
|
12664
|
+
//# sourceMappingURL=chunk-D6ADQ4QL.js.map
|