@noy-db/hub 0.6.0-pre.9 → 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 +7127 -0
- package/README.md +1 -1
- package/codemods/0.4.0-pre.json +24 -0
- package/codemods/0.6.0-pre.json +229 -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 +19 -19
- package/dist/{backup-KULFZ2T4.js → backup-Z7ZBTAQ6.js} +36 -18
- package/dist/backup-Z7ZBTAQ6.js.map +1 -0
- package/dist/blobs/index.js +22 -20
- package/dist/blobs/index.js.map +1 -1
- package/dist/broker/index.js +12 -12
- package/dist/by/index.js +11 -0
- package/dist/cargo/index.js +40 -36
- package/dist/{chunk-YAWK6AWF.js → chunk-225O5CXQ.js} +2 -2
- package/dist/{chunk-MSWYQLMQ.js → chunk-2GXEQUEX.js} +2 -2
- package/dist/chunk-2GXEQUEX.js.map +1 -0
- package/dist/{chunk-3URQC7EH.js → chunk-2LPVI4PX.js} +355 -132
- package/dist/chunk-2LPVI4PX.js.map +1 -0
- package/dist/{chunk-JJNOLSG5.js → chunk-3L2MVE36.js} +15 -16
- package/dist/chunk-3L2MVE36.js.map +1 -0
- package/dist/{chunk-OF3L2SD6.js → chunk-3QARDAYW.js} +2 -2
- package/dist/{chunk-WLZ47GSL.js → chunk-467SKJ65.js} +12 -10
- package/dist/{chunk-WLZ47GSL.js.map → chunk-467SKJ65.js.map} +1 -1
- package/dist/{chunk-W3TVWF6N.js → chunk-4A4TYISP.js} +2 -2
- package/dist/{chunk-ZJADGNYF.js → chunk-4AOERLTV.js} +1 -1
- package/dist/chunk-4AOERLTV.js.map +1 -0
- package/dist/{chunk-CCZJJ4I2.js → chunk-4G25SDQL.js} +6 -6
- package/dist/{chunk-4I72F5DF.js → chunk-4LPF226H.js} +11 -14
- package/dist/chunk-4LPF226H.js.map +1 -0
- package/dist/{chunk-7F4DBNSP.js → chunk-4ZPE6SKS.js} +135 -18
- package/dist/chunk-4ZPE6SKS.js.map +1 -0
- package/dist/{chunk-7TSYBD3E.js → chunk-5263OEM3.js} +2 -2
- package/dist/{chunk-WFUIE565.js → chunk-57JTHWLQ.js} +17 -14
- package/dist/chunk-57JTHWLQ.js.map +1 -0
- package/dist/{chunk-FNSMZQS4.js → chunk-5ACAVJUI.js} +2 -2
- package/dist/{chunk-PDLLCOGD.js → chunk-5AFMP532.js} +20 -17
- package/dist/chunk-5AFMP532.js.map +1 -0
- package/dist/{chunk-JRKZTEZZ.js → chunk-5W7YXFV5.js} +444 -73
- package/dist/chunk-5W7YXFV5.js.map +1 -0
- package/dist/chunk-6EW2UCVF.js +190 -0
- package/dist/chunk-6EW2UCVF.js.map +1 -0
- package/dist/{chunk-4VUPLMZ6.js → chunk-6FOGTKBY.js} +68 -73
- package/dist/chunk-6FOGTKBY.js.map +1 -0
- package/dist/{chunk-VMCCGUQB.js → chunk-7LYUJNU3.js} +2 -2
- package/dist/{chunk-52JPHN5N.js → chunk-A2YW5EMU.js} +27 -149
- package/dist/chunk-A2YW5EMU.js.map +1 -0
- package/dist/{chunk-WLYIROCJ.js → chunk-AB5P32RE.js} +2 -2
- package/dist/{chunk-PL2GHSCM.js → chunk-ALB64CZM.js} +157 -90
- package/dist/chunk-ALB64CZM.js.map +1 -0
- package/dist/{chunk-SUFG5E73.js → chunk-ALUNQEBY.js} +2 -2
- package/dist/{chunk-CADUYBQD.js → chunk-ATL3ZVXT.js} +2 -2
- package/dist/{chunk-BWVKEOPE.js → chunk-ATV637J7.js} +7 -11
- package/dist/chunk-ATV637J7.js.map +1 -0
- package/dist/{chunk-DG27IUVI.js → chunk-CBRS2NEK.js} +2 -11
- package/dist/chunk-CBRS2NEK.js.map +1 -0
- package/dist/{chunk-7MNBICB5.js → chunk-CN6B5PEN.js} +16 -14
- package/dist/chunk-CN6B5PEN.js.map +1 -0
- package/dist/{chunk-6FJWSWFT.js → chunk-DBNYPLWY.js} +3 -3
- package/dist/{chunk-5JY5TSVY.js → chunk-DFAUMLD7.js} +25 -31
- package/dist/chunk-DFAUMLD7.js.map +1 -0
- package/dist/{chunk-FFDNKRCY.js → chunk-DKWPJOYH.js} +2 -2
- package/dist/chunk-DKWPJOYH.js.map +1 -0
- package/dist/{chunk-VJFMXYKP.js → chunk-E6YA6UAP.js} +2 -2
- package/dist/{chunk-WASHZV34.js → chunk-F23WQK3G.js} +65 -27
- package/dist/chunk-F23WQK3G.js.map +1 -0
- package/dist/{chunk-JIUVJ4M7.js → chunk-F7ZFRPGQ.js} +3 -3
- package/dist/{chunk-HXGUIPQB.js → chunk-FOG7YEJP.js} +3 -3
- package/dist/{chunk-QULVCV3M.js → chunk-GK4DRVUD.js} +6 -6
- package/dist/chunk-GK4DRVUD.js.map +1 -0
- package/dist/{chunk-BRVW2GS5.js → chunk-H36KSN6X.js} +87 -34
- package/dist/chunk-H36KSN6X.js.map +1 -0
- package/dist/{chunk-O2ERS4UJ.js → chunk-H4M7ADXY.js} +81 -52
- package/dist/chunk-H4M7ADXY.js.map +1 -0
- package/dist/{chunk-FZ6NYJ7L.js → chunk-H7HP56F6.js} +11 -8
- package/dist/chunk-H7HP56F6.js.map +1 -0
- package/dist/chunk-HK67PX4J.js +27 -0
- package/dist/chunk-HK67PX4J.js.map +1 -0
- package/dist/{chunk-X56RTUK3.js → chunk-HM4JSXX2.js} +3 -3
- package/dist/{chunk-AHLJSVRL.js → chunk-HTGRQZFB.js} +5 -7
- package/dist/chunk-HTGRQZFB.js.map +1 -0
- package/dist/{chunk-GQ3BX5EA.js → chunk-I3ISCYT7.js} +2 -2
- package/dist/{chunk-Q6TEJXBX.js → chunk-IESNYJXZ.js} +31 -49
- package/dist/chunk-IESNYJXZ.js.map +1 -0
- package/dist/{chunk-FUHKW252.js → chunk-J4MN6XIU.js} +2 -2
- package/dist/{chunk-ADW22QSB.js → chunk-J4UJ5FRV.js} +4 -4
- package/dist/{chunk-HNGSV2YC.js → chunk-JBIV4FLR.js} +67 -10
- package/dist/chunk-JBIV4FLR.js.map +1 -0
- package/dist/{chunk-HVQGCKY4.js → chunk-JVLSU7S2.js} +2 -2
- package/dist/{chunk-AR2JDFAE.js → chunk-KDJGJR7F.js} +2 -2
- package/dist/{chunk-NPP5R7FF.js → chunk-KN4W2OQ4.js} +22 -18
- package/dist/chunk-KN4W2OQ4.js.map +1 -0
- package/dist/{chunk-G6S5VVHP.js → chunk-L6GTLZRK.js} +10 -10
- package/dist/chunk-L6GTLZRK.js.map +1 -0
- package/dist/{chunk-2BMRJ6LQ.js → chunk-LF6DMX4C.js} +8 -11
- package/dist/{chunk-2BMRJ6LQ.js.map → chunk-LF6DMX4C.js.map} +1 -1
- package/dist/chunk-LFUID7OW.js +163 -0
- package/dist/chunk-LFUID7OW.js.map +1 -0
- package/dist/{chunk-747LRSOO.js → chunk-LKFKXS5K.js} +2 -2
- package/dist/{chunk-U5O6GIWZ.js → chunk-LR4Z47QD.js} +3 -3
- package/dist/{chunk-VZ3XFUQ7.js → chunk-MTBXJAS4.js} +16 -22
- package/dist/chunk-MTBXJAS4.js.map +1 -0
- package/dist/chunk-N4CNVSUF.js +66 -0
- package/dist/chunk-N4CNVSUF.js.map +1 -0
- package/dist/{chunk-RTAMLDWP.js → chunk-NLKLXXTO.js} +2 -2
- package/dist/{chunk-IGJCYUT5.js → chunk-NSITFOCJ.js} +1 -1
- package/dist/chunk-NSITFOCJ.js.map +1 -0
- package/dist/{chunk-FDX7OWWI.js → chunk-OPXR4PB2.js} +2 -2
- package/dist/{chunk-4GZ6XOVW.js → chunk-OWLVBOWO.js} +44 -42
- package/dist/chunk-OWLVBOWO.js.map +1 -0
- package/dist/{chunk-Z45YRGFO.js → chunk-P6ASQOZR.js} +2 -2
- package/dist/{chunk-5O5HRRTV.js → chunk-PCQDY6QN.js} +7 -7
- package/dist/{chunk-5O5HRRTV.js.map → chunk-PCQDY6QN.js.map} +1 -1
- package/dist/{chunk-BEFVYAR5.js → chunk-PGFKIOR3.js} +4 -4
- package/dist/chunk-PGFKIOR3.js.map +1 -0
- package/dist/{chunk-3FSX6LDG.js → chunk-POS53FG6.js} +18 -3
- package/dist/{chunk-3FSX6LDG.js.map → chunk-POS53FG6.js.map} +1 -1
- package/dist/{chunk-3IXIU6FP.js → chunk-PQ6Z2TAP.js} +7 -10
- package/dist/chunk-PQ6Z2TAP.js.map +1 -0
- package/dist/{chunk-CEJWMBXO.js → chunk-PUJTKLPL.js} +6 -2
- package/dist/chunk-PUJTKLPL.js.map +1 -0
- package/dist/{chunk-GAG7QOVO.js → chunk-QGJ4XIA7.js} +53 -18
- package/dist/chunk-QGJ4XIA7.js.map +1 -0
- package/dist/{chunk-2DHSSLOD.js → chunk-QHJKK77B.js} +13 -15
- package/dist/chunk-QHJKK77B.js.map +1 -0
- package/dist/{chunk-2Z3NCLNX.js → chunk-QI5NWLVW.js} +7 -7
- package/dist/{chunk-6SAFL5YE.js → chunk-RC4BROYR.js} +3 -3
- package/dist/{chunk-NJDQ4YSV.js → chunk-RDHUZ674.js} +4 -4
- package/dist/{chunk-YPYHVOXP.js → chunk-RK7N4OQ5.js} +2 -2
- package/dist/chunk-RK7N4OQ5.js.map +1 -0
- package/dist/{chunk-3737A6EA.js → chunk-S2VG3ABP.js} +127 -31
- package/dist/chunk-S2VG3ABP.js.map +1 -0
- package/dist/{chunk-3JVXVJ7L.js → chunk-S35S77YU.js} +10 -10
- package/dist/{chunk-KUDZVJKQ.js → chunk-SHILAQH5.js} +2 -2
- package/dist/{chunk-4UVDI4XE.js → chunk-T3PHCEN4.js} +4 -4
- package/dist/{chunk-55LKVALY.js → chunk-T7IR4N2S.js} +1 -3
- package/dist/chunk-T7IR4N2S.js.map +1 -0
- package/dist/{chunk-RXYYFSBB.js → chunk-TOV6VMHF.js} +6 -6
- package/dist/chunk-TOV6VMHF.js.map +1 -0
- package/dist/{chunk-W77KZHCW.js → chunk-TVIFAHZR.js} +16 -17
- package/dist/chunk-TVIFAHZR.js.map +1 -0
- package/dist/chunk-UBSFPGVJ.js +1 -0
- package/dist/{chunk-FAXZQ5UF.js → chunk-UCUALOSM.js} +2 -2
- package/dist/{chunk-4HDYQL3J.js → chunk-VAG47QHV.js} +2 -2
- package/dist/{chunk-35EBKWQU.js → chunk-VFIWDPXZ.js} +4 -4
- package/dist/{chunk-5ZKS6ZE2.js → chunk-VTG7327U.js} +4 -4
- package/dist/chunk-VTG7327U.js.map +1 -0
- package/dist/{chunk-VCETL77O.js → chunk-W5LHQXZU.js} +36 -7
- package/dist/chunk-W5LHQXZU.js.map +1 -0
- package/dist/{chunk-6NVPFKN3.js → chunk-WK5FSW7T.js} +92 -35
- package/dist/chunk-WK5FSW7T.js.map +1 -0
- package/dist/{chunk-HNHCQ556.js → chunk-WLLUM35R.js} +2 -2
- package/dist/{chunk-YJ6IONGA.js → chunk-X62MEF2O.js} +13 -5
- package/dist/chunk-X62MEF2O.js.map +1 -0
- package/dist/{chunk-7G6VDWXB.js → chunk-X67FCULK.js} +5 -5
- package/dist/chunk-X67FCULK.js.map +1 -0
- package/dist/{chunk-UHXCLPGC.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-E6427JU2.js → chunk-XSN63FUS.js} +19 -3
- package/dist/chunk-XSN63FUS.js.map +1 -0
- package/dist/{chunk-JRCYZEHU.js → chunk-XVU7J43V.js} +2 -2
- package/dist/{chunk-2GAJGUNM.js → chunk-Y3YLJORD.js} +408 -260
- package/dist/chunk-Y3YLJORD.js.map +1 -0
- package/dist/{chunk-6BU3L4UE.js → chunk-Y6GZ2P4M.js} +7 -10
- package/dist/chunk-Y6GZ2P4M.js.map +1 -0
- package/dist/{chunk-DMQCLZ4Z.js → chunk-YCSM3GZU.js} +2 -2
- package/dist/{chunk-RV3ARMPN.js → chunk-YKPGQJFU.js} +30 -180
- package/dist/chunk-YKPGQJFU.js.map +1 -0
- package/dist/{chunk-FMQJZH4R.js → chunk-YMLQBZFJ.js} +6 -6
- package/dist/{chunk-6HFM7EIT.js → chunk-YPSOHDNC.js} +2 -2
- package/dist/{chunk-CDB2HVQW.js → chunk-YXA2TCTZ.js} +14 -15
- package/dist/chunk-YXA2TCTZ.js.map +1 -0
- package/dist/{chunk-N35NC4JH.js → chunk-Z2PWOSCJ.js} +2 -2
- package/dist/{chunk-XWX7GL56.js → chunk-Z2WK53N6.js} +47 -23
- package/dist/chunk-Z2WK53N6.js.map +1 -0
- package/dist/{chunk-HPLWFNG4.js → chunk-Z7ZXZL6Y.js} +2 -2
- package/dist/{chunk-PNKHAKQ7.js → chunk-ZO252Q5S.js} +17 -10
- package/dist/chunk-ZO252Q5S.js.map +1 -0
- package/dist/classified/index.js +5 -5
- package/dist/{classified-marker-2KJAXRRO.js → classified-marker-BSQHU4JT.js} +3 -3
- package/dist/collection-facade-LG3NYZVB.js +45 -0
- package/dist/{computed-6G5M3UPH.js → computed-ASBNTLOK.js} +3 -3
- package/dist/consent/index.js +10 -10
- package/dist/cover/index.js +10 -3
- package/dist/custody/index.js +12 -11
- package/dist/{dead-filter-DCB62VWW.js → dead-filter-QKU56XTQ.js} +2 -2
- package/dist/debug/index.js +1 -1
- package/dist/{delegation-MO7YZYJS.js → delegation-XWRPYODW.js} +24 -23
- package/dist/delegation-XWRPYODW.js.map +1 -0
- package/dist/derivations/index.js +12 -12
- package/dist/derive-CXHCY46K.js +22 -0
- package/dist/directory/index.js +10 -10
- package/dist/{dispatch-MJ6SHB3Y.js → dispatch-4AP4PUZU.js} +18 -18
- package/dist/{dispatch-FZEAWKVM.js → dispatch-VR4LRXZ7.js} +9 -6
- package/dist/dispatch-VR4LRXZ7.js.map +1 -0
- package/dist/{enclave-JU4YIEPB.js → enclave-NYPT7WA7.js} +31 -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-NNAJQXMX.js → fanout-sidecar-IWP3R4RC.js} +18 -27
- package/dist/fanout-sidecar-IWP3R4RC.js.map +1 -0
- 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 +4 -4
- package/dist/history/index.js +23 -20
- package/dist/history/index.js.map +1 -1
- package/dist/i18n/index.js +14 -14
- package/dist/index.d.ts +35 -18
- package/dist/index.js +199 -204
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +4 -4
- 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 +9 -3
- package/dist/kernel/constants.d.ts +36 -0
- package/dist/kernel/enclave/crypto.d.ts +52 -4
- package/dist/kernel/enclave/index.d.ts +10 -3
- package/dist/kernel/enclave/record-aad.d.ts +131 -0
- package/dist/kernel/enclave/record-envelope.d.ts +76 -0
- package/dist/kernel/enclave/record-keys/envelope-body.d.ts +34 -2
- package/dist/kernel/enclave/record-keys/lifecycle.d.ts +22 -5
- package/dist/kernel/enclave/record-keys/record-codec.d.ts +47 -14
- package/dist/kernel/enclave/record-keys/rekey-blob.d.ts +88 -0
- package/dist/kernel/enclave/record-keys/rekey.d.ts +91 -0
- package/dist/kernel/enclave/record-keys/tombstone.d.ts +3 -2
- package/dist/kernel/errors.d.ts +134 -14
- package/dist/kernel/merge-authority.d.ts +25 -0
- package/dist/kernel/noydb.d.ts +33 -10
- package/dist/kernel/query/builder.d.ts +51 -4
- package/dist/kernel/query/join.d.ts +27 -0
- package/dist/kernel/query/live.d.ts +31 -9
- package/dist/kernel/query/predicate.d.ts +9 -0
- package/dist/kernel/refs.d.ts +3 -1
- package/dist/kernel/secret-mode.d.ts +1 -1
- package/dist/kernel/sync-policy.d.ts +0 -2
- package/dist/kernel/tier-visibility.d.ts +34 -0
- package/dist/kernel/types.d.ts +145 -28
- package/dist/kernel/vault.d.ts +16 -7
- package/dist/kernel/via/compose.d.ts +3 -3
- package/dist/kernel/via/index.d.ts +15 -6
- package/dist/kernel/via/pipeline.d.ts +6 -6
- package/dist/kernel/via/reconcile.d.ts +14 -2
- package/dist/kernel/via/taint-binding.d.ts +3 -3
- package/dist/{ledger-AETNF4OM.js → ledger-T5K4P2D7.js} +11 -11
- package/dist/liberate-VEOZRESE.js +25 -0
- package/dist/{link-set-E5HNY67I.js → link-set-76JZ6YB4.js} +11 -11
- package/dist/{managed-secret-CWQ6PND5.js → managed-secret-6YC32VXG.js} +13 -5
- package/dist/materialized-views/index.js +27 -27
- package/dist/migrate-cek-LBRKYUZZ.js +19 -0
- package/dist/migrate-cek-LBRKYUZZ.js.map +1 -0
- package/dist/money/index.js +5 -5
- 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 +79 -88
- package/dist/pod-handle-P6DPBM5U.js +41 -0
- package/dist/pod-handle-P6DPBM5U.js.map +1 -0
- package/dist/policy/index.js +11 -4
- 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/to/index.d.ts +4 -4
- package/dist/port/to/locator.d.ts +54 -8
- 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/i18n-strategy.d.ts +4 -1
- package/dist/port/with/lookup-strategy.d.ts +4 -1
- package/dist/port/with/merge-authority.d.ts +52 -0
- package/dist/port/with/service-bus.d.ts +0 -4
- package/dist/port/with/strategies.d.ts +13 -5
- package/dist/port/with/team-strategy.d.ts +5 -1
- package/dist/portability/index.js +8 -8
- package/dist/{post-register-2XSSMGEQ.js → post-register-53O7AJRZ.js} +6 -6
- package/dist/query/index.js +6 -6
- package/dist/reduce/index.js +6 -6
- 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-BW36KCOQ.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 +20 -13
- package/dist/sealed-record/index.js.map +1 -1
- package/dist/search/index.js +4 -4
- package/dist/{seed-GDV5PT4R.js → seed-NSNIGYXE.js} +20 -22
- package/dist/seed-NSNIGYXE.js.map +1 -0
- package/dist/sequence/index.js +9 -9
- package/dist/session/index.js +10 -10
- package/dist/shadow/index.js +2 -2
- package/dist/share-link/index.js +1 -1
- package/dist/signer-6XVS2AU3.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/snapshots/index.js.map +1 -1
- package/dist/{stale-ARHFVL5U.js → stale-MCS46TFO.js} +10 -10
- package/dist/storage-ZXUT476I.js +23 -0
- package/dist/storage-ZXUT476I.js.map +1 -0
- package/dist/{store-coordination-provider-GFCUOBR6.js → store-coordination-provider-6FM26VQM.js} +22 -15
- package/dist/store-coordination-provider-6FM26VQM.js.map +1 -0
- package/dist/sync/index.js +11 -11
- package/dist/team/index.js +17 -16
- package/dist/tiers/index.js +11 -10
- package/dist/to/index.js +17 -9
- package/dist/to/index.js.map +1 -1
- package/dist/transactions/index.js +4 -4
- package/dist/{ulid-PTAIMDG4.js → ulid-VQW6ERQN.js} +2 -2
- package/dist/ulid-VQW6ERQN.js.map +1 -0
- 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 +115 -0
- package/dist/vault-head/index.js.map +1 -0
- package/dist/{verify-RO5RTZOJ.js → verify-WYOFLSNA.js} +5 -5
- package/dist/via/blob/binding.d.ts +6 -6
- package/dist/via/blob/index.d.ts +3 -0
- 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/handle.d.ts +4 -1
- 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-audit/periods/periods.d.ts +1 -1
- package/dist/with-audit/periods/strategy.d.ts +1 -1
- package/dist/with-audit/sealed-record/index.d.ts +13 -0
- package/dist/with-audit/tiers/index.d.ts +17 -2
- package/dist/with-cargo/adopt-partition.d.ts +7 -7
- package/dist/with-cargo/extract-partition.d.ts +1 -1
- package/dist/with-cargo/floor.d.ts +1 -1
- package/dist/with-cargo/index.d.ts +2 -2
- package/dist/with-commit/history/history.d.ts +26 -0
- package/dist/with-commit/history/index.d.ts +2 -1
- package/dist/with-commit/history/ledger/store.d.ts +7 -1
- package/dist/with-commit/history/strategy.d.ts +11 -1
- package/dist/with-commit/numbering/index.d.ts +0 -5
- package/dist/with-commit/vault-head/active.d.ts +2 -0
- package/dist/with-commit/vault-head/head.d.ts +28 -0
- package/dist/with-commit/vault-head/index.d.ts +10 -0
- package/dist/with-commit/vault-head/strategy.d.ts +127 -0
- package/dist/with-commit/vault-head/verify.d.ts +90 -0
- package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +4 -0
- package/dist/with-formula/materialized-views/projection-legs.d.ts +59 -0
- package/dist/with-formula/materialized-views/registry.d.ts +50 -0
- package/dist/with-formula/materialized-views/types.d.ts +68 -10
- package/dist/with-party/directory/cover/storage.d.ts +0 -8
- package/dist/with-party/directory/storage.d.ts +0 -11
- package/dist/with-party/directory/visibility.d.ts +0 -21
- package/dist/with-party/policy/storage.d.ts +0 -10
- package/dist/with-party/team/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 +3 -3
- package/dist/with-party/team/keyring.d.ts +141 -4
- package/dist/with-party/team/managed-secret.d.ts +21 -11
- package/dist/with-party/team/noydb-facade.d.ts +7 -3
- 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/roster-tag.d.ts +101 -0
- package/dist/with-party/team/rotate-recover.d.ts +5 -5
- package/dist/with-party/team/tiers.d.ts +2 -1
- package/dist/with-pod/format.d.ts +11 -13
- package/dist/with-pod/index.d.ts +10 -10
- package/dist/with-pod/open.d.ts +2 -2
- package/dist/with-pod/pod-handle.d.ts +19 -0
- package/dist/with-pod/pod-store.d.ts +0 -8
- package/dist/with-pod/{bundle.d.ts → pod.d.ts} +17 -25
- package/dist/with-pod/ulid.d.ts +1 -1
- package/dist/with-shape/blobs/blob-compaction.d.ts +13 -0
- package/dist/with-shape/blobs/blob-set.d.ts +83 -11
- package/dist/with-shape/blobs/orphan-report.d.ts +62 -0
- 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/with-sync/engine.d.ts +54 -5
- package/dist/with-sync/strategy.d.ts +3 -0
- package/dist/withdraw-accessible-ILTSXTIE.js +28 -0
- package/dist/withdraw-accessible-ILTSXTIE.js.map +1 -0
- package/package.json +29 -5
- package/dist/api-RXUMEKT3.js +0 -20
- package/dist/backup-KULFZ2T4.js.map +0 -1
- package/dist/bundle-handle-GFNHT52M.js +0 -36
- package/dist/bundle-handle-GFNHT52M.js.map +0 -1
- package/dist/chunk-2DHSSLOD.js.map +0 -1
- package/dist/chunk-2GAJGUNM.js.map +0 -1
- package/dist/chunk-3737A6EA.js.map +0 -1
- package/dist/chunk-3IXIU6FP.js.map +0 -1
- package/dist/chunk-3URQC7EH.js.map +0 -1
- package/dist/chunk-4GZ6XOVW.js.map +0 -1
- package/dist/chunk-4I72F5DF.js.map +0 -1
- package/dist/chunk-4VUPLMZ6.js.map +0 -1
- package/dist/chunk-52JPHN5N.js.map +0 -1
- package/dist/chunk-55LKVALY.js.map +0 -1
- package/dist/chunk-5JY5TSVY.js.map +0 -1
- package/dist/chunk-5ZKS6ZE2.js.map +0 -1
- package/dist/chunk-6BU3L4UE.js.map +0 -1
- package/dist/chunk-6NVPFKN3.js.map +0 -1
- package/dist/chunk-7F4DBNSP.js.map +0 -1
- package/dist/chunk-7G6VDWXB.js.map +0 -1
- package/dist/chunk-7H73RIE3.js +0 -45
- package/dist/chunk-7H73RIE3.js.map +0 -1
- package/dist/chunk-7MNBICB5.js.map +0 -1
- package/dist/chunk-AFHQATY4.js +0 -47
- package/dist/chunk-AFHQATY4.js.map +0 -1
- package/dist/chunk-AHLJSVRL.js.map +0 -1
- package/dist/chunk-BEFVYAR5.js.map +0 -1
- package/dist/chunk-BRVW2GS5.js.map +0 -1
- package/dist/chunk-BWVKEOPE.js.map +0 -1
- package/dist/chunk-CDB2HVQW.js.map +0 -1
- package/dist/chunk-CEJWMBXO.js.map +0 -1
- package/dist/chunk-DG27IUVI.js.map +0 -1
- package/dist/chunk-E6427JU2.js.map +0 -1
- package/dist/chunk-FFDNKRCY.js.map +0 -1
- package/dist/chunk-FZ6NYJ7L.js.map +0 -1
- package/dist/chunk-G6S5VVHP.js.map +0 -1
- package/dist/chunk-GAG7QOVO.js.map +0 -1
- package/dist/chunk-HNGSV2YC.js.map +0 -1
- package/dist/chunk-IGJCYUT5.js.map +0 -1
- package/dist/chunk-JJNOLSG5.js.map +0 -1
- package/dist/chunk-JRKZTEZZ.js.map +0 -1
- package/dist/chunk-MSWYQLMQ.js.map +0 -1
- package/dist/chunk-NPP5R7FF.js.map +0 -1
- package/dist/chunk-O2ERS4UJ.js.map +0 -1
- package/dist/chunk-PDLLCOGD.js.map +0 -1
- package/dist/chunk-PL2GHSCM.js.map +0 -1
- package/dist/chunk-PNKHAKQ7.js.map +0 -1
- package/dist/chunk-Q6TEJXBX.js.map +0 -1
- package/dist/chunk-QULVCV3M.js.map +0 -1
- package/dist/chunk-RV3ARMPN.js.map +0 -1
- package/dist/chunk-RXYYFSBB.js.map +0 -1
- package/dist/chunk-UHXCLPGC.js.map +0 -1
- package/dist/chunk-VCETL77O.js.map +0 -1
- package/dist/chunk-VZ3XFUQ7.js.map +0 -1
- package/dist/chunk-W77KZHCW.js.map +0 -1
- package/dist/chunk-WASHZV34.js.map +0 -1
- package/dist/chunk-WFUIE565.js.map +0 -1
- package/dist/chunk-XWX7GL56.js.map +0 -1
- package/dist/chunk-YJ6IONGA.js.map +0 -1
- package/dist/chunk-YPYHVOXP.js.map +0 -1
- package/dist/chunk-ZJADGNYF.js.map +0 -1
- package/dist/collection-facade-QEJIM6BC.js +0 -45
- package/dist/delegation-MO7YZYJS.js.map +0 -1
- package/dist/derive-IUA6JFLB.js +0 -22
- package/dist/dispatch-FZEAWKVM.js.map +0 -1
- package/dist/executor-CYJQLKKI.js +0 -9
- package/dist/executor-S4QIKEHW.js +0 -9
- package/dist/executor-YIQB2S6N.js +0 -29
- package/dist/export-accessible-4S36PQNR.js +0 -23
- package/dist/extract-partition-IO7FDZ2P.js +0 -38
- package/dist/fanout-sidecar-NNAJQXMX.js.map +0 -1
- package/dist/fence-watcher-DHQ775JB.js.map +0 -1
- package/dist/find-RBBYKXI7.js +0 -11
- package/dist/issue-RIVHSY2S.js +0 -19
- package/dist/liberate-GFN4C7RR.js +0 -24
- package/dist/noydb-ASEXNJS6.js +0 -83
- package/dist/register-4EFJCVYD.js +0 -32
- package/dist/registry-4SDHHOJ7.js +0 -18
- package/dist/registry-CZVINVQH.js +0 -9
- package/dist/registry-IKUR2MXD.js +0 -9
- package/dist/registry-OYTFGWVK.js +0 -19
- package/dist/request-withdrawal-KGXGDPVQ.js +0 -31
- package/dist/revoke-JFN773KF.js +0 -24
- package/dist/seed-GDV5PT4R.js.map +0 -1
- package/dist/signer-TA55QB6R.js +0 -25
- package/dist/storage-V7MTFAQJ.js +0 -23
- package/dist/store-coordination-provider-GFCUOBR6.js.map +0 -1
- package/dist/walk-3ZECBFDA.js +0 -21
- package/dist/with-pod/bundle-handle.d.ts +0 -9
- package/dist/withdraw-accessible-7PG4DYQK.js +0 -28
- /package/dist/{api-RXUMEKT3.js.map → api-EQYRTZO2.js.map} +0 -0
- /package/dist/{collection-facade-QEJIM6BC.js.map → at/index.js.map} +0 -0
- /package/dist/{computed-6G5M3UPH.js.map → by/index.js.map} +0 -0
- /package/dist/{chunk-YAWK6AWF.js.map → chunk-225O5CXQ.js.map} +0 -0
- /package/dist/{chunk-OF3L2SD6.js.map → chunk-3QARDAYW.js.map} +0 -0
- /package/dist/{chunk-W3TVWF6N.js.map → chunk-4A4TYISP.js.map} +0 -0
- /package/dist/{chunk-CCZJJ4I2.js.map → chunk-4G25SDQL.js.map} +0 -0
- /package/dist/{chunk-7TSYBD3E.js.map → chunk-5263OEM3.js.map} +0 -0
- /package/dist/{chunk-FNSMZQS4.js.map → chunk-5ACAVJUI.js.map} +0 -0
- /package/dist/{chunk-VMCCGUQB.js.map → chunk-7LYUJNU3.js.map} +0 -0
- /package/dist/{chunk-WLYIROCJ.js.map → chunk-AB5P32RE.js.map} +0 -0
- /package/dist/{chunk-SUFG5E73.js.map → chunk-ALUNQEBY.js.map} +0 -0
- /package/dist/{chunk-CADUYBQD.js.map → chunk-ATL3ZVXT.js.map} +0 -0
- /package/dist/{chunk-6FJWSWFT.js.map → chunk-DBNYPLWY.js.map} +0 -0
- /package/dist/{chunk-VJFMXYKP.js.map → chunk-E6YA6UAP.js.map} +0 -0
- /package/dist/{chunk-JIUVJ4M7.js.map → chunk-F7ZFRPGQ.js.map} +0 -0
- /package/dist/{chunk-HXGUIPQB.js.map → chunk-FOG7YEJP.js.map} +0 -0
- /package/dist/{chunk-X56RTUK3.js.map → chunk-HM4JSXX2.js.map} +0 -0
- /package/dist/{chunk-GQ3BX5EA.js.map → chunk-I3ISCYT7.js.map} +0 -0
- /package/dist/{chunk-FUHKW252.js.map → chunk-J4MN6XIU.js.map} +0 -0
- /package/dist/{chunk-ADW22QSB.js.map → chunk-J4UJ5FRV.js.map} +0 -0
- /package/dist/{chunk-HVQGCKY4.js.map → chunk-JVLSU7S2.js.map} +0 -0
- /package/dist/{chunk-AR2JDFAE.js.map → chunk-KDJGJR7F.js.map} +0 -0
- /package/dist/{chunk-747LRSOO.js.map → chunk-LKFKXS5K.js.map} +0 -0
- /package/dist/{chunk-U5O6GIWZ.js.map → chunk-LR4Z47QD.js.map} +0 -0
- /package/dist/{chunk-RTAMLDWP.js.map → chunk-NLKLXXTO.js.map} +0 -0
- /package/dist/{chunk-FDX7OWWI.js.map → chunk-OPXR4PB2.js.map} +0 -0
- /package/dist/{chunk-Z45YRGFO.js.map → chunk-P6ASQOZR.js.map} +0 -0
- /package/dist/{chunk-2Z3NCLNX.js.map → chunk-QI5NWLVW.js.map} +0 -0
- /package/dist/{chunk-6SAFL5YE.js.map → chunk-RC4BROYR.js.map} +0 -0
- /package/dist/{chunk-NJDQ4YSV.js.map → chunk-RDHUZ674.js.map} +0 -0
- /package/dist/{chunk-3JVXVJ7L.js.map → chunk-S35S77YU.js.map} +0 -0
- /package/dist/{chunk-KUDZVJKQ.js.map → chunk-SHILAQH5.js.map} +0 -0
- /package/dist/{chunk-4UVDI4XE.js.map → chunk-T3PHCEN4.js.map} +0 -0
- /package/dist/{derive-IUA6JFLB.js.map → chunk-UBSFPGVJ.js.map} +0 -0
- /package/dist/{chunk-FAXZQ5UF.js.map → chunk-UCUALOSM.js.map} +0 -0
- /package/dist/{chunk-4HDYQL3J.js.map → chunk-VAG47QHV.js.map} +0 -0
- /package/dist/{chunk-35EBKWQU.js.map → chunk-VFIWDPXZ.js.map} +0 -0
- /package/dist/{chunk-HNHCQ556.js.map → chunk-WLLUM35R.js.map} +0 -0
- /package/dist/{chunk-JRCYZEHU.js.map → chunk-XVU7J43V.js.map} +0 -0
- /package/dist/{chunk-DMQCLZ4Z.js.map → chunk-YCSM3GZU.js.map} +0 -0
- /package/dist/{chunk-FMQJZH4R.js.map → chunk-YMLQBZFJ.js.map} +0 -0
- /package/dist/{chunk-6HFM7EIT.js.map → chunk-YPSOHDNC.js.map} +0 -0
- /package/dist/{chunk-N35NC4JH.js.map → chunk-Z2PWOSCJ.js.map} +0 -0
- /package/dist/{chunk-HPLWFNG4.js.map → chunk-Z7ZXZL6Y.js.map} +0 -0
- /package/dist/{classified-marker-2KJAXRRO.js.map → classified-marker-BSQHU4JT.js.map} +0 -0
- /package/dist/{enclave-JU4YIEPB.js.map → collection-facade-LG3NYZVB.js.map} +0 -0
- /package/dist/{executor-CYJQLKKI.js.map → computed-ASBNTLOK.js.map} +0 -0
- /package/dist/{dead-filter-DCB62VWW.js.map → dead-filter-QKU56XTQ.js.map} +0 -0
- /package/dist/{executor-S4QIKEHW.js.map → derive-CXHCY46K.js.map} +0 -0
- /package/dist/{dispatch-MJ6SHB3Y.js.map → dispatch-4AP4PUZU.js.map} +0 -0
- /package/dist/{executor-YIQB2S6N.js.map → enclave-NYPT7WA7.js.map} +0 -0
- /package/dist/{export-accessible-4S36PQNR.js.map → executor-3KFRQETS.js.map} +0 -0
- /package/dist/{extract-partition-IO7FDZ2P.js.map → executor-AFHQYRAU.js.map} +0 -0
- /package/dist/{find-RBBYKXI7.js.map → executor-YYDW6XQI.js.map} +0 -0
- /package/dist/{issue-RIVHSY2S.js.map → export-accessible-BX2ILB4C.js.map} +0 -0
- /package/dist/{ledger-AETNF4OM.js.map → extract-partition-UPOVITFI.js.map} +0 -0
- /package/dist/{liberate-GFN4C7RR.js.map → find-SZBL2HPB.js.map} +0 -0
- /package/dist/{link-set-E5HNY67I.js.map → issue-G53NB6EW.js.map} +0 -0
- /package/dist/{managed-secret-CWQ6PND5.js.map → ledger-T5K4P2D7.js.map} +0 -0
- /package/dist/{noydb-ASEXNJS6.js.map → liberate-VEOZRESE.js.map} +0 -0
- /package/dist/{register-4EFJCVYD.js.map → link-set-76JZ6YB4.js.map} +0 -0
- /package/dist/{registry-4SDHHOJ7.js.map → managed-secret-6YC32VXG.js.map} +0 -0
- /package/dist/{registry-CZVINVQH.js.map → noydb-EDJA4JNJ.js.map} +0 -0
- /package/dist/{registry-IKUR2MXD.js.map → on/index.js.map} +0 -0
- /package/dist/{post-register-2XSSMGEQ.js.map → post-register-53O7AJRZ.js.map} +0 -0
- /package/dist/{registry-OYTFGWVK.js.map → register-6TCBR6XD.js.map} +0 -0
- /package/dist/{request-withdrawal-KGXGDPVQ.js.map → registry-DH2L4O2V.js.map} +0 -0
- /package/dist/{revoke-JFN773KF.js.map → registry-IWFMXCHX.js.map} +0 -0
- /package/dist/{signer-TA55QB6R.js.map → registry-Q3FG3OAX.js.map} +0 -0
- /package/dist/{stale-ARHFVL5U.js.map → registry-YC3IFG3A.js.map} +0 -0
- /package/dist/{storage-V7MTFAQJ.js.map → request-withdrawal-NM5VYR6F.js.map} +0 -0
- /package/dist/{reveal-BW36KCOQ.js.map → reveal-XBIMHAXR.js.map} +0 -0
- /package/dist/{ulid-PTAIMDG4.js.map → revoke-MJNYWO72.js.map} +0 -0
- /package/dist/{walk-3ZECBFDA.js.map → signer-6XVS2AU3.js.map} +0 -0
- /package/dist/{withdraw-accessible-7PG4DYQK.js.map → stale-MCS46TFO.js.map} +0 -0
- /package/dist/{verify-RO5RTZOJ.js.map → verify-WYOFLSNA.js.map} +0 -0
package/dist/port/by/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Kernel coordination port — the injected `
|
|
2
|
+
* Kernel coordination port — the injected `NoydbMesh` seam for the
|
|
3
3
|
* schema-fence drain-barrier.
|
|
4
4
|
*
|
|
5
5
|
* The kernel defines this port; `@noy-db/by-tabs` / `@noy-db/by-peer` implement
|
|
@@ -15,11 +15,29 @@
|
|
|
15
15
|
* @module
|
|
16
16
|
*/
|
|
17
17
|
import type { Unsubscribe } from '../with/write-hooks.js';
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
import type { FenceDoc } from '../../with-shape/schema-update/fence.js';
|
|
19
|
+
/**
|
|
20
|
+
* What the mesh carries about the fence: the vault's schema generation and its
|
|
21
|
+
* drain phase. This is the vault's OWN fence document — `@noy-db/hub/by`
|
|
22
|
+
* re-exports it rather than declaring a parallel type.
|
|
23
|
+
*
|
|
24
|
+
* Through 0.6 this port declared its own `FenceState` interface with the same
|
|
25
|
+
* two fields. Two problems, and only the first was visible (#1188):
|
|
26
|
+
*
|
|
27
|
+
* 1. `FenceState` ALSO names an unrelated string union
|
|
28
|
+
* (`'normal' | 'draining' | …`) on `.` and `./cargo`. A consumer importing
|
|
29
|
+
* from `@noy-db/hub` and one importing from `@noy-db/hub/by` got different
|
|
30
|
+
* types, both compiling, failing only where they met.
|
|
31
|
+
* 2. It was a hand-copy — its own comment said "the existing FenceDoc shape" —
|
|
32
|
+
* and it had already drifted, missing the `schemaHash` field #946 added.
|
|
33
|
+
* Measured mutually assignable with `FenceDoc` under `--strict
|
|
34
|
+
* --exactOptionalPropertyTypes`, so there was no type to preserve.
|
|
35
|
+
*
|
|
36
|
+
* Re-exporting fixes both: one name, one meaning, one definition to keep
|
|
37
|
+
* current. `FenceState` on the root barrel is untouched and still means the
|
|
38
|
+
* string union.
|
|
39
|
+
*/
|
|
40
|
+
export type { FenceDoc };
|
|
23
41
|
/** A writer's presence + ack, tagged with the session that owns it. */
|
|
24
42
|
export interface WriterPresence {
|
|
25
43
|
/** = today's clientId (one per tab/peer). */
|
|
@@ -30,18 +48,18 @@ export interface WriterPresence {
|
|
|
30
48
|
readonly quiescedAtVersion: number | null;
|
|
31
49
|
}
|
|
32
50
|
/** Session-addressable drain-barrier coordination transport. Per-vault ops. */
|
|
33
|
-
export interface
|
|
51
|
+
export interface NoydbMesh {
|
|
34
52
|
/** orchestrator → all writers */
|
|
35
|
-
setFence(vault: string, fence:
|
|
53
|
+
setFence(vault: string, fence: FenceDoc): Promise<void>;
|
|
36
54
|
/**
|
|
37
55
|
* Fresh one-shot fence read for the write-path gate (`assertWritable`).
|
|
38
56
|
* A direct read (not a cached `observeFence` snapshot) avoids a staleness
|
|
39
57
|
* window and keeps the timing-sensitive cutover gate exact. The store
|
|
40
58
|
* default reads `_meta/schema-fence`; `by-*` return their last-pushed fence.
|
|
41
59
|
*/
|
|
42
|
-
readFence(vault: string): Promise<
|
|
60
|
+
readFence(vault: string): Promise<FenceDoc>;
|
|
43
61
|
/** writer observes fence changes (default: poll-emit; by-*: push) */
|
|
44
|
-
observeFence(vault: string, onChange: (f:
|
|
62
|
+
observeFence(vault: string, onChange: (f: FenceDoc) => void): Unsubscribe;
|
|
45
63
|
/** writer → orchestrator: presence + ack (heartbeat + quiescedAtVersion) */
|
|
46
64
|
reportPresence(vault: string, p: WriterPresence): Promise<void>;
|
|
47
65
|
/** orchestrator observes presence changes (default: poll-emit; by-*: push) */
|
|
@@ -83,4 +101,4 @@ export interface DrainBarrierOptions {
|
|
|
83
101
|
* `generation`, at which point `run` is invoked exactly once. Rejects with
|
|
84
102
|
* {@link QuiesceTimeoutError} if `quiesceTimeoutMs` elapses first.
|
|
85
103
|
*/
|
|
86
|
-
export declare function runDrainBarrier(provider:
|
|
104
|
+
export declare function runDrainBarrier(provider: NoydbMesh, o: DrainBarrierOptions, run: () => Promise<void>): Promise<void>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@noy-db/hub/on` — the unlock port (the `on-*` family port).
|
|
3
|
+
*
|
|
4
|
+
* ## What this seam is, and what it deliberately is NOT
|
|
5
|
+
*
|
|
6
|
+
* The `on-*` family is **not uniform**, and this subpath does not pretend
|
|
7
|
+
* otherwise. Measured across ten packages (see `check-architecture.mjs`'s
|
|
8
|
+
* `on-family-classification`):
|
|
9
|
+
*
|
|
10
|
+
* - **one port instance** — `on-shamir` supplies a {@link NoydbShamir} that
|
|
11
|
+
* hub calls for `profile: 'shamir'` recovery.
|
|
12
|
+
* - **two slot ceremonies** — `on-password` and `on-webauthn` implement
|
|
13
|
+
* {@link SlotRewrapCeremony}, which hub calls back during `rotateSecret`
|
|
14
|
+
* to preserve a tier-2 slot.
|
|
15
|
+
* - **seven libraries** — `on-totp`, `on-threat`, `on-email-otp` and the
|
|
16
|
+
* rest. Three import hub zero times, which is the correct amount of
|
|
17
|
+
* coupling for a TOTP code generator, not a gap to close.
|
|
18
|
+
*
|
|
19
|
+
* So the honest sentence, and the one the docs should carry: **`on-*`
|
|
20
|
+
* packages that hold or rotate a keyring slot implement contracts from here;
|
|
21
|
+
* the rest are freestanding utilities.** A seam is a namespace, not a claim
|
|
22
|
+
* that every package in the family binds it — `/to` already carries two
|
|
23
|
+
* instance types, and nobody reads that as one contract.
|
|
24
|
+
*
|
|
25
|
+
* ## Why it exists NOW and did not before
|
|
26
|
+
*
|
|
27
|
+
* `/on` shipped in 0.3.0 and was pruned in 0.4.0 for "zero importers",
|
|
28
|
+
* alongside `/as`, `/at`, `/in` and `/ui`. It was a second place to find types
|
|
29
|
+
* already on the root barrel.
|
|
30
|
+
*
|
|
31
|
+
* What changed is what stands behind it. `@noy-db/test-ceremony-conformance`
|
|
32
|
+
* publishes the ceremony contract as an executable suite, and the symbols it
|
|
33
|
+
* needs are scattered: three live on `/team`, and `KeyringAuthenticator`,
|
|
34
|
+
* `EnclaveKey` and `NoydbShamir` are reachable only from the whole root
|
|
35
|
+
* barrel. A third-party unlock method has to import the entire library to name
|
|
36
|
+
* the five types its ceremony signature uses — which is the coupling this
|
|
37
|
+
* family's seams exist to remove, and the same argument that brought `/at`
|
|
38
|
+
* back.
|
|
39
|
+
*
|
|
40
|
+
* ⚠️ Re-introducing a retired subpath is declared, not incidental: the
|
|
41
|
+
* `unretired` list in `codemods/0.7.0-pre.json` records it, and
|
|
42
|
+
* `codemod-map.test.ts` refuses the claim unless the subpath really resolves.
|
|
43
|
+
*
|
|
44
|
+
* Named re-exports only (no `export *`) so the published surface is explicit.
|
|
45
|
+
*/
|
|
46
|
+
export type { NoydbShamir } from '../../with-party/team/noydb-shamir.js';
|
|
47
|
+
export type { SlotRewrapCeremony, SlotRewrapContext, EnrollAuthenticatorOptions, } from '../../with-party/team/index.js';
|
|
48
|
+
export type { KeyringAuthenticator } from '../../kernel/types.js';
|
|
49
|
+
export type { UnlockedKeyring } from '../../with-party/team/keyring.js';
|
|
50
|
+
export type { EnclaveKey } from '../../kernel/enclave/index.js';
|
package/dist/port/to/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* Named re-exports only (no `export *`) so the published surface is explicit and
|
|
16
16
|
* tsup's per-entry bundling keeps class identity stable across subpaths.
|
|
17
17
|
*/
|
|
18
|
-
export type { NoydbStore,
|
|
19
|
-
export { ConflictError, NetworkError, StoreCapabilityError,
|
|
20
|
-
export type { StoreClass, StoreDescriptor, StoreBinding, StoreFactory, StoreLocator } from './locator.js';
|
|
21
|
-
export { createStoreLocator } from './locator.js';
|
|
18
|
+
export type { NoydbStore, NoydbPodStore, EncryptedEnvelope, VaultSnapshot, TxOp, StoreCapabilities, StoreCredentials, StoreCredentialSource, StoreTime, ListPageResult, } from '../../kernel/types.js';
|
|
19
|
+
export { ConflictError, NetworkError, StoreCapabilityError, PodVersionConflictError, UnknownStoreKindError, DuplicateStoreKindError, } from '../../kernel/errors.js';
|
|
20
|
+
export type { StoreClass, StoreDescriptor, StoreBinding, StoreFactory, StoreLocator, AnyNoydbStore, } from './locator.js';
|
|
21
|
+
export { createStoreLocator, isPodStore } from './locator.js';
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* and errors, no Node built-ins, no crypto. It adds zero runtime
|
|
18
18
|
* dependencies to `@noy-db/hub/to`.
|
|
19
19
|
*/
|
|
20
|
-
import type { NoydbStore, StoreCredentialSource } from '../../kernel/types.js';
|
|
20
|
+
import type { NoydbStore, NoydbPodStore, StoreCredentialSource } from '../../kernel/types.js';
|
|
21
21
|
/**
|
|
22
22
|
* The broad topology bucket a store descriptor's kind falls into —
|
|
23
23
|
* used by callers/UI to group or filter descriptors without knowing every
|
|
@@ -51,22 +51,68 @@ export interface StoreDescriptor {
|
|
|
51
51
|
*/
|
|
52
52
|
export type StoreBinding = unknown;
|
|
53
53
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
54
|
+
* Either store shape a factory may produce: the 6-method KV `NoydbStore`, or
|
|
55
|
+
* the whole-vault `NoydbPodStore` implemented by `to-drive` / `to-icloud`.
|
|
56
|
+
*
|
|
57
|
+
* The two are DISJOINT, not sub/supertypes — a pod store has none of the six
|
|
58
|
+
* KV methods — which is why moving between them needs a double cast and why
|
|
59
|
+
* `isPodStore()` exists to narrow instead.
|
|
56
60
|
*/
|
|
57
|
-
export type
|
|
61
|
+
export type AnyNoydbStore = NoydbStore | NoydbPodStore;
|
|
62
|
+
/**
|
|
63
|
+
* Narrow an `AnyNoydbStore` to the pod shape. Discriminates on the
|
|
64
|
+
* `kind: 'bundle'` tag `NoydbPodStore` carries for exactly this purpose; a
|
|
65
|
+
* `NoydbStore` has no `kind` field at all.
|
|
66
|
+
*
|
|
67
|
+
* Use this at a `resolve()` boundary instead of casting — a store resolved
|
|
68
|
+
* from a descriptor read out of a pod is only known to be one of the two
|
|
69
|
+
* shapes at runtime.
|
|
70
|
+
*/
|
|
71
|
+
export declare function isPodStore(store: AnyNoydbStore): store is NoydbPodStore;
|
|
72
|
+
/**
|
|
73
|
+
* Reconstructs a live store from a `StoreDescriptor`. Registered against a
|
|
74
|
+
* `StoreLocator` under the descriptor's `kind`.
|
|
75
|
+
*
|
|
76
|
+
* The type parameter says WHICH shape this factory builds. It defaults to
|
|
77
|
+
* `NoydbStore`, so a bare `StoreFactory` means exactly what it always has;
|
|
78
|
+
* a pod-store factory declares `StoreFactory<NoydbPodStore>` and registers
|
|
79
|
+
* without a cast (#988).
|
|
80
|
+
*/
|
|
81
|
+
export type StoreFactory<S extends AnyNoydbStore = NoydbStore> = (descriptor: StoreDescriptor, opts: {
|
|
58
82
|
binding?: StoreBinding;
|
|
59
83
|
credentials?: StoreCredentialSource;
|
|
60
|
-
}) =>
|
|
84
|
+
}) => S | Promise<S>;
|
|
61
85
|
/** A registry of `StoreFactory`s, keyed by `StoreDescriptor.kind`. */
|
|
62
86
|
export interface StoreLocator {
|
|
63
|
-
/**
|
|
64
|
-
|
|
65
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Register a factory for `kind`. Throws if `kind` is already registered.
|
|
89
|
+
*
|
|
90
|
+
* Accepts a factory building EITHER store shape — `S` is inferred from the
|
|
91
|
+
* factory's own return type, so a `NoydbPodStore` factory needs no cast.
|
|
92
|
+
*/
|
|
93
|
+
register<S extends AnyNoydbStore>(kind: string, factory: StoreFactory<S>): void;
|
|
94
|
+
/**
|
|
95
|
+
* Resolve `descriptor` to a live store via its kind's registered factory.
|
|
96
|
+
*
|
|
97
|
+
* Returns `NoydbStore`. If the `kind` was registered with a pod-store
|
|
98
|
+
* factory, the resolved value is really a `NoydbPodStore`: this signature
|
|
99
|
+
* is the seam's remaining unsoundness, kept because widening it to
|
|
100
|
+
* `AnyNoydbStore` would break every existing caller. Where the descriptor's
|
|
101
|
+
* kind is not statically known, prefer `resolveAny()` and `isPodStore()`.
|
|
102
|
+
*/
|
|
66
103
|
resolve(descriptor: StoreDescriptor, opts?: {
|
|
67
104
|
binding?: StoreBinding;
|
|
68
105
|
credentials?: StoreCredentialSource;
|
|
69
106
|
}): NoydbStore | Promise<NoydbStore>;
|
|
107
|
+
/**
|
|
108
|
+
* As `resolve()`, but typed honestly: the registry is keyed by a runtime
|
|
109
|
+
* `kind` string, so which of the two shapes comes back is not knowable
|
|
110
|
+
* statically. Narrow the result with `isPodStore()`.
|
|
111
|
+
*/
|
|
112
|
+
resolveAny(descriptor: StoreDescriptor, opts?: {
|
|
113
|
+
binding?: StoreBinding;
|
|
114
|
+
credentials?: StoreCredentialSource;
|
|
115
|
+
}): AnyNoydbStore | Promise<AnyNoydbStore>;
|
|
70
116
|
}
|
|
71
117
|
/**
|
|
72
118
|
* Creates a fresh, empty `StoreLocator`.
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* (money/i18n's `installViaBinder` call inside their own factory) would leave
|
|
11
11
|
* `viaBinder('computed')` unresolved for that path. This port module is already
|
|
12
12
|
* unconditionally imported by the kernel spine (`collection-config.ts`), so linking here
|
|
13
|
-
* guarantees the binder is installed before `
|
|
13
|
+
* guarantees the binder is installed before `compileVias` ever needs it, regardless
|
|
14
14
|
* of which surface (sugar object-form or `via(computed(...))`) declared the virtual field.
|
|
15
15
|
*
|
|
16
16
|
* @internal
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* #940). Lives on the `/with` port (the one seam the kernel spine may
|
|
4
4
|
* import statically) so `NoydbOptions.deviceSeal` can reference this type
|
|
5
5
|
* without a spine→service static import. The concrete implementation
|
|
6
|
-
* (`
|
|
6
|
+
* (`MemoryDeviceSeal`) and the canonical re-export of this type
|
|
7
7
|
* live in `with-party/team/device-seal.ts`.
|
|
8
8
|
* @internal
|
|
9
9
|
*/
|
|
10
|
-
export interface
|
|
10
|
+
export interface NoydbDeviceSeal {
|
|
11
11
|
/** Non-sensitive identifier persisted as `provider_hint`. */
|
|
12
12
|
readonly id: string;
|
|
13
13
|
seal(plain: Uint8Array): Promise<Uint8Array>;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formats strategy seam — the service half of the `as-*` port.
|
|
3
|
+
*
|
|
4
|
+
* `/as` publishes the {@link NoydbFormat} contract a format implements; this
|
|
5
|
+
* is what CONSUMES it. `vault.export(fmt)` gates, reads, redacts and calls
|
|
6
|
+
* `encode`; `vault.import(fmt, input)` gates, decodes and plans.
|
|
7
|
+
*
|
|
8
|
+
* Opt-in, not kernel. `vault.ts` had room under its ceiling, but "lean hub"
|
|
9
|
+
* is preserved by making a vault that never exports ship none of this — the
|
|
10
|
+
* same trade every other `with-*` service makes.
|
|
11
|
+
*
|
|
12
|
+
* Core imports `FormatsStrategy` type-only and `NO_FORMATS` as the default, so
|
|
13
|
+
* the spine never statically reaches the implementation.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
import type { NoydbFormat, ImportPlan, ImportPolicy } from '../as/types.js';
|
|
18
|
+
export type { NoydbFormat, ImportPlan, ImportPolicy };
|
|
19
|
+
import type { ExportChunk } from '../../kernel/types.js';
|
|
20
|
+
import type { Vault } from '../../kernel/vault.js';
|
|
21
|
+
/** Options common to an export. */
|
|
22
|
+
export interface FormatExportOptions {
|
|
23
|
+
/** Restrict to these collections. Omitted: everything the caller can read. */
|
|
24
|
+
readonly collections?: readonly string[];
|
|
25
|
+
/**
|
|
26
|
+
* Redact before `encode` sees a record. Hub applies the projection, so a
|
|
27
|
+
* format never needs the vault to know what is sensitive — which is what
|
|
28
|
+
* lets {@link NoydbFormat} be pure.
|
|
29
|
+
*/
|
|
30
|
+
readonly redact?: true | {
|
|
31
|
+
readonly sensitivity?: string;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/** Options for an import. */
|
|
35
|
+
export interface FormatImportOptions {
|
|
36
|
+
/** Target collection, for formats whose input carries no collection name. */
|
|
37
|
+
readonly collection?: string;
|
|
38
|
+
/** How to reconcile with what is already there. Default `'merge'`. */
|
|
39
|
+
readonly policy?: ImportPolicy;
|
|
40
|
+
/** Record identity field. Default `'id'`. A diff concern, so hub owns it. */
|
|
41
|
+
readonly idKey?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The seam `withFormats()` fills.
|
|
45
|
+
*
|
|
46
|
+
* `chunksFor` is separate from `encode` on purpose: it is the gated, redacted
|
|
47
|
+
* read, and it is the half a format must never be able to perform itself.
|
|
48
|
+
*/
|
|
49
|
+
export interface FormatsStrategy {
|
|
50
|
+
readonly enabled: boolean;
|
|
51
|
+
exportWith<Out extends string | Uint8Array>(vault: Vault, format: NoydbFormat<Out>, options?: FormatExportOptions): Promise<Out>;
|
|
52
|
+
importWith<Out extends string | Uint8Array>(vault: Vault, format: NoydbFormat<Out>, input: Out, options?: FormatImportOptions): Promise<ImportPlan>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The SERVICE receives the vault — it is doing the gated read, so that is
|
|
56
|
+
* unavoidable and fine. The invariant the port protects is narrower and is
|
|
57
|
+
* enforced one layer in: a {@link NoydbFormat} never receives it.
|
|
58
|
+
* `port/as/active.ts` derives this five-method context and the format sees
|
|
59
|
+
* only records.
|
|
60
|
+
*/
|
|
61
|
+
/** The narrow capability the format-facing half runs against. */
|
|
62
|
+
export interface FormatsContext {
|
|
63
|
+
assertCanExport(tier: 'plaintext' | 'bundle', format?: string): void;
|
|
64
|
+
assertCanImport(tier: 'plaintext' | 'bundle', format?: string): void;
|
|
65
|
+
chunks(collections?: readonly string[]): AsyncIterable<ExportChunk>;
|
|
66
|
+
describe(collection: string): {
|
|
67
|
+
readonly fields: readonly unknown[];
|
|
68
|
+
} | undefined;
|
|
69
|
+
plan(records: Readonly<Record<string, readonly unknown[]>>, policy: ImportPolicy, formatId: string, idKey?: string): Promise<ImportPlan>;
|
|
70
|
+
}
|
|
71
|
+
/** Thrown by every method on {@link NO_FORMATS}. */
|
|
72
|
+
export declare class FormatsNotEnabledError extends Error {
|
|
73
|
+
constructor(op: string);
|
|
74
|
+
}
|
|
75
|
+
/** The no-op default: a vault that never exports ships none of the service. */
|
|
76
|
+
export declare const NO_FORMATS: FormatsStrategy;
|
|
@@ -82,7 +82,10 @@ export interface BuildDictionaryHandleOptions<Keys extends string = string> {
|
|
|
82
82
|
* `buildLookupHandle`. See `port/with/lookup-strategy.ts`'s `BuildLookupHandleOptions` doc
|
|
83
83
|
* comment for why this is injected rather than imported by the handle itself.
|
|
84
84
|
*/
|
|
85
|
-
buildDeleteMarker: (
|
|
85
|
+
buildDeleteMarker: (identity: {
|
|
86
|
+
collection: string;
|
|
87
|
+
id: string;
|
|
88
|
+
}, version: number, actor: string) => EncryptedEnvelope;
|
|
86
89
|
/** #650 Task 5 (#648) — the real reference check, passed through to `buildLookupHandle`. */
|
|
87
90
|
checkReferencesOnDelete?: ((key: string) => Promise<unknown>) | undefined;
|
|
88
91
|
}
|
|
@@ -62,7 +62,10 @@ export interface BuildLookupHandleOptions<Keys extends string = string> {
|
|
|
62
62
|
* may not import `kernel/enclave/` itself (Check 11/15), so this capability is injected the
|
|
63
63
|
* same way `reservedEnvelopes` above is.
|
|
64
64
|
*/
|
|
65
|
-
readonly buildDeleteMarker: (
|
|
65
|
+
readonly buildDeleteMarker: (identity: {
|
|
66
|
+
collection: string;
|
|
67
|
+
id: string;
|
|
68
|
+
}, version: number, actor: string) => EncryptedEnvelope;
|
|
66
69
|
/** #650 Task 4 (#647) — choke-point participation hooks. */
|
|
67
70
|
readonly onDirty?: ((collection: string, id: string, action: 'put' | 'delete', version: number) => Promise<void>) | undefined;
|
|
68
71
|
readonly onRecordMutated?: ((collection: string, id: string, action: 'put' | 'delete', version: number) => Promise<void>) | undefined;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The merge's capability to verify and re-stamp store-supplied ciphertext (#1042).
|
|
3
|
+
*
|
|
4
|
+
* ## The problem this seam exists to solve
|
|
5
|
+
*
|
|
6
|
+
* `with-sync` is DEK-free by design, and `check:architecture` enforces it: the
|
|
7
|
+
* engine's only enclave import is shape predicates. That is why AAD alone
|
|
8
|
+
* cannot make the merge fail closed — AAD is verified inside `subtle.decrypt`,
|
|
9
|
+
* and `applyRemote` never decrypts. It commits the remote envelope and the
|
|
10
|
+
* client discovers the problem at read time, *after* its own newer copy is
|
|
11
|
+
* gone.
|
|
12
|
+
*
|
|
13
|
+
* Two consequences follow from the same root, and one seam resolves both:
|
|
14
|
+
*
|
|
15
|
+
* 1. **The merge cannot reject a forged envelope**, because it holds no key.
|
|
16
|
+
* 2. **`advancePastRemote` re-stamps `_v` on existing ciphertext** without a
|
|
17
|
+
* DEK, which is precisely why `_v` could not be bound into the AAD by
|
|
18
|
+
* #1041. Version rollback stayed open as a result.
|
|
19
|
+
*
|
|
20
|
+
* ## Why a capability rather than an import
|
|
21
|
+
*
|
|
22
|
+
* The engine takes a `MergeAuthority` at construction. The closure holds the
|
|
23
|
+
* DEK; the engine's import graph is unchanged, so `check:architecture` passes
|
|
24
|
+
* **unweakened** — no allowlist entry, no guard edit. ADR 0003 states the test
|
|
25
|
+
* plainly: *if the guard needs relaxing, the design is wrong.*
|
|
26
|
+
*
|
|
27
|
+
* @packageDocumentation
|
|
28
|
+
*/
|
|
29
|
+
import type { EncryptedEnvelope } from '../../kernel/types.js';
|
|
30
|
+
export interface MergeAuthority {
|
|
31
|
+
/**
|
|
32
|
+
* Does `envelope` authenticate at the identity and version it claims?
|
|
33
|
+
*
|
|
34
|
+
* Called **before** `local.put`, so a rejection costs the client nothing: its
|
|
35
|
+
* existing copy is untouched. Returns a boolean rather than throwing because
|
|
36
|
+
* a hostile store must not be able to halt an entire sync by poisoning one
|
|
37
|
+
* record — the caller records the rejection and moves to the next entry.
|
|
38
|
+
*/
|
|
39
|
+
verify(collection: string, id: string, envelope: EncryptedEnvelope): Promise<boolean>;
|
|
40
|
+
/**
|
|
41
|
+
* Re-stamp `envelope` to `toVersion`, re-sealing it under the same DEK.
|
|
42
|
+
*
|
|
43
|
+
* Replaces the `{ ...winner, _v: remote._v + 1 }` spread. That spread is the
|
|
44
|
+
* single reason `_v` is not yet AEAD-bound: it rewrites a version onto
|
|
45
|
+
* ciphertext nobody re-sealed, so a reader recomputing AAD from the stamped
|
|
46
|
+
* `_v` would find a body sealed at a different one.
|
|
47
|
+
*
|
|
48
|
+
* With this, advancing becomes a re-seal, and binding `_v` becomes possible —
|
|
49
|
+
* which converts rollback detection into rollback *prevention*.
|
|
50
|
+
*/
|
|
51
|
+
advance(collection: string, id: string, envelope: EncryptedEnvelope, toVersion: number): Promise<EncryptedEnvelope>;
|
|
52
|
+
}
|
|
@@ -150,7 +150,3 @@ export declare class ServiceBus {
|
|
|
150
150
|
*/
|
|
151
151
|
dispatchGate<P extends GatePoint>(point: P, event: GateEventMap[P]): Promise<void>;
|
|
152
152
|
}
|
|
153
|
-
/** @deprecated Use ServiceBus. */
|
|
154
|
-
export declare const SubsystemBus: typeof ServiceBus;
|
|
155
|
-
/** @deprecated Use ServiceBus. */
|
|
156
|
-
export type SubsystemBus = ServiceBus;
|
|
@@ -41,15 +41,21 @@
|
|
|
41
41
|
* is a real strategy, which is why this table maps keys to defaults rather
|
|
42
42
|
* than assuming a `NO_*` naming convention.
|
|
43
43
|
*
|
|
44
|
-
* `
|
|
45
|
-
* `
|
|
44
|
+
* The `mesh` option is deliberately NOT in the bag. It is a
|
|
45
|
+
* `NoydbMesh`, not a service strategy — it has no `with*()`
|
|
46
46
|
* factory, no `NO_*` stub, and is resolved asynchronously from the store
|
|
47
|
-
* (`
|
|
48
|
-
*
|
|
49
|
-
*
|
|
47
|
+
* (`createDefaultMesh`) rather than passed through.
|
|
48
|
+
*
|
|
49
|
+
* It used to be spelled `coordinationStrategy`, and the completeness assertion
|
|
50
|
+
* below had to exclude it BY NAME because a `*Strategy`-shaped key that is not
|
|
51
|
+
* a strategy is exactly what that assertion hunts for. The 0.7 rename removed
|
|
52
|
+
* the collision rather than documenting it: `mesh` is not matched by
|
|
53
|
+
* `${string}Strategy`, so no exclusion is needed and none is written.
|
|
50
54
|
*
|
|
51
55
|
* @internal
|
|
52
56
|
*/
|
|
57
|
+
import type { FormatsStrategy } from './formats-strategy.js';
|
|
58
|
+
import { type VaultHeadStrategy } from '../../with-commit/vault-head/strategy.js';
|
|
53
59
|
import type { NoydbOptions } from '../../kernel/types.js';
|
|
54
60
|
import { type ReduceStrategy } from '../../with-lookup/reduce/strategy.js';
|
|
55
61
|
import { type AttestationStrategy } from '../../with-audit/attestation/strategy.js';
|
|
@@ -86,6 +92,7 @@ import type { ArchiveStrategy } from '../../with-fork/archive/index.js';
|
|
|
86
92
|
* completeness assertion below pins that correspondence.
|
|
87
93
|
*/
|
|
88
94
|
export interface StrategyBag {
|
|
95
|
+
readonly formats: FormatsStrategy;
|
|
89
96
|
readonly reduce: ReduceStrategy;
|
|
90
97
|
readonly archive: ArchiveStrategy;
|
|
91
98
|
readonly attestation: AttestationStrategy;
|
|
@@ -98,6 +105,7 @@ export interface StrategyBag {
|
|
|
98
105
|
readonly custody: CustodyStrategy;
|
|
99
106
|
readonly forget: ForgetStrategy;
|
|
100
107
|
readonly history: HistoryStrategy;
|
|
108
|
+
readonly vaultHead: VaultHeadStrategy;
|
|
101
109
|
readonly i18n: I18nStrategy;
|
|
102
110
|
readonly indexing: IndexingStrategy;
|
|
103
111
|
readonly lazy: LazyStrategy;
|
|
@@ -22,12 +22,16 @@
|
|
|
22
22
|
* @internal
|
|
23
23
|
*/
|
|
24
24
|
import type { GrantOptions, RevokeOptions, FactorProofBundle } from '../../kernel/types.js';
|
|
25
|
-
import type { RotateResult } from '../../with-party/team/keyring.js';
|
|
25
|
+
import type { RotateResult, RosterVerifyResult, QuarantineResult } from '../../with-party/team/keyring.js';
|
|
26
26
|
import type { TeamFacade } from '../../with-party/team/noydb-facade.js';
|
|
27
27
|
export interface TeamStrategy {
|
|
28
28
|
grant(team: TeamFacade, vault: string, options: GrantOptions, factors?: FactorProofBundle): Promise<void>;
|
|
29
29
|
revoke(team: TeamFacade, vault: string, options: RevokeOptions, factors?: FactorProofBundle): Promise<void>;
|
|
30
30
|
rotate(team: TeamFacade, vault: string, collections: string[]): Promise<RotateResult>;
|
|
31
|
+
/** #1121 — read-only sweep naming every `_keyring` file that fails authentication. */
|
|
32
|
+
verifyRoster(team: TeamFacade, vault: string): Promise<RosterVerifyResult>;
|
|
33
|
+
/** #1121 — remove an unauthenticatable `_keyring` file and re-key behind it. */
|
|
34
|
+
quarantineKeyring(team: TeamFacade, vault: string, userId: string, factors?: FactorProofBundle): Promise<QuarantineResult>;
|
|
31
35
|
}
|
|
32
36
|
/**
|
|
33
37
|
* No-op stub — the floor default. Every multi-user team operation throws
|
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
import {
|
|
2
2
|
NO_PORTABILITY
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-J4MN6XIU.js";
|
|
4
4
|
import {
|
|
5
5
|
PortabilityNotEnabledError
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-JBIV4FLR.js";
|
|
7
7
|
import "../chunk-PZ5AY32C.js";
|
|
8
8
|
|
|
9
9
|
// src/with-audit/portability/active.ts
|
|
10
10
|
function withPortability() {
|
|
11
11
|
return {
|
|
12
12
|
async exportAccessibleData(vault, opts) {
|
|
13
|
-
const { exportAccessibleData } = await import("../export-accessible-
|
|
13
|
+
const { exportAccessibleData } = await import("../export-accessible-BX2ILB4C.js");
|
|
14
14
|
return exportAccessibleData(vault, opts);
|
|
15
15
|
},
|
|
16
16
|
async withdrawAccessibleData(vault, opts) {
|
|
17
|
-
const { withdrawAccessibleData } = await import("../withdraw-accessible-
|
|
17
|
+
const { withdrawAccessibleData } = await import("../withdraw-accessible-ILTSXTIE.js");
|
|
18
18
|
return withdrawAccessibleData(vault, opts);
|
|
19
19
|
},
|
|
20
20
|
async requestWithdrawal(vault, opts) {
|
|
21
|
-
const { requestWithdrawal } = await import("../request-withdrawal-
|
|
21
|
+
const { requestWithdrawal } = await import("../request-withdrawal-NM5VYR6F.js");
|
|
22
22
|
return requestWithdrawal(vault, opts);
|
|
23
23
|
},
|
|
24
24
|
async listWithdrawalRequests(vault, opts) {
|
|
25
|
-
const { listWithdrawalRequests } = await import("../request-withdrawal-
|
|
25
|
+
const { listWithdrawalRequests } = await import("../request-withdrawal-NM5VYR6F.js");
|
|
26
26
|
return listWithdrawalRequests(vault, opts);
|
|
27
27
|
},
|
|
28
28
|
async approveWithdrawal(vault, requestId, opts) {
|
|
29
|
-
const { approveWithdrawal } = await import("../request-withdrawal-
|
|
29
|
+
const { approveWithdrawal } = await import("../request-withdrawal-NM5VYR6F.js");
|
|
30
30
|
return approveWithdrawal(vault, requestId, opts);
|
|
31
31
|
},
|
|
32
32
|
async rejectWithdrawal(vault, requestId, opts) {
|
|
33
|
-
const { rejectWithdrawal } = await import("../request-withdrawal-
|
|
33
|
+
const { rejectWithdrawal } = await import("../request-withdrawal-NM5VYR6F.js");
|
|
34
34
|
return rejectWithdrawal(vault, requestId, opts);
|
|
35
35
|
}
|
|
36
36
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
hashFields
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JVLSU7S2.js";
|
|
4
4
|
import {
|
|
5
5
|
SatelliteConfigError
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JBIV4FLR.js";
|
|
7
7
|
import "./chunk-PZ5AY32C.js";
|
|
8
8
|
|
|
9
9
|
// src/with-shape/satellites/marker.ts
|
|
@@ -14,7 +14,7 @@ async function ensureSatelliteMarker(store, vaultName, spec, dek) {
|
|
|
14
14
|
joined: spec.joined,
|
|
15
15
|
epoch: (/* @__PURE__ */ new Date()).toISOString()
|
|
16
16
|
};
|
|
17
|
-
const { loadPersistedSchema } = await import("./storage-
|
|
17
|
+
const { loadPersistedSchema } = await import("./storage-ZXUT476I.js");
|
|
18
18
|
const persisted = await loadPersistedSchema(store, vaultName, spec.satellite, dek);
|
|
19
19
|
const prior = persisted?.satellite;
|
|
20
20
|
if (prior) {
|
|
@@ -25,7 +25,7 @@ async function ensureSatelliteMarker(store, vaultName, spec, dek) {
|
|
|
25
25
|
}
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
|
-
const { persistSatelliteMarker } = await import("./register-
|
|
28
|
+
const { persistSatelliteMarker } = await import("./register-6TCBR6XD.js");
|
|
29
29
|
await persistSatelliteMarker({ store, vault: vaultName, collectionName: spec.satellite, dek, marker: next });
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -39,7 +39,7 @@ async function postRegister(store, vaultName, spec, getDEK, baseSchema, registry
|
|
|
39
39
|
}
|
|
40
40
|
if (baseSchema !== void 0) {
|
|
41
41
|
try {
|
|
42
|
-
const { derivePersistedSchema } = await import("./derive-
|
|
42
|
+
const { derivePersistedSchema } = await import("./derive-CXHCY46K.js");
|
|
43
43
|
const envelope = await derivePersistedSchema(baseSchema);
|
|
44
44
|
const properties = envelope.jsonSchema?.["properties"];
|
|
45
45
|
const baseFields = Object.keys(properties ?? {});
|
|
@@ -57,4 +57,4 @@ async function postRegister(store, vaultName, spec, getDEK, baseSchema, registry
|
|
|
57
57
|
export {
|
|
58
58
|
postRegister
|
|
59
59
|
};
|
|
60
|
-
//# sourceMappingURL=post-register-
|
|
60
|
+
//# sourceMappingURL=post-register-53O7AJRZ.js.map
|
package/dist/query/index.js
CHANGED
|
@@ -4,22 +4,22 @@ import {
|
|
|
4
4
|
ScanBuilder,
|
|
5
5
|
buildLiveQuery,
|
|
6
6
|
executePlan
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-S2VG3ABP.js";
|
|
8
8
|
import {
|
|
9
9
|
DEFAULT_JOIN_MAX_ROWS,
|
|
10
10
|
applyJoins,
|
|
11
11
|
resetJoinWarnings
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-XSN63FUS.js";
|
|
13
13
|
import {
|
|
14
14
|
CollectionIndexes
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-I3ISCYT7.js";
|
|
16
16
|
import "../chunk-YMUFFJCO.js";
|
|
17
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-ATL3ZVXT.js";
|
|
18
18
|
import {
|
|
19
19
|
evaluateClause,
|
|
20
20
|
evaluateFieldClause,
|
|
21
21
|
readPath
|
|
22
|
-
} from "../chunk-
|
|
22
|
+
} from "../chunk-NSITFOCJ.js";
|
|
23
23
|
import {
|
|
24
24
|
CrossJoinSourceUnknownError,
|
|
25
25
|
CrossJoinTooLargeError,
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
IndexRequiredError,
|
|
30
30
|
IndexWriteFailureError,
|
|
31
31
|
JoinTooLargeError
|
|
32
|
-
} from "../chunk-
|
|
32
|
+
} from "../chunk-JBIV4FLR.js";
|
|
33
33
|
import "../chunk-PZ5AY32C.js";
|
|
34
34
|
export {
|
|
35
35
|
CollectionIndexes,
|
package/dist/reduce/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
groupAndReduce,
|
|
10
10
|
reduceRecords,
|
|
11
11
|
resetGroupByWarnings
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-4G25SDQL.js";
|
|
13
13
|
import "../chunk-XZHEOSQ2.js";
|
|
14
14
|
import {
|
|
15
15
|
NO_REDUCE
|
|
@@ -24,11 +24,11 @@ import {
|
|
|
24
24
|
moneySum,
|
|
25
25
|
reducerBuilder,
|
|
26
26
|
sum
|
|
27
|
-
} from "../chunk-
|
|
28
|
-
import "../chunk-
|
|
29
|
-
import "../chunk-
|
|
30
|
-
import "../chunk-
|
|
31
|
-
import "../chunk-
|
|
27
|
+
} from "../chunk-ATL3ZVXT.js";
|
|
28
|
+
import "../chunk-NSITFOCJ.js";
|
|
29
|
+
import "../chunk-X67FCULK.js";
|
|
30
|
+
import "../chunk-XDVVBETV.js";
|
|
31
|
+
import "../chunk-JBIV4FLR.js";
|
|
32
32
|
import "../chunk-PZ5AY32C.js";
|
|
33
33
|
|
|
34
34
|
// src/with-lookup/reduce/active.ts
|