@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
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pickLocale
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CYQOUTMY.js";
|
|
4
4
|
import {
|
|
5
5
|
sha256Hex
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VCETL77O.js";
|
|
7
7
|
import {
|
|
8
8
|
BundleIntegrityError,
|
|
9
9
|
BundleSealMismatchError,
|
|
10
10
|
ValidationError
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-HNGSV2YC.js";
|
|
12
12
|
|
|
13
13
|
// src/with-pod/format.ts
|
|
14
14
|
var NOYDB_BUNDLE_MAGIC = new Uint8Array([78, 68, 66, 49]);
|
|
15
15
|
var NOYDB_BUNDLE_PREFIX_BYTES = 10;
|
|
16
16
|
var NOYDB_BUNDLE_FORMAT_VERSION = 1;
|
|
17
|
+
var NOYDB_BUNDLE_FORMAT_VERSION_SIGNED = 2;
|
|
17
18
|
var FLAG_COMPRESSED = 1;
|
|
18
19
|
var FLAG_HAS_INTEGRITY_HASH = 2;
|
|
19
20
|
var COMPRESSION_NONE = 0;
|
|
@@ -27,7 +28,40 @@ var ALLOWED_HEADER_KEYS = /* @__PURE__ */ new Set([
|
|
|
27
28
|
"publicEnvelope",
|
|
28
29
|
"autoUnlock",
|
|
29
30
|
"bundleKind",
|
|
30
|
-
"transferSeal"
|
|
31
|
+
"transferSeal",
|
|
32
|
+
"sig",
|
|
33
|
+
"keyId",
|
|
34
|
+
"sigAlg",
|
|
35
|
+
"engineRange",
|
|
36
|
+
"unlockMethods",
|
|
37
|
+
"hasApp",
|
|
38
|
+
"species",
|
|
39
|
+
"pointerMode",
|
|
40
|
+
"redirect"
|
|
41
|
+
]);
|
|
42
|
+
var UNLOCK_METHODS = /* @__PURE__ */ new Set([
|
|
43
|
+
"password",
|
|
44
|
+
"webauthn",
|
|
45
|
+
"oidc",
|
|
46
|
+
"totp",
|
|
47
|
+
"email-otp",
|
|
48
|
+
"magic-link",
|
|
49
|
+
"pin",
|
|
50
|
+
"recovery",
|
|
51
|
+
"shamir"
|
|
52
|
+
]);
|
|
53
|
+
var POD_SPECIES = /* @__PURE__ */ new Set([
|
|
54
|
+
"full",
|
|
55
|
+
"connection",
|
|
56
|
+
"snapshot",
|
|
57
|
+
"redirect",
|
|
58
|
+
"group"
|
|
59
|
+
]);
|
|
60
|
+
var REDIRECT_REASONS = /* @__PURE__ */ new Set([
|
|
61
|
+
"moved",
|
|
62
|
+
"release",
|
|
63
|
+
"tombstone",
|
|
64
|
+
"repoint"
|
|
31
65
|
]);
|
|
32
66
|
function validateBundleHeader(parsed) {
|
|
33
67
|
if (parsed === null || typeof parsed !== "object") {
|
|
@@ -43,9 +77,9 @@ function validateBundleHeader(parsed) {
|
|
|
43
77
|
}
|
|
44
78
|
}
|
|
45
79
|
const h = parsed;
|
|
46
|
-
if (typeof h["formatVersion"] !== "number" || h["formatVersion"] !== NOYDB_BUNDLE_FORMAT_VERSION) {
|
|
80
|
+
if (typeof h["formatVersion"] !== "number" || h["formatVersion"] !== NOYDB_BUNDLE_FORMAT_VERSION && h["formatVersion"] !== NOYDB_BUNDLE_FORMAT_VERSION_SIGNED) {
|
|
47
81
|
throw new Error(
|
|
48
|
-
`.noydb bundle header.formatVersion must be ${NOYDB_BUNDLE_FORMAT_VERSION}, got ${String(h["formatVersion"])}. The reader does not support forward-compat versions; upgrade the reader to handle newer bundles.`
|
|
82
|
+
`.noydb bundle header.formatVersion must be ${NOYDB_BUNDLE_FORMAT_VERSION} or ${NOYDB_BUNDLE_FORMAT_VERSION_SIGNED}, got ${String(h["formatVersion"])}. The reader does not support forward-compat versions; upgrade the reader to handle newer bundles.`
|
|
49
83
|
);
|
|
50
84
|
}
|
|
51
85
|
if (typeof h["handle"] !== "string" || !/^[0-9A-HJKMNP-TV-Z]{26}$/.test(h["handle"])) {
|
|
@@ -114,6 +148,99 @@ function validateBundleHeader(parsed) {
|
|
|
114
148
|
throw new Error(`.noydb bundle header.transferSeal.sealId must be a non-empty string, got ${String(t["sealId"])}.`);
|
|
115
149
|
}
|
|
116
150
|
}
|
|
151
|
+
if (h["keyId"] !== void 0) {
|
|
152
|
+
if (typeof h["keyId"] !== "string" || !/^[0-9a-f]{16}$/.test(h["keyId"])) {
|
|
153
|
+
throw new Error(
|
|
154
|
+
`.noydb bundle header.keyId must be a 16-character lowercase hex fingerprint, got ${typeof h["keyId"] === "string" ? `"${h["keyId"]}"` : typeof h["keyId"]}.`
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (h["sig"] !== void 0) {
|
|
159
|
+
if (typeof h["sig"] !== "string" || h["sig"].length === 0 || !/^[A-Za-z0-9_-]+$/.test(h["sig"])) {
|
|
160
|
+
throw new Error(
|
|
161
|
+
`.noydb bundle header.sig must be a non-empty base64url string, got ${typeof h["sig"] === "string" ? `"${h["sig"]}"` : typeof h["sig"]}.`
|
|
162
|
+
);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (h["sigAlg"] !== void 0) {
|
|
166
|
+
if (h["sigAlg"] !== "ed25519") {
|
|
167
|
+
const got = typeof h["sigAlg"] === "string" ? `"${h["sigAlg"]}"` : typeof h["sigAlg"];
|
|
168
|
+
throw new Error(`.noydb bundle header.sigAlg must be 'ed25519' when present, got ${got}.`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
if (h["engineRange"] !== void 0) {
|
|
172
|
+
if (typeof h["engineRange"] !== "string" || h["engineRange"].length === 0) {
|
|
173
|
+
throw new Error(
|
|
174
|
+
`.noydb bundle header.engineRange must be a string when present, got ${typeof h["engineRange"]}.`
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
if (h["unlockMethods"] !== void 0) {
|
|
179
|
+
const methods = h["unlockMethods"];
|
|
180
|
+
if (!Array.isArray(methods)) {
|
|
181
|
+
throw new Error(
|
|
182
|
+
`.noydb bundle header.unlockMethods must be an array when present, got ${typeof methods}.`
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
for (let i = 0; i < methods.length; i++) {
|
|
186
|
+
if (!UNLOCK_METHODS.has(methods[i])) {
|
|
187
|
+
throw new Error(
|
|
188
|
+
`.noydb bundle header.unlockMethods[${i}] must be one of: ${[...UNLOCK_METHODS].join(", ")}, got ${String(methods[i])}.`
|
|
189
|
+
);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
if (h["hasApp"] !== void 0) {
|
|
194
|
+
if (typeof h["hasApp"] !== "boolean") {
|
|
195
|
+
throw new Error(
|
|
196
|
+
`.noydb bundle header.hasApp must be a boolean when present, got ${typeof h["hasApp"]}.`
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
if (h["species"] !== void 0) {
|
|
201
|
+
if (!POD_SPECIES.has(h["species"])) {
|
|
202
|
+
const got = typeof h["species"] === "string" ? `"${h["species"]}"` : typeof h["species"];
|
|
203
|
+
throw new Error(
|
|
204
|
+
`.noydb bundle header.species must be one of: ${[...POD_SPECIES].join(", ")}, got ${got}.`
|
|
205
|
+
);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
if (h["pointerMode"] !== void 0) {
|
|
209
|
+
if (h["pointerMode"] !== "public" && h["pointerMode"] !== "private") {
|
|
210
|
+
const got = typeof h["pointerMode"] === "string" ? `"${h["pointerMode"]}"` : typeof h["pointerMode"];
|
|
211
|
+
throw new Error(`.noydb bundle header.pointerMode must be 'public' or 'private' when present, got ${got}.`);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
if (h["redirect"] !== void 0) {
|
|
215
|
+
const r = h["redirect"];
|
|
216
|
+
if (r === null || typeof r !== "object" || Array.isArray(r)) {
|
|
217
|
+
throw new Error(`.noydb bundle header.redirect must be a JSON object when present, got ${typeof r}.`);
|
|
218
|
+
}
|
|
219
|
+
const rec = r;
|
|
220
|
+
if (rec["v"] !== 1) {
|
|
221
|
+
throw new Error(`.noydb bundle header.redirect.v must be 1, got ${String(rec["v"])}.`);
|
|
222
|
+
}
|
|
223
|
+
if (typeof rec["target"] !== "string" || rec["target"].length === 0) {
|
|
224
|
+
throw new Error(
|
|
225
|
+
`.noydb bundle header.redirect.target must be a non-empty string, got ${String(rec["target"])}.`
|
|
226
|
+
);
|
|
227
|
+
}
|
|
228
|
+
if (!REDIRECT_REASONS.has(rec["reason"])) {
|
|
229
|
+
throw new Error(
|
|
230
|
+
`.noydb bundle header.redirect.reason must be one of: ${[...REDIRECT_REASONS].join(", ")}, got ${String(rec["reason"])}.`
|
|
231
|
+
);
|
|
232
|
+
}
|
|
233
|
+
if (typeof rec["issuedBy"] !== "string" || !/^[0-9a-f]{16}$/.test(rec["issuedBy"])) {
|
|
234
|
+
throw new Error(
|
|
235
|
+
`.noydb bundle header.redirect.issuedBy must be a 16-character lowercase hex fingerprint, got ${typeof rec["issuedBy"] === "string" ? `"${rec["issuedBy"]}"` : typeof rec["issuedBy"]}.`
|
|
236
|
+
);
|
|
237
|
+
}
|
|
238
|
+
if (typeof rec["sig"] !== "string" || rec["sig"].length === 0 || !/^[A-Za-z0-9_-]+$/.test(rec["sig"])) {
|
|
239
|
+
throw new Error(
|
|
240
|
+
`.noydb bundle header.redirect.sig must be a non-empty base64url string, got ${typeof rec["sig"] === "string" ? `"${rec["sig"]}"` : typeof rec["sig"]}.`
|
|
241
|
+
);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
117
244
|
const isExtracted = h["bundleKind"] === "extracted-partition";
|
|
118
245
|
const hasSeal = h["transferSeal"] !== void 0;
|
|
119
246
|
if (hasSeal && !isExtracted) {
|
|
@@ -131,6 +258,17 @@ function validateBundleHeader(parsed) {
|
|
|
131
258
|
`.noydb bundle header cannot carry both autoUnlock and bundleKind === 'extracted-partition' \u2014 an extracted partition is unlocked via its transfer seal, not an auto-credential.`
|
|
132
259
|
);
|
|
133
260
|
}
|
|
261
|
+
const sigFieldsPresent = [h["sig"], h["keyId"], h["sigAlg"]].filter((v) => v !== void 0).length;
|
|
262
|
+
if (sigFieldsPresent > 0 && sigFieldsPresent < 3) {
|
|
263
|
+
throw new Error(
|
|
264
|
+
`.noydb bundle header.sig, .keyId, and .sigAlg must be present together or not at all (got ${sigFieldsPresent} of 3).`
|
|
265
|
+
);
|
|
266
|
+
}
|
|
267
|
+
if (sigFieldsPresent === 3 && h["formatVersion"] !== NOYDB_BUNDLE_FORMAT_VERSION_SIGNED) {
|
|
268
|
+
throw new Error(
|
|
269
|
+
`.noydb bundle header with sig/keyId/sigAlg must have formatVersion === ${NOYDB_BUNDLE_FORMAT_VERSION_SIGNED}, got ${String(h["formatVersion"])}.`
|
|
270
|
+
);
|
|
271
|
+
}
|
|
134
272
|
}
|
|
135
273
|
function encodeBundleHeader(header) {
|
|
136
274
|
validateBundleHeader(header);
|
|
@@ -142,7 +280,20 @@ function encodeBundleHeader(header) {
|
|
|
142
280
|
...header.publicEnvelope !== void 0 ? { publicEnvelope: header.publicEnvelope } : {},
|
|
143
281
|
...header.autoUnlock !== void 0 ? { autoUnlock: header.autoUnlock } : {},
|
|
144
282
|
...header.bundleKind !== void 0 ? { bundleKind: header.bundleKind } : {},
|
|
145
|
-
...header.transferSeal !== void 0 ? { transferSeal: header.transferSeal } : {}
|
|
283
|
+
...header.transferSeal !== void 0 ? { transferSeal: header.transferSeal } : {},
|
|
284
|
+
// Encode order here is the WIRE-byte contract only — it does NOT
|
|
285
|
+
// affect the signature. The signer (Task 4/5) signs the header
|
|
286
|
+
// object via canonicalJson, which re-sorts keys independent of
|
|
287
|
+
// this insertion order.
|
|
288
|
+
...header.sig !== void 0 ? { sig: header.sig } : {},
|
|
289
|
+
...header.keyId !== void 0 ? { keyId: header.keyId } : {},
|
|
290
|
+
...header.sigAlg !== void 0 ? { sigAlg: header.sigAlg } : {},
|
|
291
|
+
...header.engineRange !== void 0 ? { engineRange: header.engineRange } : {},
|
|
292
|
+
...header.unlockMethods !== void 0 ? { unlockMethods: header.unlockMethods } : {},
|
|
293
|
+
...header.hasApp !== void 0 ? { hasApp: header.hasApp } : {},
|
|
294
|
+
...header.species !== void 0 ? { species: header.species } : {},
|
|
295
|
+
...header.pointerMode !== void 0 ? { pointerMode: header.pointerMode } : {},
|
|
296
|
+
...header.redirect !== void 0 ? { redirect: header.redirect } : {}
|
|
146
297
|
});
|
|
147
298
|
return new TextEncoder().encode(json);
|
|
148
299
|
}
|
|
@@ -176,6 +327,19 @@ function hasNoydbBundleMagic(bytes) {
|
|
|
176
327
|
return true;
|
|
177
328
|
}
|
|
178
329
|
|
|
330
|
+
// src/with-pod/signature.ts
|
|
331
|
+
import { canonicalJson, ed25519Sign, ed25519Verify, utf8 } from "@noy-db/attestation";
|
|
332
|
+
var POD_SIG_ALG = "ed25519";
|
|
333
|
+
function signedBytes(payload) {
|
|
334
|
+
return utf8(canonicalJson(payload));
|
|
335
|
+
}
|
|
336
|
+
async function signRecord(privateKeyPkcs8B64, payload) {
|
|
337
|
+
return ed25519Sign(privateKeyPkcs8B64, signedBytes(payload));
|
|
338
|
+
}
|
|
339
|
+
async function verifyRecord(publicKeyB64, sig, payload) {
|
|
340
|
+
return ed25519Verify(publicKeyB64, sig, signedBytes(payload));
|
|
341
|
+
}
|
|
342
|
+
|
|
179
343
|
// src/with-pod/bundle.ts
|
|
180
344
|
function toAutoCredentials(m) {
|
|
181
345
|
return Object.fromEntries(
|
|
@@ -613,7 +777,7 @@ async function applySatelliteLivenessFilter(vault, dumpJson) {
|
|
|
613
777
|
if (!backup.collections || typeof backup.collections !== "object") return dumpJson;
|
|
614
778
|
if (typeof vault._introspectState !== "function") return dumpJson;
|
|
615
779
|
const { adapter, name, getDEK } = vault._introspectState();
|
|
616
|
-
const { liveBaseIdSetsForBundle } = await import("./dead-filter-
|
|
780
|
+
const { liveBaseIdSetsForBundle } = await import("./dead-filter-U575NGSH.js");
|
|
617
781
|
const satLive = await liveBaseIdSetsForBundle(adapter, name, Object.keys(backup.collections), getDEK);
|
|
618
782
|
if (satLive.size === 0) return dumpJson;
|
|
619
783
|
const next = {};
|
|
@@ -678,9 +842,20 @@ async function assembleBundleContainer(opts) {
|
|
|
678
842
|
...opts.headerExtras?.publicEnvelope !== void 0 ? { publicEnvelope: opts.headerExtras.publicEnvelope } : {},
|
|
679
843
|
...opts.headerExtras?.autoUnlock !== void 0 ? { autoUnlock: opts.headerExtras.autoUnlock } : {},
|
|
680
844
|
...opts.headerExtras?.bundleKind !== void 0 ? { bundleKind: opts.headerExtras.bundleKind } : {},
|
|
681
|
-
...opts.headerExtras?.transferSeal !== void 0 ? { transferSeal: opts.headerExtras.transferSeal } : {}
|
|
845
|
+
...opts.headerExtras?.transferSeal !== void 0 ? { transferSeal: opts.headerExtras.transferSeal } : {},
|
|
846
|
+
...opts.headerExtras?.engineRange !== void 0 ? { engineRange: opts.headerExtras.engineRange } : {},
|
|
847
|
+
...opts.headerExtras?.unlockMethods !== void 0 ? { unlockMethods: opts.headerExtras.unlockMethods } : {},
|
|
848
|
+
...opts.headerExtras?.hasApp !== void 0 ? { hasApp: opts.headerExtras.hasApp } : {},
|
|
849
|
+
...opts.headerExtras?.species !== void 0 ? { species: opts.headerExtras.species } : {},
|
|
850
|
+
...opts.headerExtras?.pointerMode !== void 0 ? { pointerMode: opts.headerExtras.pointerMode } : {},
|
|
851
|
+
...opts.headerExtras?.redirect !== void 0 ? { redirect: opts.headerExtras.redirect } : {}
|
|
682
852
|
};
|
|
683
|
-
const
|
|
853
|
+
const signed = opts.signer === void 0 ? header : await (async (s) => {
|
|
854
|
+
const toSign = { ...header, formatVersion: NOYDB_BUNDLE_FORMAT_VERSION_SIGNED, keyId: s.keyId, sigAlg: "ed25519" };
|
|
855
|
+
const sig = await signRecord(s.privateKeyPkcs8B64, toSign);
|
|
856
|
+
return { ...toSign, sig };
|
|
857
|
+
})(opts.signer);
|
|
858
|
+
const headerBytes = encodeBundleHeader(signed);
|
|
684
859
|
const prefix = new Uint8Array(NOYDB_BUNDLE_PREFIX_BYTES);
|
|
685
860
|
prefix.set(NOYDB_BUNDLE_MAGIC, 0);
|
|
686
861
|
prefix[4] = (streamFormat === null ? 0 : FLAG_COMPRESSED) | FLAG_HAS_INTEGRITY_HASH;
|
|
@@ -704,6 +879,7 @@ async function writePod(vault, opts = {}) {
|
|
|
704
879
|
const filtered = applySliceFilters(plainFiltered, opts);
|
|
705
880
|
const bodyJsonStr = normalizedAutoUnlock === null ? filtered : JSON.stringify(await buildAutoUnlockWrapper(filtered, normalizedAutoUnlock));
|
|
706
881
|
const cover = await vault.getCover();
|
|
882
|
+
const signer = opts.sign === false ? void 0 : opts.sign !== void 0 ? opts.sign : await vault._loadPodSigner() ?? void 0;
|
|
707
883
|
return assembleBundleContainer({
|
|
708
884
|
handle,
|
|
709
885
|
bodyJsonStr,
|
|
@@ -711,8 +887,16 @@ async function writePod(vault, opts = {}) {
|
|
|
711
887
|
headerExtras: {
|
|
712
888
|
// `publicEnvelope` is the frozen wire key for the cover (#799).
|
|
713
889
|
...cover !== void 0 ? { publicEnvelope: cover } : {},
|
|
714
|
-
...autoUnlockMode !== null ? { autoUnlock: autoUnlockMode } : {}
|
|
715
|
-
|
|
890
|
+
...autoUnlockMode !== null ? { autoUnlock: autoUnlockMode } : {},
|
|
891
|
+
// Header L2 fields (#942) — passed through verbatim from opts.
|
|
892
|
+
...opts.engineRange !== void 0 ? { engineRange: opts.engineRange } : {},
|
|
893
|
+
...opts.unlockMethods !== void 0 ? { unlockMethods: opts.unlockMethods } : {},
|
|
894
|
+
...opts.hasApp !== void 0 ? { hasApp: opts.hasApp } : {},
|
|
895
|
+
...opts.species !== void 0 ? { species: opts.species } : {},
|
|
896
|
+
...opts.pointerMode !== void 0 ? { pointerMode: opts.pointerMode } : {},
|
|
897
|
+
...opts.redirect !== void 0 ? { redirect: opts.redirect } : {}
|
|
898
|
+
},
|
|
899
|
+
...signer !== void 0 ? { signer } : {}
|
|
716
900
|
});
|
|
717
901
|
}
|
|
718
902
|
var writeNoydbBundle = writePod;
|
|
@@ -749,6 +933,20 @@ function readPodHeader(bytes) {
|
|
|
749
933
|
return parsePrefixAndHeader(bytes).header;
|
|
750
934
|
}
|
|
751
935
|
var readNoydbBundleHeader = readPodHeader;
|
|
936
|
+
async function verifyPodHeader(bytes, trustedKeys) {
|
|
937
|
+
const { header } = parsePrefixAndHeader(bytes);
|
|
938
|
+
if (header.sig === void 0 || header.keyId === void 0 || header.sigAlg === void 0) {
|
|
939
|
+
return { status: "unsigned" };
|
|
940
|
+
}
|
|
941
|
+
const publicKeyB64 = trustedKeys[header.keyId];
|
|
942
|
+
if (publicKeyB64 === void 0) {
|
|
943
|
+
return { status: "untrusted", keyId: header.keyId };
|
|
944
|
+
}
|
|
945
|
+
const payload = { ...header };
|
|
946
|
+
delete payload["sig"];
|
|
947
|
+
const ok = await verifyRecord(publicKeyB64, header.sig, payload);
|
|
948
|
+
return { status: ok ? "verified" : "tampered", keyId: header.keyId };
|
|
949
|
+
}
|
|
752
950
|
function readPodCover(bytes, opts = {}) {
|
|
753
951
|
const header = parsePrefixAndHeader(bytes).header;
|
|
754
952
|
const env = header.publicEnvelope;
|
|
@@ -760,6 +958,9 @@ function readPodCover(bytes, opts = {}) {
|
|
|
760
958
|
...env.description !== void 0 ? { description: pickLocale(env.description, opts.locale, env.defaultLocale) } : {}
|
|
761
959
|
};
|
|
762
960
|
}
|
|
961
|
+
function readPodRedirect(bytes) {
|
|
962
|
+
return parsePrefixAndHeader(bytes).header.redirect;
|
|
963
|
+
}
|
|
763
964
|
async function readPod(bytes, opts = {}) {
|
|
764
965
|
const { header, bodyOffset, algo } = parsePrefixAndHeader(bytes);
|
|
765
966
|
const body = bytes.slice(bodyOffset);
|
|
@@ -809,6 +1010,10 @@ export {
|
|
|
809
1010
|
validateBundleHeader,
|
|
810
1011
|
encodeBundleHeader,
|
|
811
1012
|
hasNoydbBundleMagic,
|
|
1013
|
+
POD_SIG_ALG,
|
|
1014
|
+
signedBytes,
|
|
1015
|
+
signRecord,
|
|
1016
|
+
verifyRecord,
|
|
812
1017
|
buildExtractedPartitionWrapper,
|
|
813
1018
|
parseExtractedPartitionBody,
|
|
814
1019
|
resetBrotliSupportCache,
|
|
@@ -817,8 +1022,10 @@ export {
|
|
|
817
1022
|
writeNoydbBundle,
|
|
818
1023
|
readPodHeader,
|
|
819
1024
|
readNoydbBundleHeader,
|
|
1025
|
+
verifyPodHeader,
|
|
820
1026
|
readPodCover,
|
|
1027
|
+
readPodRedirect,
|
|
821
1028
|
readPod,
|
|
822
1029
|
readNoydbBundle
|
|
823
1030
|
};
|
|
824
|
-
//# sourceMappingURL=chunk-
|
|
1031
|
+
//# sourceMappingURL=chunk-EK7DT5BT.js.map
|