@noy-db/hub 0.6.0 → 0.7.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/CHANGELOG.md +48 -0
- package/README.md +1 -1
- package/codemods/0.4.0-pre.json +24 -0
- package/codemods/0.6.0-pre.json +18 -0
- package/codemods/0.7.0-pre.json +258 -0
- package/dist/api-EQYRTZO2.js +20 -0
- package/dist/as/index.js +146 -0
- package/dist/as/index.js.map +1 -0
- package/dist/at/index.js +23 -0
- package/dist/attestation/index.js +18 -18
- package/dist/{backup-VL4GRIEW.js → backup-Z7ZBTAQ6.js} +12 -12
- package/dist/blobs/index.js +13 -13
- package/dist/broker/index.js +12 -12
- package/dist/by/index.js +11 -0
- package/dist/cargo/index.js +35 -31
- package/dist/{chunk-JKATP6OE.js → chunk-225O5CXQ.js} +2 -2
- package/dist/{chunk-XINT4VJA.js → chunk-2GXEQUEX.js} +2 -2
- package/dist/chunk-2GXEQUEX.js.map +1 -0
- package/dist/{chunk-CXPOG3ZY.js → chunk-2LPVI4PX.js} +8 -8
- package/dist/{chunk-2J5IT37K.js → chunk-3L2MVE36.js} +5 -5
- package/dist/{chunk-HOPNIR5R.js → chunk-3QARDAYW.js} +2 -2
- package/dist/{chunk-HSJBJIB2.js → chunk-467SKJ65.js} +4 -4
- package/dist/{chunk-YCGLAANM.js → chunk-4A4TYISP.js} +2 -2
- package/dist/{chunk-2CBFYXJX.js → chunk-4G25SDQL.js} +4 -4
- package/dist/{chunk-5LZZQMIC.js → chunk-4LPF226H.js} +5 -5
- package/dist/{chunk-GANFIM2M.js → chunk-4ZPE6SKS.js} +3 -3
- package/dist/{chunk-65JXA63J.js → chunk-5263OEM3.js} +2 -2
- package/dist/{chunk-FNYCT27B.js → chunk-57JTHWLQ.js} +4 -4
- package/dist/{chunk-5IHGJHWC.js → chunk-5ACAVJUI.js} +2 -2
- package/dist/{chunk-3OE2QNSM.js → chunk-5AFMP532.js} +6 -6
- package/dist/{chunk-J6I5VR6P.js → chunk-5W7YXFV5.js} +8 -8
- package/dist/chunk-5W7YXFV5.js.map +1 -0
- package/dist/{chunk-7ZGPQOFV.js → chunk-6EW2UCVF.js} +3 -3
- package/dist/{chunk-GCU42IG7.js → chunk-6FOGTKBY.js} +7 -7
- package/dist/chunk-6FOGTKBY.js.map +1 -0
- package/dist/{chunk-36CEG6CM.js → chunk-7LYUJNU3.js} +2 -2
- package/dist/{chunk-D6SXRMZZ.js → chunk-A2YW5EMU.js} +5 -5
- package/dist/{chunk-OQMCFHUX.js → chunk-AB5P32RE.js} +2 -2
- package/dist/{chunk-JMJSCI7U.js → chunk-ALB64CZM.js} +7 -7
- package/dist/{chunk-RPRASGEY.js → chunk-ALUNQEBY.js} +2 -2
- package/dist/{chunk-ZYZJLYNS.js → chunk-ATV637J7.js} +7 -7
- package/dist/{chunk-LC6NE4IQ.js → chunk-CBRS2NEK.js} +2 -11
- package/dist/chunk-CBRS2NEK.js.map +1 -0
- package/dist/{chunk-W3HAIN6U.js → chunk-CN6B5PEN.js} +5 -5
- package/dist/{chunk-JIHWBKMQ.js → chunk-DBNYPLWY.js} +3 -3
- package/dist/{chunk-ZJUZOJVW.js → chunk-DFAUMLD7.js} +5 -5
- package/dist/{chunk-S6PJ6ZKE.js → chunk-DKWPJOYH.js} +2 -2
- package/dist/{chunk-MPKP6L5E.js → chunk-E6YA6UAP.js} +2 -2
- package/dist/{chunk-LIR2DJWP.js → chunk-F23WQK3G.js} +9 -9
- package/dist/chunk-F23WQK3G.js.map +1 -0
- package/dist/{chunk-S7PM7Z4K.js → chunk-F7ZFRPGQ.js} +2 -2
- package/dist/{chunk-CKKN25P2.js → chunk-FOG7YEJP.js} +3 -3
- package/dist/{chunk-AJGGBXWA.js → chunk-GK4DRVUD.js} +6 -6
- package/dist/chunk-GK4DRVUD.js.map +1 -0
- package/dist/{chunk-4ATF4BLF.js → chunk-H36KSN6X.js} +7 -7
- package/dist/{chunk-YTUFV7U7.js → chunk-H4M7ADXY.js} +10 -10
- package/dist/chunk-H4M7ADXY.js.map +1 -0
- package/dist/{chunk-QQRRKO7W.js → chunk-H7HP56F6.js} +5 -5
- package/dist/{chunk-RJZQ2PVD.js → chunk-HM4JSXX2.js} +3 -3
- package/dist/{chunk-3YGUHUJA.js → chunk-HTGRQZFB.js} +3 -3
- package/dist/{chunk-JXHNUYQO.js → chunk-IESNYJXZ.js} +6 -6
- package/dist/{chunk-OCJ3JA4O.js → chunk-J4MN6XIU.js} +2 -2
- package/dist/{chunk-HWI7GHJZ.js → chunk-J4UJ5FRV.js} +4 -4
- package/dist/{chunk-Z3BZXPRO.js → chunk-JBIV4FLR.js} +1 -1
- package/dist/chunk-JBIV4FLR.js.map +1 -0
- package/dist/{chunk-QVXZFJBU.js → chunk-JVLSU7S2.js} +2 -2
- package/dist/{chunk-7Q3RHOA5.js → chunk-KDJGJR7F.js} +2 -2
- package/dist/{chunk-PJX72ICF.js → chunk-KN4W2OQ4.js} +7 -7
- package/dist/chunk-KN4W2OQ4.js.map +1 -0
- package/dist/{chunk-M7WBE3OR.js → chunk-L6GTLZRK.js} +5 -5
- package/dist/{chunk-2ZT4INZ4.js → chunk-LF6DMX4C.js} +3 -3
- package/dist/chunk-LFUID7OW.js +163 -0
- package/dist/chunk-LFUID7OW.js.map +1 -0
- package/dist/{chunk-4K6BIMLF.js → chunk-LKFKXS5K.js} +2 -2
- package/dist/{chunk-POFYIGQ2.js → chunk-LR4Z47QD.js} +3 -3
- package/dist/{chunk-LUYPYCHY.js → chunk-MTBXJAS4.js} +4 -4
- package/dist/{chunk-FX3UIDCS.js → chunk-N4CNVSUF.js} +2 -2
- package/dist/{chunk-FU5VYEYK.js → chunk-NLKLXXTO.js} +2 -2
- package/dist/{chunk-YYV53EHO.js → chunk-OPXR4PB2.js} +2 -2
- package/dist/{chunk-5F7BZAGV.js → chunk-OWLVBOWO.js} +10 -10
- package/dist/{chunk-6NR36UNB.js → chunk-P6ASQOZR.js} +2 -2
- package/dist/{chunk-5ATC6UT4.js → chunk-PCQDY6QN.js} +6 -6
- package/dist/{chunk-EQOTJL76.js → chunk-PGFKIOR3.js} +3 -3
- package/dist/{chunk-D2YFQ7XG.js → chunk-POS53FG6.js} +2 -2
- package/dist/{chunk-ZY6P7M52.js → chunk-PQ6Z2TAP.js} +2 -2
- package/dist/{chunk-5OT4G5N5.js → chunk-PUJTKLPL.js} +3 -3
- package/dist/{chunk-64WHKBMP.js → chunk-QGJ4XIA7.js} +8 -8
- package/dist/{chunk-DECNV4QK.js → chunk-QHJKK77B.js} +6 -6
- package/dist/{chunk-JHYKSMVX.js → chunk-QI5NWLVW.js} +7 -7
- package/dist/{chunk-BZ3WMOYX.js → chunk-RC4BROYR.js} +3 -3
- package/dist/{chunk-IWQPYT6S.js → chunk-RDHUZ674.js} +4 -4
- package/dist/{chunk-UJ4Z67UQ.js → chunk-RK7N4OQ5.js} +1 -1
- package/dist/chunk-RK7N4OQ5.js.map +1 -0
- package/dist/{chunk-EHW7NLGD.js → chunk-S2VG3ABP.js} +3 -3
- package/dist/chunk-S2VG3ABP.js.map +1 -0
- package/dist/{chunk-7OBIBPCV.js → chunk-S35S77YU.js} +10 -10
- package/dist/{chunk-22GR3O4J.js → chunk-SHILAQH5.js} +2 -2
- package/dist/{chunk-WPZ5FVAS.js → chunk-T3PHCEN4.js} +3 -3
- package/dist/{chunk-GKTW3KLV.js → chunk-TOV6VMHF.js} +5 -5
- package/dist/chunk-TOV6VMHF.js.map +1 -0
- package/dist/{chunk-6RH7PRTL.js → chunk-TVIFAHZR.js} +6 -6
- package/dist/chunk-UBSFPGVJ.js +1 -0
- package/dist/{chunk-323MN67Z.js → chunk-UCUALOSM.js} +2 -2
- package/dist/{chunk-B4CRUZPR.js → chunk-VAG47QHV.js} +2 -2
- package/dist/{chunk-QH47SQLD.js → chunk-VFIWDPXZ.js} +3 -3
- package/dist/{chunk-K6CPIK3R.js → chunk-VTG7327U.js} +4 -4
- package/dist/chunk-VTG7327U.js.map +1 -0
- package/dist/{chunk-ONPVHX2Y.js → chunk-W5LHQXZU.js} +2 -2
- package/dist/{chunk-ZIMQDXTQ.js → chunk-WK5FSW7T.js} +8 -8
- package/dist/{chunk-PFWE7FJG.js → chunk-WLLUM35R.js} +2 -2
- package/dist/{chunk-IWKCJCLP.js → chunk-X62MEF2O.js} +5 -5
- package/dist/chunk-X62MEF2O.js.map +1 -0
- package/dist/{chunk-XPEPMK4Y.js → chunk-X67FCULK.js} +5 -5
- package/dist/chunk-X67FCULK.js.map +1 -0
- package/dist/{chunk-C3XWJCG7.js → chunk-XDVVBETV.js} +2 -2
- package/dist/chunk-XDVVBETV.js.map +1 -0
- package/dist/chunk-XJ3FEKEY.js +15 -0
- package/dist/chunk-XJ3FEKEY.js.map +1 -0
- package/dist/{chunk-EV2TDHQZ.js → chunk-XSN63FUS.js} +2 -2
- package/dist/{chunk-OR2FYRYR.js → chunk-XVU7J43V.js} +2 -2
- package/dist/{chunk-JYPRZWCZ.js → chunk-Y3YLJORD.js} +167 -133
- package/dist/chunk-Y3YLJORD.js.map +1 -0
- package/dist/{chunk-DNKVKO7K.js → chunk-Y6GZ2P4M.js} +2 -2
- package/dist/{chunk-ATY3ZASK.js → chunk-YCSM3GZU.js} +2 -2
- package/dist/{chunk-BMU2DS3S.js → chunk-YKPGQJFU.js} +12 -171
- package/dist/chunk-YKPGQJFU.js.map +1 -0
- package/dist/{chunk-RDB66EKD.js → chunk-YMLQBZFJ.js} +6 -6
- package/dist/{chunk-EHRIDNZX.js → chunk-YPSOHDNC.js} +2 -2
- package/dist/{chunk-KM6ZXG7U.js → chunk-YXA2TCTZ.js} +4 -4
- package/dist/{chunk-TKBB62DN.js → chunk-Z2PWOSCJ.js} +2 -2
- package/dist/{chunk-S2I5MYSA.js → chunk-Z2WK53N6.js} +42 -15
- package/dist/chunk-Z2WK53N6.js.map +1 -0
- package/dist/{chunk-5O5ZSW7N.js → chunk-Z7ZXZL6Y.js} +2 -2
- package/dist/{chunk-2ZCWHCLF.js → chunk-ZO252Q5S.js} +6 -6
- package/dist/classified/index.js +5 -5
- package/dist/{classified-marker-AZDSDG6V.js → classified-marker-BSQHU4JT.js} +3 -3
- package/dist/collection-facade-LG3NYZVB.js +45 -0
- package/dist/{computed-VG2PCM4L.js → computed-ASBNTLOK.js} +3 -3
- package/dist/consent/index.js +9 -9
- package/dist/cover/index.js +9 -9
- package/dist/custody/index.js +12 -12
- package/dist/{dead-filter-JNQNB3TA.js → dead-filter-QKU56XTQ.js} +2 -2
- package/dist/debug/index.js +1 -1
- package/dist/{delegation-5F36DRDH.js → delegation-XWRPYODW.js} +11 -11
- package/dist/derivations/index.js +12 -12
- package/dist/derive-CXHCY46K.js +22 -0
- package/dist/directory/index.js +10 -10
- package/dist/{dispatch-3ZA733EY.js → dispatch-4AP4PUZU.js} +18 -18
- package/dist/{dispatch-TNM5CRLZ.js → dispatch-VR4LRXZ7.js} +5 -5
- package/dist/{enclave-Y2ALNDRD.js → enclave-NYPT7WA7.js} +9 -9
- package/dist/executor-3KFRQETS.js +29 -0
- package/dist/executor-AFHQYRAU.js +9 -0
- package/dist/executor-YYDW6XQI.js +9 -0
- package/dist/export-accessible-BX2ILB4C.js +23 -0
- package/dist/extract-partition-UPOVITFI.js +38 -0
- package/dist/{fanout-sidecar-3QZU7ZZX.js → fanout-sidecar-IWP3R4RC.js} +9 -9
- package/dist/{fence-watcher-DHQ775JB.js → fence-watcher-ZVSMLKQD.js} +1 -1
- package/dist/fence-watcher-ZVSMLKQD.js.map +1 -0
- package/dist/find-SZBL2HPB.js +11 -0
- package/dist/forget/index.js +9 -9
- package/dist/guards/index.js +7 -7
- package/dist/history/index.js +13 -13
- package/dist/i18n/index.js +14 -14
- package/dist/index.d.ts +5 -5
- package/dist/index.js +134 -131
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +2 -2
- package/dist/introspection/index.js +12 -11
- package/dist/issue-G53NB6EW.js +19 -0
- package/dist/kernel/collection-config.d.ts +9 -9
- package/dist/kernel/collection.d.ts +1 -1
- package/dist/kernel/errors.d.ts +2 -2
- package/dist/kernel/noydb.d.ts +6 -6
- package/dist/kernel/secret-mode.d.ts +1 -1
- package/dist/kernel/types.d.ts +34 -15
- package/dist/kernel/vault.d.ts +10 -1
- package/dist/kernel/via/compose.d.ts +3 -3
- package/dist/kernel/via/index.d.ts +4 -4
- package/dist/kernel/via/pipeline.d.ts +6 -6
- package/dist/kernel/via/reconcile.d.ts +2 -2
- package/dist/kernel/via/taint-binding.d.ts +3 -3
- package/dist/{ledger-MQIIOTZB.js → ledger-T5K4P2D7.js} +11 -11
- package/dist/liberate-VEOZRESE.js +25 -0
- package/dist/{link-set-5PJBBR63.js → link-set-76JZ6YB4.js} +11 -11
- package/dist/{managed-secret-ETDG6AAE.js → managed-secret-6YC32VXG.js} +12 -12
- package/dist/materialized-views/index.js +25 -25
- package/dist/{migrate-cek-V3VDRV24.js → migrate-cek-LBRKYUZZ.js} +2 -2
- package/dist/money/index.js +4 -4
- package/dist/noydb-EDJA4JNJ.js +86 -0
- package/dist/on/index.js +1 -0
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +12 -12
- package/dist/pod/index.js +58 -57
- package/dist/{pod-handle-AZ3CXY5Y.js → pod-handle-P6DPBM5U.js} +9 -9
- package/dist/policy/index.js +10 -10
- package/dist/port/as/active.d.ts +10 -0
- package/dist/port/as/index.d.ts +32 -0
- package/dist/port/as/types.d.ts +113 -0
- package/dist/port/at/index.d.ts +37 -0
- package/dist/port/by/default-provider.d.ts +3 -3
- package/dist/port/by/index.d.ts +32 -10
- package/dist/port/by/types.d.ts +29 -11
- package/dist/port/on/index.d.ts +50 -0
- package/dist/port/with/computed-strategy.d.ts +1 -1
- package/dist/port/with/device-seal-strategy.d.ts +2 -2
- package/dist/port/with/formats-strategy.d.ts +76 -0
- package/dist/port/with/strategies.d.ts +11 -5
- package/dist/portability/index.js +8 -8
- package/dist/{post-register-QCJYRMIK.js → post-register-53O7AJRZ.js} +6 -6
- package/dist/query/index.js +3 -3
- package/dist/reduce/index.js +4 -4
- package/dist/register-6TCBR6XD.js +32 -0
- package/dist/registry-DH2L4O2V.js +18 -0
- package/dist/registry-IWFMXCHX.js +9 -0
- package/dist/registry-Q3FG3OAX.js +9 -0
- package/dist/registry-YC3IFG3A.js +19 -0
- package/dist/request-withdrawal-NM5VYR6F.js +31 -0
- package/dist/{reveal-W7BKZSUP.js → reveal-XBIMHAXR.js} +6 -6
- package/dist/revoke-MJNYWO72.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/schema-update/index.js +2 -2
- package/dist/sealed-record/index.js +12 -12
- package/dist/search/index.js +4 -4
- package/dist/{seed-55FPOMYP.js → seed-NSNIGYXE.js} +12 -12
- package/dist/sequence/index.js +9 -9
- package/dist/session/index.js +9 -9
- package/dist/shadow/index.js +2 -2
- package/dist/signer-6XVS2AU3.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/{stale-TH7SSVRV.js → stale-MCS46TFO.js} +10 -10
- package/dist/stale-MCS46TFO.js.map +1 -0
- package/dist/storage-ZXUT476I.js +23 -0
- package/dist/storage-ZXUT476I.js.map +1 -0
- package/dist/{store-coordination-provider-R27VRD6K.js → store-coordination-provider-6FM26VQM.js} +14 -13
- package/dist/store-coordination-provider-6FM26VQM.js.map +1 -0
- package/dist/sync/index.js +10 -10
- package/dist/team/index.js +17 -17
- package/dist/tiers/index.js +11 -11
- package/dist/to/index.js +1 -1
- package/dist/transactions/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/vault-diff-FE5J35NJ.js +9 -0
- package/dist/vault-diff-FE5J35NJ.js.map +1 -0
- package/dist/vault-head/index.js +8 -8
- package/dist/{verify-M5LQH43C.js → verify-WYOFLSNA.js} +5 -5
- package/dist/via/blob/binding.d.ts +6 -6
- package/dist/via/classified/binding.d.ts +9 -9
- package/dist/via/computed/binding.d.ts +2 -2
- package/dist/via/i18n/binding.d.ts +4 -4
- package/dist/via/lookup/binding.d.ts +5 -5
- package/dist/via/lookup/index.d.ts +1 -1
- package/dist/via/lookup/snapshot.d.ts +1 -1
- package/dist/via/money/binding.d.ts +3 -3
- package/dist/via/money/normalize.d.ts +1 -1
- package/dist/via/money/where.d.ts +3 -3
- package/dist/walk-JNEOYCAU.js +21 -0
- package/dist/walk-JNEOYCAU.js.map +1 -0
- package/dist/with-cargo/adopt-partition.d.ts +6 -6
- package/dist/with-cargo/floor.d.ts +1 -1
- package/dist/with-cargo/index.d.ts +1 -1
- package/dist/with-party/team/deed.d.ts +4 -4
- package/dist/with-party/team/device-seal.d.ts +5 -5
- package/dist/with-party/team/echo-ceremony.d.ts +2 -2
- package/dist/with-party/team/echo-secret.d.ts +4 -4
- package/dist/with-party/team/index.d.ts +2 -2
- package/dist/with-party/team/keyring.d.ts +2 -2
- package/dist/with-party/team/managed-secret.d.ts +21 -11
- package/dist/with-party/team/noydb-facade.d.ts +2 -2
- package/dist/with-party/team/{shamir-recovery-provider.d.ts → noydb-shamir.d.ts} +1 -1
- package/dist/with-party/team/recovery.d.ts +3 -3
- package/dist/with-party/team/rotate-recover.d.ts +5 -5
- package/dist/with-pod/format.d.ts +1 -1
- package/dist/with-pod/pod.d.ts +6 -6
- package/dist/with-shape/introspection/describe.d.ts +2 -2
- package/dist/with-shape/schema-update/fence-controller.d.ts +4 -4
- package/dist/with-shape/schema-update/fence-watcher.d.ts +4 -4
- package/dist/with-shape/schema-update/store-coordination-provider.d.ts +7 -6
- package/dist/withdraw-accessible-ILTSXTIE.js +28 -0
- package/dist/withdraw-accessible-ILTSXTIE.js.map +1 -0
- package/package.json +23 -5
- package/dist/api-6X2VLZ7J.js +0 -20
- package/dist/chunk-AJGGBXWA.js.map +0 -1
- package/dist/chunk-BMU2DS3S.js.map +0 -1
- package/dist/chunk-C3XWJCG7.js.map +0 -1
- package/dist/chunk-EHW7NLGD.js.map +0 -1
- package/dist/chunk-GCU42IG7.js.map +0 -1
- package/dist/chunk-GKTW3KLV.js.map +0 -1
- package/dist/chunk-IWKCJCLP.js.map +0 -1
- package/dist/chunk-J6I5VR6P.js.map +0 -1
- package/dist/chunk-JYPRZWCZ.js.map +0 -1
- package/dist/chunk-K6CPIK3R.js.map +0 -1
- package/dist/chunk-LC6NE4IQ.js.map +0 -1
- package/dist/chunk-LIR2DJWP.js.map +0 -1
- package/dist/chunk-PJX72ICF.js.map +0 -1
- package/dist/chunk-S2I5MYSA.js.map +0 -1
- package/dist/chunk-UJ4Z67UQ.js.map +0 -1
- package/dist/chunk-XINT4VJA.js.map +0 -1
- package/dist/chunk-XPEPMK4Y.js.map +0 -1
- package/dist/chunk-YTUFV7U7.js.map +0 -1
- package/dist/chunk-Z3BZXPRO.js.map +0 -1
- package/dist/collection-facade-WSUAYFJ4.js +0 -45
- package/dist/derive-MPOGZ4NR.js +0 -22
- package/dist/executor-BBEEUFO3.js +0 -9
- package/dist/executor-G6G3YEWR.js +0 -9
- package/dist/executor-ZUTUMTPA.js +0 -29
- package/dist/export-accessible-S3KEB763.js +0 -23
- package/dist/extract-partition-KVCTSUVE.js +0 -38
- package/dist/fence-watcher-DHQ775JB.js.map +0 -1
- package/dist/find-V4FN5ITT.js +0 -11
- package/dist/issue-5CFBWBRX.js +0 -19
- package/dist/liberate-LW7OKVBH.js +0 -25
- package/dist/noydb-LFDRMYZ5.js +0 -85
- package/dist/register-JBOEHTVX.js +0 -32
- package/dist/registry-5DYHQFJS.js +0 -9
- package/dist/registry-EANV44W2.js +0 -9
- package/dist/registry-J25H6VB4.js +0 -19
- package/dist/registry-R23SQUQH.js +0 -18
- package/dist/request-withdrawal-KQ4W4UT5.js +0 -31
- package/dist/revoke-H3VSTAIE.js +0 -24
- package/dist/signer-53AQ3BU2.js +0 -25
- package/dist/storage-WSF7ZKTL.js +0 -23
- package/dist/store-coordination-provider-R27VRD6K.js.map +0 -1
- package/dist/walk-NABCHDZN.js +0 -21
- package/dist/withdraw-accessible-VCINIG6V.js +0 -28
- /package/dist/{api-6X2VLZ7J.js.map → api-EQYRTZO2.js.map} +0 -0
- /package/dist/{collection-facade-WSUAYFJ4.js.map → at/index.js.map} +0 -0
- /package/dist/{backup-VL4GRIEW.js.map → backup-Z7ZBTAQ6.js.map} +0 -0
- /package/dist/{computed-VG2PCM4L.js.map → by/index.js.map} +0 -0
- /package/dist/{chunk-JKATP6OE.js.map → chunk-225O5CXQ.js.map} +0 -0
- /package/dist/{chunk-CXPOG3ZY.js.map → chunk-2LPVI4PX.js.map} +0 -0
- /package/dist/{chunk-2J5IT37K.js.map → chunk-3L2MVE36.js.map} +0 -0
- /package/dist/{chunk-HOPNIR5R.js.map → chunk-3QARDAYW.js.map} +0 -0
- /package/dist/{chunk-HSJBJIB2.js.map → chunk-467SKJ65.js.map} +0 -0
- /package/dist/{chunk-YCGLAANM.js.map → chunk-4A4TYISP.js.map} +0 -0
- /package/dist/{chunk-2CBFYXJX.js.map → chunk-4G25SDQL.js.map} +0 -0
- /package/dist/{chunk-5LZZQMIC.js.map → chunk-4LPF226H.js.map} +0 -0
- /package/dist/{chunk-GANFIM2M.js.map → chunk-4ZPE6SKS.js.map} +0 -0
- /package/dist/{chunk-65JXA63J.js.map → chunk-5263OEM3.js.map} +0 -0
- /package/dist/{chunk-FNYCT27B.js.map → chunk-57JTHWLQ.js.map} +0 -0
- /package/dist/{chunk-5IHGJHWC.js.map → chunk-5ACAVJUI.js.map} +0 -0
- /package/dist/{chunk-3OE2QNSM.js.map → chunk-5AFMP532.js.map} +0 -0
- /package/dist/{chunk-7ZGPQOFV.js.map → chunk-6EW2UCVF.js.map} +0 -0
- /package/dist/{chunk-36CEG6CM.js.map → chunk-7LYUJNU3.js.map} +0 -0
- /package/dist/{chunk-D6SXRMZZ.js.map → chunk-A2YW5EMU.js.map} +0 -0
- /package/dist/{chunk-OQMCFHUX.js.map → chunk-AB5P32RE.js.map} +0 -0
- /package/dist/{chunk-JMJSCI7U.js.map → chunk-ALB64CZM.js.map} +0 -0
- /package/dist/{chunk-RPRASGEY.js.map → chunk-ALUNQEBY.js.map} +0 -0
- /package/dist/{chunk-ZYZJLYNS.js.map → chunk-ATV637J7.js.map} +0 -0
- /package/dist/{chunk-W3HAIN6U.js.map → chunk-CN6B5PEN.js.map} +0 -0
- /package/dist/{chunk-JIHWBKMQ.js.map → chunk-DBNYPLWY.js.map} +0 -0
- /package/dist/{chunk-ZJUZOJVW.js.map → chunk-DFAUMLD7.js.map} +0 -0
- /package/dist/{chunk-S6PJ6ZKE.js.map → chunk-DKWPJOYH.js.map} +0 -0
- /package/dist/{chunk-MPKP6L5E.js.map → chunk-E6YA6UAP.js.map} +0 -0
- /package/dist/{chunk-S7PM7Z4K.js.map → chunk-F7ZFRPGQ.js.map} +0 -0
- /package/dist/{chunk-CKKN25P2.js.map → chunk-FOG7YEJP.js.map} +0 -0
- /package/dist/{chunk-4ATF4BLF.js.map → chunk-H36KSN6X.js.map} +0 -0
- /package/dist/{chunk-QQRRKO7W.js.map → chunk-H7HP56F6.js.map} +0 -0
- /package/dist/{chunk-RJZQ2PVD.js.map → chunk-HM4JSXX2.js.map} +0 -0
- /package/dist/{chunk-3YGUHUJA.js.map → chunk-HTGRQZFB.js.map} +0 -0
- /package/dist/{chunk-JXHNUYQO.js.map → chunk-IESNYJXZ.js.map} +0 -0
- /package/dist/{chunk-OCJ3JA4O.js.map → chunk-J4MN6XIU.js.map} +0 -0
- /package/dist/{chunk-HWI7GHJZ.js.map → chunk-J4UJ5FRV.js.map} +0 -0
- /package/dist/{chunk-QVXZFJBU.js.map → chunk-JVLSU7S2.js.map} +0 -0
- /package/dist/{chunk-7Q3RHOA5.js.map → chunk-KDJGJR7F.js.map} +0 -0
- /package/dist/{chunk-M7WBE3OR.js.map → chunk-L6GTLZRK.js.map} +0 -0
- /package/dist/{chunk-2ZT4INZ4.js.map → chunk-LF6DMX4C.js.map} +0 -0
- /package/dist/{chunk-4K6BIMLF.js.map → chunk-LKFKXS5K.js.map} +0 -0
- /package/dist/{chunk-POFYIGQ2.js.map → chunk-LR4Z47QD.js.map} +0 -0
- /package/dist/{chunk-LUYPYCHY.js.map → chunk-MTBXJAS4.js.map} +0 -0
- /package/dist/{chunk-FX3UIDCS.js.map → chunk-N4CNVSUF.js.map} +0 -0
- /package/dist/{chunk-FU5VYEYK.js.map → chunk-NLKLXXTO.js.map} +0 -0
- /package/dist/{chunk-YYV53EHO.js.map → chunk-OPXR4PB2.js.map} +0 -0
- /package/dist/{chunk-5F7BZAGV.js.map → chunk-OWLVBOWO.js.map} +0 -0
- /package/dist/{chunk-6NR36UNB.js.map → chunk-P6ASQOZR.js.map} +0 -0
- /package/dist/{chunk-5ATC6UT4.js.map → chunk-PCQDY6QN.js.map} +0 -0
- /package/dist/{chunk-EQOTJL76.js.map → chunk-PGFKIOR3.js.map} +0 -0
- /package/dist/{chunk-D2YFQ7XG.js.map → chunk-POS53FG6.js.map} +0 -0
- /package/dist/{chunk-ZY6P7M52.js.map → chunk-PQ6Z2TAP.js.map} +0 -0
- /package/dist/{chunk-5OT4G5N5.js.map → chunk-PUJTKLPL.js.map} +0 -0
- /package/dist/{chunk-64WHKBMP.js.map → chunk-QGJ4XIA7.js.map} +0 -0
- /package/dist/{chunk-DECNV4QK.js.map → chunk-QHJKK77B.js.map} +0 -0
- /package/dist/{chunk-JHYKSMVX.js.map → chunk-QI5NWLVW.js.map} +0 -0
- /package/dist/{chunk-BZ3WMOYX.js.map → chunk-RC4BROYR.js.map} +0 -0
- /package/dist/{chunk-IWQPYT6S.js.map → chunk-RDHUZ674.js.map} +0 -0
- /package/dist/{chunk-7OBIBPCV.js.map → chunk-S35S77YU.js.map} +0 -0
- /package/dist/{chunk-22GR3O4J.js.map → chunk-SHILAQH5.js.map} +0 -0
- /package/dist/{chunk-WPZ5FVAS.js.map → chunk-T3PHCEN4.js.map} +0 -0
- /package/dist/{chunk-6RH7PRTL.js.map → chunk-TVIFAHZR.js.map} +0 -0
- /package/dist/{derive-MPOGZ4NR.js.map → chunk-UBSFPGVJ.js.map} +0 -0
- /package/dist/{chunk-323MN67Z.js.map → chunk-UCUALOSM.js.map} +0 -0
- /package/dist/{chunk-B4CRUZPR.js.map → chunk-VAG47QHV.js.map} +0 -0
- /package/dist/{chunk-QH47SQLD.js.map → chunk-VFIWDPXZ.js.map} +0 -0
- /package/dist/{chunk-ONPVHX2Y.js.map → chunk-W5LHQXZU.js.map} +0 -0
- /package/dist/{chunk-ZIMQDXTQ.js.map → chunk-WK5FSW7T.js.map} +0 -0
- /package/dist/{chunk-PFWE7FJG.js.map → chunk-WLLUM35R.js.map} +0 -0
- /package/dist/{chunk-EV2TDHQZ.js.map → chunk-XSN63FUS.js.map} +0 -0
- /package/dist/{chunk-OR2FYRYR.js.map → chunk-XVU7J43V.js.map} +0 -0
- /package/dist/{chunk-DNKVKO7K.js.map → chunk-Y6GZ2P4M.js.map} +0 -0
- /package/dist/{chunk-ATY3ZASK.js.map → chunk-YCSM3GZU.js.map} +0 -0
- /package/dist/{chunk-RDB66EKD.js.map → chunk-YMLQBZFJ.js.map} +0 -0
- /package/dist/{chunk-EHRIDNZX.js.map → chunk-YPSOHDNC.js.map} +0 -0
- /package/dist/{chunk-KM6ZXG7U.js.map → chunk-YXA2TCTZ.js.map} +0 -0
- /package/dist/{chunk-TKBB62DN.js.map → chunk-Z2PWOSCJ.js.map} +0 -0
- /package/dist/{chunk-5O5ZSW7N.js.map → chunk-Z7ZXZL6Y.js.map} +0 -0
- /package/dist/{chunk-2ZCWHCLF.js.map → chunk-ZO252Q5S.js.map} +0 -0
- /package/dist/{classified-marker-AZDSDG6V.js.map → classified-marker-BSQHU4JT.js.map} +0 -0
- /package/dist/{enclave-Y2ALNDRD.js.map → collection-facade-LG3NYZVB.js.map} +0 -0
- /package/dist/{executor-BBEEUFO3.js.map → computed-ASBNTLOK.js.map} +0 -0
- /package/dist/{dead-filter-JNQNB3TA.js.map → dead-filter-QKU56XTQ.js.map} +0 -0
- /package/dist/{delegation-5F36DRDH.js.map → delegation-XWRPYODW.js.map} +0 -0
- /package/dist/{executor-G6G3YEWR.js.map → derive-CXHCY46K.js.map} +0 -0
- /package/dist/{dispatch-3ZA733EY.js.map → dispatch-4AP4PUZU.js.map} +0 -0
- /package/dist/{dispatch-TNM5CRLZ.js.map → dispatch-VR4LRXZ7.js.map} +0 -0
- /package/dist/{executor-ZUTUMTPA.js.map → enclave-NYPT7WA7.js.map} +0 -0
- /package/dist/{export-accessible-S3KEB763.js.map → executor-3KFRQETS.js.map} +0 -0
- /package/dist/{extract-partition-KVCTSUVE.js.map → executor-AFHQYRAU.js.map} +0 -0
- /package/dist/{find-V4FN5ITT.js.map → executor-YYDW6XQI.js.map} +0 -0
- /package/dist/{issue-5CFBWBRX.js.map → export-accessible-BX2ILB4C.js.map} +0 -0
- /package/dist/{ledger-MQIIOTZB.js.map → extract-partition-UPOVITFI.js.map} +0 -0
- /package/dist/{fanout-sidecar-3QZU7ZZX.js.map → fanout-sidecar-IWP3R4RC.js.map} +0 -0
- /package/dist/{liberate-LW7OKVBH.js.map → find-SZBL2HPB.js.map} +0 -0
- /package/dist/{link-set-5PJBBR63.js.map → issue-G53NB6EW.js.map} +0 -0
- /package/dist/{managed-secret-ETDG6AAE.js.map → ledger-T5K4P2D7.js.map} +0 -0
- /package/dist/{noydb-LFDRMYZ5.js.map → liberate-VEOZRESE.js.map} +0 -0
- /package/dist/{register-JBOEHTVX.js.map → link-set-76JZ6YB4.js.map} +0 -0
- /package/dist/{registry-5DYHQFJS.js.map → managed-secret-6YC32VXG.js.map} +0 -0
- /package/dist/{migrate-cek-V3VDRV24.js.map → migrate-cek-LBRKYUZZ.js.map} +0 -0
- /package/dist/{registry-EANV44W2.js.map → noydb-EDJA4JNJ.js.map} +0 -0
- /package/dist/{registry-J25H6VB4.js.map → on/index.js.map} +0 -0
- /package/dist/{pod-handle-AZ3CXY5Y.js.map → pod-handle-P6DPBM5U.js.map} +0 -0
- /package/dist/{post-register-QCJYRMIK.js.map → post-register-53O7AJRZ.js.map} +0 -0
- /package/dist/{registry-R23SQUQH.js.map → register-6TCBR6XD.js.map} +0 -0
- /package/dist/{request-withdrawal-KQ4W4UT5.js.map → registry-DH2L4O2V.js.map} +0 -0
- /package/dist/{revoke-H3VSTAIE.js.map → registry-IWFMXCHX.js.map} +0 -0
- /package/dist/{signer-53AQ3BU2.js.map → registry-Q3FG3OAX.js.map} +0 -0
- /package/dist/{stale-TH7SSVRV.js.map → registry-YC3IFG3A.js.map} +0 -0
- /package/dist/{storage-WSF7ZKTL.js.map → request-withdrawal-NM5VYR6F.js.map} +0 -0
- /package/dist/{reveal-W7BKZSUP.js.map → reveal-XBIMHAXR.js.map} +0 -0
- /package/dist/{walk-NABCHDZN.js.map → revoke-MJNYWO72.js.map} +0 -0
- /package/dist/{seed-55FPOMYP.js.map → seed-NSNIGYXE.js.map} +0 -0
- /package/dist/{withdraw-accessible-VCINIG6V.js.map → signer-6XVS2AU3.js.map} +0 -0
- /package/dist/{verify-M5LQH43C.js.map → verify-WYOFLSNA.js.map} +0 -0
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
* `EXPORT_REDACTION_MARKER` on every present() — the one enforcement seam
|
|
25
25
|
* every via feature's taint already routes through.
|
|
26
26
|
*/
|
|
27
|
-
import type {
|
|
27
|
+
import type { NoydbVia } from '../../kernel/via/index.js';
|
|
28
28
|
import type { ComputedDescriptor } from './descriptor.js';
|
|
29
29
|
export interface ComputedViaConfig {
|
|
30
30
|
/** field name -> its virtual-mode descriptor. Materialized entries are never present here. */
|
|
31
31
|
readonly virtualFields: ReadonlyMap<string, ComputedDescriptor>;
|
|
32
32
|
}
|
|
33
|
-
export declare function
|
|
33
|
+
export declare function computedVia(cfg: ComputedViaConfig): NoydbVia;
|
|
34
34
|
export declare function linkComputedVia(): void;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The i18n `
|
|
2
|
+
* The i18n `NoydbVia` — wires the i18n engine (auto-translate/script
|
|
3
3
|
* enforcement/validation/densify on write; locale + dict-label presentation
|
|
4
4
|
* on read) into the kernel's generic Via port. Mirrors
|
|
5
5
|
* `via/money/binding.ts`'s #553 static-link pattern.
|
|
6
6
|
*
|
|
7
|
-
* LIVE (#623 Task 8 wired the cutover): `
|
|
7
|
+
* LIVE (#623 Task 8 wired the cutover): `i18nVia()`/`linkI18nVia()` are
|
|
8
8
|
* the real put/read path for every i18n-declaring collection —
|
|
9
9
|
* `collection.ts`'s `_putInternal`/`applyLocaleToRecord` (the call sites
|
|
10
10
|
* this file's bodies were moved/adapted from) now delegate their i18n
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* `i18nText()`, `dictKey()`, `staticDict()` each call {@link linkI18nVia}
|
|
15
15
|
* first — the same #553 pattern `money()` uses.
|
|
16
16
|
*/
|
|
17
|
-
import type {
|
|
17
|
+
import type { NoydbVia } from '../../kernel/via/index.js';
|
|
18
18
|
/**
|
|
19
19
|
* Config a collection's i18n declarations resolve to — the binding's
|
|
20
20
|
* construction input. Fields are loosely typed (`unknown`) at this seam
|
|
@@ -32,5 +32,5 @@ export interface I18nViaConfig {
|
|
|
32
32
|
i18nPutValidator?: (record: unknown) => void;
|
|
33
33
|
collectionName: string;
|
|
34
34
|
}
|
|
35
|
-
export declare function
|
|
35
|
+
export declare function i18nVia(cfg: I18nViaConfig): NoydbVia;
|
|
36
36
|
export declare function linkI18nVia(): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The `'lookup'` `
|
|
2
|
+
* The `'lookup'` `NoydbVia` — wires the lookup engine (present-time label
|
|
3
3
|
* dressing across all three backing tiers) into the kernel's generic Via
|
|
4
4
|
* port. Mirrors `via/i18n/binding.ts`'s #553 static-link pattern; the
|
|
5
5
|
* present-time label-dressing algorithm below is adapted from
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
* `hasStaticDisplay` branch already uses). `resolveOrderLabel` (#650 Task
|
|
25
25
|
* 7) is the PER-CALL-locale sibling `orderBy(..., {by:'label'})` needs —
|
|
26
26
|
* see its own doc comment below. `describeFragment` (#650 Task 7) is the
|
|
27
|
-
* first-ever consumed `
|
|
27
|
+
* first-ever consumed `NoydbVia.describeFragment` implementation — see
|
|
28
28
|
* `with-shape/introspection/describe.ts`'s `buildDescription`.
|
|
29
29
|
*/
|
|
30
|
-
import type {
|
|
30
|
+
import type { NoydbVia } from '../../kernel/via/index.js';
|
|
31
31
|
import type { LookupDescriptor, LookupBacking, Vocabulary, OnDelete } from './descriptor.js';
|
|
32
32
|
import type { MaterializedBacking } from './registry.js';
|
|
33
33
|
/**
|
|
@@ -66,7 +66,7 @@ export interface LookupViaConfig {
|
|
|
66
66
|
readonly collectionName: string;
|
|
67
67
|
}
|
|
68
68
|
/**
|
|
69
|
-
* One field's `lookup` descriptor as it appears on a `
|
|
69
|
+
* One field's `lookup` descriptor as it appears on a `NoydbVia.
|
|
70
70
|
* describeFragment()` payload (#650 Task 7 — the first real consumer,
|
|
71
71
|
* `with-shape/introspection/describe.ts`'s `buildDescription`, imports this
|
|
72
72
|
* type directly; `describe.ts` is NOT under `kernel/**`, so it's free to
|
|
@@ -95,5 +95,5 @@ export interface LookupDescribeFragmentEntry {
|
|
|
95
95
|
export interface LookupDescribeFragment {
|
|
96
96
|
readonly lookupFields: Record<string, LookupDescribeFragmentEntry>;
|
|
97
97
|
}
|
|
98
|
-
export declare function
|
|
98
|
+
export declare function lookupVia(cfg: LookupViaConfig): NoydbVia;
|
|
99
99
|
export declare function linkLookupVia(): void;
|
|
@@ -13,5 +13,5 @@ export { LookupHandle, DictionaryHandle, DICT_COLLECTION_PREFIX, dictCollectionN
|
|
|
13
13
|
export { enforceStaticDictOnPut, resolveDictSource, updateReferencingRecords, type DictReferencingCollection } from './registry.js';
|
|
14
14
|
export { withLookup } from './active.js';
|
|
15
15
|
export { lookup, enumOf, enumOf as enum, dict, type LookupDescriptor, type Vocabulary, type LookupBacking, type OnDelete } from './descriptor.js';
|
|
16
|
-
export {
|
|
16
|
+
export { lookupVia, linkLookupVia, type LookupViaConfig } from './binding.js';
|
|
17
17
|
export type { LookupDescribeFragment, LookupDescribeFragmentEntry } from './binding.js';
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* - join dressing (`presentForJoin`, consumed by `kernel/query/join.ts`
|
|
20
20
|
* via `JoinableSource.presentForJoin`)
|
|
21
21
|
* - dimension sort (`compareForOrder`, consumed by
|
|
22
|
-
* `via/lookup/binding.ts`'s `
|
|
22
|
+
* `via/lookup/binding.ts`'s `NoydbVia.compareForOrder` closure)
|
|
23
23
|
* - per-call-locale order-label resolution (`resolveOrderLabel`, #650
|
|
24
24
|
* Task 7 — the `orderBy(..., {by:'label'})` channel `compareForOrder`
|
|
25
25
|
* structurally can't serve, no locale param; consumed by
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The money `
|
|
2
|
+
* The money `NoydbVia` — wires the money engine (normalize/paths/where/
|
|
3
3
|
* money-reducer) into the kernel's generic Via port. `money()`
|
|
4
4
|
* (descriptor.ts) calls {@link linkMoneyVia} at declaration time — the
|
|
5
5
|
* same #553 static-link pattern the retired `linkMoneyEngine()` /
|
|
6
6
|
* `kernel/money-runtime.ts` seam used, now the only one (Task 6 cut the
|
|
7
7
|
* query DSL over to this binding and deleted the legacy seam).
|
|
8
8
|
*/
|
|
9
|
-
import type {
|
|
9
|
+
import type { NoydbVia } from '../../kernel/via/index.js';
|
|
10
10
|
import type { MoneyDescriptor } from './descriptor.js';
|
|
11
11
|
/** #669 — the money binder's config bag. `virtualMoneyFields` is the money∩virtual-mode-
|
|
12
12
|
* computed field-name intersection (`kernel/collection-config.ts#resolveVirtualMoneyFields`);
|
|
@@ -17,5 +17,5 @@ export interface MoneyBindingConfig {
|
|
|
17
17
|
readonly moneyFields: Record<string, MoneyDescriptor>;
|
|
18
18
|
readonly virtualMoneyFields?: ReadonlySet<string>;
|
|
19
19
|
}
|
|
20
|
-
export declare function
|
|
20
|
+
export declare function moneyVia(moneyFields: Record<string, MoneyDescriptor>, virtualMoneyFields?: ReadonlySet<string>): NoydbVia;
|
|
21
21
|
export declare function linkMoneyVia(): void;
|
|
@@ -78,7 +78,7 @@ export declare function quantizeMoneyFields<T extends Record<string, unknown>>(r
|
|
|
78
78
|
*/
|
|
79
79
|
export declare function moneyScaledValue(stored: unknown, desc: MoneyDescriptor): bigint | null;
|
|
80
80
|
/**
|
|
81
|
-
* The `
|
|
81
|
+
* The `NoydbVia.canonicalizeIndexKey` implementation for money (#672) —
|
|
82
82
|
* bucket an eager index's money field entries by the BigInt-normalized
|
|
83
83
|
* scaled-int string, not the raw stored bytes, so a pre-declaration /
|
|
84
84
|
* non-canonical value (e.g. `'0100'`) lands under the SAME key a canonical
|
|
@@ -32,7 +32,7 @@ interface MoneyOperandEntry {
|
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* The opaque `via` clause payload for a `where()` over a declared money
|
|
35
|
-
* field (see `
|
|
35
|
+
* field (see `NoydbVia.buildClause` in kernel/via/index.ts). `entries` holds
|
|
36
36
|
* one element for comparison ops, two for `between` (lo, hi — same
|
|
37
37
|
* currency), N for `in`.
|
|
38
38
|
*/
|
|
@@ -42,14 +42,14 @@ export interface MoneyWhereOperand {
|
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
44
|
* Build the `via` clause payload ({@link MoneyWhereOperand}) for a
|
|
45
|
-
* `where()` over a declared money field — the `
|
|
45
|
+
* `where()` over a declared money field — the `NoydbVia.buildClause`
|
|
46
46
|
* implementation for money. The operand is quantized into stored
|
|
47
47
|
* scaled-int space NOW — build time — so typos throw at the call site.
|
|
48
48
|
*/
|
|
49
49
|
export declare function moneyFieldClause(field: string, op: Operator, value: unknown, desc: MoneyDescriptor): MoneyWhereOperand;
|
|
50
50
|
/**
|
|
51
51
|
* The `via` index-probe operand for a `where()` over a declared money
|
|
52
|
-
* field (see `
|
|
52
|
+
* field (see `NoydbVia.indexProbe` in kernel/via/index.ts) — the STORED-form
|
|
53
53
|
* value `CollectionIndexes.lookupEqual`/`lookupIn` (`with-lookup/indexing/
|
|
54
54
|
* eager-indexes.ts`) can bucket directly.
|
|
55
55
|
*
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
dumpVaultSchema
|
|
3
|
+
} from "./chunk-HM4JSXX2.js";
|
|
4
|
+
import "./chunk-KHKKD62N.js";
|
|
5
|
+
import "./chunk-P6ASQOZR.js";
|
|
6
|
+
import "./chunk-Y2NBBT6K.js";
|
|
7
|
+
import "./chunk-YXA2TCTZ.js";
|
|
8
|
+
import "./chunk-2LPVI4PX.js";
|
|
9
|
+
import "./chunk-N4CNVSUF.js";
|
|
10
|
+
import "./chunk-FOG7YEJP.js";
|
|
11
|
+
import "./chunk-KDJGJR7F.js";
|
|
12
|
+
import "./chunk-LKFKXS5K.js";
|
|
13
|
+
import "./chunk-LP7BEXCT.js";
|
|
14
|
+
import "./chunk-W5LHQXZU.js";
|
|
15
|
+
import "./chunk-RK7N4OQ5.js";
|
|
16
|
+
import "./chunk-JBIV4FLR.js";
|
|
17
|
+
import "./chunk-PZ5AY32C.js";
|
|
18
|
+
export {
|
|
19
|
+
dumpVaultSchema
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=walk-JNEOYCAU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { type EnclaveKey } from '../kernel/enclave/index.js';
|
|
11
11
|
import type { NoydbStore } from '../kernel/types.js';
|
|
12
|
-
import type {
|
|
13
|
-
import type {
|
|
12
|
+
import type { NoydbSealer } from '../with-party/team/managed-secret.js';
|
|
13
|
+
import type { NoydbShamir } from '../with-party/team/noydb-shamir.js';
|
|
14
14
|
import type { RecoveryEnrollmentInput } from '../with-party/team/rotate-recover.js';
|
|
15
15
|
import type { TransferSealPayload } from '../with-pod/pod.js';
|
|
16
16
|
/**
|
|
@@ -43,7 +43,7 @@ export interface CreateOwnerStandardOptions {
|
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
45
|
* Managed-mode owner: the secret is minted + sealed under
|
|
46
|
-
* a `
|
|
46
|
+
* a `NoydbSealer` (e.g. an `at-*` OS keychain) so the partition
|
|
47
47
|
* auto-unlocks on the recipient's device. Managed mode mandates a strong
|
|
48
48
|
* (Shamir) recovery profile at creation, which needs the
|
|
49
49
|
* `shamirRecovery` provider injected.
|
|
@@ -51,9 +51,9 @@ export interface CreateOwnerStandardOptions {
|
|
|
51
51
|
export interface CreateOwnerManagedOptions {
|
|
52
52
|
readonly userId: string;
|
|
53
53
|
readonly secretMode: 'managed';
|
|
54
|
-
readonly sealingKey:
|
|
54
|
+
readonly sealingKey: NoydbSealer;
|
|
55
55
|
readonly recovery: ReadonlyArray<RecoveryEnrollmentInput>;
|
|
56
|
-
readonly shamirRecovery:
|
|
56
|
+
readonly shamirRecovery: NoydbShamir;
|
|
57
57
|
readonly transferKey: Uint8Array;
|
|
58
58
|
}
|
|
59
59
|
export type CreateOwnerOptions = CreateOwnerStandardOptions | CreateOwnerManagedOptions;
|
|
@@ -62,7 +62,7 @@ export type CreateOwnerOptions = CreateOwnerStandardOptions | CreateOwnerManaged
|
|
|
62
62
|
* then destroy the transfer seal.
|
|
63
63
|
*
|
|
64
64
|
* Standard mode: the recipient supplies a secret. Managed mode: the
|
|
65
|
-
* secret is minted + sealed under a `
|
|
65
|
+
* secret is minted + sealed under a `NoydbSealer` and a strong
|
|
66
66
|
* (Shamir) recovery profile is enrolled — orchestrated via the existing
|
|
67
67
|
* `openVaultAndEnrollRecovery` ceremony.
|
|
68
68
|
*
|
|
@@ -30,4 +30,4 @@ export type { ReduceResult, ReduceSpec, LiveReduction, } from '../with-lookup/re
|
|
|
30
30
|
export type { IndexDef } from '../with-lookup/indexing/eager-indexes.js';
|
|
31
31
|
export type { FuseOptions } from '../with-lookup/search/fuse.js';
|
|
32
32
|
export type { RetrieveHit, RetrieveOptions } from '../with-lookup/search/retrieve-types.js';
|
|
33
|
-
export type {
|
|
33
|
+
export type { NoydbMesh, WriterPresence, FenceDoc, DrainBarrierOptions, } from '../port/by/index.js';
|
|
@@ -19,7 +19,7 @@ export { liberateVault } from '../with-party/custody/liberate.js';
|
|
|
19
19
|
export type { LiberateOptions, LiberateResult } from '../with-party/custody/liberate.js';
|
|
20
20
|
export { createDeedOwner, loadDeedMarker, isDeedVault } from '../with-party/team/deed.js';
|
|
21
21
|
export type { DeedMarker } from '../with-party/team/deed.js';
|
|
22
|
-
export type {
|
|
22
|
+
export type { NoydbSealer } from '../with-party/team/managed-secret.js';
|
|
23
23
|
export { diffVault } from './vault-diff.js';
|
|
24
24
|
export { STATE_VAULT_NAME } from '../kernel/constants.js';
|
|
25
25
|
export { withCargo } from './active.js';
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* A **Deed** is a vault owned by a *latent* principal who never
|
|
5
5
|
* authenticates. The owner credential (the random secret that
|
|
6
6
|
* derives `KEK_owner`) is minted machine-side and sealed under a
|
|
7
|
-
* **non-firm** {@link
|
|
7
|
+
* **non-firm** {@link NoydbSealer} — that sealing boundary is
|
|
8
8
|
* the cryptographic *inalienability anchor*: whoever holds the
|
|
9
9
|
* provider (the client / their KMS) is the only party that can ever
|
|
10
10
|
* re-derive `KEK_owner`. A firm-side custodian operates the vault
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
*/
|
|
31
31
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
32
32
|
import type { UnlockedKeyring } from './keyring.js';
|
|
33
|
-
import type {
|
|
33
|
+
import type { NoydbSealer } from './managed-secret.js';
|
|
34
34
|
/** Reserved id for the Deed marker under `_meta`. */
|
|
35
35
|
export declare const DEED_RECORD_ID: "deed";
|
|
36
36
|
/**
|
|
@@ -43,7 +43,7 @@ export interface DeedMarker {
|
|
|
43
43
|
/** The latent owner principal — the user id of the `_keyring/<id>` owner file. */
|
|
44
44
|
readonly ownerUserId: string;
|
|
45
45
|
/**
|
|
46
|
-
* The `
|
|
46
|
+
* The `NoydbSealer.id` the owner credential is sealed under.
|
|
47
47
|
* The inalienability anchor: only the holder of this (non-firm)
|
|
48
48
|
* provider can re-derive `KEK_owner`. Audit metadata — never secret.
|
|
49
49
|
*/
|
|
@@ -74,7 +74,7 @@ export interface DeedMarker {
|
|
|
74
74
|
* There is deliberately no firm-controlled fallback: the marker's
|
|
75
75
|
* `sealedUnder` is the single cryptographic anchor of ownership.
|
|
76
76
|
*/
|
|
77
|
-
export declare function createDeedOwner(store: NoydbStore, vault: string, ownerUserId: string, sealing:
|
|
77
|
+
export declare function createDeedOwner(store: NoydbStore, vault: string, ownerUserId: string, sealing: NoydbSealer): Promise<UnlockedKeyring>;
|
|
78
78
|
/**
|
|
79
79
|
* Read the {@link DeedMarker} from `_meta/deed`, or `null` if the vault
|
|
80
80
|
* has no Deed marker (i.e. it is not a Deed vault). Plaintext read — no
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { NoydbDeviceSeal } from '../../port/with/device-seal-strategy.js';
|
|
2
2
|
/**
|
|
3
3
|
* Device-local sealer for the echo reveal-blob (spec decision 5).
|
|
4
|
-
* DISTINCT from `
|
|
4
|
+
* DISTINCT from `NoydbSealer` (managed-secret mode, which seals
|
|
5
5
|
* the WHOLE secret): this seals only the echo part, and only so an
|
|
6
6
|
* enrolled device can display it during the unlock ceremony. The
|
|
7
7
|
* sealed bytes may sit in the (untrusted) keyring file — attacker-B
|
|
8
8
|
* resistance comes from `unseal` requiring this device's key store.
|
|
9
9
|
*
|
|
10
10
|
* The interface itself is declared on the `/with` port
|
|
11
|
-
* ({@link
|
|
11
|
+
* ({@link NoydbDeviceSeal} from `port/with/device-seal-strategy.js`)
|
|
12
12
|
* so the kernel spine can reference it without a static spine→service
|
|
13
13
|
* import; re-exported here as the canonical consumer-facing home.
|
|
14
14
|
*/
|
|
15
|
-
export type {
|
|
15
|
+
export type { NoydbDeviceSeal };
|
|
16
16
|
/** In-memory test provider — AES-GCM under a per-instance random key. */
|
|
17
|
-
export declare class
|
|
17
|
+
export declare class MemoryDeviceSeal implements NoydbDeviceSeal {
|
|
18
18
|
readonly id: string;
|
|
19
19
|
private readonly keyPromise;
|
|
20
20
|
constructor(opts: {
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
* @module
|
|
16
16
|
*/
|
|
17
17
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
18
|
-
import type {
|
|
18
|
+
import type { NoydbDeviceSeal } from './device-seal.js';
|
|
19
19
|
import { type UnlockedKeyring } from './keyring.js';
|
|
20
20
|
/** Options for {@link beginEchoUnlock}. */
|
|
21
21
|
export interface BeginEchoUnlockOptions {
|
|
22
22
|
readonly userId: string;
|
|
23
23
|
readonly prompt: string;
|
|
24
|
-
readonly deviceSeal?:
|
|
24
|
+
readonly deviceSeal?: NoydbDeviceSeal;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* A prompt-verified, in-progress echo unlock. Stateless w.r.t. attempts —
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* - Building the reveal blob per the hybrid reveal policy (spec decision
|
|
12
12
|
* 4): `portable` (AES-GCM under the prompt, own salt), `sealed`
|
|
13
13
|
* (opaque to hub, unsealed only by the enrolling device's
|
|
14
|
-
* {@link
|
|
14
|
+
* {@link NoydbDeviceSeal}), or `none`.
|
|
15
15
|
* - Resolving the echo for display (`resolveEchoReveal`, `null` ⇒
|
|
16
16
|
* degraded typed-echo path) and verifying a typed echo
|
|
17
17
|
* (`verifyTypedEcho`) for that degraded path.
|
|
@@ -30,14 +30,14 @@
|
|
|
30
30
|
*/
|
|
31
31
|
import { type EchoSecretParts } from '../../kernel/enclave/index.js';
|
|
32
32
|
import type { KeyringEchoBlock } from '../../kernel/types.js';
|
|
33
|
-
import type {
|
|
33
|
+
import type { NoydbDeviceSeal } from './device-seal.js';
|
|
34
34
|
/** Same iteration floor as the KEK (spec resolved question 1). */
|
|
35
35
|
export declare const ECHO_KDF_ITERATIONS = 600000;
|
|
36
36
|
export type EchoRevealChoice = {
|
|
37
37
|
readonly kind: 'portable';
|
|
38
38
|
} | {
|
|
39
39
|
readonly kind: 'sealed';
|
|
40
|
-
readonly deviceSeal:
|
|
40
|
+
readonly deviceSeal: NoydbDeviceSeal;
|
|
41
41
|
} | {
|
|
42
42
|
readonly kind: 'none';
|
|
43
43
|
};
|
|
@@ -52,5 +52,5 @@ export declare function verifyPrompt(block: KeyringEchoBlock, prompt: string): P
|
|
|
52
52
|
* @throws WrongPromptError when the prompt cannot open the portable reveal
|
|
53
53
|
* (callers should verifyPrompt first for a boolean check).
|
|
54
54
|
*/
|
|
55
|
-
export declare function resolveEchoReveal(block: KeyringEchoBlock, prompt: string, deviceSeal?:
|
|
55
|
+
export declare function resolveEchoReveal(block: KeyringEchoBlock, prompt: string, deviceSeal?: NoydbDeviceSeal): Promise<string | null>;
|
|
56
56
|
export declare function verifyTypedEcho(block: KeyringEchoBlock, echo: string): Promise<boolean>;
|
|
@@ -36,8 +36,8 @@ export { buildEchoBlock, verifyPrompt, resolveEchoReveal, verifyTypedEcho, } fro
|
|
|
36
36
|
export type { EchoRevealChoice } from './echo-secret.js';
|
|
37
37
|
export { beginEchoUnlock } from './echo-ceremony.js';
|
|
38
38
|
export type { BeginEchoUnlockOptions, EchoCeremony } from './echo-ceremony.js';
|
|
39
|
-
export {
|
|
40
|
-
export type {
|
|
39
|
+
export { MemoryDeviceSeal } from './device-seal.js';
|
|
40
|
+
export type { NoydbDeviceSeal } from './device-seal.js';
|
|
41
41
|
export type { EchoSecretParts } from '../../kernel/enclave/index.js';
|
|
42
42
|
export type { KeyringEchoBlock, NoydbStore } from '../../kernel/types.js';
|
|
43
43
|
export { describeAuthConfig, diagramAuthConfig, describeUserAuth, describeAllUsersAuth, } from '../auth-introspection/index.js';
|
|
@@ -2,7 +2,7 @@ import type { NoydbStore, KeyringFile, KeyringAuthenticator, Role, Permissions,
|
|
|
2
2
|
import { type EnclaveKey, type EchoSecretParts } from '../../kernel/enclave/index.js';
|
|
3
3
|
import type { KeyringTamperedReason } from '../../kernel/errors.js';
|
|
4
4
|
import { type SecretPolicy, type EchoSecretPolicy } from '../../kernel/validation.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type { NoydbDeviceSeal } from './device-seal.js';
|
|
6
6
|
/** In-memory representation of an unlocked keyring. */
|
|
7
7
|
export interface UnlockedKeyring {
|
|
8
8
|
readonly userId: string;
|
|
@@ -165,7 +165,7 @@ export interface CreateOwnerKeyringOptions extends SecretPolicy {
|
|
|
165
165
|
* ⇒ `reveal: 'sealed'` (attacker-B resistance); absent ⇒ `reveal:
|
|
166
166
|
* 'portable'` (spec resolved question 4). Ignored for a string secret.
|
|
167
167
|
*/
|
|
168
|
-
readonly deviceSeal?:
|
|
168
|
+
readonly deviceSeal?: NoydbDeviceSeal;
|
|
169
169
|
/** Echo enrollment only: optional display hint for the masked echo. */
|
|
170
170
|
readonly echoMaskHint?: string;
|
|
171
171
|
/**
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* A vault mode where the secret is machine-generated and never
|
|
5
5
|
* exposed to the user, sealed under a developer-provided
|
|
6
|
-
* {@link
|
|
6
|
+
* {@link NoydbSealer} (macOS Keychain, Windows Credential
|
|
7
7
|
* Manager, libsecret, AWS KMS, …). The user has no secret to give
|
|
8
8
|
* up to coercion — they can't reveal what they don't know.
|
|
9
9
|
*
|
|
10
10
|
* ## Components in this file
|
|
11
11
|
*
|
|
12
|
-
* - {@link
|
|
12
|
+
* - {@link NoydbSealer} — the interface concrete providers
|
|
13
13
|
* implement. Provider implementations live OUTSIDE hub (per-
|
|
14
14
|
* platform packages).
|
|
15
|
-
* - {@link
|
|
15
|
+
* - {@link MemorySealer} — in-memory test provider; uses
|
|
16
16
|
* a deterministic per-instance "key" so two providers with
|
|
17
17
|
* different ids cannot unseal each other's outputs.
|
|
18
18
|
* - {@link RecipientHint} — public material a sender uses to seal
|
|
@@ -22,10 +22,10 @@
|
|
|
22
22
|
* - {@link RecipientSealer} — interface for asymmetric/granted
|
|
23
23
|
* providers that support recipient-target sealing (RSA-OAEP,
|
|
24
24
|
* cloud-KMS asymmetric, etc.); distinct from self-only
|
|
25
|
-
* {@link
|
|
25
|
+
* {@link NoydbSealer} (macOS Keychain, WebAuthn-PRF).
|
|
26
26
|
* - {@link MemoryRecipientSealer} — in-process reference
|
|
27
27
|
* implementation of both `RecipientSealer` and
|
|
28
|
-
* `
|
|
28
|
+
* `NoydbSealer` using real WebCrypto RSA-OAEP + AES-GCM;
|
|
29
29
|
* safe for tests and same-process sender/recipient scenarios.
|
|
30
30
|
* - {@link loadSealedSecret} / {@link saveSealedSecret} —
|
|
31
31
|
* plaintext envelope storage at `_meta/sealed-secret`.
|
|
@@ -66,7 +66,7 @@ import type { NoydbStore, RecipientSealer } from '../../kernel/types.js';
|
|
|
66
66
|
* | Linux | `@noy-db/seal-libsecret` | libsecret / secret-service |
|
|
67
67
|
* | Cloud / server | `@noy-db/seal-aws-kms` | AWS KMS Decrypt |
|
|
68
68
|
*/
|
|
69
|
-
export interface
|
|
69
|
+
export interface NoydbSealer {
|
|
70
70
|
/**
|
|
71
71
|
* Non-sensitive identifier disclosed in the persisted envelope.
|
|
72
72
|
* Surfaced to consumers via `loadSealedSecret().providerId` so
|
|
@@ -97,13 +97,23 @@ export interface SealingKeyProvider {
|
|
|
97
97
|
*
|
|
98
98
|
* Replace with a real platform provider in production.
|
|
99
99
|
*/
|
|
100
|
-
export declare class
|
|
100
|
+
export declare class MemorySealer implements NoydbSealer {
|
|
101
101
|
readonly id: string;
|
|
102
102
|
private readonly fingerprint;
|
|
103
103
|
private readonly keyBytes;
|
|
104
104
|
constructor(opts: {
|
|
105
105
|
id: string;
|
|
106
106
|
});
|
|
107
|
+
/**
|
|
108
|
+
* Deterministic 4-byte integrity tag over the ciphertext, keyed by the
|
|
109
|
+
* same derived bytes. NOT a MAC and not forgery-resistant — a real
|
|
110
|
+
* provider authenticates with its backend. It exists because the contract
|
|
111
|
+
* says `unseal` MUST throw on tamper, and a double that silently returns
|
|
112
|
+
* corrupted bytes is not modelling the contract it stands in for. Without
|
|
113
|
+
* it, every managed-mode test ran against a provider that could not fail
|
|
114
|
+
* the way a real one must (found by @noy-db/test-sealer-conformance).
|
|
115
|
+
*/
|
|
116
|
+
private tag;
|
|
107
117
|
seal(secret: Uint8Array): Promise<Uint8Array>;
|
|
108
118
|
unseal(sealed: Uint8Array): Promise<Uint8Array>;
|
|
109
119
|
}
|
|
@@ -168,7 +178,7 @@ export declare function parseRsaOaepTlv(bytes: Uint8Array): {
|
|
|
168
178
|
*/
|
|
169
179
|
export declare function aesGcmOpen(cekBytes: Uint8Array, iv: Uint8Array, ct: Uint8Array): Promise<Uint8Array>;
|
|
170
180
|
/**
|
|
171
|
-
* Reference implementation of `RecipientSealer` + `
|
|
181
|
+
* Reference implementation of `RecipientSealer` + `NoydbSealer`.
|
|
172
182
|
* Uses WebCrypto RSA-OAEP-SHA256 (2048-bit) to wrap a fresh 32-byte
|
|
173
183
|
* AES-GCM CEK, AES-GCM-encrypts plaintext under it, and packs the
|
|
174
184
|
* result into a self-describing TLV:
|
|
@@ -190,7 +200,7 @@ export declare function aesGcmOpen(cekBytes: Uint8Array, iv: Uint8Array, ct: Uin
|
|
|
190
200
|
* keychain; use it for tests and for shipping bundles where the
|
|
191
201
|
* recipient instance lives in the same process as the sender (rare).
|
|
192
202
|
*/
|
|
193
|
-
export declare class MemoryRecipientSealer implements
|
|
203
|
+
export declare class MemoryRecipientSealer implements NoydbSealer, RecipientSealer {
|
|
194
204
|
readonly id: string;
|
|
195
205
|
private readonly keypair;
|
|
196
206
|
constructor(opts: {
|
|
@@ -213,7 +223,7 @@ export interface SealedSecret {
|
|
|
213
223
|
/**
|
|
214
224
|
* Wire-format envelope persisted at `_meta/sealed-secret` for
|
|
215
225
|
* managed-mode vaults. The provider produces raw sealed bytes via
|
|
216
|
-
* {@link
|
|
226
|
+
* {@link NoydbSealer.seal}; this wrapper carries the dispatch
|
|
217
227
|
* metadata hub needs to pick the right provider on the unseal path.
|
|
218
228
|
*
|
|
219
229
|
* Stability boundary: once shipped, the wire format only grows by
|
|
@@ -277,4 +287,4 @@ export declare function loadSealedSecret(store: NoydbStore, vault: string): Prom
|
|
|
277
287
|
*
|
|
278
288
|
* @internal — called from `createNoydb` / `getKeyringInternal`.
|
|
279
289
|
*/
|
|
280
|
-
export declare function resolveManagedSecret(store: NoydbStore, vault: string, provider:
|
|
290
|
+
export declare function resolveManagedSecret(store: NoydbStore, vault: string, provider: NoydbSealer): Promise<string>;
|
|
@@ -303,7 +303,7 @@ export declare class TeamFacade {
|
|
|
303
303
|
* const db = await createNoydb({
|
|
304
304
|
* store, user: 'alice',
|
|
305
305
|
* secretMode: 'managed',
|
|
306
|
-
* sealingKey:
|
|
306
|
+
* sealingKey: atMacosKeychain({ ... }),
|
|
307
307
|
* })
|
|
308
308
|
*
|
|
309
309
|
* const { vault, recoveryEnrollments } = await db.team.openVaultAndEnrollRecovery('acme', {
|
|
@@ -329,7 +329,7 @@ export declare class TeamFacade {
|
|
|
329
329
|
*
|
|
330
330
|
* Replaces the sealed secret of a managed-mode vault with a
|
|
331
331
|
* fresh 256-bit random, sealed under the configured
|
|
332
|
-
* `
|
|
332
|
+
* `NoydbSealer`. The user never sees the new secret.
|
|
333
333
|
*
|
|
334
334
|
* Internally:
|
|
335
335
|
* 1. Verify the recovery proof (Shamir today) and unwrap the
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* sees `RawShare` or the share codecs. Implemented by
|
|
5
5
|
* `shamirRecoveryProvider()` from `@noy-db/on-shamir`.
|
|
6
6
|
*/
|
|
7
|
-
export interface
|
|
7
|
+
export interface NoydbShamir {
|
|
8
8
|
/** Split `secret` into `n` base32 share strings; any `k` recombine it. */
|
|
9
9
|
splitToShares(secret: Uint8Array, k: number, n: number): string[];
|
|
10
10
|
/**
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
26
26
|
import type { EnclaveKey } from '../../kernel/enclave/index.js';
|
|
27
27
|
import { type WrappedDeksBlob } from './wrapped-deks.js';
|
|
28
|
-
import type {
|
|
28
|
+
import type { NoydbShamir } from './noydb-shamir.js';
|
|
29
29
|
/**
|
|
30
30
|
* One paper recovery code as persisted in `_meta/recovery-paper`.
|
|
31
31
|
*
|
|
@@ -146,7 +146,7 @@ export declare function saveShamirRecoveryEntries(store: NoydbStore, vault: stri
|
|
|
146
146
|
* @param n - Total shares (k <= n <= 255).
|
|
147
147
|
* @param label - Optional caller label.
|
|
148
148
|
*/
|
|
149
|
-
export declare function mintShamirRecoveryEntry(provider:
|
|
149
|
+
export declare function mintShamirRecoveryEntry(provider: NoydbShamir, deks: Map<string, EnclaveKey>, entryId: string, k: number, n: number, label?: string): Promise<{
|
|
150
150
|
entry: ShamirRecoveryEntry;
|
|
151
151
|
shareStrings: string[];
|
|
152
152
|
}>;
|
|
@@ -161,7 +161,7 @@ export declare function mintShamirRecoveryEntry(provider: ShamirRecoveryProvider
|
|
|
161
161
|
* because they came from a different enrollment or were tampered
|
|
162
162
|
* with. Callers iterating multiple entries should catch.
|
|
163
163
|
*/
|
|
164
|
-
export declare function unwrapDeksFromShamirEntry(provider:
|
|
164
|
+
export declare function unwrapDeksFromShamirEntry(provider: NoydbShamir, entry: ShamirRecoveryEntry, shareStrings: readonly string[]): Promise<Map<string, EnclaveKey>>;
|
|
165
165
|
/**
|
|
166
166
|
* Generate one paper-recovery entry from an unlocked DEK set.
|
|
167
167
|
*
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
20
20
|
import { type EnclaveKey, type EchoSecretParts } from '../../kernel/enclave/index.js';
|
|
21
21
|
import { type PaperRecoveryEntry } from './recovery.js';
|
|
22
|
-
import type {
|
|
22
|
+
import type { NoydbShamir } from './noydb-shamir.js';
|
|
23
23
|
import { type SecretPolicy, type EchoSecretPolicy } from '../../kernel/validation.js';
|
|
24
24
|
import type { UnlockedKeyring } from './keyring.js';
|
|
25
|
-
import type {
|
|
25
|
+
import type { NoydbDeviceSeal } from './device-seal.js';
|
|
26
26
|
import type { KeyringAuthenticator } from '../../kernel/types.js';
|
|
27
27
|
import type { EnrollAuthenticatorOptions } from './authenticators.js';
|
|
28
28
|
/**
|
|
@@ -38,7 +38,7 @@ interface RotateEchoOptions {
|
|
|
38
38
|
* absent ⇒ `reveal: 'portable'`. Mirrors
|
|
39
39
|
* {@link CreateOwnerKeyringOptions.deviceSeal}.
|
|
40
40
|
*/
|
|
41
|
-
readonly deviceSeal?:
|
|
41
|
+
readonly deviceSeal?: NoydbDeviceSeal;
|
|
42
42
|
/** Optional display hint for the masked echo. */
|
|
43
43
|
readonly maskHint?: string;
|
|
44
44
|
}
|
|
@@ -189,7 +189,7 @@ export type RecoveryProof = {
|
|
|
189
189
|
/** Optional disambiguator when multiple Shamir entries are enrolled.
|
|
190
190
|
* When omitted, hub tries each entry until one combines. */
|
|
191
191
|
readonly entryId?: string;
|
|
192
|
-
/** K or more opaque share strings, as returned by `
|
|
192
|
+
/** K or more opaque share strings, as returned by `NoydbShamir.splitToShares`. */
|
|
193
193
|
readonly shares: ReadonlyArray<string>;
|
|
194
194
|
};
|
|
195
195
|
};
|
|
@@ -365,5 +365,5 @@ export type RecoveryEnrollmentInput = {
|
|
|
365
365
|
* On success, the used recovery entry is burned (deleted from the
|
|
366
366
|
* stored set).
|
|
367
367
|
*/
|
|
368
|
-
export declare function recoverSecret(provider:
|
|
368
|
+
export declare function recoverSecret(provider: NoydbShamir | undefined, store: NoydbStore, vault: string, userId: string, input: RecoverSecretInput): Promise<UnlockedKeyring>;
|
|
369
369
|
export {};
|
|
@@ -132,7 +132,7 @@ export interface NoydbPodHeader {
|
|
|
132
132
|
* Auto-unlock material indicator. When present, the bundle
|
|
133
133
|
* body wraps the dump JSON in a structure carrying per-user
|
|
134
134
|
* secrets — either plaintext (`'unsealed'`, public-by-design)
|
|
135
|
-
* or sealed under a `
|
|
135
|
+
* or sealed under a `NoydbSealer` (`'sealed'`, requires
|
|
136
136
|
* matching provider on the recipient side).
|
|
137
137
|
*
|
|
138
138
|
* Visible pre-decompression so cloud listing UIs can warn before
|