@noy-db/hub 0.2.0-pre.19 → 0.2.0-pre.20

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 (272) hide show
  1. package/dist/aggregate/index.cjs.map +1 -1
  2. package/dist/aggregate/index.d.cts +3 -3
  3. package/dist/aggregate/index.d.ts +3 -3
  4. package/dist/aggregate/index.js +5 -5
  5. package/dist/attestation/index.cjs.map +1 -1
  6. package/dist/attestation/index.d.cts +4 -4
  7. package/dist/attestation/index.d.ts +4 -4
  8. package/dist/attestation/index.js +6 -6
  9. package/dist/blobs/index.cjs +252 -2
  10. package/dist/blobs/index.cjs.map +1 -1
  11. package/dist/blobs/index.d.cts +6 -6
  12. package/dist/blobs/index.d.ts +6 -6
  13. package/dist/blobs/index.js +11 -7
  14. package/dist/blobs/index.js.map +1 -1
  15. package/dist/bundle/index.cjs +81 -7
  16. package/dist/bundle/index.cjs.map +1 -1
  17. package/dist/bundle/index.d.cts +6 -6
  18. package/dist/bundle/index.d.ts +6 -6
  19. package/dist/bundle/index.js +10 -10
  20. package/dist/{chunk-U7JNBSS3.js → chunk-2XA2ZML4.js} +3 -3
  21. package/dist/chunk-2XA2ZML4.js.map +1 -0
  22. package/dist/{chunk-OKOKPYWH.js → chunk-37VGJM3T.js} +2 -2
  23. package/dist/{chunk-B6E5IRPJ.js → chunk-3HNKR65T.js} +3 -3
  24. package/dist/{chunk-6KESZO5D.js → chunk-5YTXYPES.js} +5 -5
  25. package/dist/{chunk-7HD67R6U.js → chunk-6QAZ5O6X.js} +2 -2
  26. package/dist/{chunk-XPH3FWME.js → chunk-6QE4DUYC.js} +2 -2
  27. package/dist/{chunk-4ULLGYPA.js → chunk-7MRT7EPB.js} +3 -3
  28. package/dist/{chunk-KYGGXXT6.js → chunk-7PH4OPBZ.js} +119 -58
  29. package/dist/chunk-7PH4OPBZ.js.map +1 -0
  30. package/dist/{chunk-3FSMVWBN.js → chunk-AI4USDRI.js} +4 -4
  31. package/dist/{chunk-GKQAU52M.js → chunk-BZW5IL43.js} +4 -4
  32. package/dist/{chunk-NN6IISZO.js → chunk-C2RJVZZL.js} +2 -2
  33. package/dist/{chunk-VNUE6FHP.js → chunk-C6W5KVDV.js} +3 -3
  34. package/dist/{chunk-KNKNOJFS.js → chunk-CQYEDODS.js} +3 -3
  35. package/dist/{chunk-FPHRTW2Z.js → chunk-EYK72OTL.js} +5 -5
  36. package/dist/{chunk-FBLAWK6A.js → chunk-F5GWNSE2.js} +2 -2
  37. package/dist/{chunk-Y5J63SMF.js → chunk-F5ILTHMU.js} +5 -5
  38. package/dist/{chunk-M3FPNTO2.js → chunk-FRRJIUSI.js} +4 -4
  39. package/dist/chunk-FRRJIUSI.js.map +1 -0
  40. package/dist/{chunk-Q5MCHUXZ.js → chunk-GJTKMME7.js} +2 -2
  41. package/dist/{chunk-S22UOMHM.js → chunk-HYJMAV53.js} +6 -6
  42. package/dist/{chunk-YZE6C3TQ.js → chunk-I3IYTUUI.js} +3 -3
  43. package/dist/{chunk-5IGWRMEC.js → chunk-IVZWHIEK.js} +5 -5
  44. package/dist/{chunk-7C6VFNIY.js → chunk-IW4L4X65.js} +2 -2
  45. package/dist/{chunk-V3VIRTTE.js → chunk-IY24WS2P.js} +3 -3
  46. package/dist/{chunk-IVP5IVON.js → chunk-J6RGRZOY.js} +2 -2
  47. package/dist/{chunk-DY3EOJEN.js → chunk-JBBWALNI.js} +2 -2
  48. package/dist/{chunk-YX333DPS.js → chunk-JDCPRJVS.js} +4 -4
  49. package/dist/{chunk-E66DSTJP.js → chunk-JOK73NDT.js} +3 -3
  50. package/dist/{chunk-G4PYA575.js → chunk-JTI57WRT.js} +2 -2
  51. package/dist/{chunk-OBMYMKGO.js → chunk-JYNH4FIM.js} +4 -4
  52. package/dist/{chunk-GYAWXHFO.js → chunk-KOAJ3TZM.js} +2 -2
  53. package/dist/{chunk-X7FJMKT3.js → chunk-MBXKRHSS.js} +2 -2
  54. package/dist/{chunk-WFK2EVYU.js → chunk-NSXNXLYM.js} +2 -2
  55. package/dist/{chunk-3Q2AOPLT.js → chunk-NV4IHBZS.js} +5 -5
  56. package/dist/{chunk-H42KZXNV.js → chunk-O5XKZCUD.js} +5 -5
  57. package/dist/{chunk-DJF3FXW5.js → chunk-OTWT6BAJ.js} +18 -1
  58. package/dist/chunk-OTWT6BAJ.js.map +1 -0
  59. package/dist/{chunk-6OSOE6BY.js → chunk-S45MDEEF.js} +2 -2
  60. package/dist/{chunk-S3XA7G35.js → chunk-SQKAECUL.js} +2 -2
  61. package/dist/{chunk-YLRRU72W.js → chunk-SQOK5UM6.js} +2 -2
  62. package/dist/{chunk-SHIUFIPW.js → chunk-TA6HPKWQ.js} +1 -1
  63. package/dist/chunk-TA6HPKWQ.js.map +1 -0
  64. package/dist/{chunk-V5FZWQNN.js → chunk-TAMRU7A2.js} +4 -4
  65. package/dist/{chunk-PWFTQHYX.js → chunk-TGIJTNM3.js} +2 -2
  66. package/dist/{chunk-VEIVAYJ7.js → chunk-TNH5SLCD.js} +2 -2
  67. package/dist/{chunk-IBVTH4JR.js → chunk-TYMDCIQM.js} +4 -4
  68. package/dist/{chunk-LSIIPKYT.js → chunk-U2XSUCDF.js} +2 -2
  69. package/dist/{chunk-MI36HL5G.js → chunk-UU6M64HI.js} +4 -4
  70. package/dist/{chunk-KEDJDWWQ.js → chunk-WE2BUQD2.js} +3 -3
  71. package/dist/{chunk-OY7RX2VL.js → chunk-WWVJXBOT.js} +256 -8
  72. package/dist/chunk-WWVJXBOT.js.map +1 -0
  73. package/dist/{chunk-CYNTFU2D.js → chunk-YPIOFSN3.js} +2 -2
  74. package/dist/{chunk-PTGQPWMV.js → chunk-ZONKSLF2.js} +2 -2
  75. package/dist/consent/index.cjs.map +1 -1
  76. package/dist/consent/index.d.cts +5 -5
  77. package/dist/consent/index.d.ts +5 -5
  78. package/dist/consent/index.js +3 -3
  79. package/dist/{crypto-B46VNH6X.js → crypto-456N7UVX.js} +3 -3
  80. package/dist/{delegation-5HON72PV.js → delegation-DP4COTXB.js} +5 -5
  81. package/dist/derivations/index.cjs.map +1 -1
  82. package/dist/derivations/index.d.cts +6 -6
  83. package/dist/derivations/index.d.ts +6 -6
  84. package/dist/derivations/index.js +4 -4
  85. package/dist/{dev-unlock-BR1rMOS-.d.cts → dev-unlock-CY0HIZA0.d.cts} +1 -1
  86. package/dist/{dev-unlock-whL49sxV.d.ts → dev-unlock-CpKSkl2c.d.ts} +1 -1
  87. package/dist/{errors-DL-zTrrF.d.cts → errors-Dkc_fi-S.d.cts} +21 -1
  88. package/dist/{errors-DL-zTrrF.d.ts → errors-Dkc_fi-S.d.ts} +21 -1
  89. package/dist/executor-4IEW4KG5.js +8 -0
  90. package/dist/executor-KYJCJCIN.js +12 -0
  91. package/dist/executor-W7VIBOBZ.js +8 -0
  92. package/dist/{fanout-sidecar-DCQWJQ6S.js → fanout-sidecar-YXNAEZ33.js} +2 -2
  93. package/dist/forget/index.js +4 -4
  94. package/dist/guards/index.cjs.map +1 -1
  95. package/dist/guards/index.d.cts +6 -6
  96. package/dist/guards/index.d.ts +6 -6
  97. package/dist/guards/index.js +3 -3
  98. package/dist/{hash-BEUBmmI4.d.cts → hash-BSd0-_L8.d.cts} +1 -1
  99. package/dist/{hash-Dtb7FwWd.d.ts → hash-BnBQx39y.d.ts} +1 -1
  100. package/dist/history/index.cjs.map +1 -1
  101. package/dist/history/index.d.cts +6 -6
  102. package/dist/history/index.d.ts +6 -6
  103. package/dist/history/index.js +5 -5
  104. package/dist/i18n/index.cjs.map +1 -1
  105. package/dist/i18n/index.d.cts +5 -5
  106. package/dist/i18n/index.d.ts +5 -5
  107. package/dist/i18n/index.js +6 -6
  108. package/dist/{index-BelbyUwz.d.ts → index-Bm9hIY7t.d.ts} +2 -2
  109. package/dist/{index-BM7O48Ur.d.cts → index-tZqVB9g5.d.cts} +2 -2
  110. package/dist/index.cjs +358 -9
  111. package/dist/index.cjs.map +1 -1
  112. package/dist/index.d.cts +42 -16
  113. package/dist/index.d.ts +42 -16
  114. package/dist/index.js +73 -46
  115. package/dist/index.js.map +1 -1
  116. package/dist/indexing/index.cjs.map +1 -1
  117. package/dist/indexing/index.js +4 -4
  118. package/dist/issue-JXC6T2QR.js +12 -0
  119. package/dist/{ledger-LS6GXCBP.js → ledger-I7JUYP4L.js} +5 -5
  120. package/dist/materialized-views/index.cjs.map +1 -1
  121. package/dist/materialized-views/index.d.cts +6 -6
  122. package/dist/materialized-views/index.d.ts +6 -6
  123. package/dist/materialized-views/index.js +8 -8
  124. package/dist/mime-magic-BnJCGJzB.d.cts +103 -0
  125. package/dist/mime-magic-CjSyakO4.d.ts +103 -0
  126. package/dist/noydb-ZZCRF6TE.js +38 -0
  127. package/dist/overlay-views/index.cjs.map +1 -1
  128. package/dist/overlay-views/index.d.cts +6 -6
  129. package/dist/overlay-views/index.d.ts +6 -6
  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 +5 -5
  133. package/dist/periods/index.d.ts +5 -5
  134. package/dist/periods/index.js +5 -5
  135. package/dist/{public-envelope-AGU6SS4Z.js → public-envelope-5XRTUNKF.js} +4 -4
  136. package/dist/query/index.cjs.map +1 -1
  137. package/dist/query/index.d.cts +3 -3
  138. package/dist/query/index.d.ts +3 -3
  139. package/dist/query/index.js +7 -7
  140. package/dist/registry-ATRHOG5B.js +8 -0
  141. package/dist/registry-LEHB26TY.js +8 -0
  142. package/dist/{registry-RDPTFXQ7.js → registry-NWHOLD5M.js} +3 -3
  143. package/dist/{revoke-IFLXEZA5.js → revoke-5IEK22KT.js} +6 -6
  144. package/dist/sealed-record/index.cjs.map +1 -1
  145. package/dist/sealed-record/index.d.cts +1 -1
  146. package/dist/sealed-record/index.d.ts +1 -1
  147. package/dist/sealed-record/index.js +2 -2
  148. package/dist/session/index.cjs.map +1 -1
  149. package/dist/session/index.d.cts +6 -6
  150. package/dist/session/index.d.ts +6 -6
  151. package/dist/session/index.js +3 -3
  152. package/dist/shadow/index.cjs.map +1 -1
  153. package/dist/shadow/index.d.cts +5 -5
  154. package/dist/shadow/index.d.ts +5 -5
  155. package/dist/shadow/index.js +2 -2
  156. package/dist/{signer-UNWOUJAK.js → signer-I6YARZQA.js} +5 -5
  157. package/dist/snapshots/index.cjs.map +1 -1
  158. package/dist/snapshots/index.d.cts +5 -5
  159. package/dist/snapshots/index.d.ts +5 -5
  160. package/dist/snapshots/index.js +4 -4
  161. package/dist/{stale-NTEV5SLX.js → stale-CPESGAPL.js} +2 -2
  162. package/dist/{state-vault-TUTFRTOA.js → state-vault-JR3CFGNP.js} +4 -4
  163. package/dist/store/index.cjs.map +1 -1
  164. package/dist/store/index.d.cts +5 -5
  165. package/dist/store/index.d.ts +5 -5
  166. package/dist/store/index.js +2 -2
  167. package/dist/{strategy-BDxQnnTX.d.ts → strategy-54eIwox5.d.ts} +1 -1
  168. package/dist/{strategy-C5ol6NdV.d.cts → strategy-WtB-jXYv.d.cts} +1 -1
  169. package/dist/sync/index.cjs.map +1 -1
  170. package/dist/sync/index.d.cts +4 -4
  171. package/dist/sync/index.d.ts +4 -4
  172. package/dist/sync/index.js +4 -4
  173. package/dist/team/index.cjs.map +1 -1
  174. package/dist/team/index.d.cts +5 -5
  175. package/dist/team/index.d.ts +5 -5
  176. package/dist/team/index.js +8 -8
  177. package/dist/{transition-guard-C__YeF3_.d.ts → transition-guard-D4bfIAiW.d.ts} +1 -1
  178. package/dist/{transition-guard-B1N82hMf.d.cts → transition-guard-Dmpqzg-_.d.cts} +1 -1
  179. package/dist/tx/index.cjs.map +1 -1
  180. package/dist/tx/index.d.cts +5 -5
  181. package/dist/tx/index.d.ts +5 -5
  182. package/dist/tx/index.js +3 -3
  183. package/dist/{types-CraiZOyO.d.ts → types-DLfWFr6U.d.ts} +374 -139
  184. package/dist/{types-D-gr5t0G.d.cts → types-DyOI6XZ_.d.cts} +374 -139
  185. package/dist/{ulid-FFRRHkVf.d.ts → ulid-B2L_aqVA.d.ts} +1 -1
  186. package/dist/{ulid-DQnSAP5W.d.cts → ulid-LaxfH2tK.d.cts} +1 -1
  187. package/dist/util/index.cjs.map +1 -1
  188. package/dist/util/index.js +1 -1
  189. package/dist/{vault-group-27EV7KB4.js → vault-group-BB246VIM.js} +7 -7
  190. package/dist/{with-materialized-view-BboqxyV3.d.cts → with-materialized-view-CeZYGJVf.d.cts} +1 -1
  191. package/dist/{with-materialized-view-CguCeVcT.d.ts → with-materialized-view-DNULSxoP.d.ts} +1 -1
  192. package/dist/{with-overlayed-view-DO08u_tx.d.ts → with-overlayed-view-C9joG7UZ.d.ts} +1 -1
  193. package/dist/{with-overlayed-view-mmsg5Of3.d.cts → with-overlayed-view-kdcPGHih.d.cts} +1 -1
  194. package/dist/{with-rollup-_TyBzz3T.d.ts → with-rollup-DJDbrxjf.d.ts} +1 -1
  195. package/dist/{with-rollup-aaxOZcIb.d.cts → with-rollup-s58XAeWO.d.cts} +1 -1
  196. package/package.json +3 -3
  197. package/dist/chunk-DJF3FXW5.js.map +0 -1
  198. package/dist/chunk-KYGGXXT6.js.map +0 -1
  199. package/dist/chunk-M3FPNTO2.js.map +0 -1
  200. package/dist/chunk-OY7RX2VL.js.map +0 -1
  201. package/dist/chunk-SHIUFIPW.js.map +0 -1
  202. package/dist/chunk-U7JNBSS3.js.map +0 -1
  203. package/dist/executor-44R5CUS2.js +0 -12
  204. package/dist/executor-AOACUK7Z.js +0 -8
  205. package/dist/executor-OKFLQCDW.js +0 -8
  206. package/dist/issue-EPA2PSWP.js +0 -12
  207. package/dist/mime-magic-CBBSOkjm.d.cts +0 -50
  208. package/dist/mime-magic-CBBSOkjm.d.ts +0 -50
  209. package/dist/noydb-BVKFP74P.js +0 -38
  210. package/dist/registry-ERNAMRDE.js +0 -8
  211. package/dist/registry-EXTHSXQW.js +0 -8
  212. /package/dist/{chunk-OKOKPYWH.js.map → chunk-37VGJM3T.js.map} +0 -0
  213. /package/dist/{chunk-B6E5IRPJ.js.map → chunk-3HNKR65T.js.map} +0 -0
  214. /package/dist/{chunk-6KESZO5D.js.map → chunk-5YTXYPES.js.map} +0 -0
  215. /package/dist/{chunk-7HD67R6U.js.map → chunk-6QAZ5O6X.js.map} +0 -0
  216. /package/dist/{chunk-XPH3FWME.js.map → chunk-6QE4DUYC.js.map} +0 -0
  217. /package/dist/{chunk-4ULLGYPA.js.map → chunk-7MRT7EPB.js.map} +0 -0
  218. /package/dist/{chunk-3FSMVWBN.js.map → chunk-AI4USDRI.js.map} +0 -0
  219. /package/dist/{chunk-GKQAU52M.js.map → chunk-BZW5IL43.js.map} +0 -0
  220. /package/dist/{chunk-NN6IISZO.js.map → chunk-C2RJVZZL.js.map} +0 -0
  221. /package/dist/{chunk-VNUE6FHP.js.map → chunk-C6W5KVDV.js.map} +0 -0
  222. /package/dist/{chunk-KNKNOJFS.js.map → chunk-CQYEDODS.js.map} +0 -0
  223. /package/dist/{chunk-FPHRTW2Z.js.map → chunk-EYK72OTL.js.map} +0 -0
  224. /package/dist/{chunk-FBLAWK6A.js.map → chunk-F5GWNSE2.js.map} +0 -0
  225. /package/dist/{chunk-Y5J63SMF.js.map → chunk-F5ILTHMU.js.map} +0 -0
  226. /package/dist/{chunk-Q5MCHUXZ.js.map → chunk-GJTKMME7.js.map} +0 -0
  227. /package/dist/{chunk-S22UOMHM.js.map → chunk-HYJMAV53.js.map} +0 -0
  228. /package/dist/{chunk-YZE6C3TQ.js.map → chunk-I3IYTUUI.js.map} +0 -0
  229. /package/dist/{chunk-5IGWRMEC.js.map → chunk-IVZWHIEK.js.map} +0 -0
  230. /package/dist/{chunk-7C6VFNIY.js.map → chunk-IW4L4X65.js.map} +0 -0
  231. /package/dist/{chunk-V3VIRTTE.js.map → chunk-IY24WS2P.js.map} +0 -0
  232. /package/dist/{chunk-IVP5IVON.js.map → chunk-J6RGRZOY.js.map} +0 -0
  233. /package/dist/{chunk-DY3EOJEN.js.map → chunk-JBBWALNI.js.map} +0 -0
  234. /package/dist/{chunk-YX333DPS.js.map → chunk-JDCPRJVS.js.map} +0 -0
  235. /package/dist/{chunk-E66DSTJP.js.map → chunk-JOK73NDT.js.map} +0 -0
  236. /package/dist/{chunk-G4PYA575.js.map → chunk-JTI57WRT.js.map} +0 -0
  237. /package/dist/{chunk-OBMYMKGO.js.map → chunk-JYNH4FIM.js.map} +0 -0
  238. /package/dist/{chunk-GYAWXHFO.js.map → chunk-KOAJ3TZM.js.map} +0 -0
  239. /package/dist/{chunk-X7FJMKT3.js.map → chunk-MBXKRHSS.js.map} +0 -0
  240. /package/dist/{chunk-WFK2EVYU.js.map → chunk-NSXNXLYM.js.map} +0 -0
  241. /package/dist/{chunk-3Q2AOPLT.js.map → chunk-NV4IHBZS.js.map} +0 -0
  242. /package/dist/{chunk-H42KZXNV.js.map → chunk-O5XKZCUD.js.map} +0 -0
  243. /package/dist/{chunk-6OSOE6BY.js.map → chunk-S45MDEEF.js.map} +0 -0
  244. /package/dist/{chunk-S3XA7G35.js.map → chunk-SQKAECUL.js.map} +0 -0
  245. /package/dist/{chunk-YLRRU72W.js.map → chunk-SQOK5UM6.js.map} +0 -0
  246. /package/dist/{chunk-V5FZWQNN.js.map → chunk-TAMRU7A2.js.map} +0 -0
  247. /package/dist/{chunk-PWFTQHYX.js.map → chunk-TGIJTNM3.js.map} +0 -0
  248. /package/dist/{chunk-VEIVAYJ7.js.map → chunk-TNH5SLCD.js.map} +0 -0
  249. /package/dist/{chunk-IBVTH4JR.js.map → chunk-TYMDCIQM.js.map} +0 -0
  250. /package/dist/{chunk-LSIIPKYT.js.map → chunk-U2XSUCDF.js.map} +0 -0
  251. /package/dist/{chunk-MI36HL5G.js.map → chunk-UU6M64HI.js.map} +0 -0
  252. /package/dist/{chunk-KEDJDWWQ.js.map → chunk-WE2BUQD2.js.map} +0 -0
  253. /package/dist/{chunk-CYNTFU2D.js.map → chunk-YPIOFSN3.js.map} +0 -0
  254. /package/dist/{chunk-PTGQPWMV.js.map → chunk-ZONKSLF2.js.map} +0 -0
  255. /package/dist/{crypto-B46VNH6X.js.map → crypto-456N7UVX.js.map} +0 -0
  256. /package/dist/{delegation-5HON72PV.js.map → delegation-DP4COTXB.js.map} +0 -0
  257. /package/dist/{executor-44R5CUS2.js.map → executor-4IEW4KG5.js.map} +0 -0
  258. /package/dist/{executor-AOACUK7Z.js.map → executor-KYJCJCIN.js.map} +0 -0
  259. /package/dist/{executor-OKFLQCDW.js.map → executor-W7VIBOBZ.js.map} +0 -0
  260. /package/dist/{fanout-sidecar-DCQWJQ6S.js.map → fanout-sidecar-YXNAEZ33.js.map} +0 -0
  261. /package/dist/{issue-EPA2PSWP.js.map → issue-JXC6T2QR.js.map} +0 -0
  262. /package/dist/{ledger-LS6GXCBP.js.map → ledger-I7JUYP4L.js.map} +0 -0
  263. /package/dist/{noydb-BVKFP74P.js.map → noydb-ZZCRF6TE.js.map} +0 -0
  264. /package/dist/{public-envelope-AGU6SS4Z.js.map → public-envelope-5XRTUNKF.js.map} +0 -0
  265. /package/dist/{registry-ERNAMRDE.js.map → registry-ATRHOG5B.js.map} +0 -0
  266. /package/dist/{registry-EXTHSXQW.js.map → registry-LEHB26TY.js.map} +0 -0
  267. /package/dist/{registry-RDPTFXQ7.js.map → registry-NWHOLD5M.js.map} +0 -0
  268. /package/dist/{revoke-IFLXEZA5.js.map → revoke-5IEK22KT.js.map} +0 -0
  269. /package/dist/{signer-UNWOUJAK.js.map → signer-I6YARZQA.js.map} +0 -0
  270. /package/dist/{stale-NTEV5SLX.js.map → stale-CPESGAPL.js.map} +0 -0
  271. /package/dist/{state-vault-TUTFRTOA.js.map → state-vault-JR3CFGNP.js.map} +0 -0
  272. /package/dist/{vault-group-27EV7KB4.js.map → vault-group-BB246VIM.js.map} +0 -0
@@ -1,9 +1,9 @@
1
1
  import { I as IndexStrategy, d as LazyQuery } from './lazy-builder-ChSqcF5t.js';
2
- import { c as OnMissingPolicy, a as I18nTextDescriptor, L as Layer, u as LiveAggregation, j as AggregateSpec, h as AggregateResult, N as MoneyDescriptor, A as AggregateStrategy } from './strategy-BDxQnnTX.js';
2
+ import { c as OnMissingPolicy, a as I18nTextDescriptor, L as Layer, u as LiveAggregation, j as AggregateSpec, h as AggregateResult, N as MoneyDescriptor, A as AggregateStrategy } from './strategy-54eIwox5.js';
3
3
  import { C as CrdtStrategy, a as CrdtMode, b as CrdtState } from './strategy-BSxFXGzb.js';
4
4
  import { L as LedgerEntry, F as ForgetStrategy, S as SubjectRef, b as ForgetResult } from './index-BMmajblo.js';
5
- import { N as NoydbError } from './errors-DL-zTrrF.js';
6
- import { L as LiveQuery, Q as Query, c as JoinStrategy, j as RefRegistry, R as RefDescriptor, d as JoinableSource, l as RefViolation, S as ScanBuilder } from './index-BelbyUwz.js';
5
+ import { N as NoydbError } from './errors-Dkc_fi-S.js';
6
+ import { L as LiveQuery, Q as Query, c as JoinStrategy, j as RefRegistry, R as RefDescriptor, d as JoinableSource, l as RefViolation, S as ScanBuilder } from './index-Bm9hIY7t.js';
7
7
  import { I as IndexDef, O as Operator, F as FieldClause, C as CollectionIndexes } from './predicate-BmhBSPCH.js';
8
8
  import { AttestationFieldSchema, RevocationList } from '@noy-db/attestation';
9
9
 
@@ -357,6 +357,239 @@ declare class SyncScheduler {
357
357
  private fireUnloadPush;
358
358
  }
359
359
 
360
+ /**
361
+ * `ObjectProjection` — the capability an `as-*` projection store implements to
362
+ * hold blob bytes as native, directly-consumable objects (e.g. servable S3
363
+ * objects) rather than the encrypted-envelope chunks a `NoydbStore` holds.
364
+ *
365
+ * This is the shared seam behind **direct-serve blobs** (#412) and the
366
+ * **debug raw-object path** (#413): "write these bytes as one real object and
367
+ * give me a URL to it." See the as-aws-s3 design spec.
368
+ *
369
+ * Unlike `NoydbStore` (ciphertext in / ciphertext out), an `ObjectProjection`
370
+ * sees **raw bytes** — it is `as-*`, not `to-*`, and lives **outside** the
371
+ * zero-knowledge guarantee. Wiring it up is a deliberate, per-field opt-in.
372
+ */
373
+ /** Metadata about a stored object, without its body. */
374
+ interface ObjectMeta {
375
+ readonly size: number;
376
+ readonly contentType?: string;
377
+ readonly etag?: string;
378
+ readonly lastModified?: string;
379
+ /** S3-style user metadata (`x-amz-meta-*`). Small; see the design's
380
+ * plain / encrypted / opaque-token modes. */
381
+ readonly userMeta?: Record<string, string>;
382
+ }
383
+ interface PutObjectOptions {
384
+ readonly contentType: string;
385
+ /** World-readable object (CDN origin) vs private (presigned-only). Default false. */
386
+ readonly public?: boolean;
387
+ /** User metadata mirrored onto the object (the "secondary store"). */
388
+ readonly userMeta?: Record<string, string>;
389
+ }
390
+ interface ObjectUrlOptions {
391
+ /** TTL for a presigned URL (ignored for a public object). */
392
+ readonly expiresInSeconds?: number;
393
+ }
394
+ interface PutUrlOptions {
395
+ readonly contentType: string;
396
+ readonly expiresInSeconds?: number;
397
+ }
398
+ /** One entry returned by {@link ObjectProjection.listPrefix}. */
399
+ interface ObjectListEntry {
400
+ readonly key: string;
401
+ readonly meta: ObjectMeta;
402
+ }
403
+ interface ObjectProjection {
404
+ /** Diagnostic name (e.g. `'aws-s3'`, `'memory'`). */
405
+ readonly name?: string;
406
+ /** Write raw bytes as a single native object with a real content type. */
407
+ putObject(key: string, bytes: Uint8Array, opts: PutObjectOptions): Promise<void>;
408
+ /** Read the raw bytes back; `null` if absent. */
409
+ getObject(key: string): Promise<Uint8Array | null>;
410
+ /** Delete the object. Idempotent — absent is not an error. */
411
+ deleteObject(key: string): Promise<void>;
412
+ /** Object metadata without the body; `null` if absent. */
413
+ headObject(key: string): Promise<ObjectMeta | null>;
414
+ /** A URL to GET the object — presigned (time-limited) or stable public. */
415
+ objectUrl(key: string, opts?: ObjectUrlOptions): Promise<string>;
416
+ /** A presigned URL the client PUTs bytes to directly (large-file upload,
417
+ * bytes bypass the hub). */
418
+ putUrl(key: string, opts: PutUrlOptions): Promise<string>;
419
+ /** List objects under a key prefix — for import / reconcile. */
420
+ listPrefix(prefix: string): Promise<ObjectListEntry[]>;
421
+ }
422
+ /**
423
+ * In-memory {@link ObjectProjection} — a reference implementation for tests,
424
+ * local development, and the hub's blob-wiring conformance. Holds bytes in a
425
+ * `Map`; URLs are synthetic (`memory://…`). Not for production.
426
+ */
427
+ declare function memoryObjectProjection(opts?: {
428
+ baseUrl?: string;
429
+ }): ObjectProjection;
430
+
431
+ /**
432
+ * Blob retention + compaction.
433
+ *
434
+ * Declarative per-collection / per-slot eviction policy. Two
435
+ * triggers:
436
+ *
437
+ * - **`retainDays`** — age-based TTL. A slot uploaded more than N
438
+ * days ago is evicted.
439
+ * - **`evictWhen(record)`** — predicate over the **decrypted**
440
+ * record. Lets consumers express "the image is safe to drop once
441
+ * the structured invoice has been reviewed and confirmed."
442
+ *
443
+ * Either trigger (or both) causes the slot to evict. Eviction removes
444
+ * the slot entry from `_blob_slots_{collection}`, decrements the
445
+ * blob's refCount (so unreferenced chunks can be GC'd by the next
446
+ * sweep), and writes one entry to the `_blob_eviction_audit`
447
+ * collection for tamper-evident record-keeping.
448
+ *
449
+ * The audit entry carries the eTag of the evicted blob (opaque HMAC
450
+ * of plaintext under the vault's `_blob` DEK) — no plaintext leakage,
451
+ * per the SPEC non-correlation invariant. Consumers reconstructing
452
+ * "what used to be attached" can look up the audit entry by record
453
+ * id.
454
+ *
455
+ * Compaction is **consumer-scheduled** — noy-db never runs a
456
+ * background daemon. Call `vault.compact()` whenever your workflow
457
+ * allows (cron, manual "tidy" button, cold-storage export prep, …).
458
+ *
459
+ * @module
460
+ */
461
+
462
+ interface BlobFieldPolicy<T = unknown> {
463
+ /**
464
+ * Age-based TTL in days. A slot whose `uploadedAt` is older than
465
+ * `now - retainDays × 86400s` evicts on the next `vault.compact()`.
466
+ * Omit to disable age-based eviction.
467
+ */
468
+ readonly retainDays?: number;
469
+ /**
470
+ * Predicate evaluated against the decrypted record. When it returns
471
+ * `true`, every matching slot on that record evicts. Omit to
472
+ * disable predicate-based eviction.
473
+ */
474
+ readonly evictWhen?: (record: T) => boolean;
475
+ /**
476
+ * **Legal hold.** When this predicate returns `true`, the slot is
477
+ * never evicted — `retainDays`/`evictWhen` are overridden. Use for a
478
+ * litigation / audit hold on a fiscal document: the blob stays until
479
+ * the predicate returns `false` (the hold is released). Fail-closed:
480
+ * if the predicate throws, the slot is treated as held.
481
+ */
482
+ readonly legalHold?: (record: T) => boolean;
483
+ /**
484
+ * **Period-bound retention.** Returns the date (Date / ISO string /
485
+ * epoch ms) until which the slot must be retained — typically derived
486
+ * from the record's fiscal period (e.g. period end + 10 years). While
487
+ * `now < retainUntil`, the slot is never evicted, regardless of
488
+ * `retainDays`. Return `null`/`undefined` to impose no floor.
489
+ * Fail-closed: a throwing function holds the slot.
490
+ */
491
+ readonly retainUntil?: (record: T) => Date | string | number | null | undefined;
492
+ /**
493
+ * **External projection.** When `true`, this field's bytes are stored in the
494
+ * vault's `ObjectProjection` (`createNoydb({ objectStore })`) as a single raw,
495
+ * **unencrypted** object — servable directly from S3/CDN and processable by
496
+ * native tooling — instead of the encrypted-chunk path. The encrypted slot
497
+ * record remains the catalog (anchoring invariant). Requires an `objectStore`;
498
+ * **outside the zero-knowledge guarantee** — use only for assets meant to
499
+ * leave the vault. See the as-aws-s3 design spec.
500
+ */
501
+ readonly external?: boolean;
502
+ /**
503
+ * For an `external` field: make the object world-readable (CDN origin) rather
504
+ * than presigned-only. Default `false` (presigned). Ignored unless `external`.
505
+ */
506
+ readonly public?: boolean;
507
+ /**
508
+ * For an `external` field: how to stamp a **backlink** (this record's
509
+ * vault/collection/id/field) onto the object's metadata — the self-describing
510
+ * "secondary store" that powers reconcile / DR / import re-pairing.
511
+ * - `'opaque-token'` (default): a random id; preserves the opaque-bucket
512
+ * property (no names leak); the token is also recorded on the slot.
513
+ * - `'encrypted'`: the reference encrypted under the blob DEK (ZK-preserving;
514
+ * falls back to `'opaque-token'` on a plaintext vault).
515
+ * - `'plain'`: the reference in cleartext metadata — **leaks structure** to
516
+ * bucket readers; only for non-sensitive deployments.
517
+ * - `'none'`: no backlink.
518
+ */
519
+ readonly backlink?: 'opaque-token' | 'encrypted' | 'plain' | 'none';
520
+ }
521
+ type BlobFieldsConfig<T = unknown> = Record<string, BlobFieldPolicy<T>>;
522
+ declare const BLOB_EVICTION_AUDIT_COLLECTION = "_blob_eviction_audit";
523
+ interface BlobEvictionEntry {
524
+ readonly id: string;
525
+ readonly collection: string;
526
+ readonly recordId: string;
527
+ readonly slotName: string;
528
+ readonly blobHash: string;
529
+ readonly reason: 'ttl' | 'predicate' | 'both';
530
+ readonly evictedAt: string;
531
+ readonly actor: string;
532
+ }
533
+ interface CompactionResult {
534
+ /** Number of blob slots evicted across all collections. */
535
+ readonly evicted: number;
536
+ /** Number of records touched (iterated + policy checked). */
537
+ readonly records: number;
538
+ /** Number of collections with `blobFields` configured. */
539
+ readonly collections: number;
540
+ /** Number of audit entries written. Equal to `evicted`. */
541
+ readonly auditEntries: number;
542
+ /**
543
+ * Number of slots that would have evicted (TTL/predicate triggered)
544
+ * but were retained by a `legalHold` or `retainUntil` floor.
545
+ */
546
+ readonly held: number;
547
+ /** Per-collection breakdown for diagnostics. */
548
+ readonly byCollection: Record<string, {
549
+ records: number;
550
+ evicted: number;
551
+ }>;
552
+ }
553
+ interface CompactRunOptions {
554
+ /** Override "now" for deterministic testing. */
555
+ readonly now?: Date;
556
+ /**
557
+ * Stop after this many evictions. Useful for capped batches / cron
558
+ * jobs that need to fit in a time window. `undefined` = unbounded.
559
+ */
560
+ readonly maxEvictions?: number;
561
+ /**
562
+ * Dry-run — evaluate policies and return the counts, but do NOT
563
+ * delete slots or write audit entries. Lets a consumer preview
564
+ * what would happen.
565
+ */
566
+ readonly dryRun?: boolean;
567
+ }
568
+ interface CompactionContext {
569
+ readonly adapter: NoydbStore;
570
+ readonly vault: string;
571
+ readonly actor: string;
572
+ readonly encrypted: boolean;
573
+ readonly getDEK: (collection: string) => Promise<CryptoKey>;
574
+ /**
575
+ * Resolve a collection's declared `blobFields` config. Returns an
576
+ * empty map for collections without the config — the walk skips
577
+ * those.
578
+ */
579
+ readonly getBlobFields: <T>(collection: string) => BlobFieldsConfig<T> | null;
580
+ /** List collection names in the vault. */
581
+ readonly listCollections: () => Promise<string[]>;
582
+ /** List record ids in a collection. */
583
+ readonly listRecords: (collection: string) => Promise<string[]>;
584
+ /** Decrypt and return the record. Null when absent. */
585
+ readonly getRecord: <T>(collection: string, id: string) => Promise<T | null>;
586
+ /** Return the BlobSet-like handle for a record's slots. */
587
+ readonly listSlots: (collection: string, id: string) => Promise<SlotInfo[]>;
588
+ /** Delete a slot and decrement its blob's refCount. */
589
+ readonly deleteSlot: (collection: string, id: string, slotName: string) => Promise<void>;
590
+ }
591
+ declare function runCompaction(ctx: CompactionContext, options?: CompactRunOptions): Promise<CompactionResult>;
592
+
360
593
  /**
361
594
  * DEK slot name for vault-shared blob data. Calling `getDEK('_blob')`
362
595
  * auto-creates a blob DEK the first time — same lazy-creation mechanism
@@ -418,6 +651,9 @@ declare class BlobSet {
418
651
  private readonly userId;
419
652
  private readonly maxBlobBytes;
420
653
  private readonly erasableBlobs;
654
+ private readonly debugPlaintext;
655
+ private readonly objectStore;
656
+ private readonly blobFields;
421
657
  constructor(opts: {
422
658
  store: NoydbStore;
423
659
  vault: string;
@@ -428,6 +664,9 @@ declare class BlobSet {
428
664
  userId?: string;
429
665
  maxBlobBytes?: number;
430
666
  erasableBlobs?: boolean;
667
+ debugPlaintext?: boolean;
668
+ objectStore?: ObjectProjection;
669
+ blobFields?: BlobFieldsConfig;
431
670
  });
432
671
  /**
433
672
  * Resolve the key the blob's CHUNKS are encrypted under.
@@ -551,6 +790,46 @@ declare class BlobSet {
551
790
  * Throws `NotFoundError` if the index entry exists but a chunk is missing.
552
791
  */
553
792
  get(slotName: string): Promise<Uint8Array | null>;
793
+ /**
794
+ * A URL to fetch an `external` slot's object directly — presigned
795
+ * (time-limited) or public, per the projection. Returns `null` if the slot
796
+ * does not exist. Throws for a non-external slot (use `get()`/`response()`).
797
+ */
798
+ url(slotName: string, opts?: {
799
+ expiresInSeconds?: number;
800
+ }): Promise<string | null>;
801
+ /**
802
+ * Build the backlink stamped onto an external object's metadata — the
803
+ * self-describing "secondary store" reference back to this record. See
804
+ * {@link BlobFieldPolicy.backlink}. Returns the `userMeta` to attach and, for
805
+ * `opaque-token`, the `token` to record on the slot.
806
+ */
807
+ private buildBacklink;
808
+ /**
809
+ * Adopt an EXISTING object in the projection into this slot **without
810
+ * re-uploading** — used by import/bootstrap to anchor objects already in the
811
+ * bucket. Writes the external slot record (the catalog entry).
812
+ */
813
+ adoptExternal(slotName: string, ref: {
814
+ key: string;
815
+ size?: number;
816
+ contentType?: string;
817
+ public?: boolean;
818
+ backlink?: string;
819
+ meta?: Record<string, unknown>;
820
+ }): Promise<void>;
821
+ /**
822
+ * Merge derived metadata (video `duration`, image `width`/`height`, arbitrary
823
+ * metatags) into an external slot's secondary metadata store. Typically called
824
+ * from an AWS-side processing callback (MediaConvert / ffprobe / Rekognition)
825
+ * once it has probed the object. No-op for a missing or non-external slot.
826
+ */
827
+ setExternalMeta(slotName: string, meta: Record<string, unknown>): Promise<void>;
828
+ /**
829
+ * Read an external slot's synced derived metadata (the secondary store).
830
+ * Returns `null` for a missing or non-external slot, `{}` if none synced yet.
831
+ */
832
+ externalMeta(slotName: string): Promise<Record<string, unknown> | null>;
554
833
  /**
555
834
  * List all slot entries for this record.
556
835
  * Returns metadata only — no chunk data is loaded.
@@ -686,6 +965,22 @@ interface BlobStrategyOpenArgs {
686
965
  * CEK design spec.
687
966
  */
688
967
  readonly erasableBlobs?: boolean;
968
+ /**
969
+ * Vault is in debug-plaintext mode (`encrypt: false` + `debugPlaintext: true`).
970
+ * Blobs are then written as a single un-gzipped object (one base64 chunk) so
971
+ * the stored object is directly recoverable with native tools (`base64 -d`),
972
+ * matching the directly-inspectable record layout. Dev-only — see the
973
+ * plaintext/debug-store-mode design.
974
+ */
975
+ readonly debugPlaintext?: boolean;
976
+ /**
977
+ * Object projection for `external` blob fields (`createNoydb({ objectStore })`).
978
+ * When present, fields declared `external` in `blobFields` route their raw
979
+ * bytes here instead of the encrypted-chunk path.
980
+ */
981
+ readonly objectStore?: ObjectProjection;
982
+ /** Per-collection blob field policies — used to resolve `external` / `public`. */
983
+ readonly blobFields?: BlobFieldsConfig;
689
984
  }
690
985
  /**
691
986
  * The seam interface. `@internal` — do not build public APIs on this
@@ -1817,6 +2112,16 @@ interface UnlockedKeyring {
1817
2112
  */
1818
2113
  readonly kek: CryptoKey | null;
1819
2114
  readonly salt: Uint8Array;
2115
+ /**
2116
+ * Debug-plaintext layout flag. Set only on the plaintext keyring created
2117
+ * in `encrypt: false` + `debugPlaintext: true` mode — it lives here
2118
+ * because its lifecycle is identical to the plaintext keyring's (no
2119
+ * encrypted vault ever has it, so this never widens the encrypted surface).
2120
+ * When true, user-collection records are written with their fields inlined
2121
+ * beside the envelope metadata (`_debug: 1`) so native store tooling can
2122
+ * read them without unwrapping `_data`.
2123
+ */
2124
+ readonly debugPlaintext?: boolean;
1820
2125
  /**
1821
2126
  * `@noy-db/as-*` export capability. Absent when the
1822
2127
  * keyring was written before this RFC landed — role-based defaults
@@ -8266,140 +8571,6 @@ interface ExportBlobsAuditEntry {
8266
8571
  */
8267
8572
  declare function createExportBlobsHandle(actor: string, listAccessibleCollections: () => Promise<string[]>, getCollection: <T>(name: string) => Collection<T>, writeAudit: (entry: ExportBlobsAuditEntry) => Promise<void>, options: ExportBlobsOptions): ExportBlobsHandle;
8268
8573
 
8269
- /**
8270
- * Blob retention + compaction.
8271
- *
8272
- * Declarative per-collection / per-slot eviction policy. Two
8273
- * triggers:
8274
- *
8275
- * - **`retainDays`** — age-based TTL. A slot uploaded more than N
8276
- * days ago is evicted.
8277
- * - **`evictWhen(record)`** — predicate over the **decrypted**
8278
- * record. Lets consumers express "the image is safe to drop once
8279
- * the structured invoice has been reviewed and confirmed."
8280
- *
8281
- * Either trigger (or both) causes the slot to evict. Eviction removes
8282
- * the slot entry from `_blob_slots_{collection}`, decrements the
8283
- * blob's refCount (so unreferenced chunks can be GC'd by the next
8284
- * sweep), and writes one entry to the `_blob_eviction_audit`
8285
- * collection for tamper-evident record-keeping.
8286
- *
8287
- * The audit entry carries the eTag of the evicted blob (opaque HMAC
8288
- * of plaintext under the vault's `_blob` DEK) — no plaintext leakage,
8289
- * per the SPEC non-correlation invariant. Consumers reconstructing
8290
- * "what used to be attached" can look up the audit entry by record
8291
- * id.
8292
- *
8293
- * Compaction is **consumer-scheduled** — noy-db never runs a
8294
- * background daemon. Call `vault.compact()` whenever your workflow
8295
- * allows (cron, manual "tidy" button, cold-storage export prep, …).
8296
- *
8297
- * @module
8298
- */
8299
-
8300
- interface BlobFieldPolicy<T = unknown> {
8301
- /**
8302
- * Age-based TTL in days. A slot whose `uploadedAt` is older than
8303
- * `now - retainDays × 86400s` evicts on the next `vault.compact()`.
8304
- * Omit to disable age-based eviction.
8305
- */
8306
- readonly retainDays?: number;
8307
- /**
8308
- * Predicate evaluated against the decrypted record. When it returns
8309
- * `true`, every matching slot on that record evicts. Omit to
8310
- * disable predicate-based eviction.
8311
- */
8312
- readonly evictWhen?: (record: T) => boolean;
8313
- /**
8314
- * **Legal hold.** When this predicate returns `true`, the slot is
8315
- * never evicted — `retainDays`/`evictWhen` are overridden. Use for a
8316
- * litigation / audit hold on a fiscal document: the blob stays until
8317
- * the predicate returns `false` (the hold is released). Fail-closed:
8318
- * if the predicate throws, the slot is treated as held.
8319
- */
8320
- readonly legalHold?: (record: T) => boolean;
8321
- /**
8322
- * **Period-bound retention.** Returns the date (Date / ISO string /
8323
- * epoch ms) until which the slot must be retained — typically derived
8324
- * from the record's fiscal period (e.g. period end + 10 years). While
8325
- * `now < retainUntil`, the slot is never evicted, regardless of
8326
- * `retainDays`. Return `null`/`undefined` to impose no floor.
8327
- * Fail-closed: a throwing function holds the slot.
8328
- */
8329
- readonly retainUntil?: (record: T) => Date | string | number | null | undefined;
8330
- }
8331
- type BlobFieldsConfig<T = unknown> = Record<string, BlobFieldPolicy<T>>;
8332
- declare const BLOB_EVICTION_AUDIT_COLLECTION = "_blob_eviction_audit";
8333
- interface BlobEvictionEntry {
8334
- readonly id: string;
8335
- readonly collection: string;
8336
- readonly recordId: string;
8337
- readonly slotName: string;
8338
- readonly blobHash: string;
8339
- readonly reason: 'ttl' | 'predicate' | 'both';
8340
- readonly evictedAt: string;
8341
- readonly actor: string;
8342
- }
8343
- interface CompactionResult {
8344
- /** Number of blob slots evicted across all collections. */
8345
- readonly evicted: number;
8346
- /** Number of records touched (iterated + policy checked). */
8347
- readonly records: number;
8348
- /** Number of collections with `blobFields` configured. */
8349
- readonly collections: number;
8350
- /** Number of audit entries written. Equal to `evicted`. */
8351
- readonly auditEntries: number;
8352
- /**
8353
- * Number of slots that would have evicted (TTL/predicate triggered)
8354
- * but were retained by a `legalHold` or `retainUntil` floor.
8355
- */
8356
- readonly held: number;
8357
- /** Per-collection breakdown for diagnostics. */
8358
- readonly byCollection: Record<string, {
8359
- records: number;
8360
- evicted: number;
8361
- }>;
8362
- }
8363
- interface CompactRunOptions {
8364
- /** Override "now" for deterministic testing. */
8365
- readonly now?: Date;
8366
- /**
8367
- * Stop after this many evictions. Useful for capped batches / cron
8368
- * jobs that need to fit in a time window. `undefined` = unbounded.
8369
- */
8370
- readonly maxEvictions?: number;
8371
- /**
8372
- * Dry-run — evaluate policies and return the counts, but do NOT
8373
- * delete slots or write audit entries. Lets a consumer preview
8374
- * what would happen.
8375
- */
8376
- readonly dryRun?: boolean;
8377
- }
8378
- interface CompactionContext {
8379
- readonly adapter: NoydbStore;
8380
- readonly vault: string;
8381
- readonly actor: string;
8382
- readonly encrypted: boolean;
8383
- readonly getDEK: (collection: string) => Promise<CryptoKey>;
8384
- /**
8385
- * Resolve a collection's declared `blobFields` config. Returns an
8386
- * empty map for collections without the config — the walk skips
8387
- * those.
8388
- */
8389
- readonly getBlobFields: <T>(collection: string) => BlobFieldsConfig<T> | null;
8390
- /** List collection names in the vault. */
8391
- readonly listCollections: () => Promise<string[]>;
8392
- /** List record ids in a collection. */
8393
- readonly listRecords: (collection: string) => Promise<string[]>;
8394
- /** Decrypt and return the record. Null when absent. */
8395
- readonly getRecord: <T>(collection: string, id: string) => Promise<T | null>;
8396
- /** Return the BlobSet-like handle for a record's slots. */
8397
- readonly listSlots: (collection: string, id: string) => Promise<SlotInfo[]>;
8398
- /** Delete a slot and decrement its blob's refCount. */
8399
- readonly deleteSlot: (collection: string, id: string, slotName: string) => Promise<void>;
8400
- }
8401
- declare function runCompaction(ctx: CompactionContext, options?: CompactRunOptions): Promise<CompactionResult>;
8402
-
8403
8574
  /**
8404
8575
  * Magic-link-bound cross-user delegation grants.
8405
8576
  *
@@ -9022,6 +9193,7 @@ declare class Vault {
9022
9193
  * call throws with a pointer at `@noy-db/hub/blobs`.
9023
9194
  */
9024
9195
  private readonly blobStrategy;
9196
+ private readonly objectStore;
9025
9197
  /** Cold-storage archival strategy (the archive target store). */
9026
9198
  private readonly archiveStrategy;
9027
9199
  /** Per-collection record archival policies. Indexed by collection name. */
@@ -9271,6 +9443,7 @@ declare class Vault {
9271
9443
  * at `@noy-db/hub/blobs`.
9272
9444
  */
9273
9445
  blobStrategy?: BlobStrategy | undefined;
9446
+ objectStore?: ObjectProjection | undefined;
9274
9447
  archiveStrategy?: ArchiveStrategy | undefined;
9275
9448
  indexStrategy?: IndexStrategy | undefined;
9276
9449
  aggregateStrategy?: AggregateStrategy | undefined;
@@ -10793,6 +10966,8 @@ declare class Collection<T> {
10793
10966
  * reaches the bundle.
10794
10967
  */
10795
10968
  private readonly blobStrategy;
10969
+ private readonly objectStore;
10970
+ private readonly blobFields;
10796
10971
  private readonly aggregateStrategy;
10797
10972
  private readonly crdtStrategy;
10798
10973
  private readonly historyStrategy;
@@ -11083,6 +11258,8 @@ declare class Collection<T> {
11083
11258
  * `@internal` by virtue of `BlobStrategy` being `@internal`.
11084
11259
  */
11085
11260
  blobStrategy?: BlobStrategy | undefined;
11261
+ objectStore?: ObjectProjection | undefined;
11262
+ blobFields?: BlobFieldsConfig | undefined;
11086
11263
  aggregateStrategy?: AggregateStrategy | undefined;
11087
11264
  crdtStrategy?: CrdtStrategy | undefined;
11088
11265
  /**
@@ -12115,6 +12292,15 @@ declare class Collection<T> {
12115
12292
  * path encrypts the body directly under the collection DEK — byte-identical
12116
12293
  * to pre-CEK behaviour, so non-adopting collections pay nothing.
12117
12294
  */
12295
+ /**
12296
+ * Build a debug-plaintext envelope: the record's own fields inlined as
12297
+ * top-level keys beside the reserved `_`-metadata, with `_debug: 1` and an
12298
+ * empty `_data`. Lets native store tooling read the record without
12299
+ * unwrapping. Only reached for user collections under `debugPlaintext`
12300
+ * (see {@link encryptRecord}). Rejects `_`-prefixed record fields, which
12301
+ * would collide with the reserved metadata namespace.
12302
+ */
12303
+ private buildDebugEnvelope;
12118
12304
  private encryptJsonString;
12119
12305
  private encryptRecord;
12120
12306
  /**
@@ -12603,6 +12789,16 @@ interface EncryptedEnvelope {
12603
12789
  * across records.
12604
12790
  */
12605
12791
  readonly _cek?: string;
12792
+ /**
12793
+ * Debug-plaintext marker. Present only on records written by a vault opened
12794
+ * with `debugPlaintext: true` (which requires `encrypt: false`). When set,
12795
+ * the record's own fields are inlined as top-level keys on this envelope
12796
+ * (beside the reserved `_`-prefixed metadata) and `_data` is empty — so
12797
+ * native store tooling (jq, S3 console) reads the record directly. The read
12798
+ * path reconstructs the record from the non-`_` keys; the marker makes a
12799
+ * debug envelope self-describing, so a classic plaintext reader handles it too.
12800
+ */
12801
+ readonly _debug?: typeof NOYDB_FORMAT_VERSION;
12606
12802
  }
12607
12803
  /**
12608
12804
  * Placeholder returned by `getAtTier()` in `'ghost'` mode when a
@@ -13868,8 +14064,31 @@ interface BlobObject {
13868
14064
  * a new envelope version (`_v++`) while the blob data is unchanged.
13869
14065
  */
13870
14066
  interface SlotRecord {
13871
- /** Reference to the `BlobObject` in `_blob_index`. */
14067
+ /**
14068
+ * Reference to the `BlobObject` in `_blob_index` (chunk-based blobs).
14069
+ * Empty string (`''`) for an `external` slot, whose bytes live in the
14070
+ * `ObjectProjection` rather than `_blob_chunks` — read `external` instead.
14071
+ */
13872
14072
  readonly eTag: string;
14073
+ /**
14074
+ * External-projection reference. Present when the blob field is declared
14075
+ * `external`: the raw bytes live in the vault's `ObjectProjection` at `key`
14076
+ * (unencrypted), not in `_blob_chunks`. This slot record (in the encrypted
14077
+ * collection) remains the catalog entry — the anchoring invariant.
14078
+ */
14079
+ readonly external?: {
14080
+ readonly key: string;
14081
+ readonly contentType?: string;
14082
+ readonly public?: boolean;
14083
+ /** Opaque-token backlink stamped on the object (when `backlink:'opaque-token'`). */
14084
+ readonly backlink?: string;
14085
+ /**
14086
+ * Secondary metadata store synced from the object / its processing pipeline
14087
+ * (e.g. video `duration`, image `width`/`height`, arbitrary metatags).
14088
+ * Populated via `BlobSet.setExternalMeta()` — typically an AWS-side callback.
14089
+ */
14090
+ readonly meta?: Record<string, unknown>;
14091
+ };
13873
14092
  /** User-visible filename for the slot. */
13874
14093
  readonly filename: string;
13875
14094
  /** Original uncompressed size in bytes (denormalized from `BlobObject`). */
@@ -14258,6 +14477,22 @@ interface NoydbOptions {
14258
14477
  readonly auth?: 'passphrase' | 'biometric';
14259
14478
  /** Enable encryption. Default: true. */
14260
14479
  readonly encrypt?: boolean;
14480
+ /**
14481
+ * Debug-only: lay plaintext records out as directly-inspectable store
14482
+ * objects (record fields inlined beside envelope metadata, `_debug: 1`) so
14483
+ * native store tooling can read them without unwrapping `_data`. Requires
14484
+ * `encrypt: false` — combining with encryption throws `DebugPlaintextError`
14485
+ * at construction. NEVER enable for production or client data.
14486
+ */
14487
+ readonly debugPlaintext?: boolean;
14488
+ /**
14489
+ * Object projection for direct-serve / external blob fields (`as-*`, e.g.
14490
+ * `@noy-db/as-aws-s3`). Blob fields declared `external` route their RAW bytes
14491
+ * to this projection as a single native object (servable from S3/CDN) instead
14492
+ * of the encrypted-chunk path; the encrypted record/slot stays the catalog.
14493
+ * Sees plaintext bytes — outside the zero-knowledge guarantee.
14494
+ */
14495
+ readonly objectStore?: ObjectProjection;
14261
14496
  /** Conflict resolution strategy. Default: 'version'. */
14262
14497
  readonly conflict?: ConflictStrategy;
14263
14498
  /**
@@ -14467,4 +14702,4 @@ interface DeleteManyResult {
14467
14702
  }>;
14468
14703
  }
14469
14704
 
14470
- export { type ConsentAuditFilter as $, type BlobPutOptions as A, type BlobStrategy as B, type BlobResponseOptions as C, DICT_COLLECTION_PREFIX as D, BlobSet as E, type BlobStrategyOpenArgs as F, type CompactRunOptions as G, type CompactionContext as H, type I18nStrategy as I, type CompactionResult as J, DEFAULT_CHUNK_SIZE as K, EXPORT_AUDIT_COLLECTION as L, ExportBlobsAbortedError as M, type ExportBlobsAuditEntry as N, type ExportBlobsHandle as O, PolicyEnforcer as P, type ExportBlobsOptions as Q, type ExportedBlob as R, type ScriptWarning as S, type SlotInfo as T, type SlotRecord as U, type VersionRecord as V, createExportBlobsHandle as W, runCompaction as X, type ConsentStrategy as Y, CONSENT_AUDIT_COLLECTION as Z, type ConsentAuditEntry as _, type DictEntry as a, VaultInstant as a$, type ConsentContext as a0, type ConsentOp as a1, loadConsentEntries as a2, writeConsentEntry as a3, type PeriodsStrategy as a4, type CarryForwardContext as a5, type ClosePeriodOptions as a6, type OpenPeriodOptions as a7, PERIODS_COLLECTION as a8, type PeriodRecord as a9, type DerivedFromMeta as aA, type OutputSpec as aB, type RecordOutputSpec as aC, type MaterializedViewStrategy as aD, type MaterializedViewStrategyHandle as aE, type OverlayedViewStrategy as aF, Collection as aG, type OverlayFieldMergeMode as aH, type OverlayFieldMergeRule as aI, OverlayedViewRegistry as aJ, type OverlayedViewStrategyHandle as aK, type SyncStrategy as aL, type Role as aM, type UnlockedKeyring as aN, type HistoryStrategy as aO, type NoydbStore as aP, type HistoryOptions as aQ, type EncryptedEnvelope as aR, type PruneOptions as aS, type AppendInput as aT, type ChangeType as aU, CollectionInstant as aV, type DiffEntry as aW, type JsonPatch as aX, type JsonPatchOp as aY, LedgerStore as aZ, type VaultEngine as a_, type ReadOnlyCollection as aa, appendPeriodLedgerEntry as ab, assertTsWritable as ac, chainAnchor as ad, loadPeriods as ae, validatePeriodName as af, type GuardStrategy as ag, type GuardChange as ah, type GuardContext as ai, GuardRegistry as aj, type GuardStrategyHandle as ak, ReadOnlyVaultFacade as al, type ShadowStrategy as am, CollectionFrame as an, VaultFrame as ao, type NoydbBundleStore as ap, type RetentionPolicy as aq, type SnapshotPolicy as ar, type SnapshotStrategy as as, type SnapshotMeta as at, type SnapshotMode as au, type DerivationStrategy as av, type DerivationContext as aw, type ArrayOutputSpec as ax, DerivationRegistry as ay, type DerivationStrategyHandle as az, type DictKeyDescriptor as b, DEFAULT_PUBLIC_ENVELOPE_SCHEMA as b$, type VerifyResult as b0, applyPatch as b1, computePatch as b2, diff as b3, formatDiff as b4, type PublicEnvelope as b5, type SealingKeyProvider as b6, type BundleRecipient as b7, type RecipientSealer as b8, type RecipientHint as b9, type ArchiveResult as bA, type ArchiveRunOptions as bB, type ArchiveStrategy as bC, BUNDLE_STORE_POLICY as bD, type BuiltInGateName as bE, type CacheOptions as bF, type CacheStats as bG, type CapturedBlueprint as bH, type ChangeEvent as bI, type CollectionChangeEvent as bJ, type CollectionConflictResolver as bK, type CollectionDescriptor as bL, type CollectionStats as bM, ComputedFieldError as bN, type ComputedFields as bO, type ComputedFn as bP, type Conflict as bQ, type ConflictPolicy as bR, type ConflictStrategy as bS, type CrossTierAccessEvent as bT, CrossVaultAggregation as bU, type CrossVaultDerivationContext as bV, type CrossVaultDerivationSpec as bW, CrossVaultGroupedAggregation as bX, type GroupedRow as bY, type CrossVaultLiveAggregation as bZ, type CrossVaultLiveQuery as b_, Vault as ba, type RecoveryEnrollmentInput as bb, type ShamirRecoveryProvider as bc, TxContext as bd, type MVQueryContext as be, type RegisteredMV as bf, MaterializedViewRegistry as bg, type MaterializedFromMeta as bh, type MaterializedViewOutput as bi, type UnionArmJoin as bj, type UnionSource as bk, type UserEnvelope as bl, type GateName as bm, type GatePolicy as bn, type VaultPolicy as bo, type ActiveTier as bp, type FactorProof as bq, type SchemaUpdateStrategy as br, type TransformFn as bs, type PersistedSchemaEnvelope as bt, type UpdateDecision as bu, type DirectoryConfig as bv, type UserVisibility as bw, type AccessibleVault as bx, type AffectedDocument as by, type ArchivePolicy as bz, DictionaryHandle as c, MAGIC_LINK_CONTENT_INFO_PREFIX as c$, DELEGATIONS_COLLECTION as c0, type DeepPartial as c1, type DeepPartialOrNull as c2, type DeferredNumberingConfig as c3, type DelegationToken as c4, type DeleteManyResult as c5, type DeploymentEvent as c6, type DerivationDescriptor as c7, type DirtyEntry as c8, type DryRunResult as c9, type HistoryConfig as cA, type HistoryEntry as cB, INDEXED_STORE_POLICY as cC, type ImportCapability as cD, type InferOutput as cE, type InternalCollectionStats as cF, type IssueDelegationOptions as cG, type IssueMagicLinkGrantOptions as cH, type KeyringAuthenticator as cI, type KeyringAuthenticatorWrappingDEKs as cJ, type KeyringAuthenticatorWrappingKEK as cK, type KeyringFile as cL, LinkEndpointError as cM, LinkIntegrityError as cN, type LinkOnDelete as cO, type LinkRow as cP, type LinkSetHandle as cQ, type LinkSpec as cR, type ListAccessibleVaultsOptions as cS, type ListPageResult as cT, type ListUsersOptions as cU, type LiveQueryOptions as cV, type LiveUserEnvelope as cW, type LocaleReadOptions as cX, Lru as cY, type LruOptions as cZ, type LruStats as c_, type DumpSchemaOptions as ca, ELEVATION_AUDIT_COLLECTION as cb, ElevatedHandle as cc, type EnrollAuthenticatorOptions as cd, type EnrollAuthenticatorWrappingDEKsOptions as ce, type EnrollAuthenticatorWrappingKEKOptions as cf, type EnrollRecoveryResult as cg, type ExportCapability as ch, type ExportChunk as ci, type ExportFormat as cj, type ExportStreamOptions as ck, type FactorKind as cl, type FactorProofBundle as cm, type FactorRequirement as cn, type FanoutQueryOptions as co, type FanoutResult as cp, type FenceDoc as cq, type FenceState as cr, type FieldChange as cs, type FieldDescriptor as ct, type FieldSource as cu, type FleetMigrationResult as cv, type FormattedSequenceHandle as cw, type GhostRecord as cx, type GrantOptions as cy, type GuardViolation as cz, type DictionaryOptions as d, type SchemaManifestRow as d$, MAGIC_LINK_GRANTS_COLLECTION as d0, MAGIC_LINK_KEK_INFO_PREFIX as d1, type MagicLinkGrantPayload as d2, type MagicLinkGrantRecord as d3, type MaterializedViewDescriptor as d4, MemoryRecipientSealer as d5, MemorySealingKeyProvider as d6, type MigrationStatusRow as d7, NOYDB_BACKUP_VERSION as d8, NOYDB_FORMAT_VERSION as d9, type PullPolicy as dA, type PullResult as dB, type PushMode as dC, type PushOptions as dD, type PushPolicy as dE, type PushResult as dF, type PutManyItemOptions as dG, type PutManyOptions as dH, type PutManyResult as dI, type QueryAcrossOptions as dJ, type QueryAcrossResult as dK, type QuickUnlockState as dL, QuickUnlockStore as dM, type ReAuthOperation as dN, type RecoverPassphraseInput as dO, type RecoverPassphraseResult as dP, type RecoverUserOptions as dQ, type RecoveryProof as dR, type RefreshInsightsResult as dS, type ResolvedPublicEnvelopeSchema as dT, type RevokeOptions as dU, type RotatePassphraseInput as dV, type RotateRecoveryOptions as dW, type RotateRecoveryResult as dX, SEALED_PASSPHRASE_RECORD_ID as dY, type SchemaDelta as dZ, type SchemaIntrospection as d_, NOYDB_KEYRING_VERSION as da, NOYDB_SYNC_VERSION as db, type NextOptions as dc, Noydb as dd, type NoydbEventMap as de, type NoydbOptions as df, type Assignment as dg, type OverlayViewDescriptor as dh, PUBLIC_ENVELOPE_FIELDS as di, type PaperRecoveryDoc as dj, type PaperRecoveryEntry as dk, type PassphrasePolicy as dl, type PassphraseValidationResult as dm, type Permission as dn, type Permissions as dp, type PersistedSchemaKind as dq, type PlaintextTranslatorContext as dr, type PlaintextTranslatorFn as ds, PresenceHandle as dt, type PresencePeer as du, type PublicEnvelopeField as dv, type PublicEnvelopeSchema as dw, type PublicEnvelopeText as dx, type PullMode as dy, type PullOptions as dz, type StaticDictDescriptor as e, type VaultRegistryRow as e$, type SealedEnvelope as e0, type SealedPassphrase as e1, type SearchEntry as e2, type SearchOptions as e3, type SearchResult as e4, type SequenceHandle as e5, type SequenceOptions as e6, SequenceStore as e7, type SessionPolicy as e8, type SetPublicEnvelopeInput as e9, 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 TransactionInvariant as eH, type TranslatorAuditEntry as eI, TxCollection as eJ, type TxOp as eK, TxVault as eL, USER_ENVELOPE_COLLECTION as eM, USER_ENVELOPE_MAX_BYTES as eN, type Unsubscribe as eO, type UpdateAuthenticatorOptions as eP, type UpdateContext as eQ, type UpdateUserOptions as eR, UserApi as eS, type UserEnvelopeCheckGate as eT, UserEnvelopeOversizedError as eU, type UserEnvelopePresented as eV, type UserInfo as eW, type VaultBackup as eX, VaultGroup as eY, type VaultGroupOptions as eZ, type VaultPolicyOnDisk as e_, type ShamirRecoveryDoc as ea, type ShamirRecoveryEntry as eb, ShardedCollection as ec, ShardedGroupedQuery as ed, ShardedQuery as ee, type ShardingConfig as ef, type SkippedVault as eg, type SlotRewrapCeremony as eh, type SlotRewrapContext as ei, type StandardSchemaV1 as ej, type StandardSchemaV1Issue as ek, type StandardSchemaV1SyncResult as el, StateManagementVault as em, type StoreAuth as en, type StoreAuthKind as eo, type StoreCapabilities as ep, type StoreTime as eq, SyncEngine as er, type SyncMetadata as es, type SyncPolicy as et, SyncScheduler as eu, type SyncSchedulerStatus as ev, type SyncStatus as ew, type SyncTarget as ex, type SyncTargetRole as ey, SyncTransaction as ez, dictCollectionName as f, unwrapMagicLinkGrant as f$, type VaultSchemaSnapshot as f0, type VaultSnapshot as f1, type VaultTemplate as f2, type WarningRules as f3, WeakPassphraseError as f4, type WeakPassphraseReason as f5, type WithArchiveOptions as f6, type WrappedDeksBlob as f7, type WriteConflict as f8, type WriteEvent as f9, listUsers as fA, listUsersWithEnvelopes as fB, loadActiveDelegations as fC, loadPaperRecoveryEntries as fD, loadSealedPassphrase as fE, loadShamirRecoveryEntries as fF, magicLinkGrantRecordId as fG, mintPaperRecoveryEntry as fH, mintShamirRecoveryEntry as fI, mintWrappedDeksBlob as fJ, parseRsaOaepTlv as fK, parseSealedEnvelope as fL, readMagicLinkGrantRecord as fM, recoverUser as fN, removeAuthenticator as fO, resolveSchema as fP, resolveSequenceKey as fQ, revokeDelegation as fR, revokeMagicLinkGrant as fS, runTransaction as fT, savePaperRecoveryEntries as fU, saveSealedPassphrase as fV, saveShamirRecoveryEntries as fW, sealRsaOaepTlv as fX, unwrapDeksFromBlob as fY, unwrapDeksFromPaperEntry as fZ, unwrapDeksFromShamirEntry as f_, type WriteHook as fa, type WriteQueue as fb, aesGcmOpen as fc, assertStrongPassphrase as fd, buildRecipientKeyringFile as fe, burnPaperRecoveryEntry as ff, compileSequenceFormat as fg, createNoydb as fh, createStore as fi, deriveMagicLinkContentKey as fj, enrollAuthenticator as fk, estimateEntropy as fl, evalComputedFields as fm, evaluateExportCapability as fn, evaluateImportCapability as fo, findAuthenticator as fp, hasExportCapability as fq, hasImportCapability as fr, hasRecoveryEnrolled as fs, isLinkCollectionName as ft, isMagicLinkGrantExpired as fu, isPublicEnvelope as fv, issueDelegation as fw, recoverPassphrase as fx, rotatePassphrase as fy, listMagicLinkGrants as fz, dictKey as g, validatePassphrase as g0, validatePublicEnvelopeInput as g1, validateSchemaInput as g2, validateSchemaOutput as g3, withArchive as g4, withDeferredNumbering as g5, writeMagicLinkGrant as g6, changeSecret as g7, createOwnerKeyring as g8, ensureCollectionDEK as g9, grant as ga, loadKeyring as gb, persistKeyring as gc, revoke as gd, updateAuthenticator as ge, updateKeyringIdentity as gf, type TxStrategy as gg, type AmendmentTxOptions as gh, enforceScript as h, inferScripts as i, isDictCollectionName as j, isDictKeyDescriptor as k, isStaticDictDescriptor as l, type SessionStrategy as m, createEnforcer as n, BLOB_CHUNKS_COLLECTION as o, BLOB_COLLECTION as p, BLOB_EVICTION_AUDIT_COLLECTION as q, BLOB_INDEX_COLLECTION as r, staticDict as s, BLOB_SLOTS_PREFIX as t, BLOB_VERSIONS_PREFIX as u, validateSessionPolicy as v, type BlobEvictionEntry as w, type BlobFieldPolicy as x, type BlobFieldsConfig as y, type BlobObject as z };
14705
+ export { type VersionRecord as $, type BlobPutOptions as A, type BlobStrategy as B, type BlobResponseOptions as C, DICT_COLLECTION_PREFIX as D, BlobSet as E, type BlobStrategyOpenArgs as F, type CompactRunOptions as G, type CompactionContext as H, type I18nStrategy as I, type CompactionResult as J, DEFAULT_CHUNK_SIZE as K, EXPORT_AUDIT_COLLECTION as L, ExportBlobsAbortedError as M, type ExportBlobsAuditEntry as N, type ExportBlobsHandle as O, PolicyEnforcer as P, type ExportBlobsOptions as Q, type ExportedBlob as R, type ScriptWarning as S, type ObjectListEntry as T, type ObjectMeta as U, type ObjectProjection as V, type ObjectUrlOptions as W, type PutObjectOptions as X, type PutUrlOptions as Y, type SlotInfo as Z, type SlotRecord as _, type DictEntry as a, type ChangeType as a$, createExportBlobsHandle as a0, memoryObjectProjection as a1, runCompaction as a2, type ConsentStrategy as a3, CONSENT_AUDIT_COLLECTION as a4, type ConsentAuditEntry as a5, type ConsentAuditFilter as a6, type ConsentContext as a7, type ConsentOp as a8, loadConsentEntries as a9, type SnapshotMeta as aA, type SnapshotMode as aB, type DerivationStrategy as aC, type DerivationContext as aD, type ArrayOutputSpec as aE, DerivationRegistry as aF, type DerivationStrategyHandle as aG, type DerivedFromMeta as aH, type OutputSpec as aI, type RecordOutputSpec as aJ, type MaterializedViewStrategy as aK, type MaterializedViewStrategyHandle as aL, type OverlayedViewStrategy as aM, Collection as aN, type OverlayFieldMergeMode as aO, type OverlayFieldMergeRule as aP, OverlayedViewRegistry as aQ, type OverlayedViewStrategyHandle as aR, type SyncStrategy as aS, type Role as aT, type UnlockedKeyring as aU, type HistoryStrategy as aV, type NoydbStore as aW, type HistoryOptions as aX, type EncryptedEnvelope as aY, type PruneOptions as aZ, type AppendInput as a_, writeConsentEntry as aa, type PeriodsStrategy as ab, type CarryForwardContext as ac, type ClosePeriodOptions as ad, type OpenPeriodOptions as ae, PERIODS_COLLECTION as af, type PeriodRecord as ag, type ReadOnlyCollection as ah, appendPeriodLedgerEntry as ai, assertTsWritable as aj, chainAnchor as ak, loadPeriods as al, validatePeriodName as am, type GuardStrategy as an, type GuardChange as ao, type GuardContext as ap, GuardRegistry as aq, type GuardStrategyHandle as ar, ReadOnlyVaultFacade as as, type ShadowStrategy as at, CollectionFrame as au, VaultFrame as av, type NoydbBundleStore as aw, type RetentionPolicy as ax, type SnapshotPolicy as ay, type SnapshotStrategy as az, type DictKeyDescriptor as b, CrossVaultAggregation as b$, CollectionInstant as b0, type DiffEntry as b1, type JsonPatch as b2, type JsonPatchOp as b3, LedgerStore as b4, type VaultEngine as b5, VaultInstant as b6, type VerifyResult as b7, applyPatch as b8, computePatch as b9, type PersistedSchemaEnvelope as bA, type UpdateDecision as bB, type DirectoryConfig as bC, type UserVisibility as bD, type AccessibleVault as bE, type AffectedDocument as bF, type ArchivePolicy as bG, type ArchiveResult as bH, type ArchiveRunOptions as bI, type ArchiveStrategy as bJ, BUNDLE_STORE_POLICY as bK, type BuiltInGateName as bL, type CacheOptions as bM, type CacheStats as bN, type CapturedBlueprint as bO, type ChangeEvent as bP, type CollectionChangeEvent as bQ, type CollectionConflictResolver as bR, type CollectionDescriptor as bS, type CollectionStats as bT, ComputedFieldError as bU, type ComputedFields as bV, type ComputedFn as bW, type Conflict as bX, type ConflictPolicy as bY, type ConflictStrategy as bZ, type CrossTierAccessEvent as b_, diff as ba, formatDiff as bb, type PublicEnvelope as bc, type SealingKeyProvider as bd, type BundleRecipient as be, type RecipientSealer as bf, type RecipientHint as bg, Vault as bh, type RecoveryEnrollmentInput as bi, type ShamirRecoveryProvider as bj, TxContext as bk, type MVQueryContext as bl, type RegisteredMV as bm, MaterializedViewRegistry as bn, type MaterializedFromMeta as bo, type MaterializedViewOutput as bp, type UnionArmJoin as bq, type UnionSource as br, type UserEnvelope as bs, type GateName as bt, type GatePolicy as bu, type VaultPolicy as bv, type ActiveTier as bw, type FactorProof as bx, type SchemaUpdateStrategy as by, type TransformFn as bz, DictionaryHandle as c, type ListUsersOptions as c$, type CrossVaultDerivationContext as c0, type CrossVaultDerivationSpec as c1, CrossVaultGroupedAggregation as c2, type GroupedRow as c3, type CrossVaultLiveAggregation as c4, type CrossVaultLiveQuery as c5, DEFAULT_PUBLIC_ENVELOPE_SCHEMA as c6, DELEGATIONS_COLLECTION as c7, type DeepPartial as c8, type DeepPartialOrNull as c9, type FieldDescriptor as cA, type FieldSource as cB, type FleetMigrationResult as cC, type FormattedSequenceHandle as cD, type GhostRecord as cE, type GrantOptions as cF, type GuardViolation as cG, type HistoryConfig as cH, type HistoryEntry as cI, INDEXED_STORE_POLICY as cJ, type ImportCapability as cK, type InferOutput as cL, type InternalCollectionStats as cM, type IssueDelegationOptions as cN, type IssueMagicLinkGrantOptions as cO, type KeyringAuthenticator as cP, type KeyringAuthenticatorWrappingDEKs as cQ, type KeyringAuthenticatorWrappingKEK as cR, type KeyringFile as cS, LinkEndpointError as cT, LinkIntegrityError as cU, type LinkOnDelete as cV, type LinkRow as cW, type LinkSetHandle as cX, type LinkSpec as cY, type ListAccessibleVaultsOptions as cZ, type ListPageResult as c_, type DeferredNumberingConfig as ca, type DelegationToken as cb, type DeleteManyResult as cc, type DeploymentEvent as cd, type DerivationDescriptor as ce, type DirtyEntry as cf, type DryRunResult as cg, type DumpSchemaOptions as ch, ELEVATION_AUDIT_COLLECTION as ci, ElevatedHandle as cj, type EnrollAuthenticatorOptions as ck, type EnrollAuthenticatorWrappingDEKsOptions as cl, type EnrollAuthenticatorWrappingKEKOptions as cm, type EnrollRecoveryResult as cn, type ExportCapability as co, type ExportChunk as cp, type ExportFormat as cq, type ExportStreamOptions as cr, type FactorKind as cs, type FactorProofBundle as ct, type FactorRequirement as cu, type FanoutQueryOptions as cv, type FanoutResult as cw, type FenceDoc as cx, type FenceState as cy, type FieldChange as cz, type DictionaryOptions as d, type RevokeOptions as d$, type LiveQueryOptions as d0, type LiveUserEnvelope as d1, type LocaleReadOptions as d2, Lru as d3, type LruOptions as d4, type LruStats as d5, MAGIC_LINK_CONTENT_INFO_PREFIX as d6, MAGIC_LINK_GRANTS_COLLECTION as d7, MAGIC_LINK_KEK_INFO_PREFIX as d8, type MagicLinkGrantPayload as d9, PresenceHandle as dA, type PresencePeer as dB, type PublicEnvelopeField as dC, type PublicEnvelopeSchema as dD, type PublicEnvelopeText as dE, type PullMode as dF, type PullOptions as dG, type PullPolicy as dH, type PullResult as dI, type PushMode as dJ, type PushOptions as dK, type PushPolicy as dL, type PushResult as dM, type PutManyItemOptions as dN, type PutManyOptions as dO, type PutManyResult as dP, type QueryAcrossOptions as dQ, type QueryAcrossResult as dR, type QuickUnlockState as dS, QuickUnlockStore as dT, type ReAuthOperation as dU, type RecoverPassphraseInput as dV, type RecoverPassphraseResult as dW, type RecoverUserOptions as dX, type RecoveryProof as dY, type RefreshInsightsResult as dZ, type ResolvedPublicEnvelopeSchema as d_, type MagicLinkGrantRecord as da, type MaterializedViewDescriptor as db, MemoryRecipientSealer as dc, MemorySealingKeyProvider as dd, type MigrationStatusRow as de, NOYDB_BACKUP_VERSION as df, NOYDB_FORMAT_VERSION as dg, NOYDB_KEYRING_VERSION as dh, NOYDB_SYNC_VERSION as di, type NextOptions as dj, Noydb as dk, type NoydbEventMap as dl, type NoydbOptions as dm, type Assignment as dn, type OverlayViewDescriptor as dp, PUBLIC_ENVELOPE_FIELDS as dq, type PaperRecoveryDoc as dr, type PaperRecoveryEntry as ds, type PassphrasePolicy as dt, type PassphraseValidationResult as du, type Permission as dv, type Permissions as dw, type PersistedSchemaKind as dx, type PlaintextTranslatorContext as dy, type PlaintextTranslatorFn as dz, type StaticDictDescriptor as e, UserEnvelopeOversizedError as e$, type RotatePassphraseInput as e0, type RotateRecoveryOptions as e1, type RotateRecoveryResult as e2, SEALED_PASSPHRASE_RECORD_ID as e3, type SchemaDelta as e4, type SchemaIntrospection as e5, type SchemaManifestRow as e6, type SealedEnvelope as e7, type SealedPassphrase as e8, type SearchEntry as e9, type SyncPolicy as eA, SyncScheduler as eB, type SyncSchedulerStatus as eC, type SyncStatus as eD, type SyncTarget as eE, type SyncTargetRole as eF, SyncTransaction as eG, type SyncTransactionResult as eH, type TabChannel as eI, type TabCoordinationOptions as eJ, type TabLockManager as eK, type TabPresence as eL, type TabRole as eM, type TierMode as eN, type TransactionInvariant as eO, type TranslatorAuditEntry as eP, TxCollection as eQ, type TxOp as eR, TxVault as eS, USER_ENVELOPE_COLLECTION as eT, USER_ENVELOPE_MAX_BYTES as eU, type Unsubscribe as eV, type UpdateAuthenticatorOptions as eW, type UpdateContext as eX, type UpdateUserOptions as eY, UserApi as eZ, type UserEnvelopeCheckGate as e_, type SearchOptions as ea, type SearchResult as eb, type SequenceHandle as ec, type SequenceOptions as ed, SequenceStore as ee, type SessionPolicy as ef, type SetPublicEnvelopeInput as eg, type ShamirRecoveryDoc as eh, type ShamirRecoveryEntry as ei, ShardedCollection as ej, ShardedGroupedQuery as ek, ShardedQuery as el, type ShardingConfig as em, type SkippedVault as en, type SlotRewrapCeremony as eo, type SlotRewrapContext as ep, type StandardSchemaV1 as eq, type StandardSchemaV1Issue as er, type StandardSchemaV1SyncResult as es, StateManagementVault as et, type StoreAuth as eu, type StoreAuthKind as ev, type StoreCapabilities as ew, type StoreTime as ex, SyncEngine as ey, type SyncMetadata as ez, dictCollectionName as f, savePaperRecoveryEntries as f$, type UserEnvelopePresented as f0, type UserInfo as f1, type VaultBackup as f2, VaultGroup as f3, type VaultGroupOptions as f4, type VaultPolicyOnDisk as f5, type VaultRegistryRow as f6, type VaultSchemaSnapshot as f7, type VaultSnapshot as f8, type VaultTemplate as f9, isLinkCollectionName as fA, isMagicLinkGrantExpired as fB, isPublicEnvelope as fC, issueDelegation as fD, recoverPassphrase as fE, rotatePassphrase as fF, listMagicLinkGrants as fG, listUsers as fH, listUsersWithEnvelopes as fI, loadActiveDelegations as fJ, loadPaperRecoveryEntries as fK, loadSealedPassphrase as fL, loadShamirRecoveryEntries as fM, magicLinkGrantRecordId as fN, mintPaperRecoveryEntry as fO, mintShamirRecoveryEntry as fP, mintWrappedDeksBlob as fQ, parseRsaOaepTlv as fR, parseSealedEnvelope as fS, readMagicLinkGrantRecord as fT, recoverUser as fU, removeAuthenticator as fV, resolveSchema as fW, resolveSequenceKey as fX, revokeDelegation as fY, revokeMagicLinkGrant as fZ, runTransaction as f_, type WarningRules as fa, WeakPassphraseError as fb, type WeakPassphraseReason as fc, type WithArchiveOptions as fd, type WrappedDeksBlob as fe, type WriteConflict as ff, type WriteEvent as fg, type WriteHook as fh, type WriteQueue as fi, aesGcmOpen as fj, assertStrongPassphrase as fk, buildRecipientKeyringFile as fl, burnPaperRecoveryEntry as fm, compileSequenceFormat as fn, createNoydb as fo, createStore as fp, deriveMagicLinkContentKey as fq, enrollAuthenticator as fr, estimateEntropy as fs, evalComputedFields as ft, evaluateExportCapability as fu, evaluateImportCapability as fv, findAuthenticator as fw, hasExportCapability as fx, hasImportCapability as fy, hasRecoveryEnrolled as fz, dictKey as g, saveSealedPassphrase as g0, saveShamirRecoveryEntries as g1, sealRsaOaepTlv as g2, unwrapDeksFromBlob as g3, unwrapDeksFromPaperEntry as g4, unwrapDeksFromShamirEntry as g5, unwrapMagicLinkGrant as g6, validatePassphrase as g7, validatePublicEnvelopeInput as g8, validateSchemaInput as g9, validateSchemaOutput as ga, withArchive as gb, withDeferredNumbering as gc, writeMagicLinkGrant as gd, changeSecret as ge, createOwnerKeyring as gf, ensureCollectionDEK as gg, grant as gh, loadKeyring as gi, persistKeyring as gj, revoke as gk, updateAuthenticator as gl, updateKeyringIdentity as gm, type TxStrategy as gn, type AmendmentTxOptions as go, enforceScript as h, inferScripts as i, isDictCollectionName as j, isDictKeyDescriptor as k, isStaticDictDescriptor as l, type SessionStrategy as m, createEnforcer as n, BLOB_CHUNKS_COLLECTION as o, BLOB_COLLECTION as p, BLOB_EVICTION_AUDIT_COLLECTION as q, BLOB_INDEX_COLLECTION as r, staticDict as s, BLOB_SLOTS_PREFIX as t, BLOB_VERSIONS_PREFIX as u, validateSessionPolicy as v, type BlobEvictionEntry as w, type BlobFieldPolicy as x, type BlobFieldsConfig as y, type BlobObject as z };