@noy-db/hub 0.6.0-pre.17 → 0.6.0-pre.19
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/api-Z5VHH24A.js +20 -0
- package/dist/attestation/index.js +18 -18
- package/dist/{backup-7X3PFTSI.js → backup-K62BFMYK.js} +16 -16
- package/dist/{backup-7X3PFTSI.js.map → backup-K62BFMYK.js.map} +1 -1
- package/dist/blobs/index.js +13 -13
- package/dist/broker/index.js +12 -12
- package/dist/cargo/index.js +32 -32
- package/dist/{chunk-5SK5AFYH.js → chunk-2E2MKBMI.js} +2 -2
- package/dist/{chunk-SDEHNGWW.js → chunk-2IK6AC6A.js} +7 -6
- package/dist/{chunk-SDEHNGWW.js.map → chunk-2IK6AC6A.js.map} +1 -1
- package/dist/{chunk-7TZTQS4H.js → chunk-32O2N2CH.js} +48 -21
- package/dist/chunk-32O2N2CH.js.map +1 -0
- package/dist/{chunk-QKRJUPAC.js → chunk-37P5VB4N.js} +13 -16
- package/dist/chunk-37P5VB4N.js.map +1 -0
- package/dist/{chunk-5UGEGEIJ.js → chunk-3Y4OFWQJ.js} +1 -1
- package/dist/chunk-3Y4OFWQJ.js.map +1 -0
- package/dist/{chunk-7LLKPODL.js → chunk-437FDIHO.js} +3 -3
- package/dist/{chunk-AMKCY454.js → chunk-47ZFULEZ.js} +8 -3
- package/dist/{chunk-AMKCY454.js.map → chunk-47ZFULEZ.js.map} +1 -1
- package/dist/{chunk-4GR422R5.js → chunk-4HVTRHSA.js} +16 -9
- package/dist/chunk-4HVTRHSA.js.map +1 -0
- package/dist/{chunk-VEA35MQP.js → chunk-5BS6IQZZ.js} +11 -14
- package/dist/chunk-5BS6IQZZ.js.map +1 -0
- package/dist/{chunk-QWNYUTI2.js → chunk-5EJQNA26.js} +2 -2
- package/dist/{chunk-C66T4W5P.js → chunk-5J5TTSGW.js} +3 -3
- package/dist/{chunk-JHYISAID.js → chunk-5JT4Y5UE.js} +10 -10
- package/dist/{chunk-VUQZYVYX.js → chunk-6S466CMQ.js} +92 -35
- package/dist/chunk-6S466CMQ.js.map +1 -0
- package/dist/{chunk-IRHOQFA7.js → chunk-7RCZ436O.js} +2 -2
- package/dist/{chunk-42IDLU5V.js → chunk-A3NTKHDB.js} +2 -2
- package/dist/{chunk-3JQVA527.js → chunk-A4K5GLE6.js} +4 -4
- package/dist/{chunk-K2MR7ROB.js → chunk-APV42WPR.js} +2 -2
- package/dist/{chunk-MVG67SMN.js → chunk-AQF7JSQR.js} +2 -2
- package/dist/{chunk-VTTRWLOR.js → chunk-BP4I7IBK.js} +2 -2
- package/dist/{chunk-T7AEAFEE.js → chunk-BTNKPDZM.js} +3 -3
- package/dist/{chunk-PCXAUC65.js → chunk-C7WJNVJG.js} +2 -2
- package/dist/{chunk-UNR6G3EJ.js → chunk-CV7WXCZD.js} +37 -33
- package/dist/chunk-CV7WXCZD.js.map +1 -0
- package/dist/{chunk-67XA44HH.js → chunk-CVYXIN5B.js} +3 -3
- package/dist/{chunk-BKYQNNO3.js → chunk-D5UDZANO.js} +203 -137
- package/dist/chunk-D5UDZANO.js.map +1 -0
- package/dist/{chunk-HVR74IBG.js → chunk-DJ23QZIN.js} +2 -2
- package/dist/{chunk-BMDF4TLU.js → chunk-DKYEVHZH.js} +7 -10
- package/dist/chunk-DKYEVHZH.js.map +1 -0
- package/dist/{chunk-N7HOHWKF.js → chunk-DYASJSKI.js} +8 -11
- package/dist/{chunk-N7HOHWKF.js.map → chunk-DYASJSKI.js.map} +1 -1
- package/dist/{chunk-OAWVM5L6.js → chunk-E6VDPBE3.js} +13 -15
- package/dist/chunk-E6VDPBE3.js.map +1 -0
- package/dist/{chunk-WBHQX6ME.js → chunk-E6WANBD6.js} +14 -15
- package/dist/chunk-E6WANBD6.js.map +1 -0
- package/dist/{chunk-VQQUOEON.js → chunk-EG6AQBYW.js} +10 -10
- package/dist/{chunk-GWI65NDQ.js → chunk-EJIVFOOQ.js} +6 -6
- package/dist/{chunk-YGJZLOSR.js → chunk-GDGTIWB4.js} +2 -2
- package/dist/{chunk-TQ7IRULX.js → chunk-GILI76SU.js} +2 -2
- package/dist/{chunk-4444HN72.js → chunk-GT72D4FO.js} +3 -3
- package/dist/{chunk-OXRPH6AR.js → chunk-GYUCRDAU.js} +15 -12
- package/dist/chunk-GYUCRDAU.js.map +1 -0
- package/dist/{chunk-JV2CNEX2.js → chunk-HGAR7H5M.js} +239 -188
- package/dist/chunk-HGAR7H5M.js.map +1 -0
- package/dist/{chunk-SGEI3IJK.js → chunk-HGJC7I5F.js} +2 -2
- package/dist/{chunk-C52CJDFO.js → chunk-HJRTFXAA.js} +7 -10
- package/dist/chunk-HJRTFXAA.js.map +1 -0
- package/dist/chunk-HK67PX4J.js +27 -0
- package/dist/chunk-HK67PX4J.js.map +1 -0
- package/dist/{chunk-V4M4BZNW.js → chunk-HTHRCGWP.js} +2 -2
- package/dist/{chunk-YVOW35HH.js → chunk-HTMQBBF3.js} +5 -7
- package/dist/chunk-HTMQBBF3.js.map +1 -0
- package/dist/{chunk-QC2HGYFX.js → chunk-HUYNPLTT.js} +4 -4
- package/dist/{chunk-APUP2J5M.js → chunk-I26TE27S.js} +7 -7
- package/dist/{chunk-DEP24EE3.js → chunk-ICCRAPWD.js} +4 -4
- package/dist/{chunk-ES36R3U2.js → chunk-IOURTXTM.js} +52 -65
- package/dist/chunk-IOURTXTM.js.map +1 -0
- package/dist/{chunk-JU3JKOY5.js → chunk-IPDS2TYW.js} +3 -3
- package/dist/{chunk-QJBXB4WU.js → chunk-JHO6FGZX.js} +25 -31
- package/dist/chunk-JHO6FGZX.js.map +1 -0
- package/dist/{chunk-YDJXGYYA.js → chunk-JIF3IBRK.js} +2 -2
- package/dist/{chunk-S6CP5FWF.js → chunk-KBOPY6W2.js} +2 -2
- package/dist/{chunk-RVTOCAHQ.js → chunk-KDX6VEYV.js} +2 -2
- package/dist/chunk-KDX6VEYV.js.map +1 -0
- package/dist/{chunk-H545OIWE.js → chunk-KM6YR5XF.js} +2 -2
- package/dist/{chunk-AFSMT3WI.js → chunk-KUXTWVAR.js} +3 -3
- package/dist/{chunk-466KGOQB.js → chunk-L2XQ776M.js} +2 -2
- package/dist/{chunk-QI2KXQOM.js → chunk-L6FSZFG7.js} +2 -2
- package/dist/{chunk-EEBMKMA7.js → chunk-LAFP5H5U.js} +35 -47
- package/dist/chunk-LAFP5H5U.js.map +1 -0
- package/dist/{chunk-I7JF5TNL.js → chunk-LBDTQM3R.js} +3 -3
- package/dist/{chunk-V3OLO4TK.js → chunk-M4IKEOJS.js} +20 -17
- package/dist/chunk-M4IKEOJS.js.map +1 -0
- package/dist/{chunk-5NKSNW25.js → chunk-MNMYHZVU.js} +2 -2
- package/dist/{chunk-IEA3TZJE.js → chunk-MNUTPZRQ.js} +31 -49
- package/dist/chunk-MNUTPZRQ.js.map +1 -0
- package/dist/{chunk-Z2OFE6IX.js → chunk-MQXYR65M.js} +15 -24
- package/dist/chunk-MQXYR65M.js.map +1 -0
- package/dist/{chunk-5VVBZ6E4.js → chunk-N2HKBESK.js} +4 -4
- package/dist/{chunk-HNOBRU24.js → chunk-N7YAQKAO.js} +2 -2
- package/dist/{chunk-6U7M7AX6.js → chunk-NH2MST6J.js} +2 -2
- package/dist/{chunk-JAHIL6WO.js → chunk-NRNTXBHT.js} +7 -10
- package/dist/chunk-NRNTXBHT.js.map +1 -0
- package/dist/{chunk-URVL4EKU.js → chunk-NYSD43OE.js} +15 -24
- package/dist/chunk-NYSD43OE.js.map +1 -0
- package/dist/{chunk-LUFZPROB.js → chunk-ODVIFBAQ.js} +16 -17
- package/dist/chunk-ODVIFBAQ.js.map +1 -0
- package/dist/{chunk-SJOK23XT.js → chunk-OIIAXFKM.js} +4 -4
- package/dist/chunk-OIIAXFKM.js.map +1 -0
- package/dist/{chunk-FSZPQCDR.js → chunk-OQLYMBJI.js} +3 -3
- package/dist/{chunk-EMFFWSAD.js → chunk-OWGEHDT2.js} +10 -10
- package/dist/chunk-OWGEHDT2.js.map +1 -0
- package/dist/{chunk-I64WQSN3.js → chunk-P7L3OQLL.js} +19 -2
- package/dist/chunk-P7L3OQLL.js.map +1 -0
- package/dist/{chunk-FZ2SSI5R.js → chunk-PG6PFMDC.js} +2 -2
- package/dist/{chunk-2RGQNFJB.js → chunk-PZSS7MUM.js} +11 -9
- package/dist/chunk-PZSS7MUM.js.map +1 -0
- package/dist/{chunk-UKKBKEUI.js → chunk-QPIUFRUC.js} +3 -3
- package/dist/{chunk-RJTGXZT6.js → chunk-REL4OLWW.js} +2 -2
- package/dist/{chunk-N4GAJSRQ.js → chunk-RNSC2ARR.js} +3 -3
- package/dist/{chunk-RWPNRCK2.js → chunk-RORE2GX2.js} +2 -2
- package/dist/{chunk-YH65A6WM.js → chunk-RSFG7XHM.js} +2 -2
- package/dist/{chunk-QLMUW7OC.js → chunk-S55DBWRC.js} +2 -2
- package/dist/{chunk-AKFNLRA2.js → chunk-SA77BQ7F.js} +27 -143
- package/dist/chunk-SA77BQ7F.js.map +1 -0
- package/dist/{chunk-RBTZLXZJ.js → chunk-SFD2LL7G.js} +2 -2
- package/dist/{chunk-XTC5EKST.js → chunk-SG3OQCRG.js} +3 -3
- package/dist/{chunk-JN64WH3U.js → chunk-T7IR4N2S.js} +1 -1
- package/dist/{chunk-JN64WH3U.js.map → chunk-T7IR4N2S.js.map} +1 -1
- package/dist/{chunk-P5ARVLNW.js → chunk-TC6MBEGH.js} +11 -8
- package/dist/chunk-TC6MBEGH.js.map +1 -0
- package/dist/{chunk-D6E5N2O3.js → chunk-TENLCGYD.js} +12 -10
- package/dist/{chunk-D6E5N2O3.js.map → chunk-TENLCGYD.js.map} +1 -1
- package/dist/{chunk-X2FXEEQT.js → chunk-VH2W6BOG.js} +7 -7
- package/dist/{chunk-FHFMWYGM.js → chunk-VHVMJWM6.js} +7 -7
- package/dist/{chunk-FHFMWYGM.js.map → chunk-VHVMJWM6.js.map} +1 -1
- package/dist/{chunk-QTDAPDDV.js → chunk-VJ4B3ZXY.js} +15 -3
- package/dist/chunk-VJ4B3ZXY.js.map +1 -0
- package/dist/{chunk-RDPZMUCX.js → chunk-W6NFONOV.js} +2 -2
- package/dist/{chunk-Z3U2YVNM.js → chunk-WBNXZU42.js} +4 -4
- package/dist/{chunk-7EIPPOEL.js → chunk-WKD5ESK4.js} +2 -2
- package/dist/{chunk-6VAM5THN.js → chunk-YEZW6UJA.js} +15 -15
- package/dist/{chunk-6VAM5THN.js.map → chunk-YEZW6UJA.js.map} +1 -1
- package/dist/chunk-YOT7D63X.js +190 -0
- package/dist/chunk-YOT7D63X.js.map +1 -0
- package/dist/{chunk-6JRIYG2C.js → chunk-YVTADFTC.js} +14 -15
- package/dist/chunk-YVTADFTC.js.map +1 -0
- package/dist/{chunk-C3YP5KKS.js → chunk-ZBDWKPBW.js} +15 -16
- package/dist/chunk-ZBDWKPBW.js.map +1 -0
- package/dist/{chunk-NWPR2V5W.js → chunk-ZPMXYPBR.js} +2 -2
- package/dist/{chunk-RGPB25DB.js → chunk-ZVAFJQZB.js} +25 -19
- package/dist/chunk-ZVAFJQZB.js.map +1 -0
- package/dist/{chunk-TQLYMYOK.js → chunk-ZWKF3CD3.js} +2 -2
- package/dist/classified/index.js +5 -5
- package/dist/{classified-marker-W2PUYC3K.js → classified-marker-PMDG3O36.js} +3 -3
- package/dist/collection-facade-ZJK5EB33.js +45 -0
- package/dist/{computed-5E2OM6EN.js → computed-UHCBRILW.js} +3 -3
- package/dist/consent/index.js +9 -9
- package/dist/cover/index.js +10 -3
- package/dist/custody/index.js +11 -11
- package/dist/{dead-filter-MVFQCLXY.js → dead-filter-777VWDER.js} +2 -2
- package/dist/debug/index.js +1 -1
- package/dist/{delegation-I7XXO5LL.js → delegation-4R5DU23X.js} +23 -24
- package/dist/delegation-4R5DU23X.js.map +1 -0
- package/dist/derivations/index.js +12 -12
- package/dist/derive-3WAS2G5T.js +22 -0
- package/dist/directory/index.js +10 -10
- package/dist/{dispatch-PY5RUHJF.js → dispatch-3EN6YCCS.js} +18 -18
- package/dist/{dispatch-K3MDLCXG.js → dispatch-ASL257KG.js} +5 -5
- package/dist/{enclave-77K7UDLS.js → enclave-ZJS5R5RH.js} +17 -9
- package/dist/executor-GPM6DNWV.js +9 -0
- package/dist/executor-LJSMZ4IB.js +9 -0
- package/dist/executor-SHUVRZUJ.js +29 -0
- package/dist/export-accessible-GNY6DC6U.js +23 -0
- package/dist/extract-partition-BG3AF4NZ.js +38 -0
- package/dist/{fanout-sidecar-JI3MUPQV.js → fanout-sidecar-TFPWDOME.js} +18 -27
- package/dist/fanout-sidecar-TFPWDOME.js.map +1 -0
- package/dist/find-KX6OKHDP.js +11 -0
- package/dist/forget/index.js +9 -9
- package/dist/guards/index.js +4 -4
- package/dist/history/index.js +23 -20
- package/dist/history/index.js.map +1 -1
- package/dist/i18n/index.js +14 -14
- package/dist/index.d.ts +16 -0
- package/dist/index.js +156 -154
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +2 -2
- package/dist/introspection/index.js +11 -11
- package/dist/issue-PAUM7NCX.js +19 -0
- package/dist/kernel/enclave/index.d.ts +6 -5
- package/dist/kernel/enclave/record-aad.d.ts +79 -7
- package/dist/kernel/enclave/record-envelope.d.ts +54 -7
- package/dist/kernel/enclave/record-keys/envelope-body.d.ts +34 -2
- package/dist/kernel/enclave/record-keys/lifecycle.d.ts +22 -5
- package/dist/kernel/enclave/record-keys/record-codec.d.ts +47 -14
- package/dist/kernel/enclave/record-keys/rekey.d.ts +8 -2
- package/dist/kernel/enclave/record-keys/tombstone.d.ts +3 -3
- package/dist/kernel/errors.d.ts +17 -1
- package/dist/kernel/merge-authority.d.ts +25 -0
- package/dist/kernel/tier-visibility.d.ts +15 -0
- package/dist/kernel/types.d.ts +8 -0
- package/dist/kernel/vault.d.ts +1 -1
- package/dist/kernel/via/index.d.ts +11 -2
- package/dist/{ledger-3RDSSMGD.js → ledger-62CEPRPX.js} +11 -11
- package/dist/liberate-7QY7TULB.js +24 -0
- package/dist/{link-set-VJIWWUZO.js → link-set-ZRYNUHN3.js} +11 -11
- package/dist/{managed-secret-XGGJ3BC3.js → managed-secret-T2WB4O47.js} +11 -3
- package/dist/materialized-views/index.js +22 -22
- package/dist/money/index.js +4 -4
- package/dist/noydb-VZIVPDXG.js +84 -0
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +12 -12
- package/dist/pod/index.js +58 -57
- package/dist/{pod-handle-7BVSWP5B.js → pod-handle-UPLXOGIK.js} +11 -11
- package/dist/{pod-handle-7BVSWP5B.js.map → pod-handle-UPLXOGIK.js.map} +1 -1
- package/dist/policy/index.js +11 -4
- package/dist/port/with/merge-authority.d.ts +52 -0
- package/dist/port/with/strategies.d.ts +2 -0
- package/dist/portability/index.js +8 -8
- package/dist/{post-register-W3T4U57K.js → post-register-J4DEVNXK.js} +6 -6
- package/dist/query/index.js +3 -3
- package/dist/reduce/index.js +4 -4
- package/dist/register-UPD4GKBC.js +32 -0
- package/dist/registry-7KX2HWFS.js +18 -0
- package/dist/registry-PKYYEHEW.js +9 -0
- package/dist/registry-XHCYMD34.js +19 -0
- package/dist/registry-XIRTZHPC.js +9 -0
- package/dist/request-withdrawal-XZSESWZV.js +31 -0
- package/dist/{reveal-G7W7N3AZ.js → reveal-525XWQU2.js} +6 -6
- package/dist/revoke-QI7YHQ2B.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/schema-update/index.js +2 -2
- package/dist/sealed-record/index.js +20 -13
- package/dist/sealed-record/index.js.map +1 -1
- package/dist/search/index.js +4 -4
- package/dist/{seed-2FUULTQV.js → seed-2KZDTFS4.js} +19 -22
- package/dist/seed-2KZDTFS4.js.map +1 -0
- package/dist/sequence/index.js +9 -9
- package/dist/session/index.js +9 -9
- package/dist/shadow/index.js +2 -2
- package/dist/signer-BZWDPGGN.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/{stale-42FPALK2.js → stale-PQYPVCER.js} +10 -10
- package/dist/storage-MJHKNQRO.js +23 -0
- package/dist/{store-coordination-provider-Y3VXBHPL.js → store-coordination-provider-TFHZLKHG.js} +18 -12
- package/dist/store-coordination-provider-TFHZLKHG.js.map +1 -0
- package/dist/sync/index.js +11 -11
- package/dist/team/index.js +15 -14
- package/dist/tiers/index.js +11 -10
- package/dist/to/index.js +1 -1
- package/dist/transactions/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/vault-head/index.js +111 -0
- package/dist/vault-head/index.js.map +1 -0
- package/dist/{verify-SHJXGZGM.js → verify-J6DEOXP3.js} +5 -5
- package/dist/walk-BX4NSB5L.js +21 -0
- package/dist/with-audit/periods/periods.d.ts +1 -1
- package/dist/with-audit/periods/strategy.d.ts +1 -1
- package/dist/with-audit/sealed-record/index.d.ts +13 -0
- package/dist/with-audit/tiers/index.d.ts +17 -2
- package/dist/with-commit/history/history.d.ts +26 -0
- package/dist/with-commit/history/index.d.ts +2 -1
- package/dist/with-commit/history/ledger/store.d.ts +7 -1
- package/dist/with-commit/history/strategy.d.ts +11 -1
- package/dist/with-commit/vault-head/active.d.ts +2 -0
- package/dist/with-commit/vault-head/head.d.ts +28 -0
- package/dist/with-commit/vault-head/index.d.ts +10 -0
- package/dist/with-commit/vault-head/strategy.d.ts +127 -0
- package/dist/with-commit/vault-head/verify.d.ts +50 -0
- package/dist/with-party/directory/cover/storage.d.ts +0 -8
- package/dist/with-party/directory/storage.d.ts +0 -11
- package/dist/with-party/directory/visibility.d.ts +0 -21
- package/dist/with-party/policy/storage.d.ts +0 -10
- package/dist/with-party/team/tiers.d.ts +2 -1
- package/dist/with-sync/engine.d.ts +33 -5
- package/dist/with-sync/strategy.d.ts +3 -0
- package/dist/withdraw-accessible-K4CPMH4C.js +28 -0
- package/package.json +7 -3
- package/dist/api-AEIN3KAQ.js +0 -20
- package/dist/chunk-2RGQNFJB.js.map +0 -1
- package/dist/chunk-4GR422R5.js.map +0 -1
- package/dist/chunk-5UGEGEIJ.js.map +0 -1
- package/dist/chunk-6JRIYG2C.js.map +0 -1
- package/dist/chunk-7TZTQS4H.js.map +0 -1
- package/dist/chunk-AFHQATY4.js +0 -47
- package/dist/chunk-AFHQATY4.js.map +0 -1
- package/dist/chunk-AKFNLRA2.js.map +0 -1
- package/dist/chunk-BKYQNNO3.js.map +0 -1
- package/dist/chunk-BMDF4TLU.js.map +0 -1
- package/dist/chunk-C3YP5KKS.js.map +0 -1
- package/dist/chunk-C52CJDFO.js.map +0 -1
- package/dist/chunk-EEBMKMA7.js.map +0 -1
- package/dist/chunk-EMFFWSAD.js.map +0 -1
- package/dist/chunk-ES36R3U2.js.map +0 -1
- package/dist/chunk-I64WQSN3.js.map +0 -1
- package/dist/chunk-IEA3TZJE.js.map +0 -1
- package/dist/chunk-JAHIL6WO.js.map +0 -1
- package/dist/chunk-JV2CNEX2.js.map +0 -1
- package/dist/chunk-LUFZPROB.js.map +0 -1
- package/dist/chunk-OAWVM5L6.js.map +0 -1
- package/dist/chunk-OXRPH6AR.js.map +0 -1
- package/dist/chunk-P5ARVLNW.js.map +0 -1
- package/dist/chunk-QJBXB4WU.js.map +0 -1
- package/dist/chunk-QKRJUPAC.js.map +0 -1
- package/dist/chunk-QTDAPDDV.js.map +0 -1
- package/dist/chunk-RGPB25DB.js.map +0 -1
- package/dist/chunk-RVTOCAHQ.js.map +0 -1
- package/dist/chunk-SJOK23XT.js.map +0 -1
- package/dist/chunk-UNR6G3EJ.js.map +0 -1
- package/dist/chunk-URVL4EKU.js.map +0 -1
- package/dist/chunk-V3OLO4TK.js.map +0 -1
- package/dist/chunk-VEA35MQP.js.map +0 -1
- package/dist/chunk-VUQZYVYX.js.map +0 -1
- package/dist/chunk-WBHQX6ME.js.map +0 -1
- package/dist/chunk-YVOW35HH.js.map +0 -1
- package/dist/chunk-Z2OFE6IX.js.map +0 -1
- package/dist/collection-facade-CRXN72DU.js +0 -45
- package/dist/delegation-I7XXO5LL.js.map +0 -1
- package/dist/derive-NL7X2EFT.js +0 -22
- package/dist/executor-FNGVGDW3.js +0 -29
- package/dist/executor-PCZN2LTY.js +0 -9
- package/dist/executor-WFTHIDT7.js +0 -9
- package/dist/export-accessible-QWUYY2OY.js +0 -23
- package/dist/extract-partition-CGCURVS4.js +0 -38
- package/dist/fanout-sidecar-JI3MUPQV.js.map +0 -1
- package/dist/find-VBNMB42N.js +0 -11
- package/dist/issue-7IPUNAFA.js +0 -19
- package/dist/liberate-2DNJ7AJ7.js +0 -24
- package/dist/noydb-CLQP36JR.js +0 -83
- package/dist/register-YUVC4G27.js +0 -32
- package/dist/registry-BPKJX562.js +0 -19
- package/dist/registry-E4FM32KD.js +0 -9
- package/dist/registry-HACMULJJ.js +0 -9
- package/dist/registry-HRFRBFDV.js +0 -18
- package/dist/request-withdrawal-CXTQLMJK.js +0 -31
- package/dist/revoke-ZX3TZUI6.js +0 -24
- package/dist/seed-2FUULTQV.js.map +0 -1
- package/dist/signer-FPUIX63Z.js +0 -25
- package/dist/storage-6QODT6K5.js +0 -23
- package/dist/store-coordination-provider-Y3VXBHPL.js.map +0 -1
- package/dist/walk-5PGJI3ND.js +0 -21
- package/dist/withdraw-accessible-PFCQQGNP.js +0 -28
- /package/dist/{api-AEIN3KAQ.js.map → api-Z5VHH24A.js.map} +0 -0
- /package/dist/{chunk-5SK5AFYH.js.map → chunk-2E2MKBMI.js.map} +0 -0
- /package/dist/{chunk-7LLKPODL.js.map → chunk-437FDIHO.js.map} +0 -0
- /package/dist/{chunk-QWNYUTI2.js.map → chunk-5EJQNA26.js.map} +0 -0
- /package/dist/{chunk-C66T4W5P.js.map → chunk-5J5TTSGW.js.map} +0 -0
- /package/dist/{chunk-JHYISAID.js.map → chunk-5JT4Y5UE.js.map} +0 -0
- /package/dist/{chunk-IRHOQFA7.js.map → chunk-7RCZ436O.js.map} +0 -0
- /package/dist/{chunk-42IDLU5V.js.map → chunk-A3NTKHDB.js.map} +0 -0
- /package/dist/{chunk-3JQVA527.js.map → chunk-A4K5GLE6.js.map} +0 -0
- /package/dist/{chunk-K2MR7ROB.js.map → chunk-APV42WPR.js.map} +0 -0
- /package/dist/{chunk-MVG67SMN.js.map → chunk-AQF7JSQR.js.map} +0 -0
- /package/dist/{chunk-VTTRWLOR.js.map → chunk-BP4I7IBK.js.map} +0 -0
- /package/dist/{chunk-T7AEAFEE.js.map → chunk-BTNKPDZM.js.map} +0 -0
- /package/dist/{chunk-PCXAUC65.js.map → chunk-C7WJNVJG.js.map} +0 -0
- /package/dist/{chunk-67XA44HH.js.map → chunk-CVYXIN5B.js.map} +0 -0
- /package/dist/{chunk-HVR74IBG.js.map → chunk-DJ23QZIN.js.map} +0 -0
- /package/dist/{chunk-VQQUOEON.js.map → chunk-EG6AQBYW.js.map} +0 -0
- /package/dist/{chunk-GWI65NDQ.js.map → chunk-EJIVFOOQ.js.map} +0 -0
- /package/dist/{chunk-YGJZLOSR.js.map → chunk-GDGTIWB4.js.map} +0 -0
- /package/dist/{chunk-TQ7IRULX.js.map → chunk-GILI76SU.js.map} +0 -0
- /package/dist/{chunk-4444HN72.js.map → chunk-GT72D4FO.js.map} +0 -0
- /package/dist/{chunk-SGEI3IJK.js.map → chunk-HGJC7I5F.js.map} +0 -0
- /package/dist/{chunk-V4M4BZNW.js.map → chunk-HTHRCGWP.js.map} +0 -0
- /package/dist/{chunk-QC2HGYFX.js.map → chunk-HUYNPLTT.js.map} +0 -0
- /package/dist/{chunk-APUP2J5M.js.map → chunk-I26TE27S.js.map} +0 -0
- /package/dist/{chunk-DEP24EE3.js.map → chunk-ICCRAPWD.js.map} +0 -0
- /package/dist/{chunk-JU3JKOY5.js.map → chunk-IPDS2TYW.js.map} +0 -0
- /package/dist/{chunk-YDJXGYYA.js.map → chunk-JIF3IBRK.js.map} +0 -0
- /package/dist/{chunk-S6CP5FWF.js.map → chunk-KBOPY6W2.js.map} +0 -0
- /package/dist/{chunk-H545OIWE.js.map → chunk-KM6YR5XF.js.map} +0 -0
- /package/dist/{chunk-AFSMT3WI.js.map → chunk-KUXTWVAR.js.map} +0 -0
- /package/dist/{chunk-466KGOQB.js.map → chunk-L2XQ776M.js.map} +0 -0
- /package/dist/{chunk-QI2KXQOM.js.map → chunk-L6FSZFG7.js.map} +0 -0
- /package/dist/{chunk-I7JF5TNL.js.map → chunk-LBDTQM3R.js.map} +0 -0
- /package/dist/{chunk-5NKSNW25.js.map → chunk-MNMYHZVU.js.map} +0 -0
- /package/dist/{chunk-5VVBZ6E4.js.map → chunk-N2HKBESK.js.map} +0 -0
- /package/dist/{chunk-HNOBRU24.js.map → chunk-N7YAQKAO.js.map} +0 -0
- /package/dist/{chunk-6U7M7AX6.js.map → chunk-NH2MST6J.js.map} +0 -0
- /package/dist/{chunk-FSZPQCDR.js.map → chunk-OQLYMBJI.js.map} +0 -0
- /package/dist/{chunk-FZ2SSI5R.js.map → chunk-PG6PFMDC.js.map} +0 -0
- /package/dist/{chunk-UKKBKEUI.js.map → chunk-QPIUFRUC.js.map} +0 -0
- /package/dist/{chunk-RJTGXZT6.js.map → chunk-REL4OLWW.js.map} +0 -0
- /package/dist/{chunk-N4GAJSRQ.js.map → chunk-RNSC2ARR.js.map} +0 -0
- /package/dist/{chunk-RWPNRCK2.js.map → chunk-RORE2GX2.js.map} +0 -0
- /package/dist/{chunk-YH65A6WM.js.map → chunk-RSFG7XHM.js.map} +0 -0
- /package/dist/{chunk-QLMUW7OC.js.map → chunk-S55DBWRC.js.map} +0 -0
- /package/dist/{chunk-RBTZLXZJ.js.map → chunk-SFD2LL7G.js.map} +0 -0
- /package/dist/{chunk-XTC5EKST.js.map → chunk-SG3OQCRG.js.map} +0 -0
- /package/dist/{chunk-X2FXEEQT.js.map → chunk-VH2W6BOG.js.map} +0 -0
- /package/dist/{chunk-RDPZMUCX.js.map → chunk-W6NFONOV.js.map} +0 -0
- /package/dist/{chunk-Z3U2YVNM.js.map → chunk-WBNXZU42.js.map} +0 -0
- /package/dist/{chunk-7EIPPOEL.js.map → chunk-WKD5ESK4.js.map} +0 -0
- /package/dist/{chunk-NWPR2V5W.js.map → chunk-ZPMXYPBR.js.map} +0 -0
- /package/dist/{chunk-TQLYMYOK.js.map → chunk-ZWKF3CD3.js.map} +0 -0
- /package/dist/{classified-marker-W2PUYC3K.js.map → classified-marker-PMDG3O36.js.map} +0 -0
- /package/dist/{collection-facade-CRXN72DU.js.map → collection-facade-ZJK5EB33.js.map} +0 -0
- /package/dist/{computed-5E2OM6EN.js.map → computed-UHCBRILW.js.map} +0 -0
- /package/dist/{dead-filter-MVFQCLXY.js.map → dead-filter-777VWDER.js.map} +0 -0
- /package/dist/{derive-NL7X2EFT.js.map → derive-3WAS2G5T.js.map} +0 -0
- /package/dist/{dispatch-PY5RUHJF.js.map → dispatch-3EN6YCCS.js.map} +0 -0
- /package/dist/{dispatch-K3MDLCXG.js.map → dispatch-ASL257KG.js.map} +0 -0
- /package/dist/{enclave-77K7UDLS.js.map → enclave-ZJS5R5RH.js.map} +0 -0
- /package/dist/{executor-FNGVGDW3.js.map → executor-GPM6DNWV.js.map} +0 -0
- /package/dist/{executor-PCZN2LTY.js.map → executor-LJSMZ4IB.js.map} +0 -0
- /package/dist/{executor-WFTHIDT7.js.map → executor-SHUVRZUJ.js.map} +0 -0
- /package/dist/{export-accessible-QWUYY2OY.js.map → export-accessible-GNY6DC6U.js.map} +0 -0
- /package/dist/{extract-partition-CGCURVS4.js.map → extract-partition-BG3AF4NZ.js.map} +0 -0
- /package/dist/{find-VBNMB42N.js.map → find-KX6OKHDP.js.map} +0 -0
- /package/dist/{issue-7IPUNAFA.js.map → issue-PAUM7NCX.js.map} +0 -0
- /package/dist/{ledger-3RDSSMGD.js.map → ledger-62CEPRPX.js.map} +0 -0
- /package/dist/{liberate-2DNJ7AJ7.js.map → liberate-7QY7TULB.js.map} +0 -0
- /package/dist/{link-set-VJIWWUZO.js.map → link-set-ZRYNUHN3.js.map} +0 -0
- /package/dist/{managed-secret-XGGJ3BC3.js.map → managed-secret-T2WB4O47.js.map} +0 -0
- /package/dist/{noydb-CLQP36JR.js.map → noydb-VZIVPDXG.js.map} +0 -0
- /package/dist/{post-register-W3T4U57K.js.map → post-register-J4DEVNXK.js.map} +0 -0
- /package/dist/{register-YUVC4G27.js.map → register-UPD4GKBC.js.map} +0 -0
- /package/dist/{registry-BPKJX562.js.map → registry-7KX2HWFS.js.map} +0 -0
- /package/dist/{registry-E4FM32KD.js.map → registry-PKYYEHEW.js.map} +0 -0
- /package/dist/{registry-HACMULJJ.js.map → registry-XHCYMD34.js.map} +0 -0
- /package/dist/{registry-HRFRBFDV.js.map → registry-XIRTZHPC.js.map} +0 -0
- /package/dist/{request-withdrawal-CXTQLMJK.js.map → request-withdrawal-XZSESWZV.js.map} +0 -0
- /package/dist/{reveal-G7W7N3AZ.js.map → reveal-525XWQU2.js.map} +0 -0
- /package/dist/{revoke-ZX3TZUI6.js.map → revoke-QI7YHQ2B.js.map} +0 -0
- /package/dist/{signer-FPUIX63Z.js.map → signer-BZWDPGGN.js.map} +0 -0
- /package/dist/{stale-42FPALK2.js.map → stale-PQYPVCER.js.map} +0 -0
- /package/dist/{storage-6QODT6K5.js.map → storage-MJHKNQRO.js.map} +0 -0
- /package/dist/{verify-SHJXGZGM.js.map → verify-J6DEOXP3.js.map} +0 -0
- /package/dist/{walk-5PGJI3ND.js.map → walk-BX4NSB5L.js.map} +0 -0
- /package/dist/{withdraw-accessible-PFCQQGNP.js.map → withdraw-accessible-K4CPMH4C.js.map} +0 -0
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* per-function doc for its oracle call site) — this file introduces no new
|
|
14
14
|
* crypto or semantics, only a narrower door onto what already runs.
|
|
15
15
|
*/
|
|
16
|
+
import { type RecordIdentity, type RecordRef } from '../record-aad.js';
|
|
16
17
|
import { type EnclaveKey } from '../crypto.js';
|
|
17
18
|
import type { EncryptedEnvelope } from '../../types.js';
|
|
18
19
|
/**
|
|
@@ -27,7 +28,7 @@ import type { EncryptedEnvelope } from '../../types.js';
|
|
|
27
28
|
* (the collection DEK), decrypt the body under the unwrapped CEK.
|
|
28
29
|
* - `env._cek` absent → legacy path, decrypt the body directly under `key`.
|
|
29
30
|
*/
|
|
30
|
-
export declare function openEnvelopeJson(env: EncryptedEnvelope, key: EnclaveKey, opts?: {
|
|
31
|
+
export declare function openEnvelopeJson(ref: RecordRef, env: EncryptedEnvelope, key: EnclaveKey, opts?: {
|
|
31
32
|
encrypted?: boolean;
|
|
32
33
|
}): Promise<string>;
|
|
33
34
|
/**
|
|
@@ -43,7 +44,7 @@ export declare function openEnvelopeJson(env: EncryptedEnvelope, key: EnclaveKey
|
|
|
43
44
|
* generated here rather than supplied by the caller).
|
|
44
45
|
* - otherwise → legacy path, body encrypted directly under `key`.
|
|
45
46
|
*/
|
|
46
|
-
export declare function writeEnvelopeBody(json: string, key: EnclaveKey, opts?: {
|
|
47
|
+
export declare function writeEnvelopeBody(identity: RecordIdentity, json: string, key: EnclaveKey, opts?: {
|
|
47
48
|
encrypted?: boolean;
|
|
48
49
|
perRecordKey?: boolean;
|
|
49
50
|
}): Promise<Pick<EncryptedEnvelope, '_iv' | '_data' | '_cek'>>;
|
|
@@ -85,3 +86,34 @@ export declare function hasPerRecordKey(env: EncryptedEnvelope): boolean;
|
|
|
85
86
|
* `envelope-body.test.ts`).
|
|
86
87
|
*/
|
|
87
88
|
export declare function envelopeBodyForHash(env: EncryptedEnvelope): string;
|
|
89
|
+
/**
|
|
90
|
+
* Does `env` carry an AEAD-sealed body at all?
|
|
91
|
+
*
|
|
92
|
+
* The one question callers outside the enclave legitimately need to ask about
|
|
93
|
+
* `_iv` — a tombstone and a plaintext-collection record have none, so there is
|
|
94
|
+
* nothing to authenticate and nothing to re-seal. Both {@link
|
|
95
|
+
* verifyRecordIdentity} (which treats them as vacuously authentic) and the
|
|
96
|
+
* merge authority's `advance` (which stamps them without re-sealing) turn on
|
|
97
|
+
* it, and asking it here keeps `_iv` from leaking back out to the callers —
|
|
98
|
+
* which `enclave-body-only` refused, correctly, when `advance` tested it inline.
|
|
99
|
+
*/
|
|
100
|
+
export declare function hasSealedBody(env: Pick<EncryptedEnvelope, '_iv'>): boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Does `env` authenticate at the identity `ref` claims, under `key`? (#1042)
|
|
103
|
+
*
|
|
104
|
+
* The merge's fail-closed check, living here because it is envelope surgery:
|
|
105
|
+
* deciding "is there a sealed body at all" reads `_iv`, which
|
|
106
|
+
* `enclave-body-only` reserves to this folder. An earlier draft did that test
|
|
107
|
+
* in `kernel/noydb.ts` and the guard refused it — correctly, since a caller
|
|
108
|
+
* outside the enclave inspecting protected fields is how envelope knowledge
|
|
109
|
+
* leaks back out.
|
|
110
|
+
*
|
|
111
|
+
* Returns a boolean rather than throwing: `applyRemote` must be able to reject
|
|
112
|
+
* one poisoned record without halting an entire sync, and a hostile store
|
|
113
|
+
* would very much like the opposite.
|
|
114
|
+
*
|
|
115
|
+
* **A record with no sealed body is vacuously authentic** — a tombstone carries
|
|
116
|
+
* none, and a plaintext collection has no AEAD to verify. Those are pass-through
|
|
117
|
+
* by construction, not by omission.
|
|
118
|
+
*/
|
|
119
|
+
export declare function verifyRecordIdentity(ref: RecordRef, env: EncryptedEnvelope, key: EnclaveKey): Promise<boolean>;
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import { type EnclaveKey } from '../crypto.js';
|
|
23
23
|
import type { EncryptedEnvelope } from '../../types.js';
|
|
24
|
+
import { type RecordIdentity } from '../record-aad.js';
|
|
24
25
|
import type { Lru } from '../../cache/index.js';
|
|
25
26
|
/** Dependencies {@link resolveStableCek} needs from its collection. */
|
|
26
27
|
export interface StableCekDeps {
|
|
@@ -46,15 +47,31 @@ export interface RewrappedBody {
|
|
|
46
47
|
readonly cek: EnclaveKey | null;
|
|
47
48
|
}
|
|
48
49
|
/**
|
|
49
|
-
* Move a record body from `fromDek` to `toDek`.
|
|
50
|
+
* Move a record body from `fromDek`/`from` to `toDek`/`to`.
|
|
50
51
|
*
|
|
51
52
|
* - Per-record-key record (`_cek` present): unwrap the CEK under `fromDek`,
|
|
52
53
|
* re-encrypt the body under the SAME CEK, re-wrap the CEK under `toDek`. The
|
|
53
54
|
* body key is unchanged → history-chain identity preserved.
|
|
54
55
|
* - Legacy record (no `_cek`): decrypt under `fromDek`, re-encrypt under `toDek`
|
|
55
|
-
* directly
|
|
56
|
+
* directly.
|
|
57
|
+
*
|
|
58
|
+
* ## Why it takes TWO identities (#1041)
|
|
59
|
+
*
|
|
60
|
+
* A rewrap is the one operation where the identity genuinely **changes**. A
|
|
61
|
+
* tier move rewrites `_tier`; a history snapshot lands at a different
|
|
62
|
+
* `(collection, id)` entirely. Since AAD binds both, the body must be opened
|
|
63
|
+
* under the identity it currently has and re-sealed under the one it is moving
|
|
64
|
+
* to. A single identity would be wrong for one end or the other.
|
|
65
|
+
*
|
|
66
|
+
* ⚠️ **This retires an optimisation, deliberately.** Callers used to compute
|
|
67
|
+
* ONE rewrap and reuse the bytes for both a tier move's live write and its
|
|
68
|
+
* `_history` snapshot (#728). Those now have different destination identities,
|
|
69
|
+
* so they need different AAD and therefore different ciphertext — the same
|
|
70
|
+
* bytes cannot satisfy both. Reusing one rewrap for two destinations is now a
|
|
71
|
+
* silent corruption, not a saving: it produces a record that opens at one
|
|
72
|
+
* address and not the other.
|
|
56
73
|
*/
|
|
57
|
-
export declare function rewrapBodyToDek(envelope: Pick<EncryptedEnvelope, '_iv' | '_data' | '_cek'>, fromDek: EnclaveKey, toDek: EnclaveKey): Promise<RewrappedBody>;
|
|
74
|
+
export declare function rewrapBodyToDek(from: RecordIdentity, to: RecordIdentity, envelope: Pick<EncryptedEnvelope, '_iv' | '_data' | '_cek' | '_tier' | '_by'>, fromDek: EnclaveKey, toDek: EnclaveKey): Promise<RewrappedBody>;
|
|
58
75
|
/**
|
|
59
76
|
* Merge an ALREADY-rewrapped {@link RewrappedBody} into `envelope`, keeping
|
|
60
77
|
* every field but the re-keyed body (`_iv`/`_data`/`_cek`) unchanged.
|
|
@@ -76,7 +93,7 @@ export declare function applyRewrappedBody(envelope: EncryptedEnvelope, body: Re
|
|
|
76
93
|
* envelope, generalized to any envelope shape (history callers don't bump
|
|
77
94
|
* `_v`/`_ts`/`_tier` the way a tier move does).
|
|
78
95
|
*/
|
|
79
|
-
export declare function rewrapEnvelope(envelope: EncryptedEnvelope, fromDek: EnclaveKey, toDek: EnclaveKey): Promise<EncryptedEnvelope>;
|
|
96
|
+
export declare function rewrapEnvelope(identity: RecordIdentity, envelope: EncryptedEnvelope, fromDek: EnclaveKey, toDek: EnclaveKey): Promise<EncryptedEnvelope>;
|
|
80
97
|
/**
|
|
81
98
|
* Is `envelope` ALREADY wrapped under `dek` (a per-record CEK wrapped under
|
|
82
99
|
* `dek`, or — legacy, no `_cek` — the body itself decryptable under `dek`)?
|
|
@@ -104,4 +121,4 @@ export declare function rewrapEnvelope(envelope: EncryptedEnvelope, fromDek: Enc
|
|
|
104
121
|
* those fields themselves, preserving the check-architecture body-access
|
|
105
122
|
* ratchet.
|
|
106
123
|
*/
|
|
107
|
-
export declare function isRewrappedUnder(envelope: Pick<EncryptedEnvelope, '_iv' | '_data' | '_cek'>, dek: EnclaveKey): Promise<boolean>;
|
|
124
|
+
export declare function isRewrappedUnder(identity: RecordIdentity, envelope: Pick<EncryptedEnvelope, '_iv' | '_data' | '_cek'>, dek: EnclaveKey): Promise<boolean>;
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import { type EnclaveKey } from '../crypto.js';
|
|
20
20
|
import { type EncryptedEnvelope, type CrdtMode, type CrdtStrategy, type VdigFieldPolicy, type SealedHandle } from '../../types.js';
|
|
21
|
+
import { type RecordIdentity, type RecordRef } from '../record-aad.js';
|
|
21
22
|
import { type StandardSchemaV1 } from '../../schema.js';
|
|
22
23
|
import type { Lru } from '../../cache/index.js';
|
|
23
24
|
import type { ViaCryptoCtx } from '../../via/index.js';
|
|
@@ -127,11 +128,9 @@ export declare class RecordCodec<T> {
|
|
|
127
128
|
* parts. Pure, no crypto. Each call stamps its own `_ts` — provenance carries
|
|
128
129
|
* a SEPARATE timestamp (computed by the caller), so the two never share one.
|
|
129
130
|
*/
|
|
130
|
-
static buildEnvelope(p: {
|
|
131
|
-
version: number;
|
|
131
|
+
static buildEnvelope(identity: RecordIdentity, p: {
|
|
132
132
|
iv: string;
|
|
133
133
|
data: string;
|
|
134
|
-
by?: string;
|
|
135
134
|
cek?: string;
|
|
136
135
|
provenance?: {
|
|
137
136
|
source: string;
|
|
@@ -140,10 +139,8 @@ export declare class RecordCodec<T> {
|
|
|
140
139
|
extra?: Partial<Pick<EncryptedEnvelope, '_tier' | '_det' | '_sealed'>>;
|
|
141
140
|
}): EncryptedEnvelope;
|
|
142
141
|
/** Plaintext (`_iv:''`) body envelope — the `!storeCiphertext` shape. */
|
|
143
|
-
static buildPlaintextEnvelope(p: {
|
|
144
|
-
version: number;
|
|
142
|
+
static buildPlaintextEnvelope(identity: RecordIdentity, p: {
|
|
145
143
|
data: string;
|
|
146
|
-
by?: string;
|
|
147
144
|
provenance?: {
|
|
148
145
|
source: string;
|
|
149
146
|
sourceTs: string;
|
|
@@ -157,7 +154,7 @@ export declare class RecordCodec<T> {
|
|
|
157
154
|
* (see {@link encryptRecord}). Rejects `_`-prefixed record fields, which
|
|
158
155
|
* would collide with the reserved metadata namespace.
|
|
159
156
|
*/
|
|
160
|
-
buildDebugEnvelope(record: T, version: number, source?: string, sourceTs?: string): EncryptedEnvelope;
|
|
157
|
+
buildDebugEnvelope(id: string, record: T, version: number, source?: string, sourceTs?: string): EncryptedEnvelope;
|
|
161
158
|
/**
|
|
162
159
|
* Encrypt a JSON body into an envelope.
|
|
163
160
|
*
|
|
@@ -167,11 +164,41 @@ export declare class RecordCodec<T> {
|
|
|
167
164
|
* path encrypts the body directly under the collection DEK — byte-identical
|
|
168
165
|
* to pre-CEK behaviour, so non-adopting collections pay nothing.
|
|
169
166
|
*/
|
|
170
|
-
|
|
171
|
-
|
|
167
|
+
/**
|
|
168
|
+
* `ref` is the identity the envelope is sealed against, and it is **the
|
|
169
|
+
* location the bytes are stored at** — not necessarily this codec's own
|
|
170
|
+
* collection (#1051).
|
|
171
|
+
*
|
|
172
|
+
* That distinction was discovered here rather than assumed. Several callers
|
|
173
|
+
* put the result somewhere else entirely: search's vector sidecar lands in
|
|
174
|
+
* `_vec` under `encodeVecId(name, id)`, the lexical index under `_ft/<name>`,
|
|
175
|
+
* indexing's entries under a synthetic `idxId`. A codec that supplied
|
|
176
|
+
* `this.ctx.name` for those would seal them against a collection they are not
|
|
177
|
+
* in, and once AAD binds identity every one of them would fail to verify.
|
|
178
|
+
*
|
|
179
|
+
* ⚠️ **`_history` is the open case, and it is #1041's to settle.** Snapshots
|
|
180
|
+
* are produced with the LIVE record's identity here and then re-homed by
|
|
181
|
+
* `saveHistory` into `_history/<historyId(collection,id,_v)>`. Both readings
|
|
182
|
+
* are defensible — bind where it lives, or bind what it is a copy of — and
|
|
183
|
+
* the choice must be made before AAD is switched on, not inferred from this
|
|
184
|
+
* migration.
|
|
185
|
+
*/
|
|
186
|
+
encryptJsonString(ref: RecordRef, json: string, version: number, cek?: EnclaveKey, source?: string, sourceTs?: string): Promise<EncryptedEnvelope>;
|
|
187
|
+
/**
|
|
188
|
+
* `ref` is FIRST and required (#1051). It was previously a trailing optional
|
|
189
|
+
* `id?: string`, which TypeScript cannot promote to required because it sits
|
|
190
|
+
* after other optionals — so the migration would have needed an `id ?? ''`
|
|
191
|
+
* fallback. That is exactly the silent default this issue exists to remove:
|
|
192
|
+
* once identity is bound into the AEAD, every record written with an empty id
|
|
193
|
+
* binds to the SAME identity and becomes interchangeable with the others.
|
|
194
|
+
* An object, not a bare string, so a swap with `version`/`source` cannot
|
|
195
|
+
* compile on the hottest write path. Carries the collection too — see
|
|
196
|
+
* {@link encryptJsonString} for why the codec must not assume its own.
|
|
197
|
+
*/
|
|
198
|
+
encryptRecord(ref: RecordRef, record: T, version: number, cek?: EnclaveKey, source?: string, sourceTs?: string, vdig?: {
|
|
172
199
|
readonly id: string;
|
|
173
200
|
readonly prev: EncryptedEnvelope | null;
|
|
174
|
-
}
|
|
201
|
+
}): Promise<EncryptedEnvelope>;
|
|
175
202
|
/**
|
|
176
203
|
* Resolve the per-record CEK for a stored envelope, or `undefined` for a
|
|
177
204
|
* legacy (`_cek`-absent) envelope. Unwraps `_cek` under the collection DEK and
|
|
@@ -195,7 +222,14 @@ export declare class RecordCodec<T> {
|
|
|
195
222
|
* The optional `id` lets reads populate the CEK cache; it is omitted by
|
|
196
223
|
* callers (history, conflict merge) that have only the envelope.
|
|
197
224
|
*/
|
|
198
|
-
|
|
225
|
+
/**
|
|
226
|
+
* `ref` must be the SAME identity the writer sealed against — which is the
|
|
227
|
+
* storage address, not necessarily this codec's own collection. Search's
|
|
228
|
+
* vector sidecar lives in `_vec`, its lexical index in `_ft`; passing
|
|
229
|
+
* `this.ctx.name` for those would recompute the wrong AAD and fail to open a
|
|
230
|
+
* perfectly good record (#1041).
|
|
231
|
+
*/
|
|
232
|
+
decryptJsonString(ref: RecordRef, envelope: EncryptedEnvelope): Promise<string | null>;
|
|
199
233
|
/**
|
|
200
234
|
* Unseal a single `_sealed[field]` slot to its plaintext value: derive the
|
|
201
235
|
* per-field key off the collection DEK, AES-GCM-decrypt the `iv:data` blob,
|
|
@@ -304,7 +338,7 @@ export declare class RecordCodec<T> {
|
|
|
304
338
|
* output-recompute path, not the public per-record read surface schema
|
|
305
339
|
* validation guards.
|
|
306
340
|
*/
|
|
307
|
-
decryptRecordAtDek(envelope: EncryptedEnvelope, dek: EnclaveKey
|
|
341
|
+
decryptRecordAtDek(ref: RecordRef, envelope: EncryptedEnvelope, dek: EnclaveKey): Promise<T | null>;
|
|
308
342
|
/**
|
|
309
343
|
* Decrypt an envelope into a record of type `T`.
|
|
310
344
|
*
|
|
@@ -320,9 +354,8 @@ export declare class RecordCodec<T> {
|
|
|
320
354
|
* that may predate a schema change, so validating it would be a
|
|
321
355
|
* false positive. Every non-history read leaves this flag `false`.
|
|
322
356
|
*/
|
|
323
|
-
decryptRecord(envelope: EncryptedEnvelope, opts?: {
|
|
357
|
+
decryptRecord(ref: RecordRef, envelope: EncryptedEnvelope, opts?: {
|
|
324
358
|
skipValidation?: boolean;
|
|
325
|
-
id?: string;
|
|
326
359
|
sealedAsHandles?: boolean;
|
|
327
360
|
}): Promise<T | null>;
|
|
328
361
|
}
|
|
@@ -39,7 +39,10 @@ import type { EncryptedEnvelope } from '../../types.js';
|
|
|
39
39
|
* `envelope` is still under `oldDek`. A resumable rotation must know which side
|
|
40
40
|
* of the migration each record is on before calling.
|
|
41
41
|
*/
|
|
42
|
-
export declare function rekeyEnvelopeToDek(
|
|
42
|
+
export declare function rekeyEnvelopeToDek(ref: {
|
|
43
|
+
readonly collection: string;
|
|
44
|
+
readonly id: string;
|
|
45
|
+
}, envelope: EncryptedEnvelope, oldDek: EnclaveKey, newDek: EnclaveKey): Promise<EncryptedEnvelope>;
|
|
43
46
|
/**
|
|
44
47
|
* Resumable variant: returns the re-keyed envelope, or `null` when `envelope`
|
|
45
48
|
* is **already** under `newDek` and needs no work (#1074 part 2).
|
|
@@ -59,4 +62,7 @@ export declare function rekeyEnvelopeToDek(envelope: EncryptedEnvelope, oldDek:
|
|
|
59
62
|
* unreadable records would convert a loud failure into permanent silent loss,
|
|
60
63
|
* which is the defect this whole issue is about.
|
|
61
64
|
*/
|
|
62
|
-
export declare function rekeyEnvelopeIfNeeded(
|
|
65
|
+
export declare function rekeyEnvelopeIfNeeded(ref: {
|
|
66
|
+
readonly collection: string;
|
|
67
|
+
readonly id: string;
|
|
68
|
+
}, envelope: EncryptedEnvelope, oldDek: EnclaveKey, newDek: EnclaveKey): Promise<EncryptedEnvelope | null>;
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* vault; it calls into these.
|
|
17
17
|
*/
|
|
18
18
|
import { type EncryptedEnvelope } from '../../types.js';
|
|
19
|
-
import type {
|
|
19
|
+
import type { RecordRef } from '../record-aad.js';
|
|
20
20
|
/**
|
|
21
21
|
* Shape-only tombstone recognition for layers that have no per-collection
|
|
22
22
|
* context (the sync engine, #590): a tombstone carries an empty `_data` and
|
|
@@ -46,7 +46,7 @@ export declare function isTombstone(envelope: EncryptedEnvelope, encrypted: bool
|
|
|
46
46
|
* Deliberately omits `_iv`/`_data`/`_cek`/`_det` — that omission *is* the
|
|
47
47
|
* erasure.
|
|
48
48
|
*/
|
|
49
|
-
export declare function buildTombstone(
|
|
49
|
+
export declare function buildTombstone(ref: RecordRef, version: number, actor: string): EncryptedEnvelope;
|
|
50
50
|
/** #589: is this envelope an ordinary-delete marker (version-ordered, reads as absent)? */
|
|
51
51
|
export declare function isDeleteMarker(envelope: EncryptedEnvelope): boolean;
|
|
52
52
|
/**
|
|
@@ -55,4 +55,4 @@ export declare function isDeleteMarker(envelope: EncryptedEnvelope): boolean;
|
|
|
55
55
|
* keeps the displaced `_v` — so it wins convergence over the pre-delete copy and a
|
|
56
56
|
* re-create can still win over it at a higher version.
|
|
57
57
|
*/
|
|
58
|
-
export declare function buildDeleteMarker(
|
|
58
|
+
export declare function buildDeleteMarker(ref: RecordRef, version: number, actor: string): EncryptedEnvelope;
|
package/dist/kernel/errors.d.ts
CHANGED
|
@@ -143,7 +143,23 @@ export declare class DecryptionError extends NoydbError {
|
|
|
143
143
|
* Treat it as a security alert: the stored bytes are not what NOYDB wrote.
|
|
144
144
|
*/
|
|
145
145
|
export declare class TamperedError extends NoydbError {
|
|
146
|
-
|
|
146
|
+
/**
|
|
147
|
+
* Why the tag check failed, when the enclave could tell (#1103).
|
|
148
|
+
*
|
|
149
|
+
* `'unbound-legacy-format'` — the body opens under an EMPTY AAD, so it was
|
|
150
|
+
* sealed before identity binding (#1041) and this is a format transition, not
|
|
151
|
+
* an attack. Positive evidence, not a guess: producing a body that decrypts
|
|
152
|
+
* under this DEK requires the DEK, which an untrusted store does not hold.
|
|
153
|
+
*
|
|
154
|
+
* Absent — no benign explanation was found. Treat as the security alert this
|
|
155
|
+
* error has always been.
|
|
156
|
+
*
|
|
157
|
+
* The field is additive and the throw is unchanged, so
|
|
158
|
+
* `catch (e) { if (e instanceof TamperedError) … }` keeps working; callers
|
|
159
|
+
* that want to tell a migration from a breach can now read this.
|
|
160
|
+
*/
|
|
161
|
+
readonly reason?: 'unbound-legacy-format';
|
|
162
|
+
constructor(message?: string, reason?: 'unbound-legacy-format');
|
|
147
163
|
}
|
|
148
164
|
/**
|
|
149
165
|
* Thrown when key unwrapping fails, typically because the secret is wrong
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { MergeAuthority } from '../port/with/merge-authority.js';
|
|
2
|
+
import type { EnclaveKey } from './enclave/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* ⚠️ **A client cannot verify what it cannot decrypt** — and that boundary is
|
|
5
|
+
* stated here rather than hidden.
|
|
6
|
+
*
|
|
7
|
+
* A record at a tier this caller holds no key for is accepted **unverified**.
|
|
8
|
+
* Rejecting it would break replication of data the peer legitimately holds but
|
|
9
|
+
* this client is not cleared to read, converting a confidentiality boundary
|
|
10
|
+
* into a replication failure. The residue is narrow: envelopes whose key the
|
|
11
|
+
* client lacks are pass-through, exactly as every envelope was before #1042.
|
|
12
|
+
*
|
|
13
|
+
* Closing that residue needs the vault head (#1044), which can detect absence
|
|
14
|
+
* and substitution without holding the key.
|
|
15
|
+
*/
|
|
16
|
+
export declare function buildMergeAuthority(
|
|
17
|
+
/**
|
|
18
|
+
* Just the DEK map, not the whole keyring. `port-layering` refused a type
|
|
19
|
+
* import of `UnlockedKeyring` from `with-party` — correctly, and the narrower
|
|
20
|
+
* shape is better anyway: this needs to look up keys, not to know what a
|
|
21
|
+
* keyring is.
|
|
22
|
+
*/
|
|
23
|
+
keyring: {
|
|
24
|
+
readonly deks: ReadonlyMap<string, EnclaveKey>;
|
|
25
|
+
}): MergeAuthority;
|
|
@@ -52,3 +52,18 @@ export declare function assertTierWritable(adapter: NoydbStore, vault: string, n
|
|
|
52
52
|
* explicit for concurrent writes generally.
|
|
53
53
|
*/
|
|
54
54
|
export declare function assertCutoverTierSafe(adapter: NoydbStore, vault: string, name: string, tiersEnabled: boolean): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* The key a collection's DEK is stored under in `UnlockedKeyring.deks` for a
|
|
57
|
+
* given tier: `collection` at tier 0, `collection#N` above it.
|
|
58
|
+
*
|
|
59
|
+
* Lives in the kernel because the `deks` map is a kernel type and the kernel
|
|
60
|
+
* reads it — `noydb.ts` needs this to resolve the right DEK when verifying a
|
|
61
|
+
* pulled envelope (#1042). `with-party/team/tiers.ts` re-exports it, so every
|
|
62
|
+
* existing importer is unchanged; the definition simply moved to the layer that
|
|
63
|
+
* owns the map rather than one that happens to use it.
|
|
64
|
+
*
|
|
65
|
+
* This move was forced by `port-layering`, and rightly: the alternative was the
|
|
66
|
+
* kernel spine statically importing a `with-*` service, or duplicating the
|
|
67
|
+
* naming convention in two places where it could drift.
|
|
68
|
+
*/
|
|
69
|
+
export declare function dekKey(collection: string, tier: number): string;
|
package/dist/kernel/types.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ import type { PeriodsStrategy } from '../with-audit/periods/strategy.js';
|
|
|
34
34
|
import type { ShadowStrategy } from '../with-fork/shadow/strategy.js';
|
|
35
35
|
import type { TransactionsStrategy } from '../with-commit/tx/strategy.js';
|
|
36
36
|
import type { HistoryStrategy } from '../with-commit/history/strategy.js';
|
|
37
|
+
import type { VaultHeadStrategy } from '../with-commit/vault-head/strategy.js';
|
|
37
38
|
import type { ForgetStrategy } from '../with-audit/forget/strategy.js';
|
|
38
39
|
import type { SnapshotsStrategy } from '../with-fork/snapshots/strategy.js';
|
|
39
40
|
import type { DerivationSkippedFrozen } from './via/dispatch.js';
|
|
@@ -2430,6 +2431,13 @@ export interface NoydbOptions {
|
|
|
2430
2431
|
* @internal
|
|
2431
2432
|
*/
|
|
2432
2433
|
readonly historyStrategy?: HistoryStrategy;
|
|
2434
|
+
/**
|
|
2435
|
+
* #1044 — opt in to the vault head, which detects a store that WITHHOLDS.
|
|
2436
|
+
* `withVaultHead()` from `@noy-db/hub/vault-head`. Costs one small write per
|
|
2437
|
+
* commit; on a single-device offline vault it defends against nothing, which
|
|
2438
|
+
* is why it is opt-in while AAD is not.
|
|
2439
|
+
*/
|
|
2440
|
+
readonly vaultHeadStrategy?: VaultHeadStrategy;
|
|
2433
2441
|
/**
|
|
2434
2442
|
* GDPR right-to-erasure. Pass `withForget({ subjects })`
|
|
2435
2443
|
* from `@noy-db/hub/forget` to declare which collections carry erasable
|
package/dist/kernel/vault.d.ts
CHANGED
|
@@ -745,7 +745,7 @@ export declare class Vault {
|
|
|
745
745
|
*
|
|
746
746
|
* @internal
|
|
747
747
|
*/
|
|
748
|
-
_decryptEnvelopeForBundleFilter(env: EncryptedEnvelope, collectionName: string): Promise<unknown>;
|
|
748
|
+
_decryptEnvelopeForBundleFilter(env: EncryptedEnvelope, collectionName: string, recordId: string): Promise<unknown>;
|
|
749
749
|
/**
|
|
750
750
|
* Read-only accessor for the invoking keyring's import capability
|
|
751
751
|
* (issue ). UI affordance — returns false in every default-closed
|
|
@@ -47,8 +47,17 @@ export interface ViaCryptoCtx {
|
|
|
47
47
|
delete(field: string): Promise<void>;
|
|
48
48
|
};
|
|
49
49
|
reservedEnvelopes(prefix: string): {
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
/**
|
|
51
|
+
* `id` is the record id the envelope will be stored under. Required
|
|
52
|
+
* (#1051) because this function holds the DEK, so it is where record-identity
|
|
53
|
+
* AAD is applied — a caller that cannot name the id cannot be bound.
|
|
54
|
+
*/
|
|
55
|
+
encrypt(identity: {
|
|
56
|
+
readonly collection: string;
|
|
57
|
+
readonly id: string;
|
|
58
|
+
readonly by?: string;
|
|
59
|
+
}, json: string, v: number): Promise<EncryptedEnvelope>;
|
|
60
|
+
decrypt(collection: string, id: string, env: EncryptedEnvelope): Promise<string>;
|
|
52
61
|
};
|
|
53
62
|
}
|
|
54
63
|
/** Per-call erase context — `forget()`'s per-ref participation door (phase C). */
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
LedgerStore,
|
|
4
4
|
applyPatch,
|
|
5
5
|
computePatch
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-MNUTPZRQ.js";
|
|
7
7
|
import {
|
|
8
8
|
LEDGER_COLLECTION,
|
|
9
9
|
LEDGER_DELTAS_COLLECTION
|
|
@@ -15,16 +15,16 @@ import {
|
|
|
15
15
|
paddedIndex,
|
|
16
16
|
parseIndex,
|
|
17
17
|
sha256Hex
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-RNSC2ARR.js";
|
|
19
|
+
import "./chunk-D5UDZANO.js";
|
|
20
|
+
import "./chunk-ZVAFJQZB.js";
|
|
21
|
+
import "./chunk-OQLYMBJI.js";
|
|
22
|
+
import "./chunk-DJ23QZIN.js";
|
|
23
|
+
import "./chunk-SFD2LL7G.js";
|
|
24
24
|
import "./chunk-LP7BEXCT.js";
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-VJ4B3ZXY.js";
|
|
26
|
+
import "./chunk-3Y4OFWQJ.js";
|
|
27
|
+
import "./chunk-P7L3OQLL.js";
|
|
28
28
|
import "./chunk-PZ5AY32C.js";
|
|
29
29
|
export {
|
|
30
30
|
LEDGER_COLLECTION,
|
|
@@ -39,4 +39,4 @@ export {
|
|
|
39
39
|
parseIndex,
|
|
40
40
|
sha256Hex
|
|
41
41
|
};
|
|
42
|
-
//# sourceMappingURL=ledger-
|
|
42
|
+
//# sourceMappingURL=ledger-62CEPRPX.js.map
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
liberateVault
|
|
3
|
+
} from "./chunk-37P5VB4N.js";
|
|
4
|
+
import "./chunk-TC6MBEGH.js";
|
|
5
|
+
import "./chunk-ZPMXYPBR.js";
|
|
6
|
+
import "./chunk-NRNTXBHT.js";
|
|
7
|
+
import "./chunk-2IK6AC6A.js";
|
|
8
|
+
import "./chunk-DYASJSKI.js";
|
|
9
|
+
import "./chunk-E6WANBD6.js";
|
|
10
|
+
import "./chunk-JHO6FGZX.js";
|
|
11
|
+
import "./chunk-D5UDZANO.js";
|
|
12
|
+
import "./chunk-ZVAFJQZB.js";
|
|
13
|
+
import "./chunk-OQLYMBJI.js";
|
|
14
|
+
import "./chunk-DJ23QZIN.js";
|
|
15
|
+
import "./chunk-SFD2LL7G.js";
|
|
16
|
+
import "./chunk-LP7BEXCT.js";
|
|
17
|
+
import "./chunk-VJ4B3ZXY.js";
|
|
18
|
+
import "./chunk-3Y4OFWQJ.js";
|
|
19
|
+
import "./chunk-P7L3OQLL.js";
|
|
20
|
+
import "./chunk-PZ5AY32C.js";
|
|
21
|
+
export {
|
|
22
|
+
liberateVault
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=liberate-7QY7TULB.js.map
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
2
|
LinkEndpointError,
|
|
3
3
|
LinkSet
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-M4IKEOJS.js";
|
|
5
5
|
import {
|
|
6
6
|
LINK_COLLECTION_PREFIX,
|
|
7
7
|
LinkIntegrityError,
|
|
8
8
|
isLinkCollectionName,
|
|
9
9
|
linkCollectionName,
|
|
10
10
|
linkRowKey
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-KBOPY6W2.js";
|
|
12
|
+
import "./chunk-D5UDZANO.js";
|
|
13
|
+
import "./chunk-ZVAFJQZB.js";
|
|
14
|
+
import "./chunk-OQLYMBJI.js";
|
|
15
|
+
import "./chunk-DJ23QZIN.js";
|
|
16
|
+
import "./chunk-SFD2LL7G.js";
|
|
17
17
|
import "./chunk-LP7BEXCT.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-VJ4B3ZXY.js";
|
|
19
|
+
import "./chunk-3Y4OFWQJ.js";
|
|
20
|
+
import "./chunk-P7L3OQLL.js";
|
|
21
21
|
import "./chunk-PZ5AY32C.js";
|
|
22
22
|
export {
|
|
23
23
|
LINK_COLLECTION_PREFIX,
|
|
@@ -28,4 +28,4 @@ export {
|
|
|
28
28
|
linkCollectionName,
|
|
29
29
|
linkRowKey
|
|
30
30
|
};
|
|
31
|
-
//# sourceMappingURL=link-set-
|
|
31
|
+
//# sourceMappingURL=link-set-ZRYNUHN3.js.map
|
|
@@ -9,8 +9,16 @@ import {
|
|
|
9
9
|
resolveManagedSecret,
|
|
10
10
|
saveSealedSecret,
|
|
11
11
|
sealRsaOaepTlv
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-NRNTXBHT.js";
|
|
13
|
+
import "./chunk-D5UDZANO.js";
|
|
14
|
+
import "./chunk-ZVAFJQZB.js";
|
|
15
|
+
import "./chunk-OQLYMBJI.js";
|
|
16
|
+
import "./chunk-DJ23QZIN.js";
|
|
17
|
+
import "./chunk-SFD2LL7G.js";
|
|
18
|
+
import "./chunk-LP7BEXCT.js";
|
|
19
|
+
import "./chunk-VJ4B3ZXY.js";
|
|
20
|
+
import "./chunk-3Y4OFWQJ.js";
|
|
21
|
+
import "./chunk-P7L3OQLL.js";
|
|
14
22
|
import "./chunk-PZ5AY32C.js";
|
|
15
23
|
export {
|
|
16
24
|
MemoryRecipientSealer,
|
|
@@ -24,4 +32,4 @@ export {
|
|
|
24
32
|
saveSealedSecret,
|
|
25
33
|
sealRsaOaepTlv
|
|
26
34
|
};
|
|
27
|
-
//# sourceMappingURL=managed-secret-
|
|
35
|
+
//# sourceMappingURL=managed-secret-T2WB4O47.js.map
|
|
@@ -1,48 +1,48 @@
|
|
|
1
1
|
import {
|
|
2
2
|
withMaterializedView
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-APV42WPR.js";
|
|
4
|
+
import {
|
|
5
|
+
MaterializedViewExecutor
|
|
6
|
+
} from "../chunk-EG6AQBYW.js";
|
|
4
7
|
import {
|
|
5
8
|
clearMVStale,
|
|
6
9
|
isMVStale,
|
|
7
10
|
markMVStale,
|
|
8
11
|
resolveStaleMVOnRead
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import {
|
|
11
|
-
MaterializedViewExecutor
|
|
12
|
-
} from "../chunk-VQQUOEON.js";
|
|
12
|
+
} from "../chunk-OIIAXFKM.js";
|
|
13
13
|
import {
|
|
14
14
|
MaterializedViewRegistry,
|
|
15
15
|
analyzeDependencies,
|
|
16
16
|
canonicalizeQueryPlan,
|
|
17
17
|
computeQueryHash,
|
|
18
18
|
summarizeQueryPlan
|
|
19
|
-
} from "../chunk-
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-DEP24EE3.js";
|
|
19
|
+
} from "../chunk-5J5TTSGW.js";
|
|
20
|
+
import "../chunk-IPDS2TYW.js";
|
|
21
|
+
import "../chunk-ICCRAPWD.js";
|
|
23
22
|
import "../chunk-5D2ALSM5.js";
|
|
24
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-L6FSZFG7.js";
|
|
24
|
+
import "../chunk-A4K5GLE6.js";
|
|
25
25
|
import "../chunk-XZHEOSQ2.js";
|
|
26
26
|
import "../chunk-CADUYBQD.js";
|
|
27
27
|
import "../chunk-IGJCYUT5.js";
|
|
28
|
-
import "../chunk-
|
|
29
|
-
import "../chunk-
|
|
30
|
-
import "../chunk-
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
35
|
-
import "../chunk-
|
|
36
|
-
import "../chunk-
|
|
28
|
+
import "../chunk-GYUCRDAU.js";
|
|
29
|
+
import "../chunk-437FDIHO.js";
|
|
30
|
+
import "../chunk-KDX6VEYV.js";
|
|
31
|
+
import "../chunk-RNSC2ARR.js";
|
|
32
|
+
import "../chunk-D5UDZANO.js";
|
|
33
|
+
import "../chunk-ZVAFJQZB.js";
|
|
34
|
+
import "../chunk-OQLYMBJI.js";
|
|
35
|
+
import "../chunk-DJ23QZIN.js";
|
|
36
|
+
import "../chunk-SFD2LL7G.js";
|
|
37
37
|
import "../chunk-LP7BEXCT.js";
|
|
38
|
-
import "../chunk-
|
|
39
|
-
import "../chunk-
|
|
38
|
+
import "../chunk-VJ4B3ZXY.js";
|
|
39
|
+
import "../chunk-3Y4OFWQJ.js";
|
|
40
40
|
import {
|
|
41
41
|
MaterializedViewConfigError,
|
|
42
42
|
MaterializedViewCycleError,
|
|
43
43
|
MaterializedViewSourceUnknownError,
|
|
44
44
|
MaterializedViewTooLargeError
|
|
45
|
-
} from "../chunk-
|
|
45
|
+
} from "../chunk-P7L3OQLL.js";
|
|
46
46
|
import "../chunk-PZ5AY32C.js";
|
|
47
47
|
export {
|
|
48
48
|
MaterializedViewConfigError,
|
package/dist/money/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
isMoneyString,
|
|
5
5
|
moneyNumber,
|
|
6
6
|
mulRate
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-L2XQ776M.js";
|
|
8
8
|
import {
|
|
9
9
|
MoneyCurrencyError,
|
|
10
10
|
MoneyPrecisionError,
|
|
@@ -13,10 +13,10 @@ import {
|
|
|
13
13
|
isMoneyDescriptor,
|
|
14
14
|
money,
|
|
15
15
|
scaleForCurrency
|
|
16
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-IPDS2TYW.js";
|
|
17
17
|
import "../chunk-IGJCYUT5.js";
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-KDX6VEYV.js";
|
|
19
|
+
import "../chunk-P7L3OQLL.js";
|
|
20
20
|
import "../chunk-PZ5AY32C.js";
|
|
21
21
|
export {
|
|
22
22
|
MoneyCurrencyError,
|