@noy-db/hub 0.6.0-pre.21 → 0.6.0-pre.23

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 (360) hide show
  1. package/CHANGELOG.md +238 -0
  2. package/dist/api-ETB5Y4DY.js +20 -0
  3. package/dist/attestation/index.js +16 -16
  4. package/dist/{backup-FSC36VWC.js → backup-UOLAXOJ4.js} +10 -10
  5. package/dist/blobs/index.js +20 -18
  6. package/dist/blobs/index.js.map +1 -1
  7. package/dist/broker/index.js +10 -10
  8. package/dist/cargo/index.js +28 -28
  9. package/dist/{chunk-3B6S6RSI.js → chunk-22VRCUV2.js} +2 -2
  10. package/dist/{chunk-ESKIAXO2.js → chunk-23ODLABM.js} +4 -4
  11. package/dist/{chunk-IJ46VCWD.js → chunk-2DHEBIJA.js} +2 -2
  12. package/dist/{chunk-TMBSPLUG.js → chunk-2LHPMFSR.js} +2 -2
  13. package/dist/{chunk-ONVD6GBY.js → chunk-2QN6NPV6.js} +2 -2
  14. package/dist/{chunk-NW4TY6VC.js → chunk-3UIS6O6N.js} +3 -3
  15. package/dist/{chunk-LXECF2ZR.js → chunk-3ZOER5GD.js} +6 -2
  16. package/dist/chunk-3ZOER5GD.js.map +1 -0
  17. package/dist/{chunk-EKEIEJL6.js → chunk-4UZDDS4S.js} +3 -3
  18. package/dist/{chunk-S56VYR4Q.js → chunk-5FRZ7YYU.js} +2 -2
  19. package/dist/{chunk-H3G4I3PN.js → chunk-5MU7PUNA.js} +2 -2
  20. package/dist/{chunk-NCCEDL2K.js → chunk-66X4XWTM.js} +6 -6
  21. package/dist/{chunk-TQPASLY4.js → chunk-6G4NORTR.js} +2 -2
  22. package/dist/{chunk-RKCRPPNB.js → chunk-6W3BZCW6.js} +3 -3
  23. package/dist/{chunk-DVRZYAGT.js → chunk-6ZN6X2LW.js} +4 -4
  24. package/dist/{chunk-PPCOKVFA.js → chunk-6ZTPSVY7.js} +2 -2
  25. package/dist/{chunk-MZTUTEHP.js → chunk-7DRKK5FQ.js} +3 -3
  26. package/dist/{chunk-GBBDFE6C.js → chunk-7LWBD3NO.js} +2 -2
  27. package/dist/{chunk-KX57HODD.js → chunk-7W765AVV.js} +6 -6
  28. package/dist/{chunk-LN7P6MZB.js → chunk-7ZPAL3F7.js} +2 -2
  29. package/dist/{chunk-CAGI4LLJ.js → chunk-AK6EWGDO.js} +5 -5
  30. package/dist/chunk-AK6EWGDO.js.map +1 -0
  31. package/dist/{chunk-CADUYBQD.js → chunk-ATL3ZVXT.js} +2 -2
  32. package/dist/{chunk-RSXQNFGO.js → chunk-ATSIGJRX.js} +2 -2
  33. package/dist/{chunk-MSLPDFK2.js → chunk-AZPPARMG.js} +6 -6
  34. package/dist/{chunk-NR2SUJ3H.js → chunk-B3X6S37C.js} +2 -2
  35. package/dist/{chunk-GWO2IDAB.js → chunk-BNGGSNO7.js} +2 -2
  36. package/dist/{chunk-JLYQQNY4.js → chunk-BYX3AUXH.js} +80 -22
  37. package/dist/chunk-BYX3AUXH.js.map +1 -0
  38. package/dist/{chunk-INMHEMXX.js → chunk-C7B3XUI4.js} +2 -2
  39. package/dist/{chunk-D3R7Q4QK.js → chunk-CJU3KXHJ.js} +2 -2
  40. package/dist/{chunk-RFO4UXKQ.js → chunk-CWYTN4IK.js} +5 -5
  41. package/dist/{chunk-HR5R5JOM.js → chunk-D5DZ4R7X.js} +2 -2
  42. package/dist/{chunk-6YD5SYQS.js → chunk-DEKA2MV3.js} +2 -2
  43. package/dist/{chunk-SYS46BL7.js → chunk-DG4KFJNA.js} +2 -2
  44. package/dist/{chunk-P2MR5UNE.js → chunk-DRVF2YS5.js} +55 -16
  45. package/dist/chunk-DRVF2YS5.js.map +1 -0
  46. package/dist/{chunk-B6IYATME.js → chunk-DXJXVWWE.js} +6 -6
  47. package/dist/{chunk-O742QBZZ.js → chunk-DZBZCFS7.js} +5 -5
  48. package/dist/{chunk-FW7NGYLT.js → chunk-FNCX4N7X.js} +4 -4
  49. package/dist/{chunk-OHOKBMTM.js → chunk-FUE2KPKM.js} +6 -6
  50. package/dist/{chunk-YALD3SST.js → chunk-G4577GK7.js} +4 -4
  51. package/dist/{chunk-DIZ6HM7Q.js → chunk-G6DAESDS.js} +5 -5
  52. package/dist/{chunk-HYYVT2KZ.js → chunk-GAZTPQ3D.js} +2 -2
  53. package/dist/{chunk-LX46B56Q.js → chunk-GJ5TMHKC.js} +4 -4
  54. package/dist/{chunk-KRVS7YWY.js → chunk-GNSLP7KA.js} +2 -2
  55. package/dist/{chunk-CWM4GQD2.js → chunk-HKANJAOP.js} +28 -5
  56. package/dist/chunk-HKANJAOP.js.map +1 -0
  57. package/dist/{chunk-5Q7AJ7DN.js → chunk-I3D67XD7.js} +4 -4
  58. package/dist/{chunk-GQ3BX5EA.js → chunk-I3ISCYT7.js} +2 -2
  59. package/dist/{chunk-HQSPF5IY.js → chunk-ISRAQIYY.js} +5 -5
  60. package/dist/{chunk-JWMBG5S3.js → chunk-J2KGT2A5.js} +6 -6
  61. package/dist/{chunk-BEZDLIDG.js → chunk-JMN3I4OC.js} +4 -4
  62. package/dist/{chunk-7PJ3BKHS.js → chunk-JO4MRPEY.js} +5 -5
  63. package/dist/{chunk-4N5Q23KV.js → chunk-JXFQEOAQ.js} +5 -5
  64. package/dist/{chunk-ICDHUUMQ.js → chunk-KF34JCIJ.js} +4 -4
  65. package/dist/{chunk-6KTVJ5ZZ.js → chunk-KKVVBFKW.js} +3 -3
  66. package/dist/{chunk-DXKLLKME.js → chunk-L374ZR75.js} +3 -3
  67. package/dist/{chunk-EES37S2V.js → chunk-L5PTLL7A.js} +3 -3
  68. package/dist/{chunk-2LFOMUEA.js → chunk-LBDG6FHB.js} +3 -3
  69. package/dist/{chunk-T7JGWTES.js → chunk-LIWA5ROZ.js} +51 -16
  70. package/dist/chunk-LIWA5ROZ.js.map +1 -0
  71. package/dist/{chunk-3O72ZD2E.js → chunk-LPVZDTQF.js} +135 -18
  72. package/dist/chunk-LPVZDTQF.js.map +1 -0
  73. package/dist/{chunk-OIBEJN5H.js → chunk-LYQUFIHL.js} +2 -2
  74. package/dist/{chunk-JNMTN5D5.js → chunk-LZHIYH32.js} +2 -2
  75. package/dist/{chunk-7KAE7CQ2.js → chunk-M2KVSM43.js} +2 -2
  76. package/dist/{chunk-IGJCYUT5.js → chunk-NSITFOCJ.js} +1 -1
  77. package/dist/chunk-NSITFOCJ.js.map +1 -0
  78. package/dist/{chunk-32B7VCKU.js → chunk-O2A5YCFF.js} +2 -2
  79. package/dist/{chunk-4A34KWOU.js → chunk-OGB2UTBC.js} +5 -5
  80. package/dist/{chunk-GQXFOAYZ.js → chunk-OMXUQAZJ.js} +3 -3
  81. package/dist/{chunk-45YHJ3GV.js → chunk-PFHF3A72.js} +3 -3
  82. package/dist/{chunk-KV6JM2IA.js → chunk-PUGHLCBW.js} +2 -2
  83. package/dist/{chunk-ZZXLB6AS.js → chunk-R6BGN6IY.js} +2 -2
  84. package/dist/{chunk-CLAHBPOI.js → chunk-RBBTJ2HY.js} +3 -3
  85. package/dist/{chunk-YKXZHUOW.js → chunk-RGUAY5IX.js} +4 -4
  86. package/dist/{chunk-AU3AUJIZ.js → chunk-RQQIB7CD.js} +2 -2
  87. package/dist/{chunk-TX5MKAHA.js → chunk-RTKREHPV.js} +2 -2
  88. package/dist/{chunk-BAHOV5I5.js → chunk-SIACMXFK.js} +8 -8
  89. package/dist/{chunk-6WO62AJW.js → chunk-SZFNO7L4.js} +3 -3
  90. package/dist/{chunk-4OQZNXQG.js → chunk-TA67ZQUH.js} +53 -6
  91. package/dist/chunk-TA67ZQUH.js.map +1 -0
  92. package/dist/{chunk-U27Y4DJZ.js → chunk-TWELPVXG.js} +3 -3
  93. package/dist/{chunk-WVE6YKMX.js → chunk-U5ZDYJLQ.js} +3 -3
  94. package/dist/{chunk-4YL2LMXK.js → chunk-UW5YKCE4.js} +6 -6
  95. package/dist/{chunk-E5SC6ENM.js → chunk-UWRVDBDC.js} +10 -10
  96. package/dist/{chunk-GTHVPVAR.js → chunk-VNPSPQNN.js} +10 -10
  97. package/dist/{chunk-A4TOGAUW.js → chunk-VXH5Z22C.js} +2 -2
  98. package/dist/{chunk-FS7NTGCJ.js → chunk-WBFJZCDJ.js} +2 -2
  99. package/dist/{chunk-4RAS6HN6.js → chunk-WBRLSPA7.js} +2 -2
  100. package/dist/{chunk-AUPSEJ7O.js → chunk-WG66ZPEV.js} +4 -4
  101. package/dist/{chunk-QSIEL6TL.js → chunk-XXONVJWA.js} +5 -5
  102. package/dist/{chunk-ZLHHE5XZ.js → chunk-YLIGPHN4.js} +3 -3
  103. package/dist/{chunk-VVSOPRUE.js → chunk-YNWBBHQK.js} +3 -3
  104. package/dist/{chunk-I6QKB7MT.js → chunk-Z6UMKUAI.js} +2 -2
  105. package/dist/{chunk-7LNE2N2V.js → chunk-Z7AHYSZF.js} +5 -5
  106. package/dist/{chunk-3PMFMUFX.js → chunk-ZA3RBGT3.js} +2 -2
  107. package/dist/{chunk-LGFTOU27.js → chunk-ZILONQGE.js} +95 -80
  108. package/dist/chunk-ZILONQGE.js.map +1 -0
  109. package/dist/{chunk-TDSN2O2V.js → chunk-ZKZXS352.js} +5 -5
  110. package/dist/{chunk-OMYCSTXL.js → chunk-ZLU3IWHK.js} +3 -3
  111. package/dist/{chunk-6JPGVL7X.js → chunk-ZYG4UWHF.js} +2 -2
  112. package/dist/classified/index.js +4 -4
  113. package/dist/{classified-marker-NA6HUV33.js → classified-marker-RYWYYZDB.js} +3 -3
  114. package/dist/{collection-facade-VBM35WAH.js → collection-facade-XV3IMJBO.js} +15 -15
  115. package/dist/{computed-GSTLWSY5.js → computed-M4QZVSPX.js} +3 -3
  116. package/dist/consent/index.js +7 -7
  117. package/dist/cover/index.js +7 -7
  118. package/dist/custody/index.js +9 -9
  119. package/dist/{dead-filter-UALP5DJX.js → dead-filter-DRKJDNSF.js} +2 -2
  120. package/dist/debug/index.js +1 -1
  121. package/dist/{delegation-JLNXM7KH.js → delegation-UEJN2LDC.js} +9 -9
  122. package/dist/derivations/index.js +10 -10
  123. package/dist/{derive-YUO3TQYN.js → derive-WIWSPZ5M.js} +8 -8
  124. package/dist/directory/index.js +8 -8
  125. package/dist/{dispatch-77CB75KB.js → dispatch-2ZE7Z5V2.js} +16 -16
  126. package/dist/{dispatch-4ZHLSFZQ.js → dispatch-KNWYDUYM.js} +9 -6
  127. package/dist/dispatch-KNWYDUYM.js.map +1 -0
  128. package/dist/{enclave-O4NOROCJ.js → enclave-VNHDWCB6.js} +7 -7
  129. package/dist/executor-4SMYWPSU.js +29 -0
  130. package/dist/executor-BJ7PCXCV.js +9 -0
  131. package/dist/executor-O4UP4M3C.js +9 -0
  132. package/dist/export-accessible-A3N2V4IX.js +23 -0
  133. package/dist/extract-partition-3EUJXWYG.js +38 -0
  134. package/dist/{fanout-sidecar-NLQ7QAYW.js → fanout-sidecar-PBEVZ5IQ.js} +7 -7
  135. package/dist/find-W2DL2BEE.js +11 -0
  136. package/dist/forget/index.js +7 -7
  137. package/dist/guards/index.js +4 -4
  138. package/dist/history/index.js +11 -11
  139. package/dist/i18n/index.js +12 -12
  140. package/dist/index.d.ts +1 -1
  141. package/dist/index.js +91 -89
  142. package/dist/index.js.map +1 -1
  143. package/dist/indexing/index.js +4 -4
  144. package/dist/introspection/index.js +9 -9
  145. package/dist/issue-NLJ3FCKL.js +19 -0
  146. package/dist/kernel/collection.d.ts +8 -2
  147. package/dist/kernel/errors.d.ts +26 -0
  148. package/dist/kernel/query/builder.d.ts +36 -2
  149. package/dist/kernel/query/live.d.ts +31 -9
  150. package/dist/kernel/query/predicate.d.ts +9 -0
  151. package/dist/kernel/refs.d.ts +3 -1
  152. package/dist/kernel/via/reconcile.d.ts +12 -0
  153. package/dist/{ledger-MVPNG5OS.js → ledger-DDIDLWA3.js} +9 -9
  154. package/dist/liberate-EPTCY3DF.js +24 -0
  155. package/dist/{link-set-3POMQR3I.js → link-set-2AYA6BEI.js} +9 -9
  156. package/dist/{managed-secret-IARIJJ7Q.js → managed-secret-6QTGWZTW.js} +7 -7
  157. package/dist/materialized-views/index.js +20 -20
  158. package/dist/{migrate-cek-XM2ETTZW.js → migrate-cek-YBNJDJ2Q.js} +2 -2
  159. package/dist/money/index.js +5 -5
  160. package/dist/noydb-RFBNRUHH.js +85 -0
  161. package/dist/overlay-views/index.js +4 -4
  162. package/dist/periods/index.js +10 -10
  163. package/dist/pod/index.js +54 -53
  164. package/dist/{pod-handle-MELERCKU.js → pod-handle-77YAUM4J.js} +7 -7
  165. package/dist/policy/index.js +7 -7
  166. package/dist/portability/index.js +8 -8
  167. package/dist/{post-register-Z5T7FY45.js → post-register-WBDTOLWD.js} +6 -6
  168. package/dist/query/index.js +6 -6
  169. package/dist/reduce/index.js +6 -6
  170. package/dist/{register-UZ37QPDB.js → register-VSPL7VRW.js} +13 -13
  171. package/dist/registry-A7JADQXC.js +9 -0
  172. package/dist/registry-AOPJN2V4.js +18 -0
  173. package/dist/registry-I4I3QIQ6.js +9 -0
  174. package/dist/registry-QSMKWF4O.js +19 -0
  175. package/dist/{request-withdrawal-PVFEYX57.js → request-withdrawal-VL5N623Q.js} +12 -12
  176. package/dist/{reveal-DQ2E3QAZ.js → reveal-Z2X4JW6E.js} +4 -4
  177. package/dist/{revoke-YXY6SHUH.js → revoke-XQ5STGT4.js} +9 -9
  178. package/dist/satellites/index.js +1 -1
  179. package/dist/schema-update/index.js +2 -2
  180. package/dist/sealed-record/index.js +10 -10
  181. package/dist/search/index.js +4 -4
  182. package/dist/{seed-DZ4ORU5N.js → seed-WJWCFPZL.js} +9 -9
  183. package/dist/sequence/index.js +7 -7
  184. package/dist/session/index.js +7 -7
  185. package/dist/shadow/index.js +2 -2
  186. package/dist/{signer-Q7XQBMPA.js → signer-N5TGVOTN.js} +8 -8
  187. package/dist/snapshots/index.js +8 -8
  188. package/dist/{stale-NI7SAXAZ.js → stale-MIO5KGEP.js} +8 -8
  189. package/dist/{storage-3VNGSHXS.js → storage-NLYOMCDM.js} +8 -8
  190. package/dist/{store-coordination-provider-TYKNR3OU.js → store-coordination-provider-XCX77ZBE.js} +7 -7
  191. package/dist/sync/index.js +8 -8
  192. package/dist/team/index.js +12 -12
  193. package/dist/tiers/index.js +9 -9
  194. package/dist/to/index.js +1 -1
  195. package/dist/transactions/index.js +3 -3
  196. package/dist/util/index.js +1 -1
  197. package/dist/vault-head/index.js +6 -6
  198. package/dist/{verify-6J2YLKSO.js → verify-5QI3DGO2.js} +5 -5
  199. package/dist/via/blob/index.d.ts +3 -0
  200. package/dist/walk-G5OAA3RE.js +21 -0
  201. package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +4 -0
  202. package/dist/with-formula/materialized-views/projection-legs.d.ts +59 -0
  203. package/dist/with-formula/materialized-views/registry.d.ts +50 -0
  204. package/dist/with-formula/materialized-views/types.d.ts +68 -10
  205. package/dist/with-shape/blobs/blob-compaction.d.ts +13 -0
  206. package/dist/with-shape/blobs/blob-set.d.ts +61 -7
  207. package/dist/with-shape/blobs/orphan-report.d.ts +62 -0
  208. package/dist/{withdraw-accessible-4JTDFRFZ.js → withdraw-accessible-H7G2AMSP.js} +11 -11
  209. package/package.json +3 -3
  210. package/dist/api-EYNT6KGS.js +0 -20
  211. package/dist/chunk-3O72ZD2E.js.map +0 -1
  212. package/dist/chunk-4OQZNXQG.js.map +0 -1
  213. package/dist/chunk-CAGI4LLJ.js.map +0 -1
  214. package/dist/chunk-CWM4GQD2.js.map +0 -1
  215. package/dist/chunk-IGJCYUT5.js.map +0 -1
  216. package/dist/chunk-JLYQQNY4.js.map +0 -1
  217. package/dist/chunk-LGFTOU27.js.map +0 -1
  218. package/dist/chunk-LXECF2ZR.js.map +0 -1
  219. package/dist/chunk-P2MR5UNE.js.map +0 -1
  220. package/dist/chunk-T7JGWTES.js.map +0 -1
  221. package/dist/dispatch-4ZHLSFZQ.js.map +0 -1
  222. package/dist/executor-CZDXBXKE.js +0 -29
  223. package/dist/executor-DVJAWN3B.js +0 -9
  224. package/dist/executor-VRLG4TQJ.js +0 -9
  225. package/dist/export-accessible-UXSMG7AB.js +0 -23
  226. package/dist/extract-partition-TVY7AMKH.js +0 -38
  227. package/dist/find-WSARMJBW.js +0 -11
  228. package/dist/issue-3JNJNPT3.js +0 -19
  229. package/dist/liberate-4LOJOLDT.js +0 -24
  230. package/dist/noydb-IRILUDED.js +0 -84
  231. package/dist/registry-ETJNA7PO.js +0 -9
  232. package/dist/registry-F7U6KSLX.js +0 -9
  233. package/dist/registry-L4ELKX6C.js +0 -18
  234. package/dist/registry-SDT5LIGO.js +0 -19
  235. package/dist/walk-WRA7RAPY.js +0 -21
  236. /package/dist/{api-EYNT6KGS.js.map → api-ETB5Y4DY.js.map} +0 -0
  237. /package/dist/{backup-FSC36VWC.js.map → backup-UOLAXOJ4.js.map} +0 -0
  238. /package/dist/{chunk-3B6S6RSI.js.map → chunk-22VRCUV2.js.map} +0 -0
  239. /package/dist/{chunk-ESKIAXO2.js.map → chunk-23ODLABM.js.map} +0 -0
  240. /package/dist/{chunk-IJ46VCWD.js.map → chunk-2DHEBIJA.js.map} +0 -0
  241. /package/dist/{chunk-TMBSPLUG.js.map → chunk-2LHPMFSR.js.map} +0 -0
  242. /package/dist/{chunk-ONVD6GBY.js.map → chunk-2QN6NPV6.js.map} +0 -0
  243. /package/dist/{chunk-NW4TY6VC.js.map → chunk-3UIS6O6N.js.map} +0 -0
  244. /package/dist/{chunk-EKEIEJL6.js.map → chunk-4UZDDS4S.js.map} +0 -0
  245. /package/dist/{chunk-S56VYR4Q.js.map → chunk-5FRZ7YYU.js.map} +0 -0
  246. /package/dist/{chunk-H3G4I3PN.js.map → chunk-5MU7PUNA.js.map} +0 -0
  247. /package/dist/{chunk-NCCEDL2K.js.map → chunk-66X4XWTM.js.map} +0 -0
  248. /package/dist/{chunk-TQPASLY4.js.map → chunk-6G4NORTR.js.map} +0 -0
  249. /package/dist/{chunk-RKCRPPNB.js.map → chunk-6W3BZCW6.js.map} +0 -0
  250. /package/dist/{chunk-DVRZYAGT.js.map → chunk-6ZN6X2LW.js.map} +0 -0
  251. /package/dist/{chunk-PPCOKVFA.js.map → chunk-6ZTPSVY7.js.map} +0 -0
  252. /package/dist/{chunk-MZTUTEHP.js.map → chunk-7DRKK5FQ.js.map} +0 -0
  253. /package/dist/{chunk-GBBDFE6C.js.map → chunk-7LWBD3NO.js.map} +0 -0
  254. /package/dist/{chunk-KX57HODD.js.map → chunk-7W765AVV.js.map} +0 -0
  255. /package/dist/{chunk-LN7P6MZB.js.map → chunk-7ZPAL3F7.js.map} +0 -0
  256. /package/dist/{chunk-CADUYBQD.js.map → chunk-ATL3ZVXT.js.map} +0 -0
  257. /package/dist/{chunk-RSXQNFGO.js.map → chunk-ATSIGJRX.js.map} +0 -0
  258. /package/dist/{chunk-MSLPDFK2.js.map → chunk-AZPPARMG.js.map} +0 -0
  259. /package/dist/{chunk-NR2SUJ3H.js.map → chunk-B3X6S37C.js.map} +0 -0
  260. /package/dist/{chunk-GWO2IDAB.js.map → chunk-BNGGSNO7.js.map} +0 -0
  261. /package/dist/{chunk-INMHEMXX.js.map → chunk-C7B3XUI4.js.map} +0 -0
  262. /package/dist/{chunk-D3R7Q4QK.js.map → chunk-CJU3KXHJ.js.map} +0 -0
  263. /package/dist/{chunk-RFO4UXKQ.js.map → chunk-CWYTN4IK.js.map} +0 -0
  264. /package/dist/{chunk-HR5R5JOM.js.map → chunk-D5DZ4R7X.js.map} +0 -0
  265. /package/dist/{chunk-6YD5SYQS.js.map → chunk-DEKA2MV3.js.map} +0 -0
  266. /package/dist/{chunk-SYS46BL7.js.map → chunk-DG4KFJNA.js.map} +0 -0
  267. /package/dist/{chunk-B6IYATME.js.map → chunk-DXJXVWWE.js.map} +0 -0
  268. /package/dist/{chunk-O742QBZZ.js.map → chunk-DZBZCFS7.js.map} +0 -0
  269. /package/dist/{chunk-FW7NGYLT.js.map → chunk-FNCX4N7X.js.map} +0 -0
  270. /package/dist/{chunk-OHOKBMTM.js.map → chunk-FUE2KPKM.js.map} +0 -0
  271. /package/dist/{chunk-YALD3SST.js.map → chunk-G4577GK7.js.map} +0 -0
  272. /package/dist/{chunk-DIZ6HM7Q.js.map → chunk-G6DAESDS.js.map} +0 -0
  273. /package/dist/{chunk-HYYVT2KZ.js.map → chunk-GAZTPQ3D.js.map} +0 -0
  274. /package/dist/{chunk-LX46B56Q.js.map → chunk-GJ5TMHKC.js.map} +0 -0
  275. /package/dist/{chunk-KRVS7YWY.js.map → chunk-GNSLP7KA.js.map} +0 -0
  276. /package/dist/{chunk-5Q7AJ7DN.js.map → chunk-I3D67XD7.js.map} +0 -0
  277. /package/dist/{chunk-GQ3BX5EA.js.map → chunk-I3ISCYT7.js.map} +0 -0
  278. /package/dist/{chunk-HQSPF5IY.js.map → chunk-ISRAQIYY.js.map} +0 -0
  279. /package/dist/{chunk-JWMBG5S3.js.map → chunk-J2KGT2A5.js.map} +0 -0
  280. /package/dist/{chunk-BEZDLIDG.js.map → chunk-JMN3I4OC.js.map} +0 -0
  281. /package/dist/{chunk-7PJ3BKHS.js.map → chunk-JO4MRPEY.js.map} +0 -0
  282. /package/dist/{chunk-4N5Q23KV.js.map → chunk-JXFQEOAQ.js.map} +0 -0
  283. /package/dist/{chunk-ICDHUUMQ.js.map → chunk-KF34JCIJ.js.map} +0 -0
  284. /package/dist/{chunk-6KTVJ5ZZ.js.map → chunk-KKVVBFKW.js.map} +0 -0
  285. /package/dist/{chunk-DXKLLKME.js.map → chunk-L374ZR75.js.map} +0 -0
  286. /package/dist/{chunk-EES37S2V.js.map → chunk-L5PTLL7A.js.map} +0 -0
  287. /package/dist/{chunk-2LFOMUEA.js.map → chunk-LBDG6FHB.js.map} +0 -0
  288. /package/dist/{chunk-OIBEJN5H.js.map → chunk-LYQUFIHL.js.map} +0 -0
  289. /package/dist/{chunk-JNMTN5D5.js.map → chunk-LZHIYH32.js.map} +0 -0
  290. /package/dist/{chunk-7KAE7CQ2.js.map → chunk-M2KVSM43.js.map} +0 -0
  291. /package/dist/{chunk-32B7VCKU.js.map → chunk-O2A5YCFF.js.map} +0 -0
  292. /package/dist/{chunk-4A34KWOU.js.map → chunk-OGB2UTBC.js.map} +0 -0
  293. /package/dist/{chunk-GQXFOAYZ.js.map → chunk-OMXUQAZJ.js.map} +0 -0
  294. /package/dist/{chunk-45YHJ3GV.js.map → chunk-PFHF3A72.js.map} +0 -0
  295. /package/dist/{chunk-KV6JM2IA.js.map → chunk-PUGHLCBW.js.map} +0 -0
  296. /package/dist/{chunk-ZZXLB6AS.js.map → chunk-R6BGN6IY.js.map} +0 -0
  297. /package/dist/{chunk-CLAHBPOI.js.map → chunk-RBBTJ2HY.js.map} +0 -0
  298. /package/dist/{chunk-YKXZHUOW.js.map → chunk-RGUAY5IX.js.map} +0 -0
  299. /package/dist/{chunk-AU3AUJIZ.js.map → chunk-RQQIB7CD.js.map} +0 -0
  300. /package/dist/{chunk-TX5MKAHA.js.map → chunk-RTKREHPV.js.map} +0 -0
  301. /package/dist/{chunk-BAHOV5I5.js.map → chunk-SIACMXFK.js.map} +0 -0
  302. /package/dist/{chunk-6WO62AJW.js.map → chunk-SZFNO7L4.js.map} +0 -0
  303. /package/dist/{chunk-U27Y4DJZ.js.map → chunk-TWELPVXG.js.map} +0 -0
  304. /package/dist/{chunk-WVE6YKMX.js.map → chunk-U5ZDYJLQ.js.map} +0 -0
  305. /package/dist/{chunk-4YL2LMXK.js.map → chunk-UW5YKCE4.js.map} +0 -0
  306. /package/dist/{chunk-E5SC6ENM.js.map → chunk-UWRVDBDC.js.map} +0 -0
  307. /package/dist/{chunk-GTHVPVAR.js.map → chunk-VNPSPQNN.js.map} +0 -0
  308. /package/dist/{chunk-A4TOGAUW.js.map → chunk-VXH5Z22C.js.map} +0 -0
  309. /package/dist/{chunk-FS7NTGCJ.js.map → chunk-WBFJZCDJ.js.map} +0 -0
  310. /package/dist/{chunk-4RAS6HN6.js.map → chunk-WBRLSPA7.js.map} +0 -0
  311. /package/dist/{chunk-AUPSEJ7O.js.map → chunk-WG66ZPEV.js.map} +0 -0
  312. /package/dist/{chunk-QSIEL6TL.js.map → chunk-XXONVJWA.js.map} +0 -0
  313. /package/dist/{chunk-ZLHHE5XZ.js.map → chunk-YLIGPHN4.js.map} +0 -0
  314. /package/dist/{chunk-VVSOPRUE.js.map → chunk-YNWBBHQK.js.map} +0 -0
  315. /package/dist/{chunk-I6QKB7MT.js.map → chunk-Z6UMKUAI.js.map} +0 -0
  316. /package/dist/{chunk-7LNE2N2V.js.map → chunk-Z7AHYSZF.js.map} +0 -0
  317. /package/dist/{chunk-3PMFMUFX.js.map → chunk-ZA3RBGT3.js.map} +0 -0
  318. /package/dist/{chunk-TDSN2O2V.js.map → chunk-ZKZXS352.js.map} +0 -0
  319. /package/dist/{chunk-OMYCSTXL.js.map → chunk-ZLU3IWHK.js.map} +0 -0
  320. /package/dist/{chunk-6JPGVL7X.js.map → chunk-ZYG4UWHF.js.map} +0 -0
  321. /package/dist/{classified-marker-NA6HUV33.js.map → classified-marker-RYWYYZDB.js.map} +0 -0
  322. /package/dist/{collection-facade-VBM35WAH.js.map → collection-facade-XV3IMJBO.js.map} +0 -0
  323. /package/dist/{computed-GSTLWSY5.js.map → computed-M4QZVSPX.js.map} +0 -0
  324. /package/dist/{dead-filter-UALP5DJX.js.map → dead-filter-DRKJDNSF.js.map} +0 -0
  325. /package/dist/{delegation-JLNXM7KH.js.map → delegation-UEJN2LDC.js.map} +0 -0
  326. /package/dist/{derive-YUO3TQYN.js.map → derive-WIWSPZ5M.js.map} +0 -0
  327. /package/dist/{dispatch-77CB75KB.js.map → dispatch-2ZE7Z5V2.js.map} +0 -0
  328. /package/dist/{enclave-O4NOROCJ.js.map → enclave-VNHDWCB6.js.map} +0 -0
  329. /package/dist/{executor-CZDXBXKE.js.map → executor-4SMYWPSU.js.map} +0 -0
  330. /package/dist/{executor-DVJAWN3B.js.map → executor-BJ7PCXCV.js.map} +0 -0
  331. /package/dist/{executor-VRLG4TQJ.js.map → executor-O4UP4M3C.js.map} +0 -0
  332. /package/dist/{export-accessible-UXSMG7AB.js.map → export-accessible-A3N2V4IX.js.map} +0 -0
  333. /package/dist/{extract-partition-TVY7AMKH.js.map → extract-partition-3EUJXWYG.js.map} +0 -0
  334. /package/dist/{fanout-sidecar-NLQ7QAYW.js.map → fanout-sidecar-PBEVZ5IQ.js.map} +0 -0
  335. /package/dist/{find-WSARMJBW.js.map → find-W2DL2BEE.js.map} +0 -0
  336. /package/dist/{issue-3JNJNPT3.js.map → issue-NLJ3FCKL.js.map} +0 -0
  337. /package/dist/{ledger-MVPNG5OS.js.map → ledger-DDIDLWA3.js.map} +0 -0
  338. /package/dist/{liberate-4LOJOLDT.js.map → liberate-EPTCY3DF.js.map} +0 -0
  339. /package/dist/{link-set-3POMQR3I.js.map → link-set-2AYA6BEI.js.map} +0 -0
  340. /package/dist/{managed-secret-IARIJJ7Q.js.map → managed-secret-6QTGWZTW.js.map} +0 -0
  341. /package/dist/{migrate-cek-XM2ETTZW.js.map → migrate-cek-YBNJDJ2Q.js.map} +0 -0
  342. /package/dist/{noydb-IRILUDED.js.map → noydb-RFBNRUHH.js.map} +0 -0
  343. /package/dist/{pod-handle-MELERCKU.js.map → pod-handle-77YAUM4J.js.map} +0 -0
  344. /package/dist/{post-register-Z5T7FY45.js.map → post-register-WBDTOLWD.js.map} +0 -0
  345. /package/dist/{register-UZ37QPDB.js.map → register-VSPL7VRW.js.map} +0 -0
  346. /package/dist/{registry-ETJNA7PO.js.map → registry-A7JADQXC.js.map} +0 -0
  347. /package/dist/{registry-F7U6KSLX.js.map → registry-AOPJN2V4.js.map} +0 -0
  348. /package/dist/{registry-L4ELKX6C.js.map → registry-I4I3QIQ6.js.map} +0 -0
  349. /package/dist/{registry-SDT5LIGO.js.map → registry-QSMKWF4O.js.map} +0 -0
  350. /package/dist/{request-withdrawal-PVFEYX57.js.map → request-withdrawal-VL5N623Q.js.map} +0 -0
  351. /package/dist/{reveal-DQ2E3QAZ.js.map → reveal-Z2X4JW6E.js.map} +0 -0
  352. /package/dist/{revoke-YXY6SHUH.js.map → revoke-XQ5STGT4.js.map} +0 -0
  353. /package/dist/{seed-DZ4ORU5N.js.map → seed-WJWCFPZL.js.map} +0 -0
  354. /package/dist/{signer-Q7XQBMPA.js.map → signer-N5TGVOTN.js.map} +0 -0
  355. /package/dist/{stale-NI7SAXAZ.js.map → stale-MIO5KGEP.js.map} +0 -0
  356. /package/dist/{storage-3VNGSHXS.js.map → storage-NLYOMCDM.js.map} +0 -0
  357. /package/dist/{store-coordination-provider-TYKNR3OU.js.map → store-coordination-provider-XCX77ZBE.js.map} +0 -0
  358. /package/dist/{verify-6J2YLKSO.js.map → verify-5QI3DGO2.js.map} +0 -0
  359. /package/dist/{walk-WRA7RAPY.js.map → walk-G5OAA3RE.js.map} +0 -0
  360. /package/dist/{withdraw-accessible-4JTDFRFZ.js.map → withdraw-accessible-H7G2AMSP.js.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,243 @@
1
1
  # Changelog — hub
2
2
 
3
+ ## 0.6.0-pre.23
4
+
5
+ ### Minor Changes
6
+
7
+ - Query-form materialized views can join a declared ref, and a late `refs` declaration is no longer silently discarded.
8
+
9
+ **#1141 — `refs` declared on an already-constructed collection were dropped.** The declaration fan-out ran only when `vault.collection()` missed its cache, so any earlier touch of the collection silently discarded a later `refs` declaration: strict FK enforcement never engaged (a dangling `put()` was accepted) and `.join()` kept reporting "no ref() declared". `refs` now late-attaches through the same reconcile ladder every other declaration already used. An identical redeclaration stays a no-op; a conflicting one still throws.
10
+
11
+ **#1139 — a query-form MV that joins a declared FK threw at `openVault()`, with no ordering that avoided it.** MV strategies register during `openVault()`, but a collection's refs can only be declared after it returns, so the plan was built before any ref could exist. Such a strategy is now parked and replanned on the first write dispatch or `vault.refreshView()`, matching the projection form's timing. Every other planning failure still throws out of `openVault()` immediately — only a not-yet-declared ref defers.
12
+
13
+ Adds `RefNotDeclaredError` to the root barrel: `.join()` now throws it instead of a bare `Error`, with an unchanged message, so the deferral condition is matched on a type rather than on text.
14
+
15
+ - Report blob chunks that outlived their index row (#1133).
16
+
17
+ `vault.compact()` now returns `orphanBlobChunks` — a count of `_blob_chunks` rows whose eTag has no `_blob_index` entry, the distinct eTags involved, a small sample to inspect, and a separate count of ids that do not fit the `{eTag}_{index}` grammar at all. `reportOrphanBlobChunks(store, vault)` is exported from `@noy-db/hub/blobs` for callers that want it on its own.
18
+
19
+ This is the residue #1127 stopped producing: before that fix a crash between deleting a blob's index row and its chunks stranded bodies no reader and no key rotation can reach, which for a legacy blob leaves bytes openable under a retired `_blob` DEK.
20
+
21
+ **It reports and never reclaims, deliberately.** Deciding "orphaned" means trusting `store.list`, and the store is untrusted — one withheld index row would make a live blob's chunks look orphaned, so a reclaim pass would convert withholding, which is reversible, into permanent destruction. A lying store can only inflate this count.
22
+
23
+ - Projection MV legs can attach to another leg's alias (#1140).
24
+
25
+ `ProjectionJoinLeg` gains `from`, naming a previously-declared FORWARD leg. A collect leg then matches against that leg's record id instead of the primary row's, and a forward leg reads its FK off that record — which makes a lookup two FKs away expressible for the first time:
26
+
27
+ ```ts
28
+ joins: [
29
+ { field: "entityId", as: "entity" },
30
+ { from: "entity", collect: "clients", on: "entityId", as: "clients" },
31
+ ];
32
+ ```
33
+
34
+ Every leg previously attached to the primary row, so `bill → entity → client` had no shape: the bill has no `clientId`, and `clients.entityId` refs `entities`, not `bills`. The two workarounds were denormalizing a redundant FK onto the source — reintroducing the duplicated relationship a projection MV exists to avoid — or dropping back to app code and forfeiting the dependency tracking.
35
+
36
+ `from` may only name a leg declared earlier, and only a forward one (a collect leg holds an array, not a record). Both are refused at `withMaterializedView()` construction, alongside the rest of the leg-shape checks. The backward-only rule is also why no depth cap is needed: a cycle cannot be spelled. `from` is folded into the plan summary, so two structurally different projections cannot share a `queryHash`.
37
+
38
+ ## 0.6.0-pre.22
39
+
40
+ ### Minor Changes
41
+
42
+ - `.crossJoin()` gains a typed `outer` option (#1130).
43
+
44
+ `.crossJoin()` emits the left row once per matching right row, so an empty `on:`
45
+ subset dropped it entirely — no error, no warning, no count mismatch. It bites
46
+ hardest on a **reverse FK**, because `.join()` is forward-only on a declared
47
+ `ref()` and cannot express that direction, so `.crossJoin()` is the only tool
48
+ available. The reported case measured three rows in and one row out, with the
49
+ missing two vanishing silently from a list view.
50
+
51
+ ```ts
52
+ .crossJoin('clients', { as: 'client', outer: true, on: (b) => byEntity.get(b.entityId) ?? [] })
53
+ // every left row survives; `client` is `Client | null`
54
+ ```
55
+
56
+ `outer` applies to both call shapes: with `on:` the empty thing is that left
57
+ row's subset, and without it an empty TARGET collection is what would otherwise
58
+ drop every row — two separate branches in `applyCrossJoin`, both covered.
59
+
60
+ **The alias widens to `TTarget | null` only under `outer: true`**, via a third
61
+ type parameter rather than a plain boolean, so existing inner-mode callers are
62
+ untouched and are not made to null-check something that cannot occur. Both
63
+ directions are asserted at compile time in `cross-join-outer.test-d.ts`, because
64
+ neither mistake would show up in a runtime test.
65
+
66
+ The previously documented `?? [null]` idiom still works and is exactly what
67
+ `outer` does internally — a test asserts the two produce identical rows. Prefer
68
+ the flag: the idiom types the alias as non-null while the row can hold null, and
69
+ a later "simplification" that removes the `[null]` silently reintroduces the row
70
+ loss.
71
+
72
+ `outer` is folded into the query-plan summary, so a materialized view built on
73
+ the inner form is not served for an outer query, and a substituted null row
74
+ counts toward `maxRows` like any other row.
75
+
76
+ ### Patch Changes
77
+
78
+ - `@noy-db/in-vue` ships `useLiveQuery()`, and `in-pinia` now delegates to it (#1131).
79
+
80
+ `kernel/query/live.ts` described a Vue wrapper for `LiveQuery` as though it were
81
+ provided, plus React/Solid/Svelte adapters that have never existed. #1132
82
+ corrected the prose. This ships the thing.
83
+
84
+ **There was exactly one implementation in the family and it was unreachable.**
85
+ `@noy-db/in-pinia`'s `store.liveQuery()` already did this correctly — subscribe
86
+ once, mirror into a `ShallowRef`, re-read `error` on every notification, dispose
87
+ via `onScopeDispose` — but it is a **store method, not an export**, so an export
88
+ enumeration cannot find it, and a Vue consumer not using Pinia had no route at
89
+ all. A pilot consumer hand-rolled the glue instead.
90
+
91
+ So `useLiveQuery` lands in `@noy-db/in-vue` (the base binding, no Pinia
92
+ required) and `in-pinia` calls it, keeping the readiness check and the query
93
+ build and nothing else. One implementation rather than two that drift — and
94
+ only one of two copies ever gets an error-semantics fix. `NoydbLiveQuery<R>` is
95
+ now an alias of `UseLiveQueryReturn<R>`, so the type has one definition too.
96
+
97
+ ```ts
98
+ const { items, error } = useLiveQuery(
99
+ vault.collection("bills").query().join("entityId", { as: "entity" }).live()
100
+ );
101
+ ```
102
+
103
+ **A hub doc-comment correction came out of building it, and it was backwards in
104
+ both halves.** `LiveQuery.value` was documented as _"updated in place… the
105
+ reference returned is the same array"_, advising callers to copy for change
106
+ detection. `refresh()` assigns `this._value = this.recompute()`, so the array is
107
+ **replaced**: the reference changes on every re-run, reference identity IS a
108
+ valid change signal (which is what makes a `shallowRef` correct and a copy
109
+ unnecessary), and a consumer who caches `value` holds a snapshot that never
110
+ updates. Verified by running it, not by reading it — two reads across a
111
+ notification are not `===`, and the first array still holds the old contents.
112
+
113
+ ⚠️ **Consumer-visible:** `@noy-db/in-pinia` now declares `@noy-db/in-vue` as a
114
+ (non-optional) peer, matching how the family already wires satellite-to-satellite
115
+ deps — `in-nextjs` → `in-react`, `in-nuxt` → `in-pinia`/`in-vue`,
116
+ `in-devtools-tui` → `in-devtools`. A Nuxt consumer already has it, since
117
+ `in-nuxt` peers on both. A **plain Pinia** consumer must add one line to their
118
+ install; the two ship on the same lockstep version line. It is deliberately not
119
+ optional — `store.liveQuery()` does not work without it, and an optional peer
120
+ would turn that into a runtime resolution failure instead of an install-time one.
121
+
122
+ The test suite asserts through a `watch` inside an `effectScope` rather than by
123
+ reading `items.value`. Reading the ref passes even if Vue reactivity is entirely
124
+ broken, since the value is correct either way; only a watcher proves a component
125
+ would re-render.
126
+
127
+ - `KeyringTamperedError` stops accusing the store when the cause is an upgrade (#1129).
128
+
129
+ `roster_tag` and the reserved `_roster` key ship for the first time in
130
+ `0.6.0-pre.21`, so **no keyring written by any earlier release carries either**.
131
+ Every existing vault therefore fails at unlock on upgrade — and was told _"The
132
+ store serving this vault may have altered the roster."_ Measured, not assumed: a
133
+ vault written by published `0.6.0-pre.20` and opened by `pre.21` reports
134
+ `roster-key-missing` (the roster-key check precedes the tag check).
135
+
136
+ The refusal is correct and unchanged — the format is replaced, not migrated
137
+ (#1100, ADR 0003 Decision 5), and the vault must be re-seeded. What changes is
138
+ what the user reads. The absence labels now lead with the format transition,
139
+ because that is the overwhelming base rate on upgrade day, while still naming the
140
+ attack reading and still refusing. `roster-tag-mismatch` keeps its unqualified
141
+ alert: no released version ever wrote a mismatched tag, so it is not reachable by
142
+ a format transition.
143
+
144
+ **No benign/attack discriminant was added, and none is possible.** #1103 could
145
+ build one for records because the benign case must produce a body that _decrypts
146
+ under the DEK_, which an untrusted store cannot fabricate — a successful retry is
147
+ positive evidence. A keyring's benign case is a _deleted field_, which a store
148
+ produces with no key at all. Verified by probe: stripping `_roster` and
149
+ `roster_tag` from a genuine `pre.21` file gives output byte-identical to opening a
150
+ real `pre.20` vault. "Absent means old and fine" would be a downgrade path.
151
+
152
+ A code comment claiming an absent canary "is not an old file" is corrected: the
153
+ policy it justified is right, the factual claim was wrong (`canary` was optional
154
+ through `pre.19`, and its own doc said older keyrings have none). `SECURITY.md`
155
+ gains a _Reading a `KeyringTamperedError`_ section stating that, unlike
156
+ `TamperedError.reason`, these five values are mechanism labels and **not** a
157
+ benign-vs-attack verdict.
158
+
159
+ - A crash mid-shred no longer strands blob chunks under a retired DEK (#1127).
160
+
161
+ `releaseRef` deleted a blob's index row BEFORE its chunks. A crash in between
162
+ left chunk bodies nothing can ever reach: `loadBlobObject` returns null so no
163
+ reader addresses them, and `rekeyBlobSet` derives chunk ids from each index
164
+ entry's `chunkCount`, so a rotation walks straight past. For a **legacy** blob —
165
+ bytes under the `_blob` DEK itself rather than a per-blob content CEK — those
166
+ bodies stayed openable under the retired `_blob` DEK, which is exactly the key a
167
+ revoked member walked away with. Crash during `forget()`, revoke later, and real
168
+ blob content sat readable indefinitely.
169
+
170
+ It was silent on every side: no error at crash time (the marked shred path
171
+ catches per-hold and files the eTag under `residue`), no error at rotation time,
172
+ and the rotation reported success.
173
+
174
+ **The fix is the deletion ORDER, not a cleanup pass.** Chunks are now deleted
175
+ before the index row, so every chunk that survives has an index row, is
176
+ therefore reachable by `rekeyBlobSet`, and is therefore re-keyed. There is no
177
+ orphan to sweep because none is produced. The residue this leaves instead — an
178
+ index row whose chunks are partly gone — is strictly better: it is reachable, so
179
+ re-running `releaseRef` completes idempotently; `rekeyBlobSet` already tolerates
180
+ it; and it cannot leak, because the bytes that survive are the ones rotation
181
+ still covers.
182
+
183
+ This also makes one ordering rule true across the blob subsystem instead of two
184
+ opposite ones — `rekey-blob.ts` already re-encrypts chunks before re-sealing
185
+ their index entry and documents that order as its resume property.
186
+
187
+ **Deliberately not bundled: a sweep that deletes pre-existing orphans.** Such a
188
+ sweep must decide "orphaned" from `store.list(_blob_index)`, and the store is
189
+ untrusted. A store withholding one index row could make a live blob's chunks
190
+ look orphaned and have us destroy them — converting withholding, which is
191
+ reversible, into permanent loss. That is #1133.
192
+
193
+ One reader path needed a matching correction, found by the full suite rather
194
+ than by reasoning: `resolveRehomedVersionETag` read the OLD blob's bytes while
195
+ resuming a rehome. Under the previous order a crashed delete had already removed
196
+ the index row, so that read happened to see "absent"; with chunks going first
197
+ the row can outlive its own bytes, and the read raised `BlobOfflineError` on
198
+ content that was deliberately destroyed. It now keys off the LOGICAL state —
199
+ `refCount <= 0` means the last hold is released and the row is an un-reaped
200
+ tombstone — and still completes the interrupted deletion, which is what a resume
201
+ owes there. That is more correct under either order than relying on the row's
202
+ physical absence.
203
+
204
+ Two regression rows reproduce the crash window by throwing on the first chunk
205
+ delete, which is the injection point that separates the two orderings (an index
206
+ delete would pass under both). Verified to fail before the fix, with three real
207
+ chunk bodies still opening under `_blob` after revocation.
208
+
209
+ - Document two silent traps in the query DSL that no gate could see (#1130, #1131).
210
+
211
+ Both were found by a pilot consumer, and both cost real time because the
212
+ published prose described a world that did not exist. Neither is a behaviour
213
+ change — the code is unchanged.
214
+
215
+ **`.crossJoin()` is an INNER join and says so nowhere.** Each left row is
216
+ emitted once per matching right row (`builder.ts:1487`), so an empty `on:`
217
+ subset drops the row with no error, no warning and no count mismatch. This
218
+ bites hardest on a reverse FK, where `.join()` — forward-only, and already a
219
+ genuine LEFT outer join — does not apply, so `.crossJoin()` is the only tool
220
+ and the natural fixture always has both sides present. The method doc now
221
+ carries the warning and the `[null]` idiom that restores the row, with a note
222
+ that `[null]` is load-bearing rather than a redundant fallback. A typed
223
+ `outer:` option is #1130.
224
+
225
+ **`live()`'s doc comment described four framework adapters, none of which
226
+ existed.** It named "the Vue layer" plus React/Solid/Svelte. The only binding
227
+ in the repo that wraps a `LiveQuery` is `@noy-db/in-pinia`'s
228
+ `store.liveQuery()` — which does subscribe-once, mirror into a `ShallowRef`,
229
+ re-read `error` on every notification, and dispose via `onScopeDispose`. A
230
+ consumer followed the comment to `@noy-db/in-vue`, found nothing, and
231
+ hand-rolled the glue; the error semantics are the half a hand-rolled wrapper
232
+ usually gets wrong. The comment now names the package and states outright that
233
+ the other bindings have no wrapper.
234
+
235
+ That claim is now enforced by `scripts/__tests__/live-query-bindings.test.ts`,
236
+ which asserts on **which packages actually call `.live()`** rather than on the
237
+ comment's wording — so it fails both when a documented wrapper disappears and
238
+ when an undocumented one appears. Verified capable of failing, not merely
239
+ passing. Same defect class as #1063/#1072: prose no gate reads.
240
+
3
241
  ## 0.6.0-pre.21
4
242
 
5
243
  ### Patch Changes
@@ -0,0 +1,20 @@
1
+ import {
2
+ UserApi,
3
+ createUserApi
4
+ } from "./chunk-6W3BZCW6.js";
5
+ import "./chunk-GJ5TMHKC.js";
6
+ import "./chunk-FUE2KPKM.js";
7
+ import "./chunk-PENPHA45.js";
8
+ import "./chunk-OMXUQAZJ.js";
9
+ import "./chunk-PUGHLCBW.js";
10
+ import "./chunk-2LHPMFSR.js";
11
+ import "./chunk-LP7BEXCT.js";
12
+ import "./chunk-RQQIB7CD.js";
13
+ import "./chunk-IGNJOJEP.js";
14
+ import "./chunk-HKANJAOP.js";
15
+ import "./chunk-PZ5AY32C.js";
16
+ export {
17
+ UserApi,
18
+ createUserApi
19
+ };
20
+ //# sourceMappingURL=api-ETB5Y4DY.js.map
@@ -1,42 +1,42 @@
1
1
  import {
2
2
  issueAttestationCore
3
- } from "../chunk-7LNE2N2V.js";
3
+ } from "../chunk-Z7AHYSZF.js";
4
4
  import {
5
5
  getRevokedDocIdsCore,
6
6
  publishRevocationListCore,
7
7
  revokeDocCore,
8
8
  unrevokeDocCore
9
- } from "../chunk-DIZ6HM7Q.js";
9
+ } from "../chunk-G6DAESDS.js";
10
10
  import {
11
11
  ATTESTATIONS_COLLECTION
12
- } from "../chunk-ESKIAXO2.js";
12
+ } from "../chunk-23ODLABM.js";
13
13
  import {
14
14
  NO_ATTESTATION
15
- } from "../chunk-HR5R5JOM.js";
15
+ } from "../chunk-D5DZ4R7X.js";
16
16
  import "../chunk-4AOERLTV.js";
17
- import "../chunk-OHOKBMTM.js";
17
+ import "../chunk-FUE2KPKM.js";
18
18
  import "../chunk-PENPHA45.js";
19
- import "../chunk-GQXFOAYZ.js";
20
- import "../chunk-KV6JM2IA.js";
21
- import "../chunk-TMBSPLUG.js";
19
+ import "../chunk-OMXUQAZJ.js";
20
+ import "../chunk-PUGHLCBW.js";
21
+ import "../chunk-2LHPMFSR.js";
22
22
  import "../chunk-LP7BEXCT.js";
23
- import "../chunk-AU3AUJIZ.js";
23
+ import "../chunk-RQQIB7CD.js";
24
24
  import "../chunk-IGNJOJEP.js";
25
25
  import {
26
26
  AttestationError,
27
27
  AttestationNotEnabledError
28
- } from "../chunk-CWM4GQD2.js";
28
+ } from "../chunk-HKANJAOP.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-3JNJNPT3.js");
35
+ const { issueAttestationCore: issueAttestationCore2 } = await import("../issue-NLJ3FCKL.js");
36
36
  return issueAttestationCore2(ctx, args);
37
37
  },
38
38
  async getDocumentSigningPublicKey(deps) {
39
- const { loadSigner, loadOrCreateSigner } = await import("../signer-Q7XQBMPA.js");
39
+ const { loadSigner, loadOrCreateSigner } = await import("../signer-N5TGVOTN.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-YXY6SHUH.js");
49
+ const { revokeDocCore: revokeDocCore2 } = await import("../revoke-XQ5STGT4.js");
50
50
  return revokeDocCore2(ctx, docId);
51
51
  },
52
52
  async unrevokeAttestation(ctx, docId) {
53
- const { unrevokeDocCore: unrevokeDocCore2 } = await import("../revoke-YXY6SHUH.js");
53
+ const { unrevokeDocCore: unrevokeDocCore2 } = await import("../revoke-XQ5STGT4.js");
54
54
  return unrevokeDocCore2(ctx, docId);
55
55
  },
56
56
  async getRevokedDocIds(ctx) {
57
- const { getRevokedDocIdsCore: getRevokedDocIdsCore2 } = await import("../revoke-YXY6SHUH.js");
57
+ const { getRevokedDocIdsCore: getRevokedDocIdsCore2 } = await import("../revoke-XQ5STGT4.js");
58
58
  return getRevokedDocIdsCore2(ctx);
59
59
  },
60
60
  async publishRevocationList(ctx) {
61
- const { publishRevocationListCore: publishRevocationListCore2 } = await import("../revoke-YXY6SHUH.js");
61
+ const { publishRevocationListCore: publishRevocationListCore2 } = await import("../revoke-XQ5STGT4.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-6WO62AJW.js";
6
+ } from "./chunk-SZFNO7L4.js";
7
7
  import {
8
8
  SEQUENCE_COLLECTION
9
- } from "./chunk-YALD3SST.js";
9
+ } from "./chunk-G4577GK7.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-A4TOGAUW.js";
16
+ } from "./chunk-VXH5Z22C.js";
17
17
  import {
18
18
  LEDGER_COLLECTION,
19
19
  LEDGER_DELTAS_COLLECTION
20
20
  } from "./chunk-I7FD46FF.js";
21
- import "./chunk-OHOKBMTM.js";
21
+ import "./chunk-FUE2KPKM.js";
22
22
  import {
23
23
  buildRecordEnvelope
24
24
  } from "./chunk-PENPHA45.js";
25
- import "./chunk-GQXFOAYZ.js";
26
- import "./chunk-KV6JM2IA.js";
27
- import "./chunk-TMBSPLUG.js";
25
+ import "./chunk-OMXUQAZJ.js";
26
+ import "./chunk-PUGHLCBW.js";
27
+ import "./chunk-2LHPMFSR.js";
28
28
  import "./chunk-LP7BEXCT.js";
29
- import "./chunk-AU3AUJIZ.js";
29
+ import "./chunk-RQQIB7CD.js";
30
30
  import {
31
31
  NOYDB_BACKUP_VERSION
32
32
  } from "./chunk-IGNJOJEP.js";
33
33
  import {
34
34
  BackupCorruptedError,
35
35
  BackupLedgerError
36
- } from "./chunk-CWM4GQD2.js";
36
+ } from "./chunk-HKANJAOP.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-FSC36VWC.js.map
265
+ //# sourceMappingURL=backup-UOLAXOJ4.js.map
@@ -2,6 +2,15 @@ import {
2
2
  importExternalObjects,
3
3
  memoryObjectProjection
4
4
  } from "../chunk-4Q6HSHHL.js";
5
+ import {
6
+ BLOB_EVICTION_AUDIT_COLLECTION,
7
+ EXPORT_AUDIT_COLLECTION,
8
+ ExportBlobsAbortedError,
9
+ NO_BLOBS,
10
+ createExportBlobsHandle,
11
+ reportOrphanBlobChunks,
12
+ runCompaction
13
+ } from "../chunk-TA67ZQUH.js";
5
14
  import {
6
15
  BLOB_CHUNKS_COLLECTION,
7
16
  BLOB_COLLECTION,
@@ -16,29 +25,21 @@ import {
16
25
  detectMimeType,
17
26
  isPreCompressed,
18
27
  memoryBlobPinStore
19
- } from "../chunk-JLYQQNY4.js";
20
- import {
21
- BLOB_EVICTION_AUDIT_COLLECTION,
22
- EXPORT_AUDIT_COLLECTION,
23
- ExportBlobsAbortedError,
24
- NO_BLOBS,
25
- createExportBlobsHandle,
26
- runCompaction
27
- } from "../chunk-4OQZNXQG.js";
28
- import "../chunk-JNMTN5D5.js";
29
- import "../chunk-NW4TY6VC.js";
30
- import "../chunk-PPCOKVFA.js";
31
- import "../chunk-OHOKBMTM.js";
28
+ } from "../chunk-BYX3AUXH.js";
29
+ import "../chunk-LZHIYH32.js";
30
+ import "../chunk-3UIS6O6N.js";
31
+ import "../chunk-6ZTPSVY7.js";
32
+ import "../chunk-FUE2KPKM.js";
32
33
  import "../chunk-PENPHA45.js";
33
- import "../chunk-GQXFOAYZ.js";
34
- import "../chunk-KV6JM2IA.js";
35
- import "../chunk-TMBSPLUG.js";
34
+ import "../chunk-OMXUQAZJ.js";
35
+ import "../chunk-PUGHLCBW.js";
36
+ import "../chunk-2LHPMFSR.js";
36
37
  import "../chunk-LP7BEXCT.js";
37
- import "../chunk-AU3AUJIZ.js";
38
+ import "../chunk-RQQIB7CD.js";
38
39
  import "../chunk-IGNJOJEP.js";
39
40
  import {
40
41
  BlobOfflineError
41
- } from "../chunk-CWM4GQD2.js";
42
+ } from "../chunk-HKANJAOP.js";
42
43
  import "../chunk-PZ5AY32C.js";
43
44
 
44
45
  // src/via/blob/active.ts
@@ -74,6 +75,7 @@ export {
74
75
  isPreCompressed,
75
76
  memoryBlobPinStore,
76
77
  memoryObjectProjection,
78
+ reportOrphanBlobChunks,
77
79
  runCompaction,
78
80
  withBlobs
79
81
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/via/blob/active.ts"],"sourcesContent":["/**\n * Active blob strategy factory. Calling `blobs()` returns a\n * `BlobsStrategy` whose `openSlot` constructs a real `BlobSet` bound\n * to the caller's record. The returned strategy is passed into\n * `createNoydb({ blobsStrategy: blobs() })` to light up the\n * `collection.blob(id)` path.\n *\n * This module is only reachable through the `@noy-db/hub/blobs`\n * subpath — a consumer that never imports the subpath ships none of\n * this (ESM tree-shaking + hub's `\"sideEffects\": false`).\n */\n\nimport { BlobSet } from '../../with-shape/blobs/blob-set.js'\nimport type { BlobsStrategy } from '../../port/with/blob-strategy.js'\nimport { createBlobPinCache } from '../../with-shape/blobs/blob-pinning.js'\nimport type { BlobPinStore } from '../../with-shape/blobs/blob-pinning.js'\n\n/** Options for {@link withBlobs} (#808). */\nexport interface WithBlobsOptions {\n /**\n * Device-local backend for the offline-pin registry + external side-cache\n * (`collection.blob(id).pin()`, the `cacheBudget` LRU stamps). Default:\n * in-memory — pins then last one app session. Supply a durable,\n * DEVICE-LOCAL store (IndexedDB-backed on the web; it must never sync) to\n * keep pins across restarts. See `BlobPinStore`'s doc for the posture.\n */\n readonly pinStore?: BlobPinStore\n}\n\n/**\n * Build a default `BlobsStrategy` ready to pass into `createNoydb`.\n *\n * Named `withBlobs` (plugin-pattern canonical) rather than `blobs` to\n * avoid shadowing the very common local idiom\n * `const blobs = invoices.blob(id)` in user code.\n *\n * One `withBlobs()` instance owns one device-local pin registry + KPI\n * counter set (#808) — treat it as \"this device's\" blob service.\n *\n * @example\n * ```ts\n * import { createNoydb } from '@noy-db/hub'\n * import { withBlobs } from '@noy-db/hub/blobs'\n *\n * const db = await createNoydb({\n * store, user, secret,\n * blobsStrategy: withBlobs(),\n * })\n *\n * // Now live — delegates to BlobSet.\n * const vault = await db.openVault('acme')\n * await vault.collection('invoices').blob('inv-1').put('receipt.pdf', bytes)\n * ```\n */\nexport function withBlobs(options: WithBlobsOptions = {}): BlobsStrategy {\n const pinCache = createBlobPinCache(options.pinStore)\n return {\n openSlot(args) {\n return new BlobSet({ ...args, pinCache })\n },\n cacheStats() {\n return { ...pinCache.stats }\n },\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDO,SAAS,UAAU,UAA4B,CAAC,GAAkB;AACvE,QAAM,WAAW,mBAAmB,QAAQ,QAAQ;AACpD,SAAO;AAAA,IACL,SAAS,MAAM;AACb,aAAO,IAAI,QAAQ,EAAE,GAAG,MAAM,SAAS,CAAC;AAAA,IAC1C;AAAA,IACA,aAAa;AACX,aAAO,EAAE,GAAG,SAAS,MAAM;AAAA,IAC7B;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/via/blob/active.ts"],"sourcesContent":["/**\n * Active blob strategy factory. Calling `blobs()` returns a\n * `BlobsStrategy` whose `openSlot` constructs a real `BlobSet` bound\n * to the caller's record. The returned strategy is passed into\n * `createNoydb({ blobsStrategy: blobs() })` to light up the\n * `collection.blob(id)` path.\n *\n * This module is only reachable through the `@noy-db/hub/blobs`\n * subpath — a consumer that never imports the subpath ships none of\n * this (ESM tree-shaking + hub's `\"sideEffects\": false`).\n */\n\nimport { BlobSet } from '../../with-shape/blobs/blob-set.js'\nimport type { BlobsStrategy } from '../../port/with/blob-strategy.js'\nimport { createBlobPinCache } from '../../with-shape/blobs/blob-pinning.js'\nimport type { BlobPinStore } from '../../with-shape/blobs/blob-pinning.js'\n\n/** Options for {@link withBlobs} (#808). */\nexport interface WithBlobsOptions {\n /**\n * Device-local backend for the offline-pin registry + external side-cache\n * (`collection.blob(id).pin()`, the `cacheBudget` LRU stamps). Default:\n * in-memory — pins then last one app session. Supply a durable,\n * DEVICE-LOCAL store (IndexedDB-backed on the web; it must never sync) to\n * keep pins across restarts. See `BlobPinStore`'s doc for the posture.\n */\n readonly pinStore?: BlobPinStore\n}\n\n/**\n * Build a default `BlobsStrategy` ready to pass into `createNoydb`.\n *\n * Named `withBlobs` (plugin-pattern canonical) rather than `blobs` to\n * avoid shadowing the very common local idiom\n * `const blobs = invoices.blob(id)` in user code.\n *\n * One `withBlobs()` instance owns one device-local pin registry + KPI\n * counter set (#808) — treat it as \"this device's\" blob service.\n *\n * @example\n * ```ts\n * import { createNoydb } from '@noy-db/hub'\n * import { withBlobs } from '@noy-db/hub/blobs'\n *\n * const db = await createNoydb({\n * store, user, secret,\n * blobsStrategy: withBlobs(),\n * })\n *\n * // Now live — delegates to BlobSet.\n * const vault = await db.openVault('acme')\n * await vault.collection('invoices').blob('inv-1').put('receipt.pdf', bytes)\n * ```\n */\nexport function withBlobs(options: WithBlobsOptions = {}): BlobsStrategy {\n const pinCache = createBlobPinCache(options.pinStore)\n return {\n openSlot(args) {\n return new BlobSet({ ...args, pinCache })\n },\n cacheStats() {\n return { ...pinCache.stats }\n },\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDO,SAAS,UAAU,UAA4B,CAAC,GAAkB;AACvE,QAAM,WAAW,mBAAmB,QAAQ,QAAQ;AACpD,SAAO;AAAA,IACL,SAAS,MAAM;AACb,aAAO,IAAI,QAAQ,EAAE,GAAG,MAAM,SAAS,CAAC;AAAA,IAC1C;AAAA,IACA,aAAa;AACX,aAAO,EAAE,GAAG,SAAS,MAAM;AAAA,IAC7B;AAAA,EACF;AACF;","names":[]}
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  NO_BROKER
3
- } from "../chunk-OIBEJN5H.js";
3
+ } from "../chunk-LYQUFIHL.js";
4
4
  import {
5
5
  issueChallenge,
6
6
  verifyBrokerProof
7
- } from "../chunk-OHOKBMTM.js";
7
+ } from "../chunk-FUE2KPKM.js";
8
8
  import "../chunk-PENPHA45.js";
9
- import "../chunk-GQXFOAYZ.js";
10
- import "../chunk-KV6JM2IA.js";
11
- import "../chunk-TMBSPLUG.js";
9
+ import "../chunk-OMXUQAZJ.js";
10
+ import "../chunk-PUGHLCBW.js";
11
+ import "../chunk-2LHPMFSR.js";
12
12
  import "../chunk-LP7BEXCT.js";
13
- import "../chunk-AU3AUJIZ.js";
13
+ import "../chunk-RQQIB7CD.js";
14
14
  import "../chunk-IGNJOJEP.js";
15
15
  import {
16
16
  BrokerEnrolmentError,
17
17
  BrokerNotEnabledError,
18
18
  BrokerProofError
19
- } from "../chunk-CWM4GQD2.js";
19
+ } from "../chunk-HKANJAOP.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-DZ4ORU5N.js");
33
+ const { enrollSeed } = await import("../seed-WJWCFPZL.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-DZ4ORU5N.js");
42
+ const { rotateSeed } = await import("../seed-WJWCFPZL.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-DZ4ORU5N.js");
59
+ const { mintStoreCredentials } = await import("../seed-WJWCFPZL.js");
60
60
  const creds = await mintStoreCredentials({ ...ctx, config }, profile);
61
61
  capturedEntry.cached = { creds, validUntil: cacheFloor(creds, skewMs) };
62
62
  return creds;
@@ -6,66 +6,66 @@ import {
6
6
  diffVault,
7
7
  unsealDeks,
8
8
  withCargo
9
- } from "../chunk-E5SC6ENM.js";
9
+ } from "../chunk-UWRVDBDC.js";
10
10
  import {
11
11
  extractPartition,
12
12
  walkClosure
13
- } from "../chunk-BAHOV5I5.js";
13
+ } from "../chunk-SIACMXFK.js";
14
14
  import {
15
15
  createDeedOwner,
16
16
  isDeedVault,
17
17
  liberateVault,
18
18
  loadDeedMarker
19
- } from "../chunk-HQSPF5IY.js";
20
- import "../chunk-5Q7AJ7DN.js";
21
- import "../chunk-GBBDFE6C.js";
19
+ } from "../chunk-ISRAQIYY.js";
20
+ import "../chunk-I3D67XD7.js";
21
+ import "../chunk-7LWBD3NO.js";
22
22
  import {
23
23
  NO_CARGO,
24
24
  isQuorum,
25
25
  runDrainBarrier
26
- } from "../chunk-FS7NTGCJ.js";
26
+ } from "../chunk-WBFJZCDJ.js";
27
27
  import "../chunk-OTHHO3KI.js";
28
- import "../chunk-6WO62AJW.js";
28
+ import "../chunk-SZFNO7L4.js";
29
29
  import {
30
30
  CustodyApi
31
- } from "../chunk-AUPSEJ7O.js";
32
- import "../chunk-QSIEL6TL.js";
33
- import "../chunk-S56VYR4Q.js";
31
+ } from "../chunk-WG66ZPEV.js";
32
+ import "../chunk-XXONVJWA.js";
33
+ import "../chunk-5FRZ7YYU.js";
34
34
  import {
35
35
  fuseRetrieval
36
36
  } from "../chunk-AURFOK3D.js";
37
- import "../chunk-JLYQQNY4.js";
37
+ import "../chunk-BYX3AUXH.js";
38
38
  import {
39
39
  groupAndReduce,
40
40
  reduceRecords
41
- } from "../chunk-B6IYATME.js";
41
+ } from "../chunk-DXJXVWWE.js";
42
42
  import "../chunk-XZHEOSQ2.js";
43
- import "../chunk-CADUYBQD.js";
43
+ import "../chunk-ATL3ZVXT.js";
44
44
  import {
45
45
  readPath
46
- } from "../chunk-IGJCYUT5.js";
47
- import "../chunk-WVE6YKMX.js";
48
- import "../chunk-JNMTN5D5.js";
49
- import "../chunk-CAGI4LLJ.js";
50
- import "../chunk-LX46B56Q.js";
51
- import "../chunk-NW4TY6VC.js";
46
+ } from "../chunk-NSITFOCJ.js";
47
+ import "../chunk-U5ZDYJLQ.js";
48
+ import "../chunk-LZHIYH32.js";
49
+ import "../chunk-AK6EWGDO.js";
50
+ import "../chunk-GJ5TMHKC.js";
51
+ import "../chunk-3UIS6O6N.js";
52
52
  import {
53
53
  generateULID
54
54
  } from "../chunk-4AOERLTV.js";
55
55
  import "../chunk-SVLR4POP.js";
56
- import "../chunk-4A34KWOU.js";
56
+ import "../chunk-OGB2UTBC.js";
57
57
  import "../chunk-I7FD46FF.js";
58
- import "../chunk-ZLHHE5XZ.js";
59
- import "../chunk-PPCOKVFA.js";
60
- import "../chunk-OHOKBMTM.js";
58
+ import "../chunk-YLIGPHN4.js";
59
+ import "../chunk-6ZTPSVY7.js";
60
+ import "../chunk-FUE2KPKM.js";
61
61
  import "../chunk-PENPHA45.js";
62
- import "../chunk-GQXFOAYZ.js";
63
- import "../chunk-KV6JM2IA.js";
64
- import "../chunk-TMBSPLUG.js";
62
+ import "../chunk-OMXUQAZJ.js";
63
+ import "../chunk-PUGHLCBW.js";
64
+ import "../chunk-2LHPMFSR.js";
65
65
  import "../chunk-LP7BEXCT.js";
66
66
  import {
67
67
  sha256Hex
68
- } from "../chunk-AU3AUJIZ.js";
68
+ } from "../chunk-RQQIB7CD.js";
69
69
  import "../chunk-IGNJOJEP.js";
70
70
  import {
71
71
  AdoptionStateError,
@@ -81,7 +81,7 @@ import {
81
81
  UnknownShardError,
82
82
  ValidationError,
83
83
  VaultTemplateNotFoundError
84
- } from "../chunk-CWM4GQD2.js";
84
+ } from "../chunk-HKANJAOP.js";
85
85
  import "../chunk-PZ5AY32C.js";
86
86
  export {
87
87
  AdoptionStateError,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  linkI18nVia
3
- } from "./chunk-WVE6YKMX.js";
3
+ } from "./chunk-U5ZDYJLQ.js";
4
4
 
5
5
  // src/via/i18n/dictionary.ts
6
6
  function dictKey(name, keysOrMap, opts) {
@@ -71,4 +71,4 @@ export {
71
71
  dictKey,
72
72
  staticDict
73
73
  };
74
- //# sourceMappingURL=chunk-3B6S6RSI.js.map
74
+ //# sourceMappingURL=chunk-22VRCUV2.js.map