@noy-db/hub 0.4.0-pre.4 → 0.4.0-pre.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/aggregate/index.js +4 -4
- package/dist/api-22ES33N3.js +20 -0
- package/dist/as/index.js +11 -11
- package/dist/attestation/index.js +20 -20
- package/dist/{backup-JL2GOTYQ.js → backup-YCHAC575.js} +11 -11
- package/dist/blobs/index.js +12 -12
- package/dist/broker/index.js +12 -12
- package/dist/by/index.js +2 -2
- package/dist/cargo/index.js +29 -29
- package/dist/{chunk-2RMDVWGB.js → chunk-2CRZOVDI.js} +2 -2
- package/dist/{chunk-T7S4V52L.js → chunk-2PDBYF2O.js} +4 -4
- package/dist/{chunk-WJDYZP3U.js → chunk-3LJYHE7S.js} +36 -36
- package/dist/chunk-3LJYHE7S.js.map +1 -0
- package/dist/{chunk-CCT4WZI6.js → chunk-3OWYOECI.js} +5 -5
- package/dist/chunk-3OWYOECI.js.map +1 -0
- package/dist/{chunk-L4OA7G5T.js → chunk-522MBPE5.js} +2 -2
- package/dist/{chunk-ZJGZDOQO.js → chunk-5ATANZSW.js} +6 -6
- package/dist/{chunk-M25ZIEB2.js → chunk-5HSSTOOG.js} +2 -2
- package/dist/{chunk-LLVW4V7R.js → chunk-5WLDZZ6S.js} +3 -3
- package/dist/{chunk-7B4GPCX7.js → chunk-6RPWILRH.js} +5 -5
- package/dist/{chunk-IGM563N5.js → chunk-6SYOHUHM.js} +6 -6
- package/dist/chunk-6SYOHUHM.js.map +1 -0
- package/dist/{chunk-HGVFJL63.js → chunk-7BIJS6II.js} +15 -5
- package/dist/{chunk-HGVFJL63.js.map → chunk-7BIJS6II.js.map} +1 -1
- package/dist/{chunk-KR5EGWI4.js → chunk-7ICV4ASA.js} +5 -5
- package/dist/{chunk-J3VW4J4E.js → chunk-7LP7FFJ2.js} +2 -2
- package/dist/chunk-7LP7FFJ2.js.map +1 -0
- package/dist/{chunk-5P5AAXYA.js → chunk-7U6AB7DZ.js} +7 -7
- package/dist/chunk-7U6AB7DZ.js.map +1 -0
- package/dist/{chunk-KMONEHDJ.js → chunk-AFAPBZAA.js} +2 -2
- package/dist/{chunk-GBEXTC6Z.js → chunk-BAAUFCJK.js} +3 -3
- package/dist/chunk-BAAUFCJK.js.map +1 -0
- package/dist/{chunk-CGPO3ZYB.js → chunk-BY5YBSXA.js} +2 -2
- package/dist/{chunk-3O62PVDW.js → chunk-CJVEAVYH.js} +5 -5
- package/dist/chunk-CJVEAVYH.js.map +1 -0
- package/dist/{chunk-3XVOLB75.js → chunk-CKUYQO2P.js} +3 -3
- package/dist/{chunk-2JZ763FV.js → chunk-D4LAJ737.js} +2 -2
- package/dist/{chunk-OOTTXUNV.js → chunk-DYZ5CCVM.js} +2 -2
- package/dist/{chunk-W7TCXZWU.js → chunk-EEZCB74X.js} +393 -716
- package/dist/chunk-EEZCB74X.js.map +1 -0
- package/dist/{chunk-N4FZ6ITM.js → chunk-EGU4PWQW.js} +2 -2
- package/dist/{chunk-JKWNG3TM.js → chunk-FHHYCBBP.js} +2 -2
- package/dist/{chunk-QUIG6BZT.js → chunk-FIP7KI2P.js} +26 -26
- package/dist/chunk-FIP7KI2P.js.map +1 -0
- package/dist/{chunk-5KI3REO3.js → chunk-FTCGEUOY.js} +7 -7
- package/dist/{chunk-5BB3N4KU.js → chunk-G4MFQXYX.js} +2 -2
- package/dist/{chunk-PEY6ZTCF.js → chunk-GEEJPID6.js} +9 -9
- package/dist/{chunk-PEY6ZTCF.js.map → chunk-GEEJPID6.js.map} +1 -1
- package/dist/{chunk-KVHWEPT2.js → chunk-GHEMAVTN.js} +2 -2
- package/dist/{chunk-OVFCAS7U.js → chunk-GP54LU5N.js} +9 -9
- package/dist/{chunk-XW7NWO4A.js → chunk-GTNRMJYH.js} +2 -2
- package/dist/{chunk-JW3XCZA2.js → chunk-HAPY7WFP.js} +11 -11
- package/dist/{chunk-4X6DJZHY.js → chunk-HQKRZIX6.js} +4 -4
- package/dist/{chunk-OWE4BNTM.js → chunk-I2XEBEEF.js} +4 -4
- package/dist/{chunk-WEC3JGBA.js → chunk-IGLU4ME7.js} +3 -3
- package/dist/{chunk-BZK6JEX4.js → chunk-ILM6X6CP.js} +5 -5
- package/dist/{chunk-2KL6NDD4.js → chunk-J5TEU77Q.js} +4 -4
- package/dist/{chunk-UEO5CHOP.js → chunk-JAMDDLIM.js} +13 -13
- package/dist/chunk-JAMDDLIM.js.map +1 -0
- package/dist/{chunk-V7RGFJ3Z.js → chunk-JIHH26WQ.js} +6 -6
- package/dist/{chunk-XGVDLQJE.js → chunk-JN3SGXJE.js} +3 -3
- package/dist/{chunk-XULHFSHO.js → chunk-K4BWPNJO.js} +5 -5
- package/dist/chunk-K4BWPNJO.js.map +1 -0
- package/dist/{chunk-BZEPJJOK.js → chunk-K7BADAOS.js} +4 -4
- package/dist/{chunk-BLB7P7LS.js → chunk-KJTIAECI.js} +17 -17
- package/dist/chunk-KJTIAECI.js.map +1 -0
- package/dist/{chunk-U73LHVPF.js → chunk-L2CAWCQL.js} +4 -4
- package/dist/{chunk-MSO2C3KG.js → chunk-LC7DSMHR.js} +2 -2
- package/dist/{chunk-JA5B3SLH.js → chunk-M6QA2KK2.js} +2 -2
- package/dist/{chunk-IUIVDVXM.js → chunk-MUPZ6IZX.js} +2 -2
- package/dist/{chunk-QAFWRGVD.js → chunk-OGVE4IJW.js} +7 -7
- package/dist/{chunk-BCOKZC4B.js → chunk-OHV6T5JB.js} +19 -19
- package/dist/chunk-OHV6T5JB.js.map +1 -0
- package/dist/{chunk-25ZDB25Z.js → chunk-OMSKGLYA.js} +3 -3
- package/dist/chunk-OMSKGLYA.js.map +1 -0
- package/dist/{chunk-2U7Y7BNJ.js → chunk-ONB627HU.js} +2 -2
- package/dist/{chunk-GYB2QK5H.js → chunk-OWLZONGX.js} +2 -2
- package/dist/{chunk-YHPUDB7Q.js → chunk-OWOT7CFC.js} +2 -2
- package/dist/{chunk-VEX6G3YL.js → chunk-P4NUJVWL.js} +2 -2
- package/dist/{chunk-NM4LVUXH.js → chunk-PTT2NB46.js} +2 -2
- package/dist/{chunk-2ITLQZV5.js → chunk-PWWWMRT7.js} +2 -2
- package/dist/{chunk-GS3Q2KOZ.js → chunk-QBOQI6PG.js} +2 -2
- package/dist/{chunk-JIMEB4C6.js → chunk-QMMOMBH6.js} +4 -4
- package/dist/{chunk-QDNVHA2F.js → chunk-QMZ5A6FQ.js} +2 -2
- package/dist/{chunk-FLHOTGOO.js → chunk-QVGEVZ5F.js} +3 -3
- package/dist/{chunk-AFBJHD55.js → chunk-QZJEYZ4I.js} +5 -5
- package/dist/{chunk-V3YB7RGR.js → chunk-R2N37AA6.js} +3 -3
- package/dist/{chunk-JLHKBAFY.js → chunk-RWW3I3PO.js} +3 -3
- package/dist/{chunk-IGAIOGCN.js → chunk-S4YERMGJ.js} +4 -4
- package/dist/{chunk-OGFPMCSP.js → chunk-SBOHNJUD.js} +2 -2
- package/dist/{chunk-QXPOEAKR.js → chunk-SC4JLMZI.js} +2 -2
- package/dist/{chunk-EDC6MLXV.js → chunk-SEU6QHH4.js} +2 -2
- package/dist/{chunk-F4COUZLL.js → chunk-TMR64XPL.js} +2 -2
- package/dist/{chunk-DEQ2JTBR.js → chunk-TNATF3HB.js} +3 -3
- package/dist/{chunk-GZ2GKOF6.js → chunk-TNJVDG2B.js} +3 -3
- package/dist/{chunk-5OZCCLNC.js → chunk-TSNRZSRC.js} +2 -2
- package/dist/{chunk-QCUH2G77.js → chunk-UTEATWHO.js} +6 -6
- package/dist/{chunk-JA5O7UEZ.js → chunk-UVBHM7AK.js} +6 -6
- package/dist/chunk-UVBHM7AK.js.map +1 -0
- package/dist/{chunk-HKR25MGX.js → chunk-V5JUAW4M.js} +10 -10
- package/dist/chunk-V5JUAW4M.js.map +1 -0
- package/dist/{chunk-YGBIBOCR.js → chunk-VEGQYPCP.js} +7 -7
- package/dist/{chunk-25G7U6RD.js → chunk-WQN5SM7P.js} +2 -2
- package/dist/{chunk-NOT7XA7Q.js → chunk-X3MWEFPT.js} +5 -5
- package/dist/chunk-XUFAFHQM.js +78 -0
- package/dist/chunk-XUFAFHQM.js.map +1 -0
- package/dist/{chunk-MEKAMERX.js → chunk-YCAJDK4O.js} +29 -29
- package/dist/chunk-YCAJDK4O.js.map +1 -0
- package/dist/{chunk-BVZGNMVM.js → chunk-YFFEF6HR.js} +3 -3
- package/dist/{chunk-H4SMS4O2.js → chunk-YJ3TREAC.js} +2 -2
- package/dist/{chunk-5SZ24DL5.js → chunk-YQQPNXNO.js} +6 -6
- package/dist/{chunk-5BHNQNBI.js → chunk-YTW6ZIPD.js} +1 -1
- package/dist/chunk-YTW6ZIPD.js.map +1 -0
- package/dist/{chunk-EW4HFWGJ.js → chunk-YWZEDG7F.js} +6 -6
- package/dist/{chunk-2VUISNGP.js → chunk-YXIVUWDU.js} +5 -5
- package/dist/{chunk-YG2EG6CB.js → chunk-YXZNGHID.js} +4 -4
- package/dist/{chunk-QYJIOWKN.js → chunk-YZN6NRTR.js} +9 -9
- package/dist/{chunk-IZX3WZBF.js → chunk-YZNKFYDC.js} +4 -4
- package/dist/{chunk-E2R5NRZD.js → chunk-Z4D3YGAB.js} +2 -2
- package/dist/{chunk-STR7WBOB.js → chunk-ZUDAK436.js} +2 -2
- package/dist/{chunk-ITI3SJRB.js → chunk-ZX5FNWH7.js} +2 -2
- package/dist/classified/index.js +5 -5
- package/dist/{classified-marker-7S5IEP6Q.js → classified-marker-52P3D72W.js} +3 -3
- package/dist/collection-facade-XKCFHSLR.js +44 -0
- package/dist/{computed-WZNKRLCY.js → computed-33DRJDOC.js} +3 -3
- package/dist/consent/index.js +9 -9
- package/dist/{cover-B5MY43CK.js → cover-5BSNJREH.js} +4 -4
- package/dist/{dead-filter-KRRD57MR.js → dead-filter-JXVCKS6W.js} +2 -2
- package/dist/delegation-WWZPEDK2.js +25 -0
- package/dist/derivations/index.js +12 -12
- package/dist/derive-CWWFEQ4N.js +21 -0
- package/dist/dispatch-PKQQFDBT.js +193 -0
- package/dist/dispatch-PKQQFDBT.js.map +1 -0
- package/dist/dispatch-SMXUO7W5.js +72 -0
- package/dist/dispatch-SMXUO7W5.js.map +1 -0
- package/dist/{enclave-YFKA3GJT.js → enclave-I5H3GINP.js} +11 -11
- package/dist/executor-FCJEH3FU.js +9 -0
- package/dist/executor-OHET7TF7.js +9 -0
- package/dist/executor-SHYLIBOM.js +26 -0
- package/dist/export-accessible-FBL6TDSK.js +23 -0
- package/dist/extract-partition-ZYIRYMTI.js +38 -0
- package/dist/{fanout-sidecar-HJV3A7PM.js → fanout-sidecar-WWXVHHUH.js} +9 -9
- package/dist/find-LEBUXVL7.js +11 -0
- package/dist/forget/index.js +9 -9
- package/dist/guards/index.js +3 -3
- package/dist/history/index.js +12 -12
- package/dist/i18n/index.js +14 -14
- package/dist/index.d.ts +13 -9
- package/dist/index.js +119 -118
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +2 -2
- package/dist/issue-F76PAGIR.js +19 -0
- package/dist/kernel/collection.d.ts +0 -1
- package/dist/kernel/enclave/crypto.d.ts +8 -8
- package/dist/kernel/enclave/index.d.ts +2 -2
- package/dist/kernel/errors.d.ts +20 -20
- package/dist/kernel/noydb.d.ts +32 -91
- package/dist/kernel/types.d.ts +82 -41
- package/dist/kernel/validation.d.ts +33 -33
- package/dist/kernel/vault.d.ts +12 -149
- package/dist/kernel/via/dispatch.d.ts +7 -0
- package/dist/{ledger-SW6QQOAV.js → ledger-M2BKCNVS.js} +11 -11
- package/dist/liberate-ZP7UB57K.js +24 -0
- package/dist/{link-set-GNGGCFI4.js → link-set-ZU4E5J5S.js} +11 -11
- package/dist/materialized-views/index.js +19 -19
- package/dist/noydb-BNDGEK5X.js +71 -0
- package/dist/on/index.js +9 -9
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +13 -13
- package/dist/pod/index.js +11 -11
- package/dist/{policy-EAXSJNOT.js → policy-IY2YEA3A.js} +5 -5
- package/dist/port/at/index.d.ts +4 -4
- package/dist/port/with/collection-options.d.ts +171 -0
- package/dist/port/with/team-strategy.d.ts +1 -1
- package/dist/portability/index.js +8 -8
- package/dist/{post-register-A7HCFBP5.js → post-register-XIAHB6KF.js} +6 -6
- package/dist/query/index.js +6 -6
- package/dist/register-HB4TQZSV.js +23 -0
- package/dist/registry-6BMBFEXT.js +19 -0
- package/dist/registry-7CZWF3EQ.js +9 -0
- package/dist/registry-JOFO7RAH.js +18 -0
- package/dist/request-withdrawal-UN3TRHWI.js +31 -0
- package/dist/{reveal-PB3YG544.js → reveal-VWXRV2XU.js} +6 -6
- package/dist/revoke-OLO2OVR7.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/sealed-record/index.js +12 -12
- package/dist/{seed-EKF4DIBB.js → seed-CDBFOTIK.js} +12 -12
- package/dist/seed-CDBFOTIK.js.map +1 -0
- package/dist/session/index.js +9 -9
- package/dist/shadow/index.js +2 -2
- package/dist/signer-MGGKPYAN.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/{stale-4UNPHWOU.js → stale-NBROTA66.js} +10 -10
- package/dist/storage-3R37QZLA.js +23 -0
- package/dist/{store-coordination-provider-3AELCZ4Y.js → store-coordination-provider-P3IU5JHD.js} +3 -3
- package/dist/sync/index.js +10 -10
- package/dist/team/index.js +20 -20
- package/dist/tiers/index.js +10 -10
- package/dist/to/index.js +1 -1
- package/dist/tx/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/{verify-MXN66IIH.js → verify-5X37OXRY.js} +5 -5
- package/dist/{walk-H4YE52S2.js → walk-E3OVLBFR.js} +11 -11
- package/dist/with/index.js +11 -11
- package/dist/with-audit/portability/export-accessible.d.ts +4 -4
- package/dist/with-audit/portability/request-withdrawal.d.ts +3 -3
- package/dist/with-audit/portability/withdraw-accessible.d.ts +2 -2
- package/dist/with-audit/sealed-record/strategy.d.ts +1 -1
- package/dist/with-cargo/adopt-partition.d.ts +7 -7
- package/dist/with-cargo/index.d.ts +1 -1
- package/dist/with-commit/history/time-machine.d.ts +2 -2
- package/dist/with-formula/derivations/dispatch.d.ts +98 -0
- package/dist/with-formula/materialized-views/dispatch.d.ts +75 -0
- package/dist/with-party/custody/liberate.d.ts +3 -3
- package/dist/with-party/session/dev-unlock.d.ts +2 -2
- package/dist/with-party/session/session.d.ts +2 -2
- package/dist/with-party/team/deed.d.ts +8 -8
- package/dist/with-party/team/index.d.ts +2 -2
- package/dist/with-party/team/keyring.d.ts +19 -19
- package/dist/with-party/team/{managed-passphrase.d.ts → managed-secret.d.ts} +27 -27
- package/dist/with-party/team/noydb-facade.d.ts +41 -41
- package/dist/with-party/team/peer-recover.d.ts +13 -13
- package/dist/with-party/team/recovery.d.ts +5 -5
- package/dist/with-party/team/rotate-recover.d.ts +30 -30
- package/dist/with-pod/bundle.d.ts +30 -30
- package/dist/with-pod/format.d.ts +2 -2
- package/dist/withdraw-accessible-Q2EMATCU.js +28 -0
- package/package.json +3 -3
- package/dist/api-UPAT2O3M.js +0 -20
- package/dist/chunk-25ZDB25Z.js.map +0 -1
- package/dist/chunk-3O62PVDW.js.map +0 -1
- package/dist/chunk-5BHNQNBI.js.map +0 -1
- package/dist/chunk-5P5AAXYA.js.map +0 -1
- package/dist/chunk-BCOKZC4B.js.map +0 -1
- package/dist/chunk-BLB7P7LS.js.map +0 -1
- package/dist/chunk-CCT4WZI6.js.map +0 -1
- package/dist/chunk-GBEXTC6Z.js.map +0 -1
- package/dist/chunk-HKR25MGX.js.map +0 -1
- package/dist/chunk-IGM563N5.js.map +0 -1
- package/dist/chunk-J3VW4J4E.js.map +0 -1
- package/dist/chunk-JA5O7UEZ.js.map +0 -1
- package/dist/chunk-MEKAMERX.js.map +0 -1
- package/dist/chunk-QUIG6BZT.js.map +0 -1
- package/dist/chunk-UEO5CHOP.js.map +0 -1
- package/dist/chunk-W7TCXZWU.js.map +0 -1
- package/dist/chunk-WJDYZP3U.js.map +0 -1
- package/dist/chunk-XULHFSHO.js.map +0 -1
- package/dist/collection-facade-CMZGQ6IS.js +0 -44
- package/dist/delegation-UT76AQIG.js +0 -25
- package/dist/derive-SGRCCKVP.js +0 -21
- package/dist/executor-TEZYRDN3.js +0 -9
- package/dist/executor-WQQRU6DO.js +0 -9
- package/dist/executor-YORMIBWV.js +0 -26
- package/dist/export-accessible-HXMKW5LJ.js +0 -23
- package/dist/extract-partition-QGQ2R42J.js +0 -38
- package/dist/find-VV6PBIHK.js +0 -11
- package/dist/issue-7JJ4Z7E2.js +0 -19
- package/dist/liberate-FK7JI2QX.js +0 -24
- package/dist/noydb-N5IW6OFZ.js +0 -70
- package/dist/register-YBMRLZLO.js +0 -23
- package/dist/registry-3LXKNXWI.js +0 -9
- package/dist/registry-4V4YQCXJ.js +0 -19
- package/dist/registry-ZULMLCJK.js +0 -18
- package/dist/request-withdrawal-SEVUEUDG.js +0 -31
- package/dist/revoke-5QULL5GT.js +0 -24
- package/dist/seed-EKF4DIBB.js.map +0 -1
- package/dist/signer-ZMH35FT4.js +0 -25
- package/dist/storage-QOZKQMID.js +0 -23
- package/dist/withdraw-accessible-HPOVNG2G.js +0 -28
- /package/dist/{api-UPAT2O3M.js.map → api-22ES33N3.js.map} +0 -0
- /package/dist/{backup-JL2GOTYQ.js.map → backup-YCHAC575.js.map} +0 -0
- /package/dist/{chunk-2RMDVWGB.js.map → chunk-2CRZOVDI.js.map} +0 -0
- /package/dist/{chunk-T7S4V52L.js.map → chunk-2PDBYF2O.js.map} +0 -0
- /package/dist/{chunk-L4OA7G5T.js.map → chunk-522MBPE5.js.map} +0 -0
- /package/dist/{chunk-ZJGZDOQO.js.map → chunk-5ATANZSW.js.map} +0 -0
- /package/dist/{chunk-M25ZIEB2.js.map → chunk-5HSSTOOG.js.map} +0 -0
- /package/dist/{chunk-LLVW4V7R.js.map → chunk-5WLDZZ6S.js.map} +0 -0
- /package/dist/{chunk-7B4GPCX7.js.map → chunk-6RPWILRH.js.map} +0 -0
- /package/dist/{chunk-KR5EGWI4.js.map → chunk-7ICV4ASA.js.map} +0 -0
- /package/dist/{chunk-KMONEHDJ.js.map → chunk-AFAPBZAA.js.map} +0 -0
- /package/dist/{chunk-CGPO3ZYB.js.map → chunk-BY5YBSXA.js.map} +0 -0
- /package/dist/{chunk-3XVOLB75.js.map → chunk-CKUYQO2P.js.map} +0 -0
- /package/dist/{chunk-2JZ763FV.js.map → chunk-D4LAJ737.js.map} +0 -0
- /package/dist/{chunk-OOTTXUNV.js.map → chunk-DYZ5CCVM.js.map} +0 -0
- /package/dist/{chunk-N4FZ6ITM.js.map → chunk-EGU4PWQW.js.map} +0 -0
- /package/dist/{chunk-JKWNG3TM.js.map → chunk-FHHYCBBP.js.map} +0 -0
- /package/dist/{chunk-5KI3REO3.js.map → chunk-FTCGEUOY.js.map} +0 -0
- /package/dist/{chunk-5BB3N4KU.js.map → chunk-G4MFQXYX.js.map} +0 -0
- /package/dist/{chunk-KVHWEPT2.js.map → chunk-GHEMAVTN.js.map} +0 -0
- /package/dist/{chunk-OVFCAS7U.js.map → chunk-GP54LU5N.js.map} +0 -0
- /package/dist/{chunk-XW7NWO4A.js.map → chunk-GTNRMJYH.js.map} +0 -0
- /package/dist/{chunk-JW3XCZA2.js.map → chunk-HAPY7WFP.js.map} +0 -0
- /package/dist/{chunk-4X6DJZHY.js.map → chunk-HQKRZIX6.js.map} +0 -0
- /package/dist/{chunk-OWE4BNTM.js.map → chunk-I2XEBEEF.js.map} +0 -0
- /package/dist/{chunk-WEC3JGBA.js.map → chunk-IGLU4ME7.js.map} +0 -0
- /package/dist/{chunk-BZK6JEX4.js.map → chunk-ILM6X6CP.js.map} +0 -0
- /package/dist/{chunk-2KL6NDD4.js.map → chunk-J5TEU77Q.js.map} +0 -0
- /package/dist/{chunk-V7RGFJ3Z.js.map → chunk-JIHH26WQ.js.map} +0 -0
- /package/dist/{chunk-XGVDLQJE.js.map → chunk-JN3SGXJE.js.map} +0 -0
- /package/dist/{chunk-BZEPJJOK.js.map → chunk-K7BADAOS.js.map} +0 -0
- /package/dist/{chunk-U73LHVPF.js.map → chunk-L2CAWCQL.js.map} +0 -0
- /package/dist/{chunk-MSO2C3KG.js.map → chunk-LC7DSMHR.js.map} +0 -0
- /package/dist/{chunk-JA5B3SLH.js.map → chunk-M6QA2KK2.js.map} +0 -0
- /package/dist/{chunk-IUIVDVXM.js.map → chunk-MUPZ6IZX.js.map} +0 -0
- /package/dist/{chunk-QAFWRGVD.js.map → chunk-OGVE4IJW.js.map} +0 -0
- /package/dist/{chunk-2U7Y7BNJ.js.map → chunk-ONB627HU.js.map} +0 -0
- /package/dist/{chunk-GYB2QK5H.js.map → chunk-OWLZONGX.js.map} +0 -0
- /package/dist/{chunk-YHPUDB7Q.js.map → chunk-OWOT7CFC.js.map} +0 -0
- /package/dist/{chunk-VEX6G3YL.js.map → chunk-P4NUJVWL.js.map} +0 -0
- /package/dist/{chunk-NM4LVUXH.js.map → chunk-PTT2NB46.js.map} +0 -0
- /package/dist/{chunk-2ITLQZV5.js.map → chunk-PWWWMRT7.js.map} +0 -0
- /package/dist/{chunk-GS3Q2KOZ.js.map → chunk-QBOQI6PG.js.map} +0 -0
- /package/dist/{chunk-JIMEB4C6.js.map → chunk-QMMOMBH6.js.map} +0 -0
- /package/dist/{chunk-QDNVHA2F.js.map → chunk-QMZ5A6FQ.js.map} +0 -0
- /package/dist/{chunk-FLHOTGOO.js.map → chunk-QVGEVZ5F.js.map} +0 -0
- /package/dist/{chunk-AFBJHD55.js.map → chunk-QZJEYZ4I.js.map} +0 -0
- /package/dist/{chunk-V3YB7RGR.js.map → chunk-R2N37AA6.js.map} +0 -0
- /package/dist/{chunk-JLHKBAFY.js.map → chunk-RWW3I3PO.js.map} +0 -0
- /package/dist/{chunk-IGAIOGCN.js.map → chunk-S4YERMGJ.js.map} +0 -0
- /package/dist/{chunk-OGFPMCSP.js.map → chunk-SBOHNJUD.js.map} +0 -0
- /package/dist/{chunk-QXPOEAKR.js.map → chunk-SC4JLMZI.js.map} +0 -0
- /package/dist/{chunk-EDC6MLXV.js.map → chunk-SEU6QHH4.js.map} +0 -0
- /package/dist/{chunk-F4COUZLL.js.map → chunk-TMR64XPL.js.map} +0 -0
- /package/dist/{chunk-DEQ2JTBR.js.map → chunk-TNATF3HB.js.map} +0 -0
- /package/dist/{chunk-GZ2GKOF6.js.map → chunk-TNJVDG2B.js.map} +0 -0
- /package/dist/{chunk-5OZCCLNC.js.map → chunk-TSNRZSRC.js.map} +0 -0
- /package/dist/{chunk-QCUH2G77.js.map → chunk-UTEATWHO.js.map} +0 -0
- /package/dist/{chunk-YGBIBOCR.js.map → chunk-VEGQYPCP.js.map} +0 -0
- /package/dist/{chunk-25G7U6RD.js.map → chunk-WQN5SM7P.js.map} +0 -0
- /package/dist/{chunk-NOT7XA7Q.js.map → chunk-X3MWEFPT.js.map} +0 -0
- /package/dist/{chunk-BVZGNMVM.js.map → chunk-YFFEF6HR.js.map} +0 -0
- /package/dist/{chunk-H4SMS4O2.js.map → chunk-YJ3TREAC.js.map} +0 -0
- /package/dist/{chunk-5SZ24DL5.js.map → chunk-YQQPNXNO.js.map} +0 -0
- /package/dist/{chunk-EW4HFWGJ.js.map → chunk-YWZEDG7F.js.map} +0 -0
- /package/dist/{chunk-2VUISNGP.js.map → chunk-YXIVUWDU.js.map} +0 -0
- /package/dist/{chunk-YG2EG6CB.js.map → chunk-YXZNGHID.js.map} +0 -0
- /package/dist/{chunk-QYJIOWKN.js.map → chunk-YZN6NRTR.js.map} +0 -0
- /package/dist/{chunk-IZX3WZBF.js.map → chunk-YZNKFYDC.js.map} +0 -0
- /package/dist/{chunk-E2R5NRZD.js.map → chunk-Z4D3YGAB.js.map} +0 -0
- /package/dist/{chunk-STR7WBOB.js.map → chunk-ZUDAK436.js.map} +0 -0
- /package/dist/{chunk-ITI3SJRB.js.map → chunk-ZX5FNWH7.js.map} +0 -0
- /package/dist/{classified-marker-7S5IEP6Q.js.map → classified-marker-52P3D72W.js.map} +0 -0
- /package/dist/{collection-facade-CMZGQ6IS.js.map → collection-facade-XKCFHSLR.js.map} +0 -0
- /package/dist/{computed-WZNKRLCY.js.map → computed-33DRJDOC.js.map} +0 -0
- /package/dist/{cover-B5MY43CK.js.map → cover-5BSNJREH.js.map} +0 -0
- /package/dist/{dead-filter-KRRD57MR.js.map → dead-filter-JXVCKS6W.js.map} +0 -0
- /package/dist/{delegation-UT76AQIG.js.map → delegation-WWZPEDK2.js.map} +0 -0
- /package/dist/{derive-SGRCCKVP.js.map → derive-CWWFEQ4N.js.map} +0 -0
- /package/dist/{enclave-YFKA3GJT.js.map → enclave-I5H3GINP.js.map} +0 -0
- /package/dist/{executor-TEZYRDN3.js.map → executor-FCJEH3FU.js.map} +0 -0
- /package/dist/{executor-WQQRU6DO.js.map → executor-OHET7TF7.js.map} +0 -0
- /package/dist/{executor-YORMIBWV.js.map → executor-SHYLIBOM.js.map} +0 -0
- /package/dist/{export-accessible-HXMKW5LJ.js.map → export-accessible-FBL6TDSK.js.map} +0 -0
- /package/dist/{extract-partition-QGQ2R42J.js.map → extract-partition-ZYIRYMTI.js.map} +0 -0
- /package/dist/{fanout-sidecar-HJV3A7PM.js.map → fanout-sidecar-WWXVHHUH.js.map} +0 -0
- /package/dist/{find-VV6PBIHK.js.map → find-LEBUXVL7.js.map} +0 -0
- /package/dist/{issue-7JJ4Z7E2.js.map → issue-F76PAGIR.js.map} +0 -0
- /package/dist/{ledger-SW6QQOAV.js.map → ledger-M2BKCNVS.js.map} +0 -0
- /package/dist/{liberate-FK7JI2QX.js.map → liberate-ZP7UB57K.js.map} +0 -0
- /package/dist/{link-set-GNGGCFI4.js.map → link-set-ZU4E5J5S.js.map} +0 -0
- /package/dist/{noydb-N5IW6OFZ.js.map → noydb-BNDGEK5X.js.map} +0 -0
- /package/dist/{policy-EAXSJNOT.js.map → policy-IY2YEA3A.js.map} +0 -0
- /package/dist/{post-register-A7HCFBP5.js.map → post-register-XIAHB6KF.js.map} +0 -0
- /package/dist/{register-YBMRLZLO.js.map → register-HB4TQZSV.js.map} +0 -0
- /package/dist/{registry-3LXKNXWI.js.map → registry-6BMBFEXT.js.map} +0 -0
- /package/dist/{registry-4V4YQCXJ.js.map → registry-7CZWF3EQ.js.map} +0 -0
- /package/dist/{registry-ZULMLCJK.js.map → registry-JOFO7RAH.js.map} +0 -0
- /package/dist/{request-withdrawal-SEVUEUDG.js.map → request-withdrawal-UN3TRHWI.js.map} +0 -0
- /package/dist/{reveal-PB3YG544.js.map → reveal-VWXRV2XU.js.map} +0 -0
- /package/dist/{revoke-5QULL5GT.js.map → revoke-OLO2OVR7.js.map} +0 -0
- /package/dist/{signer-ZMH35FT4.js.map → signer-MGGKPYAN.js.map} +0 -0
- /package/dist/{stale-4UNPHWOU.js.map → stale-NBROTA66.js.map} +0 -0
- /package/dist/{storage-QOZKQMID.js.map → storage-3R37QZLA.js.map} +0 -0
- /package/dist/{store-coordination-provider-3AELCZ4Y.js.map → store-coordination-provider-P3IU5JHD.js.map} +0 -0
- /package/dist/{verify-MXN66IIH.js.map → verify-5X37OXRY.js.map} +0 -0
- /package/dist/{walk-H4YE52S2.js.map → walk-E3OVLBFR.js.map} +0 -0
- /package/dist/{withdraw-accessible-HPOVNG2G.js.map → withdraw-accessible-Q2EMATCU.js.map} +0 -0
package/dist/indexing/index.js
CHANGED
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
decodeIdxId,
|
|
8
8
|
encodeIdxId,
|
|
9
9
|
isIdxId
|
|
10
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-BY5YBSXA.js";
|
|
11
11
|
import {
|
|
12
12
|
CollectionIndexes
|
|
13
13
|
} from "../chunk-KPZS5QAQ.js";
|
|
14
14
|
import "../chunk-IGJCYUT5.js";
|
|
15
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-6SYOHUHM.js";
|
|
16
16
|
import "../chunk-PZ5AY32C.js";
|
|
17
17
|
|
|
18
18
|
// src/with-lookup/indexing/active.ts
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
issueAttestationCore
|
|
3
|
+
} from "./chunk-YXIVUWDU.js";
|
|
4
|
+
import "./chunk-QZJEYZ4I.js";
|
|
5
|
+
import "./chunk-ZJADGNYF.js";
|
|
6
|
+
import "./chunk-GEEJPID6.js";
|
|
7
|
+
import "./chunk-SC4JLMZI.js";
|
|
8
|
+
import "./chunk-5WLDZZ6S.js";
|
|
9
|
+
import "./chunk-5HSSTOOG.js";
|
|
10
|
+
import "./chunk-G4MFQXYX.js";
|
|
11
|
+
import "./chunk-LP7BEXCT.js";
|
|
12
|
+
import "./chunk-7U6AB7DZ.js";
|
|
13
|
+
import "./chunk-YTW6ZIPD.js";
|
|
14
|
+
import "./chunk-6SYOHUHM.js";
|
|
15
|
+
import "./chunk-PZ5AY32C.js";
|
|
16
|
+
export {
|
|
17
|
+
issueAttestationCore
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=issue-F76PAGIR.js.map
|
|
@@ -665,7 +665,6 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
|
|
|
665
665
|
* right back out, defeating C6.
|
|
666
666
|
*/
|
|
667
667
|
private _toCacheableRecord;
|
|
668
|
-
/** @internal Untracked put body — call {@link put}, not this. */
|
|
669
668
|
private _putInternal;
|
|
670
669
|
/**
|
|
671
670
|
* Fire registered MV strategies whose dependency set includes this
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* ## Key lifecycle
|
|
23
23
|
*
|
|
24
24
|
* ```
|
|
25
|
-
*
|
|
25
|
+
* secret + salt
|
|
26
26
|
* └─► deriveKey() → KEK (CryptoKey, extractable: false)
|
|
27
27
|
* └─► wrapKey() → wrapped DEK bytes [stored in keyring]
|
|
28
28
|
* └─► unwrapKey() → DEK (CryptoKey) [memory only during session]
|
|
@@ -46,26 +46,26 @@
|
|
|
46
46
|
* between barrel functions (`encrypt`/`decrypt`/`wrapKey`/`unwrapKey`/…).
|
|
47
47
|
*/
|
|
48
48
|
export type EnclaveKey = CryptoKey;
|
|
49
|
-
/** Derive a KEK from a
|
|
50
|
-
export declare function deriveKey(
|
|
49
|
+
/** Derive a KEK from a secret and salt using PBKDF2-SHA256. */
|
|
50
|
+
export declare function deriveKey(secret: string, salt: Uint8Array): Promise<CryptoKey>;
|
|
51
51
|
/**
|
|
52
|
-
* Which AES algorithm/usage a {@link
|
|
52
|
+
* Which AES algorithm/usage a {@link deriveSecretKey} result is for:
|
|
53
53
|
* `'aes-kw'` mints a key-wrapping key (`wrapKey`/`unwrapKey`, e.g. for
|
|
54
54
|
* KEK derivation); `'aes-gcm'` mints a direct encrypt/decrypt key (e.g.
|
|
55
55
|
* for the wrap-DEKs primitive in `with-party/team/wrapped-deks.ts`).
|
|
56
56
|
*/
|
|
57
|
-
export type
|
|
57
|
+
export type SecretKeyUsage = 'aes-kw' | 'aes-gcm';
|
|
58
58
|
/**
|
|
59
|
-
* Derive a non-extractable AES key from a
|
|
59
|
+
* Derive a non-extractable AES key from a secret/credential and salt
|
|
60
60
|
* via PBKDF2-SHA256, generalizing {@link deriveKey}'s AES-KW derivation to
|
|
61
61
|
* also cover AES-GCM-usage keys. Callers pin their own `iterations` and
|
|
62
62
|
* `keyUsage` so an existing call site's exact parameters (and thus its
|
|
63
63
|
* derived-key bytes) are preserved verbatim when migrated onto this
|
|
64
64
|
* shared primitive — this is call-site consolidation, not a KDF change.
|
|
65
65
|
*/
|
|
66
|
-
export declare function
|
|
66
|
+
export declare function deriveSecretKey(secret: string, salt: Uint8Array, params: {
|
|
67
67
|
iterations: number;
|
|
68
|
-
keyUsage:
|
|
68
|
+
keyUsage: SecretKeyUsage;
|
|
69
69
|
}): Promise<CryptoKey>;
|
|
70
70
|
/** Generate a random AES-256-GCM data encryption key. */
|
|
71
71
|
export declare function generateDEK(): Promise<CryptoKey>;
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
*/
|
|
57
57
|
export type { EnclaveKey, EncryptResult } from './crypto.js';
|
|
58
58
|
export { encrypt, decrypt, encryptBytes, decryptBytes, encryptBytesWithAAD, decryptBytesWithAAD, encryptDeterministic, decryptDeterministic, sha256Hex, hmacSha256Hex, } from './crypto.js';
|
|
59
|
-
export { deriveKey,
|
|
60
|
-
export type {
|
|
59
|
+
export { deriveKey, deriveSecretKey, generateDEK, generateSalt, generateIV, wrapKey, unwrapKey, bufferToBase64, base64ToBuffer, derivePresenceKey, deriveDeterministicKey, deriveSealedFieldKey, deriveSealedFieldKeyFromCek, wrapCek, unwrapCek, importCek, } from './crypto.js';
|
|
60
|
+
export type { SecretKeyUsage } from './crypto.js';
|
|
61
61
|
export { resolveStableCek, rewrapBodyToDek, rewrapEnvelope, applyRewrappedBody, isRewrappedUnder } from './record-keys/lifecycle.js';
|
|
62
62
|
export type { RewrappedBody } from './record-keys/lifecycle.js';
|
|
63
63
|
export { RecordCodec } from './record-keys/record-codec.js';
|
package/dist/kernel/errors.d.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* ├─ Crypto errors
|
|
11
11
|
* │ ├─ DecryptionError — AES-GCM tag failure
|
|
12
12
|
* │ ├─ TamperedError — ciphertext modified after write
|
|
13
|
-
* │ └─ InvalidKeyError — wrong
|
|
13
|
+
* │ └─ InvalidKeyError — wrong secret / corrupt keyring
|
|
14
14
|
* ├─ Access errors
|
|
15
15
|
* │ ├─ NoAccessError — no DEK for this collection
|
|
16
16
|
* │ ├─ ReadOnlyError — ro permission, write attempted
|
|
@@ -78,9 +78,9 @@
|
|
|
78
78
|
* import { NoydbError, InvalidKeyError, ConflictError } from '@noy-db/hub'
|
|
79
79
|
*
|
|
80
80
|
* try {
|
|
81
|
-
* await vault.unlock(
|
|
81
|
+
* await vault.unlock(secret)
|
|
82
82
|
* } catch (e) {
|
|
83
|
-
* if (e instanceof InvalidKeyError) {
|
|
83
|
+
* if (e instanceof InvalidKeyError) { showBadSecretUI(); return }
|
|
84
84
|
* if (e instanceof NoydbError) { logToSentry(e.code, e); return }
|
|
85
85
|
* throw e // unexpected — re-throw
|
|
86
86
|
* }
|
|
@@ -125,8 +125,8 @@ export declare class DebugReservedFieldError extends NoydbError {
|
|
|
125
125
|
/**
|
|
126
126
|
* Thrown when AES-GCM decryption fails.
|
|
127
127
|
*
|
|
128
|
-
* The most common cause is a wrong
|
|
129
|
-
* A `DecryptionError` at the wrong
|
|
128
|
+
* The most common cause is a wrong secret or a corrupted ciphertext.
|
|
129
|
+
* A `DecryptionError` at the wrong secret level is caught internally
|
|
130
130
|
* and re-thrown as `InvalidKeyError` — so in practice this surfaces for
|
|
131
131
|
* per-record corruption rather than authentication failures.
|
|
132
132
|
*/
|
|
@@ -146,12 +146,12 @@ export declare class TamperedError extends NoydbError {
|
|
|
146
146
|
constructor(message?: string);
|
|
147
147
|
}
|
|
148
148
|
/**
|
|
149
|
-
* Thrown when key unwrapping fails, typically because the
|
|
149
|
+
* Thrown when key unwrapping fails, typically because the secret is wrong
|
|
150
150
|
* or the keyring file is corrupted.
|
|
151
151
|
*
|
|
152
152
|
* NOYDB uses AES-KW (RFC 3394) to wrap DEKs with the KEK. If AES-KW
|
|
153
153
|
* unwrapping fails, it means either the KEK was derived from the wrong
|
|
154
|
-
*
|
|
154
|
+
* secret (PBKDF2 with 600K iterations) or the keyring bytes are
|
|
155
155
|
* corrupted. This is the error shown to the user on a failed unlock attempt.
|
|
156
156
|
*/
|
|
157
157
|
export declare class InvalidKeyError extends NoydbError {
|
|
@@ -160,7 +160,7 @@ export declare class InvalidKeyError extends NoydbError {
|
|
|
160
160
|
/**
|
|
161
161
|
* Thrown when a keyring's wrapped-DEK set unwraps partially — at least
|
|
162
162
|
* one DEK succeeds (proving the KEK is correct) but at least one fails.
|
|
163
|
-
* The
|
|
163
|
+
* The secret is right; the failed entries are corrupted.
|
|
164
164
|
*
|
|
165
165
|
* This is distinct from {@link InvalidKeyError} so that
|
|
166
166
|
* `NoydbOptions.onInvalidKey: 'reset'` does NOT fire — resetting on
|
|
@@ -273,7 +273,7 @@ export declare class ExportCapabilityError extends NoydbError {
|
|
|
273
273
|
* Thrown when a keyring file's `expires_at` cutoff has passed.
|
|
274
274
|
* Surfaced by `loadKeyring` before any DEK unwrap is attempted —
|
|
275
275
|
* past the cutoff the slot refuses to open even with the right
|
|
276
|
-
*
|
|
276
|
+
* secret. Distinct from PBKDF2 / unwrap errors so consumer code
|
|
277
277
|
* can show a precise "this bundle slot has expired" message instead
|
|
278
278
|
* of the generic decryption-failure UX.
|
|
279
279
|
*
|
|
@@ -948,14 +948,14 @@ export declare class BundleIntegrityError extends NoydbError {
|
|
|
948
948
|
}
|
|
949
949
|
/**
|
|
950
950
|
* Thrown by `readPod` when the bundle carries
|
|
951
|
-
* sealed per-user
|
|
951
|
+
* sealed per-user secrets but no supplied `SealingKeyProvider`
|
|
952
952
|
* has a `.id` (= `pid`) matching the sealed entry's `pid`.
|
|
953
953
|
*
|
|
954
954
|
* Carries the failing pid + the user id so the recipient can
|
|
955
955
|
* surface an actionable prompt:
|
|
956
956
|
*
|
|
957
957
|
* ```
|
|
958
|
-
* BundleSealMismatchError: bundle carries sealed
|
|
958
|
+
* BundleSealMismatchError: bundle carries sealed secret for user "alice"
|
|
959
959
|
* under provider "macos-keychain:com.acme.app/alice@acme.example",
|
|
960
960
|
* but no registered provider matches that pid.
|
|
961
961
|
* ```
|
|
@@ -1290,7 +1290,7 @@ export declare class CustodyNotEnabledError extends NoydbError {
|
|
|
1290
1290
|
* (#267 keyring-grant → team split): enable multi-user grant/revoke/rotate
|
|
1291
1291
|
* with `teamStrategy: withTeam()` from "@noy-db/hub/team" in createNoydb().
|
|
1292
1292
|
* Single-user primitives (owner keyring, unlock, `listUsers`, `updateUser`,
|
|
1293
|
-
*
|
|
1293
|
+
* secret rotate/recover) stay ungated.
|
|
1294
1294
|
*/
|
|
1295
1295
|
export declare class TeamNotEnabledError extends NoydbError {
|
|
1296
1296
|
constructor(message?: string);
|
|
@@ -1386,7 +1386,7 @@ export declare class SessionNotFoundError extends NoydbError {
|
|
|
1386
1386
|
*
|
|
1387
1387
|
* The `operation` field names the specific operation that was blocked
|
|
1388
1388
|
* (e.g. `'export'`, `'grant'`, `'rotate'`) so the caller can surface
|
|
1389
|
-
* a targeted prompt ("Please re-enter your
|
|
1389
|
+
* a targeted prompt ("Please re-enter your secret to export data").
|
|
1390
1390
|
*/
|
|
1391
1391
|
export declare class SessionPolicyError extends NoydbError {
|
|
1392
1392
|
readonly operation: string;
|
|
@@ -1825,7 +1825,7 @@ export declare class PolicyDeniedError extends NoydbError {
|
|
|
1825
1825
|
}
|
|
1826
1826
|
/**
|
|
1827
1827
|
* Raised by `createNoydb({ ... })` when the developer omits a recovery
|
|
1828
|
-
* profile and `recover-
|
|
1828
|
+
* profile and `recover-secret` is not explicitly disabled. Vaults
|
|
1829
1829
|
* MUST have at least one recovery path enrolled before being
|
|
1830
1830
|
* production-ready (paper, shamir, multi-channel, or admin-mediated).
|
|
1831
1831
|
*
|
|
@@ -1835,10 +1835,10 @@ export declare class RecoveryNotEnrolledError extends NoydbError {
|
|
|
1835
1835
|
constructor(message?: string);
|
|
1836
1836
|
}
|
|
1837
1837
|
/**
|
|
1838
|
-
* Raised by `openVault` when a managed-
|
|
1838
|
+
* Raised by `openVault` when a managed-secret-mode vault has no
|
|
1839
1839
|
* STRONG recovery profile enrolled.
|
|
1840
1840
|
*
|
|
1841
|
-
* Managed mode means the user never types a
|
|
1841
|
+
* Managed mode means the user never types a secret — the unlock
|
|
1842
1842
|
* material lives in a `SealingKeyProvider` (`at-*` package). If that
|
|
1843
1843
|
* provider's key is lost AND no strong recovery is enrolled, the
|
|
1844
1844
|
* vault is irrecoverable. To prevent that footgun, managed-mode vaults
|
|
@@ -1846,11 +1846,11 @@ export declare class RecoveryNotEnrolledError extends NoydbError {
|
|
|
1846
1846
|
* multi-channel / admin-mediated when those ship).
|
|
1847
1847
|
*
|
|
1848
1848
|
* Paper recovery alone is NOT strong under managed mode: the user has
|
|
1849
|
-
* no memorized
|
|
1849
|
+
* no memorized secret to fall back on, so losing the paper sheet =
|
|
1850
1850
|
* losing every record permanently.
|
|
1851
1851
|
*
|
|
1852
|
-
* Bootstrap with `db.openVaultAndEnrollRecovery(vault, { recovery: [{ profile: "shamir", k, n }] })`
|
|
1853
|
-
* to atomically create-and-enroll, or call `db.enrollRecovery(vault, { profile: "shamir", ... })`
|
|
1852
|
+
* Bootstrap with `db.team.openVaultAndEnrollRecovery(vault, { recovery: [{ profile: "shamir", k, n }] })`
|
|
1853
|
+
* to atomically create-and-enroll, or call `db.team.enrollRecovery(vault, { profile: "shamir", ... })`
|
|
1854
1854
|
* separately before re-attempting `openVault`.
|
|
1855
1855
|
*/
|
|
1856
1856
|
export declare class ManagedRecoveryNotEnrolledError extends NoydbError {
|
|
@@ -1858,7 +1858,7 @@ export declare class ManagedRecoveryNotEnrolledError extends NoydbError {
|
|
|
1858
1858
|
constructor(vault: string);
|
|
1859
1859
|
}
|
|
1860
1860
|
/**
|
|
1861
|
-
* Raised by `db.
|
|
1861
|
+
* Raised by `db.recoverSecret` / `db.enrollRecovery` /
|
|
1862
1862
|
* `db.rotateRecovery` when the developer requests a recovery profile
|
|
1863
1863
|
* not yet wired in this hub release.
|
|
1864
1864
|
*
|
package/dist/kernel/noydb.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import type { NoydbOptions, NoydbEventMap, GrantOptions, RevokeOptions, UpdateUserOptions, UserInfo, PushResult, PullResult, PushOptions, PullOptions, SyncStatus, NoydbStore, AccessibleVault, ListAccessibleVaultsOptions, QueryAcrossOptions, QueryAcrossResult, TranslatorAuditEntry, WriteConflict, UserApiFactory, ActiveTier, FactorProofBundle, GateName, VaultPolicy } from './types.js';
|
|
2
|
-
import type {
|
|
3
|
-
import { type RotatePassphraseInput, type RecoverPassphraseInput, type RecoverPassphraseResult, type RotateRecoveryOptions, type RotateRecoveryResult, type EnrollRecoveryResult, type RecoveryEnrollmentInput, type RecoveryProof } from '../with-party/team/rotate-recover.js';
|
|
4
|
-
import type { RecoverUserOptions } from '../with-party/team/peer-recover.js';
|
|
5
|
-
import { type PaperRecoveryEntry, type ShamirRecoveryEntry } from '../with-party/team/recovery.js';
|
|
2
|
+
import type { SecretPolicy } from './validation.js';
|
|
6
3
|
import { type CoordinationProvider } from '../port/by/default-provider.js';
|
|
7
4
|
import type { Cover } from '../with-party/directory/cover/types.js';
|
|
8
5
|
import type { SetCoverInput } from '../with-party/directory/cover/schema.js';
|
|
@@ -13,9 +10,6 @@ import { WriteHookRegistry, type WriteHook, type Unsubscribe } from '../port/wit
|
|
|
13
10
|
import { ServiceBus } from '../port/with/service-bus.js';
|
|
14
11
|
import { type TabCoordinationOptions, type TabRole, type TabPresence } from '../with-party/tab-coordination.js';
|
|
15
12
|
import type { UnlockedKeyring } from '../with-party/team/keyring.js';
|
|
16
|
-
import { type EnrollAuthenticatorOptions, type UpdateAuthenticatorOptions } from '../with-party/team/authenticators.js';
|
|
17
|
-
import { type QuickUnlockState } from '../with-party/session/unlock-state.js';
|
|
18
|
-
import type { KeyringAuthenticator } from './types.js';
|
|
19
13
|
import type { SyncEngine } from '../with-party/team/sync.js';
|
|
20
14
|
import type { SyncTransaction } from '../with-party/team/sync-transaction.js';
|
|
21
15
|
import { type SnapshotMeta } from '../with-fork/snapshots/strategy.js';
|
|
@@ -24,6 +18,7 @@ import { TxContext } from '../with-commit/tx/transaction.js';
|
|
|
24
18
|
import type { DryRunResult } from '../with-commit/tx/dry-run.js';
|
|
25
19
|
import { type ForgetStrategy } from '../with-audit/forget/strategy.js';
|
|
26
20
|
import { type CustodyStrategy } from '../with-party/custody/strategy.js';
|
|
21
|
+
import { TeamFacade } from '../with-party/team/noydb-facade.js';
|
|
27
22
|
/** NoydbOptions with the store resolved to a non-optional value (internal use only). */
|
|
28
23
|
type ResolvedNoydbOptions = NoydbOptions & {
|
|
29
24
|
readonly store: NoydbStore;
|
|
@@ -56,7 +51,7 @@ export declare class Noydb {
|
|
|
56
51
|
private readonly keyringCache;
|
|
57
52
|
private readonly syncEngines;
|
|
58
53
|
/**
|
|
59
|
-
* Per-vault active session tier — defaults to `1` after a
|
|
54
|
+
* Per-vault active session tier — defaults to `1` after a secret
|
|
60
55
|
* unlock; tier-2 / tier-3 unlocks downgrade it. Used by
|
|
61
56
|
* {@link checkGate} to evaluate `gate.minTier`.
|
|
62
57
|
*/
|
|
@@ -102,7 +97,20 @@ export declare class Noydb {
|
|
|
102
97
|
private readonly policyManager;
|
|
103
98
|
/** Pre-resolved policy-gate engine function (mirrors `coordinationProvider`/`userApiFactory` above). */
|
|
104
99
|
private readonly policyCheckGate;
|
|
105
|
-
|
|
100
|
+
/**
|
|
101
|
+
* Credential and multi-user operations — enrolment, secret rotation,
|
|
102
|
+
* recovery, quick-unlock (#846).
|
|
103
|
+
*
|
|
104
|
+
* Public because 23 methods on this class did nothing but restate a
|
|
105
|
+
* TeamFacade signature and forward to it, so every signature had to be
|
|
106
|
+
* hand-kept in sync with its counterpart. `db.team.rotateSecret(…)`
|
|
107
|
+
* reads the same and has one source of truth.
|
|
108
|
+
*
|
|
109
|
+
* A getter, not a field, so it appears in the prototype-based kernel API
|
|
110
|
+
* manifest — an instance field is invisible to it (the same reason
|
|
111
|
+
* `custodyStrategy` became one in #838).
|
|
112
|
+
*/
|
|
113
|
+
get team(): TeamFacade;
|
|
106
114
|
/**
|
|
107
115
|
* Currently-running multi-record transaction, set by
|
|
108
116
|
* `runTransaction` at the start of Phase 2 (commit) and cleared in
|
|
@@ -281,9 +289,9 @@ export declare class Noydb {
|
|
|
281
289
|
*
|
|
282
290
|
* The walk is a two-step pipeline: first ask the adapter for the
|
|
283
291
|
* universe of compartments it stores, then for each one attempt to
|
|
284
|
-
* load the calling user's keyring with the in-memory
|
|
292
|
+
* load the calling user's keyring with the in-memory secret.
|
|
285
293
|
* Compartments where the user has no keyring file (`NoAccessError`)
|
|
286
|
-
* or where the
|
|
294
|
+
* or where the secret doesn't unwrap (`InvalidKeyError`) are
|
|
287
295
|
* silently dropped from the result — the existence of those
|
|
288
296
|
* compartments is **not** confirmed in the return value.
|
|
289
297
|
*
|
|
@@ -304,15 +312,15 @@ export declare class Noydb {
|
|
|
304
312
|
* **Known edge case.** A vault whose keyring file
|
|
305
313
|
* happens to have an empty wrapped-DEKs map (because the owner
|
|
306
314
|
* granted access before any collection was created) will pass the
|
|
307
|
-
* `loadKeyring` probe with *any*
|
|
315
|
+
* `loadKeyring` probe with *any* secret — there are no DEKs to
|
|
308
316
|
* unwrap, so the integrity-checked unwrap that normally rejects
|
|
309
|
-
* wrong
|
|
317
|
+
* wrong secrets never runs. The result is that an unrelated
|
|
310
318
|
* principal who happens to know the user-id and the vault
|
|
311
319
|
* name can show up in `listAccessibleVaults()` as having
|
|
312
320
|
* access to that empty vault. They cannot read any actual
|
|
313
321
|
* data (their DEK set is empty), so this is a metadata leak
|
|
314
322
|
* (vault name + user-id), not a content leak. Hardening this
|
|
315
|
-
* via a
|
|
323
|
+
* via a secret canary in the keyring file is a deferred
|
|
316
324
|
* follow-up.
|
|
317
325
|
*
|
|
318
326
|
* **Cost.** O(compartments × keyring-load) — one `loadKeyring`
|
|
@@ -405,15 +413,15 @@ export declare class Noydb {
|
|
|
405
413
|
*/
|
|
406
414
|
_resolveBackend(vaultId: string): NoydbStore;
|
|
407
415
|
/**
|
|
408
|
-
* Change the current user's
|
|
416
|
+
* Change the current user's secret for a vault.
|
|
409
417
|
*
|
|
410
|
-
* Validates the new
|
|
411
|
-
* `{
|
|
412
|
-
* fixtures and migrations. Pass a `
|
|
418
|
+
* Validates the new secret against the strength rules. Pass
|
|
419
|
+
* `{ allowWeakSecret: true }` to skip — typically only useful for
|
|
420
|
+
* fixtures and migrations. Pass a `SecretPolicy` to override the
|
|
413
421
|
* default rules (e.g. consumer-tunable `pattern` / `customValidator`).
|
|
414
422
|
*/
|
|
415
|
-
changeSecret(vault: string,
|
|
416
|
-
|
|
423
|
+
changeSecret(vault: string, newSecret: string, options?: SecretPolicy & {
|
|
424
|
+
allowWeakSecret?: boolean;
|
|
417
425
|
}): Promise<void>;
|
|
418
426
|
/** Push local changes to remote for a vault. */
|
|
419
427
|
push(vault: string, options?: PushOptions): Promise<PushResult>;
|
|
@@ -671,7 +679,7 @@ export declare class Noydb {
|
|
|
671
679
|
* denial; resolves with `void` on success.
|
|
672
680
|
*
|
|
673
681
|
* @param vault The vault whose policy applies.
|
|
674
|
-
* @param gate Gate name — built-in (e.g. `'rotate-
|
|
682
|
+
* @param gate Gate name — built-in (e.g. `'rotate-secret'`)
|
|
675
683
|
* or app-defined (`app:*`).
|
|
676
684
|
* @param presented Caller-supplied factor proofs.
|
|
677
685
|
*/
|
|
@@ -686,12 +694,12 @@ export declare class Noydb {
|
|
|
686
694
|
* Two enforcement modes:
|
|
687
695
|
*
|
|
688
696
|
* 1. **Managed-mode mandatory strong-recovery.** When
|
|
689
|
-
* `
|
|
697
|
+
* `secretMode === 'managed'`, the vault MUST have at least
|
|
690
698
|
* one **strong** recovery profile (Shamir today). Paper alone is
|
|
691
699
|
* rejected because under managed mode the user has no memorized
|
|
692
|
-
*
|
|
700
|
+
* secret, so losing the paper sheet = losing every record.
|
|
693
701
|
* This check is unconditional — independent of `requireRecovery`
|
|
694
|
-
* and the `recover-
|
|
702
|
+
* and the `recover-secret` gate.
|
|
695
703
|
*
|
|
696
704
|
* 2. **Opt-in strict mandatory-recovery.** When
|
|
697
705
|
* `requireRecovery: true` is set on createNoydb (and the gate is
|
|
@@ -710,26 +718,6 @@ export declare class Noydb {
|
|
|
710
718
|
* @internal
|
|
711
719
|
*/
|
|
712
720
|
_setActiveTier(vault: string, tier: ActiveTier): void;
|
|
713
|
-
/** Add a tier-2 authenticator slot — see {@link TeamFacade.enrollAuthenticator}. */
|
|
714
|
-
enrollAuthenticator(vault: string, options: EnrollAuthenticatorOptions, factors?: FactorProofBundle): Promise<void>;
|
|
715
|
-
/** Remove a tier-2 authenticator slot — see {@link TeamFacade.removeAuthenticator}. */
|
|
716
|
-
removeAuthenticator(vault: string, slotId: string, factors?: FactorProofBundle): Promise<void>;
|
|
717
|
-
/** Read the slot list for a vault — see {@link TeamFacade.listAuthenticators}. */
|
|
718
|
-
listAuthenticators(vault: string): Promise<ReadonlyArray<KeyringAuthenticator>>;
|
|
719
|
-
/** Mutate an authenticator slot's `meta` — see {@link TeamFacade.updateAuthenticator}. */
|
|
720
|
-
updateAuthenticator(vault: string, slotId: string, options: UpdateAuthenticatorOptions, factors?: FactorProofBundle): Promise<void>;
|
|
721
|
-
/** Native WebAuthn enrollment — see {@link TeamFacade.enrollWebAuthn}. */
|
|
722
|
-
enrollWebAuthn(vault: string, ceremony: (keyring: UnlockedKeyring) => Promise<EnrollAuthenticatorOptions>, factors?: FactorProofBundle): Promise<{
|
|
723
|
-
credentialId: string;
|
|
724
|
-
}>;
|
|
725
|
-
/** List webauthn-method slots — see {@link TeamFacade.listWebAuthnSlots}. */
|
|
726
|
-
listWebAuthnSlots(vault: string): Promise<ReadonlyArray<{
|
|
727
|
-
id: string;
|
|
728
|
-
enrolledAt: string;
|
|
729
|
-
credentialId: string;
|
|
730
|
-
}>>;
|
|
731
|
-
/** Unlock via a tier-2 authenticator slot — see {@link TeamFacade.unlockViaAuthenticator}. */
|
|
732
|
-
unlockViaAuthenticator(vault: string, slotId: string, verify: (slot: KeyringAuthenticator) => Promise<UnlockedKeyring>): Promise<UnlockedKeyring>;
|
|
733
721
|
/**
|
|
734
722
|
* Set the owner-curated cover for a vault. Throws
|
|
735
723
|
* `ValidationError` if the developer did not opt the hub into
|
|
@@ -759,53 +747,6 @@ export declare class Noydb {
|
|
|
759
747
|
getCover(vault: string, opts?: {
|
|
760
748
|
readonly locale?: string;
|
|
761
749
|
}): Promise<Cover | undefined>;
|
|
762
|
-
/** English summary of the configured auth model — see {@link TeamFacade.describeAuthConfig}. */
|
|
763
|
-
describeAuthConfig(vault: string): Promise<string>;
|
|
764
|
-
/** Mermaid `flowchart TB` source for the auth graph — see {@link TeamFacade.diagramAuthConfig}. */
|
|
765
|
-
diagramAuthConfig(vault: string): Promise<string>;
|
|
766
|
-
/** Per-user enrollment summary — see {@link TeamFacade.describeUserAuth}. */
|
|
767
|
-
describeUserAuth(vault: string, userId: string, factors?: FactorProofBundle): Promise<string>;
|
|
768
|
-
/** Bulk per-user enrollment summary — see {@link TeamFacade.describeAllUsersAuth}. */
|
|
769
|
-
describeAllUsersAuth(vault: string, factors?: FactorProofBundle): Promise<Array<{
|
|
770
|
-
userId: string;
|
|
771
|
-
description: string;
|
|
772
|
-
}>>;
|
|
773
|
-
/** Rotate the user's passphrase (user remembers old) — see {@link TeamFacade.rotatePassphrase}. */
|
|
774
|
-
rotatePassphrase(vault: string, input: RotatePassphraseInput, factors?: FactorProofBundle): Promise<void>;
|
|
775
|
-
/** Reset the passphrase using a recovery proof — see {@link TeamFacade.recoverPassphrase}. */
|
|
776
|
-
recoverPassphrase(vault: string, input: RecoverPassphraseInput, factors?: FactorProofBundle): Promise<RecoverPassphraseResult>;
|
|
777
|
-
/** Deliberate paper/Shamir recovery-code regeneration — see {@link TeamFacade.rotateRecovery}. */
|
|
778
|
-
rotateRecovery(vault: string, options: RotateRecoveryOptions, factors?: FactorProofBundle): Promise<RotateRecoveryResult>;
|
|
779
|
-
/** Atomic create-and-enroll for managed-mode vaults — see {@link TeamFacade.openVaultAndEnrollRecovery}. */
|
|
780
|
-
openVaultAndEnrollRecovery(vault: string, opts: {
|
|
781
|
-
readonly recovery: ReadonlyArray<RecoveryEnrollmentInput>;
|
|
782
|
-
readonly locale?: string;
|
|
783
|
-
}): Promise<{
|
|
784
|
-
readonly vault: Vault;
|
|
785
|
-
readonly recoveryEnrollments: ReadonlyArray<EnrollRecoveryResult>;
|
|
786
|
-
}>;
|
|
787
|
-
/** Recovery flow under managed-passphrase mode — see {@link TeamFacade.recoverManagedPassphrase}. */
|
|
788
|
-
recoverManagedPassphrase(vault: string, options: {
|
|
789
|
-
readonly recoveryProof: RecoveryProof;
|
|
790
|
-
readonly passphrasePolicy?: PassphrasePolicy;
|
|
791
|
-
}): Promise<void>;
|
|
792
|
-
/** Atomic peer-recovery of an existing user's keyring — see {@link TeamFacade.recoverUser}. */
|
|
793
|
-
recoverUser(vault: string, options: RecoverUserOptions, factors?: FactorProofBundle): Promise<void>;
|
|
794
|
-
/** Persist a recovery enrollment (paper or Shamir) — see {@link TeamFacade.enrollRecovery}. */
|
|
795
|
-
enrollRecovery(vault: string, enrollment: RecoveryEnrollmentInput): Promise<EnrollRecoveryResult>;
|
|
796
|
-
/** Read the persisted recovery entries (paper + Shamir) — see {@link TeamFacade.listRecoveryEntries}. */
|
|
797
|
-
listRecoveryEntries(vault: string): Promise<{
|
|
798
|
-
paper: ReadonlyArray<PaperRecoveryEntry>;
|
|
799
|
-
shamir: ReadonlyArray<ShamirRecoveryEntry>;
|
|
800
|
-
}>;
|
|
801
|
-
/** Register a tier-3 quick-unlock state — see {@link TeamFacade.enrollUnlock}. */
|
|
802
|
-
enrollUnlock(vault: string, state: QuickUnlockState, factors?: FactorProofBundle): Promise<void>;
|
|
803
|
-
/** Resume a session via the registered tier-3 state — see {@link TeamFacade.unlockViaPin}. */
|
|
804
|
-
unlockViaPin(vault: string, resume: (state: QuickUnlockState) => Promise<UnlockedKeyring>): Promise<UnlockedKeyring | undefined>;
|
|
805
|
-
/** Drop the tier-3 state for a vault — see {@link TeamFacade.clearQuickUnlock}. */
|
|
806
|
-
clearQuickUnlock(vault: string): void;
|
|
807
|
-
/** Public defensive-copy accessor for the unlocked keyring — see {@link TeamFacade.getKeyring}. */
|
|
808
|
-
getKeyring(vault: string): Promise<UnlockedKeyring>;
|
|
809
750
|
/**
|
|
810
751
|
* Live-reference variant used by the hub's own code paths. Internal
|
|
811
752
|
* mutations on `deks` (e.g. {@link ensureCollectionDEK} adding a
|