@noy-db/hub 0.6.0-pre.0 → 0.6.0-pre.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/codemods/0.4.0-pre.json +699 -0
- package/dist/{api-67SBPMMH.js → api-RXUMEKT3.js} +6 -6
- package/dist/attestation/index.js +12 -12
- package/dist/attestation/index.js.map +1 -1
- package/dist/{backup-GAYWQAFN.js → backup-AVAGHAJE.js} +25 -6
- package/dist/backup-AVAGHAJE.js.map +1 -0
- package/dist/blobs/index.js +5 -5
- package/dist/broker/index.js +6 -6
- package/dist/{bundle-handle-5OUAI7CV.js → bundle-handle-GFNHT52M.js} +2 -2
- package/dist/cargo/index.js +18 -18
- package/dist/{chunk-CYQOUTMY.js → chunk-2BMRJ6LQ.js} +2 -2
- package/dist/{chunk-HS7HNYBD.js → chunk-2DHSSLOD.js} +6 -6
- package/dist/{chunk-JH3OHQM4.js → chunk-2Z3NCLNX.js} +6 -6
- package/dist/{chunk-NVU7ZMPN.js → chunk-3IXIU6FP.js} +2 -2
- package/dist/{chunk-XBLKM73C.js → chunk-3JVXVJ7L.js} +8 -8
- package/dist/{chunk-FY343IZR.js → chunk-3URQC7EH.js} +3 -3
- package/dist/{chunk-BPTZ4K5L.js → chunk-4GZ6XOVW.js} +7 -7
- package/dist/{chunk-ROWL352P.js → chunk-4I72F5DF.js} +4 -4
- package/dist/{chunk-EK7DT5BT.js → chunk-4VUPLMZ6.js} +39 -3
- package/dist/chunk-4VUPLMZ6.js.map +1 -0
- package/dist/{chunk-LBGPO5RL.js → chunk-52JPHN5N.js} +4 -4
- package/dist/{chunk-27TCYH6G.js → chunk-5JY5TSVY.js} +3 -3
- package/dist/{chunk-27TCYH6G.js.map → chunk-5JY5TSVY.js.map} +1 -1
- package/dist/chunk-5O5HRRTV.js +201 -0
- package/dist/chunk-5O5HRRTV.js.map +1 -0
- package/dist/{chunk-ZXJXDHNK.js → chunk-5ZKS6ZE2.js} +2 -2
- package/dist/{chunk-ZXJXDHNK.js.map → chunk-5ZKS6ZE2.js.map} +1 -1
- package/dist/{chunk-MVOWXQHN.js → chunk-6BU3L4UE.js} +2 -2
- package/dist/{chunk-OSFPNKY4.js → chunk-6FJWSWFT.js} +2 -2
- package/dist/chunk-6FJWSWFT.js.map +1 -0
- package/dist/{chunk-CJ73OLMW.js → chunk-6HFM7EIT.js} +1 -1
- package/dist/chunk-6HFM7EIT.js.map +1 -0
- package/dist/{chunk-PGAPBZEK.js → chunk-6NVPFKN3.js} +4 -4
- package/dist/{chunk-24UICKTB.js → chunk-6SAFL5YE.js} +2 -2
- package/dist/chunk-6SAFL5YE.js.map +1 -0
- package/dist/{chunk-NQRJ5AJO.js → chunk-7H73RIE3.js} +2 -2
- package/dist/{chunk-NQCNSVGI.js → chunk-7MNBICB5.js} +3 -3
- package/dist/{chunk-T4GPR2IR.js → chunk-7TSYBD3E.js} +1 -1
- package/dist/chunk-7TSYBD3E.js.map +1 -0
- package/dist/{chunk-TLNNHG3A.js → chunk-ADW22QSB.js} +3 -3
- package/dist/{chunk-TLNNHG3A.js.map → chunk-ADW22QSB.js.map} +1 -1
- package/dist/{chunk-3UK6STWO.js → chunk-BEFVYAR5.js} +3 -3
- package/dist/{chunk-TFZ7LLOQ.js → chunk-BRVW2GS5.js} +5 -5
- package/dist/{chunk-V5C5NNBR.js → chunk-CDB2HVQW.js} +3 -3
- package/dist/{chunk-3HYWYLXL.js → chunk-CEJWMBXO.js} +1 -1
- package/dist/chunk-CEJWMBXO.js.map +1 -0
- package/dist/{chunk-2KIV7BEK.js → chunk-FDX7OWWI.js} +1 -1
- package/dist/chunk-FDX7OWWI.js.map +1 -0
- package/dist/{chunk-4MQDV3HZ.js → chunk-FFDNKRCY.js} +2 -2
- package/dist/{chunk-PP5CO2PR.js → chunk-FMQJZH4R.js} +2 -2
- package/dist/{chunk-JSRU5W2M.js → chunk-FZ6NYJ7L.js} +3 -3
- package/dist/{chunk-ZGGVOADG.js → chunk-G6S5VVHP.js} +2 -2
- package/dist/{chunk-3IIPWA75.js → chunk-GAG7QOVO.js} +27 -2
- package/dist/chunk-GAG7QOVO.js.map +1 -0
- package/dist/{chunk-JXIDGFKS.js → chunk-HPLWFNG4.js} +3 -1
- package/dist/chunk-HPLWFNG4.js.map +1 -0
- package/dist/{chunk-ZWMO5GL5.js → chunk-JJNOLSG5.js} +3 -3
- package/dist/{chunk-RLWY6Z44.js → chunk-JRKZTEZZ.js} +62 -6
- package/dist/chunk-JRKZTEZZ.js.map +1 -0
- package/dist/chunk-N35NC4JH.js +123 -0
- package/dist/chunk-N35NC4JH.js.map +1 -0
- package/dist/{chunk-3CLZY46Y.js → chunk-N3BI6P3J.js} +295 -109
- package/dist/chunk-N3BI6P3J.js.map +1 -0
- package/dist/{chunk-SRGJET2F.js → chunk-NJDQ4YSV.js} +2 -2
- package/dist/{chunk-JEM2IGS3.js → chunk-NPP5R7FF.js} +5 -5
- package/dist/{chunk-DPJTDNUF.js → chunk-O2ERS4UJ.js} +5 -5
- package/dist/{chunk-F3GVO44K.js → chunk-PDLLCOGD.js} +3 -3
- package/dist/{chunk-VBY6ZLJT.js → chunk-PL2GHSCM.js} +3 -3
- package/dist/{chunk-DCMQR46R.js → chunk-PNKHAKQ7.js} +3 -3
- package/dist/{chunk-MXZ5TSTR.js → chunk-PPMBY7YS.js} +6 -6
- package/dist/{chunk-ZK4CO2KZ.js → chunk-Q6TEJXBX.js} +4 -4
- package/dist/{chunk-GS5RT2KK.js → chunk-QULVCV3M.js} +2 -2
- package/dist/chunk-QULVCV3M.js.map +1 -0
- package/dist/{chunk-KZ3KMDN3.js → chunk-RTAMLDWP.js} +6 -2
- package/dist/chunk-RTAMLDWP.js.map +1 -0
- package/dist/{chunk-MZ5ZFO2D.js → chunk-RXYYFSBB.js} +82 -110
- package/dist/chunk-RXYYFSBB.js.map +1 -0
- package/dist/{chunk-4VCWI42L.js → chunk-SUFG5E73.js} +2 -2
- package/dist/{chunk-SKONR2OL.js → chunk-U5O6GIWZ.js} +2 -2
- package/dist/{chunk-HFKGIBMD.js → chunk-VZ3XFUQ7.js} +2 -2
- package/dist/{chunk-3EO7RZLJ.js → chunk-W77KZHCW.js} +4 -4
- package/dist/{chunk-P7NGLLUF.js → chunk-WASHZV34.js} +2 -2
- package/dist/{chunk-XB7LUDKM.js → chunk-WFUIE565.js} +3 -3
- package/dist/{chunk-RPXL6KSX.js → chunk-WLZ47GSL.js} +3 -3
- package/dist/{chunk-MJWCLSQL.js → chunk-X56RTUK3.js} +3 -3
- package/dist/{chunk-OMSAULZM.js → chunk-XEJA6K76.js} +9 -9
- package/dist/{chunk-MC2LFTQM.js → chunk-XWX7GL56.js} +2 -2
- package/dist/{chunk-46V67XP5.js → chunk-YJ6IONGA.js} +2 -2
- package/dist/chunk-YJ6IONGA.js.map +1 -0
- package/dist/{chunk-24ZLWWEO.js → chunk-YPYHVOXP.js} +1 -1
- package/dist/chunk-YPYHVOXP.js.map +1 -0
- package/dist/{chunk-2LGDCNFJ.js → chunk-Z45YRGFO.js} +1 -1
- package/dist/chunk-Z45YRGFO.js.map +1 -0
- package/dist/classified/index.js +3 -3
- package/dist/{classified-marker-MH3ON5OL.js → classified-marker-2KJAXRRO.js} +3 -3
- package/dist/{collection-facade-AHT7FATG.js → collection-facade-QEJIM6BC.js} +8 -8
- package/dist/consent/index.js +4 -4
- package/dist/cover/index.js +2 -2
- package/dist/custody/index.js +6 -6
- package/dist/{dead-filter-U575NGSH.js → dead-filter-DCB62VWW.js} +2 -2
- package/dist/{delegation-PDYL6RWT.js → delegation-MO7YZYJS.js} +4 -4
- package/dist/derivations/index.js +6 -6
- package/dist/{derive-AKT4KU36.js → derive-IUA6JFLB.js} +5 -5
- package/dist/directory/index.js +5 -5
- package/dist/{dispatch-4XIJSFTT.js → dispatch-FZEAWKVM.js} +5 -5
- package/dist/{dispatch-N5HGVUGU.js → dispatch-MJ6SHB3Y.js} +9 -9
- package/dist/{enclave-OPK24QDR.js → enclave-JU4YIEPB.js} +4 -4
- package/dist/{executor-3JZ4POTW.js → executor-YIQB2S6N.js} +9 -8
- package/dist/{export-accessible-CPTP5STN.js → export-accessible-4S36PQNR.js} +7 -7
- package/dist/{extract-partition-TWXPHVU7.js → extract-partition-IO7FDZ2P.js} +10 -10
- package/dist/{fanout-sidecar-T2ZGLQFE.js → fanout-sidecar-NNAJQXMX.js} +4 -4
- package/dist/forget/index.js +4 -4
- package/dist/guards/index.js +1 -1
- package/dist/history/index.js +6 -6
- package/dist/i18n/index.js +6 -6
- package/dist/index.d.ts +3 -2
- package/dist/index.js +69 -63
- package/dist/index.js.map +1 -1
- package/dist/introspection/index.js +6 -6
- package/dist/{issue-N74C55X6.js → issue-RIVHSY2S.js} +6 -6
- package/dist/kernel/secret-mode.d.ts +1 -1
- package/dist/kernel/types.d.ts +41 -6
- package/dist/kernel/vault.d.ts +19 -15
- package/dist/{ledger-DONWFC5M.js → ledger-AETNF4OM.js} +6 -6
- package/dist/liberate-GFN4C7RR.js +24 -0
- package/dist/{link-set-2TTP4VLO.js → link-set-E5HNY67I.js} +5 -5
- package/dist/{managed-secret-EAOYWRYF.js → managed-secret-CWQ6PND5.js} +3 -3
- package/dist/materialized-views/index.js +10 -9
- package/dist/money/index.js +10 -6
- package/dist/{noydb-6W2XGQCS.js → noydb-SNZONAYA.js} +28 -28
- package/dist/overlay-views/index.js +1 -1
- package/dist/periods/index.js +17 -7
- package/dist/pod/index.js +31 -31
- package/dist/policy/index.js +3 -3
- package/dist/port/with/collection-options.d.ts +1 -1
- package/dist/portability/index.js +6 -6
- package/dist/{post-register-ORQOQJCS.js → post-register-2XSSMGEQ.js} +4 -4
- package/dist/{register-LHETZRJM.js → register-4EFJCVYD.js} +11 -11
- package/dist/{registry-JRIN447B.js → registry-4SDHHOJ7.js} +6 -6
- package/dist/{registry-AMAZ6QRZ.js → registry-OYTFGWVK.js} +4 -4
- package/dist/{request-withdrawal-2DN2RGCO.js → request-withdrawal-KGXGDPVQ.js} +9 -9
- package/dist/{reveal-AG4SCHUQ.js → reveal-BW36KCOQ.js} +3 -3
- package/dist/{revoke-ZX4NM2CJ.js → revoke-JFN773KF.js} +6 -6
- package/dist/sealed-record/index.js +6 -6
- package/dist/search/index.js +1 -1
- package/dist/{seed-IRCDGIRK.js → seed-GDV5PT4R.js} +6 -6
- package/dist/sequence/index.js +4 -4
- package/dist/session/index.js +3 -3
- package/dist/{signer-7KHD4OL2.js → signer-TA55QB6R.js} +5 -5
- package/dist/snapshots/index.js +5 -5
- package/dist/{stale-K734VACF.js → stale-ARHFVL5U.js} +5 -5
- package/dist/{storage-4H2GF6RQ.js → storage-V7MTFAQJ.js} +5 -5
- package/dist/{store-coordination-provider-4SKLSFUG.js → store-coordination-provider-GFCUOBR6.js} +3 -3
- package/dist/sync/index.js +5 -5
- package/dist/team/index.js +8 -8
- package/dist/tiers/index.js +4 -4
- package/dist/via/classified/descriptor.d.ts +1 -1
- package/dist/via/money/exact.d.ts +44 -0
- package/dist/via/money/index.d.ts +2 -0
- package/dist/via/money/normalize.d.ts +20 -0
- package/dist/{walk-MQHYNDLZ.js → walk-3ZECBFDA.js} +7 -7
- package/dist/with-audit/attestation/index.d.ts +1 -1
- package/dist/with-audit/guards/immutable-guard.d.ts +14 -0
- package/dist/with-audit/guards/with-guard.d.ts +1 -1
- package/dist/with-audit/periods/active.d.ts +28 -1
- package/dist/with-audit/periods/index.d.ts +4 -2
- package/dist/with-audit/periods/periods.d.ts +160 -5
- package/dist/with-audit/periods/strategy.d.ts +13 -4
- package/dist/with-audit/periods/vault-facade.d.ts +89 -10
- package/dist/with-audit/periods/window.d.ts +10 -0
- package/dist/with-cargo/index.d.ts +2 -2
- package/dist/with-commit/history/ledger/entry.d.ts +1 -1
- package/dist/with-commit/numbering/descriptor.d.ts +1 -1
- package/dist/with-formula/derivations/with-derivation.d.ts +1 -1
- package/dist/with-formula/materialized-views/types.d.ts +52 -0
- package/dist/with-formula/materialized-views/with-materialized-view.d.ts +3 -3
- package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +1 -1
- package/dist/with-party/custody/index.d.ts +1 -1
- package/dist/with-party/directory/user-envelope/index.d.ts +1 -1
- package/dist/with-party/directory/user-envelope/storage.d.ts +1 -1
- package/dist/with-party/team/echo-ceremony.d.ts +3 -3
- package/dist/with-party/team/echo-secret.d.ts +2 -2
- package/dist/with-party/team/keyring.d.ts +10 -1
- package/dist/with-pod/bundle.d.ts +15 -0
- package/dist/with-shape/introspection/index.d.ts +2 -1
- package/dist/with-shape/introspection/types.d.ts +1 -1
- package/dist/with-shape/persisted-schemas/derive.d.ts +1 -1
- package/dist/with-shape/persisted-schemas/index.d.ts +1 -1
- package/dist/with-shape/persisted-schemas/types.d.ts +1 -1
- package/dist/{withdraw-accessible-JSDQHXHE.js → withdraw-accessible-7PG4DYQK.js} +8 -8
- package/package.json +6 -4
- package/dist/backup-GAYWQAFN.js.map +0 -1
- package/dist/chunk-24UICKTB.js.map +0 -1
- package/dist/chunk-24ZLWWEO.js.map +0 -1
- package/dist/chunk-2KIV7BEK.js.map +0 -1
- package/dist/chunk-2LGDCNFJ.js.map +0 -1
- package/dist/chunk-3CLZY46Y.js.map +0 -1
- package/dist/chunk-3HYWYLXL.js.map +0 -1
- package/dist/chunk-3IIPWA75.js.map +0 -1
- package/dist/chunk-46V67XP5.js.map +0 -1
- package/dist/chunk-CJ73OLMW.js.map +0 -1
- package/dist/chunk-EK7DT5BT.js.map +0 -1
- package/dist/chunk-GS5RT2KK.js.map +0 -1
- package/dist/chunk-JXIDGFKS.js.map +0 -1
- package/dist/chunk-KZ3KMDN3.js.map +0 -1
- package/dist/chunk-LTU4FLHG.js +0 -131
- package/dist/chunk-LTU4FLHG.js.map +0 -1
- package/dist/chunk-MZ5ZFO2D.js.map +0 -1
- package/dist/chunk-OSFPNKY4.js.map +0 -1
- package/dist/chunk-RLWY6Z44.js.map +0 -1
- package/dist/chunk-T4GPR2IR.js.map +0 -1
- package/dist/liberate-KICI7AJN.js +0 -24
- /package/dist/{api-67SBPMMH.js.map → api-RXUMEKT3.js.map} +0 -0
- /package/dist/{bundle-handle-5OUAI7CV.js.map → bundle-handle-GFNHT52M.js.map} +0 -0
- /package/dist/{chunk-CYQOUTMY.js.map → chunk-2BMRJ6LQ.js.map} +0 -0
- /package/dist/{chunk-HS7HNYBD.js.map → chunk-2DHSSLOD.js.map} +0 -0
- /package/dist/{chunk-JH3OHQM4.js.map → chunk-2Z3NCLNX.js.map} +0 -0
- /package/dist/{chunk-NVU7ZMPN.js.map → chunk-3IXIU6FP.js.map} +0 -0
- /package/dist/{chunk-XBLKM73C.js.map → chunk-3JVXVJ7L.js.map} +0 -0
- /package/dist/{chunk-FY343IZR.js.map → chunk-3URQC7EH.js.map} +0 -0
- /package/dist/{chunk-BPTZ4K5L.js.map → chunk-4GZ6XOVW.js.map} +0 -0
- /package/dist/{chunk-ROWL352P.js.map → chunk-4I72F5DF.js.map} +0 -0
- /package/dist/{chunk-LBGPO5RL.js.map → chunk-52JPHN5N.js.map} +0 -0
- /package/dist/{chunk-MVOWXQHN.js.map → chunk-6BU3L4UE.js.map} +0 -0
- /package/dist/{chunk-PGAPBZEK.js.map → chunk-6NVPFKN3.js.map} +0 -0
- /package/dist/{chunk-NQRJ5AJO.js.map → chunk-7H73RIE3.js.map} +0 -0
- /package/dist/{chunk-NQCNSVGI.js.map → chunk-7MNBICB5.js.map} +0 -0
- /package/dist/{chunk-3UK6STWO.js.map → chunk-BEFVYAR5.js.map} +0 -0
- /package/dist/{chunk-TFZ7LLOQ.js.map → chunk-BRVW2GS5.js.map} +0 -0
- /package/dist/{chunk-V5C5NNBR.js.map → chunk-CDB2HVQW.js.map} +0 -0
- /package/dist/{chunk-4MQDV3HZ.js.map → chunk-FFDNKRCY.js.map} +0 -0
- /package/dist/{chunk-PP5CO2PR.js.map → chunk-FMQJZH4R.js.map} +0 -0
- /package/dist/{chunk-JSRU5W2M.js.map → chunk-FZ6NYJ7L.js.map} +0 -0
- /package/dist/{chunk-ZGGVOADG.js.map → chunk-G6S5VVHP.js.map} +0 -0
- /package/dist/{chunk-ZWMO5GL5.js.map → chunk-JJNOLSG5.js.map} +0 -0
- /package/dist/{chunk-SRGJET2F.js.map → chunk-NJDQ4YSV.js.map} +0 -0
- /package/dist/{chunk-JEM2IGS3.js.map → chunk-NPP5R7FF.js.map} +0 -0
- /package/dist/{chunk-DPJTDNUF.js.map → chunk-O2ERS4UJ.js.map} +0 -0
- /package/dist/{chunk-F3GVO44K.js.map → chunk-PDLLCOGD.js.map} +0 -0
- /package/dist/{chunk-VBY6ZLJT.js.map → chunk-PL2GHSCM.js.map} +0 -0
- /package/dist/{chunk-DCMQR46R.js.map → chunk-PNKHAKQ7.js.map} +0 -0
- /package/dist/{chunk-MXZ5TSTR.js.map → chunk-PPMBY7YS.js.map} +0 -0
- /package/dist/{chunk-ZK4CO2KZ.js.map → chunk-Q6TEJXBX.js.map} +0 -0
- /package/dist/{chunk-4VCWI42L.js.map → chunk-SUFG5E73.js.map} +0 -0
- /package/dist/{chunk-SKONR2OL.js.map → chunk-U5O6GIWZ.js.map} +0 -0
- /package/dist/{chunk-HFKGIBMD.js.map → chunk-VZ3XFUQ7.js.map} +0 -0
- /package/dist/{chunk-3EO7RZLJ.js.map → chunk-W77KZHCW.js.map} +0 -0
- /package/dist/{chunk-P7NGLLUF.js.map → chunk-WASHZV34.js.map} +0 -0
- /package/dist/{chunk-XB7LUDKM.js.map → chunk-WFUIE565.js.map} +0 -0
- /package/dist/{chunk-RPXL6KSX.js.map → chunk-WLZ47GSL.js.map} +0 -0
- /package/dist/{chunk-MJWCLSQL.js.map → chunk-X56RTUK3.js.map} +0 -0
- /package/dist/{chunk-OMSAULZM.js.map → chunk-XEJA6K76.js.map} +0 -0
- /package/dist/{chunk-MC2LFTQM.js.map → chunk-XWX7GL56.js.map} +0 -0
- /package/dist/{classified-marker-MH3ON5OL.js.map → classified-marker-2KJAXRRO.js.map} +0 -0
- /package/dist/{collection-facade-AHT7FATG.js.map → collection-facade-QEJIM6BC.js.map} +0 -0
- /package/dist/{dead-filter-U575NGSH.js.map → dead-filter-DCB62VWW.js.map} +0 -0
- /package/dist/{delegation-PDYL6RWT.js.map → delegation-MO7YZYJS.js.map} +0 -0
- /package/dist/{derive-AKT4KU36.js.map → derive-IUA6JFLB.js.map} +0 -0
- /package/dist/{dispatch-4XIJSFTT.js.map → dispatch-FZEAWKVM.js.map} +0 -0
- /package/dist/{dispatch-N5HGVUGU.js.map → dispatch-MJ6SHB3Y.js.map} +0 -0
- /package/dist/{enclave-OPK24QDR.js.map → enclave-JU4YIEPB.js.map} +0 -0
- /package/dist/{executor-3JZ4POTW.js.map → executor-YIQB2S6N.js.map} +0 -0
- /package/dist/{export-accessible-CPTP5STN.js.map → export-accessible-4S36PQNR.js.map} +0 -0
- /package/dist/{extract-partition-TWXPHVU7.js.map → extract-partition-IO7FDZ2P.js.map} +0 -0
- /package/dist/{fanout-sidecar-T2ZGLQFE.js.map → fanout-sidecar-NNAJQXMX.js.map} +0 -0
- /package/dist/{issue-N74C55X6.js.map → issue-RIVHSY2S.js.map} +0 -0
- /package/dist/{ledger-DONWFC5M.js.map → ledger-AETNF4OM.js.map} +0 -0
- /package/dist/{liberate-KICI7AJN.js.map → liberate-GFN4C7RR.js.map} +0 -0
- /package/dist/{link-set-2TTP4VLO.js.map → link-set-E5HNY67I.js.map} +0 -0
- /package/dist/{managed-secret-EAOYWRYF.js.map → managed-secret-CWQ6PND5.js.map} +0 -0
- /package/dist/{noydb-6W2XGQCS.js.map → noydb-SNZONAYA.js.map} +0 -0
- /package/dist/{post-register-ORQOQJCS.js.map → post-register-2XSSMGEQ.js.map} +0 -0
- /package/dist/{register-LHETZRJM.js.map → register-4EFJCVYD.js.map} +0 -0
- /package/dist/{registry-AMAZ6QRZ.js.map → registry-4SDHHOJ7.js.map} +0 -0
- /package/dist/{registry-JRIN447B.js.map → registry-OYTFGWVK.js.map} +0 -0
- /package/dist/{request-withdrawal-2DN2RGCO.js.map → request-withdrawal-KGXGDPVQ.js.map} +0 -0
- /package/dist/{reveal-AG4SCHUQ.js.map → reveal-BW36KCOQ.js.map} +0 -0
- /package/dist/{revoke-ZX4NM2CJ.js.map → revoke-JFN773KF.js.map} +0 -0
- /package/dist/{seed-IRCDGIRK.js.map → seed-GDV5PT4R.js.map} +0 -0
- /package/dist/{signer-7KHD4OL2.js.map → signer-TA55QB6R.js.map} +0 -0
- /package/dist/{stale-K734VACF.js.map → stale-ARHFVL5U.js.map} +0 -0
- /package/dist/{storage-4H2GF6RQ.js.map → storage-V7MTFAQJ.js.map} +0 -0
- /package/dist/{store-coordination-provider-4SKLSFUG.js.map → store-coordination-provider-GFCUOBR6.js.map} +0 -0
- /package/dist/{walk-MQHYNDLZ.js.map → walk-3ZECBFDA.js.map} +0 -0
- /package/dist/{withdraw-accessible-JSDQHXHE.js.map → withdraw-accessible-7PG4DYQK.js.map} +0 -0
|
@@ -21,13 +21,13 @@ import {
|
|
|
21
21
|
} from "./chunk-GYGLAVCX.js";
|
|
22
22
|
import {
|
|
23
23
|
loadFence
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-6BU3L4UE.js";
|
|
25
25
|
import {
|
|
26
26
|
VectorSet,
|
|
27
27
|
buildPersistedIndexCallbacks,
|
|
28
28
|
encodeVecId,
|
|
29
29
|
syncTierSearch
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-G6S5VVHP.js";
|
|
31
31
|
import {
|
|
32
32
|
SchemaUpdateGate
|
|
33
33
|
} from "./chunk-6LJY7X5A.js";
|
|
@@ -35,12 +35,12 @@ import {
|
|
|
35
35
|
NO_CLASSIFIED,
|
|
36
36
|
guardClassifiedCompat,
|
|
37
37
|
resolveClassifiedFields
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-QULVCV3M.js";
|
|
39
39
|
import {
|
|
40
40
|
NO_TIERS,
|
|
41
41
|
classifySealedShred,
|
|
42
42
|
syncDerivedOutputs
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-6NVPFKN3.js";
|
|
44
44
|
import {
|
|
45
45
|
NO_PORTABILITY
|
|
46
46
|
} from "./chunk-FUHKW252.js";
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
} from "./chunk-DG27IUVI.js";
|
|
51
51
|
import {
|
|
52
52
|
saveSealedSecret
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-XWX7GL56.js";
|
|
54
54
|
import {
|
|
55
55
|
fallbackDerivationName,
|
|
56
56
|
jsonSchemaToFields
|
|
@@ -58,18 +58,18 @@ import {
|
|
|
58
58
|
import {
|
|
59
59
|
derivePersistedSchema,
|
|
60
60
|
isZod4Schema
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-Z45YRGFO.js";
|
|
62
62
|
import {
|
|
63
63
|
loadPersistedSchema
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-CDB2HVQW.js";
|
|
65
65
|
import {
|
|
66
66
|
CustodyApi,
|
|
67
67
|
NO_CUSTODY
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-ADW22QSB.js";
|
|
69
69
|
import {
|
|
70
70
|
DEFAULT_POSTURE,
|
|
71
71
|
ViaGraph
|
|
72
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-7TSYBD3E.js";
|
|
73
73
|
import {
|
|
74
74
|
buildLookupAltIndex,
|
|
75
75
|
buildLookupSnapshotRows,
|
|
@@ -93,7 +93,7 @@ import {
|
|
|
93
93
|
selfWriteFieldEqual,
|
|
94
94
|
touchFor,
|
|
95
95
|
updateReferencingRecords
|
|
96
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-5ZKS6ZE2.js";
|
|
97
97
|
import {
|
|
98
98
|
OverlayedCollection
|
|
99
99
|
} from "./chunk-OF3L2SD6.js";
|
|
@@ -109,15 +109,20 @@ import {
|
|
|
109
109
|
} from "./chunk-PEOZ34EM.js";
|
|
110
110
|
import {
|
|
111
111
|
NO_PERIODS,
|
|
112
|
-
|
|
113
|
-
|
|
112
|
+
isEffectivelyReopened,
|
|
113
|
+
purgeMarkersOn,
|
|
114
|
+
resolvePeriodKey,
|
|
115
|
+
resolveReopenState,
|
|
116
|
+
samePartition
|
|
117
|
+
} from "./chunk-5O5HRRTV.js";
|
|
114
118
|
import {
|
|
115
119
|
PERIODS_COLLECTION,
|
|
116
120
|
PERIOD_ARCHIVES_COLLECTION,
|
|
117
121
|
PERIOD_FREEZES_COLLECTION,
|
|
122
|
+
PERIOD_REOPENS_COLLECTION,
|
|
118
123
|
PERIOD_TARGET_PURGES_COLLECTION,
|
|
119
124
|
periodExclusiveUpperBound
|
|
120
|
-
} from "./chunk-
|
|
125
|
+
} from "./chunk-HPLWFNG4.js";
|
|
121
126
|
import {
|
|
122
127
|
NO_SHADOW
|
|
123
128
|
} from "./chunk-SMY5X46Z.js";
|
|
@@ -135,13 +140,13 @@ import {
|
|
|
135
140
|
InvertedIndex,
|
|
136
141
|
MemoryIndexStore,
|
|
137
142
|
NO_SEARCH
|
|
138
|
-
} from "./chunk-
|
|
143
|
+
} from "./chunk-3JVXVJ7L.js";
|
|
139
144
|
import {
|
|
140
145
|
NO_SEQUENCE,
|
|
141
146
|
SEQUENCE_COLLECTION,
|
|
142
147
|
compileSequenceFormat,
|
|
143
148
|
resolveSequenceKey
|
|
144
|
-
} from "./chunk-
|
|
149
|
+
} from "./chunk-7MNBICB5.js";
|
|
145
150
|
import {
|
|
146
151
|
Query,
|
|
147
152
|
ScanBuilder
|
|
@@ -151,7 +156,7 @@ import {
|
|
|
151
156
|
NO_BLOBS,
|
|
152
157
|
createExportBlobsHandle,
|
|
153
158
|
runCompaction
|
|
154
|
-
} from "./chunk-
|
|
159
|
+
} from "./chunk-WASHZV34.js";
|
|
155
160
|
import {
|
|
156
161
|
LazyQuery,
|
|
157
162
|
NO_INDEXING,
|
|
@@ -180,7 +185,7 @@ import {
|
|
|
180
185
|
} from "./chunk-PVEWA2DU.js";
|
|
181
186
|
import {
|
|
182
187
|
dictCollectionName
|
|
183
|
-
} from "./chunk-
|
|
188
|
+
} from "./chunk-WFUIE565.js";
|
|
184
189
|
import {
|
|
185
190
|
NO_I18N,
|
|
186
191
|
getAtPath,
|
|
@@ -215,7 +220,7 @@ import {
|
|
|
215
220
|
saveShamirRecoveryEntries,
|
|
216
221
|
updateAuthenticator,
|
|
217
222
|
writeMagicLinkGrant
|
|
218
|
-
} from "./chunk-
|
|
223
|
+
} from "./chunk-O2ERS4UJ.js";
|
|
219
224
|
import {
|
|
220
225
|
assertKeyringOpenAllowed,
|
|
221
226
|
buildRecipientKeyringFile,
|
|
@@ -230,11 +235,11 @@ import {
|
|
|
230
235
|
listUsers,
|
|
231
236
|
loadKeyring,
|
|
232
237
|
updateKeyringIdentity
|
|
233
|
-
} from "./chunk-
|
|
238
|
+
} from "./chunk-JRKZTEZZ.js";
|
|
234
239
|
import {
|
|
235
240
|
persistDirectoryConfig,
|
|
236
241
|
readDirectoryConfig
|
|
237
|
-
} from "./chunk-
|
|
242
|
+
} from "./chunk-5JY5TSVY.js";
|
|
238
243
|
import {
|
|
239
244
|
NO_BROKER,
|
|
240
245
|
buildCredentialBrokerHandle
|
|
@@ -255,7 +260,7 @@ import {
|
|
|
255
260
|
} from "./chunk-3FSX6LDG.js";
|
|
256
261
|
import {
|
|
257
262
|
sha256Hex
|
|
258
|
-
} from "./chunk-
|
|
263
|
+
} from "./chunk-6SAFL5YE.js";
|
|
259
264
|
import {
|
|
260
265
|
NO_FORGET,
|
|
261
266
|
addSubjectRef,
|
|
@@ -264,7 +269,7 @@ import {
|
|
|
264
269
|
readDottedPath,
|
|
265
270
|
rebuildSubjectIndex,
|
|
266
271
|
removeSubjectRef
|
|
267
|
-
} from "./chunk-
|
|
272
|
+
} from "./chunk-WLZ47GSL.js";
|
|
268
273
|
import {
|
|
269
274
|
NO_SEALED_RECORD
|
|
270
275
|
} from "./chunk-FAXZQ5UF.js";
|
|
@@ -278,20 +283,20 @@ import {
|
|
|
278
283
|
queryByDet,
|
|
279
284
|
resolveStableCek,
|
|
280
285
|
validateSchemaInput
|
|
281
|
-
} from "./chunk-
|
|
286
|
+
} from "./chunk-3URQC7EH.js";
|
|
282
287
|
import {
|
|
283
288
|
buildDeleteMarker,
|
|
284
289
|
buildTombstone,
|
|
285
290
|
isDeleteMarker,
|
|
286
291
|
isTombstone
|
|
287
|
-
} from "./chunk-
|
|
292
|
+
} from "./chunk-7H73RIE3.js";
|
|
288
293
|
import {
|
|
289
294
|
encrypt
|
|
290
295
|
} from "./chunk-VCETL77O.js";
|
|
291
296
|
import {
|
|
292
297
|
NOYDB_FORMAT_VERSION,
|
|
293
298
|
SealedHandle
|
|
294
|
-
} from "./chunk-
|
|
299
|
+
} from "./chunk-YPYHVOXP.js";
|
|
295
300
|
import {
|
|
296
301
|
AlreadyElevatedError,
|
|
297
302
|
AttestationError,
|
|
@@ -464,7 +469,7 @@ function validateSecretModeOptions(options) {
|
|
|
464
469
|
}
|
|
465
470
|
async function resolveEffectiveSecret(options, store, vault) {
|
|
466
471
|
if (options.secretMode === "managed") {
|
|
467
|
-
const { resolveManagedSecret } = await import("./managed-secret-
|
|
472
|
+
const { resolveManagedSecret } = await import("./managed-secret-CWQ6PND5.js");
|
|
468
473
|
return resolveManagedSecret(store, vault, options.sealingKey);
|
|
469
474
|
}
|
|
470
475
|
return options.secret;
|
|
@@ -482,7 +487,7 @@ function ownerKeyringOptions(options, secret) {
|
|
|
482
487
|
|
|
483
488
|
// src/port/by/default-provider.ts
|
|
484
489
|
async function createDefaultCoordinationProvider(store) {
|
|
485
|
-
const { StoreCoordinationProvider } = await import("./store-coordination-provider-
|
|
490
|
+
const { StoreCoordinationProvider } = await import("./store-coordination-provider-GFCUOBR6.js");
|
|
486
491
|
return new StoreCoordinationProvider(store);
|
|
487
492
|
}
|
|
488
493
|
|
|
@@ -3404,7 +3409,7 @@ var Collection = class {
|
|
|
3404
3409
|
}
|
|
3405
3410
|
}
|
|
3406
3411
|
if (this.materializedViewSource !== void 0) {
|
|
3407
|
-
const { resolveStaleMVOnRead } = await import("./stale-
|
|
3412
|
+
const { resolveStaleMVOnRead } = await import("./stale-ARHFVL5U.js");
|
|
3408
3413
|
await resolveStaleMVOnRead(this.materializedViewSource, this.name, this.#dispatchCtx({ collection: this.name, id: "resolve-on-read" }));
|
|
3409
3414
|
}
|
|
3410
3415
|
let record;
|
|
@@ -3934,7 +3939,7 @@ var Collection = class {
|
|
|
3934
3939
|
*/
|
|
3935
3940
|
async dispatchMaterializedViews(id, record, wave) {
|
|
3936
3941
|
if (this.materializedViewSource === void 0) return;
|
|
3937
|
-
const { dispatchMaterializedViews } = await import("./dispatch-
|
|
3942
|
+
const { dispatchMaterializedViews } = await import("./dispatch-FZEAWKVM.js");
|
|
3938
3943
|
return dispatchMaterializedViews(this.#mvDispatchCtx(this.materializedViewSource), id, record, wave);
|
|
3939
3944
|
}
|
|
3940
3945
|
/**
|
|
@@ -4107,7 +4112,7 @@ var Collection = class {
|
|
|
4107
4112
|
* dispatch wave's per-target dedup; `undefined` on the local-write path (byte-identical). */
|
|
4108
4113
|
async dispatchDerivations(id, record, version, wave) {
|
|
4109
4114
|
if (this.derivationSource === void 0) return;
|
|
4110
|
-
const { dispatchDerivations } = await import("./dispatch-
|
|
4115
|
+
const { dispatchDerivations } = await import("./dispatch-MJ6SHB3Y.js");
|
|
4111
4116
|
return dispatchDerivations({
|
|
4112
4117
|
...this.#derivationDeleteCtx(this.derivationSource),
|
|
4113
4118
|
via: this.via,
|
|
@@ -4422,7 +4427,7 @@ var Collection = class {
|
|
|
4422
4427
|
*/
|
|
4423
4428
|
async dispatchArrayDerivationsOnDelete(id, eraseRecordShapeToo = false) {
|
|
4424
4429
|
if (this.derivationSource === void 0) return 0;
|
|
4425
|
-
const { dispatchArrayDerivationsOnDelete } = await import("./dispatch-
|
|
4430
|
+
const { dispatchArrayDerivationsOnDelete } = await import("./dispatch-MJ6SHB3Y.js");
|
|
4426
4431
|
return dispatchArrayDerivationsOnDelete(this.#derivationDeleteCtx(this.derivationSource), id, eraseRecordShapeToo);
|
|
4427
4432
|
}
|
|
4428
4433
|
/**
|
|
@@ -4436,7 +4441,7 @@ var Collection = class {
|
|
|
4436
4441
|
*/
|
|
4437
4442
|
async dispatchMaterializedViewsOnDelete(id) {
|
|
4438
4443
|
if (this.materializedViewSource === void 0) return { deleted: 0, residueUndecodable: [], residueDeclined: [] };
|
|
4439
|
-
const { dispatchMaterializedViewsOnDelete } = await import("./dispatch-
|
|
4444
|
+
const { dispatchMaterializedViewsOnDelete } = await import("./dispatch-FZEAWKVM.js");
|
|
4440
4445
|
return dispatchMaterializedViewsOnDelete(this.#mvDispatchCtx(this.materializedViewSource), id);
|
|
4441
4446
|
}
|
|
4442
4447
|
/**
|
|
@@ -4456,7 +4461,7 @@ var Collection = class {
|
|
|
4456
4461
|
);
|
|
4457
4462
|
}
|
|
4458
4463
|
if (this.materializedViewSource !== void 0) {
|
|
4459
|
-
const { resolveStaleMVOnRead } = await import("./stale-
|
|
4464
|
+
const { resolveStaleMVOnRead } = await import("./stale-ARHFVL5U.js");
|
|
4460
4465
|
await resolveStaleMVOnRead(this.materializedViewSource, this.name, this.#dispatchCtx({ collection: this.name, id: "resolve-on-read" }));
|
|
4461
4466
|
}
|
|
4462
4467
|
await this.ensureHydrated();
|
|
@@ -5566,14 +5571,14 @@ var Collection = class {
|
|
|
5566
5571
|
/** C-A/R10: persist the classified marker once per classified handle (store I/O in config-drift.ts). */
|
|
5567
5572
|
async _ensureClassifiedMarker() {
|
|
5568
5573
|
if (this._markerPersisted || this.vdigFields === null) return;
|
|
5569
|
-
const { persistClassifiedMarkerForFields } = await import("./classified-marker-
|
|
5574
|
+
const { persistClassifiedMarkerForFields } = await import("./classified-marker-2KJAXRRO.js");
|
|
5570
5575
|
await persistClassifiedMarkerForFields(this.adapter, this.vault, this.name, this.vdigFields, await this.getDEK(this.name));
|
|
5571
5576
|
this._markerPersisted = true;
|
|
5572
5577
|
}
|
|
5573
5578
|
/** C-A/R10 drift signal — the marker's declared digest-only set, memoized to one store read per handle (see config-drift.ts). */
|
|
5574
5579
|
async _classifiedMarkerDigestOnly() {
|
|
5575
5580
|
if (this._markerDigestOnlyCache !== void 0) return this._markerDigestOnlyCache;
|
|
5576
|
-
const { readClassifiedMarkerDigestOnly } = await import("./classified-marker-
|
|
5581
|
+
const { readClassifiedMarkerDigestOnly } = await import("./classified-marker-2KJAXRRO.js");
|
|
5577
5582
|
this._markerDigestOnlyCache = await readClassifiedMarkerDigestOnly(this.adapter, this.vault, this.name, await this.getDEK(this.name));
|
|
5578
5583
|
return this._markerDigestOnlyCache;
|
|
5579
5584
|
}
|
|
@@ -6120,6 +6125,18 @@ var DeferredNumberingStore = class {
|
|
|
6120
6125
|
};
|
|
6121
6126
|
|
|
6122
6127
|
// src/with-audit/periods/vault-facade.ts
|
|
6128
|
+
function hasPartition(partition) {
|
|
6129
|
+
return partition !== void 0 && partition.length > 0;
|
|
6130
|
+
}
|
|
6131
|
+
function scopeSuffix(options) {
|
|
6132
|
+
return hasPartition(options?.partition) ? ` in partition [${options.partition.join(", ")}]` : "";
|
|
6133
|
+
}
|
|
6134
|
+
function assertVaultWide(op, period, why) {
|
|
6135
|
+
if (!hasPartition(period.partition)) return;
|
|
6136
|
+
throw new ValidationError(
|
|
6137
|
+
`${op}: period "${period.name}" is partitioned ([${period.partition.join(", ")}]), and ${op} ${why} \u2014 it cannot be scoped to one timeline, because the store sees only ciphertext and cannot tell which partition a stored record belongs to. Close partitioned periods for their sealing semantics; run ${op} against an unpartitioned period covering the same window.`
|
|
6138
|
+
);
|
|
6139
|
+
}
|
|
6123
6140
|
var VaultPeriods = class {
|
|
6124
6141
|
constructor(deps) {
|
|
6125
6142
|
this.deps = deps;
|
|
@@ -6134,11 +6151,11 @@ var VaultPeriods = class {
|
|
|
6134
6151
|
periodCache = null;
|
|
6135
6152
|
async closePeriod(options) {
|
|
6136
6153
|
const existing = await this.loadPeriodsCache();
|
|
6137
|
-
this.deps.strategy.validatePeriodName(options.name, existing);
|
|
6154
|
+
this.deps.strategy.validatePeriodName(options.name, existing, options.partition);
|
|
6138
6155
|
if (typeof options.endDate !== "string" || options.endDate.length === 0) {
|
|
6139
6156
|
throw new ValidationError("closePeriod: endDate must be a non-empty ISO string.");
|
|
6140
6157
|
}
|
|
6141
|
-
const anchor = await this.deps.strategy.chainAnchor(existing);
|
|
6158
|
+
const anchor = await this.deps.strategy.chainAnchor(existing, options.partition);
|
|
6142
6159
|
const record = {
|
|
6143
6160
|
name: options.name,
|
|
6144
6161
|
kind: "closed",
|
|
@@ -6147,21 +6164,26 @@ var VaultPeriods = class {
|
|
|
6147
6164
|
closedBy: this.deps.userId(),
|
|
6148
6165
|
priorPeriodHash: anchor.priorPeriodHash,
|
|
6149
6166
|
...anchor.priorPeriodName !== void 0 && { priorPeriodName: anchor.priorPeriodName },
|
|
6150
|
-
...options.dateField !== void 0 && { dateField: options.dateField }
|
|
6167
|
+
...options.dateField !== void 0 && { dateField: options.dateField },
|
|
6168
|
+
...hasPartition(options.partition) && { partition: options.partition }
|
|
6151
6169
|
};
|
|
6152
|
-
const
|
|
6153
|
-
await this.
|
|
6170
|
+
const storageKey = resolvePeriodKey(record.name, record.partition);
|
|
6171
|
+
const envelope = await this.writeReserved(PERIODS_COLLECTION, storageKey, record);
|
|
6172
|
+
await this.deps.strategy.appendPeriodLedgerEntry(this.deps.getLedgerOrNull(), this.deps.userId(), envelope, storageKey);
|
|
6154
6173
|
existing.push(record);
|
|
6155
6174
|
this.periodCache = existing;
|
|
6156
6175
|
return record;
|
|
6157
6176
|
}
|
|
6158
6177
|
async openPeriod(options) {
|
|
6159
6178
|
const existing = await this.loadPeriodsCache();
|
|
6160
|
-
this.deps.strategy.validatePeriodName(options.name, existing);
|
|
6161
|
-
const prior = existing.find(
|
|
6179
|
+
this.deps.strategy.validatePeriodName(options.name, existing, options.partition);
|
|
6180
|
+
const prior = existing.find(
|
|
6181
|
+
(p) => p.name === options.fromPeriod && samePartition(p.partition, options.partition)
|
|
6182
|
+
);
|
|
6162
6183
|
if (!prior) {
|
|
6184
|
+
const where = hasPartition(options.partition) ? ` in partition [${options.partition.join(", ")}]` : "";
|
|
6163
6185
|
throw new ValidationError(
|
|
6164
|
-
`openPeriod: fromPeriod "${options.fromPeriod}" does not exist in this vault.`
|
|
6186
|
+
`openPeriod: fromPeriod "${options.fromPeriod}" does not exist in this vault${where}.`
|
|
6165
6187
|
);
|
|
6166
6188
|
}
|
|
6167
6189
|
if (prior.kind !== "closed") {
|
|
@@ -6191,7 +6213,7 @@ var VaultPeriods = class {
|
|
|
6191
6213
|
}
|
|
6192
6214
|
openingCollections.push(collName);
|
|
6193
6215
|
}
|
|
6194
|
-
const anchor = await this.deps.strategy.chainAnchor(existing);
|
|
6216
|
+
const anchor = await this.deps.strategy.chainAnchor(existing, options.partition);
|
|
6195
6217
|
const record = {
|
|
6196
6218
|
name: options.name,
|
|
6197
6219
|
kind: "opened",
|
|
@@ -6202,10 +6224,12 @@ var VaultPeriods = class {
|
|
|
6202
6224
|
closedBy: this.deps.userId(),
|
|
6203
6225
|
priorPeriodHash: anchor.priorPeriodHash,
|
|
6204
6226
|
priorPeriodName: anchor.priorPeriodName ?? prior.name,
|
|
6205
|
-
...openingCollections.length > 0 && { openingCollections }
|
|
6227
|
+
...openingCollections.length > 0 && { openingCollections },
|
|
6228
|
+
...hasPartition(options.partition) && { partition: options.partition }
|
|
6206
6229
|
};
|
|
6207
|
-
const
|
|
6208
|
-
await this.
|
|
6230
|
+
const storageKey = resolvePeriodKey(record.name, record.partition);
|
|
6231
|
+
const envelope = await this.writeReserved(PERIODS_COLLECTION, storageKey, record);
|
|
6232
|
+
await this.deps.strategy.appendPeriodLedgerEntry(this.deps.getLedgerOrNull(), this.deps.userId(), envelope, storageKey);
|
|
6209
6233
|
existing.push(record);
|
|
6210
6234
|
this.periodCache = existing;
|
|
6211
6235
|
return record;
|
|
@@ -6219,10 +6243,11 @@ var VaultPeriods = class {
|
|
|
6219
6243
|
* read only. Idempotent: a second call is a no-op that returns the
|
|
6220
6244
|
* same merged record without re-purging or re-appending a ledger entry.
|
|
6221
6245
|
*/
|
|
6222
|
-
async freezePeriod(name) {
|
|
6246
|
+
async freezePeriod(name, options) {
|
|
6223
6247
|
const existing = await this.loadPeriodsCache();
|
|
6224
|
-
const period =
|
|
6225
|
-
if (!period) throw new ValidationError(`freezePeriod: no period named "${name}".`);
|
|
6248
|
+
const period = this.findPeriod(existing, name, options);
|
|
6249
|
+
if (!period) throw new ValidationError(`freezePeriod: no period named "${name}"${scopeSuffix(options)}.`);
|
|
6250
|
+
assertVaultWide("freezePeriod", period, "purges delete markers by write-time across the whole store");
|
|
6226
6251
|
if (period.kind !== "closed") {
|
|
6227
6252
|
throw new ValidationError(
|
|
6228
6253
|
`freezePeriod: period "${name}" is "${period.kind}"; only a closed period can be frozen.`
|
|
@@ -6262,10 +6287,11 @@ var VaultPeriods = class {
|
|
|
6262
6287
|
* through to cold) and idempotent: a second call is a no-op returning the
|
|
6263
6288
|
* same merged record.
|
|
6264
6289
|
*/
|
|
6265
|
-
async archivePeriod(name) {
|
|
6290
|
+
async archivePeriod(name, options) {
|
|
6266
6291
|
const existing = await this.loadPeriodsCache();
|
|
6267
|
-
const period =
|
|
6268
|
-
if (!period) throw new ValidationError(`archivePeriod: no period named "${name}".`);
|
|
6292
|
+
const period = this.findPeriod(existing, name, options);
|
|
6293
|
+
if (!period) throw new ValidationError(`archivePeriod: no period named "${name}"${scopeSuffix(options)}.`);
|
|
6294
|
+
assertVaultWide("archivePeriod", period, "relocates records by write-time across the whole store");
|
|
6269
6295
|
if (period.kind !== "closed") {
|
|
6270
6296
|
throw new ValidationError(
|
|
6271
6297
|
`archivePeriod: period "${name}" is "${period.kind}"; only a closed period can be archived.`
|
|
@@ -6300,10 +6326,11 @@ var VaultPeriods = class {
|
|
|
6300
6326
|
* Idempotent once run; with no push-only targets it writes no companion and
|
|
6301
6327
|
* is re-runnable.
|
|
6302
6328
|
*/
|
|
6303
|
-
async purgePeriodTargets(name) {
|
|
6329
|
+
async purgePeriodTargets(name, options) {
|
|
6304
6330
|
const existing = await this.loadPeriodsCache();
|
|
6305
|
-
const period =
|
|
6306
|
-
if (!period) throw new ValidationError(`purgePeriodTargets: no period named "${name}".`);
|
|
6331
|
+
const period = this.findPeriod(existing, name, options);
|
|
6332
|
+
if (!period) throw new ValidationError(`purgePeriodTargets: no period named "${name}"${scopeSuffix(options)}.`);
|
|
6333
|
+
assertVaultWide("purgePeriodTargets", period, "sweeps delete markers by write-time off whole sync targets");
|
|
6307
6334
|
if (period.kind !== "closed") {
|
|
6308
6335
|
throw new ValidationError(
|
|
6309
6336
|
`purgePeriodTargets: period "${name}" is "${period.kind}"; only a closed period can be target-purged.`
|
|
@@ -6363,8 +6390,15 @@ var VaultPeriods = class {
|
|
|
6363
6390
|
purgedMarkerCount: freeze.purgedMarkerCount
|
|
6364
6391
|
};
|
|
6365
6392
|
}
|
|
6366
|
-
/**
|
|
6367
|
-
|
|
6393
|
+
/**
|
|
6394
|
+
* Return every closed / opened period in `closedAt` order, merged with any
|
|
6395
|
+
* freeze + archive companions.
|
|
6396
|
+
*
|
|
6397
|
+
* With no argument this spans EVERY timeline — the pre-#1005 behaviour, and
|
|
6398
|
+
* the right default for an audit sweep. Pass `{ partition }` to scope to one
|
|
6399
|
+
* timeline; `{ partition: [] }` (or omitting it) means the vault-wide one.
|
|
6400
|
+
*/
|
|
6401
|
+
async listPeriods(options) {
|
|
6368
6402
|
this.periodCache = null;
|
|
6369
6403
|
const all = await this.loadPeriodsCache();
|
|
6370
6404
|
const freezeIds = await this.deps.adapter.list(this.deps.vault, PERIOD_FREEZES_COLLECTION);
|
|
@@ -6385,7 +6419,9 @@ var VaultPeriods = class {
|
|
|
6385
6419
|
const tp = await this.readReserved(PERIOD_TARGET_PURGES_COLLECTION, id);
|
|
6386
6420
|
if (tp) targetPurges.set(tp.period, tp);
|
|
6387
6421
|
}
|
|
6388
|
-
|
|
6422
|
+
const scoped = options === void 0 ? all : all.filter((p) => samePartition(p.partition, options.partition));
|
|
6423
|
+
const withReopen = await this.mergeReopenState(scoped);
|
|
6424
|
+
return withReopen.map((p) => {
|
|
6389
6425
|
const f = freezes.get(p.name);
|
|
6390
6426
|
let merged = f ? this.mergeFreeze(p, f) : p;
|
|
6391
6427
|
const a = archives.get(p.name);
|
|
@@ -6395,31 +6431,161 @@ var VaultPeriods = class {
|
|
|
6395
6431
|
return merged;
|
|
6396
6432
|
});
|
|
6397
6433
|
}
|
|
6398
|
-
/**
|
|
6399
|
-
|
|
6434
|
+
/**
|
|
6435
|
+
* Look up a single period by name within one timeline, merged with its
|
|
6436
|
+
* freeze + archive + target-purge companions if any. Returns `null` if not
|
|
6437
|
+
* found.
|
|
6438
|
+
*
|
|
6439
|
+
* Names are only unique per partition (#1005), so this resolves against the
|
|
6440
|
+
* VAULT-WIDE timeline unless `{ partition }` says otherwise — matching how
|
|
6441
|
+
* every pre-partition period is stored.
|
|
6442
|
+
*/
|
|
6443
|
+
async getPeriod(name, options) {
|
|
6400
6444
|
const all = await this.loadPeriodsCache();
|
|
6401
|
-
const period =
|
|
6445
|
+
const period = this.findPeriod(all, name, options);
|
|
6402
6446
|
if (!period) return null;
|
|
6403
|
-
const
|
|
6404
|
-
const
|
|
6447
|
+
const key = resolvePeriodKey(name, options?.partition);
|
|
6448
|
+
const freeze = await this.readReserved(PERIOD_FREEZES_COLLECTION, key);
|
|
6449
|
+
const archive = await this.readReserved(PERIOD_ARCHIVES_COLLECTION, key);
|
|
6405
6450
|
let merged = freeze ? this.mergeFreeze(period, freeze) : period;
|
|
6406
6451
|
if (archive) merged = this.mergeArchive(merged, archive);
|
|
6407
|
-
const targetPurge = await this.readReserved(PERIOD_TARGET_PURGES_COLLECTION,
|
|
6452
|
+
const targetPurge = await this.readReserved(PERIOD_TARGET_PURGES_COLLECTION, key);
|
|
6408
6453
|
if (targetPurge) merged = this.mergeTargetPurge(merged, targetPurge);
|
|
6454
|
+
const reopenLog = await this.readReserved(PERIOD_REOPENS_COLLECTION, key);
|
|
6455
|
+
if (reopenLog) merged = { ...merged, ...resolveReopenState(reopenLog.events) };
|
|
6409
6456
|
return merged;
|
|
6410
6457
|
}
|
|
6411
|
-
/**
|
|
6412
|
-
|
|
6458
|
+
/**
|
|
6459
|
+
* The full append-only reopen/reclose log for one period (#1022) — the record
|
|
6460
|
+
* an audit actually asks for, in order. `[]` when never reopened.
|
|
6461
|
+
*/
|
|
6462
|
+
async listPeriodReopens(name, options) {
|
|
6463
|
+
const key = resolvePeriodKey(name, options?.partition);
|
|
6464
|
+
const log = await this.readReserved(PERIOD_REOPENS_COLLECTION, key);
|
|
6465
|
+
return log?.events ?? [];
|
|
6466
|
+
}
|
|
6467
|
+
/**
|
|
6468
|
+
* Return a closed period to a writable state (#1022).
|
|
6469
|
+
*
|
|
6470
|
+
* Close is a three-state lifecycle in practice — open / closed / reopened —
|
|
6471
|
+
* because a month gets closed and then a missing invoice arrives, or a filing
|
|
6472
|
+
* is rejected and must be amended. That is routine, and it is supposed to
|
|
6473
|
+
* leave a trail.
|
|
6474
|
+
*
|
|
6475
|
+
* The `_periods/<key>` record is NOT touched: the reopen is appended to a
|
|
6476
|
+
* companion log, so the inter-period hash chain that proves the close
|
|
6477
|
+
* happened survives the reopen intact. The chain reads *closed at T1,
|
|
6478
|
+
* reopened at T2 by U, reclosed at T3*.
|
|
6479
|
+
*
|
|
6480
|
+
* A reopen withdraws the PERIOD's veto and nothing else. Record-level rules —
|
|
6481
|
+
* an `immutableGuard` on a sent receipt, a frozen field — are separate gate
|
|
6482
|
+
* handlers registered ahead of the period gate, so a reopened month cannot
|
|
6483
|
+
* resurrect a document that is independently locked. Period state can only
|
|
6484
|
+
* ever widen what the record-level rule already permits.
|
|
6485
|
+
*
|
|
6486
|
+
* Reopening an already-open window is allowed and appends another event: that
|
|
6487
|
+
* is how a window gets extended, and the log keeps both.
|
|
6488
|
+
*/
|
|
6489
|
+
async reopenPeriod(name, options) {
|
|
6490
|
+
const existing = await this.loadPeriodsCache();
|
|
6491
|
+
const period = this.findPeriod(existing, name, options);
|
|
6492
|
+
if (!period) throw new ValidationError(`reopenPeriod: no period named "${name}"${scopeSuffix(options)}.`);
|
|
6493
|
+
if (period.kind !== "closed") {
|
|
6494
|
+
throw new ValidationError(
|
|
6495
|
+
`reopenPeriod: period "${name}" is "${period.kind}"; only a closed period can be reopened.`
|
|
6496
|
+
);
|
|
6497
|
+
}
|
|
6498
|
+
if (options?.until !== void 0 && Number.isNaN(Date.parse(options.until))) {
|
|
6499
|
+
throw new ValidationError(`reopenPeriod: unparseable \`until\` "${options.until}".`);
|
|
6500
|
+
}
|
|
6501
|
+
return this.appendReopenEvent(period, options, {
|
|
6502
|
+
op: "reopen",
|
|
6503
|
+
at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
6504
|
+
by: this.deps.userId(),
|
|
6505
|
+
...options?.until !== void 0 && { until: options.until },
|
|
6506
|
+
...options?.reason !== void 0 && { reason: options.reason }
|
|
6507
|
+
});
|
|
6508
|
+
}
|
|
6509
|
+
/**
|
|
6510
|
+
* Seal a reopened period again (#1022), ending the window explicitly rather
|
|
6511
|
+
* than waiting for an `until` to lapse. Appends to the same log, so the
|
|
6512
|
+
* close → reopen → reclose sequence is recoverable in order.
|
|
6513
|
+
*/
|
|
6514
|
+
async reclosePeriod(name, options) {
|
|
6515
|
+
const existing = await this.loadPeriodsCache();
|
|
6516
|
+
const period = this.findPeriod(existing, name, options);
|
|
6517
|
+
if (!period) throw new ValidationError(`reclosePeriod: no period named "${name}"${scopeSuffix(options)}.`);
|
|
6518
|
+
const merged = await this.mergeReopenState([period]);
|
|
6519
|
+
if (!isEffectivelyReopened(merged[0], (/* @__PURE__ */ new Date()).toISOString())) {
|
|
6520
|
+
throw new ValidationError(
|
|
6521
|
+
`reclosePeriod: period "${name}"${scopeSuffix(options)} is not currently reopened \u2014 nothing to reclose. A period whose \`until\` has already lapsed re-sealed on its own.`
|
|
6522
|
+
);
|
|
6523
|
+
}
|
|
6524
|
+
return this.appendReopenEvent(period, options, {
|
|
6525
|
+
op: "reclose",
|
|
6526
|
+
at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
6527
|
+
by: this.deps.userId(),
|
|
6528
|
+
...options?.reason !== void 0 && { reason: options.reason }
|
|
6529
|
+
});
|
|
6530
|
+
}
|
|
6531
|
+
/** Append one entry to a period's reopen log, ledger it, and invalidate the guard's view. */
|
|
6532
|
+
async appendReopenEvent(period, scope, event) {
|
|
6533
|
+
const key = resolvePeriodKey(period.name, period.partition);
|
|
6534
|
+
const prior = await this.readReserved(PERIOD_REOPENS_COLLECTION, key);
|
|
6535
|
+
const record = {
|
|
6536
|
+
period: period.name,
|
|
6537
|
+
...hasPartition(period.partition) && { partition: period.partition },
|
|
6538
|
+
events: [...prior?.events ?? [], event]
|
|
6539
|
+
};
|
|
6540
|
+
const envelope = await this.writeReserved(PERIOD_REOPENS_COLLECTION, key, record);
|
|
6541
|
+
await this.deps.strategy.appendPeriodLedgerEntry(
|
|
6542
|
+
this.deps.getLedgerOrNull(),
|
|
6543
|
+
this.deps.userId(),
|
|
6544
|
+
envelope,
|
|
6545
|
+
key,
|
|
6546
|
+
PERIOD_REOPENS_COLLECTION
|
|
6547
|
+
);
|
|
6548
|
+
this.periodCache = null;
|
|
6549
|
+
void scope;
|
|
6550
|
+
return { ...period, ...resolveReopenState(record.events) };
|
|
6551
|
+
}
|
|
6552
|
+
/** Merge each period's reopen log onto it. One adapter listing, not one per period. */
|
|
6553
|
+
async mergeReopenState(periods) {
|
|
6554
|
+
if (periods.length === 0) return [];
|
|
6555
|
+
const ids = await this.deps.adapter.list(this.deps.vault, PERIOD_REOPENS_COLLECTION);
|
|
6556
|
+
if (ids.length === 0) return [...periods];
|
|
6557
|
+
const byKey = /* @__PURE__ */ new Map();
|
|
6558
|
+
for (const id of ids) {
|
|
6559
|
+
const r = await this.readReserved(PERIOD_REOPENS_COLLECTION, id);
|
|
6560
|
+
if (r) byKey.set(id, r);
|
|
6561
|
+
}
|
|
6562
|
+
return periods.map((p) => {
|
|
6563
|
+
const log = byKey.get(resolvePeriodKey(p.name, p.partition));
|
|
6564
|
+
return log ? { ...p, ...resolveReopenState(log.events) } : p;
|
|
6565
|
+
});
|
|
6566
|
+
}
|
|
6567
|
+
/** Resolve one period within the timeline named by `options` (vault-wide when absent). */
|
|
6568
|
+
findPeriod(all, name, options) {
|
|
6569
|
+
return all.find((p) => p.name === name && samePartition(p.partition, options?.partition));
|
|
6570
|
+
}
|
|
6571
|
+
/** Called by the gate bus before put/delete. `collection` selects the subject mapping (#1005). */
|
|
6572
|
+
async assertTsWritable(existing, incoming, collection) {
|
|
6413
6573
|
if (existing === null && incoming === null) return;
|
|
6414
6574
|
if (this.periodCache === null) {
|
|
6415
|
-
|
|
6575
|
+
const loaded = await this.deps.strategy.loadPeriods(
|
|
6416
6576
|
this.deps.adapter,
|
|
6417
6577
|
this.deps.vault,
|
|
6418
6578
|
(env) => this.decryptPeriodRecord(env)
|
|
6419
6579
|
);
|
|
6580
|
+
this.periodCache = await this.mergeReopenState(loaded);
|
|
6420
6581
|
}
|
|
6421
6582
|
if (this.periodCache.length === 0) return;
|
|
6422
|
-
this.deps.strategy.assertTsWritable(
|
|
6583
|
+
this.deps.strategy.assertTsWritable(
|
|
6584
|
+
existing,
|
|
6585
|
+
incoming,
|
|
6586
|
+
this.periodCache,
|
|
6587
|
+
collection !== void 0 ? { collection, ...this.deps.strategy.partitionOf !== void 0 && { resolve: this.deps.strategy.partitionOf } } : void 0
|
|
6588
|
+
);
|
|
6423
6589
|
}
|
|
6424
6590
|
async loadPeriodsCache() {
|
|
6425
6591
|
if (this.periodCache !== null) return this.periodCache;
|
|
@@ -7048,7 +7214,7 @@ var VaultLinks = class {
|
|
|
7048
7214
|
// src/with-shape/links/lazy-handle.ts
|
|
7049
7215
|
function makeLazyLinkSetHandle(d) {
|
|
7050
7216
|
let engine = null;
|
|
7051
|
-
const load = () => engine ??= import("./link-set-
|
|
7217
|
+
const load = () => engine ??= import("./link-set-E5HNY67I.js").then(
|
|
7052
7218
|
({ LinkSet }) => new LinkSet(d.adapter, d.vault, d.name, d.spec, d.encrypted, d.getDEK, d.actor, d.emitter, d.endpointExists)
|
|
7053
7219
|
);
|
|
7054
7220
|
return {
|
|
@@ -7695,7 +7861,7 @@ function declareSatellite(ctx, collectionName, options, existingRegistry) {
|
|
|
7695
7861
|
ctx.forEachSyncEngine((e) => e.remirrorPairResolvers([spec.base, spec.satellite]));
|
|
7696
7862
|
const registry = reg;
|
|
7697
7863
|
const baseSchema = ctx.getBaseSchema(spec.base);
|
|
7698
|
-
void import("./post-register-
|
|
7864
|
+
void import("./post-register-2XSSMGEQ.js").then((m) => m.postRegister(ctx.adapter, ctx.vaultName, spec, ctx.getDEK, baseSchema, registry)).catch(() => {
|
|
7699
7865
|
});
|
|
7700
7866
|
return reg;
|
|
7701
7867
|
}
|
|
@@ -8327,7 +8493,7 @@ var Vault = class {
|
|
|
8327
8493
|
* envelopes, subject to the `view-team-profiles` policy gate.
|
|
8328
8494
|
* - Reactive: `subscribe(id, cb)`, `live(id)` — fire on local writes.
|
|
8329
8495
|
*
|
|
8330
|
-
* @see
|
|
8496
|
+
* @see design-history/2026-05-05-user-envelope-design.md
|
|
8331
8497
|
*/
|
|
8332
8498
|
user;
|
|
8333
8499
|
/**
|
|
@@ -8339,7 +8505,7 @@ var Vault = class {
|
|
|
8339
8505
|
* - `liberate(opts)` — custodian-only: the audited claim of ownership over a
|
|
8340
8506
|
* sealed-owner (Deed) vault (mints a DISTINCT new owner; ledger-audited).
|
|
8341
8507
|
*
|
|
8342
|
-
* @see
|
|
8508
|
+
* @see design-history/2026-06-17-fr6-deed-custodian-liberate-design.md
|
|
8343
8509
|
*/
|
|
8344
8510
|
custody;
|
|
8345
8511
|
/** Re-derives an UnlockedKeyring from the adapter using the active user's secret; called by
|
|
@@ -8678,7 +8844,7 @@ var Vault = class {
|
|
|
8678
8844
|
const strategies = options.schemaUpdate ?? [];
|
|
8679
8845
|
const work = (async () => {
|
|
8680
8846
|
const dek = await this.getDEK(collectionName);
|
|
8681
|
-
const { persistSchemaIfNeeded } = await import("./register-
|
|
8847
|
+
const { persistSchemaIfNeeded } = await import("./register-4EFJCVYD.js");
|
|
8682
8848
|
const result = await persistSchemaIfNeeded({
|
|
8683
8849
|
store: this.adapter,
|
|
8684
8850
|
vault: this.name,
|
|
@@ -8828,7 +8994,7 @@ var Vault = class {
|
|
|
8828
8994
|
const work = (async () => {
|
|
8829
8995
|
try {
|
|
8830
8996
|
const dek = await this.getDEK(collectionName);
|
|
8831
|
-
await (await import("./register-
|
|
8997
|
+
await (await import("./register-4EFJCVYD.js")).persistSchemaIfNeeded({
|
|
8832
8998
|
store: this.adapter,
|
|
8833
8999
|
vault: this.name,
|
|
8834
9000
|
collectionName,
|
|
@@ -9504,7 +9670,7 @@ var Vault = class {
|
|
|
9504
9670
|
*/
|
|
9505
9671
|
// eslint-disable-next-line @typescript-eslint/consistent-type-imports
|
|
9506
9672
|
async _loadPodSigner() {
|
|
9507
|
-
const { loadSigner } = await import("./signer-
|
|
9673
|
+
const { loadSigner } = await import("./signer-TA55QB6R.js");
|
|
9508
9674
|
return loadSigner(this.adapter, this.name, this.getDEK);
|
|
9509
9675
|
}
|
|
9510
9676
|
async writeExportAudit(entry) {
|
|
@@ -10015,7 +10181,7 @@ var Vault = class {
|
|
|
10015
10181
|
async _initDerivations(handles) {
|
|
10016
10182
|
if (handles.length === 0) return;
|
|
10017
10183
|
const [{ DerivationRegistry }, { ReadOnlyVaultFacade }] = await Promise.all([
|
|
10018
|
-
import("./registry-
|
|
10184
|
+
import("./registry-4SDHHOJ7.js"),
|
|
10019
10185
|
import("./read-only-facade-CHCKSEPD.js")
|
|
10020
10186
|
]);
|
|
10021
10187
|
const registry = new DerivationRegistry();
|
|
@@ -10047,7 +10213,7 @@ var Vault = class {
|
|
|
10047
10213
|
*/
|
|
10048
10214
|
async _initMaterializedViews(handles) {
|
|
10049
10215
|
if (handles.length === 0) return;
|
|
10050
|
-
const { MaterializedViewRegistry } = await import("./registry-
|
|
10216
|
+
const { MaterializedViewRegistry } = await import("./registry-OYTFGWVK.js");
|
|
10051
10217
|
const registry = new MaterializedViewRegistry();
|
|
10052
10218
|
this.materializedViewRegistry = registry;
|
|
10053
10219
|
const db = this;
|
|
@@ -10134,14 +10300,14 @@ var Vault = class {
|
|
|
10134
10300
|
if (!reg) {
|
|
10135
10301
|
throw new Error(`refreshView: no MV registered with name "${name}"`);
|
|
10136
10302
|
}
|
|
10137
|
-
const { MaterializedViewExecutor } = await import("./executor-
|
|
10303
|
+
const { MaterializedViewExecutor } = await import("./executor-YIQB2S6N.js");
|
|
10138
10304
|
const result = await MaterializedViewExecutor.refresh(reg, {
|
|
10139
10305
|
getCollection: (n) => this.collection(n),
|
|
10140
10306
|
getActiveTxContext: () => this.noydb._activeTxContextOrNull,
|
|
10141
10307
|
getQueryContext: () => this,
|
|
10142
10308
|
dispatchCtx: this._dispatchCtx({ collection: name, id: "refreshView" })
|
|
10143
10309
|
});
|
|
10144
|
-
const { clearMVStaleFully } = await import("./stale-
|
|
10310
|
+
const { clearMVStaleFully } = await import("./stale-ARHFVL5U.js");
|
|
10145
10311
|
await clearMVStaleFully(this.adapter, this.name, registry, name);
|
|
10146
10312
|
return result;
|
|
10147
10313
|
}
|
|
@@ -10181,7 +10347,7 @@ var Vault = class {
|
|
|
10181
10347
|
if (!outSpec) continue;
|
|
10182
10348
|
const outputColl = this.collection(outSpec.collection);
|
|
10183
10349
|
if (out.kind === "array") {
|
|
10184
|
-
const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-
|
|
10350
|
+
const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-NNAJQXMX.js");
|
|
10185
10351
|
const prior = await loadFanoutSidecar(this.adapter, this.name, spec.source, id, key, this.getDEK, this.encrypted);
|
|
10186
10352
|
const prevKeys = new Set(prior?.keys ?? []);
|
|
10187
10353
|
const newKeysList = out.entries.map((e) => e.key);
|
|
@@ -10408,7 +10574,7 @@ var Vault = class {
|
|
|
10408
10574
|
* collection.
|
|
10409
10575
|
*/
|
|
10410
10576
|
async delegate(opts) {
|
|
10411
|
-
const { issueDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-
|
|
10577
|
+
const { issueDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-MO7YZYJS.js");
|
|
10412
10578
|
if (!this.keyring.kek) {
|
|
10413
10579
|
throw new ValidationError(
|
|
10414
10580
|
"issueDelegation: keyring.kek is null \u2014 issuing a delegation requires a tier-1 unlock. Re-authenticate at tier 1 (secret) first."
|
|
@@ -10430,7 +10596,7 @@ var Vault = class {
|
|
|
10430
10596
|
* if the id does not exist.
|
|
10431
10597
|
*/
|
|
10432
10598
|
async revokeDelegation(id) {
|
|
10433
|
-
const { revokeDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-
|
|
10599
|
+
const { revokeDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-MO7YZYJS.js");
|
|
10434
10600
|
await revokeDelegation(this.adapter, this.name, id);
|
|
10435
10601
|
void DELEGATIONS_COLLECTION;
|
|
10436
10602
|
}
|
|
@@ -10609,13 +10775,13 @@ var Vault = class {
|
|
|
10609
10775
|
async openPeriod(options) {
|
|
10610
10776
|
return this.periods.openPeriod(options);
|
|
10611
10777
|
}
|
|
10612
|
-
/**
|
|
10613
|
-
async listPeriods() {
|
|
10614
|
-
return this.periods.listPeriods();
|
|
10778
|
+
/** Every closed / opened period in `closedAt` order; ALL timelines unless `{ partition }` scopes it (#1005). */
|
|
10779
|
+
async listPeriods(options) {
|
|
10780
|
+
return this.periods.listPeriods(options);
|
|
10615
10781
|
}
|
|
10616
|
-
/**
|
|
10617
|
-
async getPeriod(name) {
|
|
10618
|
-
return this.periods.getPeriod(name);
|
|
10782
|
+
/** One period by name within a timeline (vault-wide unless `{ partition }`). `null` if not found. */
|
|
10783
|
+
async getPeriod(name, options) {
|
|
10784
|
+
return this.periods.getPeriod(name, options);
|
|
10619
10785
|
}
|
|
10620
10786
|
/**
|
|
10621
10787
|
* Freeze a closed period (#604): purges in-window delete markers and
|
|
@@ -10625,8 +10791,8 @@ var Vault = class {
|
|
|
10625
10791
|
* and purging re-opens the #589 resurrection window for a peer offline
|
|
10626
10792
|
* since before the cutoff (see periods.ts's "Freeze" section).
|
|
10627
10793
|
*/
|
|
10628
|
-
async freezePeriod(name) {
|
|
10629
|
-
return this.periods.freezePeriod(name);
|
|
10794
|
+
async freezePeriod(name, options) {
|
|
10795
|
+
return this.periods.freezePeriod(name, options);
|
|
10630
10796
|
}
|
|
10631
10797
|
/**
|
|
10632
10798
|
* Archive a closed period (#613): relocates its in-window records from the
|
|
@@ -10635,8 +10801,8 @@ var Vault = class {
|
|
|
10635
10801
|
* the chained `_periods` record. Non-destructive (reads fall through to
|
|
10636
10802
|
* cold) and idempotent. Requires a routeStore with a cold route.
|
|
10637
10803
|
*/
|
|
10638
|
-
async archivePeriod(name) {
|
|
10639
|
-
return this.periods.archivePeriod(name);
|
|
10804
|
+
async archivePeriod(name, options) {
|
|
10805
|
+
return this.periods.archivePeriod(name, options);
|
|
10640
10806
|
}
|
|
10641
10807
|
/**
|
|
10642
10808
|
* Target-purge a closed+frozen period (#615): sweeps delete markers off the
|
|
@@ -10646,12 +10812,24 @@ var Vault = class {
|
|
|
10646
10812
|
* frozen first. Idempotent; a vault with no push-only targets writes no
|
|
10647
10813
|
* companion and is re-runnable.
|
|
10648
10814
|
*/
|
|
10649
|
-
async purgePeriodTargets(name) {
|
|
10650
|
-
return this.periods.purgePeriodTargets(name);
|
|
10815
|
+
async purgePeriodTargets(name, options) {
|
|
10816
|
+
return this.periods.purgePeriodTargets(name, options);
|
|
10817
|
+
}
|
|
10818
|
+
/** Return a closed period to writable (#1022); logged append-only, close chain untouched. */
|
|
10819
|
+
async reopenPeriod(name, options) {
|
|
10820
|
+
return this.periods.reopenPeriod(name, options);
|
|
10821
|
+
}
|
|
10822
|
+
/** Seal a reopened period again (#1022) rather than waiting for its `until` to lapse. */
|
|
10823
|
+
async reclosePeriod(name, options) {
|
|
10824
|
+
return this.periods.reclosePeriod(name, options);
|
|
10825
|
+
}
|
|
10826
|
+
/** The append-only reopen/reclose log for one period (#1022), in order. */
|
|
10827
|
+
async listPeriodReopens(name, options) {
|
|
10828
|
+
return this.periods.listPeriodReopens(name, options);
|
|
10651
10829
|
}
|
|
10652
10830
|
/** @internal — called by the gate bus before put/delete. */
|
|
10653
|
-
async _assertTsWritable(existing, incoming) {
|
|
10654
|
-
return this.periods.assertTsWritable(existing, incoming);
|
|
10831
|
+
async _assertTsWritable(existing, incoming, collection) {
|
|
10832
|
+
return this.periods.assertTsWritable(existing, incoming, collection);
|
|
10655
10833
|
}
|
|
10656
10834
|
/** List all collection names in this vault. */
|
|
10657
10835
|
async collections() {
|
|
@@ -10675,10 +10853,10 @@ var Vault = class {
|
|
|
10675
10853
|
* - `sampled`: inferred from decrypted records (deferred to a follow-up)
|
|
10676
10854
|
* - `unknown`: no schema info available
|
|
10677
10855
|
*
|
|
10678
|
-
* @see
|
|
10856
|
+
* @see design-history/2026-05-22-schema-dump-design.md
|
|
10679
10857
|
*/
|
|
10680
10858
|
async dumpSchema(opts = {}) {
|
|
10681
|
-
const { dumpVaultSchema } = await import("./walk-
|
|
10859
|
+
const { dumpVaultSchema } = await import("./walk-3ZECBFDA.js");
|
|
10682
10860
|
return dumpVaultSchema(this, opts);
|
|
10683
10861
|
}
|
|
10684
10862
|
/**
|
|
@@ -10774,7 +10952,7 @@ var Vault = class {
|
|
|
10774
10952
|
* separate vault instances now.
|
|
10775
10953
|
*/
|
|
10776
10954
|
async getBundleHandle() {
|
|
10777
|
-
const { buildBundleHandle } = await import("./bundle-handle-
|
|
10955
|
+
const { buildBundleHandle } = await import("./bundle-handle-GFNHT52M.js");
|
|
10778
10956
|
return buildBundleHandle(this.adapter, this.name);
|
|
10779
10957
|
}
|
|
10780
10958
|
/**
|
|
@@ -10806,7 +10984,7 @@ var Vault = class {
|
|
|
10806
10984
|
* both modes round-trip cleanly.
|
|
10807
10985
|
*/
|
|
10808
10986
|
async dump() {
|
|
10809
|
-
const { dumpVault } = await import("./backup-
|
|
10987
|
+
const { dumpVault } = await import("./backup-AVAGHAJE.js");
|
|
10810
10988
|
return dumpVault(this.backupContext());
|
|
10811
10989
|
}
|
|
10812
10990
|
/**
|
|
@@ -10858,7 +11036,7 @@ var Vault = class {
|
|
|
10858
11036
|
* — there's no chain to verify against.
|
|
10859
11037
|
*/
|
|
10860
11038
|
async load(backupJson) {
|
|
10861
|
-
const { loadVault } = await import("./backup-
|
|
11039
|
+
const { loadVault } = await import("./backup-AVAGHAJE.js");
|
|
10862
11040
|
return loadVault(this.backupContext(), backupJson);
|
|
10863
11041
|
}
|
|
10864
11042
|
/**
|
|
@@ -10890,7 +11068,7 @@ var Vault = class {
|
|
|
10890
11068
|
* way to detect tampering of an in-place vault.
|
|
10891
11069
|
*/
|
|
10892
11070
|
async verifyBackupIntegrity() {
|
|
10893
|
-
const { verifyBackupIntegrity } = await import("./backup-
|
|
11071
|
+
const { verifyBackupIntegrity } = await import("./backup-AVAGHAJE.js");
|
|
10894
11072
|
return verifyBackupIntegrity(this.backupContext());
|
|
10895
11073
|
}
|
|
10896
11074
|
/**
|
|
@@ -11108,7 +11286,7 @@ var Vault = class {
|
|
|
11108
11286
|
* is the live validator object, not a serialization of it).
|
|
11109
11287
|
*/
|
|
11110
11288
|
async exportJSON(opts = {}) {
|
|
11111
|
-
const { exportVaultJSON } = await import("./backup-
|
|
11289
|
+
const { exportVaultJSON } = await import("./backup-AVAGHAJE.js");
|
|
11112
11290
|
return exportVaultJSON(this.backupContext(), opts);
|
|
11113
11291
|
}
|
|
11114
11292
|
};
|
|
@@ -13051,7 +13229,7 @@ var Noydb = class {
|
|
|
13051
13229
|
const v = this.vaultCache.get(e.vault);
|
|
13052
13230
|
if (!v) return;
|
|
13053
13231
|
const existing = e.op === "create" ? null : { ts: e.existingTs ?? null, record: e.existing ?? null };
|
|
13054
|
-
await v._assertTsWritable(existing, e.incoming);
|
|
13232
|
+
await v._assertTsWritable(existing, e.incoming, e.collection);
|
|
13055
13233
|
});
|
|
13056
13234
|
this.subsystemBus.registerGate("beforeDelete", async (e) => {
|
|
13057
13235
|
if (e.internal) return;
|
|
@@ -13059,7 +13237,8 @@ var Noydb = class {
|
|
|
13059
13237
|
if (!v) return;
|
|
13060
13238
|
await v._assertTsWritable(
|
|
13061
13239
|
{ ts: e.existingTs ?? null, record: e.existing ?? null },
|
|
13062
|
-
null
|
|
13240
|
+
null,
|
|
13241
|
+
e.collection
|
|
13063
13242
|
);
|
|
13064
13243
|
});
|
|
13065
13244
|
}
|
|
@@ -13805,7 +13984,14 @@ var Noydb = class {
|
|
|
13805
13984
|
getSyncEngine(vault) {
|
|
13806
13985
|
const engine = this.syncEngines.get(vault);
|
|
13807
13986
|
if (!engine) {
|
|
13808
|
-
|
|
13987
|
+
if (this.syncEngines.size === 0) {
|
|
13988
|
+
throw new ValidationError(
|
|
13989
|
+
"No sync adapter configured. Pass a `sync` adapter to createNoydb() \u2014 a NoydbStore, a SyncTarget (`{ store, role }`), or an array of them \u2014 and `syncStrategy: withSync()` to enable the engine."
|
|
13990
|
+
);
|
|
13991
|
+
}
|
|
13992
|
+
throw new ValidationError(
|
|
13993
|
+
`No sync engine for vault "${String(vault)}". Sync is configured, but for [${[...this.syncEngines.keys()].map((k) => `"${k}"`).join(", ")}] \u2014 an engine is built per vault when it is opened, so open this vault first. Note the vault name is a REQUIRED argument: \`db.pull(vaultName)\`, not \`db.pull()\`.`
|
|
13994
|
+
);
|
|
13809
13995
|
}
|
|
13810
13996
|
return engine;
|
|
13811
13997
|
}
|
|
@@ -14328,7 +14514,7 @@ async function createNoydb(options) {
|
|
|
14328
14514
|
if (!options.store) options = { ...options, store: memoryStore() };
|
|
14329
14515
|
validateSecretModeOptions(options);
|
|
14330
14516
|
if (!options.coordinationStrategy) options = { ...options, coordinationStrategy: await createDefaultCoordinationProvider(options.store) };
|
|
14331
|
-
if (!options.userApiFactory) options = { ...options, userApiFactory: (await import("./api-
|
|
14517
|
+
if (!options.userApiFactory) options = { ...options, userApiFactory: (await import("./api-RXUMEKT3.js")).createUserApi };
|
|
14332
14518
|
if (!options.policyFactory) {
|
|
14333
14519
|
const policyModule = await import("./policy/index.js");
|
|
14334
14520
|
options = { ...options, policyFactory: policyModule.createNoydbPolicy, policyCheckGateFn: policyModule.checkGate };
|
|
@@ -14363,4 +14549,4 @@ export {
|
|
|
14363
14549
|
Noydb,
|
|
14364
14550
|
createNoydb
|
|
14365
14551
|
};
|
|
14366
|
-
//# sourceMappingURL=chunk-
|
|
14552
|
+
//# sourceMappingURL=chunk-N3BI6P3J.js.map
|