@noy-db/hub 0.5.0 → 0.6.0-pre.0
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-67SBPMMH.js +20 -0
- package/dist/attestation/index.js +18 -18
- package/dist/{backup-ENTZYW37.js → backup-GAYWQAFN.js} +16 -11
- package/dist/backup-GAYWQAFN.js.map +1 -0
- package/dist/blobs/index.js +20 -20
- package/dist/broker/index.js +12 -12
- package/dist/bundle-handle-5OUAI7CV.js +36 -0
- package/dist/bundle-handle-5OUAI7CV.js.map +1 -0
- package/dist/cargo/index.js +36 -36
- package/dist/{chunk-V3EGXDFN.js → chunk-24UICKTB.js} +3 -3
- package/dist/{chunk-77AEMXFA.js → chunk-24ZLWWEO.js} +1 -1
- package/dist/chunk-24ZLWWEO.js.map +1 -0
- package/dist/{chunk-6PFST3FC.js → chunk-27TCYH6G.js} +5 -5
- package/dist/{chunk-PTSVGKSR.js → chunk-2KIV7BEK.js} +2 -2
- package/dist/{chunk-3LYMOSY7.js → chunk-2LGDCNFJ.js} +2 -2
- package/dist/{chunk-NWK6SVBM.js → chunk-35EBKWQU.js} +3 -3
- package/dist/{chunk-QMCWYN6O.js → chunk-3737A6EA.js} +3 -3
- package/dist/{chunk-5UKUOMO6.js → chunk-3CLZY46Y.js} +464 -237
- package/dist/chunk-3CLZY46Y.js.map +1 -0
- package/dist/{chunk-G7ZIMGPQ.js → chunk-3EO7RZLJ.js} +6 -6
- package/dist/{chunk-GYJRDALN.js → chunk-3FSX6LDG.js} +2 -2
- package/dist/{chunk-4SG5TOXK.js → chunk-3HYWYLXL.js} +2 -2
- package/dist/{chunk-653KOQ7A.js → chunk-3IIPWA75.js} +11 -11
- package/dist/{chunk-IQ423YMK.js → chunk-3UK6STWO.js} +3 -3
- package/dist/chunk-46V67XP5.js +117 -0
- package/dist/chunk-46V67XP5.js.map +1 -0
- package/dist/{chunk-F5UWVF6Z.js → chunk-4HDYQL3J.js} +2 -2
- package/dist/{chunk-J7YVY7TW.js → chunk-4MQDV3HZ.js} +2 -2
- package/dist/{chunk-UC5Y7OEJ.js → chunk-4UVDI4XE.js} +3 -3
- package/dist/{chunk-4DGBZEV6.js → chunk-4VCWI42L.js} +2 -2
- package/dist/{chunk-GIGLOQL7.js → chunk-747LRSOO.js} +2 -2
- package/dist/{chunk-W7C7MMIS.js → chunk-7F4DBNSP.js} +3 -3
- package/dist/{chunk-5EKL6BXI.js → chunk-7G6VDWXB.js} +3 -3
- package/dist/{chunk-PZRYKOKP.js → chunk-AHLJSVRL.js} +2 -2
- package/dist/{chunk-L67H6FAQ.js → chunk-AR2JDFAE.js} +2 -2
- package/dist/{chunk-TJOUKMWF.js → chunk-BPTZ4K5L.js} +11 -11
- package/dist/{chunk-MFW466PX.js → chunk-CCZJJ4I2.js} +4 -4
- package/dist/{chunk-OKBNFUUX.js → chunk-CJ73OLMW.js} +2 -2
- package/dist/{chunk-FHK6WWUE.js → chunk-CYQOUTMY.js} +3 -3
- package/dist/{chunk-LQVRK2XJ.js → chunk-DCMQR46R.js} +5 -5
- package/dist/{chunk-QTMZDMJ6.js → chunk-DG27IUVI.js} +2 -2
- package/dist/{chunk-XVK7TULT.js → chunk-DMQCLZ4Z.js} +8 -6
- package/dist/chunk-DMQCLZ4Z.js.map +1 -0
- package/dist/{chunk-IHYSIPEK.js → chunk-DPJTDNUF.js} +68 -34
- package/dist/chunk-DPJTDNUF.js.map +1 -0
- package/dist/{chunk-PKBONLCP.js → chunk-E6427JU2.js} +2 -2
- package/dist/{chunk-KDWBVCIX.js → chunk-EK7DT5BT.js} +220 -13
- package/dist/chunk-EK7DT5BT.js.map +1 -0
- package/dist/chunk-EPFF7LOX.js +14 -0
- package/dist/chunk-EPFF7LOX.js.map +1 -0
- package/dist/{chunk-XID22NOA.js → chunk-F3GVO44K.js} +6 -6
- package/dist/{chunk-U2ID5A2I.js → chunk-FAXZQ5UF.js} +2 -2
- package/dist/{chunk-P6UIVLZK.js → chunk-FNSMZQS4.js} +2 -2
- package/dist/{chunk-NIKQQXI2.js → chunk-FUHKW252.js} +2 -2
- package/dist/{chunk-623QEHDB.js → chunk-FY343IZR.js} +8 -8
- package/dist/{chunk-KPZS5QAQ.js → chunk-GQ3BX5EA.js} +9 -1
- package/dist/chunk-GQ3BX5EA.js.map +1 -0
- package/dist/{chunk-7P4LL3JH.js → chunk-GS5RT2KK.js} +4 -4
- package/dist/{chunk-IM2KST7E.js → chunk-HFKGIBMD.js} +3 -3
- package/dist/{chunk-AR5D76T2.js → chunk-HNGSV2YC.js} +129 -1
- package/dist/chunk-HNGSV2YC.js.map +1 -0
- package/dist/chunk-HNHCQ556.js +63 -0
- package/dist/chunk-HNHCQ556.js.map +1 -0
- package/dist/chunk-HS7HNYBD.js +91 -0
- package/dist/chunk-HS7HNYBD.js.map +1 -0
- package/dist/{chunk-FT5Y4VSP.js → chunk-HVQGCKY4.js} +2 -2
- package/dist/{chunk-MYSNNMJ3.js → chunk-HXGUIPQB.js} +3 -3
- package/dist/{chunk-GTQF32TP.js → chunk-JEM2IGS3.js} +9 -9
- package/dist/chunk-JH3OHQM4.js +260 -0
- package/dist/chunk-JH3OHQM4.js.map +1 -0
- package/dist/{chunk-ALUVACKT.js → chunk-JIUVJ4M7.js} +2 -2
- package/dist/{chunk-NJHQE4LT.js → chunk-JRCYZEHU.js} +2 -2
- package/dist/{chunk-G3ORJ3IQ.js → chunk-JSRU5W2M.js} +5 -5
- package/dist/{chunk-SBGXQK5I.js → chunk-JXIDGFKS.js} +2 -2
- package/dist/{chunk-VYYM3MEN.js → chunk-KHKKD62N.js} +16 -2
- package/dist/chunk-KHKKD62N.js.map +1 -0
- package/dist/{chunk-FQ5CHJR7.js → chunk-KUDZVJKQ.js} +21 -2
- package/dist/chunk-KUDZVJKQ.js.map +1 -0
- package/dist/{chunk-MGXUAID4.js → chunk-KZ3KMDN3.js} +2 -2
- package/dist/{chunk-HGDXJVK2.js → chunk-LBGPO5RL.js} +6 -6
- package/dist/{chunk-F2WWHKO7.js → chunk-LTU4FLHG.js} +57 -27
- package/dist/chunk-LTU4FLHG.js.map +1 -0
- package/dist/{chunk-CLE3TMIS.js → chunk-MC2LFTQM.js} +5 -2
- package/dist/{chunk-ECGDJU5R.js → chunk-MJWCLSQL.js} +17 -8
- package/dist/chunk-MJWCLSQL.js.map +1 -0
- package/dist/{chunk-EAN4TAPC.js → chunk-MSWYQLMQ.js} +2 -2
- package/dist/{chunk-WK7ULBTP.js → chunk-MVOWXQHN.js} +5 -3
- package/dist/chunk-MVOWXQHN.js.map +1 -0
- package/dist/{chunk-K5OFKXUG.js → chunk-MXZ5TSTR.js} +118 -4
- package/dist/chunk-MXZ5TSTR.js.map +1 -0
- package/dist/{chunk-OKRXXFZZ.js → chunk-MZ5ZFO2D.js} +3 -3
- package/dist/{chunk-RQILGK3N.js → chunk-NQCNSVGI.js} +5 -5
- package/dist/{chunk-EFJAAFBW.js → chunk-NQRJ5AJO.js} +2 -2
- package/dist/{chunk-Q2SEJMP2.js → chunk-NVU7ZMPN.js} +2 -2
- package/dist/{chunk-Y2PTKKIN.js → chunk-OF3L2SD6.js} +2 -2
- package/dist/{chunk-MDRCEA56.js → chunk-OMSAULZM.js} +11 -11
- package/dist/{chunk-SL3PLML2.js → chunk-OSFPNKY4.js} +3 -3
- package/dist/{chunk-XX7YB5BI.js → chunk-P7NGLLUF.js} +5 -5
- package/dist/{chunk-QITP2JGX.js → chunk-PGAPBZEK.js} +7 -7
- package/dist/{chunk-KJNMTE2W.js → chunk-PP5CO2PR.js} +6 -6
- package/dist/{chunk-FZAP4JNC.js → chunk-RLWY6Z44.js} +227 -41
- package/dist/chunk-RLWY6Z44.js.map +1 -0
- package/dist/{chunk-NG4AQIYJ.js → chunk-ROWL352P.js} +5 -5
- package/dist/{chunk-V4O6YZSP.js → chunk-RPXL6KSX.js} +4 -4
- package/dist/{chunk-ODCEOSJF.js → chunk-SKONR2OL.js} +3 -3
- package/dist/{chunk-RM4FIXY2.js → chunk-SRGJET2F.js} +16 -5
- package/dist/chunk-SRGJET2F.js.map +1 -0
- package/dist/{chunk-QQL6XPPG.js → chunk-T4GPR2IR.js} +2 -2
- package/dist/{chunk-WFYKIDCS.js → chunk-TFZ7LLOQ.js} +88 -30
- package/dist/chunk-TFZ7LLOQ.js.map +1 -0
- package/dist/{chunk-NMYH55MW.js → chunk-TLNNHG3A.js} +4 -4
- package/dist/{chunk-DDB626I7.js → chunk-UHXCLPGC.js} +2 -2
- package/dist/{chunk-Q6MXHDSE.js → chunk-V5C5NNBR.js} +4 -4
- package/dist/{chunk-ELJOLQIG.js → chunk-VBY6ZLJT.js} +7 -7
- package/dist/{chunk-RPWMDIGK.js → chunk-VCETL77O.js} +34 -16
- package/dist/chunk-VCETL77O.js.map +1 -0
- package/dist/{chunk-IJV56FWY.js → chunk-VJFMXYKP.js} +2 -2
- package/dist/{chunk-BFG7LD6Z.js → chunk-VMCCGUQB.js} +2 -2
- package/dist/{chunk-PWEMRXPO.js → chunk-W3TVWF6N.js} +2 -2
- package/dist/{chunk-4TXO442D.js → chunk-WLYIROCJ.js} +2 -2
- package/dist/{chunk-MPW6AHTC.js → chunk-XB7LUDKM.js} +4 -4
- package/dist/{chunk-YA7Y3EZP.js → chunk-XBLKM73C.js} +10 -10
- package/dist/{chunk-LXRVTJ5D.js → chunk-YAWK6AWF.js} +2 -2
- package/dist/{chunk-6RDTG6E5.js → chunk-ZGGVOADG.js} +5 -5
- package/dist/{chunk-JLBCK7XM.js → chunk-ZK4CO2KZ.js} +6 -6
- package/dist/{chunk-DSDXAKIP.js → chunk-ZVF37PKE.js} +34 -5
- package/dist/chunk-ZVF37PKE.js.map +1 -0
- package/dist/{chunk-NZEGQWQ5.js → chunk-ZWMO5GL5.js} +5 -5
- package/dist/{chunk-4MSNAB64.js → chunk-ZXJXDHNK.js} +4 -4
- package/dist/classified/index.js +5 -5
- package/dist/{classified-marker-ZALWKOBC.js → classified-marker-MH3ON5OL.js} +3 -3
- package/dist/collection-facade-AHT7FATG.js +45 -0
- package/dist/{computed-YOQCGUCS.js → computed-6G5M3UPH.js} +3 -3
- package/dist/consent/index.js +9 -9
- package/dist/cover/index.js +3 -3
- package/dist/custody/index.js +11 -11
- package/dist/{dead-filter-6DVWST6U.js → dead-filter-U575NGSH.js} +2 -2
- package/dist/debug/index.js +1 -1
- package/dist/{delegation-WMO3Q3O5.js → delegation-PDYL6RWT.js} +10 -10
- package/dist/derivations/index.js +12 -12
- package/dist/derive-AKT4KU36.js +22 -0
- package/dist/directory/index.js +10 -10
- package/dist/{dispatch-VNR3TLBX.js → dispatch-4XIJSFTT.js} +5 -5
- package/dist/{dispatch-TKV4UCKB.js → dispatch-N5HGVUGU.js} +18 -18
- package/dist/{enclave-YWP3QAIQ.js → enclave-OPK24QDR.js} +13 -9
- package/dist/executor-3JZ4POTW.js +28 -0
- package/dist/executor-CYJQLKKI.js +9 -0
- package/dist/executor-S4QIKEHW.js +9 -0
- package/dist/export-accessible-CPTP5STN.js +23 -0
- package/dist/extract-partition-TWXPHVU7.js +38 -0
- package/dist/{fanout-sidecar-WYXO6QQT.js → fanout-sidecar-T2ZGLQFE.js} +9 -9
- package/dist/find-RBBYKXI7.js +11 -0
- package/dist/forget/index.js +9 -9
- package/dist/guards/index.js +4 -4
- package/dist/history/index.js +15 -15
- package/dist/i18n/index.js +14 -14
- package/dist/index.d.ts +35 -7
- package/dist/index.js +276 -201
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +3 -3
- package/dist/introspection/index.js +12 -12
- package/dist/issue-N74C55X6.js +19 -0
- package/dist/kernel/collection.d.ts +10 -2
- package/dist/kernel/cutover-transform.d.ts +64 -0
- package/dist/kernel/enclave/crypto.d.ts +24 -0
- package/dist/kernel/enclave/index.d.ts +2 -1
- package/dist/kernel/errors.d.ts +123 -0
- package/dist/kernel/noydb.d.ts +10 -1
- package/dist/kernel/secret-mode.d.ts +59 -0
- package/dist/kernel/types.d.ts +98 -7
- package/dist/kernel/validation.d.ts +33 -0
- package/dist/kernel/vault.d.ts +18 -6
- package/dist/{ledger-BLYDYRTQ.js → ledger-DONWFC5M.js} +11 -11
- package/dist/liberate-KICI7AJN.js +24 -0
- package/dist/{link-set-7F5ZPDEB.js → link-set-2TTP4VLO.js} +11 -11
- package/dist/managed-secret-EAOYWRYF.js +27 -0
- package/dist/materialized-views/index.js +24 -24
- package/dist/money/index.js +3 -3
- package/dist/noydb-6W2XGQCS.js +83 -0
- package/dist/overlay-views/index.js +6 -6
- package/dist/periods/index.js +16 -16
- package/dist/pod/index.js +121 -12
- package/dist/policy/index.js +4 -4
- package/dist/port/to/index.d.ts +3 -1
- package/dist/port/to/locator.d.ts +84 -0
- package/dist/port/with/device-seal-strategy.d.ts +16 -0
- package/dist/port/with/strategies.d.ts +2 -0
- package/dist/portability/index.js +8 -8
- package/dist/{post-register-PQSY544J.js → post-register-ORQOQJCS.js} +6 -6
- package/dist/query/index.js +4 -4
- package/dist/reduce/index.js +4 -4
- package/dist/register-LHETZRJM.js +32 -0
- package/dist/registry-AMAZ6QRZ.js +19 -0
- package/dist/registry-CZVINVQH.js +9 -0
- package/dist/registry-IKUR2MXD.js +9 -0
- package/dist/registry-JRIN447B.js +18 -0
- package/dist/request-withdrawal-2DN2RGCO.js +31 -0
- package/dist/{reveal-HY7DZST4.js → reveal-AG4SCHUQ.js} +6 -6
- package/dist/revoke-ZX4NM2CJ.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/schema-update/index.js +6 -6
- package/dist/sealed-record/index.js +12 -12
- package/dist/search/index.js +4 -4
- package/dist/{seed-ALU3BHFS.js → seed-IRCDGIRK.js} +11 -11
- package/dist/sequence/index.js +9 -9
- package/dist/session/index.js +9 -9
- package/dist/shadow/index.js +2 -2
- package/dist/signer-7KHD4OL2.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/{stale-U3WO5MYN.js → stale-K734VACF.js} +10 -10
- package/dist/storage-4H2GF6RQ.js +23 -0
- package/dist/{store-coordination-provider-AHGFEMFA.js → store-coordination-provider-4SKLSFUG.js} +3 -3
- package/dist/sync/index.js +10 -10
- package/dist/team/index.js +27 -15
- package/dist/tiers/index.js +10 -10
- package/dist/to/index.js +28 -3
- package/dist/to/index.js.map +1 -1
- package/dist/transactions/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/{verify-JEIXSK5U.js → verify-RO5RTZOJ.js} +5 -5
- package/dist/walk-MQHYNDLZ.js +21 -0
- package/dist/with-audit/guards/registry.d.ts +8 -1
- package/dist/with-audit/guards/types.d.ts +5 -0
- package/dist/with-audit/periods/index.d.ts +1 -1
- package/dist/with-audit/periods/periods.d.ts +7 -0
- package/dist/with-formula/derivations/registry.d.ts +6 -0
- package/dist/with-formula/derivations/types.d.ts +5 -0
- package/dist/with-lookup/indexing/eager-indexes.d.ts +10 -0
- package/dist/with-party/team/device-seal.d.ts +25 -0
- package/dist/with-party/team/echo-ceremony.d.ts +74 -0
- package/dist/with-party/team/echo-secret.d.ts +56 -0
- package/dist/with-party/team/index.d.ts +8 -0
- package/dist/with-party/team/keyring.d.ts +71 -9
- package/dist/with-party/team/rotate-recover.d.ts +99 -5
- package/dist/with-pod/bundle-handle.d.ts +9 -0
- package/dist/with-pod/bundle.d.ts +100 -2
- package/dist/with-pod/format.d.ts +92 -1
- package/dist/with-pod/index.d.ts +22 -1
- package/dist/with-pod/open.d.ts +117 -0
- package/dist/with-pod/redirect.d.ts +78 -0
- package/dist/with-pod/signature.d.ts +13 -0
- package/dist/with-shape/introspection/behaviors.d.ts +100 -0
- package/dist/with-shape/introspection/derivation-key.d.ts +17 -0
- package/dist/with-shape/introspection/describe.d.ts +36 -0
- package/dist/with-shape/introspection/index.d.ts +1 -0
- package/dist/with-shape/introspection/subsystem-matrix.d.ts +22 -0
- package/dist/with-shape/introspection/types.d.ts +2 -1
- package/dist/with-shape/links/names.d.ts +14 -0
- package/dist/with-shape/manifest/derive.d.ts +86 -0
- package/dist/with-shape/manifest/reserved-collections.d.ts +27 -0
- package/dist/with-shape/manifest/storage.d.ts +62 -0
- package/dist/with-shape/manifest/sync.d.ts +135 -0
- package/dist/with-shape/manifest/types.d.ts +49 -0
- package/dist/with-shape/manifest/writer.d.ts +32 -0
- package/dist/with-shape/persisted-schemas/field-ids.d.ts +29 -0
- package/dist/with-shape/persisted-schemas/register.d.ts +3 -0
- package/dist/with-shape/persisted-schemas/types.d.ts +17 -0
- package/dist/with-shape/schema-update/fence-controller.d.ts +34 -0
- package/dist/with-shape/schema-update/fence.d.ts +9 -0
- package/dist/with-shape/schema-update/strategies.d.ts +18 -2
- package/dist/with-shape/schema-update/types.d.ts +11 -0
- package/dist/with-sync/engine.d.ts +4 -0
- package/dist/with-sync/presence.d.ts +31 -1
- package/dist/withdraw-accessible-JSDQHXHE.js +28 -0
- package/dist/withdraw-accessible-JSDQHXHE.js.map +1 -0
- package/package.json +3 -3
- package/dist/api-M7REIE7H.js +0 -20
- package/dist/backup-ENTZYW37.js.map +0 -1
- package/dist/chunk-5UKUOMO6.js.map +0 -1
- package/dist/chunk-77AEMXFA.js.map +0 -1
- package/dist/chunk-AJAOXFCF.js +0 -129
- package/dist/chunk-AJAOXFCF.js.map +0 -1
- package/dist/chunk-AR5D76T2.js.map +0 -1
- package/dist/chunk-DSDXAKIP.js.map +0 -1
- package/dist/chunk-EBETHILL.js +0 -41
- package/dist/chunk-EBETHILL.js.map +0 -1
- package/dist/chunk-ECGDJU5R.js.map +0 -1
- package/dist/chunk-F2WWHKO7.js.map +0 -1
- package/dist/chunk-FQ5CHJR7.js.map +0 -1
- package/dist/chunk-FUECZSRM.js +0 -23
- package/dist/chunk-FUECZSRM.js.map +0 -1
- package/dist/chunk-FZAP4JNC.js.map +0 -1
- package/dist/chunk-IHYSIPEK.js.map +0 -1
- package/dist/chunk-K5OFKXUG.js.map +0 -1
- package/dist/chunk-KDWBVCIX.js.map +0 -1
- package/dist/chunk-KPZS5QAQ.js.map +0 -1
- package/dist/chunk-RM4FIXY2.js.map +0 -1
- package/dist/chunk-RPWMDIGK.js.map +0 -1
- package/dist/chunk-US2AR4BI.js +0 -25
- package/dist/chunk-US2AR4BI.js.map +0 -1
- package/dist/chunk-VYYM3MEN.js.map +0 -1
- package/dist/chunk-WFYKIDCS.js.map +0 -1
- package/dist/chunk-WK7ULBTP.js.map +0 -1
- package/dist/chunk-XVK7TULT.js.map +0 -1
- package/dist/collection-facade-KI53O6QB.js +0 -45
- package/dist/derive-P2NXWUNB.js +0 -22
- package/dist/executor-M4ZZNX6S.js +0 -28
- package/dist/executor-TI64S4LE.js +0 -9
- package/dist/executor-YBK3I2OT.js +0 -9
- package/dist/export-accessible-GBLYLGW4.js +0 -23
- package/dist/extract-partition-SFV35U2R.js +0 -38
- package/dist/find-HUSSZRBR.js +0 -11
- package/dist/issue-6TIJYWKS.js +0 -19
- package/dist/liberate-TSOW7IG5.js +0 -24
- package/dist/noydb-KFN6M6UJ.js +0 -81
- package/dist/register-S3ECUZPV.js +0 -25
- package/dist/registry-BWD2ED52.js +0 -8
- package/dist/registry-FZOHKUME.js +0 -18
- package/dist/registry-RISV7IDZ.js +0 -19
- package/dist/registry-ZE35A7WC.js +0 -9
- package/dist/request-withdrawal-KXVTQKR5.js +0 -31
- package/dist/revoke-J473JJ22.js +0 -24
- package/dist/signer-XLUKCCH3.js +0 -25
- package/dist/storage-IQONEOYY.js +0 -23
- package/dist/walk-BF36V4SR.js +0 -21
- package/dist/withdraw-accessible-TYTA23XH.js +0 -28
- /package/dist/{api-M7REIE7H.js.map → api-67SBPMMH.js.map} +0 -0
- /package/dist/{chunk-V3EGXDFN.js.map → chunk-24UICKTB.js.map} +0 -0
- /package/dist/{chunk-6PFST3FC.js.map → chunk-27TCYH6G.js.map} +0 -0
- /package/dist/{chunk-PTSVGKSR.js.map → chunk-2KIV7BEK.js.map} +0 -0
- /package/dist/{chunk-3LYMOSY7.js.map → chunk-2LGDCNFJ.js.map} +0 -0
- /package/dist/{chunk-NWK6SVBM.js.map → chunk-35EBKWQU.js.map} +0 -0
- /package/dist/{chunk-QMCWYN6O.js.map → chunk-3737A6EA.js.map} +0 -0
- /package/dist/{chunk-G7ZIMGPQ.js.map → chunk-3EO7RZLJ.js.map} +0 -0
- /package/dist/{chunk-GYJRDALN.js.map → chunk-3FSX6LDG.js.map} +0 -0
- /package/dist/{chunk-4SG5TOXK.js.map → chunk-3HYWYLXL.js.map} +0 -0
- /package/dist/{chunk-653KOQ7A.js.map → chunk-3IIPWA75.js.map} +0 -0
- /package/dist/{chunk-IQ423YMK.js.map → chunk-3UK6STWO.js.map} +0 -0
- /package/dist/{chunk-F5UWVF6Z.js.map → chunk-4HDYQL3J.js.map} +0 -0
- /package/dist/{chunk-J7YVY7TW.js.map → chunk-4MQDV3HZ.js.map} +0 -0
- /package/dist/{chunk-UC5Y7OEJ.js.map → chunk-4UVDI4XE.js.map} +0 -0
- /package/dist/{chunk-4DGBZEV6.js.map → chunk-4VCWI42L.js.map} +0 -0
- /package/dist/{chunk-GIGLOQL7.js.map → chunk-747LRSOO.js.map} +0 -0
- /package/dist/{chunk-W7C7MMIS.js.map → chunk-7F4DBNSP.js.map} +0 -0
- /package/dist/{chunk-5EKL6BXI.js.map → chunk-7G6VDWXB.js.map} +0 -0
- /package/dist/{chunk-PZRYKOKP.js.map → chunk-AHLJSVRL.js.map} +0 -0
- /package/dist/{chunk-L67H6FAQ.js.map → chunk-AR2JDFAE.js.map} +0 -0
- /package/dist/{chunk-TJOUKMWF.js.map → chunk-BPTZ4K5L.js.map} +0 -0
- /package/dist/{chunk-MFW466PX.js.map → chunk-CCZJJ4I2.js.map} +0 -0
- /package/dist/{chunk-OKBNFUUX.js.map → chunk-CJ73OLMW.js.map} +0 -0
- /package/dist/{chunk-FHK6WWUE.js.map → chunk-CYQOUTMY.js.map} +0 -0
- /package/dist/{chunk-LQVRK2XJ.js.map → chunk-DCMQR46R.js.map} +0 -0
- /package/dist/{chunk-QTMZDMJ6.js.map → chunk-DG27IUVI.js.map} +0 -0
- /package/dist/{chunk-PKBONLCP.js.map → chunk-E6427JU2.js.map} +0 -0
- /package/dist/{chunk-XID22NOA.js.map → chunk-F3GVO44K.js.map} +0 -0
- /package/dist/{chunk-U2ID5A2I.js.map → chunk-FAXZQ5UF.js.map} +0 -0
- /package/dist/{chunk-P6UIVLZK.js.map → chunk-FNSMZQS4.js.map} +0 -0
- /package/dist/{chunk-NIKQQXI2.js.map → chunk-FUHKW252.js.map} +0 -0
- /package/dist/{chunk-623QEHDB.js.map → chunk-FY343IZR.js.map} +0 -0
- /package/dist/{chunk-7P4LL3JH.js.map → chunk-GS5RT2KK.js.map} +0 -0
- /package/dist/{chunk-IM2KST7E.js.map → chunk-HFKGIBMD.js.map} +0 -0
- /package/dist/{chunk-FT5Y4VSP.js.map → chunk-HVQGCKY4.js.map} +0 -0
- /package/dist/{chunk-MYSNNMJ3.js.map → chunk-HXGUIPQB.js.map} +0 -0
- /package/dist/{chunk-GTQF32TP.js.map → chunk-JEM2IGS3.js.map} +0 -0
- /package/dist/{chunk-ALUVACKT.js.map → chunk-JIUVJ4M7.js.map} +0 -0
- /package/dist/{chunk-NJHQE4LT.js.map → chunk-JRCYZEHU.js.map} +0 -0
- /package/dist/{chunk-G3ORJ3IQ.js.map → chunk-JSRU5W2M.js.map} +0 -0
- /package/dist/{chunk-SBGXQK5I.js.map → chunk-JXIDGFKS.js.map} +0 -0
- /package/dist/{chunk-MGXUAID4.js.map → chunk-KZ3KMDN3.js.map} +0 -0
- /package/dist/{chunk-HGDXJVK2.js.map → chunk-LBGPO5RL.js.map} +0 -0
- /package/dist/{chunk-CLE3TMIS.js.map → chunk-MC2LFTQM.js.map} +0 -0
- /package/dist/{chunk-EAN4TAPC.js.map → chunk-MSWYQLMQ.js.map} +0 -0
- /package/dist/{chunk-OKRXXFZZ.js.map → chunk-MZ5ZFO2D.js.map} +0 -0
- /package/dist/{chunk-RQILGK3N.js.map → chunk-NQCNSVGI.js.map} +0 -0
- /package/dist/{chunk-EFJAAFBW.js.map → chunk-NQRJ5AJO.js.map} +0 -0
- /package/dist/{chunk-Q2SEJMP2.js.map → chunk-NVU7ZMPN.js.map} +0 -0
- /package/dist/{chunk-Y2PTKKIN.js.map → chunk-OF3L2SD6.js.map} +0 -0
- /package/dist/{chunk-MDRCEA56.js.map → chunk-OMSAULZM.js.map} +0 -0
- /package/dist/{chunk-SL3PLML2.js.map → chunk-OSFPNKY4.js.map} +0 -0
- /package/dist/{chunk-XX7YB5BI.js.map → chunk-P7NGLLUF.js.map} +0 -0
- /package/dist/{chunk-QITP2JGX.js.map → chunk-PGAPBZEK.js.map} +0 -0
- /package/dist/{chunk-KJNMTE2W.js.map → chunk-PP5CO2PR.js.map} +0 -0
- /package/dist/{chunk-NG4AQIYJ.js.map → chunk-ROWL352P.js.map} +0 -0
- /package/dist/{chunk-V4O6YZSP.js.map → chunk-RPXL6KSX.js.map} +0 -0
- /package/dist/{chunk-ODCEOSJF.js.map → chunk-SKONR2OL.js.map} +0 -0
- /package/dist/{chunk-QQL6XPPG.js.map → chunk-T4GPR2IR.js.map} +0 -0
- /package/dist/{chunk-NMYH55MW.js.map → chunk-TLNNHG3A.js.map} +0 -0
- /package/dist/{chunk-DDB626I7.js.map → chunk-UHXCLPGC.js.map} +0 -0
- /package/dist/{chunk-Q6MXHDSE.js.map → chunk-V5C5NNBR.js.map} +0 -0
- /package/dist/{chunk-ELJOLQIG.js.map → chunk-VBY6ZLJT.js.map} +0 -0
- /package/dist/{chunk-IJV56FWY.js.map → chunk-VJFMXYKP.js.map} +0 -0
- /package/dist/{chunk-BFG7LD6Z.js.map → chunk-VMCCGUQB.js.map} +0 -0
- /package/dist/{chunk-PWEMRXPO.js.map → chunk-W3TVWF6N.js.map} +0 -0
- /package/dist/{chunk-4TXO442D.js.map → chunk-WLYIROCJ.js.map} +0 -0
- /package/dist/{chunk-MPW6AHTC.js.map → chunk-XB7LUDKM.js.map} +0 -0
- /package/dist/{chunk-YA7Y3EZP.js.map → chunk-XBLKM73C.js.map} +0 -0
- /package/dist/{chunk-LXRVTJ5D.js.map → chunk-YAWK6AWF.js.map} +0 -0
- /package/dist/{chunk-6RDTG6E5.js.map → chunk-ZGGVOADG.js.map} +0 -0
- /package/dist/{chunk-JLBCK7XM.js.map → chunk-ZK4CO2KZ.js.map} +0 -0
- /package/dist/{chunk-NZEGQWQ5.js.map → chunk-ZWMO5GL5.js.map} +0 -0
- /package/dist/{chunk-4MSNAB64.js.map → chunk-ZXJXDHNK.js.map} +0 -0
- /package/dist/{classified-marker-ZALWKOBC.js.map → classified-marker-MH3ON5OL.js.map} +0 -0
- /package/dist/{collection-facade-KI53O6QB.js.map → collection-facade-AHT7FATG.js.map} +0 -0
- /package/dist/{computed-YOQCGUCS.js.map → computed-6G5M3UPH.js.map} +0 -0
- /package/dist/{dead-filter-6DVWST6U.js.map → dead-filter-U575NGSH.js.map} +0 -0
- /package/dist/{delegation-WMO3Q3O5.js.map → delegation-PDYL6RWT.js.map} +0 -0
- /package/dist/{derive-P2NXWUNB.js.map → derive-AKT4KU36.js.map} +0 -0
- /package/dist/{dispatch-VNR3TLBX.js.map → dispatch-4XIJSFTT.js.map} +0 -0
- /package/dist/{dispatch-TKV4UCKB.js.map → dispatch-N5HGVUGU.js.map} +0 -0
- /package/dist/{enclave-YWP3QAIQ.js.map → enclave-OPK24QDR.js.map} +0 -0
- /package/dist/{executor-M4ZZNX6S.js.map → executor-3JZ4POTW.js.map} +0 -0
- /package/dist/{executor-TI64S4LE.js.map → executor-CYJQLKKI.js.map} +0 -0
- /package/dist/{executor-YBK3I2OT.js.map → executor-S4QIKEHW.js.map} +0 -0
- /package/dist/{export-accessible-GBLYLGW4.js.map → export-accessible-CPTP5STN.js.map} +0 -0
- /package/dist/{extract-partition-SFV35U2R.js.map → extract-partition-TWXPHVU7.js.map} +0 -0
- /package/dist/{fanout-sidecar-WYXO6QQT.js.map → fanout-sidecar-T2ZGLQFE.js.map} +0 -0
- /package/dist/{find-HUSSZRBR.js.map → find-RBBYKXI7.js.map} +0 -0
- /package/dist/{issue-6TIJYWKS.js.map → issue-N74C55X6.js.map} +0 -0
- /package/dist/{ledger-BLYDYRTQ.js.map → ledger-DONWFC5M.js.map} +0 -0
- /package/dist/{liberate-TSOW7IG5.js.map → liberate-KICI7AJN.js.map} +0 -0
- /package/dist/{link-set-7F5ZPDEB.js.map → link-set-2TTP4VLO.js.map} +0 -0
- /package/dist/{noydb-KFN6M6UJ.js.map → managed-secret-EAOYWRYF.js.map} +0 -0
- /package/dist/{register-S3ECUZPV.js.map → noydb-6W2XGQCS.js.map} +0 -0
- /package/dist/{post-register-PQSY544J.js.map → post-register-ORQOQJCS.js.map} +0 -0
- /package/dist/{registry-BWD2ED52.js.map → register-LHETZRJM.js.map} +0 -0
- /package/dist/{registry-FZOHKUME.js.map → registry-AMAZ6QRZ.js.map} +0 -0
- /package/dist/{registry-RISV7IDZ.js.map → registry-CZVINVQH.js.map} +0 -0
- /package/dist/{registry-ZE35A7WC.js.map → registry-IKUR2MXD.js.map} +0 -0
- /package/dist/{request-withdrawal-KXVTQKR5.js.map → registry-JRIN447B.js.map} +0 -0
- /package/dist/{revoke-J473JJ22.js.map → request-withdrawal-2DN2RGCO.js.map} +0 -0
- /package/dist/{reveal-HY7DZST4.js.map → reveal-AG4SCHUQ.js.map} +0 -0
- /package/dist/{signer-XLUKCCH3.js.map → revoke-ZX4NM2CJ.js.map} +0 -0
- /package/dist/{seed-ALU3BHFS.js.map → seed-IRCDGIRK.js.map} +0 -0
- /package/dist/{stale-U3WO5MYN.js.map → signer-7KHD4OL2.js.map} +0 -0
- /package/dist/{storage-IQONEOYY.js.map → stale-K734VACF.js.map} +0 -0
- /package/dist/{walk-BF36V4SR.js.map → storage-4H2GF6RQ.js.map} +0 -0
- /package/dist/{store-coordination-provider-AHGFEMFA.js.map → store-coordination-provider-4SKLSFUG.js.map} +0 -0
- /package/dist/{verify-JEIXSK5U.js.map → verify-RO5RTZOJ.js.map} +0 -0
- /package/dist/{withdraw-accessible-TYTA23XH.js.map → walk-MQHYNDLZ.js.map} +0 -0
package/dist/sync/index.js
CHANGED
|
@@ -2,20 +2,20 @@ import {
|
|
|
2
2
|
PresenceHandle,
|
|
3
3
|
SyncEngine,
|
|
4
4
|
SyncTransaction
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-TFZ7LLOQ.js";
|
|
6
6
|
import {
|
|
7
7
|
NO_SYNC
|
|
8
8
|
} from "../chunk-55LKVALY.js";
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-JXIDGFKS.js";
|
|
10
|
+
import "../chunk-FY343IZR.js";
|
|
11
|
+
import "../chunk-NQRJ5AJO.js";
|
|
12
|
+
import "../chunk-HXGUIPQB.js";
|
|
13
|
+
import "../chunk-AR2JDFAE.js";
|
|
14
|
+
import "../chunk-747LRSOO.js";
|
|
15
15
|
import "../chunk-LP7BEXCT.js";
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-VCETL77O.js";
|
|
17
|
+
import "../chunk-24ZLWWEO.js";
|
|
18
|
+
import "../chunk-HNGSV2YC.js";
|
|
19
19
|
import "../chunk-PZ5AY32C.js";
|
|
20
20
|
|
|
21
21
|
// src/with-sync/active.ts
|
package/dist/team/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
|
+
MemoryDeviceSealProvider,
|
|
3
|
+
beginEchoUnlock,
|
|
2
4
|
withTeam
|
|
3
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-46V67XP5.js";
|
|
4
6
|
import {
|
|
5
7
|
NO_TEAM,
|
|
6
8
|
burnPaperRecoveryEntry,
|
|
@@ -29,9 +31,10 @@ import {
|
|
|
29
31
|
unwrapMagicLinkGrant,
|
|
30
32
|
updateAuthenticator,
|
|
31
33
|
writeMagicLinkGrant
|
|
32
|
-
} from "../chunk-
|
|
33
|
-
import "../chunk-
|
|
34
|
+
} from "../chunk-DPJTDNUF.js";
|
|
35
|
+
import "../chunk-NVU7ZMPN.js";
|
|
34
36
|
import {
|
|
37
|
+
buildEchoBlock,
|
|
35
38
|
buildRecipientKeyringFile,
|
|
36
39
|
changeSecret,
|
|
37
40
|
createOwnerKeyring,
|
|
@@ -45,26 +48,32 @@ import {
|
|
|
45
48
|
listUsersWithEnvelopes,
|
|
46
49
|
loadKeyring,
|
|
47
50
|
persistKeyring,
|
|
51
|
+
resolveEchoReveal,
|
|
48
52
|
revoke,
|
|
49
|
-
updateKeyringIdentity
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
import "../chunk-
|
|
54
|
-
import "../chunk-
|
|
55
|
-
import "../chunk-
|
|
56
|
-
import "../chunk-
|
|
57
|
-
import "../chunk-
|
|
53
|
+
updateKeyringIdentity,
|
|
54
|
+
verifyPrompt,
|
|
55
|
+
verifyTypedEcho
|
|
56
|
+
} from "../chunk-RLWY6Z44.js";
|
|
57
|
+
import "../chunk-27TCYH6G.js";
|
|
58
|
+
import "../chunk-AHLJSVRL.js";
|
|
59
|
+
import "../chunk-FY343IZR.js";
|
|
60
|
+
import "../chunk-NQRJ5AJO.js";
|
|
61
|
+
import "../chunk-HXGUIPQB.js";
|
|
62
|
+
import "../chunk-AR2JDFAE.js";
|
|
63
|
+
import "../chunk-747LRSOO.js";
|
|
58
64
|
import "../chunk-LP7BEXCT.js";
|
|
59
|
-
import "../chunk-
|
|
60
|
-
import "../chunk-
|
|
65
|
+
import "../chunk-VCETL77O.js";
|
|
66
|
+
import "../chunk-24ZLWWEO.js";
|
|
61
67
|
import {
|
|
62
68
|
TeamNotEnabledError
|
|
63
|
-
} from "../chunk-
|
|
69
|
+
} from "../chunk-HNGSV2YC.js";
|
|
64
70
|
import "../chunk-PZ5AY32C.js";
|
|
65
71
|
export {
|
|
72
|
+
MemoryDeviceSealProvider,
|
|
66
73
|
NO_TEAM,
|
|
67
74
|
TeamNotEnabledError,
|
|
75
|
+
beginEchoUnlock,
|
|
76
|
+
buildEchoBlock,
|
|
68
77
|
buildRecipientKeyringFile,
|
|
69
78
|
burnPaperRecoveryEntry,
|
|
70
79
|
changeSecret,
|
|
@@ -96,6 +105,7 @@ export {
|
|
|
96
105
|
recoverSecret,
|
|
97
106
|
recoverUser,
|
|
98
107
|
removeAuthenticator,
|
|
108
|
+
resolveEchoReveal,
|
|
99
109
|
revoke,
|
|
100
110
|
revokeMagicLinkGrant,
|
|
101
111
|
rotateSecret,
|
|
@@ -105,6 +115,8 @@ export {
|
|
|
105
115
|
unwrapMagicLinkGrant,
|
|
106
116
|
updateAuthenticator,
|
|
107
117
|
updateKeyringIdentity,
|
|
118
|
+
verifyPrompt,
|
|
119
|
+
verifyTypedEcho,
|
|
108
120
|
withTeam,
|
|
109
121
|
writeMagicLinkGrant
|
|
110
122
|
};
|
package/dist/tiers/index.js
CHANGED
|
@@ -11,19 +11,19 @@ import {
|
|
|
11
11
|
putAtTier,
|
|
12
12
|
syncDerivedOutputs,
|
|
13
13
|
withTiers
|
|
14
|
-
} from "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
14
|
+
} from "../chunk-PGAPBZEK.js";
|
|
15
|
+
import "../chunk-AHLJSVRL.js";
|
|
16
|
+
import "../chunk-FY343IZR.js";
|
|
17
|
+
import "../chunk-NQRJ5AJO.js";
|
|
18
|
+
import "../chunk-HXGUIPQB.js";
|
|
19
|
+
import "../chunk-AR2JDFAE.js";
|
|
20
|
+
import "../chunk-747LRSOO.js";
|
|
21
21
|
import "../chunk-LP7BEXCT.js";
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-VCETL77O.js";
|
|
23
|
+
import "../chunk-24ZLWWEO.js";
|
|
24
24
|
import {
|
|
25
25
|
TiersNotEnabledError
|
|
26
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-HNGSV2YC.js";
|
|
27
27
|
import "../chunk-PZ5AY32C.js";
|
|
28
28
|
export {
|
|
29
29
|
NO_TIERS,
|
package/dist/to/index.js
CHANGED
|
@@ -1,16 +1,41 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BundleVersionConflictError,
|
|
3
3
|
ConflictError,
|
|
4
|
+
DuplicateStoreKindError,
|
|
4
5
|
NetworkError,
|
|
5
6
|
PodVersionConflictError,
|
|
6
|
-
StoreCapabilityError
|
|
7
|
-
|
|
7
|
+
StoreCapabilityError,
|
|
8
|
+
UnknownStoreKindError
|
|
9
|
+
} from "../chunk-HNGSV2YC.js";
|
|
8
10
|
import "../chunk-PZ5AY32C.js";
|
|
11
|
+
|
|
12
|
+
// src/port/to/locator.ts
|
|
13
|
+
function createStoreLocator() {
|
|
14
|
+
const factories = /* @__PURE__ */ new Map();
|
|
15
|
+
return {
|
|
16
|
+
register(kind, factory) {
|
|
17
|
+
if (factories.has(kind)) {
|
|
18
|
+
throw new DuplicateStoreKindError(kind);
|
|
19
|
+
}
|
|
20
|
+
factories.set(kind, factory);
|
|
21
|
+
},
|
|
22
|
+
resolve(descriptor, opts = {}) {
|
|
23
|
+
const factory = factories.get(descriptor.kind);
|
|
24
|
+
if (!factory) {
|
|
25
|
+
throw new UnknownStoreKindError(descriptor.kind, [...factories.keys()].sort());
|
|
26
|
+
}
|
|
27
|
+
return factory(descriptor, opts);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
9
31
|
export {
|
|
10
32
|
BundleVersionConflictError,
|
|
11
33
|
ConflictError,
|
|
34
|
+
DuplicateStoreKindError,
|
|
12
35
|
NetworkError,
|
|
13
36
|
PodVersionConflictError,
|
|
14
|
-
StoreCapabilityError
|
|
37
|
+
StoreCapabilityError,
|
|
38
|
+
UnknownStoreKindError,
|
|
39
|
+
createStoreLocator
|
|
15
40
|
};
|
|
16
41
|
//# sourceMappingURL=index.js.map
|
package/dist/to/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/port/to/locator.ts"],"sourcesContent":["/**\n * The Locator seam (#945 Task 1): a serializable, CREDENTIALLESS store\n * descriptor plus a factory registry that reconstructs a `NoydbStore` from\n * data.\n *\n * A `StoreDescriptor` is the pod-portable \"what store and where\" — kind,\n * broad topology class, and a kind-specific serializable address/options\n * bag. It is deliberately dumb data: no field on it is ever typed as a\n * function, a `StoreCredentialSource`, or a `StoreCredentials` value, so a\n * descriptor can be written into a pod / manifest / sync payload without an\n * audit for leaked secrets. Anything that must resolve device-side or\n * user-side — a short-lived credential, a device-local directory override,\n * a mounted drive handle — travels out-of-band via `resolve()`'s `opts`,\n * never through the descriptor itself.\n *\n * This module is pure TypeScript: no imports beyond the kernel's own types\n * and errors, no Node built-ins, no crypto. It adds zero runtime\n * dependencies to `@noy-db/hub/to`.\n */\nimport type { NoydbStore, StoreCredentialSource } from '../../kernel/types.js'\nimport { DuplicateStoreKindError, UnknownStoreKindError } from '../../kernel/errors.js'\n\n/**\n * The broad topology bucket a store descriptor's kind falls into —\n * used by callers/UI to group or filter descriptors without knowing every\n * concrete `kind` string.\n */\nexport type StoreClass = 'local' | 'browser' | 'lan' | 'cloud'\n\n/**\n * A serializable, CREDENTIALLESS description of a store instance: enough\n * data to reconstruct a `NoydbStore` via a registered `StoreFactory`, and\n * safe to persist or transmit as-is.\n *\n * CREDENTIALLESS BY CONSTRUCTION: no field here may be typed as a function,\n * a `StoreCredentialSource`, or a `StoreCredentials` value. Credentials\n * NEVER ride the descriptor — they are supplied separately (as a\n * `StoreCredentialSource`) to `StoreLocator.resolve()` at resolve time.\n */\nexport interface StoreDescriptor {\n /** The registered factory key (e.g. `'file'`, `'aws-s3'`, `'webdav'`). */\n readonly kind: string\n /** The broad topology bucket this kind falls into. */\n readonly class: StoreClass\n /** Kind-specific serializable location (e.g. `{ dir }`, `{ bucket, region }`). */\n readonly address: unknown\n /** Kind-specific serializable tuning options. */\n readonly options?: unknown\n}\n\n/**\n * A kind-specific, device-local supplement to a `StoreDescriptor` — a\n * directory override, a mount point, a drive handle — that is resolved\n * device-side and never carried inside a pod alongside the descriptor.\n */\nexport type StoreBinding = unknown\n\n/**\n * Reconstructs a live `NoydbStore` from a `StoreDescriptor`. Registered\n * against a `StoreLocator` under the descriptor's `kind`.\n */\nexport type StoreFactory = (\n descriptor: StoreDescriptor,\n opts: { binding?: StoreBinding; credentials?: StoreCredentialSource },\n) => NoydbStore | Promise<NoydbStore>\n\n/** A registry of `StoreFactory`s, keyed by `StoreDescriptor.kind`. */\nexport interface StoreLocator {\n /** Register a factory for `kind`. Throws if `kind` is already registered. */\n register(kind: string, factory: StoreFactory): void\n /** Resolve `descriptor` to a live store via its kind's registered factory. */\n resolve(\n descriptor: StoreDescriptor,\n opts?: { binding?: StoreBinding; credentials?: StoreCredentialSource },\n ): NoydbStore | Promise<NoydbStore>\n}\n\n/**\n * Creates a fresh, empty `StoreLocator`.\n *\n * DUPLICATE REGISTRATION: `register()` throws if `kind` is already\n * registered, rather than silently overwriting it (last-wins). A\n * composition root that registers the same kind twice is almost always a\n * mistake — a copy-pasted setup block, two satellite packages fighting\n * over the same kind string — and last-wins would hide it behind whichever\n * registration happened to run last. This mirrors the\n * `DuplicateBehaviorNameError` philosophy (#947): fail loudly at the\n * mistake's source instead of silently at some unrelated `resolve()` call\n * later.\n */\nexport function createStoreLocator(): StoreLocator {\n const factories = new Map<string, StoreFactory>()\n\n return {\n register(kind, factory) {\n if (factories.has(kind)) {\n throw new DuplicateStoreKindError(kind)\n }\n factories.set(kind, factory)\n },\n resolve(descriptor, opts = {}) {\n const factory = factories.get(descriptor.kind)\n if (!factory) {\n throw new UnknownStoreKindError(descriptor.kind, [...factories.keys()].sort())\n }\n return factory(descriptor, opts)\n },\n }\n}\n"],"mappings":";;;;;;;;;;;;AA0FO,SAAS,qBAAmC;AACjD,QAAM,YAAY,oBAAI,IAA0B;AAEhD,SAAO;AAAA,IACL,SAAS,MAAM,SAAS;AACtB,UAAI,UAAU,IAAI,IAAI,GAAG;AACvB,cAAM,IAAI,wBAAwB,IAAI;AAAA,MACxC;AACA,gBAAU,IAAI,MAAM,OAAO;AAAA,IAC7B;AAAA,IACA,QAAQ,YAAY,OAAO,CAAC,GAAG;AAC7B,YAAM,UAAU,UAAU,IAAI,WAAW,IAAI;AAC7C,UAAI,CAAC,SAAS;AACZ,cAAM,IAAI,sBAAsB,WAAW,MAAM,CAAC,GAAG,UAAU,KAAK,CAAC,EAAE,KAAK,CAAC;AAAA,MAC/E;AACA,aAAO,QAAQ,YAAY,IAAI;AAAA,IACjC;AAAA,EACF;AACF;","names":[]}
|
|
@@ -3,16 +3,16 @@ import {
|
|
|
3
3
|
TxContext,
|
|
4
4
|
TxVault,
|
|
5
5
|
runTransaction
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-35EBKWQU.js";
|
|
7
7
|
import {
|
|
8
8
|
lazy
|
|
9
9
|
} from "../chunk-5D2ALSM5.js";
|
|
10
10
|
import "../chunk-ZJADGNYF.js";
|
|
11
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-HNGSV2YC.js";
|
|
12
12
|
import "../chunk-PZ5AY32C.js";
|
|
13
13
|
|
|
14
14
|
// src/with-commit/tx/dry-run.ts
|
|
15
|
-
var loadGuardExecutor = lazy(() => import("../executor-
|
|
15
|
+
var loadGuardExecutor = lazy(() => import("../executor-CYJQLKKI.js"));
|
|
16
16
|
var SEP = " ";
|
|
17
17
|
var keyOf = (op) => `${op.vaultName}${SEP}${op.collectionName}${SEP}${op.id}`;
|
|
18
18
|
async function runDryRun(db, fn) {
|
package/dist/util/index.js
CHANGED
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
blindedEqual,
|
|
3
3
|
evaluateKofN,
|
|
4
4
|
openVdigPayload
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-HXGUIPQB.js";
|
|
6
6
|
import {
|
|
7
7
|
dualReadSealedSlot
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-AR2JDFAE.js";
|
|
9
9
|
import {
|
|
10
10
|
VDIG_ITERATIONS,
|
|
11
11
|
normalizeForVerify,
|
|
@@ -14,11 +14,11 @@ import {
|
|
|
14
14
|
import {
|
|
15
15
|
base64ToBuffer,
|
|
16
16
|
generateSalt
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-VCETL77O.js";
|
|
18
18
|
import {
|
|
19
19
|
ClassifiedConfigError,
|
|
20
20
|
ClassifiedVerifyError
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-HNGSV2YC.js";
|
|
22
22
|
import "./chunk-PZ5AY32C.js";
|
|
23
23
|
|
|
24
24
|
// src/kernel/enclave/classify/verify.ts
|
|
@@ -137,4 +137,4 @@ export {
|
|
|
137
137
|
verifyDigestField,
|
|
138
138
|
verifyTextField
|
|
139
139
|
};
|
|
140
|
-
//# sourceMappingURL=verify-
|
|
140
|
+
//# sourceMappingURL=verify-RO5RTZOJ.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
dumpVaultSchema
|
|
3
|
+
} from "./chunk-MJWCLSQL.js";
|
|
4
|
+
import "./chunk-KHKKD62N.js";
|
|
5
|
+
import "./chunk-2LGDCNFJ.js";
|
|
6
|
+
import "./chunk-Y2NBBT6K.js";
|
|
7
|
+
import "./chunk-V5C5NNBR.js";
|
|
8
|
+
import "./chunk-FY343IZR.js";
|
|
9
|
+
import "./chunk-NQRJ5AJO.js";
|
|
10
|
+
import "./chunk-HXGUIPQB.js";
|
|
11
|
+
import "./chunk-AR2JDFAE.js";
|
|
12
|
+
import "./chunk-747LRSOO.js";
|
|
13
|
+
import "./chunk-LP7BEXCT.js";
|
|
14
|
+
import "./chunk-VCETL77O.js";
|
|
15
|
+
import "./chunk-24ZLWWEO.js";
|
|
16
|
+
import "./chunk-HNGSV2YC.js";
|
|
17
|
+
import "./chunk-PZ5AY32C.js";
|
|
18
|
+
export {
|
|
19
|
+
dumpVaultSchema
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=walk-MQHYNDLZ.js.map
|
|
@@ -24,9 +24,14 @@ type AnyGuard = GuardSpec<Record<string, unknown>>;
|
|
|
24
24
|
type AnyChange = GuardChange<Record<string, unknown>>;
|
|
25
25
|
export declare class GuardRegistry {
|
|
26
26
|
private readonly _byCollection;
|
|
27
|
+
private readonly _byName;
|
|
27
28
|
private _amendmentChanges;
|
|
28
29
|
private _amendmentMeta;
|
|
29
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* Register a guard. Multiple guards per collection are allowed. If
|
|
32
|
+
* `spec.name` is given and already registered by another guard in this
|
|
33
|
+
* vault, throws {@link DuplicateBehaviorNameError} before indexing.
|
|
34
|
+
*/
|
|
30
35
|
register<T extends Record<string, unknown>>(spec: GuardSpec<T>): void;
|
|
31
36
|
/** All guards registered against `collection` in registration order. */
|
|
32
37
|
guardsFor(collection: string): ReadonlyArray<AnyGuard>;
|
|
@@ -35,6 +40,8 @@ export declare class GuardRegistry {
|
|
|
35
40
|
collection: string;
|
|
36
41
|
count: number;
|
|
37
42
|
}[];
|
|
43
|
+
/** Every registered guard spec, in registration order. Used by `Vault.listBehaviors()` (#947). */
|
|
44
|
+
all(): ReadonlyArray<AnyGuard>;
|
|
38
45
|
/**
|
|
39
46
|
* Run every guard's `check` for this collection. First throw wins —
|
|
40
47
|
* remaining guards are not invoked. Guards without a `check` skip.
|
|
@@ -76,6 +76,11 @@ export interface GuardStrategyAny {
|
|
|
76
76
|
/** Public registration shape. See `withGuard()`. */
|
|
77
77
|
export interface GuardSpec<T extends Record<string, unknown>> {
|
|
78
78
|
collection: string;
|
|
79
|
+
/**
|
|
80
|
+
* Optional stable per-vault identifier; the behavior manifest
|
|
81
|
+
* references behaviors by this name. Must be unique within a vault.
|
|
82
|
+
*/
|
|
83
|
+
readonly name?: string;
|
|
79
84
|
/**
|
|
80
85
|
* Fires on `Collection.put` (insert + update). The `incoming` argument
|
|
81
86
|
* is the record being written. Throw to cancel the put.
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
export { withPeriods } from './active.js';
|
|
16
16
|
export type { PeriodsStrategy } from './strategy.js';
|
|
17
|
-
export { PERIODS_COLLECTION, PERIOD_FREEZES_COLLECTION, PERIOD_ARCHIVES_COLLECTION, PERIOD_TARGET_PURGES_COLLECTION, periodExclusiveUpperBound, loadPeriods, chainAnchor, assertTsWritable, validatePeriodName, appendPeriodLedgerEntry, } from './periods.js';
|
|
17
|
+
export { PERIODS_COLLECTION, PERIOD_FREEZES_COLLECTION, PERIOD_ARCHIVES_COLLECTION, PERIOD_TARGET_PURGES_COLLECTION, periodExclusiveUpperBound, loadPeriods, chainAnchor, assertTsWritable, validatePeriodName, appendPeriodLedgerEntry, purgeMarkersOn, } from './periods.js';
|
|
18
18
|
export type { PeriodRecord, PeriodFreezeRecord, PeriodArchiveRecord, PeriodTargetPurgeRecord, TargetPurgeCount, ClosePeriodOptions, OpenPeriodOptions, CarryForwardContext, ReadOnlyCollection, } from './periods.js';
|
|
19
19
|
/** The un-opted-in stub for this service — exported so callers can compare against it (#844). */
|
|
20
20
|
export { NO_PERIODS } from './strategy.js';
|
|
@@ -400,3 +400,10 @@ export declare function validatePeriodName(name: string, existing: readonly Peri
|
|
|
400
400
|
* @internal
|
|
401
401
|
*/
|
|
402
402
|
export declare function appendPeriodLedgerEntry(ledger: LedgerStore | null, actor: string, envelope: EncryptedEnvelope, name: string, collection?: string): Promise<void>;
|
|
403
|
+
/**
|
|
404
|
+
* @internal #615. Sweep delete markers with `_ts < before` off ANY store
|
|
405
|
+
* (the vault's local adapter, or a push-only sync target). Returns the count
|
|
406
|
+
* removed. Shared by `vault._purgeDeleteMarkers` (local) and
|
|
407
|
+
* `vault._purgePeriodTargets` (push-only targets).
|
|
408
|
+
*/
|
|
409
|
+
export declare function purgeMarkersOn(store: NoydbStore, vault: string, before: string, collections?: string[]): Promise<number>;
|
|
@@ -13,6 +13,12 @@ interface RegisteredStrategy {
|
|
|
13
13
|
export declare class DerivationRegistry {
|
|
14
14
|
private readonly _bySource;
|
|
15
15
|
private readonly _byOutput;
|
|
16
|
+
private readonly _byName;
|
|
17
|
+
/**
|
|
18
|
+
* Register a derivation strategy. If `spec.name` is given and already
|
|
19
|
+
* registered by another derivation in this vault, throws
|
|
20
|
+
* {@link DuplicateBehaviorNameError} before indexing.
|
|
21
|
+
*/
|
|
16
22
|
register(spec: DerivationSpec<any, any>): Promise<void>;
|
|
17
23
|
strategiesForSource(source: string): ReadonlyArray<RegisteredStrategy>;
|
|
18
24
|
strategiesProducingOutput(collection: string): ReadonlyArray<RegisteredStrategy>;
|
|
@@ -122,6 +122,11 @@ export type OutputSpec = RecordOutputSpec | ArrayOutputSpec;
|
|
|
122
122
|
export interface DerivationSpec<TSource extends Record<string, unknown>, TOutputs extends Record<string, Record<string, unknown> | ReadonlyArray<Record<string, unknown>>>> {
|
|
123
123
|
/** Source collection name. */
|
|
124
124
|
source: string;
|
|
125
|
+
/**
|
|
126
|
+
* Optional stable per-vault identifier; the behavior manifest
|
|
127
|
+
* references behaviors by this name. Must be unique within a vault.
|
|
128
|
+
*/
|
|
129
|
+
readonly name?: string;
|
|
125
130
|
/**
|
|
126
131
|
* Additional collections whose writes ALSO re-fire this derivation.
|
|
127
132
|
* By default only writes to the single declared
|
|
@@ -32,6 +32,16 @@ export type IndexDef = string | {
|
|
|
32
32
|
readonly fields: readonly string[];
|
|
33
33
|
readonly unique?: boolean;
|
|
34
34
|
} | readonly string[];
|
|
35
|
+
/**
|
|
36
|
+
* Normalize a declared `IndexDef[]` into a uniform `{ fields, unique? }`
|
|
37
|
+
* shape: `string` → `{fields:[s]}`, `string[]` → `{fields}`, object →
|
|
38
|
+
* passthrough. Pure — used by `Collection`'s sensitive-field leak check
|
|
39
|
+
* and by `getDeclaredIndexes()` (introspection).
|
|
40
|
+
*/
|
|
41
|
+
export declare function normalizeIndexDefs(defs: readonly IndexDef[]): ReadonlyArray<{
|
|
42
|
+
readonly fields: readonly string[];
|
|
43
|
+
readonly unique?: boolean;
|
|
44
|
+
}>;
|
|
35
45
|
/**
|
|
36
46
|
* Internal representation of a built hash index.
|
|
37
47
|
*
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { DeviceSealProvider } from '../../port/with/device-seal-strategy.js';
|
|
2
|
+
/**
|
|
3
|
+
* Device-local sealer for the echo reveal-blob (spec decision 5).
|
|
4
|
+
* DISTINCT from `SealingKeyProvider` (managed-secret mode, which seals
|
|
5
|
+
* the WHOLE secret): this seals only the echo part, and only so an
|
|
6
|
+
* enrolled device can display it during the unlock ceremony. The
|
|
7
|
+
* sealed bytes may sit in the (untrusted) keyring file — attacker-B
|
|
8
|
+
* resistance comes from `unseal` requiring this device's key store.
|
|
9
|
+
*
|
|
10
|
+
* The interface itself is declared on the `/with` port
|
|
11
|
+
* ({@link DeviceSealProvider} from `port/with/device-seal-strategy.js`)
|
|
12
|
+
* so the kernel spine can reference it without a static spine→service
|
|
13
|
+
* import; re-exported here as the canonical consumer-facing home.
|
|
14
|
+
*/
|
|
15
|
+
export type { DeviceSealProvider };
|
|
16
|
+
/** In-memory test provider — AES-GCM under a per-instance random key. */
|
|
17
|
+
export declare class MemoryDeviceSealProvider implements DeviceSealProvider {
|
|
18
|
+
readonly id: string;
|
|
19
|
+
private readonly keyPromise;
|
|
20
|
+
constructor(opts: {
|
|
21
|
+
id: string;
|
|
22
|
+
});
|
|
23
|
+
seal(plain: Uint8Array): Promise<Uint8Array>;
|
|
24
|
+
unseal(sealed: Uint8Array): Promise<Uint8Array>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `beginEchoUnlock` — the interactive ceremony API (spec
|
|
3
|
+
* docs/superpowers/specs/2026-08-02-echo-secret-design.md, #940, Task 6).
|
|
4
|
+
*
|
|
5
|
+
* Split out of `echo-secret.ts` (which owns only the block builders +
|
|
6
|
+
* verifiers) because this module orchestrates BOTH `echo-secret.ts`
|
|
7
|
+
* (`verifyPrompt`/`resolveEchoReveal`/`verifyTypedEcho`) AND `keyring.ts`
|
|
8
|
+
* (`loadKeyring`) — and `keyring.ts` itself imports `buildEchoBlock` from
|
|
9
|
+
* `echo-secret.ts`. Keeping the ceremony here instead of inside
|
|
10
|
+
* `echo-secret.ts` yields a clean DAG (`echo-ceremony.ts` → {`echo-secret.ts`,
|
|
11
|
+
* `keyring.ts`}; `keyring.ts` → `echo-secret.ts`) instead of a two-file
|
|
12
|
+
* cycle, and restores `echo-secret.ts`'s documented charter (builders +
|
|
13
|
+
* verifiers only).
|
|
14
|
+
*
|
|
15
|
+
* @module
|
|
16
|
+
*/
|
|
17
|
+
import type { NoydbStore } from '../../kernel/types.js';
|
|
18
|
+
import type { DeviceSealProvider } from './device-seal.js';
|
|
19
|
+
import { type UnlockedKeyring } from './keyring.js';
|
|
20
|
+
/** Options for {@link beginEchoUnlock}. */
|
|
21
|
+
export interface BeginEchoUnlockOptions {
|
|
22
|
+
readonly userId: string;
|
|
23
|
+
readonly prompt: string;
|
|
24
|
+
readonly deviceSeal?: DeviceSealProvider;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* A prompt-verified, in-progress echo unlock. Stateless w.r.t. attempts —
|
|
28
|
+
* `complete()` may be called more than once (e.g. retry after a wrong key).
|
|
29
|
+
*/
|
|
30
|
+
export interface EchoCeremony {
|
|
31
|
+
/**
|
|
32
|
+
* Echo to display for owner recognition; null ⇒ degraded: ask the owner to
|
|
33
|
+
* TYPE it.
|
|
34
|
+
*
|
|
35
|
+
* Conforming-player contract (spec
|
|
36
|
+
* docs/superpowers/specs/2026-08-02-echo-secret-design.md, "Ceremony"):
|
|
37
|
+
* when the owner does NOT recognize the revealed echo, the player MUST show
|
|
38
|
+
* a hard phishing warning — do not continue, open the official app, rotate
|
|
39
|
+
* the secret immediately — MUST NOT offer any skip or
|
|
40
|
+
* "verification unavailable" fallback, and MUST simply abandon the ceremony
|
|
41
|
+
* by never calling {@link EchoCeremony.complete}. The kernel cannot enforce
|
|
42
|
+
* this terminal state; it is the player's obligation.
|
|
43
|
+
*/
|
|
44
|
+
readonly reveal: string | null;
|
|
45
|
+
readonly maskHint: string | undefined;
|
|
46
|
+
/** Complete the ceremony. `echo` is REQUIRED when `reveal` is null. */
|
|
47
|
+
complete(input: {
|
|
48
|
+
readonly echo?: string;
|
|
49
|
+
readonly key: string;
|
|
50
|
+
}): Promise<UnlockedKeyring>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Begin the interactive anti-phishing unlock ceremony (spec decision 4):
|
|
54
|
+
* prompt → echo reveal → key. Fetches and parses the `_keyring/{userId}`
|
|
55
|
+
* row (same store path as `loadKeyring`), verifies the prompt, and resolves
|
|
56
|
+
* the echo for display (or degrades to the typed-echo path when the reveal
|
|
57
|
+
* cannot be resolved — sealed reveal under a foreign device).
|
|
58
|
+
*
|
|
59
|
+
* Conforming-player contract (spec
|
|
60
|
+
* docs/superpowers/specs/2026-08-02-echo-secret-design.md): an owner who does
|
|
61
|
+
* not recognize `ceremony.reveal` is looking at a phish. The player MUST then
|
|
62
|
+
* show a hard warning (stop, open the official app, rotate the secret now),
|
|
63
|
+
* MUST NOT offer a skip / "verification unavailable" fallback or any
|
|
64
|
+
* single-field secret entry, and MUST abandon the ceremony without calling
|
|
65
|
+
* `complete()`.
|
|
66
|
+
*
|
|
67
|
+
* @throws NoAccessError when no keyring exists for `userId` (mirrors
|
|
68
|
+
* `loadKeyring`'s missing-row error).
|
|
69
|
+
* @throws KeyringExpiredError when the slot is past its `expires_at` —
|
|
70
|
+
* checked before the prompt is verified, so an expired slot never reveals.
|
|
71
|
+
* @throws ValidationError when the keyring is not an echo keyring.
|
|
72
|
+
* @throws WrongPromptError when the prompt fails its verifier.
|
|
73
|
+
*/
|
|
74
|
+
export declare function beginEchoUnlock(store: NoydbStore, vault: string, opts: BeginEchoUnlockOptions): Promise<EchoCeremony>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Echo-block builders + verifiers (spec
|
|
3
|
+
* docs/superpowers/specs/2026-08-02-echo-secret-design.md, #940).
|
|
4
|
+
*
|
|
5
|
+
* Builds and verifies the on-keyring {@link KeyringEchoBlock} declaration
|
|
6
|
+
* for the 3-part echo ceremony (prompt → echo → key). This module owns:
|
|
7
|
+
*
|
|
8
|
+
* - Minting the prompt/echo canary verifiers (the "canary trick": AES-KW
|
|
9
|
+
* wrap a constant 32-byte key under `deriveSecretKey(part, salt, …)`;
|
|
10
|
+
* verify = unwrap succeeds).
|
|
11
|
+
* - Building the reveal blob per the hybrid reveal policy (spec decision
|
|
12
|
+
* 4): `portable` (AES-GCM under the prompt, own salt), `sealed`
|
|
13
|
+
* (opaque to hub, unsealed only by the enrolling device's
|
|
14
|
+
* {@link DeviceSealProvider}), or `none`.
|
|
15
|
+
* - Resolving the echo for display (`resolveEchoReveal`, `null` ⇒
|
|
16
|
+
* degraded typed-echo path) and verifying a typed echo
|
|
17
|
+
* (`verifyTypedEcho`) for that degraded path.
|
|
18
|
+
*
|
|
19
|
+
* Deriving the actual KEK from all three parts together is
|
|
20
|
+
* `deriveEchoKey`/`encodeEchoParts` (`kernel/enclave/crypto.ts`) — a
|
|
21
|
+
* separate concern from this module's per-part verifiers.
|
|
22
|
+
*
|
|
23
|
+
* Known, accepted disclosure: `prompt_verifier` and `echo_verifier` are
|
|
24
|
+
* offline brute-force oracles for anyone holding the keyring file (600K
|
|
25
|
+
* PBKDF2 per guess), and the `sealed` reveal blob is unpadded so its length
|
|
26
|
+
* discloses the echo's UTF-8 byte length — see the threat model in
|
|
27
|
+
* `docs/superpowers/specs/2026-08-02-echo-secret-design.md`.
|
|
28
|
+
*
|
|
29
|
+
* @module
|
|
30
|
+
*/
|
|
31
|
+
import { type EchoSecretParts } from '../../kernel/enclave/index.js';
|
|
32
|
+
import type { KeyringEchoBlock } from '../../kernel/types.js';
|
|
33
|
+
import type { DeviceSealProvider } from './device-seal.js';
|
|
34
|
+
/** Same iteration floor as the KEK (spec resolved question 1). */
|
|
35
|
+
export declare const ECHO_KDF_ITERATIONS = 600000;
|
|
36
|
+
export type EchoRevealChoice = {
|
|
37
|
+
readonly kind: 'portable';
|
|
38
|
+
} | {
|
|
39
|
+
readonly kind: 'sealed';
|
|
40
|
+
readonly deviceSeal: DeviceSealProvider;
|
|
41
|
+
} | {
|
|
42
|
+
readonly kind: 'none';
|
|
43
|
+
};
|
|
44
|
+
/** Build the on-keyring echo declaration for a fresh enrollment. */
|
|
45
|
+
export declare function buildEchoBlock(parts: EchoSecretParts, reveal: EchoRevealChoice, maskHint?: string): Promise<KeyringEchoBlock>;
|
|
46
|
+
export declare function verifyPrompt(block: KeyringEchoBlock, prompt: string): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* Resolve the echo for display. `null` ⇒ degraded path: the player
|
|
49
|
+
* must ask the owner to TYPE the echo (verify via {@link verifyTypedEcho}).
|
|
50
|
+
* Callers MUST verify the prompt first — this assumes it.
|
|
51
|
+
*
|
|
52
|
+
* @throws WrongPromptError when the prompt cannot open the portable reveal
|
|
53
|
+
* (callers should verifyPrompt first for a boolean check).
|
|
54
|
+
*/
|
|
55
|
+
export declare function resolveEchoReveal(block: KeyringEchoBlock, prompt: string, deviceSeal?: DeviceSealProvider): Promise<string | null>;
|
|
56
|
+
export declare function verifyTypedEcho(block: KeyringEchoBlock, echo: string): Promise<boolean>;
|
|
@@ -32,4 +32,12 @@ export type { WrappedDeksBlob } from './wrapped-deks.js';
|
|
|
32
32
|
export { writeMagicLinkGrant, readMagicLinkGrantRecord, listMagicLinkGrants, unwrapMagicLinkGrant, revokeMagicLinkGrant, deriveMagicLinkContentKey, magicLinkGrantRecordId, isMagicLinkGrantExpired, } from './magic-link-grant.js';
|
|
33
33
|
export { hasExportCapability, evaluateExportCapability, } from './keyring.js';
|
|
34
34
|
export { hasImportCapability, evaluateImportCapability, } from './keyring.js';
|
|
35
|
+
export { buildEchoBlock, verifyPrompt, resolveEchoReveal, verifyTypedEcho, } from './echo-secret.js';
|
|
36
|
+
export type { EchoRevealChoice } from './echo-secret.js';
|
|
37
|
+
export { beginEchoUnlock } from './echo-ceremony.js';
|
|
38
|
+
export type { BeginEchoUnlockOptions, EchoCeremony } from './echo-ceremony.js';
|
|
39
|
+
export { MemoryDeviceSealProvider } from './device-seal.js';
|
|
40
|
+
export type { DeviceSealProvider } from './device-seal.js';
|
|
41
|
+
export type { EchoSecretParts } from '../../kernel/enclave/index.js';
|
|
42
|
+
export type { KeyringEchoBlock, NoydbStore } from '../../kernel/types.js';
|
|
35
43
|
export { describeAuthConfig, diagramAuthConfig, describeUserAuth, describeAllUsersAuth, } from '../auth-introspection/index.js';
|