@noy-db/hub 0.2.0-pre.11 → 0.2.0-pre.13

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 (269) hide show
  1. package/README.md +126 -0
  2. package/dist/aggregate/index.cjs +289 -12
  3. package/dist/aggregate/index.cjs.map +1 -1
  4. package/dist/aggregate/index.d.cts +2 -2
  5. package/dist/aggregate/index.d.ts +2 -2
  6. package/dist/aggregate/index.js +7 -7
  7. package/dist/aggregate/index.js.map +1 -1
  8. package/dist/attestation/index.cjs.map +1 -1
  9. package/dist/attestation/index.d.cts +3 -3
  10. package/dist/attestation/index.d.ts +3 -3
  11. package/dist/attestation/index.js +6 -6
  12. package/dist/blobs/index.cjs +28 -0
  13. package/dist/blobs/index.cjs.map +1 -1
  14. package/dist/blobs/index.d.cts +4 -4
  15. package/dist/blobs/index.d.ts +4 -4
  16. package/dist/blobs/index.js +5 -5
  17. package/dist/bundle/index.cjs +2024 -69
  18. package/dist/bundle/index.cjs.map +1 -1
  19. package/dist/bundle/index.d.cts +5 -5
  20. package/dist/bundle/index.d.ts +5 -5
  21. package/dist/bundle/index.js +9 -9
  22. package/dist/{chunk-LSTBFLL2.js → chunk-3OUCWHV6.js} +2 -2
  23. package/dist/{chunk-7CEGU63S.js → chunk-3XZRRBFW.js} +2 -2
  24. package/dist/{chunk-RC6SU5NO.js → chunk-4VCQH32J.js} +2 -2
  25. package/dist/{chunk-ZROPXHJY.js → chunk-4YDZ7JPZ.js} +2 -2
  26. package/dist/{chunk-IMYKDWB4.js → chunk-5NISHSBO.js} +2 -2
  27. package/dist/{chunk-ZBBW7YQN.js → chunk-7TEI2K2A.js} +5 -5
  28. package/dist/{chunk-6T2UDBKG.js → chunk-AYNF7PVX.js} +2 -2
  29. package/dist/{chunk-QCXNMCHN.js → chunk-C3WRKABE.js} +4 -4
  30. package/dist/{chunk-GAUEWM7D.js → chunk-CWFQTAD4.js} +4 -4
  31. package/dist/{chunk-QSOYKKMD.js → chunk-D5Y3HIC6.js} +2 -2
  32. package/dist/{chunk-R233SLY3.js → chunk-E3DIBDKA.js} +2 -2
  33. package/dist/chunk-FNVFT4HZ.js +64 -0
  34. package/dist/chunk-FNVFT4HZ.js.map +1 -0
  35. package/dist/{chunk-SLV4LAKX.js → chunk-GC4V7RU7.js} +1 -1
  36. package/dist/chunk-GC4V7RU7.js.map +1 -0
  37. package/dist/{chunk-5OEJ6GOT.js → chunk-GL3Z7LH7.js} +2 -2
  38. package/dist/{chunk-YW5DBAPG.js → chunk-GZJ5JBED.js} +4 -4
  39. package/dist/{chunk-LJXYPGRH.js → chunk-HHZ77DHM.js} +3 -3
  40. package/dist/{chunk-6MFH4BMK.js → chunk-HQXOEWLZ.js} +4 -4
  41. package/dist/{chunk-RYIL3PI2.js → chunk-ILWQGTNH.js} +2 -2
  42. package/dist/{chunk-3DGHRDCX.js → chunk-J67BP5EP.js} +3 -3
  43. package/dist/{chunk-PVUUIWHY.js → chunk-JPOQMXGT.js} +10 -3
  44. package/dist/chunk-JPOQMXGT.js.map +1 -0
  45. package/dist/{chunk-RRNA5GKT.js → chunk-JWFNOD2T.js} +2 -2
  46. package/dist/{chunk-BDV7INMP.js → chunk-KHQ3N5AB.js} +4 -4
  47. package/dist/{chunk-JQ4NEJJ6.js → chunk-KJF7EPUE.js} +3 -3
  48. package/dist/{chunk-FO3UEG4S.js → chunk-KKB42D3Q.js} +2 -2
  49. package/dist/{chunk-26NK23DZ.js → chunk-M6KXHRIA.js} +3 -3
  50. package/dist/{chunk-DAP2XL7Q.js → chunk-NIUXQDWD.js} +2 -2
  51. package/dist/{chunk-6YLPHBKR.js → chunk-NJMKHRQI.js} +145 -11
  52. package/dist/chunk-NJMKHRQI.js.map +1 -0
  53. package/dist/{chunk-O6EJ6WTI.js → chunk-NKGY3C53.js} +87 -2
  54. package/dist/chunk-NKGY3C53.js.map +1 -0
  55. package/dist/{chunk-CXJG63MA.js → chunk-NP6EZT44.js} +20 -6
  56. package/dist/chunk-NP6EZT44.js.map +1 -0
  57. package/dist/{chunk-Y26YV5R3.js → chunk-O2JW656W.js} +3 -3
  58. package/dist/{chunk-MPOLUAMI.js → chunk-P5MW7BG2.js} +665 -60
  59. package/dist/chunk-P5MW7BG2.js.map +1 -0
  60. package/dist/{chunk-TGALXXLV.js → chunk-PW26DAXS.js} +3 -3
  61. package/dist/{chunk-V2PZC6AW.js → chunk-QAWCVWCX.js} +5 -5
  62. package/dist/{chunk-CH22FZHT.js → chunk-QFYVGJLI.js} +2 -2
  63. package/dist/{chunk-YM7LFCG7.js → chunk-QIVFGU2M.js} +3 -3
  64. package/dist/{chunk-CXFOITNS.js → chunk-SJ24GHID.js} +2 -2
  65. package/dist/{chunk-EBVBE7UK.js → chunk-SOU42FGB.js} +5 -5
  66. package/dist/{chunk-YVZRTCGG.js → chunk-SYSKC237.js} +6 -6
  67. package/dist/{chunk-77DWLQRY.js → chunk-TDECYU4Y.js} +31 -3
  68. package/dist/chunk-TDECYU4Y.js.map +1 -0
  69. package/dist/{chunk-73YLDCNF.js → chunk-TEQGXA7L.js} +5 -5
  70. package/dist/{chunk-PC6ZEDRL.js → chunk-UNQEWORI.js} +2 -2
  71. package/dist/{chunk-PC3ZZBTO.js → chunk-VAK6NQAK.js} +5 -5
  72. package/dist/{chunk-GKI4SDP7.js → chunk-WQKZIQIL.js} +4 -4
  73. package/dist/chunk-YWBHS25M.js +783 -0
  74. package/dist/chunk-YWBHS25M.js.map +1 -0
  75. package/dist/chunk-ZC7J6ZYV.js +7 -0
  76. package/dist/chunk-ZC7J6ZYV.js.map +1 -0
  77. package/dist/consent/index.cjs.map +1 -1
  78. package/dist/consent/index.d.cts +4 -4
  79. package/dist/consent/index.d.ts +4 -4
  80. package/dist/consent/index.js +3 -3
  81. package/dist/{crypto-2CRLG4F4.js → crypto-YXH6SAOW.js} +3 -3
  82. package/dist/{delegation-ZTRT2PRV.js → delegation-K5ERUH6A.js} +5 -5
  83. package/dist/derivations/index.cjs.map +1 -1
  84. package/dist/derivations/index.d.cts +5 -5
  85. package/dist/derivations/index.d.ts +5 -5
  86. package/dist/derivations/index.js +4 -4
  87. package/dist/{dev-unlock-BH6y3Hx0.d.ts → dev-unlock-BW0GNBEV.d.ts} +1 -1
  88. package/dist/{dev-unlock-H1Xwxc3U.d.cts → dev-unlock-a7SOtaV0.d.cts} +1 -1
  89. package/dist/executor-AVJ7UEWA.js +8 -0
  90. package/dist/executor-IQO3KGXQ.js +11 -0
  91. package/dist/executor-VT7TKGE4.js +8 -0
  92. package/dist/{fanout-sidecar-F3ZRFU4H.js → fanout-sidecar-N6OJX6QR.js} +2 -2
  93. package/dist/guards/index.cjs +53 -1
  94. package/dist/guards/index.cjs.map +1 -1
  95. package/dist/guards/index.d.cts +12 -6
  96. package/dist/guards/index.d.ts +12 -6
  97. package/dist/guards/index.js +5 -3
  98. package/dist/{hash-_sDFvtmX.d.cts → hash-B0cLQcq_.d.cts} +1 -1
  99. package/dist/{hash-D89JdDbj.d.ts → hash-uMNIAAW8.d.ts} +1 -1
  100. package/dist/history/index.cjs.map +1 -1
  101. package/dist/history/index.d.cts +5 -5
  102. package/dist/history/index.d.ts +5 -5
  103. package/dist/history/index.js +5 -5
  104. package/dist/i18n/index.cjs.map +1 -1
  105. package/dist/i18n/index.d.cts +4 -4
  106. package/dist/i18n/index.d.ts +4 -4
  107. package/dist/i18n/index.js +6 -6
  108. package/dist/immutable-guard-B0h-ipLz.d.ts +67 -0
  109. package/dist/immutable-guard-BZIcYhYX.d.cts +67 -0
  110. package/dist/index-CUVOMtgg.d.cts +1216 -0
  111. package/dist/index-Cqzp4tt9.d.ts +1216 -0
  112. package/dist/index.cjs +2200 -106
  113. package/dist/index.cjs.map +1 -1
  114. package/dist/index.d.cts +55 -13
  115. package/dist/index.d.ts +55 -13
  116. package/dist/index.js +95 -44
  117. package/dist/index.js.map +1 -1
  118. package/dist/indexing/index.cjs.map +1 -1
  119. package/dist/indexing/index.js +2 -2
  120. package/dist/issue-ZH27C23Y.js +12 -0
  121. package/dist/{ledger-NYCGJX2D.js → ledger-64TTQMRS.js} +5 -5
  122. package/dist/materialized-views/index.cjs.map +1 -1
  123. package/dist/materialized-views/index.d.cts +5 -6
  124. package/dist/materialized-views/index.d.ts +5 -6
  125. package/dist/materialized-views/index.js +6 -6
  126. package/dist/noydb-O76SKBST.js +35 -0
  127. package/dist/overlay-views/index.cjs.map +1 -1
  128. package/dist/overlay-views/index.d.cts +5 -5
  129. package/dist/overlay-views/index.d.ts +5 -5
  130. package/dist/overlay-views/index.js +4 -4
  131. package/dist/periods/index.cjs.map +1 -1
  132. package/dist/periods/index.d.cts +4 -4
  133. package/dist/periods/index.d.ts +4 -4
  134. package/dist/periods/index.js +5 -5
  135. package/dist/{public-envelope-QOXZEHKH.js → public-envelope-MHG6YVXW.js} +4 -4
  136. package/dist/query/index.cjs +382 -17
  137. package/dist/query/index.cjs.map +1 -1
  138. package/dist/query/index.d.cts +2 -2
  139. package/dist/query/index.d.ts +2 -2
  140. package/dist/query/index.js +4 -4
  141. package/dist/registry-2PKBQDCH.js +8 -0
  142. package/dist/registry-4VXFKCBJ.js +8 -0
  143. package/dist/{registry-ST2VNFZC.js → registry-PV4G3OPA.js} +3 -3
  144. package/dist/{revoke-RT7QYB4G.js → revoke-5BOLVJ3N.js} +6 -6
  145. package/dist/session/index.cjs.map +1 -1
  146. package/dist/session/index.d.cts +5 -5
  147. package/dist/session/index.d.ts +5 -5
  148. package/dist/session/index.js +3 -3
  149. package/dist/shadow/index.cjs.map +1 -1
  150. package/dist/shadow/index.d.cts +4 -4
  151. package/dist/shadow/index.d.ts +4 -4
  152. package/dist/shadow/index.js +2 -2
  153. package/dist/{signer-QNU66JF5.js → signer-GRIYBA22.js} +5 -5
  154. package/dist/snapshots/index.cjs.map +1 -1
  155. package/dist/snapshots/index.d.cts +4 -4
  156. package/dist/snapshots/index.d.ts +4 -4
  157. package/dist/snapshots/index.js +4 -4
  158. package/dist/{stale-VKXSXJF4.js → stale-LZYMMDDS.js} +2 -2
  159. package/dist/state-vault-QFJWU23A.js +147 -0
  160. package/dist/state-vault-QFJWU23A.js.map +1 -0
  161. package/dist/store/index.cjs.map +1 -1
  162. package/dist/store/index.d.cts +4 -4
  163. package/dist/store/index.d.ts +4 -4
  164. package/dist/store/index.js +2 -2
  165. package/dist/strategy-CrS7PnbE.d.cts +2048 -0
  166. package/dist/strategy-CrS7PnbE.d.ts +2048 -0
  167. package/dist/sync/index.cjs.map +1 -1
  168. package/dist/sync/index.d.cts +3 -3
  169. package/dist/sync/index.d.ts +3 -3
  170. package/dist/sync/index.js +4 -4
  171. package/dist/team/index.cjs.map +1 -1
  172. package/dist/team/index.d.cts +4 -4
  173. package/dist/team/index.d.ts +4 -4
  174. package/dist/team/index.js +8 -8
  175. package/dist/tx/index.cjs +8 -1
  176. package/dist/tx/index.cjs.map +1 -1
  177. package/dist/tx/index.d.cts +4 -4
  178. package/dist/tx/index.d.ts +4 -4
  179. package/dist/tx/index.js +3 -3
  180. package/dist/{types-DiSXn3a4.d.cts → types-CDwSSXiI.d.cts} +709 -6
  181. package/dist/{types-CD8mc8zR.d.ts → types-pax34sec.d.ts} +709 -6
  182. package/dist/{ulid-DQ1hcJvZ.d.cts → ulid-7bCSgIgb.d.cts} +1 -1
  183. package/dist/{ulid-8p83wbR4.d.ts → ulid-C_t4hL3d.d.ts} +1 -1
  184. package/dist/util/index.cjs.map +1 -1
  185. package/dist/util/index.js +1 -1
  186. package/dist/vault-group-UO4YUZOG.js +493 -0
  187. package/dist/vault-group-UO4YUZOG.js.map +1 -0
  188. package/dist/{with-derivation-DWMTpgEH.d.ts → with-derivation-BjdOxUBn.d.ts} +1 -1
  189. package/dist/{with-derivation-CVT7-dUt.d.cts → with-derivation-D8wFlb6V.d.cts} +1 -1
  190. package/dist/{with-materialized-view-BTTU3BNK.d.cts → with-materialized-view-5QMF1rS_.d.cts} +1 -1
  191. package/dist/{with-materialized-view-X0CoL8-L.d.ts → with-materialized-view-DJb-HO65.d.ts} +1 -1
  192. package/dist/{with-overlayed-view-DQjO_DSG.d.ts → with-overlayed-view-CkqTefbz.d.ts} +1 -1
  193. package/dist/{with-overlayed-view-DcacRRsS.d.cts → with-overlayed-view-DDNflPvC.d.cts} +1 -1
  194. package/package.json +3 -3
  195. package/dist/chunk-2LPPNWF6.js +0 -340
  196. package/dist/chunk-2LPPNWF6.js.map +0 -1
  197. package/dist/chunk-6YLPHBKR.js.map +0 -1
  198. package/dist/chunk-77DWLQRY.js.map +0 -1
  199. package/dist/chunk-C3WE6UJY.js +0 -19
  200. package/dist/chunk-C3WE6UJY.js.map +0 -1
  201. package/dist/chunk-CXJG63MA.js.map +0 -1
  202. package/dist/chunk-MPOLUAMI.js.map +0 -1
  203. package/dist/chunk-O6EJ6WTI.js.map +0 -1
  204. package/dist/chunk-PVUUIWHY.js.map +0 -1
  205. package/dist/chunk-SLV4LAKX.js.map +0 -1
  206. package/dist/executor-S76VN45G.js +0 -8
  207. package/dist/executor-UCXLIGLW.js +0 -11
  208. package/dist/executor-ZCNZJMGR.js +0 -8
  209. package/dist/index-B8bjExET.d.cts +0 -2434
  210. package/dist/index-DfUbNad8.d.ts +0 -2434
  211. package/dist/issue-IVTVSKWW.js +0 -12
  212. package/dist/noydb-SH4RLE47.js +0 -34
  213. package/dist/registry-UFIK7CSR.js +0 -8
  214. package/dist/registry-ZGYYSM5I.js +0 -8
  215. package/dist/strategy-CT2LCKAX.d.cts +0 -613
  216. package/dist/strategy-CT2LCKAX.d.ts +0 -613
  217. package/dist/with-guard-BRvt53da.d.ts +0 -18
  218. package/dist/with-guard-Dx2zZnTA.d.cts +0 -18
  219. /package/dist/{chunk-LSTBFLL2.js.map → chunk-3OUCWHV6.js.map} +0 -0
  220. /package/dist/{chunk-7CEGU63S.js.map → chunk-3XZRRBFW.js.map} +0 -0
  221. /package/dist/{chunk-RC6SU5NO.js.map → chunk-4VCQH32J.js.map} +0 -0
  222. /package/dist/{chunk-ZROPXHJY.js.map → chunk-4YDZ7JPZ.js.map} +0 -0
  223. /package/dist/{chunk-IMYKDWB4.js.map → chunk-5NISHSBO.js.map} +0 -0
  224. /package/dist/{chunk-ZBBW7YQN.js.map → chunk-7TEI2K2A.js.map} +0 -0
  225. /package/dist/{chunk-6T2UDBKG.js.map → chunk-AYNF7PVX.js.map} +0 -0
  226. /package/dist/{chunk-QCXNMCHN.js.map → chunk-C3WRKABE.js.map} +0 -0
  227. /package/dist/{chunk-GAUEWM7D.js.map → chunk-CWFQTAD4.js.map} +0 -0
  228. /package/dist/{chunk-QSOYKKMD.js.map → chunk-D5Y3HIC6.js.map} +0 -0
  229. /package/dist/{chunk-R233SLY3.js.map → chunk-E3DIBDKA.js.map} +0 -0
  230. /package/dist/{chunk-5OEJ6GOT.js.map → chunk-GL3Z7LH7.js.map} +0 -0
  231. /package/dist/{chunk-YW5DBAPG.js.map → chunk-GZJ5JBED.js.map} +0 -0
  232. /package/dist/{chunk-LJXYPGRH.js.map → chunk-HHZ77DHM.js.map} +0 -0
  233. /package/dist/{chunk-6MFH4BMK.js.map → chunk-HQXOEWLZ.js.map} +0 -0
  234. /package/dist/{chunk-RYIL3PI2.js.map → chunk-ILWQGTNH.js.map} +0 -0
  235. /package/dist/{chunk-3DGHRDCX.js.map → chunk-J67BP5EP.js.map} +0 -0
  236. /package/dist/{chunk-RRNA5GKT.js.map → chunk-JWFNOD2T.js.map} +0 -0
  237. /package/dist/{chunk-BDV7INMP.js.map → chunk-KHQ3N5AB.js.map} +0 -0
  238. /package/dist/{chunk-JQ4NEJJ6.js.map → chunk-KJF7EPUE.js.map} +0 -0
  239. /package/dist/{chunk-FO3UEG4S.js.map → chunk-KKB42D3Q.js.map} +0 -0
  240. /package/dist/{chunk-26NK23DZ.js.map → chunk-M6KXHRIA.js.map} +0 -0
  241. /package/dist/{chunk-DAP2XL7Q.js.map → chunk-NIUXQDWD.js.map} +0 -0
  242. /package/dist/{chunk-Y26YV5R3.js.map → chunk-O2JW656W.js.map} +0 -0
  243. /package/dist/{chunk-TGALXXLV.js.map → chunk-PW26DAXS.js.map} +0 -0
  244. /package/dist/{chunk-V2PZC6AW.js.map → chunk-QAWCVWCX.js.map} +0 -0
  245. /package/dist/{chunk-CH22FZHT.js.map → chunk-QFYVGJLI.js.map} +0 -0
  246. /package/dist/{chunk-YM7LFCG7.js.map → chunk-QIVFGU2M.js.map} +0 -0
  247. /package/dist/{chunk-CXFOITNS.js.map → chunk-SJ24GHID.js.map} +0 -0
  248. /package/dist/{chunk-EBVBE7UK.js.map → chunk-SOU42FGB.js.map} +0 -0
  249. /package/dist/{chunk-YVZRTCGG.js.map → chunk-SYSKC237.js.map} +0 -0
  250. /package/dist/{chunk-73YLDCNF.js.map → chunk-TEQGXA7L.js.map} +0 -0
  251. /package/dist/{chunk-PC6ZEDRL.js.map → chunk-UNQEWORI.js.map} +0 -0
  252. /package/dist/{chunk-PC3ZZBTO.js.map → chunk-VAK6NQAK.js.map} +0 -0
  253. /package/dist/{chunk-GKI4SDP7.js.map → chunk-WQKZIQIL.js.map} +0 -0
  254. /package/dist/{crypto-2CRLG4F4.js.map → crypto-YXH6SAOW.js.map} +0 -0
  255. /package/dist/{delegation-ZTRT2PRV.js.map → delegation-K5ERUH6A.js.map} +0 -0
  256. /package/dist/{executor-S76VN45G.js.map → executor-AVJ7UEWA.js.map} +0 -0
  257. /package/dist/{executor-UCXLIGLW.js.map → executor-IQO3KGXQ.js.map} +0 -0
  258. /package/dist/{executor-ZCNZJMGR.js.map → executor-VT7TKGE4.js.map} +0 -0
  259. /package/dist/{fanout-sidecar-F3ZRFU4H.js.map → fanout-sidecar-N6OJX6QR.js.map} +0 -0
  260. /package/dist/{issue-IVTVSKWW.js.map → issue-ZH27C23Y.js.map} +0 -0
  261. /package/dist/{ledger-NYCGJX2D.js.map → ledger-64TTQMRS.js.map} +0 -0
  262. /package/dist/{noydb-SH4RLE47.js.map → noydb-O76SKBST.js.map} +0 -0
  263. /package/dist/{public-envelope-QOXZEHKH.js.map → public-envelope-MHG6YVXW.js.map} +0 -0
  264. /package/dist/{registry-ST2VNFZC.js.map → registry-2PKBQDCH.js.map} +0 -0
  265. /package/dist/{registry-UFIK7CSR.js.map → registry-4VXFKCBJ.js.map} +0 -0
  266. /package/dist/{registry-ZGYYSM5I.js.map → registry-PV4G3OPA.js.map} +0 -0
  267. /package/dist/{revoke-RT7QYB4G.js.map → revoke-5BOLVJ3N.js.map} +0 -0
  268. /package/dist/{signer-QNU66JF5.js.map → signer-GRIYBA22.js.map} +0 -0
  269. /package/dist/{stale-VKXSXJF4.js.map → stale-LZYMMDDS.js.map} +0 -0
@@ -1,8 +1,8 @@
1
1
  import { I as IndexStrategy, d as LazyQuery } from './lazy-builder-D5GU14TS.js';
2
- import { b as AggregateSpec, A as AggregateStrategy } from './strategy-CT2LCKAX.js';
2
+ import { a7 as NoydbError, o as LiveAggregation, f as AggregateSpec, e as AggregateResult, A as AggregateStrategy, au as MoneyDescriptor } from './strategy-CrS7PnbE.js';
3
3
  import { C as CrdtStrategy, a as CrdtMode, b as CrdtState } from './strategy-BSxFXGzb.js';
4
- import { N as NoydbError, Q as Query, aw as RefRegistry, at as RefDescriptor, a7 as JoinableSource, ay as RefViolation, az as ScanBuilder } from './index-DfUbNad8.js';
5
- import { F as FieldClause, I as IndexDef, C as CollectionIndexes } from './predicate-Bt5ft-9c.js';
4
+ import { L as LiveQuery, Q as Query, j as RefRegistry, R as RefDescriptor, d as JoinableSource, l as RefViolation, S as ScanBuilder } from './index-Cqzp4tt9.js';
5
+ import { I as IndexDef, O as Operator, F as FieldClause, C as CollectionIndexes } from './predicate-Bt5ft-9c.js';
6
6
  import { AttestationFieldSchema, RevocationList } from '@noy-db/attestation';
7
7
 
8
8
  /**
@@ -140,6 +140,34 @@ declare function validateSchemaInput<Output>(schema: StandardSchemaV1<unknown, O
140
140
  */
141
141
  declare function validateSchemaOutput<Output>(schema: StandardSchemaV1<unknown, Output>, value: unknown, context: string): Promise<Output>;
142
142
 
143
+ /**
144
+ * @category capability
145
+ * Deferred-numbering config descriptor. See
146
+ * docs/superpowers/specs/2026-06-08-sealed-numbering-and-store-clock-design.md.
147
+ */
148
+ /** A registered deferred-numbering series. */
149
+ interface DeferredNumberingConfig {
150
+ /** Series name — the key passed to `vault.sequence(series)`. */
151
+ readonly series: string;
152
+ /** Collection holding the records to number. */
153
+ readonly collection: string;
154
+ /** Field on each record where the assigned serial is written. */
155
+ readonly field: string;
156
+ /**
157
+ * Minimum wall-clock age (ms) before an entry is eligible at a pass, in
158
+ * addition to the interval commit-wait. Default 0 — the store-clock
159
+ * interval (`storeLatest ≤ now.earliest`) is the correctness mechanism.
160
+ */
161
+ readonly settleWindowMs: number;
162
+ }
163
+ /** Declare a deferred-numbering series. Pass the result in `createNoydb({ numbering: [...] })`. */
164
+ declare function withDeferredNumbering(config: {
165
+ series: string;
166
+ collection: string;
167
+ field: string;
168
+ settleWindowMs?: number;
169
+ }): DeferredNumberingConfig;
170
+
143
171
  /**
144
172
  * Sync scheduling policy.
145
173
  *
@@ -582,6 +610,71 @@ interface BlobStrategy {
582
610
  openSlot(args: BlobStrategyOpenArgs): BlobSet;
583
611
  }
584
612
 
613
+ /**
614
+ * Record cold-storage archival engine.
615
+ *
616
+ * Archival relocates a sealed record's **encrypted envelope** from the
617
+ * primary store to a cold archive store — no re-encryption, the envelope
618
+ * is opaque ciphertext. Because relocation goes through low-level store
619
+ * ops (and the collection's `_internalDelete`), it bypasses guards (an
620
+ * issued/immutable record can still be archived) and never fires
621
+ * materialized-view dispatch (finalized aggregates over a sealed period
622
+ * don't recompute). The archive store's contents are themselves the
623
+ * archived-set index — `listArchived` lists it; `restore` relocates an
624
+ * envelope back to the primary store.
625
+ *
626
+ * A `legalHold` predicate blocks archival; `archiveWhen` (typically
627
+ * derived from the record's fiscal period / business date) selects
628
+ * eligible records.
629
+ */
630
+
631
+ interface ArchivePolicy<T = unknown> {
632
+ /** Select records eligible for archival — typically a business-date / period test. */
633
+ readonly archiveWhen: (record: T) => boolean;
634
+ /** Block archival while true (litigation / audit hold). Fail-closed on throw. */
635
+ readonly legalHold?: (record: T) => boolean;
636
+ }
637
+ interface ArchiveResult {
638
+ /** Records relocated to the archive store. */
639
+ readonly archived: number;
640
+ /** Records eligible by `archiveWhen` but retained by a `legalHold`. */
641
+ readonly held: number;
642
+ /** Records scanned across policy collections. */
643
+ readonly scanned: number;
644
+ readonly byCollection: Record<string, {
645
+ archived: number;
646
+ held: number;
647
+ }>;
648
+ }
649
+ interface ArchiveRunOptions {
650
+ /** Stop after this many archivals. `undefined` = unbounded. */
651
+ readonly maxArchives?: number;
652
+ /** Preview without relocating. */
653
+ readonly dryRun?: boolean;
654
+ }
655
+
656
+ /**
657
+ * `@noy-db/hub` record cold-storage archival subsystem.
658
+ *
659
+ * `withArchive({ store })` designates a cold {@link NoydbStore} as the
660
+ * archive target. Declare a per-collection `archive` policy, then call
661
+ * `vault.archive()` to relocate eligible sealed records there,
662
+ * `vault.restore(collection, id)` to pull one back, and
663
+ * `vault.listArchived()` to enumerate the cold set.
664
+ *
665
+ * @see ./engine for the relocation logic.
666
+ */
667
+
668
+ interface WithArchiveOptions {
669
+ /** The cold store that holds archived record envelopes. */
670
+ store: NoydbStore;
671
+ }
672
+ interface ArchiveStrategy {
673
+ readonly store: NoydbStore;
674
+ }
675
+ /** Enable record cold-storage archival against the given cold store. */
676
+ declare function withArchive(opts: WithArchiveOptions): ArchiveStrategy;
677
+
585
678
  /**
586
679
  * Consent boundaries — per-access audit log.
587
680
  *
@@ -2620,6 +2713,41 @@ declare class DictionaryHandle<Keys extends string = string> {
2620
2713
  resolveLabel(key: string, locale: string, fallback?: string | readonly string[]): Promise<string | undefined>;
2621
2714
  }
2622
2715
 
2716
+ /**
2717
+ * Computed scalar fields — schema-owned derived values evaluated on
2718
+ * write and materialized onto the record.
2719
+ *
2720
+ * A `computed` map declares pure, synchronous functions keyed by field
2721
+ * path. {@link evalComputedFields} runs them in declaration order — each
2722
+ * function sees the record with all prior computed fields already
2723
+ * injected, so a later field can read an earlier one (`total` reads
2724
+ * `netAmount`). The result is stored like any field: queryable,
2725
+ * indexable, and `aggregate(sum())`-able (exactly, when the field is also
2726
+ * a `money()` field).
2727
+ *
2728
+ * Computed evaluation is the FIRST stage of the write pipeline (before
2729
+ * schema validation), so the user need not supply computed fields and the
2730
+ * schema validates the computed result. Cross-record / async derivation
2731
+ * is out of scope here — see the validation subsystem (#299).
2732
+ */
2733
+
2734
+ type ComputedFn<T = Record<string, unknown>> = (record: T) => unknown;
2735
+ type ComputedFields<T = Record<string, unknown>> = Record<string, ComputedFn<T>>;
2736
+ /** Raised when a computed function throws during a write. */
2737
+ declare class ComputedFieldError extends NoydbError {
2738
+ readonly field: string;
2739
+ readonly id: string;
2740
+ readonly cause: unknown;
2741
+ constructor(field: string, id: string, cause: unknown);
2742
+ }
2743
+ /**
2744
+ * Evaluate every computed field in declaration order, injecting each
2745
+ * result into a shallow clone. A computed field overwrites any
2746
+ * user-supplied value of the same name — the field is schema-owned.
2747
+ * Returns the new record; the input is not mutated.
2748
+ */
2749
+ declare function evalComputedFields<T extends Record<string, unknown>>(record: T, computed: ComputedFields, id: string): T;
2750
+
2623
2751
  /**
2624
2752
  * Infer the allowed Unicode scripts for a BCP-47 locale, with asymmetric
2625
2753
  * Latin tolerance. A script subtag (`th-Latn`) wins over the base
@@ -2854,6 +2982,14 @@ interface GatePutEvent {
2854
2982
  readonly existingTs: string | undefined;
2855
2983
  readonly userId: string;
2856
2984
  readonly role: Role;
2985
+ /**
2986
+ * Names of fields whose values are schema-owned computed fields for this
2987
+ * collection. Gate handlers (e.g. `frozenFields`) must skip these: the
2988
+ * incoming record is the raw user input (computed fields not yet evaluated),
2989
+ * so comparing `existing[computedField]` vs `incoming[computedField]`
2990
+ * would always see a change even when the computed result is unchanged.
2991
+ */
2992
+ readonly computedFieldNames?: ReadonlySet<string>;
2857
2993
  }
2858
2994
  /** Payload for a `beforeDelete` gate. Like {@link GatePutEvent} without `incoming`. */
2859
2995
  interface GateDeleteEvent {
@@ -3600,6 +3736,170 @@ declare class SyncEngine {
3600
3736
  private persistMeta;
3601
3737
  }
3602
3738
 
3739
+ /**
3740
+ * @category capability
3741
+ * Multi-vault partition federation (MVF) — public types for VaultGroup
3742
+ * transparent shard routing. See
3743
+ * docs/superpowers/specs/2026-06-07-mvf-vaultgroup-routing-mvp-design.md.
3744
+ */
3745
+
3746
+ /**
3747
+ * A schema blueprint for a class of shard vaults. `configure` is
3748
+ * re-applied to every shard handle so all shards are configured
3749
+ * identically (collections, indexes, schemas). `version` is recorded
3750
+ * into each shard's registry row and drives the fan-out
3751
+ * `minVersion` guard.
3752
+ */
3753
+ interface VaultTemplate {
3754
+ readonly version: number;
3755
+ readonly configure: (vault: Vault) => void;
3756
+ }
3757
+ /** One row in the StateManagement `vault-registry` collection. */
3758
+ interface VaultRegistryRow {
3759
+ readonly vaultId: string;
3760
+ readonly partitionKey: string;
3761
+ readonly templateName: string;
3762
+ readonly schemaVersion: number;
3763
+ readonly createdAt: number;
3764
+ /** Which VaultGroup this shard belongs to (registry is shared across groups). */
3765
+ readonly group: string;
3766
+ }
3767
+ /** How a VaultGroup maps records to shards. */
3768
+ interface ShardingConfig<T> {
3769
+ /** Extract the partition key from a record. */
3770
+ readonly keyOf: (record: T) => string;
3771
+ /** Name of the template (registered via `withVaultTemplate`) shards are stamped from. */
3772
+ readonly vaultTemplate: string;
3773
+ /** When a write targets an unknown partition key, stamp a shard inline. Default `true`. */
3774
+ readonly autoCreate?: boolean;
3775
+ }
3776
+ /** Options for `Noydb.openVaultGroup`. */
3777
+ interface VaultGroupOptions<T> {
3778
+ /**
3779
+ * The `vault-registry` collection (source of truth for shard discovery).
3780
+ * Optional: when omitted, the reserved StateManagement vault's registry
3781
+ * is auto-opened and used.
3782
+ */
3783
+ readonly registry?: Collection<VaultRegistryRow>;
3784
+ readonly sharding: ShardingConfig<T>;
3785
+ }
3786
+ /** Options for a cross-shard fan-out read. */
3787
+ interface FanoutQueryOptions {
3788
+ /** Skip shards whose registry `schemaVersion` is below this. */
3789
+ readonly minVersion?: number;
3790
+ /** Max shards queried in parallel (passed to queryAcross). Default 1. */
3791
+ readonly concurrency?: number;
3792
+ }
3793
+ /** A shard excluded from a fan-out result, with the reason. */
3794
+ interface SkippedVault {
3795
+ readonly vaultId: string;
3796
+ readonly reason: 'schema-drift' | 'error' | 'no-grant';
3797
+ readonly error?: Error;
3798
+ }
3799
+ /** The result of a cross-shard fan-out read. */
3800
+ interface FanoutResult<R> {
3801
+ readonly results: R[];
3802
+ readonly skippedVaults: SkippedVault[];
3803
+ }
3804
+ /** A single captured where-clause, replayed inside each shard. */
3805
+ interface WhereClause {
3806
+ readonly field: string;
3807
+ readonly op: Operator;
3808
+ readonly value: unknown;
3809
+ }
3810
+ /** Options for the live/aggregate fan-out (extends the one-shot opts). */
3811
+ interface LiveQueryOptions extends FanoutQueryOptions {
3812
+ /** Coalesce window before recompute. Default 0 (microtask). */
3813
+ readonly debounceMs?: number;
3814
+ }
3815
+ /** A grouped aggregate output row: the grouped field + the reduced spec result. */
3816
+ type GroupedRow<F extends string, Spec extends AggregateSpec> = {
3817
+ readonly [K in F]: unknown;
3818
+ } & AggregateResult<Spec>;
3819
+ /** Reactive cross-shard record (or grouped-row) query — array-shaped, mirrors LiveQuery<T>. */
3820
+ interface CrossVaultLiveQuery<T> extends LiveQuery<T> {
3821
+ readonly skippedVaults: readonly SkippedVault[];
3822
+ readonly ready: Promise<void>;
3823
+ }
3824
+ /** Reactive cross-shard scalar aggregate — mirrors LiveAggregation<R>. */
3825
+ interface CrossVaultLiveAggregation<R> extends LiveAggregation<R> {
3826
+ readonly skippedVaults: readonly SkippedVault[];
3827
+ readonly ready: Promise<void>;
3828
+ }
3829
+ /** A serializable blueprint captured from a VaultTemplate.configure run. */
3830
+ interface CapturedBlueprint {
3831
+ /** Sorted collection names declared by the template. */
3832
+ readonly collections: string[];
3833
+ /** Per-collection index defs (key order canonicalized). */
3834
+ readonly indexes: Record<string, IndexDef[]>;
3835
+ /** Collections that declared `persistJsonSchema: true`. */
3836
+ readonly persistJsonSchema: string[];
3837
+ }
3838
+ /** One row in the StateManagement `schema-manifest` collection, keyed by `${templateName}:${version}`. */
3839
+ interface SchemaManifestRow {
3840
+ readonly templateName: string;
3841
+ readonly version: number;
3842
+ readonly collections: string[];
3843
+ readonly indexes: Record<string, IndexDef[]>;
3844
+ readonly persistJsonSchema: string[];
3845
+ /** sha256 over the canonicalized serializable blueprint. */
3846
+ readonly fingerprint: string;
3847
+ readonly recordedAt: number;
3848
+ }
3849
+ /** One row in the append-only StateManagement `deployment-events` collection. */
3850
+ interface DeploymentEvent {
3851
+ readonly id: string;
3852
+ readonly ts: number;
3853
+ readonly type: 'shard-created' | 'manifest-recorded' | 'group-opened';
3854
+ readonly group: string;
3855
+ readonly vaultId?: string;
3856
+ readonly templateName?: string;
3857
+ readonly version?: number;
3858
+ readonly actor?: string;
3859
+ }
3860
+
3861
+ /**
3862
+ * @category capability
3863
+ * StateManagement Vault — federation control plane (registry +
3864
+ * schema-manifest + append-only deployment-events). See
3865
+ * docs/superpowers/specs/2026-06-08-statemanagement-vault-design.md.
3866
+ */
3867
+
3868
+ declare class StateManagementVault {
3869
+ #private;
3870
+ readonly registry: Collection<VaultRegistryRow>;
3871
+ readonly schemaManifest: Collection<SchemaManifestRow>;
3872
+ private constructor();
3873
+ /** Idempotently open the reserved state vault and bind the three control-plane collections. */
3874
+ static open(db: Noydb): Promise<StateManagementVault>;
3875
+ /** Read-only query over the append-only deployment-events log. */
3876
+ queryEvents(): Query<DeploymentEvent>;
3877
+ /**
3878
+ * Append a deployment event with a fresh unique (ULID) id. This is the
3879
+ * only write path to the events log; no update/delete is exposed.
3880
+ * Callers should treat failures as non-fatal — this method does not
3881
+ * swallow errors, so wrap the call site in try/catch where appropriate.
3882
+ */
3883
+ appendEvent(event: Omit<DeploymentEvent, 'id' | 'ts'> & {
3884
+ ts?: number;
3885
+ }): Promise<void>;
3886
+ /**
3887
+ * Ensure a manifest row exists for `(templateName, template.version)`.
3888
+ * Safe to call repeatedly: the `fingerprint` is a deterministic hash of
3889
+ * the template's declared shape (stable across calls), though each call
3890
+ * refreshes `recordedAt`.
3891
+ */
3892
+ recordManifest(templateName: string, template: VaultTemplate): Promise<string>;
3893
+ /**
3894
+ * True when `template`'s current declared shape does not match the recorded
3895
+ * manifest for `(templateName, template.version)`. Because shards carry no
3896
+ * schema state independent of their template, this catches "a template's
3897
+ * shape changed without bumping `version`" — not independent per-shard drift.
3898
+ * A missing manifest is treated as drift (nothing to verify against).
3899
+ */
3900
+ detectDrift(templateName: string, template: VaultTemplate): Promise<boolean>;
3901
+ }
3902
+
3603
3903
  /**
3604
3904
  * **Wrap-DEKs primitive** — a single canonical shape for the
3605
3905
  * pattern of "serialize a DEK set, encrypt it under a credential-derived
@@ -4972,6 +5272,157 @@ interface FactorProofBundle {
4972
5272
  /** Active session tier — what the engine compares against `gate.minTier`. */
4973
5273
  type ActiveTier = 1 | 2 | 3;
4974
5274
 
5275
+ /** A source that can fan out records across shards. Satisfied by ShardedQuery. */
5276
+ interface FanoutRecordSource<R> {
5277
+ fanoutRecords(options: FanoutQueryOptions): Promise<{
5278
+ records: R[];
5279
+ skippedVaults: SkippedVault[];
5280
+ }>;
5281
+ }
5282
+ /** Live-binding hooks (change subscription + relevance) threaded from ShardedQuery. */
5283
+ interface LiveBinding {
5284
+ subscribeToChanges: (handler: (e: ChangeEvent) => void) => () => void;
5285
+ isRelevant: (e: ChangeEvent) => boolean;
5286
+ }
5287
+ /**
5288
+ * One-shot cross-vault aggregate. Concatenates all shard records and runs a
5289
+ * single central reduce, ensuring correct avg/mean values.
5290
+ */
5291
+ declare class CrossVaultAggregation<R, Spec extends AggregateSpec> {
5292
+ private readonly src;
5293
+ private readonly spec;
5294
+ private readonly bind?;
5295
+ constructor(src: FanoutRecordSource<R>, spec: Spec, bind?: LiveBinding | undefined);
5296
+ run(options?: FanoutQueryOptions): Promise<{
5297
+ result: AggregateResult<Spec>;
5298
+ skippedVaults: SkippedVault[];
5299
+ }>;
5300
+ live(options?: LiveQueryOptions): CrossVaultLiveAggregation<AggregateResult<Spec>>;
5301
+ }
5302
+ /**
5303
+ * One-shot cross-vault grouped aggregate. Concatenates all shard records and
5304
+ * runs a single central group-and-reduce, emitting one row per bucket.
5305
+ */
5306
+ declare class CrossVaultGroupedAggregation<R, F extends string, Spec extends AggregateSpec> {
5307
+ private readonly src;
5308
+ private readonly field;
5309
+ private readonly spec;
5310
+ private readonly bind?;
5311
+ constructor(src: FanoutRecordSource<R>, field: F, spec: Spec, bind?: LiveBinding | undefined);
5312
+ run(options?: FanoutQueryOptions): Promise<{
5313
+ results: GroupedRow<F, Spec>[];
5314
+ skippedVaults: SkippedVault[];
5315
+ }>;
5316
+ live(options?: LiveQueryOptions): CrossVaultLiveQuery<GroupedRow<F, Spec>>;
5317
+ }
5318
+
5319
+ /**
5320
+ * @category capability
5321
+ * Multi-vault partition federation — VaultGroup transparent shard
5322
+ * routing. Spec:
5323
+ * docs/superpowers/specs/2026-06-07-mvf-vaultgroup-routing-mvp-design.md.
5324
+ */
5325
+
5326
+ declare class VaultGroup<T> {
5327
+ /** @internal */ readonly db: Noydb;
5328
+ /** @internal */ readonly name: string;
5329
+ /** @internal */ readonly registry: Collection<VaultRegistryRow>;
5330
+ /** @internal */ readonly sharding: ShardingConfig<T>;
5331
+ /** @internal */ readonly template: VaultTemplate;
5332
+ constructor(
5333
+ /** @internal */ db: Noydb,
5334
+ /** @internal */ name: string,
5335
+ /** @internal */ registry: Collection<VaultRegistryRow>,
5336
+ /** @internal */ sharding: ShardingConfig<T>,
5337
+ /** @internal */ template: VaultTemplate);
5338
+ /** @internal — set when the group is managed (no explicit registry). */
5339
+ private stateVault;
5340
+ /** @internal */
5341
+ _attachStateVault(sv: StateManagementVault): void;
5342
+ /** Deterministic vault name for a partition key, namespaced by the group. */
5343
+ shardVaultId(partitionKey: string): string;
5344
+ /**
5345
+ * @internal — group-qualified registry record key (avoids cross-group key
5346
+ * collisions). Identical to the shard vault id by design — the registry row
5347
+ * for a shard is keyed by that shard's vault id — so it delegates to
5348
+ * `shardVaultId`, reusing its partition-key validation.
5349
+ */
5350
+ registryId(partitionKey: string): string;
5351
+ /**
5352
+ * Registry rows for THIS group (hydrates the registry collection first).
5353
+ * The registry may be shared across groups (the auto-wired StateManagement
5354
+ * vault holds one `vaultRegistry` for the whole instance), so rows are
5355
+ * filtered by `group` — without this, a group's fan-out reads would leak
5356
+ * across into other groups' shards. Mirrors the `${group}--` scoping that
5357
+ * `liveBinding().isRelevant` already applies to the reactive path.
5358
+ */
5359
+ allRows(): Promise<VaultRegistryRow[]>;
5360
+ /** Open an existing shard and apply the template. */
5361
+ openShard(partitionKey: string): Promise<Vault>;
5362
+ /**
5363
+ * Idempotently provision a shard for `partitionKey`. Returns the
5364
+ * configured vault handle.
5365
+ *
5366
+ * - row + vault present → no-op, return handle
5367
+ * - row present, vault gone → ShardProvisioningError
5368
+ * - row absent (vault present or not) → open-or-create, configure, write row
5369
+ */
5370
+ createShard(partitionKey: string): Promise<Vault>;
5371
+ /**
5372
+ * Drill down to a single shard's full Collection API. Throws if the shard is unknown.
5373
+ * Also throws ShardProvisioningError if the registry row exists but the vault has been deleted
5374
+ * (registry/store divergence).
5375
+ */
5376
+ shard(partitionKey: string): Promise<Vault>;
5377
+ /** A sharded view over one logical collection across all shards. */
5378
+ collection<R = T>(collectionName: string): ShardedCollection<T, R>;
5379
+ /** @internal — eligible (openable-candidate) rows + drift/divergence skips. */
5380
+ resolveEligible(options?: {
5381
+ minVersion?: number;
5382
+ }): Promise<{
5383
+ eligible: VaultRegistryRow[];
5384
+ skipped: SkippedVault[];
5385
+ }>;
5386
+ }
5387
+ declare class ShardedCollection<T, R = T> {
5388
+ private readonly group;
5389
+ private readonly collectionName;
5390
+ constructor(group: VaultGroup<T>, collectionName: string);
5391
+ /** Route a write to the shard owning `keyOf(record)`. */
5392
+ put(id: string, record: T): Promise<void>;
5393
+ /** Begin a cross-shard fan-out query. */
5394
+ query(): ShardedQuery<T, R>;
5395
+ }
5396
+ declare class ShardedQuery<T, R = T> {
5397
+ private readonly group;
5398
+ private readonly collectionName;
5399
+ private readonly clauses;
5400
+ constructor(group: VaultGroup<T>, collectionName: string, clauses: readonly WhereClause[]);
5401
+ where(field: string, op: WhereClause['op'], value: unknown): ShardedQuery<T, R>;
5402
+ /** @internal — fan out the where-filtered records across eligible shards. */
5403
+ fanoutRecords(options?: FanoutQueryOptions): Promise<{
5404
+ records: R[];
5405
+ skippedVaults: SkippedVault[];
5406
+ }>;
5407
+ /** Fan out across eligible shards and merge results. */
5408
+ toArray(options?: FanoutQueryOptions): Promise<FanoutResult<R>>;
5409
+ /** @internal — build the change-subscription + relevance binding for this query's group+collection. */
5410
+ liveBinding(): LiveBinding;
5411
+ /** Returns a reactive cross-shard live query — a facade over CrossVaultLive. */
5412
+ live(options?: LiveQueryOptions): CrossVaultLiveQuery<R>;
5413
+ /** One-shot distributed aggregate — central reduce over all shard records. */
5414
+ aggregate<Spec extends AggregateSpec>(spec: Spec): CrossVaultAggregation<R, Spec>;
5415
+ /** Begin a grouped cross-shard aggregate. */
5416
+ groupBy<F extends string>(field: F): ShardedGroupedQuery<T, R, F>;
5417
+ }
5418
+ /** Grouped cross-shard query — intermediate after `.groupBy(field)`, terminates with `.aggregate(spec)`. */
5419
+ declare class ShardedGroupedQuery<T, R, F extends string> {
5420
+ private readonly query;
5421
+ private readonly field;
5422
+ constructor(query: ShardedQuery<T, R>, field: F);
5423
+ aggregate<Spec extends AggregateSpec>(spec: Spec): CrossVaultGroupedAggregation<R, F, Spec>;
5424
+ }
5425
+
4975
5426
  /** The top-level NOYDB instance. */
4976
5427
  declare class Noydb {
4977
5428
  #private;
@@ -5019,6 +5470,7 @@ declare class Noydb {
5019
5470
  private writeRelay;
5020
5471
  /** Per-vault policy enforcers. */
5021
5472
  private readonly policyEnforcers;
5473
+ private readonly vaultTemplates;
5022
5474
  private readonly txStrategy;
5023
5475
  private readonly sessionStrategy;
5024
5476
  private readonly syncStrategy;
@@ -5270,6 +5722,28 @@ declare class Noydb {
5270
5722
  * ```
5271
5723
  */
5272
5724
  queryAcross<T>(vaultIds: string[], fn: (vault: Vault) => Promise<T>, options?: QueryAcrossOptions): Promise<QueryAcrossResult<T>[]>;
5725
+ /**
5726
+ * Register a shard schema blueprint. `createShard` / `openVaultGroup`
5727
+ * stamp shards from the named template. See the MVF design spec.
5728
+ */
5729
+ withVaultTemplate(name: string, template: VaultTemplate): void;
5730
+ /**
5731
+ * Open a VaultGroup — transparent routing over per-partition shard
5732
+ * vaults, with shard discovery backed by the supplied `vault-registry`
5733
+ * collection.
5734
+ */
5735
+ openVaultGroup<T>(name: string, opts: VaultGroupOptions<T>): Promise<VaultGroup<T>>;
5736
+ /**
5737
+ * Open the reserved StateManagement control-plane vault (registry +
5738
+ * schema-manifest + deployment-events). Lazy-loaded so the federation
5739
+ * chunk stays out of the core graph until used.
5740
+ */
5741
+ openStateManagementVault(): Promise<StateManagementVault>;
5742
+ /**
5743
+ * @internal — true when an encrypted shard vault is provisioned
5744
+ * (its keyring exists in the store).
5745
+ */
5746
+ _shardVaultProvisioned(vaultId: string): Promise<boolean>;
5273
5747
  /**
5274
5748
  * Change the current user's passphrase for a vault.
5275
5749
  *
@@ -6828,6 +7302,82 @@ declare class OverlayedViewRegistry {
6828
7302
  resolveBaseRowKey(name: string, mvRegistry: MaterializedViewRegistry | null): ((row: Record<string, unknown>) => string) | undefined;
6829
7303
  }
6830
7304
 
7305
+ /**
7306
+ * Atomic sequence primitive — online-coordinated gap-free numbering.
7307
+ *
7308
+ * `vault.sequence('invoice-2026').next()` returns 1, 2, 3, … with no
7309
+ * gaps and no duplicates, even under concurrent callers. Each named
7310
+ * sequence is an independent counter record at `_sequences/<name>`,
7311
+ * incremented with an optimistic compare-and-swap retry loop — the same
7312
+ * proven pattern as the ledger head (`history/ledger/store.ts`).
7313
+ *
7314
+ * **Explicitly online-only.** Gap-free numbering requires single-authority
7315
+ * serialization, which an offline / non-CAS store cannot provide. `next()`
7316
+ * throws {@link SequenceOfflineError} unless the backing store advertises
7317
+ * `capabilities.casAtomic`. This is a deliberate, honest wall — an offline
7318
+ * writer cannot safely allocate a global sequence number.
7319
+ *
7320
+ * Note on "gap-free": the *sequence* is gap-free (each `next()` yields a
7321
+ * unique, +1 value). If a caller discards a value without using it, that
7322
+ * is a gap in *usage*, not in the sequence — assign each `next()` result
7323
+ * to its record in the same operation.
7324
+ */
7325
+
7326
+ /** Options for `SequenceHandle.next`. Deferred-numbering series use `for`; the CAS counter ignores all of these. */
7327
+ interface NextOptions {
7328
+ /** Deferred mode: the record id to number. Ignored by the CAS counter. */
7329
+ readonly for?: string;
7330
+ /** Deferred mode: reject after this many ms if still unsealed (reserved; not yet enforced in this slice). */
7331
+ readonly timeoutMs?: number;
7332
+ }
7333
+ interface SequenceHandle {
7334
+ /** Atomically allocate and return the next value (1, 2, 3, …). Deferred series resolve at the next pass. */
7335
+ next(opts?: NextOptions): Promise<number>;
7336
+ /** Read the current value without allocating. Returns 0 if never used. */
7337
+ peek(): Promise<number>;
7338
+ }
7339
+ declare class SequenceStore {
7340
+ private readonly adapter;
7341
+ private readonly vault;
7342
+ private readonly encrypted;
7343
+ private readonly getDEK;
7344
+ private readonly actor;
7345
+ /**
7346
+ * Memoized DEK promise. The `_sequences` collection DEK is created on
7347
+ * first access; without sharing one promise, a burst of concurrent
7348
+ * `next()` calls would each trigger DEK creation and diverge (one
7349
+ * writer's ciphertext unreadable by another). One shared promise → one
7350
+ * DEK.
7351
+ */
7352
+ private dekPromise;
7353
+ constructor(opts: {
7354
+ adapter: NoydbStore;
7355
+ vault: string;
7356
+ encrypted: boolean;
7357
+ getDEK: (collectionName: string) => Promise<CryptoKey>;
7358
+ actor: string;
7359
+ });
7360
+ /** A handle bound to one sequence name. */
7361
+ handle(name: string): SequenceHandle;
7362
+ private assertOnline;
7363
+ private dek;
7364
+ private read;
7365
+ private encryptState;
7366
+ peek(name: string): Promise<number>;
7367
+ next(name: string): Promise<number>;
7368
+ }
7369
+
7370
+ /**
7371
+ * @category capability
7372
+ * Deferred numbering engine — store-clock-ordered, gap-free serials assigned
7373
+ * at an explicit numbering pass. See the design spec.
7374
+ */
7375
+
7376
+ interface Assignment {
7377
+ recordId: string;
7378
+ serial: number;
7379
+ }
7380
+
6831
7381
  /**
6832
7382
  * Vault-internal singleton that holds the guard graph and dispatches
6833
7383
  * per-collection guard execution. Owned by `Vault`; not exported.
@@ -7065,6 +7615,23 @@ interface BlobFieldPolicy<T = unknown> {
7065
7615
  * disable predicate-based eviction.
7066
7616
  */
7067
7617
  readonly evictWhen?: (record: T) => boolean;
7618
+ /**
7619
+ * **Legal hold.** When this predicate returns `true`, the slot is
7620
+ * never evicted — `retainDays`/`evictWhen` are overridden. Use for a
7621
+ * litigation / audit hold on a fiscal document: the blob stays until
7622
+ * the predicate returns `false` (the hold is released). Fail-closed:
7623
+ * if the predicate throws, the slot is treated as held.
7624
+ */
7625
+ readonly legalHold?: (record: T) => boolean;
7626
+ /**
7627
+ * **Period-bound retention.** Returns the date (Date / ISO string /
7628
+ * epoch ms) until which the slot must be retained — typically derived
7629
+ * from the record's fiscal period (e.g. period end + 10 years). While
7630
+ * `now < retainUntil`, the slot is never evicted, regardless of
7631
+ * `retainDays`. Return `null`/`undefined` to impose no floor.
7632
+ * Fail-closed: a throwing function holds the slot.
7633
+ */
7634
+ readonly retainUntil?: (record: T) => Date | string | number | null | undefined;
7068
7635
  }
7069
7636
  type BlobFieldsConfig<T = unknown> = Record<string, BlobFieldPolicy<T>>;
7070
7637
  declare const BLOB_EVICTION_AUDIT_COLLECTION = "_blob_eviction_audit";
@@ -7087,6 +7654,11 @@ interface CompactionResult {
7087
7654
  readonly collections: number;
7088
7655
  /** Number of audit entries written. Equal to `evicted`. */
7089
7656
  readonly auditEntries: number;
7657
+ /**
7658
+ * Number of slots that would have evicted (TTL/predicate triggered)
7659
+ * but were retained by a `legalHold` or `retainUntil` floor.
7660
+ */
7661
+ readonly held: number;
7090
7662
  /** Per-collection breakdown for diagnostics. */
7091
7663
  readonly byCollection: Record<string, {
7092
7664
  records: number;
@@ -7755,6 +8327,10 @@ declare class Vault {
7755
8327
  * call throws with a pointer at `@noy-db/hub/blobs`.
7756
8328
  */
7757
8329
  private readonly blobStrategy;
8330
+ /** Cold-storage archival strategy (the archive target store). */
8331
+ private readonly archiveStrategy;
8332
+ /** Per-collection record archival policies. Indexed by collection name. */
8333
+ private readonly archiveRegistry;
7758
8334
  private readonly indexStrategy;
7759
8335
  private readonly aggregateStrategy;
7760
8336
  private readonly crdtStrategy;
@@ -7853,6 +8429,12 @@ declare class Vault {
7853
8429
  * docstring.
7854
8430
  */
7855
8431
  private ledgerStore;
8432
+ /** Lazily-built atomic-sequence store. See {@link sequence}. */
8433
+ private sequenceStore;
8434
+ /** Lazily-built deferred-numbering engine. See {@link runNumberingPass}. */
8435
+ private deferredNumbering;
8436
+ /** Registered deferred-numbering series, keyed by series name. */
8437
+ private readonly numberingConfigs;
7856
8438
  /**
7857
8439
  * Background writes for persisted-schema envelopes (#schema-dump v0
7858
8440
  * slice 1). One promise per `collection({ persistJsonSchema: true })`
@@ -7964,6 +8546,7 @@ declare class Vault {
7964
8546
  * at `@noy-db/hub/blobs`.
7965
8547
  */
7966
8548
  blobStrategy?: BlobStrategy | undefined;
8549
+ archiveStrategy?: ArchiveStrategy | undefined;
7967
8550
  indexStrategy?: IndexStrategy | undefined;
7968
8551
  aggregateStrategy?: AggregateStrategy | undefined;
7969
8552
  crdtStrategy?: CrdtStrategy | undefined;
@@ -7974,6 +8557,7 @@ declare class Vault {
7974
8557
  i18nStrategy?: I18nStrategy | undefined;
7975
8558
  syncStrategy?: SyncStrategy | undefined;
7976
8559
  guardStrategies?: ReadonlyArray<GuardStrategyHandleAny> | undefined;
8560
+ numberingConfigs?: ReadonlyArray<DeferredNumberingConfig> | undefined;
7977
8561
  });
7978
8562
  /**
7979
8563
  * Construct (or reconstruct) the lazy DEK resolver. Captures the
@@ -8006,8 +8590,9 @@ declare class Vault {
8006
8590
  *. `put()` validates keys against the declared set; reads
8007
8591
  * with `{ locale }` add `<field>Label` virtual fields.
8008
8592
  *
8009
- * Throws `ReservedCollectionNameError` for names starting with `_dict_`.
8010
- * Use `vault.dictionary(name)` to access dictionary collections.
8593
+ * Throws `ReservedCollectionNameError` for names starting with `_dict_` or
8594
+ * equal to `_sequences`. Use `vault.dictionary(name)` for dict collections
8595
+ * and `vault.sequence(name)` for sequence counters.
8011
8596
  *
8012
8597
  * Lazy mode + indexes is rejected at construction time — see the
8013
8598
  * Collection constructor for the rationale.
@@ -8024,6 +8609,10 @@ declare class Vault {
8024
8609
  i18nFields?: Record<string, I18nTextDescriptor>;
8025
8610
  /** — declare dictKey fields for label resolution on reads. */
8026
8611
  dictKeyFields?: Record<string, DictKeyDescriptor>;
8612
+ /** — declare money() fields for currency-safe decimal storage/formatting. */
8613
+ moneyFields?: Record<string, MoneyDescriptor>;
8614
+ /** — declare computed scalar fields, evaluated on write (schema-owned). */
8615
+ computed?: ComputedFields<T>;
8027
8616
  /** — per-collection conflict resolution policy. */
8028
8617
  conflictPolicy?: ConflictPolicy<T>;
8029
8618
  /** — CRDT mode for collaborative editing without conflicts. */
@@ -8042,6 +8631,8 @@ declare class Vault {
8042
8631
  * when `vault.compact()` runs.
8043
8632
  */
8044
8633
  blobFields?: BlobFieldsConfig<T>;
8634
+ /** — declarative record archival policy: `{ archiveWhen, legalHold? }`. Evaluated when `vault.archive()` runs. */
8635
+ archive?: ArchivePolicy<T>;
8045
8636
  /** — declared tiers for this collection. */
8046
8637
  tiers?: readonly number[];
8047
8638
  /** — how lower-tier reads see above-tier records. */
@@ -8287,7 +8878,48 @@ declare class Vault {
8287
8878
  * await vault.compact({ maxEvictions: 1000 }) // cap batch
8288
8879
  * ```
8289
8880
  */
8881
+ /**
8882
+ * Atomic, gap-free numbering. `vault.sequence('invoice-2026').next()`
8883
+ * returns 1, 2, 3, … with no gaps or duplicates under concurrency, via
8884
+ * an optimistic-CAS counter at `_sequences/<name>`. Each name is an
8885
+ * independent sequence.
8886
+ *
8887
+ * **Online-only:** `next()` throws `SequenceOfflineError` unless the
8888
+ * store advertises `capabilities.casAtomic` — gap-free numbering cannot
8889
+ * be serialized by an offline / non-CAS writer.
8890
+ *
8891
+ * ```ts
8892
+ * const n = await vault.sequence('invoice-2026').next() // 1, then 2, …
8893
+ * const cur = await vault.sequence('invoice-2026').peek() // current value, no allocation
8894
+ * ```
8895
+ */
8896
+ sequence(name: string): SequenceHandle;
8897
+ /** @internal — lazily build the deferred-numbering engine with a cache-coherent stamp. */
8898
+ private deferred;
8899
+ /**
8900
+ * Run a deferred-numbering pass for `series`: assign gap-free serials to all
8901
+ * records whose store-commit-time interval has settled, in store-time order.
8902
+ * Returns the assignments made. See {@link sequence} / `withDeferredNumbering`.
8903
+ */
8904
+ runNumberingPass(series: string): Promise<Assignment[]>;
8290
8905
  compact(options?: CompactRunOptions): Promise<CompactionResult>;
8906
+ /**
8907
+ * Sweep records eligible by their collection's `archive` policy into the
8908
+ * cold archive store. Relocation is envelope-level (no re-encryption) and
8909
+ * bypasses guards + materialized-view dispatch, so issued/immutable
8910
+ * records over a sealed period can be archived without recomputing
8911
+ * finalized aggregates. A `legalHold` predicate blocks archival.
8912
+ * Requires `archiveStrategy: withArchive({ store })` in `createNoydb`.
8913
+ */
8914
+ archive(options?: ArchiveRunOptions): Promise<ArchiveResult>;
8915
+ /** Relocate one archived record back to the primary store. Returns false if it was not archived. */
8916
+ restore(collection: string, id: string): Promise<boolean>;
8917
+ /** List archived record ids for a collection (or all collections with an archive policy). */
8918
+ listArchived(collection?: string): Promise<Array<{
8919
+ collection: string;
8920
+ id: string;
8921
+ }>>;
8922
+ private _archiveContext;
8291
8923
  exportBlobs(options?: ExportBlobsOptions): ExportBlobsHandle;
8292
8924
  issueAttestation(collectionName: string, id: string): Promise<{
8293
8925
  docId: string;
@@ -9379,6 +10011,18 @@ declare class Collection<T> {
9379
10011
  * fields when a locale is requested.
9380
10012
  */
9381
10013
  private readonly dictKeyFields;
10014
+ /**
10015
+ * Money field descriptors keyed by field path. Declared via the
10016
+ * `moneyFields` collection option: `put()` quantizes to a scaled-int
10017
+ * string, `get()`/`list()` decode back. Mutable so {@link _applyMoneyFields}
10018
+ * can attach descriptors to a collection MV-analysis pre-created.
10019
+ */
10020
+ private moneyFields;
10021
+ /**
10022
+ * Computed scalar fields, evaluated first on every `put()`. Mutable for
10023
+ * the same MV-pre-creation reconcile as {@link moneyFields}.
10024
+ */
10025
+ private computed;
9382
10026
  /**
9383
10027
  * Async callback provided by the Vault that resolves a dict key
9384
10028
  * to its label for a given locale. Used by the locale-read path for
@@ -9620,6 +10264,8 @@ declare class Collection<T> {
9620
10264
  i18nFields?: Record<string, I18nTextDescriptor> | undefined;
9621
10265
  /** — dictKey field descriptors for label resolution on reads. */
9622
10266
  dictKeyFields?: Record<string, DictKeyDescriptor> | undefined;
10267
+ moneyFields?: Record<string, MoneyDescriptor> | undefined;
10268
+ computed?: ComputedFields | undefined;
9623
10269
  /**
9624
10270
  * async callback that resolves a dict key to its label
9625
10271
  * for a given locale. Provided by the Vault.
@@ -9778,6 +10424,15 @@ declare class Collection<T> {
9778
10424
  * reference — callers must treat it as immutable.
9779
10425
  */
9780
10426
  getSchema(): StandardSchemaV1<unknown, T> | undefined;
10427
+ /**
10428
+ * @internal — attach money descriptors post-construction. MV dependency
10429
+ * analysis auto-creates a source collection (without options) during
10430
+ * `openVault`, before the user's `collection(name, { moneyFields })`
10431
+ * declaration; this reconciles that ordering. First-wins. Not public.
10432
+ */
10433
+ _applyMoneyFields(moneyFields: Record<string, MoneyDescriptor>): void;
10434
+ /** @internal — attach computed fields post-construction. See {@link _applyMoneyFields}. */
10435
+ _applyComputed(computed: ComputedFields): void;
9781
10436
  /**
9782
10437
  * Get a single record by ID.
9783
10438
  *
@@ -9943,6 +10598,12 @@ declare class Collection<T> {
9943
10598
  * each record is locale-resolved before being returned.
9944
10599
  */
9945
10600
  list(locale?: LocaleReadOptions): Promise<T[]>;
10601
+ /**
10602
+ * @internal — whether any read-side record transform is registered
10603
+ * (money decode, i18nText resolution, dictKey labels). Gates the
10604
+ * no-transform fast path in {@link list}.
10605
+ */
10606
+ private hasReadTransforms;
9946
10607
  /**
9947
10608
  * Put many records in one call. Each item is processed sequentially
9948
10609
  * through the normal `put()` path — meaning per-item validation,
@@ -11180,6 +11841,12 @@ interface NoydbStore {
11180
11841
  * involved when something goes wrong.
11181
11842
  */
11182
11843
  name?: string;
11844
+ /**
11845
+ * Optional declared store capabilities (CAS atomicity, native tx, blob
11846
+ * size limits, auth). Consumers that require a capability — e.g.
11847
+ * `vault.sequence().next()` needs `casAtomic` — read it here.
11848
+ */
11849
+ capabilities?: StoreCapabilities;
11183
11850
  /** Get a single record. Returns null if not found. */
11184
11851
  get(vault: string, collection: string, id: string): Promise<EncryptedEnvelope | null>;
11185
11852
  /** Put a record. Throws ConflictError if expectedVersion doesn't match. */
@@ -11194,6 +11861,12 @@ interface NoydbStore {
11194
11861
  saveAll(vault: string, data: VaultSnapshot): Promise<void>;
11195
11862
  /** Optional connectivity check for sync engine. */
11196
11863
  ping?(): Promise<boolean>;
11864
+ /**
11865
+ * The store's authoritative time as a bounded-uncertainty interval.
11866
+ * Present iff `capabilities.serverWriteTime` is true. Monotonic
11867
+ * non-decreasing across calls on a single store.
11868
+ */
11869
+ getStoreTime?(): Promise<StoreTime>;
11197
11870
  /**
11198
11871
  * Optional: list record IDs in a collection that have `_ts` after `since`.
11199
11872
  * Used by partial sync (`pull({ modifiedSince })`). Stores that omit this
@@ -12397,6 +13070,17 @@ interface StoreAuth {
12397
13070
  required: boolean;
12398
13071
  flow: 'static' | 'oauth' | 'kerberos' | 'implicit';
12399
13072
  }
13073
+ /**
13074
+ * The store's authoritative clock as a bounded-uncertainty interval
13075
+ * (Spanner TrueTime model). True time is provably within [earliest, latest];
13076
+ * `latest - earliest` is the clock-uncertainty bound ε. Used by deferred
13077
+ * numbering to order records by store-commit-time and to commit-wait. Never
13078
+ * the client wall clock.
13079
+ */
13080
+ interface StoreTime {
13081
+ readonly earliest: number;
13082
+ readonly latest: number;
13083
+ }
12400
13084
  interface StoreCapabilities {
12401
13085
  /**
12402
13086
  * true — the store's expectedVersion check and write are atomic at the
@@ -12405,6 +13089,13 @@ interface StoreCapabilities {
12405
13089
  * false — check and write are separate operations with a race window.
12406
13090
  */
12407
13091
  casAtomic: boolean;
13092
+ /**
13093
+ * true — the store exposes an authoritative {@link NoydbStore.getStoreTime}
13094
+ * clock and records are ordered by store-commit-time. Required for
13095
+ * `withDeferredNumbering`. Absent/false — the store cannot back deferred
13096
+ * numbering (use CAS `sequence().next()` or per-series).
13097
+ */
13098
+ serverWriteTime?: boolean;
12408
13099
  auth: StoreAuth;
12409
13100
  /**
12410
13101
  * true — the store implements {@link NoydbStore.tx} and commits
@@ -12437,6 +13128,12 @@ interface NoydbOptions {
12437
13128
  * @internal
12438
13129
  */
12439
13130
  readonly blobStrategy?: BlobStrategy;
13131
+ /**
13132
+ * Cold-storage archival target. `withArchive({ store })` designates a
13133
+ * second store that holds archived record envelopes. Enables
13134
+ * `vault.archive()` / `vault.restore()` / `vault.listArchived()`.
13135
+ */
13136
+ readonly archiveStrategy?: ArchiveStrategy;
12440
13137
  /**
12441
13138
  * tree-shake seam — optional indexing strategy. Pass
12442
13139
  * `withIndexing()` from `@noy-db/hub/indexing` to enable eager-mode
@@ -12573,6 +13270,12 @@ interface NoydbOptions {
12573
13270
  * in registration order on `collection.put()`.
12574
13271
  */
12575
13272
  readonly guardStrategies?: ReadonlyArray<GuardStrategyHandleAny>;
13273
+ /**
13274
+ * Deferred-numbering series declared via `withDeferredNumbering(...)`.
13275
+ * `vault.sequence(series).next({ for })` then assigns gap-free serials at a
13276
+ * numbering pass (`vault.runNumberingPass(series)`) instead of via CAS.
13277
+ */
13278
+ readonly numbering?: ReadonlyArray<DeferredNumberingConfig>;
12576
13279
  /**
12577
13280
  * Optional derivation strategies — source-to-output projections that
12578
13281
  * fire on `collection.put()`. Each handle is the output of
@@ -12871,4 +13574,4 @@ interface DeleteManyResult {
12871
13574
  }>;
12872
13575
  }
12873
13576
 
12874
- export { type ExportBlobsAuditEntry as $, BLOB_COLLECTION as A, type BlobStrategy as B, BLOB_EVICTION_AUDIT_COLLECTION as C, DICT_COLLECTION_PREFIX as D, BLOB_INDEX_COLLECTION as E, BLOB_SLOTS_PREFIX as F, BLOB_VERSIONS_PREFIX as G, type BlobEvictionEntry as H, type I18nStrategy as I, type BlobFieldPolicy as J, type BlobFieldsConfig as K, type Layer as L, type BlobObject as M, type BlobPutOptions as N, type OnMissing as O, PolicyEnforcer as P, type BlobResponseOptions as Q, type ResolveI18nOptions as R, type ScriptWarning as S, BlobSet as T, type BlobStrategyOpenArgs as U, type CompactRunOptions as V, type CompactionContext as W, type CompactionResult as X, DEFAULT_CHUNK_SIZE as Y, EXPORT_AUDIT_COLLECTION as Z, ExportBlobsAbortedError as _, type DictEntry as a, type SyncStrategy as a$, type ExportBlobsHandle as a0, type ExportBlobsOptions as a1, type ExportedBlob as a2, type SlotInfo as a3, type SlotRecord as a4, type VersionRecord as a5, createExportBlobsHandle as a6, runCompaction as a7, type ConsentStrategy as a8, CONSENT_AUDIT_COLLECTION as a9, VaultFrame as aA, type NoydbBundleStore as aB, type RetentionPolicy as aC, type SnapshotPolicy as aD, type SnapshotStrategy as aE, type SnapshotMeta as aF, type SnapshotMode as aG, type TxStrategy as aH, type AmendmentTxOptions as aI, TxCollection as aJ, TxContext as aK, TxVault as aL, runTransaction as aM, type DerivationStrategy as aN, type DerivationContext as aO, type ArrayOutputSpec as aP, DerivationRegistry as aQ, type DerivationStrategyHandle as aR, type DerivedFromMeta as aS, type OutputSpec as aT, type RecordOutputSpec as aU, type MaterializedViewStrategy as aV, type MaterializedViewStrategyHandle as aW, type OverlayedViewStrategy as aX, Collection as aY, OverlayedViewRegistry as aZ, type OverlayedViewStrategyHandle as a_, type ConsentAuditEntry as aa, type ConsentAuditFilter as ab, type ConsentContext as ac, type ConsentOp as ad, loadConsentEntries as ae, writeConsentEntry as af, type PeriodsStrategy as ag, type CarryForwardContext as ah, type ClosePeriodOptions as ai, type OpenPeriodOptions as aj, PERIODS_COLLECTION as ak, type PeriodRecord as al, type ReadOnlyCollection as am, appendPeriodLedgerEntry as an, assertTsWritable as ao, chainAnchor as ap, loadPeriods as aq, validatePeriodName as ar, type GuardStrategy as as, type GuardChange as at, type GuardContext as au, GuardRegistry as av, type GuardStrategyHandle as aw, ReadOnlyVaultFacade as ax, type ShadowStrategy as ay, CollectionFrame as az, type DictKeyDescriptor as b, type CollectionStats as b$, type Role as b0, type UnlockedKeyring as b1, type HistoryStrategy as b2, type NoydbStore as b3, type HistoryOptions as b4, type EncryptedEnvelope as b5, type PruneOptions as b6, type AppendInput as b7, type ChangeType as b8, CollectionInstant as b9, type RegisteredMV as bA, MaterializedViewRegistry as bB, type MaterializedFromMeta as bC, type MaterializedViewOutput as bD, type UnionSource as bE, type UserEnvelope as bF, type GateName as bG, type GatePolicy as bH, type VaultPolicy as bI, type ActiveTier as bJ, type FactorProof as bK, type SchemaUpdateStrategy as bL, type TransformFn as bM, type PersistedSchemaEnvelope as bN, type UpdateDecision as bO, type DirectoryConfig as bP, type UserVisibility as bQ, type AccessibleVault as bR, type AffectedDocument as bS, BUNDLE_STORE_POLICY as bT, type BuiltInGateName as bU, type CacheOptions as bV, type CacheStats as bW, type ChangeEvent as bX, type CollectionChangeEvent as bY, type CollectionConflictResolver as bZ, type CollectionDescriptor as b_, type DiffEntry as ba, type JsonPatch as bb, type JsonPatchOp as bc, type LedgerEntry as bd, LedgerStore as be, type VaultEngine as bf, VaultInstant as bg, type VerifyResult as bh, applyPatch as bi, canonicalJson as bj, computePatch as bk, diff as bl, formatDiff as bm, hashEntry as bn, paddedIndex as bo, parseIndex as bp, sha256Hex as bq, type PublicEnvelope as br, type SealingKeyProvider as bs, type BundleRecipient as bt, type RecipientSealer as bu, type RecipientHint as bv, Vault as bw, type RecoveryEnrollmentInput as bx, type ShamirRecoveryProvider as by, type MVQueryContext as bz, DictionaryHandle as c, NOYDB_BACKUP_VERSION as c$, type Conflict as c0, type ConflictPolicy as c1, type ConflictStrategy as c2, type CrossTierAccessEvent as c3, DEFAULT_PUBLIC_ENVELOPE_SCHEMA as c4, DELEGATIONS_COLLECTION as c5, type DeepPartial as c6, type DeepPartialOrNull as c7, type DelegationToken as c8, type DeleteManyResult as c9, type HistoryEntry as cA, INDEXED_STORE_POLICY as cB, type ImportCapability as cC, type InferOutput as cD, type InternalCollectionStats as cE, type IssueDelegationOptions as cF, type IssueMagicLinkGrantOptions as cG, type KeyringAuthenticator as cH, type KeyringAuthenticatorWrappingDEKs as cI, type KeyringAuthenticatorWrappingKEK as cJ, type KeyringFile as cK, type ListAccessibleVaultsOptions as cL, type ListPageResult as cM, type ListUsersOptions as cN, type LiveUserEnvelope as cO, type LocaleReadOptions as cP, Lru as cQ, type LruOptions as cR, type LruStats as cS, MAGIC_LINK_CONTENT_INFO_PREFIX as cT, MAGIC_LINK_GRANTS_COLLECTION as cU, MAGIC_LINK_KEK_INFO_PREFIX as cV, type MagicLinkGrantPayload as cW, type MagicLinkGrantRecord as cX, type MaterializedViewDescriptor as cY, MemoryRecipientSealer as cZ, MemorySealingKeyProvider as c_, type DerivationDescriptor as ca, type DirtyEntry as cb, type DryRunResult as cc, type DumpSchemaOptions as cd, ELEVATION_AUDIT_COLLECTION as ce, ElevatedHandle as cf, type EnrollAuthenticatorOptions as cg, type EnrollAuthenticatorWrappingDEKsOptions as ch, type EnrollAuthenticatorWrappingKEKOptions as ci, type EnrollRecoveryResult as cj, type ExportCapability as ck, type ExportChunk as cl, type ExportFormat as cm, type ExportStreamOptions as cn, type FactorKind as co, type FactorProofBundle as cp, type FactorRequirement as cq, type FenceDoc as cr, type FenceState as cs, type FieldChange as ct, type FieldDescriptor as cu, type FieldSource as cv, type GhostRecord as cw, type GrantOptions as cx, type GuardViolation as cy, type HistoryConfig as cz, type DictionaryOptions as d, type StoreAuthKind as d$, NOYDB_FORMAT_VERSION as d0, NOYDB_KEYRING_VERSION as d1, NOYDB_SYNC_VERSION as d2, Noydb as d3, type NoydbEventMap as d4, type NoydbOptions as d5, type OverlayViewDescriptor as d6, PUBLIC_ENVELOPE_FIELDS as d7, type PaperRecoveryDoc as d8, type PaperRecoveryEntry as d9, type QuickUnlockState as dA, QuickUnlockStore as dB, type ReAuthOperation as dC, type RecoverPassphraseInput as dD, type RecoverPassphraseResult as dE, type RecoverUserOptions as dF, type RecoveryProof as dG, type ResolvedPublicEnvelopeSchema as dH, type RevokeOptions as dI, type RotatePassphraseInput as dJ, type RotateRecoveryOptions as dK, type RotateRecoveryResult as dL, SEALED_PASSPHRASE_RECORD_ID as dM, type SchemaDelta as dN, type SchemaIntrospection as dO, type SealedEnvelope as dP, type SealedPassphrase as dQ, type SessionPolicy as dR, type SetPublicEnvelopeInput as dS, type ShamirRecoveryDoc as dT, type ShamirRecoveryEntry as dU, type SlotRewrapCeremony as dV, type SlotRewrapContext as dW, type StandardSchemaV1 as dX, type StandardSchemaV1Issue as dY, type StandardSchemaV1SyncResult as dZ, type StoreAuth as d_, type PassphrasePolicy as da, type PassphraseValidationResult as db, type Permission as dc, type Permissions as dd, type PersistedSchemaKind as de, type PlaintextTranslatorContext as df, type PlaintextTranslatorFn as dg, PresenceHandle as dh, type PresencePeer as di, type PublicEnvelopeField as dj, type PublicEnvelopeSchema as dk, type PublicEnvelopeText as dl, type PullMode as dm, type PullOptions as dn, type PullPolicy as dp, type PullResult as dq, type PushMode as dr, type PushOptions as ds, type PushPolicy as dt, type PushResult as du, type PutManyItemOptions as dv, type PutManyOptions as dw, type PutManyResult as dx, type QueryAcrossOptions as dy, type QueryAcrossResult as dz, type I18nMap as e, listUsersWithEnvelopes as e$, type StoreCapabilities as e0, SyncEngine as e1, type SyncMetadata as e2, type SyncPolicy as e3, SyncScheduler as e4, type SyncSchedulerStatus as e5, type SyncStatus as e6, type SyncTarget as e7, type SyncTargetRole as e8, SyncTransaction as e9, type WeakPassphraseReason as eA, type WrappedDeksBlob as eB, type WriteConflict as eC, type WriteEvent as eD, type WriteHook as eE, type WriteQueue as eF, assertStrongPassphrase as eG, buildRecipientKeyringFile as eH, burnPaperRecoveryEntry as eI, createNoydb as eJ, createStore as eK, deriveMagicLinkContentKey as eL, enrollAuthenticator as eM, estimateEntropy as eN, evaluateExportCapability as eO, evaluateImportCapability as eP, findAuthenticator as eQ, hasExportCapability as eR, hasImportCapability as eS, hasRecoveryEnrolled as eT, isMagicLinkGrantExpired as eU, isPublicEnvelope as eV, issueDelegation as eW, recoverPassphrase as eX, rotatePassphrase as eY, listMagicLinkGrants as eZ, listUsers as e_, type SyncTransactionResult as ea, type TabChannel as eb, type TabCoordinationOptions as ec, type TabLockManager as ed, type TabPresence as ee, type TabRole as ef, type TierMode as eg, type TranslatorAuditEntry as eh, type TxOp as ei, USER_ENVELOPE_COLLECTION as ej, USER_ENVELOPE_MAX_BYTES as ek, type Unsubscribe as el, type UpdateAuthenticatorOptions as em, type UpdateContext as en, type UpdateUserOptions as eo, UserApi as ep, type UserEnvelopeCheckGate as eq, UserEnvelopeOversizedError as er, type UserEnvelopePresented as es, type UserInfo as et, type VaultBackup as eu, type VaultPolicyOnDisk as ev, type VaultSchemaSnapshot as ew, type VaultSnapshot as ex, type WarningRules as ey, WeakPassphraseError as ez, type I18nTextDescriptor as f, loadActiveDelegations as f0, loadPaperRecoveryEntries as f1, loadSealedPassphrase as f2, loadShamirRecoveryEntries as f3, magicLinkGrantRecordId as f4, mintPaperRecoveryEntry as f5, mintShamirRecoveryEntry as f6, mintWrappedDeksBlob as f7, parseSealedEnvelope as f8, readMagicLinkGrantRecord as f9, recoverUser as fa, removeAuthenticator as fb, resolveSchema as fc, revokeDelegation as fd, revokeMagicLinkGrant as fe, savePaperRecoveryEntries as ff, saveSealedPassphrase as fg, saveShamirRecoveryEntries as fh, unwrapDeksFromBlob as fi, unwrapDeksFromPaperEntry as fj, unwrapDeksFromShamirEntry as fk, unwrapMagicLinkGrant as fl, validatePassphrase as fm, validatePublicEnvelopeInput as fn, validateSchemaInput as fo, validateSchemaOutput as fp, writeMagicLinkGrant as fq, changeSecret as fr, createOwnerKeyring as fs, ensureCollectionDEK as ft, grant as fu, loadKeyring as fv, persistKeyring as fw, revoke as fx, updateAuthenticator as fy, updateKeyringIdentity as fz, type I18nTextOptions as g, type OnMissingPolicy as h, applyI18nLocale as i, dictCollectionName as j, dictKey as k, enforceScript as l, getAtPath as m, i18nText as n, inferScripts as o, isDictCollectionName as p, isDictKeyDescriptor as q, isI18nTextDescriptor as r, resolveI18nText as s, resolvePolicy as t, setAtPathInPlace as u, validateI18nTextValue as v, type SessionStrategy as w, createEnforcer as x, validateSessionPolicy as y, BLOB_CHUNKS_COLLECTION as z };
13577
+ export { type ExportBlobsAuditEntry as $, BLOB_COLLECTION as A, type BlobStrategy as B, BLOB_EVICTION_AUDIT_COLLECTION as C, DICT_COLLECTION_PREFIX as D, BLOB_INDEX_COLLECTION as E, BLOB_SLOTS_PREFIX as F, BLOB_VERSIONS_PREFIX as G, type BlobEvictionEntry as H, type I18nStrategy as I, type BlobFieldPolicy as J, type BlobFieldsConfig as K, type Layer as L, type BlobObject as M, type BlobPutOptions as N, type OnMissing as O, PolicyEnforcer as P, type BlobResponseOptions as Q, type ResolveI18nOptions as R, type ScriptWarning as S, BlobSet as T, type BlobStrategyOpenArgs as U, type CompactRunOptions as V, type CompactionContext as W, type CompactionResult as X, DEFAULT_CHUNK_SIZE as Y, EXPORT_AUDIT_COLLECTION as Z, ExportBlobsAbortedError as _, type DictEntry as a, type SyncStrategy as a$, type ExportBlobsHandle as a0, type ExportBlobsOptions as a1, type ExportedBlob as a2, type SlotInfo as a3, type SlotRecord as a4, type VersionRecord as a5, createExportBlobsHandle as a6, runCompaction as a7, type ConsentStrategy as a8, CONSENT_AUDIT_COLLECTION as a9, VaultFrame as aA, type NoydbBundleStore as aB, type RetentionPolicy as aC, type SnapshotPolicy as aD, type SnapshotStrategy as aE, type SnapshotMeta as aF, type SnapshotMode as aG, type TxStrategy as aH, type AmendmentTxOptions as aI, TxCollection as aJ, TxContext as aK, TxVault as aL, runTransaction as aM, type DerivationStrategy as aN, type DerivationContext as aO, type ArrayOutputSpec as aP, DerivationRegistry as aQ, type DerivationStrategyHandle as aR, type DerivedFromMeta as aS, type OutputSpec as aT, type RecordOutputSpec as aU, type MaterializedViewStrategy as aV, type MaterializedViewStrategyHandle as aW, type OverlayedViewStrategy as aX, Collection as aY, OverlayedViewRegistry as aZ, type OverlayedViewStrategyHandle as a_, type ConsentAuditEntry as aa, type ConsentAuditFilter as ab, type ConsentContext as ac, type ConsentOp as ad, loadConsentEntries as ae, writeConsentEntry as af, type PeriodsStrategy as ag, type CarryForwardContext as ah, type ClosePeriodOptions as ai, type OpenPeriodOptions as aj, PERIODS_COLLECTION as ak, type PeriodRecord as al, type ReadOnlyCollection as am, appendPeriodLedgerEntry as an, assertTsWritable as ao, chainAnchor as ap, loadPeriods as aq, validatePeriodName as ar, type GuardStrategy as as, type GuardChange as at, type GuardContext as au, GuardRegistry as av, type GuardStrategyHandle as aw, ReadOnlyVaultFacade as ax, type ShadowStrategy as ay, CollectionFrame as az, type DictKeyDescriptor as b, type CapturedBlueprint as b$, type Role as b0, type UnlockedKeyring as b1, type HistoryStrategy as b2, type NoydbStore as b3, type HistoryOptions as b4, type EncryptedEnvelope as b5, type PruneOptions as b6, type AppendInput as b7, type ChangeType as b8, CollectionInstant as b9, type RegisteredMV as bA, MaterializedViewRegistry as bB, type MaterializedFromMeta as bC, type MaterializedViewOutput as bD, type UnionSource as bE, type UserEnvelope as bF, type GateName as bG, type GatePolicy as bH, type VaultPolicy as bI, type ActiveTier as bJ, type FactorProof as bK, type SchemaUpdateStrategy as bL, type TransformFn as bM, type PersistedSchemaEnvelope as bN, type UpdateDecision as bO, type DirectoryConfig as bP, type UserVisibility as bQ, type AccessibleVault as bR, type AffectedDocument as bS, type ArchivePolicy as bT, type ArchiveResult as bU, type ArchiveRunOptions as bV, type ArchiveStrategy as bW, BUNDLE_STORE_POLICY as bX, type BuiltInGateName as bY, type CacheOptions as bZ, type CacheStats as b_, type DiffEntry as ba, type JsonPatch as bb, type JsonPatchOp as bc, type LedgerEntry as bd, LedgerStore as be, type VaultEngine as bf, VaultInstant as bg, type VerifyResult as bh, applyPatch as bi, canonicalJson as bj, computePatch as bk, diff as bl, formatDiff as bm, hashEntry as bn, paddedIndex as bo, parseIndex as bp, sha256Hex as bq, type PublicEnvelope as br, type SealingKeyProvider as bs, type BundleRecipient as bt, type RecipientSealer as bu, type RecipientHint as bv, Vault as bw, type RecoveryEnrollmentInput as bx, type ShamirRecoveryProvider as by, type MVQueryContext as bz, DictionaryHandle as c, type KeyringFile as c$, type ChangeEvent as c0, type CollectionChangeEvent as c1, type CollectionConflictResolver as c2, type CollectionDescriptor as c3, type CollectionStats as c4, ComputedFieldError as c5, type ComputedFields as c6, type ComputedFn as c7, type Conflict as c8, type ConflictPolicy as c9, type ExportChunk as cA, type ExportFormat as cB, type ExportStreamOptions as cC, type FactorKind as cD, type FactorProofBundle as cE, type FactorRequirement as cF, type FanoutQueryOptions as cG, type FanoutResult as cH, type FenceDoc as cI, type FenceState as cJ, type FieldChange as cK, type FieldDescriptor as cL, type FieldSource as cM, type GhostRecord as cN, type GrantOptions as cO, type GuardViolation as cP, type HistoryConfig as cQ, type HistoryEntry as cR, INDEXED_STORE_POLICY as cS, type ImportCapability as cT, type InferOutput as cU, type InternalCollectionStats as cV, type IssueDelegationOptions as cW, type IssueMagicLinkGrantOptions as cX, type KeyringAuthenticator as cY, type KeyringAuthenticatorWrappingDEKs as cZ, type KeyringAuthenticatorWrappingKEK as c_, type ConflictStrategy as ca, type CrossTierAccessEvent as cb, CrossVaultAggregation as cc, CrossVaultGroupedAggregation as cd, type GroupedRow as ce, type CrossVaultLiveAggregation as cf, type CrossVaultLiveQuery as cg, DEFAULT_PUBLIC_ENVELOPE_SCHEMA as ch, DELEGATIONS_COLLECTION as ci, type DeepPartial as cj, type DeepPartialOrNull as ck, type DeferredNumberingConfig as cl, type DelegationToken as cm, type DeleteManyResult as cn, type DeploymentEvent as co, type DerivationDescriptor as cp, type DirtyEntry as cq, type DryRunResult as cr, type DumpSchemaOptions as cs, ELEVATION_AUDIT_COLLECTION as ct, ElevatedHandle as cu, type EnrollAuthenticatorOptions as cv, type EnrollAuthenticatorWrappingDEKsOptions as cw, type EnrollAuthenticatorWrappingKEKOptions as cx, type EnrollRecoveryResult as cy, type ExportCapability as cz, type DictionaryOptions as d, type ResolvedPublicEnvelopeSchema as d$, type ListAccessibleVaultsOptions as d0, type ListPageResult as d1, type ListUsersOptions as d2, type LiveQueryOptions as d3, type LiveUserEnvelope as d4, type LocaleReadOptions as d5, Lru as d6, type LruOptions as d7, type LruStats as d8, MAGIC_LINK_CONTENT_INFO_PREFIX as d9, type PlaintextTranslatorContext as dA, type PlaintextTranslatorFn as dB, PresenceHandle as dC, type PresencePeer as dD, type PublicEnvelopeField as dE, type PublicEnvelopeSchema as dF, type PublicEnvelopeText as dG, type PullMode as dH, type PullOptions as dI, type PullPolicy as dJ, type PullResult as dK, type PushMode as dL, type PushOptions as dM, type PushPolicy as dN, type PushResult as dO, type PutManyItemOptions as dP, type PutManyOptions as dQ, type PutManyResult as dR, type QueryAcrossOptions as dS, type QueryAcrossResult as dT, type QuickUnlockState as dU, QuickUnlockStore as dV, type ReAuthOperation as dW, type RecoverPassphraseInput as dX, type RecoverPassphraseResult as dY, type RecoverUserOptions as dZ, type RecoveryProof as d_, MAGIC_LINK_GRANTS_COLLECTION as da, MAGIC_LINK_KEK_INFO_PREFIX as db, type MagicLinkGrantPayload as dc, type MagicLinkGrantRecord as dd, type MaterializedViewDescriptor as de, MemoryRecipientSealer as df, MemorySealingKeyProvider as dg, NOYDB_BACKUP_VERSION as dh, NOYDB_FORMAT_VERSION as di, NOYDB_KEYRING_VERSION as dj, NOYDB_SYNC_VERSION as dk, type NextOptions as dl, Noydb as dm, type NoydbEventMap as dn, type NoydbOptions as dp, type Assignment as dq, type OverlayViewDescriptor as dr, PUBLIC_ENVELOPE_FIELDS as ds, type PaperRecoveryDoc as dt, type PaperRecoveryEntry as du, type PassphrasePolicy as dv, type PassphraseValidationResult as dw, type Permission as dx, type Permissions as dy, type PersistedSchemaKind as dz, type I18nMap as e, type VaultPolicyOnDisk as e$, type RevokeOptions as e0, type RotatePassphraseInput as e1, type RotateRecoveryOptions as e2, type RotateRecoveryResult as e3, SEALED_PASSPHRASE_RECORD_ID as e4, type SchemaDelta as e5, type SchemaIntrospection as e6, type SchemaManifestRow as e7, type SealedEnvelope as e8, type SealedPassphrase as e9, type SyncStatus as eA, type SyncTarget as eB, type SyncTargetRole as eC, SyncTransaction as eD, type SyncTransactionResult as eE, type TabChannel as eF, type TabCoordinationOptions as eG, type TabLockManager as eH, type TabPresence as eI, type TabRole as eJ, type TierMode as eK, type TranslatorAuditEntry as eL, type TxOp as eM, USER_ENVELOPE_COLLECTION as eN, USER_ENVELOPE_MAX_BYTES as eO, type Unsubscribe as eP, type UpdateAuthenticatorOptions as eQ, type UpdateContext as eR, type UpdateUserOptions as eS, UserApi as eT, type UserEnvelopeCheckGate as eU, UserEnvelopeOversizedError as eV, type UserEnvelopePresented as eW, type UserInfo as eX, type VaultBackup as eY, VaultGroup as eZ, type VaultGroupOptions as e_, type SequenceHandle as ea, SequenceStore as eb, type SessionPolicy as ec, type SetPublicEnvelopeInput as ed, type ShamirRecoveryDoc as ee, type ShamirRecoveryEntry as ef, ShardedCollection as eg, ShardedGroupedQuery as eh, ShardedQuery as ei, type ShardingConfig as ej, type SkippedVault as ek, type SlotRewrapCeremony as el, type SlotRewrapContext as em, type StandardSchemaV1 as en, type StandardSchemaV1Issue as eo, type StandardSchemaV1SyncResult as ep, StateManagementVault as eq, type StoreAuth as er, type StoreAuthKind as es, type StoreCapabilities as et, type StoreTime as eu, SyncEngine as ev, type SyncMetadata as ew, type SyncPolicy as ex, SyncScheduler as ey, type SyncSchedulerStatus as ez, type I18nTextDescriptor as f, withDeferredNumbering as f$, type VaultRegistryRow as f0, type VaultSchemaSnapshot as f1, type VaultSnapshot as f2, type VaultTemplate as f3, type WarningRules as f4, WeakPassphraseError as f5, type WeakPassphraseReason as f6, type WithArchiveOptions as f7, type WrappedDeksBlob as f8, type WriteConflict as f9, loadActiveDelegations as fA, loadPaperRecoveryEntries as fB, loadSealedPassphrase as fC, loadShamirRecoveryEntries as fD, magicLinkGrantRecordId as fE, mintPaperRecoveryEntry as fF, mintShamirRecoveryEntry as fG, mintWrappedDeksBlob as fH, parseSealedEnvelope as fI, readMagicLinkGrantRecord as fJ, recoverUser as fK, removeAuthenticator as fL, resolveSchema as fM, revokeDelegation as fN, revokeMagicLinkGrant as fO, savePaperRecoveryEntries as fP, saveSealedPassphrase as fQ, saveShamirRecoveryEntries as fR, unwrapDeksFromBlob as fS, unwrapDeksFromPaperEntry as fT, unwrapDeksFromShamirEntry as fU, unwrapMagicLinkGrant as fV, validatePassphrase as fW, validatePublicEnvelopeInput as fX, validateSchemaInput as fY, validateSchemaOutput as fZ, withArchive as f_, type WriteEvent as fa, type WriteHook as fb, type WriteQueue as fc, assertStrongPassphrase as fd, buildRecipientKeyringFile as fe, burnPaperRecoveryEntry as ff, createNoydb as fg, createStore as fh, deriveMagicLinkContentKey as fi, enrollAuthenticator as fj, estimateEntropy as fk, evalComputedFields as fl, evaluateExportCapability as fm, evaluateImportCapability as fn, findAuthenticator as fo, hasExportCapability as fp, hasImportCapability as fq, hasRecoveryEnrolled as fr, isMagicLinkGrantExpired as fs, isPublicEnvelope as ft, issueDelegation as fu, recoverPassphrase as fv, rotatePassphrase as fw, listMagicLinkGrants as fx, listUsers as fy, listUsersWithEnvelopes as fz, type I18nTextOptions as g, writeMagicLinkGrant as g0, changeSecret as g1, createOwnerKeyring as g2, ensureCollectionDEK as g3, grant as g4, loadKeyring as g5, persistKeyring as g6, revoke as g7, updateAuthenticator as g8, updateKeyringIdentity as g9, type OnMissingPolicy as h, applyI18nLocale as i, dictCollectionName as j, dictKey as k, enforceScript as l, getAtPath as m, i18nText as n, inferScripts as o, isDictCollectionName as p, isDictKeyDescriptor as q, isI18nTextDescriptor as r, resolveI18nText as s, resolvePolicy as t, setAtPathInPlace as u, validateI18nTextValue as v, type SessionStrategy as w, createEnforcer as x, validateSessionPolicy as y, BLOB_CHUNKS_COLLECTION as z };