@noy-db/hub 0.2.0-pre.5 → 0.2.0-pre.7

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 (258) hide show
  1. package/dist/aggregate/index.cjs.map +1 -1
  2. package/dist/aggregate/index.js +4 -4
  3. package/dist/attestation/index.cjs.map +1 -1
  4. package/dist/attestation/index.d.cts +4 -4
  5. package/dist/attestation/index.d.ts +4 -4
  6. package/dist/attestation/index.js +6 -6
  7. package/dist/blobs/index.cjs.map +1 -1
  8. package/dist/blobs/index.d.cts +5 -5
  9. package/dist/blobs/index.d.ts +5 -5
  10. package/dist/blobs/index.js +5 -5
  11. package/dist/bundle/index.cjs +379 -21
  12. package/dist/bundle/index.cjs.map +1 -1
  13. package/dist/bundle/index.d.cts +6 -6
  14. package/dist/bundle/index.d.ts +6 -6
  15. package/dist/bundle/index.js +12 -12
  16. package/dist/{chunk-E225X5CQ.js → chunk-22ESLVUM.js} +3 -3
  17. package/dist/{chunk-5QPF2MJ5.js → chunk-2TXMTYWZ.js} +3 -3
  18. package/dist/{chunk-BT7544RM.js → chunk-3O5FNO5O.js} +116 -54
  19. package/dist/chunk-3O5FNO5O.js.map +1 -0
  20. package/dist/{chunk-34XGYMQT.js → chunk-3XCXUJTM.js} +2 -2
  21. package/dist/{chunk-XDW37COG.js → chunk-4EOVWJL6.js} +212 -7
  22. package/dist/chunk-4EOVWJL6.js.map +1 -0
  23. package/dist/{chunk-KGFV72WK.js → chunk-4YVVF6JN.js} +5 -5
  24. package/dist/{chunk-UGVDIOY7.js → chunk-6ILPGZXZ.js} +2 -2
  25. package/dist/{chunk-DFCINPB5.js → chunk-6MXGU2PW.js} +2 -2
  26. package/dist/{chunk-Y3P5DEMZ.js → chunk-7IH5FDXD.js} +6 -6
  27. package/dist/{chunk-2GMRNNI3.js → chunk-ASFE2X62.js} +2 -2
  28. package/dist/{chunk-YZ6JETII.js → chunk-AYRTGXF3.js} +180 -5
  29. package/dist/chunk-AYRTGXF3.js.map +1 -0
  30. package/dist/{chunk-CCC25PA7.js → chunk-BE5ZALMB.js} +5 -5
  31. package/dist/{chunk-WEA4TDTJ.js → chunk-BNUCCUES.js} +3 -3
  32. package/dist/{chunk-PS5G6A3Y.js → chunk-BRZFN354.js} +4 -4
  33. package/dist/{chunk-RIHZBSWJ.js → chunk-CBHPW77B.js} +3 -3
  34. package/dist/{chunk-LWFQYT4N.js → chunk-CSHY53CZ.js} +2 -2
  35. package/dist/{chunk-MDIC4FAU.js → chunk-DCP4L4SH.js} +2 -2
  36. package/dist/{chunk-TNBIWSQ7.js → chunk-GI6S5ZF2.js} +2 -2
  37. package/dist/{chunk-G26QAQNI.js → chunk-GZIDTXC4.js} +2 -2
  38. package/dist/{chunk-ARZAHCCF.js → chunk-HNC55FLJ.js} +3 -3
  39. package/dist/{chunk-SGSHQ4PH.js → chunk-HNFXKQD7.js} +5 -5
  40. package/dist/{chunk-YEHUEUNP.js → chunk-JZDA2SRB.js} +4 -4
  41. package/dist/{chunk-PX3MJ6RB.js → chunk-KK44CQ5B.js} +3 -3
  42. package/dist/{chunk-OPD3PZOG.js → chunk-LSY46G55.js} +4 -4
  43. package/dist/{chunk-T6MTNGBM.js → chunk-N4CDTRDH.js} +4 -4
  44. package/dist/{chunk-ZQMYB56Z.js → chunk-O3JCRQT3.js} +3 -3
  45. package/dist/{chunk-LJO6Q3X6.js → chunk-OA6HE2RW.js} +3 -3
  46. package/dist/{chunk-HIELMTUK.js → chunk-OIF6LZUR.js} +2 -2
  47. package/dist/{chunk-YJ46RFCD.js → chunk-OXCFFRF3.js} +2 -2
  48. package/dist/{chunk-ED3E3OLO.js → chunk-PJKGXUMG.js} +2 -2
  49. package/dist/{chunk-6A4AMQ2H.js → chunk-QYO6I7KK.js} +4 -4
  50. package/dist/{chunk-6HJ2ZALB.js → chunk-REQJJIPP.js} +44 -2
  51. package/dist/chunk-REQJJIPP.js.map +1 -0
  52. package/dist/{chunk-7TX7HN42.js → chunk-SLJQIBT7.js} +20 -3
  53. package/dist/chunk-SLJQIBT7.js.map +1 -0
  54. package/dist/{chunk-A4JNVBPF.js → chunk-SYOSRZN4.js} +5 -5
  55. package/dist/{chunk-R4LTCI6O.js → chunk-TS4FQPDD.js} +2 -2
  56. package/dist/{chunk-ICH4AIGL.js → chunk-TV3YZ35S.js} +5 -1
  57. package/dist/chunk-TV3YZ35S.js.map +1 -0
  58. package/dist/{chunk-CKH247ZR.js → chunk-UPBZ7NVY.js} +4 -4
  59. package/dist/{chunk-XVJFFGTG.js → chunk-VZOZ3DBN.js} +3 -3
  60. package/dist/{chunk-5VMTAX4Y.js → chunk-W6EQLGMB.js} +2 -2
  61. package/dist/{chunk-JSYTGEX4.js → chunk-WBUG3324.js} +3 -3
  62. package/dist/{chunk-5OVIFUQE.js → chunk-WIRRPTFH.js} +1 -1
  63. package/dist/chunk-WIRRPTFH.js.map +1 -0
  64. package/dist/{chunk-25WFLKOH.js → chunk-WM5GFORS.js} +2 -2
  65. package/dist/{chunk-CGJFCT3X.js → chunk-WMKCAN4H.js} +2 -2
  66. package/dist/{chunk-R7JTYCRX.js → chunk-XZCBBZLS.js} +2 -2
  67. package/dist/{chunk-EKTOYEZ3.js → chunk-YAMTXW77.js} +2 -2
  68. package/dist/consent/index.cjs.map +1 -1
  69. package/dist/consent/index.d.cts +5 -5
  70. package/dist/consent/index.d.ts +5 -5
  71. package/dist/consent/index.js +3 -3
  72. package/dist/{crypto-5UDZZL26.js → crypto-TRZ5BJMY.js} +3 -3
  73. package/dist/{delegation-42LO4WFO.js → delegation-TLZTK2XW.js} +5 -5
  74. package/dist/derivations/index.cjs.map +1 -1
  75. package/dist/derivations/index.d.cts +6 -6
  76. package/dist/derivations/index.d.ts +6 -6
  77. package/dist/derivations/index.js +4 -4
  78. package/dist/{dev-unlock--ahUTrhc.d.ts → dev-unlock-ClAEZQC4.d.ts} +1 -1
  79. package/dist/{dev-unlock-BIwt2V3p.d.cts → dev-unlock-L3z34v0J.d.cts} +1 -1
  80. package/dist/executor-HAVRTQN4.js +11 -0
  81. package/dist/executor-V3DKOADS.js +8 -0
  82. package/dist/executor-XO4M4243.js +8 -0
  83. package/dist/{fanout-sidecar-EVICRM46.js → fanout-sidecar-OKPMMPLG.js} +2 -2
  84. package/dist/guards/index.cjs.map +1 -1
  85. package/dist/guards/index.d.cts +6 -6
  86. package/dist/guards/index.d.ts +6 -6
  87. package/dist/guards/index.js +3 -3
  88. package/dist/{hash-CJEFQxSD.d.ts → hash-B3lV6lw3.d.ts} +1 -1
  89. package/dist/{hash-BQVrGV-t.d.cts → hash-M6-JI3Yu.d.cts} +1 -1
  90. package/dist/history/index.cjs.map +1 -1
  91. package/dist/history/index.d.cts +6 -6
  92. package/dist/history/index.d.ts +6 -6
  93. package/dist/history/index.js +5 -5
  94. package/dist/i18n/index.cjs +75 -10
  95. package/dist/i18n/index.cjs.map +1 -1
  96. package/dist/i18n/index.d.cts +5 -5
  97. package/dist/i18n/index.d.ts +5 -5
  98. package/dist/i18n/index.js +15 -13
  99. package/dist/{index-fIPPh5dg.d.ts → index-CmWQyC4e.d.ts} +84 -7
  100. package/dist/{index-5I0MZ0jQ.d.cts → index-vB43MAt4.d.cts} +84 -7
  101. package/dist/index.cjs +516 -123
  102. package/dist/index.cjs.map +1 -1
  103. package/dist/index.d.cts +13 -13
  104. package/dist/index.d.ts +13 -13
  105. package/dist/index.js +66 -60
  106. package/dist/index.js.map +1 -1
  107. package/dist/indexing/index.cjs +4 -0
  108. package/dist/indexing/index.cjs.map +1 -1
  109. package/dist/indexing/index.d.cts +3 -3
  110. package/dist/indexing/index.d.ts +3 -3
  111. package/dist/indexing/index.js +4 -4
  112. package/dist/issue-EJKUQ6FA.js +12 -0
  113. package/dist/{lazy-builder-D1MyR1qH.d.ts → lazy-builder-7tIpFyWN.d.ts} +1 -1
  114. package/dist/{lazy-builder-DXlSCNCJ.d.cts → lazy-builder-wY4pMCEe.d.cts} +1 -1
  115. package/dist/{ledger-UX4QIHWI.js → ledger-SQVVE2DR.js} +5 -5
  116. package/dist/materialized-views/index.cjs +18 -1
  117. package/dist/materialized-views/index.cjs.map +1 -1
  118. package/dist/materialized-views/index.d.cts +10 -8
  119. package/dist/materialized-views/index.d.ts +10 -8
  120. package/dist/materialized-views/index.js +12 -12
  121. package/dist/noydb-MK4UQ626.js +34 -0
  122. package/dist/overlay-views/index.cjs.map +1 -1
  123. package/dist/overlay-views/index.d.cts +6 -6
  124. package/dist/overlay-views/index.d.ts +6 -6
  125. package/dist/overlay-views/index.js +6 -6
  126. package/dist/periods/index.cjs.map +1 -1
  127. package/dist/periods/index.d.cts +5 -5
  128. package/dist/periods/index.d.ts +5 -5
  129. package/dist/periods/index.js +5 -5
  130. package/dist/{predicate-B0IKeBXx.d.cts → predicate-BSAGEyu5.d.cts} +26 -2
  131. package/dist/{predicate-B0IKeBXx.d.ts → predicate-BSAGEyu5.d.ts} +26 -2
  132. package/dist/{public-envelope-YKHKP74C.js → public-envelope-BXPXMN3U.js} +4 -4
  133. package/dist/query/index.cjs +244 -4
  134. package/dist/query/index.cjs.map +1 -1
  135. package/dist/query/index.d.cts +2 -2
  136. package/dist/query/index.d.ts +2 -2
  137. package/dist/query/index.js +12 -6
  138. package/dist/{registry-4NEW7LQY.js → registry-4R4IURUM.js} +3 -3
  139. package/dist/registry-GPBLCHG7.js +8 -0
  140. package/dist/registry-ZON5HNIV.js +8 -0
  141. package/dist/{revoke-R5NIQ74J.js → revoke-Y7UDOXGH.js} +6 -6
  142. package/dist/session/index.cjs.map +1 -1
  143. package/dist/session/index.d.cts +6 -6
  144. package/dist/session/index.d.ts +6 -6
  145. package/dist/session/index.js +3 -3
  146. package/dist/shadow/index.cjs.map +1 -1
  147. package/dist/shadow/index.d.cts +5 -5
  148. package/dist/shadow/index.d.ts +5 -5
  149. package/dist/shadow/index.js +2 -2
  150. package/dist/{signer-WGDJNWSU.js → signer-UD2ZSVDJ.js} +5 -5
  151. package/dist/snapshots/index.cjs +903 -0
  152. package/dist/snapshots/index.cjs.map +1 -0
  153. package/dist/snapshots/index.d.cts +21 -0
  154. package/dist/snapshots/index.d.ts +21 -0
  155. package/dist/snapshots/index.js +118 -0
  156. package/dist/snapshots/index.js.map +1 -0
  157. package/dist/{stale-74WGLVZ2.js → stale-F4V5E7ZK.js} +2 -2
  158. package/dist/store/index.cjs.map +1 -1
  159. package/dist/store/index.d.cts +5 -5
  160. package/dist/store/index.d.ts +5 -5
  161. package/dist/store/index.js +2 -2
  162. package/dist/sync/index.cjs.map +1 -1
  163. package/dist/sync/index.d.cts +4 -4
  164. package/dist/sync/index.d.ts +4 -4
  165. package/dist/sync/index.js +4 -4
  166. package/dist/team/index.cjs.map +1 -1
  167. package/dist/team/index.d.cts +5 -5
  168. package/dist/team/index.d.ts +5 -5
  169. package/dist/team/index.js +8 -8
  170. package/dist/tx/index.cjs.map +1 -1
  171. package/dist/tx/index.d.cts +5 -5
  172. package/dist/tx/index.d.ts +5 -5
  173. package/dist/tx/index.js +3 -3
  174. package/dist/{types-BV4AZKmx.d.ts → types-DT7cXRHq.d.ts} +84 -8
  175. package/dist/{types-BeKi0hCx.d.cts → types-r-y7TIqj.d.cts} +84 -8
  176. package/dist/{ulid-Cvljl7ZZ.d.cts → ulid-BkW3mLlz.d.cts} +1 -1
  177. package/dist/{ulid-CQc0eBxE.d.ts → ulid-Dt55yn4s.d.ts} +1 -1
  178. package/dist/util/index.cjs.map +1 -1
  179. package/dist/util/index.js +1 -1
  180. package/dist/{with-derivation-BkOBDhsu.d.cts → with-derivation-DB63Po2m.d.cts} +1 -1
  181. package/dist/{with-derivation-BWcwmevt.d.ts → with-derivation-D_Ids_H6.d.ts} +1 -1
  182. package/dist/{with-guard-BD4Hyu8s.d.cts → with-guard-BHThLppa.d.cts} +1 -1
  183. package/dist/{with-guard-Du54s3Ti.d.ts → with-guard-BJwdc0s6.d.ts} +1 -1
  184. package/dist/{with-materialized-view-BCPPZdjC.d.cts → with-materialized-view-BJmJ-FrO.d.cts} +1 -1
  185. package/dist/{with-materialized-view-B5W4wFAC.d.ts → with-materialized-view-D-CRVSDX.d.ts} +1 -1
  186. package/dist/{with-overlayed-view-Cw-h9p9N.d.ts → with-overlayed-view-CNf6GbDG.d.ts} +1 -1
  187. package/dist/{with-overlayed-view-B8RrlLsG.d.cts → with-overlayed-view-zePNtUSq.d.cts} +1 -1
  188. package/package.json +13 -3
  189. package/dist/chunk-5OVIFUQE.js.map +0 -1
  190. package/dist/chunk-6HJ2ZALB.js.map +0 -1
  191. package/dist/chunk-7TX7HN42.js.map +0 -1
  192. package/dist/chunk-BT7544RM.js.map +0 -1
  193. package/dist/chunk-ICH4AIGL.js.map +0 -1
  194. package/dist/chunk-NONMIU6C.js +0 -118
  195. package/dist/chunk-NONMIU6C.js.map +0 -1
  196. package/dist/chunk-XDW37COG.js.map +0 -1
  197. package/dist/chunk-YZ6JETII.js.map +0 -1
  198. package/dist/executor-AWCHQ2KN.js +0 -8
  199. package/dist/executor-RWICJI7J.js +0 -11
  200. package/dist/executor-SOLEQVUB.js +0 -8
  201. package/dist/issue-IODMTPME.js +0 -12
  202. package/dist/noydb-6TADQIYH.js +0 -34
  203. package/dist/registry-446I2NMN.js +0 -8
  204. package/dist/registry-524KJZG4.js +0 -8
  205. /package/dist/{chunk-E225X5CQ.js.map → chunk-22ESLVUM.js.map} +0 -0
  206. /package/dist/{chunk-5QPF2MJ5.js.map → chunk-2TXMTYWZ.js.map} +0 -0
  207. /package/dist/{chunk-34XGYMQT.js.map → chunk-3XCXUJTM.js.map} +0 -0
  208. /package/dist/{chunk-KGFV72WK.js.map → chunk-4YVVF6JN.js.map} +0 -0
  209. /package/dist/{chunk-UGVDIOY7.js.map → chunk-6ILPGZXZ.js.map} +0 -0
  210. /package/dist/{chunk-DFCINPB5.js.map → chunk-6MXGU2PW.js.map} +0 -0
  211. /package/dist/{chunk-Y3P5DEMZ.js.map → chunk-7IH5FDXD.js.map} +0 -0
  212. /package/dist/{chunk-2GMRNNI3.js.map → chunk-ASFE2X62.js.map} +0 -0
  213. /package/dist/{chunk-CCC25PA7.js.map → chunk-BE5ZALMB.js.map} +0 -0
  214. /package/dist/{chunk-WEA4TDTJ.js.map → chunk-BNUCCUES.js.map} +0 -0
  215. /package/dist/{chunk-PS5G6A3Y.js.map → chunk-BRZFN354.js.map} +0 -0
  216. /package/dist/{chunk-RIHZBSWJ.js.map → chunk-CBHPW77B.js.map} +0 -0
  217. /package/dist/{chunk-LWFQYT4N.js.map → chunk-CSHY53CZ.js.map} +0 -0
  218. /package/dist/{chunk-MDIC4FAU.js.map → chunk-DCP4L4SH.js.map} +0 -0
  219. /package/dist/{chunk-TNBIWSQ7.js.map → chunk-GI6S5ZF2.js.map} +0 -0
  220. /package/dist/{chunk-G26QAQNI.js.map → chunk-GZIDTXC4.js.map} +0 -0
  221. /package/dist/{chunk-ARZAHCCF.js.map → chunk-HNC55FLJ.js.map} +0 -0
  222. /package/dist/{chunk-SGSHQ4PH.js.map → chunk-HNFXKQD7.js.map} +0 -0
  223. /package/dist/{chunk-YEHUEUNP.js.map → chunk-JZDA2SRB.js.map} +0 -0
  224. /package/dist/{chunk-PX3MJ6RB.js.map → chunk-KK44CQ5B.js.map} +0 -0
  225. /package/dist/{chunk-OPD3PZOG.js.map → chunk-LSY46G55.js.map} +0 -0
  226. /package/dist/{chunk-T6MTNGBM.js.map → chunk-N4CDTRDH.js.map} +0 -0
  227. /package/dist/{chunk-ZQMYB56Z.js.map → chunk-O3JCRQT3.js.map} +0 -0
  228. /package/dist/{chunk-LJO6Q3X6.js.map → chunk-OA6HE2RW.js.map} +0 -0
  229. /package/dist/{chunk-HIELMTUK.js.map → chunk-OIF6LZUR.js.map} +0 -0
  230. /package/dist/{chunk-YJ46RFCD.js.map → chunk-OXCFFRF3.js.map} +0 -0
  231. /package/dist/{chunk-ED3E3OLO.js.map → chunk-PJKGXUMG.js.map} +0 -0
  232. /package/dist/{chunk-6A4AMQ2H.js.map → chunk-QYO6I7KK.js.map} +0 -0
  233. /package/dist/{chunk-A4JNVBPF.js.map → chunk-SYOSRZN4.js.map} +0 -0
  234. /package/dist/{chunk-R4LTCI6O.js.map → chunk-TS4FQPDD.js.map} +0 -0
  235. /package/dist/{chunk-CKH247ZR.js.map → chunk-UPBZ7NVY.js.map} +0 -0
  236. /package/dist/{chunk-XVJFFGTG.js.map → chunk-VZOZ3DBN.js.map} +0 -0
  237. /package/dist/{chunk-5VMTAX4Y.js.map → chunk-W6EQLGMB.js.map} +0 -0
  238. /package/dist/{chunk-JSYTGEX4.js.map → chunk-WBUG3324.js.map} +0 -0
  239. /package/dist/{chunk-25WFLKOH.js.map → chunk-WM5GFORS.js.map} +0 -0
  240. /package/dist/{chunk-CGJFCT3X.js.map → chunk-WMKCAN4H.js.map} +0 -0
  241. /package/dist/{chunk-R7JTYCRX.js.map → chunk-XZCBBZLS.js.map} +0 -0
  242. /package/dist/{chunk-EKTOYEZ3.js.map → chunk-YAMTXW77.js.map} +0 -0
  243. /package/dist/{crypto-5UDZZL26.js.map → crypto-TRZ5BJMY.js.map} +0 -0
  244. /package/dist/{delegation-42LO4WFO.js.map → delegation-TLZTK2XW.js.map} +0 -0
  245. /package/dist/{executor-AWCHQ2KN.js.map → executor-HAVRTQN4.js.map} +0 -0
  246. /package/dist/{executor-RWICJI7J.js.map → executor-V3DKOADS.js.map} +0 -0
  247. /package/dist/{executor-SOLEQVUB.js.map → executor-XO4M4243.js.map} +0 -0
  248. /package/dist/{fanout-sidecar-EVICRM46.js.map → fanout-sidecar-OKPMMPLG.js.map} +0 -0
  249. /package/dist/{issue-IODMTPME.js.map → issue-EJKUQ6FA.js.map} +0 -0
  250. /package/dist/{ledger-UX4QIHWI.js.map → ledger-SQVVE2DR.js.map} +0 -0
  251. /package/dist/{noydb-6TADQIYH.js.map → noydb-MK4UQ626.js.map} +0 -0
  252. /package/dist/{public-envelope-YKHKP74C.js.map → public-envelope-BXPXMN3U.js.map} +0 -0
  253. /package/dist/{registry-446I2NMN.js.map → registry-4R4IURUM.js.map} +0 -0
  254. /package/dist/{registry-4NEW7LQY.js.map → registry-GPBLCHG7.js.map} +0 -0
  255. /package/dist/{registry-524KJZG4.js.map → registry-ZON5HNIV.js.map} +0 -0
  256. /package/dist/{revoke-R5NIQ74J.js.map → revoke-Y7UDOXGH.js.map} +0 -0
  257. /package/dist/{signer-WGDJNWSU.js.map → signer-UD2ZSVDJ.js.map} +0 -0
  258. /package/dist/{stale-74WGLVZ2.js.map → stale-F4V5E7ZK.js.map} +0 -0
@@ -1,9 +1,9 @@
1
- import { T as TransferSealPayload } from '../ulid-Cvljl7ZZ.cjs';
2
- export { C as COMPRESSION_BROTLI, a as COMPRESSION_GZIP, b as COMPRESSION_NONE, c as CompressionAlgo, F as FLAG_COMPRESSED, d as FLAG_HAS_INTEGRITY_HASH, N as NOYDB_BUNDLE_FORMAT_VERSION, e as NOYDB_BUNDLE_MAGIC, f as NOYDB_BUNDLE_PREFIX_BYTES, g as NoydbBundleHeader, h as NoydbBundleReadResult, R as ReadNoydbBundleOptions, W as WriteNoydbBundleOptions, i as encodeBundleHeader, j as generateULID, k as isULID, r as readNoydbBundle, l as readNoydbBundleHeader, m as resetBrotliSupportCache, v as validateBundleHeader, w as writeNoydbBundle } from '../ulid-Cvljl7ZZ.cjs';
3
- import { bf as Vault, aO as NoydbStore, bb as SealingKeyProvider, bg as RecoveryEnrollmentInput, bh as ShamirRecoveryProvider } from '../types-BeKi0hCx.cjs';
4
- export { n as AdoptionStateError, B as BackupCorruptedError, o as BackupLedgerError, p as BundleIntegrityError, q as BundleSealMismatchError, r as BundleVersionConflictError, P as PartitionExtractionError, s as TransferSealError } from '../index-5I0MZ0jQ.cjs';
5
- import '../lazy-builder-DXlSCNCJ.cjs';
6
- import '../predicate-B0IKeBXx.cjs';
1
+ import { T as TransferSealPayload } from '../ulid-BkW3mLlz.cjs';
2
+ export { C as COMPRESSION_BROTLI, a as COMPRESSION_GZIP, b as COMPRESSION_NONE, c as CompressionAlgo, F as FLAG_COMPRESSED, d as FLAG_HAS_INTEGRITY_HASH, N as NOYDB_BUNDLE_FORMAT_VERSION, e as NOYDB_BUNDLE_MAGIC, f as NOYDB_BUNDLE_PREFIX_BYTES, g as NoydbBundleHeader, h as NoydbBundleReadResult, R as ReadNoydbBundleOptions, W as WriteNoydbBundleOptions, i as encodeBundleHeader, j as generateULID, k as isULID, r as readNoydbBundle, l as readNoydbBundleHeader, m as resetBrotliSupportCache, v as validateBundleHeader, w as writeNoydbBundle } from '../ulid-BkW3mLlz.cjs';
3
+ import { bl as Vault, aU as NoydbStore, bh as SealingKeyProvider, bm as RecoveryEnrollmentInput, bn as ShamirRecoveryProvider } from '../types-r-y7TIqj.cjs';
4
+ export { o as AdoptionStateError, B as BackupCorruptedError, p as BackupLedgerError, q as BundleIntegrityError, r as BundleSealMismatchError, s as BundleVersionConflictError, P as PartitionExtractionError, t as TransferSealError } from '../index-vB43MAt4.cjs';
5
+ import '../lazy-builder-wY4pMCEe.cjs';
6
+ import '../predicate-BSAGEyu5.cjs';
7
7
  import '../strategy-DSTrsZ8t.cjs';
8
8
  import '../strategy-BSxFXGzb.cjs';
9
9
  import '@noy-db/attestation';
@@ -1,9 +1,9 @@
1
- import { T as TransferSealPayload } from '../ulid-CQc0eBxE.js';
2
- export { C as COMPRESSION_BROTLI, a as COMPRESSION_GZIP, b as COMPRESSION_NONE, c as CompressionAlgo, F as FLAG_COMPRESSED, d as FLAG_HAS_INTEGRITY_HASH, N as NOYDB_BUNDLE_FORMAT_VERSION, e as NOYDB_BUNDLE_MAGIC, f as NOYDB_BUNDLE_PREFIX_BYTES, g as NoydbBundleHeader, h as NoydbBundleReadResult, R as ReadNoydbBundleOptions, W as WriteNoydbBundleOptions, i as encodeBundleHeader, j as generateULID, k as isULID, r as readNoydbBundle, l as readNoydbBundleHeader, m as resetBrotliSupportCache, v as validateBundleHeader, w as writeNoydbBundle } from '../ulid-CQc0eBxE.js';
3
- import { bf as Vault, aO as NoydbStore, bb as SealingKeyProvider, bg as RecoveryEnrollmentInput, bh as ShamirRecoveryProvider } from '../types-BV4AZKmx.js';
4
- export { n as AdoptionStateError, B as BackupCorruptedError, o as BackupLedgerError, p as BundleIntegrityError, q as BundleSealMismatchError, r as BundleVersionConflictError, P as PartitionExtractionError, s as TransferSealError } from '../index-fIPPh5dg.js';
5
- import '../lazy-builder-D1MyR1qH.js';
6
- import '../predicate-B0IKeBXx.js';
1
+ import { T as TransferSealPayload } from '../ulid-Dt55yn4s.js';
2
+ export { C as COMPRESSION_BROTLI, a as COMPRESSION_GZIP, b as COMPRESSION_NONE, c as CompressionAlgo, F as FLAG_COMPRESSED, d as FLAG_HAS_INTEGRITY_HASH, N as NOYDB_BUNDLE_FORMAT_VERSION, e as NOYDB_BUNDLE_MAGIC, f as NOYDB_BUNDLE_PREFIX_BYTES, g as NoydbBundleHeader, h as NoydbBundleReadResult, R as ReadNoydbBundleOptions, W as WriteNoydbBundleOptions, i as encodeBundleHeader, j as generateULID, k as isULID, r as readNoydbBundle, l as readNoydbBundleHeader, m as resetBrotliSupportCache, v as validateBundleHeader, w as writeNoydbBundle } from '../ulid-Dt55yn4s.js';
3
+ import { bl as Vault, aU as NoydbStore, bh as SealingKeyProvider, bm as RecoveryEnrollmentInput, bn as ShamirRecoveryProvider } from '../types-DT7cXRHq.js';
4
+ export { o as AdoptionStateError, B as BackupCorruptedError, p as BackupLedgerError, q as BundleIntegrityError, r as BundleSealMismatchError, s as BundleVersionConflictError, P as PartitionExtractionError, t as TransferSealError } from '../index-CmWQyC4e.js';
5
+ import '../lazy-builder-7tIpFyWN.js';
6
+ import '../predicate-BSAGEyu5.js';
7
7
  import '../strategy-DSTrsZ8t.js';
8
8
  import '../strategy-BSxFXGzb.js';
9
9
  import '@noy-db/attestation';
@@ -1,3 +1,7 @@
1
+ import {
2
+ SCHEMAS_COLLECTION,
3
+ resolveManagedSecret
4
+ } from "../chunk-22ESLVUM.js";
1
5
  import {
2
6
  COMPRESSION_BROTLI,
3
7
  COMPRESSION_GZIP,
@@ -16,15 +20,11 @@ import {
16
20
  resetBrotliSupportCache,
17
21
  validateBundleHeader,
18
22
  writeNoydbBundle
19
- } from "../chunk-5QPF2MJ5.js";
20
- import {
21
- SCHEMAS_COLLECTION,
22
- resolveManagedSecret
23
- } from "../chunk-E225X5CQ.js";
24
- import "../chunk-WEA4TDTJ.js";
23
+ } from "../chunk-2TXMTYWZ.js";
24
+ import "../chunk-BNUCCUES.js";
25
25
  import {
26
26
  createOwnerKeyring
27
- } from "../chunk-T6MTNGBM.js";
27
+ } from "../chunk-N4CDTRDH.js";
28
28
  import {
29
29
  generateULID,
30
30
  isULID
@@ -32,7 +32,7 @@ import {
32
32
  import {
33
33
  LEDGER_COLLECTION,
34
34
  LedgerStore
35
- } from "../chunk-6A4AMQ2H.js";
35
+ } from "../chunk-QYO6I7KK.js";
36
36
  import {
37
37
  canonicalJson,
38
38
  envelopePayloadHash,
@@ -41,7 +41,7 @@ import {
41
41
  import {
42
42
  NOYDB_BACKUP_VERSION,
43
43
  NOYDB_FORMAT_VERSION
44
- } from "../chunk-5OVIFUQE.js";
44
+ } from "../chunk-WIRRPTFH.js";
45
45
  import {
46
46
  base64ToBuffer,
47
47
  bufferToBase64,
@@ -49,7 +49,7 @@ import {
49
49
  encrypt,
50
50
  generateDEK,
51
51
  wrapKey
52
- } from "../chunk-EKTOYEZ3.js";
52
+ } from "../chunk-YAMTXW77.js";
53
53
  import {
54
54
  AdoptionStateError,
55
55
  BackupCorruptedError,
@@ -60,7 +60,7 @@ import {
60
60
  PartitionExtractionError,
61
61
  TransferSealError,
62
62
  ValidationError
63
- } from "../chunk-6HJ2ZALB.js";
63
+ } from "../chunk-REQJJIPP.js";
64
64
 
65
65
  // src/bundle/walk-closure.ts
66
66
  async function walkClosure(vault, opts) {
@@ -532,7 +532,7 @@ async function createOwnerOnAdoptedPartition(store, vaultName, opts) {
532
532
  }
533
533
  }
534
534
  if (isManaged(opts)) {
535
- const { createNoydb } = await import("../noydb-6TADQIYH.js");
535
+ const { createNoydb } = await import("../noydb-MK4UQ626.js");
536
536
  const db = await createNoydb({
537
537
  store,
538
538
  user: userId,
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  NOYDB_FORMAT_VERSION
3
- } from "./chunk-5OVIFUQE.js";
3
+ } from "./chunk-WIRRPTFH.js";
4
4
  import {
5
5
  decrypt,
6
6
  encrypt
7
- } from "./chunk-EKTOYEZ3.js";
7
+ } from "./chunk-YAMTXW77.js";
8
8
 
9
9
  // src/persisted-schemas/storage.ts
10
10
  var SCHEMAS_COLLECTION = "_schemas";
@@ -248,4 +248,4 @@ export {
248
248
  loadSealedPassphrase,
249
249
  resolveManagedSecret
250
250
  };
251
- //# sourceMappingURL=chunk-E225X5CQ.js.map
251
+ //# sourceMappingURL=chunk-22ESLVUM.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  pickLocale
3
- } from "./chunk-WEA4TDTJ.js";
3
+ } from "./chunk-BNUCCUES.js";
4
4
  import {
5
5
  BundleIntegrityError,
6
6
  BundleSealMismatchError,
7
7
  ValidationError
8
- } from "./chunk-6HJ2ZALB.js";
8
+ } from "./chunk-REQJJIPP.js";
9
9
 
10
10
  // src/bundle/format.ts
11
11
  var NOYDB_BUNDLE_MAGIC = new Uint8Array([78, 68, 66, 49]);
@@ -792,4 +792,4 @@ export {
792
792
  readNoydbBundlePublicEnvelope,
793
793
  readNoydbBundle
794
794
  };
795
- //# sourceMappingURL=chunk-5QPF2MJ5.js.map
795
+ //# sourceMappingURL=chunk-2TXMTYWZ.js.map
@@ -4,34 +4,36 @@ import {
4
4
  import {
5
5
  TxContext,
6
6
  revertExecuted
7
- } from "./chunk-LJO6Q3X6.js";
7
+ } from "./chunk-OA6HE2RW.js";
8
8
  import {
9
9
  OverlayedCollection
10
- } from "./chunk-34XGYMQT.js";
10
+ } from "./chunk-3XCXUJTM.js";
11
11
  import {
12
12
  LazyQuery,
13
13
  decodeIdxId,
14
14
  encodeIdxId
15
- } from "./chunk-RIHZBSWJ.js";
15
+ } from "./chunk-CBHPW77B.js";
16
16
  import {
17
17
  SCHEMAS_COLLECTION,
18
18
  loadPersistedSchema,
19
19
  resolveManagedSecret,
20
20
  savePersistedSchema,
21
21
  saveSealedPassphrase
22
- } from "./chunk-E225X5CQ.js";
22
+ } from "./chunk-22ESLVUM.js";
23
23
  import {
24
24
  loadPublicEnvelope,
25
25
  readPublicEnvelope,
26
26
  savePublicEnvelope,
27
27
  validatePublicEnvelopeInput
28
- } from "./chunk-WEA4TDTJ.js";
28
+ } from "./chunk-BNUCCUES.js";
29
29
  import {
30
30
  PERIODS_COLLECTION
31
- } from "./chunk-ZQMYB56Z.js";
31
+ } from "./chunk-O3JCRQT3.js";
32
32
  import {
33
- isDictCollectionName
34
- } from "./chunk-YZ6JETII.js";
33
+ getAtPath,
34
+ isDictCollectionName,
35
+ setAtPathInPlace
36
+ } from "./chunk-AYRTGXF3.js";
35
37
  import {
36
38
  ManagedRecoveryNotEnrolledError,
37
39
  PolicyDeniedError,
@@ -53,11 +55,11 @@ import {
53
55
  saveShamirRecoveryEntries,
54
56
  updateAuthenticator,
55
57
  writeMagicLinkGrant
56
- } from "./chunk-Y3P5DEMZ.js";
58
+ } from "./chunk-7IH5FDXD.js";
57
59
  import {
58
60
  assertTierAccess,
59
61
  dekKey
60
- } from "./chunk-TNBIWSQ7.js";
62
+ } from "./chunk-GI6S5ZF2.js";
61
63
  import {
62
64
  USER_ENVELOPE_COLLECTION,
63
65
  buildRecipientKeyringFile,
@@ -81,7 +83,7 @@ import {
81
83
  rotateKeys,
82
84
  saveUserEnvelope,
83
85
  updateKeyringIdentity
84
- } from "./chunk-T6MTNGBM.js";
86
+ } from "./chunk-N4CDTRDH.js";
85
87
  import {
86
88
  INDEXED_STORE_POLICY
87
89
  } from "./chunk-2QR2PQTT.js";
@@ -91,7 +93,7 @@ import {
91
93
  import {
92
94
  LEDGER_COLLECTION,
93
95
  LEDGER_DELTAS_COLLECTION
94
- } from "./chunk-6A4AMQ2H.js";
96
+ } from "./chunk-QYO6I7KK.js";
95
97
  import {
96
98
  sha256Hex as sha256Hex2
97
99
  } from "./chunk-Z6FNBOTC.js";
@@ -99,22 +101,22 @@ import {
99
101
  NO_AGGREGATE,
100
102
  Query,
101
103
  ScanBuilder
102
- } from "./chunk-XDW37COG.js";
104
+ } from "./chunk-4EOVWJL6.js";
103
105
  import {
104
106
  EXPORT_AUDIT_COLLECTION,
105
107
  createExportBlobsHandle,
106
108
  runCompaction
107
- } from "./chunk-JSYTGEX4.js";
109
+ } from "./chunk-WBUG3324.js";
108
110
  import {
109
111
  NOYDB_BACKUP_VERSION,
110
112
  NOYDB_FORMAT_VERSION
111
- } from "./chunk-5OVIFUQE.js";
113
+ } from "./chunk-WIRRPTFH.js";
112
114
  import {
113
115
  decrypt,
114
116
  encrypt,
115
117
  encryptDeterministic,
116
118
  sha256Hex
117
- } from "./chunk-EKTOYEZ3.js";
119
+ } from "./chunk-YAMTXW77.js";
118
120
  import {
119
121
  AlreadyElevatedError,
120
122
  AttestationError,
@@ -141,7 +143,7 @@ import {
141
143
  TierNotGrantedError,
142
144
  TranslatorNotConfiguredError,
143
145
  ValidationError
144
- } from "./chunk-6HJ2ZALB.js";
146
+ } from "./chunk-REQJJIPP.js";
145
147
 
146
148
  // src/policy/storage.ts
147
149
  var META_COLLECTION = "_meta";
@@ -644,7 +646,7 @@ async function resolveStaleOnRead(accessor, outputCollection, id) {
644
646
  }
645
647
  const sourceWithId = { ...source, id };
646
648
  if (DerivationExecutor === null) {
647
- ({ DerivationExecutor } = await import("./executor-SOLEQVUB.js"));
649
+ ({ DerivationExecutor } = await import("./executor-XO4M4243.js"));
648
650
  }
649
651
  const ctx = { vault: accessor.getReadOnlyFacade() };
650
652
  const result = await DerivationExecutor.run(spec, sourceWithId, 0, strategyHash, ctx);
@@ -1112,7 +1114,7 @@ var Collection = class {
1112
1114
  }
1113
1115
  }
1114
1116
  if (this.materializedViewSource !== void 0) {
1115
- const { resolveStaleMVOnRead } = await import("./stale-74WGLVZ2.js");
1117
+ const { resolveStaleMVOnRead } = await import("./stale-F4V5E7ZK.js");
1116
1118
  await resolveStaleMVOnRead(this.materializedViewSource, this.name);
1117
1119
  }
1118
1120
  let record;
@@ -1282,7 +1284,9 @@ var Collection = class {
1282
1284
  const obj = record;
1283
1285
  for (const [field, descriptor] of Object.entries(this.i18nFields)) {
1284
1286
  if (!descriptor.options.autoTranslate) continue;
1285
- const value = obj[field];
1287
+ const leafValues = getAtPath(obj, field);
1288
+ if (leafValues.length !== 1) continue;
1289
+ const value = leafValues[0];
1286
1290
  if (!value || typeof value !== "object" || Array.isArray(value)) continue;
1287
1291
  const map = value;
1288
1292
  const { languages, required } = descriptor.options;
@@ -1306,8 +1310,7 @@ var Collection = class {
1306
1310
  this.name
1307
1311
  );
1308
1312
  }
1309
- ;
1310
- record[field] = translated;
1313
+ setAtPathInPlace(obj, field, translated);
1311
1314
  }
1312
1315
  }
1313
1316
  if (this.i18nPutValidator !== void 0) {
@@ -1482,7 +1485,7 @@ var Collection = class {
1482
1485
  if (mode === "eager") {
1483
1486
  if (executor === null) {
1484
1487
  ;
1485
- ({ MaterializedViewExecutor: executor } = await import("./executor-RWICJI7J.js"));
1488
+ ({ MaterializedViewExecutor: executor } = await import("./executor-HAVRTQN4.js"));
1486
1489
  }
1487
1490
  await executor.refresh(reg, {
1488
1491
  getCollection: (name) => this.materializedViewSource.getCollection(name),
@@ -1491,7 +1494,7 @@ var Collection = class {
1491
1494
  });
1492
1495
  } else if (mode === "lazy") {
1493
1496
  if (staleHelpers === null) {
1494
- staleHelpers = await import("./stale-74WGLVZ2.js");
1497
+ staleHelpers = await import("./stale-F4V5E7ZK.js");
1495
1498
  }
1496
1499
  staleHelpers.markMVStale(registry, reg.spec.name);
1497
1500
  }
@@ -1520,7 +1523,7 @@ var Collection = class {
1520
1523
  const mode = typeof spec.lifecycle === "string" ? spec.lifecycle : spec.lifecycle.mode;
1521
1524
  if (mode === "eager") {
1522
1525
  if (DerivationExecutor === null) {
1523
- ({ DerivationExecutor } = await import("./executor-SOLEQVUB.js"));
1526
+ ({ DerivationExecutor } = await import("./executor-XO4M4243.js"));
1524
1527
  }
1525
1528
  const sourceWithId = { ...incoming, id };
1526
1529
  const ctx = { vault: this.derivationSource.getReadOnlyFacade() };
@@ -1539,7 +1542,7 @@ var Collection = class {
1539
1542
  const outputCollection = this.derivationSource.getCollection(outSpec.collection);
1540
1543
  const txCtx = this.derivationSource.getActiveTxContext();
1541
1544
  if (out.kind === "array") {
1542
- const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-EVICRM46.js");
1545
+ const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-OKPMMPLG.js");
1543
1546
  const prior = await loadFanoutSidecar(
1544
1547
  this.adapter,
1545
1548
  this.vault,
@@ -1831,7 +1834,7 @@ var Collection = class {
1831
1834
  for (const [outputKey, outSpec] of Object.entries(spec.outputs)) {
1832
1835
  if (outSpec.shape !== "array") continue;
1833
1836
  if (helpers === null) {
1834
- helpers = await import("./fanout-sidecar-EVICRM46.js");
1837
+ helpers = await import("./fanout-sidecar-OKPMMPLG.js");
1835
1838
  }
1836
1839
  const sidecar = await helpers.loadFanoutSidecar(
1837
1840
  this.adapter,
@@ -1871,7 +1874,7 @@ var Collection = class {
1871
1874
  if (mode === "eager") {
1872
1875
  if (executor === null) {
1873
1876
  ;
1874
- ({ MaterializedViewExecutor: executor } = await import("./executor-RWICJI7J.js"));
1877
+ ({ MaterializedViewExecutor: executor } = await import("./executor-HAVRTQN4.js"));
1875
1878
  }
1876
1879
  await executor.refresh(reg, {
1877
1880
  getCollection: (name) => this.materializedViewSource.getCollection(name),
@@ -1880,7 +1883,7 @@ var Collection = class {
1880
1883
  });
1881
1884
  } else if (mode === "lazy") {
1882
1885
  if (staleHelpers === null) {
1883
- staleHelpers = await import("./stale-74WGLVZ2.js");
1886
+ staleHelpers = await import("./stale-F4V5E7ZK.js");
1884
1887
  }
1885
1888
  staleHelpers.markMVStale(registry, reg.spec.name);
1886
1889
  }
@@ -1903,7 +1906,7 @@ var Collection = class {
1903
1906
  );
1904
1907
  }
1905
1908
  if (this.materializedViewSource !== void 0) {
1906
- const { resolveStaleMVOnRead } = await import("./stale-74WGLVZ2.js");
1909
+ const { resolveStaleMVOnRead } = await import("./stale-F4V5E7ZK.js");
1907
1910
  await resolveStaleMVOnRead(this.materializedViewSource, this.name);
1908
1911
  }
1909
1912
  await this.ensureHydrated();
@@ -5020,9 +5023,11 @@ var Vault = class {
5020
5023
  if (!record || typeof record !== "object") return;
5021
5024
  const obj = record;
5022
5025
  for (const [field, descriptor] of Object.entries(i18nFields)) {
5023
- const value = obj[field];
5024
- if (value === void 0 || value === null) continue;
5025
- this.i18nStrategy.validateI18nTextValue(value, field, descriptor);
5026
+ const values = getAtPath(obj, field);
5027
+ for (const value of values) {
5028
+ if (value === void 0 || value === null) continue;
5029
+ this.i18nStrategy.validateI18nTextValue(value, field, descriptor);
5030
+ }
5026
5031
  }
5027
5032
  }
5028
5033
  /**
@@ -5334,12 +5339,12 @@ var Vault = class {
5334
5339
  if (!fieldSchema) {
5335
5340
  throw new AttestationError(`issueAttestation: collection '${collectionName}' has no attestation field-schema. Declare it via vault.collection('${collectionName}', { attestation: { fields: [...] } }).`);
5336
5341
  }
5337
- const { issueAttestationCore } = await import("./issue-IODMTPME.js");
5342
+ const { issueAttestationCore } = await import("./issue-EJKUQ6FA.js");
5338
5343
  const out = await issueAttestationCore(this.makeIssueContext(), { collection: collectionName, id, fieldSchema });
5339
5344
  return { docId: out.docId, qr: out.qr, keyId: out.keyId, publicKeyB64: out.publicKeyB64 };
5340
5345
  }
5341
5346
  async getDocumentSigningPublicKey() {
5342
- const { loadSigner, loadOrCreateSigner } = await import("./signer-WGDJNWSU.js");
5347
+ const { loadSigner, loadOrCreateSigner } = await import("./signer-UD2ZSVDJ.js");
5343
5348
  const existing = await loadSigner(this.adapter, this.name, this.getDEK);
5344
5349
  if (existing) return { keyId: existing.keyId, publicKeyB64: existing.publicKeyB64 };
5345
5350
  if (this.keyring.role !== "owner") {
@@ -5365,19 +5370,19 @@ var Vault = class {
5365
5370
  };
5366
5371
  }
5367
5372
  async revokeAttestation(docId) {
5368
- const { revokeDocCore } = await import("./revoke-R5NIQ74J.js");
5373
+ const { revokeDocCore } = await import("./revoke-Y7UDOXGH.js");
5369
5374
  await revokeDocCore(this.makeRevokeContext(), docId);
5370
5375
  }
5371
5376
  async unrevokeAttestation(docId) {
5372
- const { unrevokeDocCore } = await import("./revoke-R5NIQ74J.js");
5377
+ const { unrevokeDocCore } = await import("./revoke-Y7UDOXGH.js");
5373
5378
  await unrevokeDocCore(this.makeRevokeContext(), docId);
5374
5379
  }
5375
5380
  async getRevokedDocIds() {
5376
- const { getRevokedDocIdsCore } = await import("./revoke-R5NIQ74J.js");
5381
+ const { getRevokedDocIdsCore } = await import("./revoke-Y7UDOXGH.js");
5377
5382
  return getRevokedDocIdsCore(this.makeRevokeContext());
5378
5383
  }
5379
5384
  async publishRevocationList() {
5380
- const { publishRevocationListCore } = await import("./revoke-R5NIQ74J.js");
5385
+ const { publishRevocationListCore } = await import("./revoke-Y7UDOXGH.js");
5381
5386
  return publishRevocationListCore(this.makeRevokeContext());
5382
5387
  }
5383
5388
  makeRevokeContext() {
@@ -5694,7 +5699,7 @@ var Vault = class {
5694
5699
  async _initDerivations(handles) {
5695
5700
  if (handles.length === 0) return;
5696
5701
  const [{ DerivationRegistry }, { ReadOnlyVaultFacade }] = await Promise.all([
5697
- import("./registry-446I2NMN.js"),
5702
+ import("./registry-ZON5HNIV.js"),
5698
5703
  import("./read-only-facade-ITU6L7BL.js")
5699
5704
  ]);
5700
5705
  const registry = new DerivationRegistry();
@@ -5725,7 +5730,7 @@ var Vault = class {
5725
5730
  */
5726
5731
  async _initMaterializedViews(handles) {
5727
5732
  if (handles.length === 0) return;
5728
- const { MaterializedViewRegistry } = await import("./registry-4NEW7LQY.js");
5733
+ const { MaterializedViewRegistry } = await import("./registry-4R4IURUM.js");
5729
5734
  const registry = new MaterializedViewRegistry();
5730
5735
  this.materializedViewRegistry = registry;
5731
5736
  const db = this;
@@ -5749,7 +5754,7 @@ var Vault = class {
5749
5754
  */
5750
5755
  async _initOverlayedViews(handles) {
5751
5756
  if (handles.length === 0) return;
5752
- const { OverlayedViewRegistry } = await import("./registry-524KJZG4.js");
5757
+ const { OverlayedViewRegistry } = await import("./registry-GPBLCHG7.js");
5753
5758
  const registry = new OverlayedViewRegistry();
5754
5759
  const mvRegistry = this.materializedViewRegistry;
5755
5760
  const overlayNames = /* @__PURE__ */ new Set();
@@ -5796,13 +5801,13 @@ var Vault = class {
5796
5801
  if (!reg) {
5797
5802
  throw new Error(`refreshView: no MV registered with name "${name}"`);
5798
5803
  }
5799
- const { MaterializedViewExecutor } = await import("./executor-RWICJI7J.js");
5804
+ const { MaterializedViewExecutor } = await import("./executor-HAVRTQN4.js");
5800
5805
  const result = await MaterializedViewExecutor.refresh(reg, {
5801
5806
  getCollection: (n) => this.collection(n),
5802
5807
  getActiveTxContext: () => this.noydb._activeTxContextOrNull,
5803
5808
  getQueryContext: () => this
5804
5809
  });
5805
- const { clearMVStale } = await import("./stale-74WGLVZ2.js");
5810
+ const { clearMVStale } = await import("./stale-F4V5E7ZK.js");
5806
5811
  clearMVStale(registry, name);
5807
5812
  return result;
5808
5813
  }
@@ -5818,7 +5823,7 @@ var Vault = class {
5818
5823
  if (registry === null) return { derived: 0, failed: 0 };
5819
5824
  const strategies = registry.strategiesForSource(sourceCollection);
5820
5825
  if (strategies.length === 0) return { derived: 0, failed: 0 };
5821
- const { DerivationExecutor } = await import("./executor-SOLEQVUB.js");
5826
+ const { DerivationExecutor } = await import("./executor-XO4M4243.js");
5822
5827
  const sourceColl = this.collection(sourceCollection);
5823
5828
  const records = await sourceColl.list();
5824
5829
  const ctx = { vault: this.readOnlyFacade ?? new (await import("./read-only-facade-ITU6L7BL.js")).ReadOnlyVaultFacade(this) };
@@ -5843,7 +5848,7 @@ var Vault = class {
5843
5848
  if (!outSpec) continue;
5844
5849
  const outputColl = this.collection(outSpec.collection);
5845
5850
  if (out.kind === "array") {
5846
- const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-EVICRM46.js");
5851
+ const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-OKPMMPLG.js");
5847
5852
  const prior = await loadFanoutSidecar(this.adapter, this.name, spec.source, id, key);
5848
5853
  const prevKeys = new Set(prior?.keys ?? []);
5849
5854
  const newKeysList = out.entries.map((e) => e.key);
@@ -6064,7 +6069,7 @@ var Vault = class {
6064
6069
  * collection.
6065
6070
  */
6066
6071
  async delegate(opts) {
6067
- const { issueDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-42LO4WFO.js");
6072
+ const { issueDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-TLZTK2XW.js");
6068
6073
  if (!this.keyring.kek) {
6069
6074
  throw new ValidationError(
6070
6075
  "issueDelegation: keyring.kek is null \u2014 issuing a delegation requires a tier-1 unlock. Re-authenticate at tier 1 (passphrase) first."
@@ -6086,7 +6091,7 @@ var Vault = class {
6086
6091
  * if the id does not exist.
6087
6092
  */
6088
6093
  async revokeDelegation(id) {
6089
- const { revokeDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-42LO4WFO.js");
6094
+ const { revokeDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-TLZTK2XW.js");
6090
6095
  await revokeDelegation(this.adapter, this.name, id);
6091
6096
  void DELEGATIONS_COLLECTION;
6092
6097
  }
@@ -6555,7 +6560,7 @@ var Vault = class {
6555
6560
  * @see docs/subsystems/public-envelope.md
6556
6561
  */
6557
6562
  async getPublicEnvelope(opts = {}) {
6558
- const { readPublicEnvelope: readPublicEnvelope2 } = await import("./public-envelope-YKHKP74C.js");
6563
+ const { readPublicEnvelope: readPublicEnvelope2 } = await import("./public-envelope-BXPXMN3U.js");
6559
6564
  return readPublicEnvelope2(this.adapter, this.name, opts);
6560
6565
  }
6561
6566
  /**
@@ -7619,16 +7624,32 @@ var QuickUnlockStore = class {
7619
7624
  }
7620
7625
  };
7621
7626
 
7622
- // src/tx/strategy.ts
7627
+ // src/snapshots/strategy.ts
7623
7628
  var NOT_ENABLED4 = new Error(
7629
+ 'Snapshots require the snapshot strategy. Import `{ withSnapshots }` from "@noy-db/hub/snapshots" and pass it to `createNoydb({ snapshotStrategy: withSnapshots({ store }) })`.'
7630
+ );
7631
+ var NO_SNAPSHOTS = {
7632
+ async snapshot() {
7633
+ throw NOT_ENABLED4;
7634
+ },
7635
+ async listSnapshots() {
7636
+ throw NOT_ENABLED4;
7637
+ },
7638
+ async restoreSnapshot() {
7639
+ throw NOT_ENABLED4;
7640
+ }
7641
+ };
7642
+
7643
+ // src/tx/strategy.ts
7644
+ var NOT_ENABLED5 = new Error(
7624
7645
  'Multi-record transactions require the tx strategy. Import `{ withTransactions }` from "@noy-db/hub/tx" and pass it to `createNoydb({ txStrategy: withTransactions() })`.'
7625
7646
  );
7626
7647
  var NO_TX = {
7627
7648
  async runTransaction() {
7628
- throw NOT_ENABLED4;
7649
+ throw NOT_ENABLED5;
7629
7650
  },
7630
7651
  async runDryRun() {
7631
- throw NOT_ENABLED4;
7652
+ throw NOT_ENABLED5;
7632
7653
  }
7633
7654
  };
7634
7655
 
@@ -7971,6 +7992,7 @@ var Noydb = class {
7971
7992
  txStrategy;
7972
7993
  sessionStrategy;
7973
7994
  syncStrategy;
7995
+ snapshotStrategy;
7974
7996
  /**
7975
7997
  * Currently-running multi-record transaction, set by
7976
7998
  * `runTransaction` at the start of Phase 2 (commit) and cleared in
@@ -7995,6 +8017,7 @@ var Noydb = class {
7995
8017
  this.txStrategy = options.txStrategy ?? NO_TX;
7996
8018
  this.sessionStrategy = options.sessionStrategy ?? NO_SESSION;
7997
8019
  this.syncStrategy = options.syncStrategy ?? NO_SYNC;
8020
+ this.snapshotStrategy = options.snapshotStrategy ?? NO_SNAPSHOTS;
7998
8021
  this.publicEnvelopeSchema = resolveSchema(options.publicEnvelope);
7999
8022
  if (options.sessionPolicy) {
8000
8023
  this.sessionStrategy.validateSessionPolicy(options.sessionPolicy);
@@ -8030,7 +8053,7 @@ var Noydb = class {
8030
8053
  if (!facade) return;
8031
8054
  const ctx = { existing, vault: facade, userId: e.userId, role: e.role };
8032
8055
  await registry.runChecks(e.collection, incoming, ctx);
8033
- const { GuardExecutor } = await import("./executor-AWCHQ2KN.js");
8056
+ const { GuardExecutor } = await import("./executor-V3DKOADS.js");
8034
8057
  for (const g of guards) {
8035
8058
  await GuardExecutor.checkFrozenFields(g, e.docId, existing, incoming);
8036
8059
  }
@@ -9981,6 +10004,45 @@ var Noydb = class {
9981
10004
  this.keyringCache.set(vault, keyring);
9982
10005
  return keyring;
9983
10006
  }
10007
+ /**
10008
+ * Take an on-demand checkpoint of the given vault.
10009
+ * Requires `snapshotStrategy: withSnapshots({ store })` in `createNoydb`.
10010
+ * @throws ValidationError when the vault is not open
10011
+ */
10012
+ async snapshot(vault, opts) {
10013
+ if (this.closed) throw new ValidationError("Instance is closed");
10014
+ const v = this.vaultCache.get(vault);
10015
+ if (!v) {
10016
+ throw new ValidationError(
10017
+ `Vault "${vault}" is not open. Call openVault() first.`
10018
+ );
10019
+ }
10020
+ return this.snapshotStrategy.snapshot(v, this.options.user, opts);
10021
+ }
10022
+ /**
10023
+ * List all snapshots for the given vault, newest first.
10024
+ * Reads only the sidecar index — does not download snapshot bytes.
10025
+ */
10026
+ async listSnapshots(vault) {
10027
+ if (this.closed) throw new ValidationError("Instance is closed");
10028
+ return this.snapshotStrategy.listSnapshots(vault);
10029
+ }
10030
+ /**
10031
+ * Restore the vault to a previously snapshotted state.
10032
+ * Runs `verifyBackupIntegrity()` automatically on restore.
10033
+ * @throws SnapshotNotFoundError when `version` doesn't exist in the store
10034
+ * @throws ValidationError when the vault is not open
10035
+ */
10036
+ async restoreSnapshot(vault, version) {
10037
+ if (this.closed) throw new ValidationError("Instance is closed");
10038
+ const v = this.vaultCache.get(vault);
10039
+ if (!v) {
10040
+ throw new ValidationError(
10041
+ `Vault "${vault}" is not open. Call openVault() first.`
10042
+ );
10043
+ }
10044
+ return this.snapshotStrategy.restoreSnapshot(v, version);
10045
+ }
9984
10046
  };
9985
10047
  async function createNoydb(options) {
9986
10048
  const encrypted = options.encrypt !== false;
@@ -10055,4 +10117,4 @@ export {
10055
10117
  Noydb,
10056
10118
  createNoydb
10057
10119
  };
10058
- //# sourceMappingURL=chunk-BT7544RM.js.map
10120
+ //# sourceMappingURL=chunk-3O5FNO5O.js.map