@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.
Files changed (364) hide show
  1. package/CHANGELOG.md +198 -0
  2. package/README.md +4 -1
  3. package/dist/api-GJQF7OAJ.js +20 -0
  4. package/dist/as/index.js +11 -11
  5. package/dist/at/index.js +9 -9
  6. package/dist/attestation/index.js +18 -18
  7. package/dist/{backup-Z7ZBTAQ6.js → backup-QZQEP5RO.js} +12 -12
  8. package/dist/blobs/index.js +13 -13
  9. package/dist/broker/index.js +12 -12
  10. package/dist/by/index.js +2 -2
  11. package/dist/cargo/index.js +33 -30
  12. package/dist/{chunk-AB5P32RE.js → chunk-2DGBRE4K.js} +2 -2
  13. package/dist/{chunk-XVU7J43V.js → chunk-2E2LT37H.js} +2 -2
  14. package/dist/{chunk-4LPF226H.js → chunk-2MQ2D5OZ.js} +5 -5
  15. package/dist/{chunk-DBNYPLWY.js → chunk-357ECVLE.js} +3 -3
  16. package/dist/{chunk-SHILAQH5.js → chunk-3GIA3HJ2.js} +2 -2
  17. package/dist/{chunk-QGJ4XIA7.js → chunk-3SWP2FYA.js} +8 -8
  18. package/dist/{chunk-N4CNVSUF.js → chunk-4RUFYGWG.js} +2 -2
  19. package/dist/{chunk-4G25SDQL.js → chunk-4U52PMEL.js} +4 -4
  20. package/dist/{chunk-H7HP56F6.js → chunk-5EC7X5QA.js} +5 -5
  21. package/dist/{chunk-WK5FSW7T.js → chunk-5NKHCJU5.js} +8 -8
  22. package/dist/{chunk-PQ6Z2TAP.js → chunk-5UKIZIO3.js} +2 -2
  23. package/dist/{chunk-QHJKK77B.js → chunk-5W5CEHLA.js} +6 -6
  24. package/dist/{chunk-YPSOHDNC.js → chunk-65ZYRK7O.js} +2 -2
  25. package/dist/{chunk-4ZPE6SKS.js → chunk-75WNTBZL.js} +3 -3
  26. package/dist/{chunk-H4M7ADXY.js → chunk-7PC3DRG7.js} +27 -17
  27. package/dist/chunk-7PC3DRG7.js.map +1 -0
  28. package/dist/{chunk-OWLVBOWO.js → chunk-7XT7KZTN.js} +10 -10
  29. package/dist/{chunk-QI5NWLVW.js → chunk-AHIIBDNH.js} +7 -7
  30. package/dist/{chunk-XSN63FUS.js → chunk-AW4KTQA4.js} +2 -2
  31. package/dist/{chunk-KDJGJR7F.js → chunk-CWFH36SI.js} +2 -2
  32. package/dist/{chunk-X67FCULK.js → chunk-DIVY2CJZ.js} +3 -3
  33. package/dist/{chunk-Z2PWOSCJ.js → chunk-DNMTN46H.js} +2 -2
  34. package/dist/{chunk-2LPVI4PX.js → chunk-DOPZWTMJ.js} +20 -8
  35. package/dist/chunk-DOPZWTMJ.js.map +1 -0
  36. package/dist/{chunk-HTGRQZFB.js → chunk-DZPMKY3J.js} +3 -3
  37. package/dist/{chunk-XJ3FEKEY.js → chunk-FKQCC4C5.js} +2 -2
  38. package/dist/{chunk-E6YA6UAP.js → chunk-FLRLZ4XZ.js} +2 -2
  39. package/dist/{chunk-ALUNQEBY.js → chunk-FN26SFGH.js} +2 -2
  40. package/dist/{chunk-TVIFAHZR.js → chunk-FPN5D4JX.js} +6 -6
  41. package/dist/{chunk-VTG7327U.js → chunk-FRIVOR5N.js} +4 -4
  42. package/dist/{chunk-3QARDAYW.js → chunk-FYT3DXPN.js} +2 -2
  43. package/dist/{chunk-YMLQBZFJ.js → chunk-FZWAGG5T.js} +6 -6
  44. package/dist/{chunk-CBRS2NEK.js → chunk-GHADG5QZ.js} +2 -2
  45. package/dist/{chunk-3L2MVE36.js → chunk-GKOJR53Y.js} +5 -5
  46. package/dist/{chunk-Y6GZ2P4M.js → chunk-GM4IM7TC.js} +2 -2
  47. package/dist/{chunk-CN6B5PEN.js → chunk-H5GVPOB4.js} +5 -5
  48. package/dist/{chunk-467SKJ65.js → chunk-HOIWW2LV.js} +4 -4
  49. package/dist/{chunk-ALB64CZM.js → chunk-HS3LEVT4.js} +7 -7
  50. package/dist/{chunk-YXA2TCTZ.js → chunk-I5LSKXT6.js} +4 -4
  51. package/dist/{chunk-S35S77YU.js → chunk-IAHDSFFA.js} +10 -10
  52. package/dist/{chunk-X62MEF2O.js → chunk-IRHIA3AL.js} +3 -3
  53. package/dist/{chunk-F23WQK3G.js → chunk-IS5LFHV2.js} +7 -7
  54. package/dist/{chunk-POS53FG6.js → chunk-IZTU6RKH.js} +2 -2
  55. package/dist/{chunk-VAG47QHV.js → chunk-J6FXVDKC.js} +2 -2
  56. package/dist/{chunk-2GXEQUEX.js → chunk-JFSUYGNE.js} +2 -2
  57. package/dist/{chunk-LR4Z47QD.js → chunk-JILOSL4O.js} +3 -3
  58. package/dist/{chunk-RC4BROYR.js → chunk-JRWLUWDM.js} +3 -3
  59. package/dist/{chunk-Z2WK53N6.js → chunk-JUBWUJY5.js} +2 -2
  60. package/dist/{chunk-JVLSU7S2.js → chunk-JY4U6CYV.js} +2 -2
  61. package/dist/{chunk-3SMSERQU.js → chunk-KKZPQLDH.js} +80 -80
  62. package/dist/{chunk-WLLUM35R.js → chunk-KQIDBIZL.js} +2 -2
  63. package/dist/{chunk-LKFKXS5K.js → chunk-KZTPL7NL.js} +2 -2
  64. package/dist/{chunk-S2VG3ABP.js → chunk-LAI7ENPW.js} +3 -3
  65. package/dist/{chunk-ZO252Q5S.js → chunk-LUVGSKXE.js} +6 -6
  66. package/dist/{chunk-PGFKIOR3.js → chunk-MENI33ZV.js} +3 -3
  67. package/dist/{chunk-MTBXJAS4.js → chunk-MOQ6OGKS.js} +4 -4
  68. package/dist/{chunk-5ACAVJUI.js → chunk-MTTPHBIE.js} +2 -2
  69. package/dist/{chunk-T3PHCEN4.js → chunk-MU74BYOD.js} +3 -3
  70. package/dist/{chunk-DFAUMLD7.js → chunk-MV2OEK3K.js} +5 -5
  71. package/dist/{chunk-RK7N4OQ5.js → chunk-N4CHCXDL.js} +3 -1
  72. package/dist/chunk-N4CHCXDL.js.map +1 -0
  73. package/dist/{chunk-LF6DMX4C.js → chunk-NMDMSHBF.js} +3 -3
  74. package/dist/{chunk-H3VG6XBC.js → chunk-NUXTUGAD.js} +15 -13
  75. package/dist/chunk-NUXTUGAD.js.map +1 -0
  76. package/dist/{chunk-225O5CXQ.js → chunk-O3SNM66K.js} +2 -2
  77. package/dist/{chunk-YCSM3GZU.js → chunk-OEJ4R52I.js} +2 -2
  78. package/dist/{chunk-IESNYJXZ.js → chunk-OKCQNMO6.js} +6 -6
  79. package/dist/{chunk-H36KSN6X.js → chunk-OLUTCM23.js} +7 -7
  80. package/dist/{chunk-RDHUZ674.js → chunk-OQDHIAR2.js} +4 -4
  81. package/dist/{chunk-KN4W2OQ4.js → chunk-OXZSMX2H.js} +10 -8
  82. package/dist/{chunk-KN4W2OQ4.js.map → chunk-OXZSMX2H.js.map} +1 -1
  83. package/dist/{chunk-DKWPJOYH.js → chunk-P22XPNFW.js} +2 -2
  84. package/dist/{chunk-GK4DRVUD.js → chunk-P2RJAVMR.js} +4 -4
  85. package/dist/{chunk-UCUALOSM.js → chunk-P7KJME6C.js} +2 -2
  86. package/dist/{chunk-HM4JSXX2.js → chunk-PCIBCL26.js} +3 -3
  87. package/dist/{chunk-4A4TYISP.js → chunk-PV7XXAXK.js} +2 -2
  88. package/dist/{chunk-5AFMP532.js → chunk-Q2OAAREU.js} +6 -6
  89. package/dist/{chunk-Z7ZXZL6Y.js → chunk-Q2ZN5DWZ.js} +2 -2
  90. package/dist/{chunk-L6GTLZRK.js → chunk-QJLOWGOU.js} +5 -5
  91. package/dist/{chunk-7LYUJNU3.js → chunk-QOHGWFAW.js} +2 -2
  92. package/dist/{chunk-6FOGTKBY.js → chunk-RCONOOVF.js} +5 -5
  93. package/dist/{chunk-VFIWDPXZ.js → chunk-RPX2H2OL.js} +3 -3
  94. package/dist/{chunk-JBIV4FLR.js → chunk-SW4TOSJL.js} +5 -1
  95. package/dist/chunk-SW4TOSJL.js.map +1 -0
  96. package/dist/{chunk-PCQDY6QN.js → chunk-SWFIXQF5.js} +6 -6
  97. package/dist/{chunk-ISSU3OH6.js → chunk-T66OY2U5.js} +7 -7
  98. package/dist/{chunk-6EW2UCVF.js → chunk-TAJZ7GXO.js} +3 -3
  99. package/dist/{chunk-57JTHWLQ.js → chunk-TQGT5BZE.js} +4 -4
  100. package/dist/{chunk-TOV6VMHF.js → chunk-U3RMWOXY.js} +3 -3
  101. package/dist/{chunk-PUJTKLPL.js → chunk-UL7TLJ54.js} +3 -3
  102. package/dist/{chunk-W5LHQXZU.js → chunk-USKHHOIV.js} +2 -2
  103. package/dist/{chunk-J4MN6XIU.js → chunk-UTFY6W6X.js} +2 -2
  104. package/dist/{chunk-P6ASQOZR.js → chunk-VT4DTCK5.js} +2 -2
  105. package/dist/{chunk-A2YW5EMU.js → chunk-X6YRP5EC.js} +5 -5
  106. package/dist/{chunk-FOG7YEJP.js → chunk-XGXVPCYW.js} +3 -3
  107. package/dist/{chunk-5263OEM3.js → chunk-XJP66QEN.js} +2 -2
  108. package/dist/{chunk-5W7YXFV5.js → chunk-XJTGBHK6.js} +67 -22
  109. package/dist/chunk-XJTGBHK6.js.map +1 -0
  110. package/dist/{chunk-OPXR4PB2.js → chunk-XKA6UH5V.js} +2 -2
  111. package/dist/{chunk-XDVVBETV.js → chunk-YHIAWECL.js} +2 -2
  112. package/dist/{chunk-J4UJ5FRV.js → chunk-Z277MC2O.js} +4 -4
  113. package/dist/{chunk-F7ZFRPGQ.js → chunk-ZB2K3FV7.js} +2 -2
  114. package/dist/{chunk-NLKLXXTO.js → chunk-ZQGRZN5L.js} +2 -2
  115. package/dist/classified/index.js +5 -5
  116. package/dist/{classified-marker-BSQHU4JT.js → classified-marker-R37XW5PC.js} +3 -3
  117. package/dist/collection-facade-OPJ3EC4L.js +45 -0
  118. package/dist/{computed-ASBNTLOK.js → computed-HW6IG5UH.js} +3 -3
  119. package/dist/consent/index.js +9 -9
  120. package/dist/cover/index.js +9 -9
  121. package/dist/custody/index.js +12 -12
  122. package/dist/{dead-filter-QKU56XTQ.js → dead-filter-GRT6RAML.js} +2 -2
  123. package/dist/debug/index.js +1 -1
  124. package/dist/{delegation-XWRPYODW.js → delegation-6QRAYSK6.js} +11 -11
  125. package/dist/derivations/index.js +12 -12
  126. package/dist/derive-AAIXSQIE.js +22 -0
  127. package/dist/directory/index.js +10 -10
  128. package/dist/{dispatch-4AP4PUZU.js → dispatch-DR3XITEC.js} +18 -18
  129. package/dist/{dispatch-VR4LRXZ7.js → dispatch-QCF7KPIP.js} +5 -5
  130. package/dist/{enclave-NYPT7WA7.js → enclave-OXZY3NOP.js} +9 -9
  131. package/dist/executor-67NA4KPO.js +29 -0
  132. package/dist/executor-7JDP7UBK.js +9 -0
  133. package/dist/executor-CRH5OB4V.js +9 -0
  134. package/dist/export-accessible-K4GJAU7U.js +23 -0
  135. package/dist/extract-partition-YJFL5OKK.js +38 -0
  136. package/dist/{fanout-sidecar-IWP3R4RC.js → fanout-sidecar-KGQCUJ7P.js} +9 -9
  137. package/dist/find-SVZHMEQI.js +11 -0
  138. package/dist/forget/index.js +9 -9
  139. package/dist/guards/index.js +4 -4
  140. package/dist/history/index.js +13 -13
  141. package/dist/i18n/index.js +14 -14
  142. package/dist/index.d.ts +13 -1
  143. package/dist/index.js +98 -92
  144. package/dist/index.js.map +1 -1
  145. package/dist/indexing/index.js +2 -2
  146. package/dist/introspection/index.js +11 -11
  147. package/dist/issue-64N6OG7U.js +19 -0
  148. package/dist/kernel/errors.d.ts +17 -0
  149. package/dist/kernel/types.d.ts +75 -0
  150. package/dist/{ledger-T5K4P2D7.js → ledger-ZAFULLAF.js} +11 -11
  151. package/dist/liberate-QAUKHU6W.js +25 -0
  152. package/dist/{link-set-76JZ6YB4.js → link-set-LQI2IJX6.js} +11 -11
  153. package/dist/{managed-secret-6YC32VXG.js → managed-secret-7OH7HKXV.js} +10 -10
  154. package/dist/materialized-views/index.js +20 -20
  155. package/dist/{migrate-cek-LBRKYUZZ.js → migrate-cek-QHZ75E6E.js} +2 -2
  156. package/dist/money/index.js +4 -4
  157. package/dist/noydb-ZUS5XAFT.js +86 -0
  158. package/dist/overlay-views/index.js +4 -4
  159. package/dist/periods/index.js +12 -12
  160. package/dist/pod/index.js +57 -57
  161. package/dist/{pod-handle-P6DPBM5U.js → pod-handle-BLOI4IFY.js} +9 -9
  162. package/dist/policy/index.js +10 -10
  163. package/dist/port/to/index.d.ts +2 -0
  164. package/dist/portability/index.js +8 -8
  165. package/dist/{post-register-53O7AJRZ.js → post-register-R33EKJQR.js} +6 -6
  166. package/dist/query/index.js +3 -3
  167. package/dist/reduce/index.js +4 -4
  168. package/dist/register-AYBQNTM3.js +32 -0
  169. package/dist/registry-CQWWOBO4.js +9 -0
  170. package/dist/registry-JCZ4BNLV.js +18 -0
  171. package/dist/registry-JFFENZ44.js +9 -0
  172. package/dist/registry-ZA4HACYR.js +19 -0
  173. package/dist/request-withdrawal-7IKUIAEB.js +31 -0
  174. package/dist/{reveal-XBIMHAXR.js → reveal-PI6ADRQU.js} +6 -6
  175. package/dist/revoke-PUJKRYJF.js +24 -0
  176. package/dist/satellites/index.js +1 -1
  177. package/dist/schema-update/index.js +2 -2
  178. package/dist/sealed-record/index.js +12 -12
  179. package/dist/search/index.js +4 -4
  180. package/dist/{seed-NSNIGYXE.js → seed-MCCGVPRI.js} +12 -12
  181. package/dist/sequence/index.js +9 -9
  182. package/dist/session/index.js +9 -9
  183. package/dist/shadow/index.js +2 -2
  184. package/dist/signer-5TA7FUC3.js +25 -0
  185. package/dist/snapshots/index.js +10 -10
  186. package/dist/{stale-MCS46TFO.js → stale-HZR7745Y.js} +10 -10
  187. package/dist/storage-J2QHNJCB.js +23 -0
  188. package/dist/{store-coordination-provider-6FM26VQM.js → store-coordination-provider-MYIHSZXT.js} +10 -10
  189. package/dist/sync/index.js +10 -10
  190. package/dist/team/index.js +15 -15
  191. package/dist/tiers/index.js +11 -11
  192. package/dist/to/index.js +8 -2
  193. package/dist/to/index.js.map +1 -1
  194. package/dist/transactions/index.js +3 -3
  195. package/dist/util/index.js +1 -1
  196. package/dist/vault-head/index.js +8 -8
  197. package/dist/{verify-WYOFLSNA.js → verify-R6CCBUA3.js} +5 -5
  198. package/dist/walk-3PA4ZOKS.js +21 -0
  199. package/dist/with-cargo/index.d.ts +1 -0
  200. package/dist/with-party/team/roster-epoch.d.ts +71 -0
  201. package/dist/with-party/team/roster-tag.d.ts +1 -1
  202. package/dist/withdraw-accessible-62VI4W7D.js +28 -0
  203. package/package.json +3 -3
  204. package/dist/api-EQYRTZO2.js +0 -20
  205. package/dist/chunk-2LPVI4PX.js.map +0 -1
  206. package/dist/chunk-5W7YXFV5.js.map +0 -1
  207. package/dist/chunk-H3VG6XBC.js.map +0 -1
  208. package/dist/chunk-H4M7ADXY.js.map +0 -1
  209. package/dist/chunk-JBIV4FLR.js.map +0 -1
  210. package/dist/chunk-RK7N4OQ5.js.map +0 -1
  211. package/dist/collection-facade-LG3NYZVB.js +0 -45
  212. package/dist/derive-CXHCY46K.js +0 -22
  213. package/dist/executor-3KFRQETS.js +0 -29
  214. package/dist/executor-AFHQYRAU.js +0 -9
  215. package/dist/executor-YYDW6XQI.js +0 -9
  216. package/dist/export-accessible-BX2ILB4C.js +0 -23
  217. package/dist/extract-partition-UPOVITFI.js +0 -38
  218. package/dist/find-SZBL2HPB.js +0 -11
  219. package/dist/issue-G53NB6EW.js +0 -19
  220. package/dist/liberate-VEOZRESE.js +0 -25
  221. package/dist/noydb-4VV2ZGLZ.js +0 -86
  222. package/dist/register-6TCBR6XD.js +0 -32
  223. package/dist/registry-DH2L4O2V.js +0 -18
  224. package/dist/registry-IWFMXCHX.js +0 -9
  225. package/dist/registry-Q3FG3OAX.js +0 -9
  226. package/dist/registry-YC3IFG3A.js +0 -19
  227. package/dist/request-withdrawal-NM5VYR6F.js +0 -31
  228. package/dist/revoke-MJNYWO72.js +0 -24
  229. package/dist/signer-6XVS2AU3.js +0 -25
  230. package/dist/storage-ZXUT476I.js +0 -23
  231. package/dist/walk-JNEOYCAU.js +0 -21
  232. package/dist/withdraw-accessible-ILTSXTIE.js +0 -28
  233. /package/dist/{api-EQYRTZO2.js.map → api-GJQF7OAJ.js.map} +0 -0
  234. /package/dist/{backup-Z7ZBTAQ6.js.map → backup-QZQEP5RO.js.map} +0 -0
  235. /package/dist/{chunk-AB5P32RE.js.map → chunk-2DGBRE4K.js.map} +0 -0
  236. /package/dist/{chunk-XVU7J43V.js.map → chunk-2E2LT37H.js.map} +0 -0
  237. /package/dist/{chunk-4LPF226H.js.map → chunk-2MQ2D5OZ.js.map} +0 -0
  238. /package/dist/{chunk-DBNYPLWY.js.map → chunk-357ECVLE.js.map} +0 -0
  239. /package/dist/{chunk-SHILAQH5.js.map → chunk-3GIA3HJ2.js.map} +0 -0
  240. /package/dist/{chunk-QGJ4XIA7.js.map → chunk-3SWP2FYA.js.map} +0 -0
  241. /package/dist/{chunk-N4CNVSUF.js.map → chunk-4RUFYGWG.js.map} +0 -0
  242. /package/dist/{chunk-4G25SDQL.js.map → chunk-4U52PMEL.js.map} +0 -0
  243. /package/dist/{chunk-H7HP56F6.js.map → chunk-5EC7X5QA.js.map} +0 -0
  244. /package/dist/{chunk-WK5FSW7T.js.map → chunk-5NKHCJU5.js.map} +0 -0
  245. /package/dist/{chunk-PQ6Z2TAP.js.map → chunk-5UKIZIO3.js.map} +0 -0
  246. /package/dist/{chunk-QHJKK77B.js.map → chunk-5W5CEHLA.js.map} +0 -0
  247. /package/dist/{chunk-YPSOHDNC.js.map → chunk-65ZYRK7O.js.map} +0 -0
  248. /package/dist/{chunk-4ZPE6SKS.js.map → chunk-75WNTBZL.js.map} +0 -0
  249. /package/dist/{chunk-OWLVBOWO.js.map → chunk-7XT7KZTN.js.map} +0 -0
  250. /package/dist/{chunk-QI5NWLVW.js.map → chunk-AHIIBDNH.js.map} +0 -0
  251. /package/dist/{chunk-XSN63FUS.js.map → chunk-AW4KTQA4.js.map} +0 -0
  252. /package/dist/{chunk-KDJGJR7F.js.map → chunk-CWFH36SI.js.map} +0 -0
  253. /package/dist/{chunk-X67FCULK.js.map → chunk-DIVY2CJZ.js.map} +0 -0
  254. /package/dist/{chunk-Z2PWOSCJ.js.map → chunk-DNMTN46H.js.map} +0 -0
  255. /package/dist/{chunk-HTGRQZFB.js.map → chunk-DZPMKY3J.js.map} +0 -0
  256. /package/dist/{chunk-XJ3FEKEY.js.map → chunk-FKQCC4C5.js.map} +0 -0
  257. /package/dist/{chunk-E6YA6UAP.js.map → chunk-FLRLZ4XZ.js.map} +0 -0
  258. /package/dist/{chunk-ALUNQEBY.js.map → chunk-FN26SFGH.js.map} +0 -0
  259. /package/dist/{chunk-TVIFAHZR.js.map → chunk-FPN5D4JX.js.map} +0 -0
  260. /package/dist/{chunk-VTG7327U.js.map → chunk-FRIVOR5N.js.map} +0 -0
  261. /package/dist/{chunk-3QARDAYW.js.map → chunk-FYT3DXPN.js.map} +0 -0
  262. /package/dist/{chunk-YMLQBZFJ.js.map → chunk-FZWAGG5T.js.map} +0 -0
  263. /package/dist/{chunk-CBRS2NEK.js.map → chunk-GHADG5QZ.js.map} +0 -0
  264. /package/dist/{chunk-3L2MVE36.js.map → chunk-GKOJR53Y.js.map} +0 -0
  265. /package/dist/{chunk-Y6GZ2P4M.js.map → chunk-GM4IM7TC.js.map} +0 -0
  266. /package/dist/{chunk-CN6B5PEN.js.map → chunk-H5GVPOB4.js.map} +0 -0
  267. /package/dist/{chunk-467SKJ65.js.map → chunk-HOIWW2LV.js.map} +0 -0
  268. /package/dist/{chunk-ALB64CZM.js.map → chunk-HS3LEVT4.js.map} +0 -0
  269. /package/dist/{chunk-YXA2TCTZ.js.map → chunk-I5LSKXT6.js.map} +0 -0
  270. /package/dist/{chunk-S35S77YU.js.map → chunk-IAHDSFFA.js.map} +0 -0
  271. /package/dist/{chunk-X62MEF2O.js.map → chunk-IRHIA3AL.js.map} +0 -0
  272. /package/dist/{chunk-F23WQK3G.js.map → chunk-IS5LFHV2.js.map} +0 -0
  273. /package/dist/{chunk-POS53FG6.js.map → chunk-IZTU6RKH.js.map} +0 -0
  274. /package/dist/{chunk-VAG47QHV.js.map → chunk-J6FXVDKC.js.map} +0 -0
  275. /package/dist/{chunk-2GXEQUEX.js.map → chunk-JFSUYGNE.js.map} +0 -0
  276. /package/dist/{chunk-LR4Z47QD.js.map → chunk-JILOSL4O.js.map} +0 -0
  277. /package/dist/{chunk-RC4BROYR.js.map → chunk-JRWLUWDM.js.map} +0 -0
  278. /package/dist/{chunk-Z2WK53N6.js.map → chunk-JUBWUJY5.js.map} +0 -0
  279. /package/dist/{chunk-JVLSU7S2.js.map → chunk-JY4U6CYV.js.map} +0 -0
  280. /package/dist/{chunk-3SMSERQU.js.map → chunk-KKZPQLDH.js.map} +0 -0
  281. /package/dist/{chunk-WLLUM35R.js.map → chunk-KQIDBIZL.js.map} +0 -0
  282. /package/dist/{chunk-LKFKXS5K.js.map → chunk-KZTPL7NL.js.map} +0 -0
  283. /package/dist/{chunk-S2VG3ABP.js.map → chunk-LAI7ENPW.js.map} +0 -0
  284. /package/dist/{chunk-ZO252Q5S.js.map → chunk-LUVGSKXE.js.map} +0 -0
  285. /package/dist/{chunk-PGFKIOR3.js.map → chunk-MENI33ZV.js.map} +0 -0
  286. /package/dist/{chunk-MTBXJAS4.js.map → chunk-MOQ6OGKS.js.map} +0 -0
  287. /package/dist/{chunk-5ACAVJUI.js.map → chunk-MTTPHBIE.js.map} +0 -0
  288. /package/dist/{chunk-T3PHCEN4.js.map → chunk-MU74BYOD.js.map} +0 -0
  289. /package/dist/{chunk-DFAUMLD7.js.map → chunk-MV2OEK3K.js.map} +0 -0
  290. /package/dist/{chunk-LF6DMX4C.js.map → chunk-NMDMSHBF.js.map} +0 -0
  291. /package/dist/{chunk-225O5CXQ.js.map → chunk-O3SNM66K.js.map} +0 -0
  292. /package/dist/{chunk-YCSM3GZU.js.map → chunk-OEJ4R52I.js.map} +0 -0
  293. /package/dist/{chunk-IESNYJXZ.js.map → chunk-OKCQNMO6.js.map} +0 -0
  294. /package/dist/{chunk-H36KSN6X.js.map → chunk-OLUTCM23.js.map} +0 -0
  295. /package/dist/{chunk-RDHUZ674.js.map → chunk-OQDHIAR2.js.map} +0 -0
  296. /package/dist/{chunk-DKWPJOYH.js.map → chunk-P22XPNFW.js.map} +0 -0
  297. /package/dist/{chunk-GK4DRVUD.js.map → chunk-P2RJAVMR.js.map} +0 -0
  298. /package/dist/{chunk-UCUALOSM.js.map → chunk-P7KJME6C.js.map} +0 -0
  299. /package/dist/{chunk-HM4JSXX2.js.map → chunk-PCIBCL26.js.map} +0 -0
  300. /package/dist/{chunk-4A4TYISP.js.map → chunk-PV7XXAXK.js.map} +0 -0
  301. /package/dist/{chunk-5AFMP532.js.map → chunk-Q2OAAREU.js.map} +0 -0
  302. /package/dist/{chunk-Z7ZXZL6Y.js.map → chunk-Q2ZN5DWZ.js.map} +0 -0
  303. /package/dist/{chunk-L6GTLZRK.js.map → chunk-QJLOWGOU.js.map} +0 -0
  304. /package/dist/{chunk-7LYUJNU3.js.map → chunk-QOHGWFAW.js.map} +0 -0
  305. /package/dist/{chunk-6FOGTKBY.js.map → chunk-RCONOOVF.js.map} +0 -0
  306. /package/dist/{chunk-VFIWDPXZ.js.map → chunk-RPX2H2OL.js.map} +0 -0
  307. /package/dist/{chunk-PCQDY6QN.js.map → chunk-SWFIXQF5.js.map} +0 -0
  308. /package/dist/{chunk-ISSU3OH6.js.map → chunk-T66OY2U5.js.map} +0 -0
  309. /package/dist/{chunk-6EW2UCVF.js.map → chunk-TAJZ7GXO.js.map} +0 -0
  310. /package/dist/{chunk-57JTHWLQ.js.map → chunk-TQGT5BZE.js.map} +0 -0
  311. /package/dist/{chunk-TOV6VMHF.js.map → chunk-U3RMWOXY.js.map} +0 -0
  312. /package/dist/{chunk-PUJTKLPL.js.map → chunk-UL7TLJ54.js.map} +0 -0
  313. /package/dist/{chunk-W5LHQXZU.js.map → chunk-USKHHOIV.js.map} +0 -0
  314. /package/dist/{chunk-J4MN6XIU.js.map → chunk-UTFY6W6X.js.map} +0 -0
  315. /package/dist/{chunk-P6ASQOZR.js.map → chunk-VT4DTCK5.js.map} +0 -0
  316. /package/dist/{chunk-A2YW5EMU.js.map → chunk-X6YRP5EC.js.map} +0 -0
  317. /package/dist/{chunk-FOG7YEJP.js.map → chunk-XGXVPCYW.js.map} +0 -0
  318. /package/dist/{chunk-5263OEM3.js.map → chunk-XJP66QEN.js.map} +0 -0
  319. /package/dist/{chunk-OPXR4PB2.js.map → chunk-XKA6UH5V.js.map} +0 -0
  320. /package/dist/{chunk-XDVVBETV.js.map → chunk-YHIAWECL.js.map} +0 -0
  321. /package/dist/{chunk-J4UJ5FRV.js.map → chunk-Z277MC2O.js.map} +0 -0
  322. /package/dist/{chunk-F7ZFRPGQ.js.map → chunk-ZB2K3FV7.js.map} +0 -0
  323. /package/dist/{chunk-NLKLXXTO.js.map → chunk-ZQGRZN5L.js.map} +0 -0
  324. /package/dist/{classified-marker-BSQHU4JT.js.map → classified-marker-R37XW5PC.js.map} +0 -0
  325. /package/dist/{collection-facade-LG3NYZVB.js.map → collection-facade-OPJ3EC4L.js.map} +0 -0
  326. /package/dist/{computed-ASBNTLOK.js.map → computed-HW6IG5UH.js.map} +0 -0
  327. /package/dist/{dead-filter-QKU56XTQ.js.map → dead-filter-GRT6RAML.js.map} +0 -0
  328. /package/dist/{delegation-XWRPYODW.js.map → delegation-6QRAYSK6.js.map} +0 -0
  329. /package/dist/{derive-CXHCY46K.js.map → derive-AAIXSQIE.js.map} +0 -0
  330. /package/dist/{dispatch-4AP4PUZU.js.map → dispatch-DR3XITEC.js.map} +0 -0
  331. /package/dist/{dispatch-VR4LRXZ7.js.map → dispatch-QCF7KPIP.js.map} +0 -0
  332. /package/dist/{enclave-NYPT7WA7.js.map → enclave-OXZY3NOP.js.map} +0 -0
  333. /package/dist/{executor-3KFRQETS.js.map → executor-67NA4KPO.js.map} +0 -0
  334. /package/dist/{executor-AFHQYRAU.js.map → executor-7JDP7UBK.js.map} +0 -0
  335. /package/dist/{executor-YYDW6XQI.js.map → executor-CRH5OB4V.js.map} +0 -0
  336. /package/dist/{export-accessible-BX2ILB4C.js.map → export-accessible-K4GJAU7U.js.map} +0 -0
  337. /package/dist/{extract-partition-UPOVITFI.js.map → extract-partition-YJFL5OKK.js.map} +0 -0
  338. /package/dist/{fanout-sidecar-IWP3R4RC.js.map → fanout-sidecar-KGQCUJ7P.js.map} +0 -0
  339. /package/dist/{find-SZBL2HPB.js.map → find-SVZHMEQI.js.map} +0 -0
  340. /package/dist/{issue-G53NB6EW.js.map → issue-64N6OG7U.js.map} +0 -0
  341. /package/dist/{ledger-T5K4P2D7.js.map → ledger-ZAFULLAF.js.map} +0 -0
  342. /package/dist/{liberate-VEOZRESE.js.map → liberate-QAUKHU6W.js.map} +0 -0
  343. /package/dist/{link-set-76JZ6YB4.js.map → link-set-LQI2IJX6.js.map} +0 -0
  344. /package/dist/{managed-secret-6YC32VXG.js.map → managed-secret-7OH7HKXV.js.map} +0 -0
  345. /package/dist/{migrate-cek-LBRKYUZZ.js.map → migrate-cek-QHZ75E6E.js.map} +0 -0
  346. /package/dist/{noydb-4VV2ZGLZ.js.map → noydb-ZUS5XAFT.js.map} +0 -0
  347. /package/dist/{pod-handle-P6DPBM5U.js.map → pod-handle-BLOI4IFY.js.map} +0 -0
  348. /package/dist/{post-register-53O7AJRZ.js.map → post-register-R33EKJQR.js.map} +0 -0
  349. /package/dist/{register-6TCBR6XD.js.map → register-AYBQNTM3.js.map} +0 -0
  350. /package/dist/{registry-DH2L4O2V.js.map → registry-CQWWOBO4.js.map} +0 -0
  351. /package/dist/{registry-IWFMXCHX.js.map → registry-JCZ4BNLV.js.map} +0 -0
  352. /package/dist/{registry-Q3FG3OAX.js.map → registry-JFFENZ44.js.map} +0 -0
  353. /package/dist/{registry-YC3IFG3A.js.map → registry-ZA4HACYR.js.map} +0 -0
  354. /package/dist/{request-withdrawal-NM5VYR6F.js.map → request-withdrawal-7IKUIAEB.js.map} +0 -0
  355. /package/dist/{reveal-XBIMHAXR.js.map → reveal-PI6ADRQU.js.map} +0 -0
  356. /package/dist/{revoke-MJNYWO72.js.map → revoke-PUJKRYJF.js.map} +0 -0
  357. /package/dist/{seed-NSNIGYXE.js.map → seed-MCCGVPRI.js.map} +0 -0
  358. /package/dist/{signer-6XVS2AU3.js.map → signer-5TA7FUC3.js.map} +0 -0
  359. /package/dist/{stale-MCS46TFO.js.map → stale-HZR7745Y.js.map} +0 -0
  360. /package/dist/{storage-ZXUT476I.js.map → storage-J2QHNJCB.js.map} +0 -0
  361. /package/dist/{store-coordination-provider-6FM26VQM.js.map → store-coordination-provider-MYIHSZXT.js.map} +0 -0
  362. /package/dist/{verify-WYOFLSNA.js.map → verify-R6CCBUA3.js.map} +0 -0
  363. /package/dist/{walk-JNEOYCAU.js.map → walk-3PA4ZOKS.js.map} +0 -0
  364. /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
- - **Zero runtime dependencies**
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-HM4JSXX2.js";
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-P6ASQOZR.js";
7
+ import "../chunk-VT4DTCK5.js";
8
8
  import "../chunk-Y2NBBT6K.js";
9
- import "../chunk-YXA2TCTZ.js";
10
- import "../chunk-2LPVI4PX.js";
11
- import "../chunk-N4CNVSUF.js";
12
- import "../chunk-FOG7YEJP.js";
13
- import "../chunk-KDJGJR7F.js";
14
- import "../chunk-LKFKXS5K.js";
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-W5LHQXZU.js";
17
- import "../chunk-RK7N4OQ5.js";
16
+ import "../chunk-USKHHOIV.js";
17
+ import "../chunk-N4CHCXDL.js";
18
18
  import {
19
19
  ValidationError
20
- } from "../chunk-JBIV4FLR.js";
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-Z2WK53N6.js";
7
- import "../chunk-2LPVI4PX.js";
8
- import "../chunk-N4CNVSUF.js";
9
- import "../chunk-FOG7YEJP.js";
10
- import "../chunk-KDJGJR7F.js";
11
- import "../chunk-LKFKXS5K.js";
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-W5LHQXZU.js";
14
- import "../chunk-RK7N4OQ5.js";
15
- import "../chunk-JBIV4FLR.js";
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-ZO252Q5S.js";
3
+ } from "../chunk-LUVGSKXE.js";
4
4
  import {
5
5
  getRevokedDocIdsCore,
6
6
  publishRevocationListCore,
7
7
  revokeDocCore,
8
8
  unrevokeDocCore
9
- } from "../chunk-TVIFAHZR.js";
9
+ } from "../chunk-FPN5D4JX.js";
10
10
  import {
11
11
  ATTESTATIONS_COLLECTION
12
- } from "../chunk-3L2MVE36.js";
12
+ } from "../chunk-GKOJR53Y.js";
13
13
  import {
14
14
  NO_ATTESTATION
15
- } from "../chunk-E6YA6UAP.js";
15
+ } from "../chunk-FLRLZ4XZ.js";
16
16
  import "../chunk-4AOERLTV.js";
17
- import "../chunk-2LPVI4PX.js";
18
- import "../chunk-N4CNVSUF.js";
19
- import "../chunk-FOG7YEJP.js";
20
- import "../chunk-KDJGJR7F.js";
21
- import "../chunk-LKFKXS5K.js";
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-W5LHQXZU.js";
24
- import "../chunk-RK7N4OQ5.js";
23
+ import "../chunk-USKHHOIV.js";
24
+ import "../chunk-N4CHCXDL.js";
25
25
  import {
26
26
  AttestationError,
27
27
  AttestationNotEnabledError
28
- } from "../chunk-JBIV4FLR.js";
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-G53NB6EW.js");
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-6XVS2AU3.js");
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-MJNYWO72.js");
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-MJNYWO72.js");
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-MJNYWO72.js");
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-MJNYWO72.js");
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-YXA2TCTZ.js";
6
+ } from "./chunk-I5LSKXT6.js";
7
7
  import {
8
8
  SEQUENCE_COLLECTION
9
- } from "./chunk-CN6B5PEN.js";
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-Z7ZXZL6Y.js";
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-2LPVI4PX.js";
21
+ import "./chunk-DOPZWTMJ.js";
22
22
  import {
23
23
  buildRecordEnvelope
24
- } from "./chunk-N4CNVSUF.js";
25
- import "./chunk-FOG7YEJP.js";
26
- import "./chunk-KDJGJR7F.js";
27
- import "./chunk-LKFKXS5K.js";
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-W5LHQXZU.js";
29
+ import "./chunk-USKHHOIV.js";
30
30
  import {
31
31
  NOYDB_BACKUP_VERSION
32
- } from "./chunk-RK7N4OQ5.js";
32
+ } from "./chunk-N4CHCXDL.js";
33
33
  import {
34
34
  BackupCorruptedError,
35
35
  BackupLedgerError
36
- } from "./chunk-JBIV4FLR.js";
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-Z7ZBTAQ6.js.map
265
+ //# sourceMappingURL=backup-QZQEP5RO.js.map
@@ -10,7 +10,7 @@ import {
10
10
  createExportBlobsHandle,
11
11
  reportOrphanBlobChunks,
12
12
  runCompaction
13
- } from "../chunk-F23WQK3G.js";
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-ALB64CZM.js";
29
- import "../chunk-XDVVBETV.js";
30
- import "../chunk-HTGRQZFB.js";
31
- import "../chunk-POS53FG6.js";
32
- import "../chunk-2LPVI4PX.js";
33
- import "../chunk-N4CNVSUF.js";
34
- import "../chunk-FOG7YEJP.js";
35
- import "../chunk-KDJGJR7F.js";
36
- import "../chunk-LKFKXS5K.js";
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-W5LHQXZU.js";
39
- import "../chunk-RK7N4OQ5.js";
38
+ import "../chunk-USKHHOIV.js";
39
+ import "../chunk-N4CHCXDL.js";
40
40
  import {
41
41
  BlobOfflineError
42
- } from "../chunk-JBIV4FLR.js";
42
+ } from "../chunk-SW4TOSJL.js";
43
43
  import "../chunk-PZ5AY32C.js";
44
44
 
45
45
  // src/via/blob/active.ts
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  NO_BROKER
3
- } from "../chunk-4A4TYISP.js";
3
+ } from "../chunk-PV7XXAXK.js";
4
4
  import {
5
5
  issueChallenge,
6
6
  verifyBrokerProof
7
- } from "../chunk-2LPVI4PX.js";
8
- import "../chunk-N4CNVSUF.js";
9
- import "../chunk-FOG7YEJP.js";
10
- import "../chunk-KDJGJR7F.js";
11
- import "../chunk-LKFKXS5K.js";
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-W5LHQXZU.js";
14
- import "../chunk-RK7N4OQ5.js";
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-JBIV4FLR.js";
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-NSNIGYXE.js");
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-NSNIGYXE.js");
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-NSNIGYXE.js");
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;
package/dist/by/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  isQuorum,
3
3
  runDrainBarrier
4
- } from "../chunk-CBRS2NEK.js";
5
- import "../chunk-JBIV4FLR.js";
4
+ } from "../chunk-GHADG5QZ.js";
5
+ import "../chunk-SW4TOSJL.js";
6
6
  import "../chunk-PZ5AY32C.js";
7
7
  export {
8
8
  isQuorum,