@noy-db/hub 0.7.0-pre.1 → 0.7.0-pre.10
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 +198 -0
- package/README.md +4 -1
- package/dist/api-GJQF7OAJ.js +20 -0
- package/dist/as/index.js +11 -11
- package/dist/at/index.js +9 -9
- package/dist/attestation/index.js +18 -18
- package/dist/{backup-Z7ZBTAQ6.js → backup-QZQEP5RO.js} +12 -12
- package/dist/blobs/index.js +13 -13
- package/dist/broker/index.js +12 -12
- package/dist/by/index.js +2 -2
- package/dist/cargo/index.js +33 -30
- package/dist/{chunk-AB5P32RE.js → chunk-2DGBRE4K.js} +2 -2
- package/dist/{chunk-XVU7J43V.js → chunk-2E2LT37H.js} +2 -2
- package/dist/{chunk-4LPF226H.js → chunk-2MQ2D5OZ.js} +5 -5
- package/dist/{chunk-DBNYPLWY.js → chunk-357ECVLE.js} +3 -3
- package/dist/{chunk-SHILAQH5.js → chunk-3GIA3HJ2.js} +2 -2
- package/dist/{chunk-QGJ4XIA7.js → chunk-3SWP2FYA.js} +8 -8
- package/dist/{chunk-N4CNVSUF.js → chunk-4RUFYGWG.js} +2 -2
- package/dist/{chunk-4G25SDQL.js → chunk-4U52PMEL.js} +4 -4
- package/dist/{chunk-H7HP56F6.js → chunk-5EC7X5QA.js} +5 -5
- package/dist/{chunk-WK5FSW7T.js → chunk-5NKHCJU5.js} +8 -8
- package/dist/{chunk-PQ6Z2TAP.js → chunk-5UKIZIO3.js} +2 -2
- package/dist/{chunk-QHJKK77B.js → chunk-5W5CEHLA.js} +6 -6
- package/dist/{chunk-YPSOHDNC.js → chunk-65ZYRK7O.js} +2 -2
- package/dist/{chunk-4ZPE6SKS.js → chunk-75WNTBZL.js} +3 -3
- package/dist/{chunk-H4M7ADXY.js → chunk-7PC3DRG7.js} +27 -17
- package/dist/chunk-7PC3DRG7.js.map +1 -0
- package/dist/{chunk-OWLVBOWO.js → chunk-7XT7KZTN.js} +10 -10
- package/dist/{chunk-QI5NWLVW.js → chunk-AHIIBDNH.js} +7 -7
- package/dist/{chunk-XSN63FUS.js → chunk-AW4KTQA4.js} +2 -2
- package/dist/{chunk-KDJGJR7F.js → chunk-CWFH36SI.js} +2 -2
- package/dist/{chunk-X67FCULK.js → chunk-DIVY2CJZ.js} +3 -3
- package/dist/{chunk-Z2PWOSCJ.js → chunk-DNMTN46H.js} +2 -2
- package/dist/{chunk-2LPVI4PX.js → chunk-DOPZWTMJ.js} +20 -8
- package/dist/chunk-DOPZWTMJ.js.map +1 -0
- package/dist/{chunk-HTGRQZFB.js → chunk-DZPMKY3J.js} +3 -3
- package/dist/{chunk-XJ3FEKEY.js → chunk-FKQCC4C5.js} +2 -2
- package/dist/{chunk-E6YA6UAP.js → chunk-FLRLZ4XZ.js} +2 -2
- package/dist/{chunk-ALUNQEBY.js → chunk-FN26SFGH.js} +2 -2
- package/dist/{chunk-TVIFAHZR.js → chunk-FPN5D4JX.js} +6 -6
- package/dist/{chunk-VTG7327U.js → chunk-FRIVOR5N.js} +4 -4
- package/dist/{chunk-3QARDAYW.js → chunk-FYT3DXPN.js} +2 -2
- package/dist/{chunk-YMLQBZFJ.js → chunk-FZWAGG5T.js} +6 -6
- package/dist/{chunk-CBRS2NEK.js → chunk-GHADG5QZ.js} +2 -2
- package/dist/{chunk-3L2MVE36.js → chunk-GKOJR53Y.js} +5 -5
- package/dist/{chunk-Y6GZ2P4M.js → chunk-GM4IM7TC.js} +2 -2
- package/dist/{chunk-CN6B5PEN.js → chunk-H5GVPOB4.js} +5 -5
- package/dist/{chunk-467SKJ65.js → chunk-HOIWW2LV.js} +4 -4
- package/dist/{chunk-ALB64CZM.js → chunk-HS3LEVT4.js} +7 -7
- package/dist/{chunk-YXA2TCTZ.js → chunk-I5LSKXT6.js} +4 -4
- package/dist/{chunk-S35S77YU.js → chunk-IAHDSFFA.js} +10 -10
- package/dist/{chunk-X62MEF2O.js → chunk-IRHIA3AL.js} +3 -3
- package/dist/{chunk-F23WQK3G.js → chunk-IS5LFHV2.js} +7 -7
- package/dist/{chunk-POS53FG6.js → chunk-IZTU6RKH.js} +2 -2
- package/dist/{chunk-VAG47QHV.js → chunk-J6FXVDKC.js} +2 -2
- package/dist/{chunk-2GXEQUEX.js → chunk-JFSUYGNE.js} +2 -2
- package/dist/{chunk-LR4Z47QD.js → chunk-JILOSL4O.js} +3 -3
- package/dist/{chunk-RC4BROYR.js → chunk-JRWLUWDM.js} +3 -3
- package/dist/{chunk-Z2WK53N6.js → chunk-JUBWUJY5.js} +2 -2
- package/dist/{chunk-JVLSU7S2.js → chunk-JY4U6CYV.js} +2 -2
- package/dist/{chunk-3SMSERQU.js → chunk-KKZPQLDH.js} +80 -80
- package/dist/{chunk-WLLUM35R.js → chunk-KQIDBIZL.js} +2 -2
- package/dist/{chunk-LKFKXS5K.js → chunk-KZTPL7NL.js} +2 -2
- package/dist/{chunk-S2VG3ABP.js → chunk-LAI7ENPW.js} +3 -3
- package/dist/{chunk-ZO252Q5S.js → chunk-LUVGSKXE.js} +6 -6
- package/dist/{chunk-PGFKIOR3.js → chunk-MENI33ZV.js} +3 -3
- package/dist/{chunk-MTBXJAS4.js → chunk-MOQ6OGKS.js} +4 -4
- package/dist/{chunk-5ACAVJUI.js → chunk-MTTPHBIE.js} +2 -2
- package/dist/{chunk-T3PHCEN4.js → chunk-MU74BYOD.js} +3 -3
- package/dist/{chunk-DFAUMLD7.js → chunk-MV2OEK3K.js} +5 -5
- package/dist/{chunk-RK7N4OQ5.js → chunk-N4CHCXDL.js} +3 -1
- package/dist/chunk-N4CHCXDL.js.map +1 -0
- package/dist/{chunk-LF6DMX4C.js → chunk-NMDMSHBF.js} +3 -3
- package/dist/{chunk-H3VG6XBC.js → chunk-NUXTUGAD.js} +15 -13
- package/dist/chunk-NUXTUGAD.js.map +1 -0
- package/dist/{chunk-225O5CXQ.js → chunk-O3SNM66K.js} +2 -2
- package/dist/{chunk-YCSM3GZU.js → chunk-OEJ4R52I.js} +2 -2
- package/dist/{chunk-IESNYJXZ.js → chunk-OKCQNMO6.js} +6 -6
- package/dist/{chunk-H36KSN6X.js → chunk-OLUTCM23.js} +7 -7
- package/dist/{chunk-RDHUZ674.js → chunk-OQDHIAR2.js} +4 -4
- package/dist/{chunk-KN4W2OQ4.js → chunk-OXZSMX2H.js} +10 -8
- package/dist/{chunk-KN4W2OQ4.js.map → chunk-OXZSMX2H.js.map} +1 -1
- package/dist/{chunk-DKWPJOYH.js → chunk-P22XPNFW.js} +2 -2
- package/dist/{chunk-GK4DRVUD.js → chunk-P2RJAVMR.js} +4 -4
- package/dist/{chunk-UCUALOSM.js → chunk-P7KJME6C.js} +2 -2
- package/dist/{chunk-HM4JSXX2.js → chunk-PCIBCL26.js} +3 -3
- package/dist/{chunk-4A4TYISP.js → chunk-PV7XXAXK.js} +2 -2
- package/dist/{chunk-5AFMP532.js → chunk-Q2OAAREU.js} +6 -6
- package/dist/{chunk-Z7ZXZL6Y.js → chunk-Q2ZN5DWZ.js} +2 -2
- package/dist/{chunk-L6GTLZRK.js → chunk-QJLOWGOU.js} +5 -5
- package/dist/{chunk-7LYUJNU3.js → chunk-QOHGWFAW.js} +2 -2
- package/dist/{chunk-6FOGTKBY.js → chunk-RCONOOVF.js} +5 -5
- package/dist/{chunk-VFIWDPXZ.js → chunk-RPX2H2OL.js} +3 -3
- package/dist/{chunk-JBIV4FLR.js → chunk-SW4TOSJL.js} +5 -1
- package/dist/chunk-SW4TOSJL.js.map +1 -0
- package/dist/{chunk-PCQDY6QN.js → chunk-SWFIXQF5.js} +6 -6
- package/dist/{chunk-ISSU3OH6.js → chunk-T66OY2U5.js} +7 -7
- package/dist/{chunk-6EW2UCVF.js → chunk-TAJZ7GXO.js} +3 -3
- package/dist/{chunk-57JTHWLQ.js → chunk-TQGT5BZE.js} +4 -4
- package/dist/{chunk-TOV6VMHF.js → chunk-U3RMWOXY.js} +3 -3
- package/dist/{chunk-PUJTKLPL.js → chunk-UL7TLJ54.js} +3 -3
- package/dist/{chunk-W5LHQXZU.js → chunk-USKHHOIV.js} +2 -2
- package/dist/{chunk-J4MN6XIU.js → chunk-UTFY6W6X.js} +2 -2
- package/dist/{chunk-P6ASQOZR.js → chunk-VT4DTCK5.js} +2 -2
- package/dist/{chunk-A2YW5EMU.js → chunk-X6YRP5EC.js} +5 -5
- package/dist/{chunk-FOG7YEJP.js → chunk-XGXVPCYW.js} +3 -3
- package/dist/{chunk-5263OEM3.js → chunk-XJP66QEN.js} +2 -2
- package/dist/{chunk-5W7YXFV5.js → chunk-XJTGBHK6.js} +67 -22
- package/dist/chunk-XJTGBHK6.js.map +1 -0
- package/dist/{chunk-OPXR4PB2.js → chunk-XKA6UH5V.js} +2 -2
- package/dist/{chunk-XDVVBETV.js → chunk-YHIAWECL.js} +2 -2
- package/dist/{chunk-J4UJ5FRV.js → chunk-Z277MC2O.js} +4 -4
- package/dist/{chunk-F7ZFRPGQ.js → chunk-ZB2K3FV7.js} +2 -2
- package/dist/{chunk-NLKLXXTO.js → chunk-ZQGRZN5L.js} +2 -2
- package/dist/classified/index.js +5 -5
- package/dist/{classified-marker-BSQHU4JT.js → classified-marker-R37XW5PC.js} +3 -3
- package/dist/collection-facade-OPJ3EC4L.js +45 -0
- package/dist/{computed-ASBNTLOK.js → computed-HW6IG5UH.js} +3 -3
- package/dist/consent/index.js +9 -9
- package/dist/cover/index.js +9 -9
- package/dist/custody/index.js +12 -12
- package/dist/{dead-filter-QKU56XTQ.js → dead-filter-GRT6RAML.js} +2 -2
- package/dist/debug/index.js +1 -1
- package/dist/{delegation-XWRPYODW.js → delegation-6QRAYSK6.js} +11 -11
- package/dist/derivations/index.js +12 -12
- package/dist/derive-AAIXSQIE.js +22 -0
- package/dist/directory/index.js +10 -10
- package/dist/{dispatch-4AP4PUZU.js → dispatch-DR3XITEC.js} +18 -18
- package/dist/{dispatch-VR4LRXZ7.js → dispatch-QCF7KPIP.js} +5 -5
- package/dist/{enclave-NYPT7WA7.js → enclave-OXZY3NOP.js} +9 -9
- package/dist/executor-67NA4KPO.js +29 -0
- package/dist/executor-7JDP7UBK.js +9 -0
- package/dist/executor-CRH5OB4V.js +9 -0
- package/dist/export-accessible-K4GJAU7U.js +23 -0
- package/dist/extract-partition-YJFL5OKK.js +38 -0
- package/dist/{fanout-sidecar-IWP3R4RC.js → fanout-sidecar-KGQCUJ7P.js} +9 -9
- package/dist/find-SVZHMEQI.js +11 -0
- package/dist/forget/index.js +9 -9
- package/dist/guards/index.js +4 -4
- package/dist/history/index.js +13 -13
- package/dist/i18n/index.js +14 -14
- package/dist/index.d.ts +13 -1
- package/dist/index.js +98 -92
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +2 -2
- package/dist/introspection/index.js +11 -11
- package/dist/issue-64N6OG7U.js +19 -0
- package/dist/kernel/errors.d.ts +17 -0
- package/dist/kernel/types.d.ts +75 -0
- package/dist/{ledger-T5K4P2D7.js → ledger-ZAFULLAF.js} +11 -11
- package/dist/liberate-QAUKHU6W.js +25 -0
- package/dist/{link-set-76JZ6YB4.js → link-set-LQI2IJX6.js} +11 -11
- package/dist/{managed-secret-6YC32VXG.js → managed-secret-7OH7HKXV.js} +10 -10
- package/dist/materialized-views/index.js +20 -20
- package/dist/{migrate-cek-LBRKYUZZ.js → migrate-cek-QHZ75E6E.js} +2 -2
- package/dist/money/index.js +4 -4
- package/dist/noydb-ZUS5XAFT.js +86 -0
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +12 -12
- package/dist/pod/index.js +57 -57
- package/dist/{pod-handle-P6DPBM5U.js → pod-handle-BLOI4IFY.js} +9 -9
- package/dist/policy/index.js +10 -10
- package/dist/port/to/index.d.ts +2 -0
- package/dist/portability/index.js +8 -8
- package/dist/{post-register-53O7AJRZ.js → post-register-R33EKJQR.js} +6 -6
- package/dist/query/index.js +3 -3
- package/dist/reduce/index.js +4 -4
- package/dist/register-AYBQNTM3.js +32 -0
- package/dist/registry-CQWWOBO4.js +9 -0
- package/dist/registry-JCZ4BNLV.js +18 -0
- package/dist/registry-JFFENZ44.js +9 -0
- package/dist/registry-ZA4HACYR.js +19 -0
- package/dist/request-withdrawal-7IKUIAEB.js +31 -0
- package/dist/{reveal-XBIMHAXR.js → reveal-PI6ADRQU.js} +6 -6
- package/dist/revoke-PUJKRYJF.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/schema-update/index.js +2 -2
- package/dist/sealed-record/index.js +12 -12
- package/dist/search/index.js +4 -4
- package/dist/{seed-NSNIGYXE.js → seed-MCCGVPRI.js} +12 -12
- package/dist/sequence/index.js +9 -9
- package/dist/session/index.js +9 -9
- package/dist/shadow/index.js +2 -2
- package/dist/signer-5TA7FUC3.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/{stale-MCS46TFO.js → stale-HZR7745Y.js} +10 -10
- package/dist/storage-J2QHNJCB.js +23 -0
- package/dist/{store-coordination-provider-6FM26VQM.js → store-coordination-provider-MYIHSZXT.js} +10 -10
- package/dist/sync/index.js +10 -10
- package/dist/team/index.js +15 -15
- package/dist/tiers/index.js +11 -11
- package/dist/to/index.js +8 -2
- package/dist/to/index.js.map +1 -1
- package/dist/transactions/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/vault-head/index.js +8 -8
- package/dist/{verify-WYOFLSNA.js → verify-R6CCBUA3.js} +5 -5
- package/dist/walk-3PA4ZOKS.js +21 -0
- package/dist/with-cargo/index.d.ts +1 -0
- package/dist/with-party/team/roster-epoch.d.ts +71 -0
- package/dist/with-party/team/roster-tag.d.ts +1 -1
- package/dist/withdraw-accessible-62VI4W7D.js +28 -0
- package/package.json +3 -3
- package/dist/api-EQYRTZO2.js +0 -20
- package/dist/chunk-2LPVI4PX.js.map +0 -1
- package/dist/chunk-5W7YXFV5.js.map +0 -1
- package/dist/chunk-H3VG6XBC.js.map +0 -1
- package/dist/chunk-H4M7ADXY.js.map +0 -1
- package/dist/chunk-JBIV4FLR.js.map +0 -1
- package/dist/chunk-RK7N4OQ5.js.map +0 -1
- package/dist/collection-facade-LG3NYZVB.js +0 -45
- package/dist/derive-CXHCY46K.js +0 -22
- package/dist/executor-3KFRQETS.js +0 -29
- package/dist/executor-AFHQYRAU.js +0 -9
- package/dist/executor-YYDW6XQI.js +0 -9
- package/dist/export-accessible-BX2ILB4C.js +0 -23
- package/dist/extract-partition-UPOVITFI.js +0 -38
- package/dist/find-SZBL2HPB.js +0 -11
- package/dist/issue-G53NB6EW.js +0 -19
- package/dist/liberate-VEOZRESE.js +0 -25
- package/dist/noydb-4VV2ZGLZ.js +0 -86
- package/dist/register-6TCBR6XD.js +0 -32
- package/dist/registry-DH2L4O2V.js +0 -18
- package/dist/registry-IWFMXCHX.js +0 -9
- package/dist/registry-Q3FG3OAX.js +0 -9
- package/dist/registry-YC3IFG3A.js +0 -19
- package/dist/request-withdrawal-NM5VYR6F.js +0 -31
- package/dist/revoke-MJNYWO72.js +0 -24
- package/dist/signer-6XVS2AU3.js +0 -25
- package/dist/storage-ZXUT476I.js +0 -23
- package/dist/walk-JNEOYCAU.js +0 -21
- package/dist/withdraw-accessible-ILTSXTIE.js +0 -28
- /package/dist/{api-EQYRTZO2.js.map → api-GJQF7OAJ.js.map} +0 -0
- /package/dist/{backup-Z7ZBTAQ6.js.map → backup-QZQEP5RO.js.map} +0 -0
- /package/dist/{chunk-AB5P32RE.js.map → chunk-2DGBRE4K.js.map} +0 -0
- /package/dist/{chunk-XVU7J43V.js.map → chunk-2E2LT37H.js.map} +0 -0
- /package/dist/{chunk-4LPF226H.js.map → chunk-2MQ2D5OZ.js.map} +0 -0
- /package/dist/{chunk-DBNYPLWY.js.map → chunk-357ECVLE.js.map} +0 -0
- /package/dist/{chunk-SHILAQH5.js.map → chunk-3GIA3HJ2.js.map} +0 -0
- /package/dist/{chunk-QGJ4XIA7.js.map → chunk-3SWP2FYA.js.map} +0 -0
- /package/dist/{chunk-N4CNVSUF.js.map → chunk-4RUFYGWG.js.map} +0 -0
- /package/dist/{chunk-4G25SDQL.js.map → chunk-4U52PMEL.js.map} +0 -0
- /package/dist/{chunk-H7HP56F6.js.map → chunk-5EC7X5QA.js.map} +0 -0
- /package/dist/{chunk-WK5FSW7T.js.map → chunk-5NKHCJU5.js.map} +0 -0
- /package/dist/{chunk-PQ6Z2TAP.js.map → chunk-5UKIZIO3.js.map} +0 -0
- /package/dist/{chunk-QHJKK77B.js.map → chunk-5W5CEHLA.js.map} +0 -0
- /package/dist/{chunk-YPSOHDNC.js.map → chunk-65ZYRK7O.js.map} +0 -0
- /package/dist/{chunk-4ZPE6SKS.js.map → chunk-75WNTBZL.js.map} +0 -0
- /package/dist/{chunk-OWLVBOWO.js.map → chunk-7XT7KZTN.js.map} +0 -0
- /package/dist/{chunk-QI5NWLVW.js.map → chunk-AHIIBDNH.js.map} +0 -0
- /package/dist/{chunk-XSN63FUS.js.map → chunk-AW4KTQA4.js.map} +0 -0
- /package/dist/{chunk-KDJGJR7F.js.map → chunk-CWFH36SI.js.map} +0 -0
- /package/dist/{chunk-X67FCULK.js.map → chunk-DIVY2CJZ.js.map} +0 -0
- /package/dist/{chunk-Z2PWOSCJ.js.map → chunk-DNMTN46H.js.map} +0 -0
- /package/dist/{chunk-HTGRQZFB.js.map → chunk-DZPMKY3J.js.map} +0 -0
- /package/dist/{chunk-XJ3FEKEY.js.map → chunk-FKQCC4C5.js.map} +0 -0
- /package/dist/{chunk-E6YA6UAP.js.map → chunk-FLRLZ4XZ.js.map} +0 -0
- /package/dist/{chunk-ALUNQEBY.js.map → chunk-FN26SFGH.js.map} +0 -0
- /package/dist/{chunk-TVIFAHZR.js.map → chunk-FPN5D4JX.js.map} +0 -0
- /package/dist/{chunk-VTG7327U.js.map → chunk-FRIVOR5N.js.map} +0 -0
- /package/dist/{chunk-3QARDAYW.js.map → chunk-FYT3DXPN.js.map} +0 -0
- /package/dist/{chunk-YMLQBZFJ.js.map → chunk-FZWAGG5T.js.map} +0 -0
- /package/dist/{chunk-CBRS2NEK.js.map → chunk-GHADG5QZ.js.map} +0 -0
- /package/dist/{chunk-3L2MVE36.js.map → chunk-GKOJR53Y.js.map} +0 -0
- /package/dist/{chunk-Y6GZ2P4M.js.map → chunk-GM4IM7TC.js.map} +0 -0
- /package/dist/{chunk-CN6B5PEN.js.map → chunk-H5GVPOB4.js.map} +0 -0
- /package/dist/{chunk-467SKJ65.js.map → chunk-HOIWW2LV.js.map} +0 -0
- /package/dist/{chunk-ALB64CZM.js.map → chunk-HS3LEVT4.js.map} +0 -0
- /package/dist/{chunk-YXA2TCTZ.js.map → chunk-I5LSKXT6.js.map} +0 -0
- /package/dist/{chunk-S35S77YU.js.map → chunk-IAHDSFFA.js.map} +0 -0
- /package/dist/{chunk-X62MEF2O.js.map → chunk-IRHIA3AL.js.map} +0 -0
- /package/dist/{chunk-F23WQK3G.js.map → chunk-IS5LFHV2.js.map} +0 -0
- /package/dist/{chunk-POS53FG6.js.map → chunk-IZTU6RKH.js.map} +0 -0
- /package/dist/{chunk-VAG47QHV.js.map → chunk-J6FXVDKC.js.map} +0 -0
- /package/dist/{chunk-2GXEQUEX.js.map → chunk-JFSUYGNE.js.map} +0 -0
- /package/dist/{chunk-LR4Z47QD.js.map → chunk-JILOSL4O.js.map} +0 -0
- /package/dist/{chunk-RC4BROYR.js.map → chunk-JRWLUWDM.js.map} +0 -0
- /package/dist/{chunk-Z2WK53N6.js.map → chunk-JUBWUJY5.js.map} +0 -0
- /package/dist/{chunk-JVLSU7S2.js.map → chunk-JY4U6CYV.js.map} +0 -0
- /package/dist/{chunk-3SMSERQU.js.map → chunk-KKZPQLDH.js.map} +0 -0
- /package/dist/{chunk-WLLUM35R.js.map → chunk-KQIDBIZL.js.map} +0 -0
- /package/dist/{chunk-LKFKXS5K.js.map → chunk-KZTPL7NL.js.map} +0 -0
- /package/dist/{chunk-S2VG3ABP.js.map → chunk-LAI7ENPW.js.map} +0 -0
- /package/dist/{chunk-ZO252Q5S.js.map → chunk-LUVGSKXE.js.map} +0 -0
- /package/dist/{chunk-PGFKIOR3.js.map → chunk-MENI33ZV.js.map} +0 -0
- /package/dist/{chunk-MTBXJAS4.js.map → chunk-MOQ6OGKS.js.map} +0 -0
- /package/dist/{chunk-5ACAVJUI.js.map → chunk-MTTPHBIE.js.map} +0 -0
- /package/dist/{chunk-T3PHCEN4.js.map → chunk-MU74BYOD.js.map} +0 -0
- /package/dist/{chunk-DFAUMLD7.js.map → chunk-MV2OEK3K.js.map} +0 -0
- /package/dist/{chunk-LF6DMX4C.js.map → chunk-NMDMSHBF.js.map} +0 -0
- /package/dist/{chunk-225O5CXQ.js.map → chunk-O3SNM66K.js.map} +0 -0
- /package/dist/{chunk-YCSM3GZU.js.map → chunk-OEJ4R52I.js.map} +0 -0
- /package/dist/{chunk-IESNYJXZ.js.map → chunk-OKCQNMO6.js.map} +0 -0
- /package/dist/{chunk-H36KSN6X.js.map → chunk-OLUTCM23.js.map} +0 -0
- /package/dist/{chunk-RDHUZ674.js.map → chunk-OQDHIAR2.js.map} +0 -0
- /package/dist/{chunk-DKWPJOYH.js.map → chunk-P22XPNFW.js.map} +0 -0
- /package/dist/{chunk-GK4DRVUD.js.map → chunk-P2RJAVMR.js.map} +0 -0
- /package/dist/{chunk-UCUALOSM.js.map → chunk-P7KJME6C.js.map} +0 -0
- /package/dist/{chunk-HM4JSXX2.js.map → chunk-PCIBCL26.js.map} +0 -0
- /package/dist/{chunk-4A4TYISP.js.map → chunk-PV7XXAXK.js.map} +0 -0
- /package/dist/{chunk-5AFMP532.js.map → chunk-Q2OAAREU.js.map} +0 -0
- /package/dist/{chunk-Z7ZXZL6Y.js.map → chunk-Q2ZN5DWZ.js.map} +0 -0
- /package/dist/{chunk-L6GTLZRK.js.map → chunk-QJLOWGOU.js.map} +0 -0
- /package/dist/{chunk-7LYUJNU3.js.map → chunk-QOHGWFAW.js.map} +0 -0
- /package/dist/{chunk-6FOGTKBY.js.map → chunk-RCONOOVF.js.map} +0 -0
- /package/dist/{chunk-VFIWDPXZ.js.map → chunk-RPX2H2OL.js.map} +0 -0
- /package/dist/{chunk-PCQDY6QN.js.map → chunk-SWFIXQF5.js.map} +0 -0
- /package/dist/{chunk-ISSU3OH6.js.map → chunk-T66OY2U5.js.map} +0 -0
- /package/dist/{chunk-6EW2UCVF.js.map → chunk-TAJZ7GXO.js.map} +0 -0
- /package/dist/{chunk-57JTHWLQ.js.map → chunk-TQGT5BZE.js.map} +0 -0
- /package/dist/{chunk-TOV6VMHF.js.map → chunk-U3RMWOXY.js.map} +0 -0
- /package/dist/{chunk-PUJTKLPL.js.map → chunk-UL7TLJ54.js.map} +0 -0
- /package/dist/{chunk-W5LHQXZU.js.map → chunk-USKHHOIV.js.map} +0 -0
- /package/dist/{chunk-J4MN6XIU.js.map → chunk-UTFY6W6X.js.map} +0 -0
- /package/dist/{chunk-P6ASQOZR.js.map → chunk-VT4DTCK5.js.map} +0 -0
- /package/dist/{chunk-A2YW5EMU.js.map → chunk-X6YRP5EC.js.map} +0 -0
- /package/dist/{chunk-FOG7YEJP.js.map → chunk-XGXVPCYW.js.map} +0 -0
- /package/dist/{chunk-5263OEM3.js.map → chunk-XJP66QEN.js.map} +0 -0
- /package/dist/{chunk-OPXR4PB2.js.map → chunk-XKA6UH5V.js.map} +0 -0
- /package/dist/{chunk-XDVVBETV.js.map → chunk-YHIAWECL.js.map} +0 -0
- /package/dist/{chunk-J4UJ5FRV.js.map → chunk-Z277MC2O.js.map} +0 -0
- /package/dist/{chunk-F7ZFRPGQ.js.map → chunk-ZB2K3FV7.js.map} +0 -0
- /package/dist/{chunk-NLKLXXTO.js.map → chunk-ZQGRZN5L.js.map} +0 -0
- /package/dist/{classified-marker-BSQHU4JT.js.map → classified-marker-R37XW5PC.js.map} +0 -0
- /package/dist/{collection-facade-LG3NYZVB.js.map → collection-facade-OPJ3EC4L.js.map} +0 -0
- /package/dist/{computed-ASBNTLOK.js.map → computed-HW6IG5UH.js.map} +0 -0
- /package/dist/{dead-filter-QKU56XTQ.js.map → dead-filter-GRT6RAML.js.map} +0 -0
- /package/dist/{delegation-XWRPYODW.js.map → delegation-6QRAYSK6.js.map} +0 -0
- /package/dist/{derive-CXHCY46K.js.map → derive-AAIXSQIE.js.map} +0 -0
- /package/dist/{dispatch-4AP4PUZU.js.map → dispatch-DR3XITEC.js.map} +0 -0
- /package/dist/{dispatch-VR4LRXZ7.js.map → dispatch-QCF7KPIP.js.map} +0 -0
- /package/dist/{enclave-NYPT7WA7.js.map → enclave-OXZY3NOP.js.map} +0 -0
- /package/dist/{executor-3KFRQETS.js.map → executor-67NA4KPO.js.map} +0 -0
- /package/dist/{executor-AFHQYRAU.js.map → executor-7JDP7UBK.js.map} +0 -0
- /package/dist/{executor-YYDW6XQI.js.map → executor-CRH5OB4V.js.map} +0 -0
- /package/dist/{export-accessible-BX2ILB4C.js.map → export-accessible-K4GJAU7U.js.map} +0 -0
- /package/dist/{extract-partition-UPOVITFI.js.map → extract-partition-YJFL5OKK.js.map} +0 -0
- /package/dist/{fanout-sidecar-IWP3R4RC.js.map → fanout-sidecar-KGQCUJ7P.js.map} +0 -0
- /package/dist/{find-SZBL2HPB.js.map → find-SVZHMEQI.js.map} +0 -0
- /package/dist/{issue-G53NB6EW.js.map → issue-64N6OG7U.js.map} +0 -0
- /package/dist/{ledger-T5K4P2D7.js.map → ledger-ZAFULLAF.js.map} +0 -0
- /package/dist/{liberate-VEOZRESE.js.map → liberate-QAUKHU6W.js.map} +0 -0
- /package/dist/{link-set-76JZ6YB4.js.map → link-set-LQI2IJX6.js.map} +0 -0
- /package/dist/{managed-secret-6YC32VXG.js.map → managed-secret-7OH7HKXV.js.map} +0 -0
- /package/dist/{migrate-cek-LBRKYUZZ.js.map → migrate-cek-QHZ75E6E.js.map} +0 -0
- /package/dist/{noydb-4VV2ZGLZ.js.map → noydb-ZUS5XAFT.js.map} +0 -0
- /package/dist/{pod-handle-P6DPBM5U.js.map → pod-handle-BLOI4IFY.js.map} +0 -0
- /package/dist/{post-register-53O7AJRZ.js.map → post-register-R33EKJQR.js.map} +0 -0
- /package/dist/{register-6TCBR6XD.js.map → register-AYBQNTM3.js.map} +0 -0
- /package/dist/{registry-DH2L4O2V.js.map → registry-CQWWOBO4.js.map} +0 -0
- /package/dist/{registry-IWFMXCHX.js.map → registry-JCZ4BNLV.js.map} +0 -0
- /package/dist/{registry-Q3FG3OAX.js.map → registry-JFFENZ44.js.map} +0 -0
- /package/dist/{registry-YC3IFG3A.js.map → registry-ZA4HACYR.js.map} +0 -0
- /package/dist/{request-withdrawal-NM5VYR6F.js.map → request-withdrawal-7IKUIAEB.js.map} +0 -0
- /package/dist/{reveal-XBIMHAXR.js.map → reveal-PI6ADRQU.js.map} +0 -0
- /package/dist/{revoke-MJNYWO72.js.map → revoke-PUJKRYJF.js.map} +0 -0
- /package/dist/{seed-NSNIGYXE.js.map → seed-MCCGVPRI.js.map} +0 -0
- /package/dist/{signer-6XVS2AU3.js.map → signer-5TA7FUC3.js.map} +0 -0
- /package/dist/{stale-MCS46TFO.js.map → stale-HZR7745Y.js.map} +0 -0
- /package/dist/{storage-ZXUT476I.js.map → storage-J2QHNJCB.js.map} +0 -0
- /package/dist/{store-coordination-provider-6FM26VQM.js.map → store-coordination-provider-MYIHSZXT.js.map} +0 -0
- /package/dist/{verify-WYOFLSNA.js.map → verify-R6CCBUA3.js.map} +0 -0
- /package/dist/{walk-JNEOYCAU.js.map → walk-3PA4ZOKS.js.map} +0 -0
- /package/dist/{withdraw-accessible-ILTSXTIE.js.map → withdraw-accessible-62VI4W7D.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,203 @@
|
|
|
1
1
|
# Changelog — hub
|
|
2
2
|
|
|
3
|
+
## 0.7.0-pre.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Export `assertRosterEpochCurrent` and `nextRosterEpoch` — they shipped in `0.7.0-pre.9` reachable from nothing (#1097 follow-up).
|
|
8
|
+
|
|
9
|
+
`0.7.0-pre.9` added the roster epoch and **listed `assertRosterEpochCurrent` in its release notes under "what is new"**. The function was present in `dist/**/*.d.ts` and exported from **no entry point** — all 53 were enumerated and imported; none had it.
|
|
10
|
+
|
|
11
|
+
That is the whole mechanism's caller half. Hub stamps and binds the epoch, but the expectation arrives by a second channel hub does not carry, so **only application code can perform the comparison**. A consumer following the release notes could not import the function they were told to call.
|
|
12
|
+
|
|
13
|
+
Both are now exported from the root barrel, beside `assertRosterAuthenticated`.
|
|
14
|
+
|
|
15
|
+
## The class, and why it is worse than #1224
|
|
16
|
+
|
|
17
|
+
#1224 was a predicate reachable from the **wrong** seam — the root barrel rather than `/to`, which is all a store binds. This one was reachable from **none**. Both were found the same way: someone tried to follow the documentation.
|
|
18
|
+
|
|
19
|
+
Guarded by an invariant rather than by adding two names: a test asserts that **every** exported member of `roster-epoch.ts` reaches a published barrel, and that the query finds something in the first place. A helper added to that module later and exported from nothing fails the test rather than shipping unreachable.
|
|
20
|
+
|
|
21
|
+
Additive — the root barrel's golden baseline moves by two entries; nothing is removed or renamed.
|
|
22
|
+
|
|
23
|
+
## 0.7.0-pre.9
|
|
24
|
+
|
|
25
|
+
### Minor Changes
|
|
26
|
+
|
|
27
|
+
- Add an authenticated, comparable roster epoch (#1097).
|
|
28
|
+
|
|
29
|
+
A roster tag authenticates the roster's **contents** and makes no claim about being **current**. That gap is reachable without forging anything: there is no role-change API, so narrowing a user's standing means calling `grant` again with a lower role, and that write overwrites in place. The previous, broader file was legitimately minted by the vault — so a store that kept a copy can re-serve it. The KEK unwraps, the canary checks out, the tag verifies, and the replayed file **restores the higher role**, usably.
|
|
30
|
+
|
|
31
|
+
The rotation half of #1097 already shipped and converts live access back into stale access. It cannot touch the role, because role gates capabilities rather than keys.
|
|
32
|
+
|
|
33
|
+
## What is new
|
|
34
|
+
|
|
35
|
+
- `KeyringFile.roster_epoch?: number`, bumped on every roster write and bound into `rosterCanonical`, so a store can neither edit nor strip it.
|
|
36
|
+
- `assertRosterEpochCurrent(found, expected, userId)` — refuses a keyring older than a floor the caller obtained **out of band**.
|
|
37
|
+
- Two `KeyringTamperedReason` codes: `roster-epoch-rewound` and `roster-epoch-absent`.
|
|
38
|
+
|
|
39
|
+
## Why an out-of-band anchor
|
|
40
|
+
|
|
41
|
+
An epoch stored beside the roster is not an anchor — a store rewinding the roster rewinds the epoch with it. It becomes one only when compared against a value that reached the reader by a channel the store does not carry. **Hub owns the epoch and the comparison; who carries the expectation is deliberately the consumer's problem**, because hub cannot know which channel a deployment trusts.
|
|
42
|
+
|
|
43
|
+
Considered and rejected, recorded so they are not re-derived: **time** (defeats long rewinds, useless against fresh ones — and a narrowing replay is entirely the fresh case) and **the vault head** (circular: head buckets are read with a keyring-issued DEK, and a rewound roster renders as the benign `no-expectations` verdict).
|
|
44
|
+
|
|
45
|
+
## Not a format break
|
|
46
|
+
|
|
47
|
+
Binding the epoch **conditionally** is what makes this additive. `stable()` drops `undefined`, so a keyring written before the epoch existed canonicalises byte-identically and its existing tag still verifies. Binding it as `?? null` — the shape every other optional field uses — would have failed every pre-existing tag and rendered every existing vault unopenable.
|
|
48
|
+
|
|
49
|
+
## Opt-in, and absence is never zero
|
|
50
|
+
|
|
51
|
+
With no expected epoch this changes nothing for a caller. When one is supplied, a file carrying **no** epoch is refused as `roster-epoch-absent` rather than treated as epoch 0 — treating absence as zero would accept every pre-epoch file, which is exactly the replay the mechanism exists to refuse. `found > expected` is accepted: the anchor is a floor, not an equality, since a roster may legitimately have moved on since an invite was minted.
|
|
52
|
+
|
|
53
|
+
All thirteen roster-mint sites stamp the epoch before the tag is minted, and `writeKeyringFile` now refuses to write a keyring without one — an output-domain guard, so a future mint site cannot ship the field empty.
|
|
54
|
+
|
|
55
|
+
### Patch Changes
|
|
56
|
+
|
|
57
|
+
- Satellite hub peers now publish as a caret **range** instead of an exact version (#1228).
|
|
58
|
+
|
|
59
|
+
Every `@noy-db/*` satellite declared `peerDependencies['@noy-db/hub'] = "workspace:*"`, which **publishes as an exact version**:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
workspace:* -> "@noy-db/hub": "0.7.0-pre.8" exact
|
|
63
|
+
workspace:^ -> "@noy-db/hub": "^0.7.0-pre.8" a range
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Exact peers make the satellite set co-installable **only when every member came from the same cut**. Measured against published packages:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
npm i @noy-db/as-csv@0.7.0-pre.6 @noy-db/in-vue@0.7.0-pre.5 -> exit 1, ERESOLVE
|
|
70
|
+
npm i @noy-db/as-csv@0.7.0-pre.6 @noy-db/in-vue@0.7.0-pre.6 -> exit 0
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
No hub version satisfies two different exact peers, so any lag — a satellite not republished in a given release, or a consumer upgrading one package — made a pair uninstallable by name. Caret ranges are jointly satisfiable (`hub@pre.8` satisfies both `^pre.7` and `^pre.8`) and still stop at the next minor, so a satellite never claims to work against a hub line it has not seen.
|
|
74
|
+
|
|
75
|
+
## The reason for the old form did not hold
|
|
76
|
+
|
|
77
|
+
The architecture rule mandated `workspace:*` because `workspace:^` "trips the changeset-cli pre-1.0 dep-propagation heuristic and forces unintended major bumps on every dependent". `release.mjs`'s own header contradicted that all along: the heuristic fires **"even with loose `workspace:*` constraints"**. The peer form never prevented the bumps — the normalizer does.
|
|
78
|
+
|
|
79
|
+
Verified rather than reasoned: a full `release:version` was run with all 50 satellites on `workspace:^`. The line advanced normally, the normalizer corrected the heuristic as usual, and every package landed on one version.
|
|
80
|
+
|
|
81
|
+
**Nothing breaks for existing consumers.** A range is strictly more permissive than the exact version it replaces, so anything that resolved before still resolves. The `peer-deps` architecture rule now requires `workspace:^` and is mutation-checked.
|
|
82
|
+
|
|
83
|
+
## 0.7.0-pre.8
|
|
84
|
+
|
|
85
|
+
### Patch Changes
|
|
86
|
+
|
|
87
|
+
- Say what is actually true about runtime dependencies (#1227).
|
|
88
|
+
|
|
89
|
+
Four places claimed zero runtime dependencies. Measured across all 57 packages, **51 have none** — but six do, and four of those are third-party:
|
|
90
|
+
|
|
91
|
+
| package | runtime dependency |
|
|
92
|
+
| ----------------------------------- | ---------------------------------------------------------- |
|
|
93
|
+
| `@noy-db/as-xml`, `@noy-db/as-xlsx` | `fast-xml-parser` |
|
|
94
|
+
| `@noy-db/in-devtools-tui` | `ink`, `react` |
|
|
95
|
+
| `create-noy-db` | its scaffolder toolchain |
|
|
96
|
+
| `@noy-db/hub` | `@noy-db/attestation` — a sibling on the same version line |
|
|
97
|
+
| `@noy-db/in-nuxt` | `@noy-db/in-devtools` — likewise |
|
|
98
|
+
|
|
99
|
+
Corrected:
|
|
100
|
+
|
|
101
|
+
- **`@noy-db/hub`** — "Zero runtime dependencies" → _no third-party runtime dependencies to install_, naming `@noy-db/attestation` as the one runtime dependency. Also states plainly that `zod` is **vendored into the bundle** for the optional persisted-schema converter, loaded lazily, never executing unless you use that path — and that it will not appear in your lockfile. That last clause is the one an SBOM or audit process needs, and no manifest field carries it.
|
|
102
|
+
- **`@noy-db/as-xlsx`** — "Zero runtime dependencies" was **flatly false**; it depends on `fast-xml-parser`. The intent was "no heavyweight spreadsheet library", which is true and is now what it says.
|
|
103
|
+
|
|
104
|
+
Two other claims were checked and left alone because they are correct: `@noy-db/as-zip` and `@noy-db/on-totp` genuinely have no dependencies.
|
|
105
|
+
|
|
106
|
+
Documentation only. No code, dependency, or behaviour change — the manifests already said this; only the prose disagreed with them.
|
|
107
|
+
|
|
108
|
+
## 0.7.0-pre.6
|
|
109
|
+
|
|
110
|
+
### Patch Changes
|
|
111
|
+
|
|
112
|
+
- Correct a factual claim in the `0.7.0-pre.5` changelog entry: the cached read path returned `undefined`, not `null`.
|
|
113
|
+
|
|
114
|
+
That entry described the #1220 failure as _"the cached path returned `null`, indistinguishable from no such record."_ The value is wrong. Measured on published `0.7.0-pre.4` with `to-memory@0.7.0-pre.4`, correct arity throughout:
|
|
115
|
+
|
|
116
|
+
| read | value |
|
|
117
|
+
| --------------------------------- | ------------------------------------------- |
|
|
118
|
+
| genuinely absent id | `null` |
|
|
119
|
+
| empty-sealed record, cached path | **`undefined`** |
|
|
120
|
+
| empty-sealed record, hydrate path | `SyntaxError: Unexpected end of JSON input` |
|
|
121
|
+
|
|
122
|
+
**The argument the entry made is unaffected — it gets stronger.** `undefined` is off `get()`'s declared `T | null` contract, so a caller writing `if (!rec)` or `?? fallback` folds it into _"no such record"_ exactly as it would fold `null`, **and** a caller writing `rec === null` fails to catch it as well. The collapse of distinguishable states is wider than the original sentence claimed, not narrower.
|
|
123
|
+
|
|
124
|
+
`0.7.0-pre.5`'s entry is left standing as the record of what that release said — its tarball is immutable, so amending it would only make later tarballs disagree with the shipped one. This is the correction published alongside, the same move `0.7.0-pre.4` made for `0.7.0-pre.3`.
|
|
125
|
+
|
|
126
|
+
Scope: the incorrect sentence appeared only in `CHANGELOG.md` on the published surface — it was not in any shipped `.d.ts`. No code, type, or behaviour change. The guards added in `0.7.0-pre.5` are unaffected, and note they prevent such a record being **created**, not **read**: a record sealed by an earlier build still throws on the hydrate path today.
|
|
127
|
+
|
|
128
|
+
- Export `isConflictError` from `@noy-db/hub/to` (#1224).
|
|
129
|
+
|
|
130
|
+
The predicate was reachable only from the root barrel, while `/to` exported the `ConflictError` **class**. That is the wrong way round for the one seam that needs it: `isConflictError` exists precisely because a store may bind a different copy of `@noy-db/hub/to` than its caller, making `instanceof` against that class silently miss (#935) — CAS retry loops rethrow instead of retrying, and the sync engine misfiles the conflict with no resolution run.
|
|
131
|
+
|
|
132
|
+
A store binds `/to` and nothing else, so store authors were told by the predicate's own documentation to use something they could not import, and the obvious fallback — `instanceof ConflictError` off `/to` — is exactly the defect the predicate prevents.
|
|
133
|
+
|
|
134
|
+
Additive: an existing function on an existing subpath. Nothing is removed or renamed, and the root barrel export is unchanged.
|
|
135
|
+
|
|
136
|
+
Guarded by an invariant rather than an enumeration: a test parses `kernel/errors.ts` for any `is*` predicate whose contract mentions the store seam and asserts each is reachable from `/to`, so a future sibling cannot repeat this. `/to`'s golden surface baseline moves by one entry.
|
|
137
|
+
|
|
138
|
+
## 0.7.0-pre.5
|
|
139
|
+
|
|
140
|
+
### Patch Changes
|
|
141
|
+
|
|
142
|
+
- Refuse to seal a record against a coerced address or over an empty plaintext (#1220).
|
|
143
|
+
|
|
144
|
+
Two boundary values were accepted silently and produced envelopes that are **valid and undecodable** — sealed correctly, addressed or filled with nothing. Both are now `TypeError`s at the seal, stated as output-domain invariants so they hold for every caller rather than for the two calls that surfaced them:
|
|
145
|
+
|
|
146
|
+
- **`buildRecordAad` refuses a non-string `collection` or `id`.** `String({})` is `"[object Object]"` and `String(undefined)` is `"undefined"`; both make perfectly good AAD, so a record sealed against one is stored at an address nothing queries. Sibling of the `version` assertion already in that function, and there for the same reason: it can only fire for a caller TypeScript never saw.
|
|
147
|
+
- **`RecordCodec.encryptJsonString` refuses a non-string plaintext.** `JSON.stringify(undefined)` is `undefined`, so an undefined record sealed over _nothing_ — `_data` a bare GCM tag over zero ciphertext.
|
|
148
|
+
|
|
149
|
+
Why this was worth a guard rather than a documentation note: the two read paths disagreed about the same bytes and neither named the cause. The cached path returned `null`, indistinguishable from _no such record_; the hydrate path threw `SyntaxError` out of `decryptRecord`, indistinguishable from _your store returned corrupt bytes_. A `to-*` author or daemon operator meeting that would reasonably suspect their store, indefinitely, over a caller mistake made days earlier.
|
|
150
|
+
|
|
151
|
+
No format, encryption, or integrity change: envelopes that seal continue to seal identically, and `NOYDB_ENVELOPE_GENERATION` is unaffected. This only refuses inputs that previously produced unreadable records.
|
|
152
|
+
|
|
153
|
+
## 0.7.0-pre.4
|
|
154
|
+
|
|
155
|
+
### Patch Changes
|
|
156
|
+
|
|
157
|
+
- Correct the scoping of `NOYDB_ENVELOPE_GENERATION`'s documentation, and record that adopting it is not free (#1207 follow-up).
|
|
158
|
+
|
|
159
|
+
`0.7.0-pre.3` documented generation 1 as "no AAD (absence of the export also means 1)". That parenthetical is wrong as written, in the published `.d.ts` and in that release's changelog entry, and it is wrong in the direction that produces a false stamp rather than a missing one. "Absence of the **export**" is a statement about a hub _build_, and hub `0.6.0-pre.18` … `0.7.0-pre.2` seal at generation 2 while exporting no constant — verified against the published `0.7.0-pre.2` tarball. A writer using absence as a fallback would stamp a gen-2 artefact as gen 1.
|
|
160
|
+
|
|
161
|
+
The corrected form, now stated outright rather than left to inference: absence of a **stamp on an artefact** classifies that artefact as _unknown — possibly older than the constant_, never as generation 1; and a build's own absence of the export says nothing about the generation it seals at. A writer that cannot determine its generation omits the stamp.
|
|
162
|
+
|
|
163
|
+
Also documented: **adoption is not free.** "Diagnostic only" describes how the value may be used, not what it costs to import. It is a _value_ export, so a named import moves a consumer's real hub floor to `0.7.0-pre.3` regardless of the range its `peerDependencies` declares — measured as `TS2305` at a declared `^0.7.0-pre.0` floor while build, typecheck, lint and the full suite were green at the exact dev pin. Both correct postures are named: a defensive read at an unchanged floor, or a floor narrowing where the consumer publishes nothing and so gates no downstream range.
|
|
164
|
+
|
|
165
|
+
Documentation only — no value, signature, or export changed. The `0.7.0-pre.3` changelog entry is left standing as the record of what that release said; this entry is the correction published alongside it.
|
|
166
|
+
|
|
167
|
+
## 0.7.0-pre.3
|
|
168
|
+
|
|
169
|
+
### Minor Changes
|
|
170
|
+
|
|
171
|
+
- Export `NOYDB_ENVELOPE_GENERATION` — a monotonic generation of the envelope _sealing_ format, distinct from `NOYDB_FORMAT_VERSION` (#1207).
|
|
172
|
+
|
|
173
|
+
`NOYDB_FORMAT_VERSION` records what is written; the generation records what a reader must **compute** to open an envelope. The two move independently: 0.6.0-pre.18 bound record identity into the AEAD (#1041) without changing a stored byte, so nothing published could express that envelopes sealed before it are unopenable after it. The generation closes that gap: 1 = no AAD (hub ≤ 0.6.0-pre.17; absence of the export also means 1), 2 = identity + `_v` bound via `noydb-aad/2` (hub ≥ 0.6.0-pre.18).
|
|
174
|
+
|
|
175
|
+
Exported from the root barrel and re-exported from the `/cargo` and `/to` seams (additive), so an orchestrator can stamp it into a manifest and a store host can report "sealed under generation N, this build reads generation M" instead of a bare `TamperedError` from code that is correct. **Diagnostic only**: a reader must never branch on a generation read from an untrusted source (ADR 0003) — classification only, refusal unchanged, the same contract as `TamperedError.reason`. A test pins the generation to the AAD bytes actually emitted, so a sealing-format change cannot ship without a generation decision in the same diff.
|
|
176
|
+
|
|
177
|
+
## 0.7.0-pre.2
|
|
178
|
+
|
|
179
|
+
### Patch Changes
|
|
180
|
+
|
|
181
|
+
- **The conformance kit covers both entry-point shapes and both gates (#1209).**
|
|
182
|
+
|
|
183
|
+
`0.7.0-pre.0`'s `/as` inversion silently blinded `@noy-db/test-format-conformance`:
|
|
184
|
+
it denied by proxying the vault, which the inverted method-on-vault shape
|
|
185
|
+
(`vault.export(asCsv())`) bypasses — `this` inside `Vault.export` is the real,
|
|
186
|
+
unproxied object. The four inverted formats' fixtures had been deleted rather
|
|
187
|
+
than migrated, so coverage dropped from nine formats to five with nothing
|
|
188
|
+
turning red.
|
|
189
|
+
|
|
190
|
+
The kit now **patches the instance** instead: own-property assignment shadows
|
|
191
|
+
the prototype method at call time, intercepting the argument shape, the
|
|
192
|
+
inverted shape, and hub's internal delegation. Denials are matched on the
|
|
193
|
+
kit's own error class rather than "it threw", every entry point gets an
|
|
194
|
+
ungated-success guard, and the **import gate (`assertCanImport`) is covered
|
|
195
|
+
for the first time** — a format shipping a `decode` with no declared import
|
|
196
|
+
entries gets a loud `SKIPPED` line.
|
|
197
|
+
|
|
198
|
+
All four fixtures are restored, and a new architecture rule
|
|
199
|
+
(`as-conformance-fixture`) makes a silent fixture deletion impossible.
|
|
200
|
+
|
|
3
201
|
## 0.7.0-pre.1
|
|
4
202
|
|
|
5
203
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -76,7 +76,10 @@ const all = await invoices.list()
|
|
|
76
76
|
- **Multi-user access control** — owner, admin, operator, viewer, client roles
|
|
77
77
|
- **Offline-first sync** — push/pull with optimistic concurrency on encrypted envelopes
|
|
78
78
|
- **Audit history** — full-copy snapshots with `history()`, `diff()`, `revert()`, `pruneHistory()`
|
|
79
|
-
- **
|
|
79
|
+
- **No third-party runtime dependencies to install** — the only runtime dependency is
|
|
80
|
+
`@noy-db/attestation`, on the same version line. (`zod` is vendored into the bundle for the
|
|
81
|
+
optional persisted-schema converter and loaded lazily; it never executes unless you use that
|
|
82
|
+
path, and it does not appear in your lockfile.)
|
|
80
83
|
|
|
81
84
|
## Cross-vault queries
|
|
82
85
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
UserApi,
|
|
3
|
+
createUserApi
|
|
4
|
+
} from "./chunk-357ECVLE.js";
|
|
5
|
+
import "./chunk-MV2OEK3K.js";
|
|
6
|
+
import "./chunk-DOPZWTMJ.js";
|
|
7
|
+
import "./chunk-4RUFYGWG.js";
|
|
8
|
+
import "./chunk-XGXVPCYW.js";
|
|
9
|
+
import "./chunk-CWFH36SI.js";
|
|
10
|
+
import "./chunk-KZTPL7NL.js";
|
|
11
|
+
import "./chunk-LP7BEXCT.js";
|
|
12
|
+
import "./chunk-USKHHOIV.js";
|
|
13
|
+
import "./chunk-N4CHCXDL.js";
|
|
14
|
+
import "./chunk-SW4TOSJL.js";
|
|
15
|
+
import "./chunk-PZ5AY32C.js";
|
|
16
|
+
export {
|
|
17
|
+
UserApi,
|
|
18
|
+
createUserApi
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=api-GJQF7OAJ.js.map
|
package/dist/as/index.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import "../chunk-UBSFPGVJ.js";
|
|
2
|
-
import "../chunk-
|
|
2
|
+
import "../chunk-PCIBCL26.js";
|
|
3
3
|
import {
|
|
4
4
|
applyListProjection
|
|
5
5
|
} from "../chunk-VG2ZSFYD.js";
|
|
6
6
|
import "../chunk-KHKKD62N.js";
|
|
7
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-VT4DTCK5.js";
|
|
8
8
|
import "../chunk-Y2NBBT6K.js";
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-I5LSKXT6.js";
|
|
10
|
+
import "../chunk-DOPZWTMJ.js";
|
|
11
|
+
import "../chunk-4RUFYGWG.js";
|
|
12
|
+
import "../chunk-XGXVPCYW.js";
|
|
13
|
+
import "../chunk-CWFH36SI.js";
|
|
14
|
+
import "../chunk-KZTPL7NL.js";
|
|
15
15
|
import "../chunk-LP7BEXCT.js";
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-USKHHOIV.js";
|
|
17
|
+
import "../chunk-N4CHCXDL.js";
|
|
18
18
|
import {
|
|
19
19
|
ValidationError
|
|
20
|
-
} from "../chunk-
|
|
20
|
+
} from "../chunk-SW4TOSJL.js";
|
|
21
21
|
import "../chunk-PZ5AY32C.js";
|
|
22
22
|
|
|
23
23
|
// src/port/as/active.ts
|
package/dist/at/index.js
CHANGED
|
@@ -3,16 +3,16 @@ import {
|
|
|
3
3
|
MemorySealer,
|
|
4
4
|
SEALED_SECRET_RECORD_ID,
|
|
5
5
|
parseSealedEnvelope
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
6
|
+
} from "../chunk-JUBWUJY5.js";
|
|
7
|
+
import "../chunk-DOPZWTMJ.js";
|
|
8
|
+
import "../chunk-4RUFYGWG.js";
|
|
9
|
+
import "../chunk-XGXVPCYW.js";
|
|
10
|
+
import "../chunk-CWFH36SI.js";
|
|
11
|
+
import "../chunk-KZTPL7NL.js";
|
|
12
12
|
import "../chunk-LP7BEXCT.js";
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-USKHHOIV.js";
|
|
14
|
+
import "../chunk-N4CHCXDL.js";
|
|
15
|
+
import "../chunk-SW4TOSJL.js";
|
|
16
16
|
import "../chunk-PZ5AY32C.js";
|
|
17
17
|
export {
|
|
18
18
|
MemoryRecipientSealer,
|
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
import {
|
|
2
2
|
issueAttestationCore
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-LUVGSKXE.js";
|
|
4
4
|
import {
|
|
5
5
|
getRevokedDocIdsCore,
|
|
6
6
|
publishRevocationListCore,
|
|
7
7
|
revokeDocCore,
|
|
8
8
|
unrevokeDocCore
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-FPN5D4JX.js";
|
|
10
10
|
import {
|
|
11
11
|
ATTESTATIONS_COLLECTION
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-GKOJR53Y.js";
|
|
13
13
|
import {
|
|
14
14
|
NO_ATTESTATION
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-FLRLZ4XZ.js";
|
|
16
16
|
import "../chunk-4AOERLTV.js";
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-DOPZWTMJ.js";
|
|
18
|
+
import "../chunk-4RUFYGWG.js";
|
|
19
|
+
import "../chunk-XGXVPCYW.js";
|
|
20
|
+
import "../chunk-CWFH36SI.js";
|
|
21
|
+
import "../chunk-KZTPL7NL.js";
|
|
22
22
|
import "../chunk-LP7BEXCT.js";
|
|
23
|
-
import "../chunk-
|
|
24
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-USKHHOIV.js";
|
|
24
|
+
import "../chunk-N4CHCXDL.js";
|
|
25
25
|
import {
|
|
26
26
|
AttestationError,
|
|
27
27
|
AttestationNotEnabledError
|
|
28
|
-
} from "../chunk-
|
|
28
|
+
} from "../chunk-SW4TOSJL.js";
|
|
29
29
|
import "../chunk-PZ5AY32C.js";
|
|
30
30
|
|
|
31
31
|
// src/with-audit/attestation/active.ts
|
|
32
32
|
function withAttestation() {
|
|
33
33
|
return {
|
|
34
34
|
async issueAttestation(ctx, args) {
|
|
35
|
-
const { issueAttestationCore: issueAttestationCore2 } = await import("../issue-
|
|
35
|
+
const { issueAttestationCore: issueAttestationCore2 } = await import("../issue-64N6OG7U.js");
|
|
36
36
|
return issueAttestationCore2(ctx, args);
|
|
37
37
|
},
|
|
38
38
|
async getDocumentSigningPublicKey(deps) {
|
|
39
|
-
const { loadSigner, loadOrCreateSigner } = await import("../signer-
|
|
39
|
+
const { loadSigner, loadOrCreateSigner } = await import("../signer-5TA7FUC3.js");
|
|
40
40
|
const existing = await loadSigner(deps.adapter, deps.vault, deps.getDEK);
|
|
41
41
|
if (existing) return { keyId: existing.keyId, publicKeyB64: existing.publicKeyB64 };
|
|
42
42
|
if (deps.role !== "owner") {
|
|
@@ -46,19 +46,19 @@ function withAttestation() {
|
|
|
46
46
|
return { keyId: signer.keyId, publicKeyB64: signer.publicKeyB64 };
|
|
47
47
|
},
|
|
48
48
|
async revokeAttestation(ctx, docId) {
|
|
49
|
-
const { revokeDocCore: revokeDocCore2 } = await import("../revoke-
|
|
49
|
+
const { revokeDocCore: revokeDocCore2 } = await import("../revoke-PUJKRYJF.js");
|
|
50
50
|
return revokeDocCore2(ctx, docId);
|
|
51
51
|
},
|
|
52
52
|
async unrevokeAttestation(ctx, docId) {
|
|
53
|
-
const { unrevokeDocCore: unrevokeDocCore2 } = await import("../revoke-
|
|
53
|
+
const { unrevokeDocCore: unrevokeDocCore2 } = await import("../revoke-PUJKRYJF.js");
|
|
54
54
|
return unrevokeDocCore2(ctx, docId);
|
|
55
55
|
},
|
|
56
56
|
async getRevokedDocIds(ctx) {
|
|
57
|
-
const { getRevokedDocIdsCore: getRevokedDocIdsCore2 } = await import("../revoke-
|
|
57
|
+
const { getRevokedDocIdsCore: getRevokedDocIdsCore2 } = await import("../revoke-PUJKRYJF.js");
|
|
58
58
|
return getRevokedDocIdsCore2(ctx);
|
|
59
59
|
},
|
|
60
60
|
async publishRevocationList(ctx) {
|
|
61
|
-
const { publishRevocationListCore: publishRevocationListCore2 } = await import("../revoke-
|
|
61
|
+
const { publishRevocationListCore: publishRevocationListCore2 } = await import("../revoke-PUJKRYJF.js");
|
|
62
62
|
return publishRevocationListCore2(ctx);
|
|
63
63
|
}
|
|
64
64
|
};
|
|
@@ -3,37 +3,37 @@ import {
|
|
|
3
3
|
} from "./chunk-EPFF7LOX.js";
|
|
4
4
|
import {
|
|
5
5
|
SCHEMAS_COLLECTION
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-I5LSKXT6.js";
|
|
7
7
|
import {
|
|
8
8
|
SEQUENCE_COLLECTION
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-H5GVPOB4.js";
|
|
10
10
|
import {
|
|
11
11
|
PERIODS_COLLECTION,
|
|
12
12
|
PERIOD_ARCHIVES_COLLECTION,
|
|
13
13
|
PERIOD_FREEZES_COLLECTION,
|
|
14
14
|
PERIOD_REOPENS_COLLECTION,
|
|
15
15
|
PERIOD_TARGET_PURGES_COLLECTION
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-Q2ZN5DWZ.js";
|
|
17
17
|
import {
|
|
18
18
|
LEDGER_COLLECTION,
|
|
19
19
|
LEDGER_DELTAS_COLLECTION
|
|
20
20
|
} from "./chunk-I7FD46FF.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-DOPZWTMJ.js";
|
|
22
22
|
import {
|
|
23
23
|
buildRecordEnvelope
|
|
24
|
-
} from "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
24
|
+
} from "./chunk-4RUFYGWG.js";
|
|
25
|
+
import "./chunk-XGXVPCYW.js";
|
|
26
|
+
import "./chunk-CWFH36SI.js";
|
|
27
|
+
import "./chunk-KZTPL7NL.js";
|
|
28
28
|
import "./chunk-LP7BEXCT.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-USKHHOIV.js";
|
|
30
30
|
import {
|
|
31
31
|
NOYDB_BACKUP_VERSION
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-N4CHCXDL.js";
|
|
33
33
|
import {
|
|
34
34
|
BackupCorruptedError,
|
|
35
35
|
BackupLedgerError
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-SW4TOSJL.js";
|
|
37
37
|
import "./chunk-PZ5AY32C.js";
|
|
38
38
|
|
|
39
39
|
// src/with-pod/backup.ts
|
|
@@ -262,4 +262,4 @@ export {
|
|
|
262
262
|
loadVault,
|
|
263
263
|
verifyBackupIntegrity
|
|
264
264
|
};
|
|
265
|
-
//# sourceMappingURL=backup-
|
|
265
|
+
//# sourceMappingURL=backup-QZQEP5RO.js.map
|
package/dist/blobs/index.js
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
createExportBlobsHandle,
|
|
11
11
|
reportOrphanBlobChunks,
|
|
12
12
|
runCompaction
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-IS5LFHV2.js";
|
|
14
14
|
import {
|
|
15
15
|
BLOB_CHUNKS_COLLECTION,
|
|
16
16
|
BLOB_COLLECTION,
|
|
@@ -25,21 +25,21 @@ import {
|
|
|
25
25
|
detectMimeType,
|
|
26
26
|
isPreCompressed,
|
|
27
27
|
memoryBlobPinStore
|
|
28
|
-
} from "../chunk-
|
|
29
|
-
import "../chunk-
|
|
30
|
-
import "../chunk-
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
35
|
-
import "../chunk-
|
|
36
|
-
import "../chunk-
|
|
28
|
+
} from "../chunk-HS3LEVT4.js";
|
|
29
|
+
import "../chunk-YHIAWECL.js";
|
|
30
|
+
import "../chunk-DZPMKY3J.js";
|
|
31
|
+
import "../chunk-IZTU6RKH.js";
|
|
32
|
+
import "../chunk-DOPZWTMJ.js";
|
|
33
|
+
import "../chunk-4RUFYGWG.js";
|
|
34
|
+
import "../chunk-XGXVPCYW.js";
|
|
35
|
+
import "../chunk-CWFH36SI.js";
|
|
36
|
+
import "../chunk-KZTPL7NL.js";
|
|
37
37
|
import "../chunk-LP7BEXCT.js";
|
|
38
|
-
import "../chunk-
|
|
39
|
-
import "../chunk-
|
|
38
|
+
import "../chunk-USKHHOIV.js";
|
|
39
|
+
import "../chunk-N4CHCXDL.js";
|
|
40
40
|
import {
|
|
41
41
|
BlobOfflineError
|
|
42
|
-
} from "../chunk-
|
|
42
|
+
} from "../chunk-SW4TOSJL.js";
|
|
43
43
|
import "../chunk-PZ5AY32C.js";
|
|
44
44
|
|
|
45
45
|
// src/via/blob/active.ts
|
package/dist/broker/index.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
NO_BROKER
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-PV7XXAXK.js";
|
|
4
4
|
import {
|
|
5
5
|
issueChallenge,
|
|
6
6
|
verifyBrokerProof
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-DOPZWTMJ.js";
|
|
8
|
+
import "../chunk-4RUFYGWG.js";
|
|
9
|
+
import "../chunk-XGXVPCYW.js";
|
|
10
|
+
import "../chunk-CWFH36SI.js";
|
|
11
|
+
import "../chunk-KZTPL7NL.js";
|
|
12
12
|
import "../chunk-LP7BEXCT.js";
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-USKHHOIV.js";
|
|
14
|
+
import "../chunk-N4CHCXDL.js";
|
|
15
15
|
import {
|
|
16
16
|
BrokerEnrolmentError,
|
|
17
17
|
BrokerNotEnabledError,
|
|
18
18
|
BrokerProofError
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-SW4TOSJL.js";
|
|
20
20
|
import "../chunk-PZ5AY32C.js";
|
|
21
21
|
|
|
22
22
|
// src/with-party/broker/active.ts
|
|
@@ -30,7 +30,7 @@ function withBroker(config) {
|
|
|
30
30
|
const cache = /* @__PURE__ */ new Map();
|
|
31
31
|
return {
|
|
32
32
|
async enroll(ctx) {
|
|
33
|
-
const { enrollSeed } = await import("../seed-
|
|
33
|
+
const { enrollSeed } = await import("../seed-MCCGVPRI.js");
|
|
34
34
|
return enrollSeed({ ...ctx, config });
|
|
35
35
|
},
|
|
36
36
|
async rotate(ctx) {
|
|
@@ -39,7 +39,7 @@ function withBroker(config) {
|
|
|
39
39
|
const inFlight = scoped.map(([, e]) => e.inFlight).filter((p) => p !== void 0);
|
|
40
40
|
await Promise.allSettled(inFlight);
|
|
41
41
|
for (const [key] of scoped) cache.delete(key);
|
|
42
|
-
const { rotateSeed } = await import("../seed-
|
|
42
|
+
const { rotateSeed } = await import("../seed-MCCGVPRI.js");
|
|
43
43
|
return rotateSeed({ ...ctx, config });
|
|
44
44
|
},
|
|
45
45
|
credentialSource(ctx, profile) {
|
|
@@ -56,7 +56,7 @@ function withBroker(config) {
|
|
|
56
56
|
const skewMs = config.skewMs ?? DEFAULT_SKEW_MS;
|
|
57
57
|
const capturedEntry = entry;
|
|
58
58
|
const inFlight = (async () => {
|
|
59
|
-
const { mintStoreCredentials } = await import("../seed-
|
|
59
|
+
const { mintStoreCredentials } = await import("../seed-MCCGVPRI.js");
|
|
60
60
|
const creds = await mintStoreCredentials({ ...ctx, config }, profile);
|
|
61
61
|
capturedEntry.cached = { creds, validUntil: cacheFloor(creds, skewMs) };
|
|
62
62
|
return creds;
|