@noy-db/hub 0.3.0-pre.9 → 0.4.0-pre.0

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 (968) hide show
  1. package/dist/aggregate/index.js +5 -5
  2. package/dist/api-3A3S4SHH.js +20 -0
  3. package/dist/as/index.js +11 -11
  4. package/dist/attestation/index.js +18 -18
  5. package/dist/backup-YPUEKIJC.js +242 -0
  6. package/dist/backup-YPUEKIJC.js.map +1 -0
  7. package/dist/blobs/index.js +13 -11
  8. package/dist/blobs/index.js.map +1 -1
  9. package/dist/broker/index.js +92 -0
  10. package/dist/broker/index.js.map +1 -0
  11. package/dist/bundle/index.js +25 -22
  12. package/dist/bundle/index.js.map +1 -1
  13. package/dist/by/index.js +2 -2
  14. package/dist/cargo/index.js +31 -32
  15. package/dist/chunk-2PCAVW2I.js +50 -0
  16. package/dist/chunk-3ELCWU56.js +344 -0
  17. package/dist/chunk-3ELCWU56.js.map +1 -0
  18. package/dist/chunk-4GPE63GU.js +111 -0
  19. package/dist/chunk-4GPE63GU.js.map +1 -0
  20. package/dist/chunk-554KLAAN.js +778 -0
  21. package/dist/chunk-5PFOMHTB.js +135 -0
  22. package/dist/chunk-5WZXVULX.js +209 -0
  23. package/dist/chunk-6HPG2YNX.js +38 -0
  24. package/dist/chunk-6HY2X62D.js +69 -0
  25. package/dist/chunk-6NQMXTYC.js +123 -0
  26. package/dist/chunk-6XE5TMPR.js +367 -0
  27. package/dist/chunk-A4FXFAKF.js +45 -0
  28. package/dist/chunk-A5BDDEXK.js +1537 -0
  29. package/dist/chunk-A5BDDEXK.js.map +1 -0
  30. package/dist/chunk-ANATMTOA.js +205 -0
  31. package/dist/chunk-BOKIKJJB.js +94 -0
  32. package/dist/chunk-CJ5KKU6X.js +49 -0
  33. package/dist/chunk-CZTLE22N.js +381 -0
  34. package/dist/chunk-CZTLE22N.js.map +1 -0
  35. package/dist/chunk-DDHM2TLX.js +164 -0
  36. package/dist/chunk-DDHM2TLX.js.map +1 -0
  37. package/dist/chunk-DRWBEDYO.js +37 -0
  38. package/dist/chunk-DRWBEDYO.js.map +1 -0
  39. package/dist/chunk-DSBQODMZ.js +202 -0
  40. package/dist/chunk-EO43ANYJ.js +382 -0
  41. package/dist/chunk-EWPOHMN2.js +255 -0
  42. package/dist/chunk-FH52K7EG.js +50 -0
  43. package/dist/chunk-FH52K7EG.js.map +1 -0
  44. package/dist/chunk-FXZDAV62.js +826 -0
  45. package/dist/chunk-FXZDAV62.js.map +1 -0
  46. package/dist/chunk-GDG5VVYG.js +167 -0
  47. package/dist/chunk-GDG5VVYG.js.map +1 -0
  48. package/dist/chunk-GULTLPFB.js +621 -0
  49. package/dist/chunk-GULTLPFB.js.map +1 -0
  50. package/dist/chunk-GWKAVKHI.js +71 -0
  51. package/dist/chunk-H2KSZMIX.js +164 -0
  52. package/dist/chunk-HOONYZY2.js +404 -0
  53. package/dist/chunk-HQBM64EE.js +957 -0
  54. package/dist/chunk-HQBM64EE.js.map +1 -0
  55. package/dist/chunk-IAO54J4R.js +333 -0
  56. package/dist/chunk-IAO54J4R.js.map +1 -0
  57. package/dist/chunk-IFJTPAQQ.js +150 -0
  58. package/dist/chunk-IFJTPAQQ.js.map +1 -0
  59. package/dist/chunk-IGJCYUT5.js +99 -0
  60. package/dist/chunk-IGJCYUT5.js.map +1 -0
  61. package/dist/chunk-IK43HLDQ.js +739 -0
  62. package/dist/chunk-IK43HLDQ.js.map +1 -0
  63. package/dist/chunk-ISMV2QVG.js +54 -0
  64. package/dist/chunk-IY23KFNZ.js +95 -0
  65. package/dist/chunk-JBBSYJHP.js +129 -0
  66. package/dist/chunk-JFCV5QIK.js +117 -0
  67. package/dist/chunk-JK733I5V.js +23 -0
  68. package/dist/chunk-JK733I5V.js.map +1 -0
  69. package/dist/chunk-JRBNCUNT.js +371 -0
  70. package/dist/chunk-JRBNCUNT.js.map +1 -0
  71. package/dist/chunk-JVBO4SZL.js +29 -0
  72. package/dist/chunk-JVBO4SZL.js.map +1 -0
  73. package/dist/chunk-KPZS5QAQ.js +151 -0
  74. package/dist/chunk-KPZS5QAQ.js.map +1 -0
  75. package/dist/chunk-KS6SAVCZ.js +247 -0
  76. package/dist/chunk-KS6SAVCZ.js.map +1 -0
  77. package/dist/chunk-LVGTA624.js +480 -0
  78. package/dist/chunk-LVGTA624.js.map +1 -0
  79. package/dist/chunk-M75ZZHSR.js +30 -0
  80. package/dist/chunk-MT62YSPZ.js +392 -0
  81. package/dist/chunk-MT62YSPZ.js.map +1 -0
  82. package/dist/chunk-N6WF5PKC.js +29 -0
  83. package/dist/chunk-NCCBLYEB.js +150 -0
  84. package/dist/chunk-OCVM6KDH.js +99 -0
  85. package/dist/chunk-ONTBCHCP.js +80 -0
  86. package/dist/chunk-PK6JIDQ4.js +14425 -0
  87. package/dist/chunk-PK6JIDQ4.js.map +1 -0
  88. package/dist/chunk-QDPZWTN2.js +74 -0
  89. package/dist/chunk-QDPZWTN2.js.map +1 -0
  90. package/dist/chunk-R3BLCFD2.js +130 -0
  91. package/dist/chunk-RA5VTXXG.js +173 -0
  92. package/dist/chunk-RA5VTXXG.js.map +1 -0
  93. package/dist/chunk-RDXW3OBQ.js +21 -0
  94. package/dist/chunk-RFI7GGFO.js +230 -0
  95. package/dist/chunk-RJ6K6K5M.js +36 -0
  96. package/dist/chunk-RJ6K6K5M.js.map +1 -0
  97. package/dist/chunk-RNG4VRP4.js +75 -0
  98. package/dist/chunk-RTEK4C4I.js +41 -0
  99. package/dist/chunk-S3BFKGET.js +369 -0
  100. package/dist/chunk-S3BFKGET.js.map +1 -0
  101. package/dist/chunk-S6Q37VGE.js +30 -0
  102. package/dist/chunk-SMIRGMS7.js +30 -0
  103. package/dist/chunk-SMIRGMS7.js.map +1 -0
  104. package/dist/chunk-SV6EAJEP.js +86 -0
  105. package/dist/chunk-T36RFODW.js +180 -0
  106. package/dist/chunk-T36RFODW.js.map +1 -0
  107. package/dist/chunk-T3GY65MA.js +367 -0
  108. package/dist/chunk-TAGR72IR.js +515 -0
  109. package/dist/chunk-TAGR72IR.js.map +1 -0
  110. package/dist/chunk-THVIPWRF.js +495 -0
  111. package/dist/chunk-THVIPWRF.js.map +1 -0
  112. package/dist/chunk-TIGPQDYP.js +14 -0
  113. package/dist/chunk-U6JMEH2P.js +261 -0
  114. package/dist/chunk-UC2ETWF3.js +34 -0
  115. package/dist/chunk-UDSR4X4L.js +235 -0
  116. package/dist/chunk-UHNGNKLV.js +2782 -0
  117. package/dist/chunk-UHNGNKLV.js.map +1 -0
  118. package/dist/chunk-VAIS3SOM.js +74 -0
  119. package/dist/chunk-VCBHAE4R.js +124 -0
  120. package/dist/chunk-VCTXU4AT.js +32 -0
  121. package/dist/chunk-VCTXU4AT.js.map +1 -0
  122. package/dist/chunk-VEALDPHW.js +524 -0
  123. package/dist/chunk-VEALDPHW.js.map +1 -0
  124. package/dist/chunk-VKCADNMR.js +589 -0
  125. package/dist/chunk-VRBTNCM4.js +720 -0
  126. package/dist/chunk-VRBTNCM4.js.map +1 -0
  127. package/dist/chunk-VYYM3MEN.js +98 -0
  128. package/dist/chunk-VYYM3MEN.js.map +1 -0
  129. package/dist/chunk-W2OG6JOL.js +1554 -0
  130. package/dist/chunk-W2OG6JOL.js.map +1 -0
  131. package/dist/chunk-W4TCUGQR.js +1128 -0
  132. package/dist/chunk-W4TCUGQR.js.map +1 -0
  133. package/dist/chunk-WG4QBZDN.js +283 -0
  134. package/dist/chunk-WG4QBZDN.js.map +1 -0
  135. package/dist/chunk-WHXXI3W5.js +135 -0
  136. package/dist/chunk-WHXXI3W5.js.map +1 -0
  137. package/dist/chunk-WKGF2TJR.js +45 -0
  138. package/dist/chunk-WNGGJWF7.js +36 -0
  139. package/dist/chunk-WOM2HTML.js +59 -0
  140. package/dist/chunk-WQIYTNJV.js +70 -0
  141. package/dist/chunk-WZSHL6DQ.js +59 -0
  142. package/dist/chunk-XDIAFPUM.js +42 -0
  143. package/dist/chunk-XJMBYYQK.js +40 -0
  144. package/dist/chunk-XTHCN77N.js +91 -0
  145. package/dist/chunk-XUW3PXHU.js +248 -0
  146. package/dist/chunk-XUW3PXHU.js.map +1 -0
  147. package/dist/chunk-YCH5GBN6.js +99 -0
  148. package/dist/chunk-YTGDPCPW.js +155 -0
  149. package/dist/chunk-YZQOGE2L.js +23 -0
  150. package/dist/chunk-Z4PD65VQ.js +265 -0
  151. package/dist/chunk-Z4PD65VQ.js.map +1 -0
  152. package/dist/chunk-ZXEZCY6F.js +85 -0
  153. package/dist/classified/index.js +5 -5
  154. package/dist/classified-marker-QWMASIT7.js +28 -0
  155. package/dist/classified-marker-QWMASIT7.js.map +1 -0
  156. package/dist/collection-facade-KMBWNCYP.js +44 -0
  157. package/dist/computed-DSMPXG2Y.js +11 -0
  158. package/dist/consent/index.js +9 -9
  159. package/dist/cover-QJRXINN5.js +52 -0
  160. package/dist/crdt/index.js +1 -1
  161. package/dist/dead-filter-66VGI6JV.js +28 -0
  162. package/dist/delegation-SU6CV3W7.js +25 -0
  163. package/dist/derivations/index.js +12 -12
  164. package/dist/derive-6RWU4EOA.js +21 -0
  165. package/dist/enclave-TKPN2G2U.js +141 -0
  166. package/dist/executor-KGNLJD6M.js +9 -0
  167. package/dist/executor-UX4FASYZ.js +26 -0
  168. package/dist/executor-XGIS6CR7.js +9 -0
  169. package/dist/export-accessible-LKW3QV22.js +23 -0
  170. package/dist/extract-partition-UP2ARO75.js +38 -0
  171. package/dist/fanout-sidecar-B5LVUMQX.js +74 -0
  172. package/dist/find-YS6XWB46.js +11 -0
  173. package/dist/forget/index.js +10 -10
  174. package/dist/forget/index.js.map +1 -1
  175. package/dist/guards/index.js +6 -6
  176. package/dist/history/index.js +14 -11
  177. package/dist/history/index.js.map +1 -1
  178. package/dist/i18n/index.js +21 -19
  179. package/dist/i18n/index.js.map +1 -1
  180. package/dist/index.d.ts +310 -1493
  181. package/dist/index.js +331 -191
  182. package/dist/index.js.map +1 -1
  183. package/dist/indexing/index.js +7 -7
  184. package/dist/indexing/index.js.map +1 -1
  185. package/dist/issue-3ACYX7LO.js +19 -0
  186. package/dist/kernel/best-effort-revert.d.ts +52 -0
  187. package/dist/kernel/cache/index.d.ts +10 -0
  188. package/dist/kernel/cache/lru.d.ts +97 -0
  189. package/dist/kernel/cache/policy.d.ts +32 -0
  190. package/dist/kernel/collection-config.d.ts +809 -0
  191. package/dist/kernel/collection.d.ts +1522 -0
  192. package/dist/kernel/constants.d.ts +18 -0
  193. package/dist/kernel/debug.d.ts +25 -0
  194. package/dist/kernel/enclave/broker/proof.d.ts +154 -0
  195. package/dist/kernel/enclave/classify/bidx.d.ts +77 -0
  196. package/dist/kernel/enclave/classify/compare.d.ts +10 -0
  197. package/dist/kernel/enclave/classify/digest.d.ts +8 -0
  198. package/dist/kernel/enclave/classify/find.d.ts +36 -0
  199. package/dist/kernel/enclave/classify/kofn.d.ts +7 -0
  200. package/dist/kernel/enclave/classify/normalize.d.ts +7 -0
  201. package/dist/kernel/enclave/classify/reveal.d.ts +10 -0
  202. package/dist/kernel/enclave/classify/vdig.d.ts +39 -0
  203. package/dist/kernel/enclave/classify/verify.d.ts +36 -0
  204. package/dist/kernel/enclave/classify/write.d.ts +8 -0
  205. package/dist/kernel/enclave/crypto.d.ts +263 -0
  206. package/dist/kernel/enclave/index.d.ts +79 -0
  207. package/dist/kernel/enclave/record-keys/deterministic.d.ts +55 -0
  208. package/dist/kernel/enclave/record-keys/envelope-body.d.ts +79 -0
  209. package/dist/kernel/enclave/record-keys/lifecycle.d.ts +107 -0
  210. package/dist/kernel/enclave/record-keys/record-codec.d.ts +328 -0
  211. package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +14 -0
  212. package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +123 -0
  213. package/dist/kernel/enclave/record-keys/sealing.d.ts +70 -0
  214. package/dist/kernel/enclave/record-keys/tombstone.d.ts +57 -0
  215. package/dist/kernel/env-check.d.ts +1 -0
  216. package/dist/kernel/errors.d.ts +1927 -0
  217. package/dist/kernel/events.d.ts +11 -0
  218. package/dist/kernel/lazy-count.d.ts +13 -0
  219. package/dist/kernel/memory-store.d.ts +17 -0
  220. package/dist/kernel/mutation.d.ts +14 -0
  221. package/dist/kernel/noydb.d.ts +836 -0
  222. package/dist/kernel/paths.d.ts +25 -0
  223. package/dist/kernel/query/builder.d.ts +520 -0
  224. package/dist/kernel/query/index.d.ts +31 -0
  225. package/dist/kernel/query/join.d.ts +205 -0
  226. package/dist/kernel/query/live.d.ts +111 -0
  227. package/dist/kernel/query/predicate.d.ts +139 -0
  228. package/dist/kernel/query/scan-builder.d.ts +334 -0
  229. package/dist/kernel/refs.d.ts +205 -0
  230. package/dist/kernel/schema.d.ts +134 -0
  231. package/dist/kernel/sync-policy.d.ts +188 -0
  232. package/dist/kernel/tier-visibility.d.ts +54 -0
  233. package/dist/kernel/types.d.ts +3245 -0
  234. package/dist/kernel/util/discriminant.d.ts +58 -0
  235. package/dist/kernel/util/index.d.ts +14 -0
  236. package/dist/kernel/util/sanitize-filename.d.ts +75 -0
  237. package/dist/kernel/validation.d.ts +130 -0
  238. package/dist/kernel/vault.d.ts +1744 -0
  239. package/dist/kernel/via/compose.d.ts +144 -0
  240. package/dist/kernel/via/dispatch.d.ts +195 -0
  241. package/dist/kernel/via/graph-wiring.d.ts +145 -0
  242. package/dist/kernel/via/graph.d.ts +166 -0
  243. package/dist/kernel/via/index.d.ts +200 -0
  244. package/dist/kernel/via/pipeline.d.ts +266 -0
  245. package/dist/kernel/via/reconcile.d.ts +153 -0
  246. package/dist/kernel/via/taint-binding.d.ts +66 -0
  247. package/dist/kernel/write-queue.d.ts +46 -0
  248. package/dist/ledger-PTK7XZYT.js +42 -0
  249. package/dist/legacy/bundle.d.ts +30 -0
  250. package/dist/legacy/kernel.d.ts +33 -0
  251. package/dist/liberate-MQQXBUCY.js +24 -0
  252. package/dist/link-set-SLJHDNRB.js +31 -0
  253. package/dist/materialized-views/index.js +20 -17
  254. package/dist/noydb-ANIW5FLE.js +69 -0
  255. package/dist/on/index.js +9 -9
  256. package/dist/overlay-views/index.js +4 -4
  257. package/dist/periods/index.js +12 -12
  258. package/dist/pod/index.js +13 -11
  259. package/dist/policy-YDLCOX4P.js +41 -0
  260. package/dist/port/as/index.d.ts +26 -0
  261. package/dist/port/at/index.d.ts +18 -0
  262. package/dist/port/by/default-provider.d.ts +9 -0
  263. package/dist/port/by/index.d.ts +17 -0
  264. package/dist/port/by/types.d.ts +86 -0
  265. package/dist/port/in/index.d.ts +21 -0
  266. package/dist/port/on/index.d.ts +27 -0
  267. package/dist/port/to/index.d.ts +19 -0
  268. package/dist/port/ui/index.d.ts +21 -0
  269. package/dist/port/with/blob-strategy.d.ts +98 -0
  270. package/dist/port/with/broker-strategy.d.ts +84 -0
  271. package/dist/port/with/capabilities.d.ts +31 -0
  272. package/dist/port/with/classified-marker.d.ts +9 -0
  273. package/dist/port/with/classified-strategy.d.ts +62 -0
  274. package/dist/port/with/computed-strategy.d.ts +19 -0
  275. package/dist/port/with/i18n-strategy.d.ts +175 -0
  276. package/dist/port/with/index.d.ts +18 -0
  277. package/dist/port/with/lazy-strategy.d.ts +48 -0
  278. package/dist/port/with/lookup-strategy.d.ts +129 -0
  279. package/dist/port/with/service-bus.d.ts +156 -0
  280. package/dist/port/with/team-strategy.d.ts +36 -0
  281. package/dist/port/with/write-hooks.d.ts +34 -0
  282. package/dist/portability/index.js +8 -8
  283. package/dist/post-register-2YHSADFI.js +60 -0
  284. package/dist/post-register-2YHSADFI.js.map +1 -0
  285. package/dist/purge-scope-FGNNLWHD.js +24 -0
  286. package/dist/purge-scope-FGNNLWHD.js.map +1 -0
  287. package/dist/query/index.js +12 -10
  288. package/dist/read-only-facade-CHCKSEPD.js +8 -0
  289. package/dist/register-PAM3ASRZ.js +23 -0
  290. package/dist/registry-4S2U2TR4.js +19 -0
  291. package/dist/registry-NPOWJHC4.js +9 -0
  292. package/dist/registry-VZ3CCI2R.js +18 -0
  293. package/dist/request-withdrawal-DI3H5WUI.js +31 -0
  294. package/dist/reveal-HWO4YMTJ.js +38 -0
  295. package/dist/reveal-HWO4YMTJ.js.map +1 -0
  296. package/dist/revoke-R5CZSVUT.js +24 -0
  297. package/dist/satellites/index.js +1 -1
  298. package/dist/sealed-record/index.js +12 -12
  299. package/dist/seed-3ZMF5EQA.js +231 -0
  300. package/dist/seed-3ZMF5EQA.js.map +1 -0
  301. package/dist/session/index.js +9 -9
  302. package/dist/shadow/index.js +2 -2
  303. package/dist/signer-MBVHW4WE.js +25 -0
  304. package/dist/snapshots/index.js +10 -10
  305. package/dist/stale-VZL4OGUB.js +29 -0
  306. package/dist/storage-3MEJUENZ.js +23 -0
  307. package/dist/store-coordination-provider-FKX3F6TQ.js +142 -0
  308. package/dist/sync/index.js +9 -9
  309. package/dist/team/index.js +15 -15
  310. package/dist/tiers/index.js +14 -10
  311. package/dist/to/index.js +1 -2
  312. package/dist/tx/index.js +3 -3
  313. package/dist/util/index.js +1 -1
  314. package/dist/verify-26Y5GNMK.js +140 -0
  315. package/dist/verify-26Y5GNMK.js.map +1 -0
  316. package/dist/via/blob/active.d.ts +34 -0
  317. package/dist/via/blob/binding.d.ts +86 -0
  318. package/dist/via/blob/index.d.ts +34 -0
  319. package/dist/via/classified/active.d.ts +3 -0
  320. package/dist/via/classified/binding.d.ts +83 -0
  321. package/dist/via/classified/config-drift.d.ts +34 -0
  322. package/dist/via/classified/descriptor.d.ts +66 -0
  323. package/dist/via/classified/errors.d.ts +19 -0
  324. package/dist/via/classified/guards.d.ts +23 -0
  325. package/dist/via/classified/index.d.ts +11 -0
  326. package/dist/via/classified/presets.d.ts +65 -0
  327. package/dist/via/classified/resolve.d.ts +9 -0
  328. package/dist/via/classified/strategy.d.ts +11 -0
  329. package/dist/via/classified/validators.d.ts +3 -0
  330. package/dist/via/classified/write.d.ts +4 -0
  331. package/dist/via/computed/binding.d.ts +34 -0
  332. package/dist/via/computed/descriptor.d.ts +35 -0
  333. package/dist/via/i18n/active.d.ts +28 -0
  334. package/dist/via/i18n/binding.d.ts +36 -0
  335. package/dist/via/i18n/core.d.ts +267 -0
  336. package/dist/via/i18n/densify.d.ts +24 -0
  337. package/dist/via/i18n/dictionary.d.ts +200 -0
  338. package/dist/via/i18n/index.d.ts +21 -0
  339. package/dist/via/i18n/policy.d.ts +44 -0
  340. package/dist/via/i18n/script.d.ts +26 -0
  341. package/dist/via/i18n/strategy.d.ts +13 -0
  342. package/dist/via/lookup/active.d.ts +19 -0
  343. package/dist/via/lookup/binding.d.ts +99 -0
  344. package/dist/via/lookup/descriptor.d.ts +123 -0
  345. package/dist/via/lookup/handle.d.ts +220 -0
  346. package/dist/via/lookup/index.d.ts +17 -0
  347. package/dist/via/lookup/registry.d.ts +228 -0
  348. package/dist/via/lookup/snapshot.d.ts +67 -0
  349. package/dist/via/money/arith.d.ts +68 -0
  350. package/dist/via/money/binding.d.ts +21 -0
  351. package/dist/via/money/branded.d.ts +61 -0
  352. package/dist/via/money/descriptor.d.ts +73 -0
  353. package/dist/via/money/fixed-point.d.ts +51 -0
  354. package/dist/via/money/index.d.ts +15 -0
  355. package/dist/via/money/iso4217.d.ts +6 -0
  356. package/dist/via/money/money-reducer.d.ts +33 -0
  357. package/dist/via/money/normalize.d.ts +105 -0
  358. package/dist/via/money/paths.d.ts +61 -0
  359. package/dist/via/money/where.d.ts +127 -0
  360. package/dist/walk-IPLXE36W.js +241 -0
  361. package/dist/with/index.js +11 -11
  362. package/dist/with-audit/attestation/active.d.ts +10 -0
  363. package/dist/with-audit/attestation/index.d.ts +16 -0
  364. package/dist/with-audit/attestation/issue.d.ts +29 -0
  365. package/dist/with-audit/attestation/revoke.d.ts +15 -0
  366. package/dist/with-audit/attestation/signer.d.ts +33 -0
  367. package/dist/with-audit/attestation/strategy.d.ts +44 -0
  368. package/dist/with-audit/attestation/vault-facade.d.ts +62 -0
  369. package/dist/with-audit/consent/active.d.ts +14 -0
  370. package/dist/with-audit/consent/consent.d.ts +114 -0
  371. package/dist/with-audit/consent/index.d.ts +14 -0
  372. package/dist/with-audit/consent/strategy.d.ts +36 -0
  373. package/dist/with-audit/forget/active.d.ts +31 -0
  374. package/dist/with-audit/forget/index.d.ts +28 -0
  375. package/dist/with-audit/forget/purge-scope.d.ts +54 -0
  376. package/dist/with-audit/forget/strategy.d.ts +199 -0
  377. package/dist/with-audit/forget/subject-index.d.ts +83 -0
  378. package/dist/with-audit/guards/executor.d.ts +26 -0
  379. package/dist/with-audit/guards/immutable-guard.d.ts +63 -0
  380. package/dist/with-audit/guards/index.d.ts +10 -0
  381. package/dist/with-audit/guards/read-only-facade.d.ts +31 -0
  382. package/dist/with-audit/guards/registry.d.ts +83 -0
  383. package/dist/with-audit/guards/transition-guard.d.ts +82 -0
  384. package/dist/with-audit/guards/types.d.ts +134 -0
  385. package/dist/with-audit/guards/with-guard.d.ts +15 -0
  386. package/dist/with-audit/periods/active.d.ts +11 -0
  387. package/dist/with-audit/periods/index.d.ts +18 -0
  388. package/dist/with-audit/periods/periods.d.ts +417 -0
  389. package/dist/with-audit/periods/strategy.d.ts +32 -0
  390. package/dist/with-audit/periods/vault-facade.d.ts +95 -0
  391. package/dist/with-audit/portability/active.d.ts +11 -0
  392. package/dist/with-audit/portability/export-accessible.d.ts +46 -0
  393. package/dist/with-audit/portability/index.d.ts +18 -0
  394. package/dist/with-audit/portability/request-withdrawal.d.ts +85 -0
  395. package/dist/with-audit/portability/strategy.d.ts +31 -0
  396. package/dist/with-audit/portability/withdraw-accessible.d.ts +82 -0
  397. package/dist/with-audit/sealed-record/active.d.ts +9 -0
  398. package/dist/with-audit/sealed-record/index.d.ts +55 -0
  399. package/dist/with-audit/sealed-record/strategy.d.ts +34 -0
  400. package/dist/with-audit/sealed-record/types.d.ts +27 -0
  401. package/dist/with-audit/tiers/active.d.ts +9 -0
  402. package/dist/with-audit/tiers/index.d.ts +394 -0
  403. package/dist/with-audit/tiers/strategy.d.ts +36 -0
  404. package/dist/with-cargo/active.d.ts +11 -0
  405. package/dist/with-cargo/adopt-partition.d.ts +81 -0
  406. package/dist/with-cargo/decrypt-partition.d.ts +19 -0
  407. package/dist/with-cargo/describe-extraction.d.ts +41 -0
  408. package/dist/with-cargo/extract-partition.d.ts +155 -0
  409. package/dist/with-cargo/index.d.ts +33 -0
  410. package/dist/with-cargo/strategy.d.ts +30 -0
  411. package/dist/with-cargo/vault-diff.d.ts +144 -0
  412. package/dist/with-cargo/walk-closure.d.ts +67 -0
  413. package/dist/with-commit/crdt/active.d.ts +25 -0
  414. package/dist/with-commit/crdt/crdt.d.ts +42 -0
  415. package/dist/with-commit/crdt/index.d.ts +16 -0
  416. package/dist/with-commit/crdt/strategy.d.ts +25 -0
  417. package/dist/with-commit/history/active.d.ts +40 -0
  418. package/dist/with-commit/history/diff.d.ts +23 -0
  419. package/dist/with-commit/history/history.d.ts +73 -0
  420. package/dist/with-commit/history/index.d.ts +30 -0
  421. package/dist/with-commit/history/ledger/constants.d.ts +37 -0
  422. package/dist/with-commit/history/ledger/entry.d.ts +195 -0
  423. package/dist/with-commit/history/ledger/hash.d.ts +30 -0
  424. package/dist/with-commit/history/ledger/index.d.ts +19 -0
  425. package/dist/with-commit/history/ledger/patch.d.ts +99 -0
  426. package/dist/with-commit/history/ledger/store.d.ts +356 -0
  427. package/dist/with-commit/history/strategy.d.ts +136 -0
  428. package/dist/with-commit/history/time-machine.d.ts +202 -0
  429. package/dist/with-commit/numbering/descriptor.d.ts +27 -0
  430. package/dist/with-commit/numbering/index.d.ts +69 -0
  431. package/dist/with-commit/sequence/active.d.ts +10 -0
  432. package/dist/with-commit/sequence/index.d.ts +150 -0
  433. package/dist/with-commit/sequence/strategy.d.ts +26 -0
  434. package/dist/with-commit/tx/active.d.ts +27 -0
  435. package/dist/with-commit/tx/dry-run.d.ts +29 -0
  436. package/dist/with-commit/tx/elevated-handle.d.ts +59 -0
  437. package/dist/with-commit/tx/index.d.ts +13 -0
  438. package/dist/with-commit/tx/invariants.d.ts +68 -0
  439. package/dist/with-commit/tx/strategy.d.ts +23 -0
  440. package/dist/with-commit/tx/transaction.d.ts +212 -0
  441. package/dist/with-fork/archive/engine.d.ts +71 -0
  442. package/dist/with-fork/archive/index.d.ts +23 -0
  443. package/dist/with-fork/shadow/active.d.ts +6 -0
  444. package/dist/with-fork/shadow/index.d.ts +14 -0
  445. package/dist/with-fork/shadow/strategy.d.ts +28 -0
  446. package/dist/with-fork/shadow/vault-frame.d.ts +93 -0
  447. package/dist/with-fork/snapshots/active.d.ts +20 -0
  448. package/dist/with-fork/snapshots/engine.d.ts +36 -0
  449. package/dist/with-fork/snapshots/index.d.ts +5 -0
  450. package/dist/with-fork/snapshots/noydb-facade.d.ts +64 -0
  451. package/dist/with-fork/snapshots/policy.d.ts +23 -0
  452. package/dist/with-fork/snapshots/scheduler.d.ts +34 -0
  453. package/dist/with-fork/snapshots/strategy.d.ts +48 -0
  454. package/dist/with-formula/computed/index.d.ts +48 -0
  455. package/dist/with-formula/computed/lazy.d.ts +13 -0
  456. package/dist/with-formula/derivations/executor.d.ts +61 -0
  457. package/dist/with-formula/derivations/fanout-sidecar.d.ts +75 -0
  458. package/dist/with-formula/derivations/index.d.ts +6 -0
  459. package/dist/with-formula/derivations/registry.d.ts +67 -0
  460. package/dist/with-formula/derivations/stale.d.ts +39 -0
  461. package/dist/with-formula/derivations/strategy-hash.d.ts +1 -0
  462. package/dist/with-formula/derivations/types.d.ts +248 -0
  463. package/dist/with-formula/derivations/with-derivation.d.ts +10 -0
  464. package/dist/with-formula/derivations/with-rollup.d.ts +34 -0
  465. package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +73 -0
  466. package/dist/with-formula/materialized-views/executor.d.ts +80 -0
  467. package/dist/with-formula/materialized-views/index.d.ts +11 -0
  468. package/dist/with-formula/materialized-views/query-hash.d.ts +23 -0
  469. package/dist/with-formula/materialized-views/registry.d.ts +128 -0
  470. package/dist/with-formula/materialized-views/stale.d.ts +113 -0
  471. package/dist/with-formula/materialized-views/types.d.ts +399 -0
  472. package/dist/with-formula/materialized-views/with-materialized-view.d.ts +28 -0
  473. package/dist/with-formula/overlay-views/index.d.ts +5 -0
  474. package/dist/with-formula/overlay-views/registry.d.ts +42 -0
  475. package/dist/with-formula/overlay-views/types.d.ts +97 -0
  476. package/dist/with-formula/overlay-views/virtual-collection.d.ts +90 -0
  477. package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +9 -0
  478. package/dist/with-lookup/aggregate/active.d.ts +33 -0
  479. package/dist/with-lookup/aggregate/aggregation.d.ts +166 -0
  480. package/dist/with-lookup/aggregate/canonical-key.d.ts +16 -0
  481. package/dist/with-lookup/aggregate/groupby.d.ts +280 -0
  482. package/dist/with-lookup/aggregate/index.d.ts +23 -0
  483. package/dist/with-lookup/aggregate/reducers.d.ts +257 -0
  484. package/dist/with-lookup/aggregate/strategy.d.ts +59 -0
  485. package/dist/with-lookup/embeddings/cosine.d.ts +2 -0
  486. package/dist/with-lookup/embeddings/descriptor.d.ts +8 -0
  487. package/dist/with-lookup/embeddings/index.d.ts +4 -0
  488. package/dist/with-lookup/embeddings/vec-id.d.ts +47 -0
  489. package/dist/with-lookup/embeddings/vector-set.d.ts +19 -0
  490. package/dist/with-lookup/indexing/active.d.ts +30 -0
  491. package/dist/with-lookup/indexing/collection-facade.d.ts +157 -0
  492. package/dist/with-lookup/indexing/eager-indexes.d.ts +122 -0
  493. package/dist/with-lookup/indexing/index.d.ts +27 -0
  494. package/dist/with-lookup/indexing/lazy-builder.d.ts +102 -0
  495. package/dist/with-lookup/indexing/persisted-indexes.d.ts +229 -0
  496. package/dist/with-lookup/indexing/strategy.d.ts +56 -0
  497. package/dist/with-lookup/indexing/unique-constraints.d.ts +74 -0
  498. package/dist/with-lookup/search/active.d.ts +10 -0
  499. package/dist/with-lookup/search/build-docs.d.ts +15 -0
  500. package/dist/with-lookup/search/collection-facade.d.ts +163 -0
  501. package/dist/with-lookup/search/fuse.d.ts +22 -0
  502. package/dist/with-lookup/search/index-store.d.ts +19 -0
  503. package/dist/with-lookup/search/index.d.ts +19 -0
  504. package/dist/with-lookup/search/inverted-index.d.ts +47 -0
  505. package/dist/with-lookup/search/persisted-index-store.d.ts +121 -0
  506. package/dist/with-lookup/search/retrieve-types.d.ts +29 -0
  507. package/dist/with-lookup/search/scan.d.ts +28 -0
  508. package/dist/with-lookup/search/segment.d.ts +15 -0
  509. package/dist/with-lookup/search/serialize.d.ts +4 -0
  510. package/dist/with-lookup/search/snippet.d.ts +5 -0
  511. package/dist/with-lookup/search/strategy.d.ts +41 -0
  512. package/dist/with-lookup/search/tokenize.d.ts +12 -0
  513. package/dist/with-party/auth-introspection/index.d.ts +44 -0
  514. package/dist/with-party/broker/active.d.ts +23 -0
  515. package/dist/with-party/broker/index.d.ts +28 -0
  516. package/dist/with-party/broker/seed.d.ts +77 -0
  517. package/dist/with-party/custody/active.d.ts +10 -0
  518. package/dist/with-party/custody/index.d.ts +69 -0
  519. package/dist/with-party/custody/liberate.d.ts +64 -0
  520. package/dist/with-party/custody/strategy.d.ts +48 -0
  521. package/dist/with-party/directory/cover/custom.d.ts +34 -0
  522. package/dist/with-party/directory/cover/index.d.ts +19 -0
  523. package/dist/with-party/directory/cover/schema.d.ts +39 -0
  524. package/dist/with-party/directory/cover/storage.d.ts +71 -0
  525. package/dist/with-party/directory/cover/types.d.ts +149 -0
  526. package/dist/with-party/directory/index.d.ts +11 -0
  527. package/dist/with-party/directory/storage.d.ts +33 -0
  528. package/dist/with-party/directory/types.d.ts +43 -0
  529. package/dist/with-party/directory/user-envelope/api.d.ts +201 -0
  530. package/dist/with-party/directory/user-envelope/index.d.ts +12 -0
  531. package/dist/with-party/directory/user-envelope/storage.d.ts +54 -0
  532. package/dist/with-party/directory/visibility.d.ts +47 -0
  533. package/dist/with-party/policy/engine.d.ts +60 -0
  534. package/dist/with-party/policy/index.d.ts +15 -0
  535. package/dist/with-party/policy/noydb-facade.d.ts +39 -0
  536. package/dist/with-party/policy/presets.d.ts +38 -0
  537. package/dist/with-party/policy/storage.d.ts +31 -0
  538. package/dist/with-party/session/active.d.ts +34 -0
  539. package/dist/with-party/session/dev-unlock.d.ts +128 -0
  540. package/dist/with-party/session/index.d.ts +23 -0
  541. package/dist/with-party/session/session-policy.d.ts +92 -0
  542. package/dist/with-party/session/session.d.ts +131 -0
  543. package/dist/with-party/session/strategy.d.ts +42 -0
  544. package/dist/with-party/session/unlock-state.d.ts +47 -0
  545. package/dist/with-party/sync/index.d.ts +31 -0
  546. package/dist/with-party/tab-coordination.d.ts +73 -0
  547. package/dist/with-party/tab-write-relay.d.ts +39 -0
  548. package/dist/with-party/team/active.d.ts +13 -0
  549. package/dist/with-party/team/authenticators.d.ts +95 -0
  550. package/dist/with-party/team/deed.d.ts +97 -0
  551. package/dist/with-party/team/delegation.d.ts +88 -0
  552. package/dist/with-party/team/index.d.ts +38 -0
  553. package/dist/with-party/team/keyring.d.ts +318 -0
  554. package/dist/with-party/team/magic-link-grant.d.ts +152 -0
  555. package/dist/with-party/team/managed-passphrase.d.ts +280 -0
  556. package/dist/with-party/team/noydb-facade.d.ts +484 -0
  557. package/dist/with-party/team/peer-recover.d.ts +81 -0
  558. package/dist/with-party/team/presence.d.ts +81 -0
  559. package/dist/with-party/team/recovery.d.ts +191 -0
  560. package/dist/with-party/team/reserved-secret-collections.d.ts +41 -0
  561. package/dist/with-party/team/rotate-recover.d.ts +275 -0
  562. package/dist/with-party/team/shamir-recovery-provider.d.ts +15 -0
  563. package/dist/with-party/team/strategy.d.ts +9 -0
  564. package/dist/with-party/team/sync-active.d.ts +33 -0
  565. package/dist/with-party/team/sync-credentials.d.ts +113 -0
  566. package/dist/with-party/team/sync-strategy.d.ts +67 -0
  567. package/dist/with-party/team/sync-transaction.d.ts +39 -0
  568. package/dist/with-party/team/sync.d.ts +174 -0
  569. package/dist/with-party/team/tiers.d.ts +39 -0
  570. package/dist/with-party/team/wrapped-deks.d.ts +86 -0
  571. package/dist/with-pod/backup.d.ts +74 -0
  572. package/dist/with-pod/bundle.d.ts +416 -0
  573. package/dist/with-pod/format.d.ts +207 -0
  574. package/dist/with-pod/index.d.ts +21 -0
  575. package/dist/with-pod/pod-store.d.ts +54 -0
  576. package/dist/with-pod/ulid.d.ts +64 -0
  577. package/dist/with-shape/blobs/blob-compaction.d.ts +170 -0
  578. package/dist/with-shape/blobs/blob-intent.d.ts +153 -0
  579. package/dist/with-shape/blobs/blob-set.d.ts +1286 -0
  580. package/dist/with-shape/blobs/export-blobs.d.ts +110 -0
  581. package/dist/with-shape/blobs/import-external.d.ts +50 -0
  582. package/dist/with-shape/blobs/mime-magic.d.ts +48 -0
  583. package/dist/with-shape/blobs/object-projection.d.ts +70 -0
  584. package/dist/with-shape/introspection/describe.d.ts +237 -0
  585. package/dist/with-shape/introspection/field-meta.d.ts +61 -0
  586. package/dist/with-shape/introspection/fields.d.ts +14 -0
  587. package/dist/with-shape/introspection/index.d.ts +12 -0
  588. package/dist/with-shape/introspection/json-schema.d.ts +13 -0
  589. package/dist/with-shape/introspection/meta.d.ts +22 -0
  590. package/dist/with-shape/introspection/projection.d.ts +13 -0
  591. package/dist/with-shape/introspection/types.d.ts +154 -0
  592. package/dist/with-shape/introspection/walk.d.ts +50 -0
  593. package/dist/with-shape/links/lazy-handle.d.ts +36 -0
  594. package/dist/with-shape/links/link-set.d.ts +67 -0
  595. package/dist/with-shape/links/names.d.ts +65 -0
  596. package/dist/with-shape/links/vault-facade.d.ts +211 -0
  597. package/dist/with-shape/persisted-schemas/canonicalize.d.ts +11 -0
  598. package/dist/with-shape/persisted-schemas/derive.d.ts +29 -0
  599. package/dist/with-shape/persisted-schemas/index.d.ts +21 -0
  600. package/dist/with-shape/persisted-schemas/register.d.ts +66 -0
  601. package/dist/with-shape/persisted-schemas/storage.d.ts +61 -0
  602. package/dist/with-shape/persisted-schemas/types.d.ts +54 -0
  603. package/dist/with-shape/satellites/dead-filter.d.ts +21 -0
  604. package/dist/with-shape/satellites/declare.d.ts +60 -0
  605. package/dist/with-shape/satellites/existence.d.ts +5 -0
  606. package/dist/with-shape/satellites/fanout.d.ts +38 -0
  607. package/dist/with-shape/satellites/forget.d.ts +47 -0
  608. package/dist/with-shape/satellites/index.d.ts +3 -0
  609. package/dist/with-shape/satellites/joined.d.ts +19 -0
  610. package/dist/with-shape/satellites/marker.d.ts +10 -0
  611. package/dist/with-shape/satellites/migrate-cek.d.ts +26 -0
  612. package/dist/with-shape/satellites/post-register.d.ts +6 -0
  613. package/dist/with-shape/satellites/proxy.d.ts +37 -0
  614. package/dist/with-shape/satellites/raw-target.d.ts +14 -0
  615. package/dist/with-shape/satellites/registry.d.ts +19 -0
  616. package/dist/with-shape/satellites/types.d.ts +37 -0
  617. package/dist/with-shape/satellites/validate.d.ts +17 -0
  618. package/dist/with-shape/schema-update/client-registry.d.ts +35 -0
  619. package/dist/with-shape/schema-update/cutover.d.ts +5 -0
  620. package/dist/with-shape/schema-update/delta.d.ts +2 -0
  621. package/dist/with-shape/schema-update/dispatch.d.ts +3 -0
  622. package/dist/with-shape/schema-update/fence-controller.d.ts +62 -0
  623. package/dist/with-shape/schema-update/fence-watcher.d.ts +37 -0
  624. package/dist/with-shape/schema-update/fence.d.ts +15 -0
  625. package/dist/with-shape/schema-update/gate.d.ts +16 -0
  626. package/dist/with-shape/schema-update/index.d.ts +6 -0
  627. package/dist/with-shape/schema-update/store-coordination-provider.d.ts +29 -0
  628. package/dist/with-shape/schema-update/strategies.d.ts +12 -0
  629. package/dist/with-shape/schema-update/types.d.ts +53 -0
  630. package/dist/with-store/index.d.ts +15 -0
  631. package/dist/with-store/lazy/active.d.ts +12 -0
  632. package/dist/with-store/lazy/index.d.ts +14 -0
  633. package/dist/with-store/lazy/strategy.d.ts +9 -0
  634. package/dist/with-store/route-store.d.ts +259 -0
  635. package/dist/with-store/store-middleware.d.ts +189 -0
  636. package/dist/withdraw-accessible-TZDATQVR.js +28 -0
  637. package/package.json +47 -55
  638. package/dist/adapter/index.d.ts +0 -4
  639. package/dist/adapter/index.js +0 -15
  640. package/dist/aggregate/index.d.ts +0 -41
  641. package/dist/api-HV4PDUWF.js +0 -20
  642. package/dist/as/index.d.ts +0 -6
  643. package/dist/at/index.d.ts +0 -4
  644. package/dist/attestation/index.d.ts +0 -19
  645. package/dist/backup-ODXO7OGA.js +0 -225
  646. package/dist/backup-ODXO7OGA.js.map +0 -1
  647. package/dist/blobs/index.d.ts +0 -43
  648. package/dist/bundle/index.d.ts +0 -121
  649. package/dist/bundle-DlSxo31R.d.ts +0 -548
  650. package/dist/by/index.d.ts +0 -1
  651. package/dist/cargo/index.d.ts +0 -8
  652. package/dist/chunk-2644KEGW.js +0 -247
  653. package/dist/chunk-2644KEGW.js.map +0 -1
  654. package/dist/chunk-2HVUKRNE.js +0 -21
  655. package/dist/chunk-2KOSJTMU.js +0 -69
  656. package/dist/chunk-2UQ4RMHV.js +0 -167
  657. package/dist/chunk-2UQ4RMHV.js.map +0 -1
  658. package/dist/chunk-2XE6LIXT.js +0 -515
  659. package/dist/chunk-2XE6LIXT.js.map +0 -1
  660. package/dist/chunk-34RRRIC3.js +0 -71
  661. package/dist/chunk-3C5CKXFI.js +0 -621
  662. package/dist/chunk-3C5CKXFI.js.map +0 -1
  663. package/dist/chunk-3I4KYWNP.js +0 -30
  664. package/dist/chunk-42KVY3OC.js +0 -86
  665. package/dist/chunk-4C4WBS4V.js +0 -13822
  666. package/dist/chunk-4C4WBS4V.js.map +0 -1
  667. package/dist/chunk-4G3IT7J7.js +0 -280
  668. package/dist/chunk-4G3IT7J7.js.map +0 -1
  669. package/dist/chunk-4RQ62VSR.js +0 -53
  670. package/dist/chunk-4RQ62VSR.js.map +0 -1
  671. package/dist/chunk-4ZSGSRBI.js +0 -1221
  672. package/dist/chunk-4ZSGSRBI.js.map +0 -1
  673. package/dist/chunk-5GAX2QOH.js +0 -132
  674. package/dist/chunk-5GAX2QOH.js.map +0 -1
  675. package/dist/chunk-5SAZMBW7.js +0 -202
  676. package/dist/chunk-5TZZUL5X.js +0 -30
  677. package/dist/chunk-6CU3FN74.js +0 -777
  678. package/dist/chunk-6G2SCQYS.js +0 -29
  679. package/dist/chunk-6G2SCQYS.js.map +0 -1
  680. package/dist/chunk-6MWUANRF.js +0 -29
  681. package/dist/chunk-6S7T6WC4.js +0 -111
  682. package/dist/chunk-6S7T6WC4.js.map +0 -1
  683. package/dist/chunk-6ULCYCMU.js +0 -74
  684. package/dist/chunk-7HAPHVRJ.js +0 -1695
  685. package/dist/chunk-7HAPHVRJ.js.map +0 -1
  686. package/dist/chunk-7IZQTCTR.js +0 -382
  687. package/dist/chunk-7ZANJ6JZ.js +0 -265
  688. package/dist/chunk-7ZANJ6JZ.js.map +0 -1
  689. package/dist/chunk-A2APWS32.js +0 -150
  690. package/dist/chunk-A2APWS32.js.map +0 -1
  691. package/dist/chunk-A4MAD6PO.js +0 -99
  692. package/dist/chunk-ANDBBA2P.js +0 -36
  693. package/dist/chunk-ANDBBA2P.js.map +0 -1
  694. package/dist/chunk-AUR7MRHA.js +0 -404
  695. package/dist/chunk-AYGZMQP5.js +0 -75
  696. package/dist/chunk-BGIZAFY7.js +0 -1
  697. package/dist/chunk-CJEMA2Z6.js +0 -230
  698. package/dist/chunk-CTSFKDGA.js +0 -40
  699. package/dist/chunk-CU62BBRB.js +0 -1465
  700. package/dist/chunk-CU62BBRB.js.map +0 -1
  701. package/dist/chunk-CWCCYH34.js +0 -23
  702. package/dist/chunk-DEYAO3N6.js +0 -589
  703. package/dist/chunk-DFIBOSOQ.js +0 -85
  704. package/dist/chunk-E5AHO65E.js +0 -150
  705. package/dist/chunk-FC3XK5JT.js +0 -99
  706. package/dist/chunk-FGOGS7CE.js +0 -662
  707. package/dist/chunk-FGOGS7CE.js.map +0 -1
  708. package/dist/chunk-GX2BYNCT.js +0 -117
  709. package/dist/chunk-GZ2MOPVX.js +0 -291
  710. package/dist/chunk-GZ2MOPVX.js.map +0 -1
  711. package/dist/chunk-H57P2SJB.js +0 -126
  712. package/dist/chunk-H57P2SJB.js.map +0 -1
  713. package/dist/chunk-HBTT7YQX.js +0 -94
  714. package/dist/chunk-HOCEGVGQ.js +0 -36
  715. package/dist/chunk-ICV32FPK.js +0 -50
  716. package/dist/chunk-IIP5WFVT.js +0 -462
  717. package/dist/chunk-IIP5WFVT.js.map +0 -1
  718. package/dist/chunk-IUKGIB2Q.js +0 -91
  719. package/dist/chunk-IWTYFS3D.js +0 -129
  720. package/dist/chunk-JC5R7P44.js +0 -355
  721. package/dist/chunk-JC5R7P44.js.map +0 -1
  722. package/dist/chunk-K2WCO3NX.js +0 -1
  723. package/dist/chunk-KBBWY46Y.js +0 -14
  724. package/dist/chunk-KBF5GSGX.js +0 -367
  725. package/dist/chunk-KCG3BHFG.js +0 -99
  726. package/dist/chunk-KCG3BHFG.js.map +0 -1
  727. package/dist/chunk-KNXN47MO.js +0 -155
  728. package/dist/chunk-KNXN47MO.js.map +0 -1
  729. package/dist/chunk-KWLD2D75.js +0 -38
  730. package/dist/chunk-KXKLKJW4.js +0 -49
  731. package/dist/chunk-KYC4LIEU.js +0 -123
  732. package/dist/chunk-LEOXZY36.js +0 -130
  733. package/dist/chunk-M5I354EE.js +0 -235
  734. package/dist/chunk-MK2BSS44.js +0 -34
  735. package/dist/chunk-MSVY7ULZ.js +0 -70
  736. package/dist/chunk-NNWK3PSY.js +0 -135
  737. package/dist/chunk-NSZ6J5DF.js +0 -59
  738. package/dist/chunk-NUEFXLZU.js +0 -59
  739. package/dist/chunk-NYVQCZ54.js +0 -261
  740. package/dist/chunk-OQAODTYR.js +0 -45
  741. package/dist/chunk-OV4CMJGR.js +0 -164
  742. package/dist/chunk-PEDZFFKW.js +0 -41
  743. package/dist/chunk-PF3FQCCF.js +0 -164
  744. package/dist/chunk-PF3FQCCF.js.map +0 -1
  745. package/dist/chunk-Q2KVKTC2.js +0 -823
  746. package/dist/chunk-Q2KVKTC2.js.map +0 -1
  747. package/dist/chunk-QJR3W3MF.js +0 -23
  748. package/dist/chunk-QJR3W3MF.js.map +0 -1
  749. package/dist/chunk-QTXQ6RNZ.js +0 -255
  750. package/dist/chunk-RJ5522XX.js +0 -453
  751. package/dist/chunk-RJ5522XX.js.map +0 -1
  752. package/dist/chunk-RMUXPHIH.js +0 -930
  753. package/dist/chunk-RMUXPHIH.js.map +0 -1
  754. package/dist/chunk-S6AQXDN4.js +0 -155
  755. package/dist/chunk-SSFC3IYA.js +0 -275
  756. package/dist/chunk-SSFC3IYA.js.map +0 -1
  757. package/dist/chunk-SZCHEDML.js +0 -209
  758. package/dist/chunk-TDPEJINP.js +0 -188
  759. package/dist/chunk-TDPEJINP.js.map +0 -1
  760. package/dist/chunk-TQ3REHVF.js +0 -95
  761. package/dist/chunk-TQ3REHVF.js.map +0 -1
  762. package/dist/chunk-UNJU345Q.js +0 -32
  763. package/dist/chunk-UNJU345Q.js.map +0 -1
  764. package/dist/chunk-V7RNIND6.js +0 -265
  765. package/dist/chunk-V7RNIND6.js.map +0 -1
  766. package/dist/chunk-VJ3NQK4K.js +0 -205
  767. package/dist/chunk-WNA6T3MA.js +0 -686
  768. package/dist/chunk-WNA6T3MA.js.map +0 -1
  769. package/dist/chunk-WVCQ75OK.js +0 -124
  770. package/dist/chunk-WXSYDNBT.js +0 -39
  771. package/dist/chunk-WXSYDNBT.js.map +0 -1
  772. package/dist/chunk-X66MXMR5.js +0 -42
  773. package/dist/chunk-XHD3L3JO.js +0 -930
  774. package/dist/chunk-XHD3L3JO.js.map +0 -1
  775. package/dist/chunk-XJK2WIYN.js +0 -430
  776. package/dist/chunk-XJK2WIYN.js.map +0 -1
  777. package/dist/chunk-XQ7UYPVN.js +0 -95
  778. package/dist/chunk-Y2OCKFZ3.js +0 -80
  779. package/dist/chunk-YBFOBRTO.js +0 -367
  780. package/dist/chunk-YLN33ADH.js +0 -97
  781. package/dist/chunk-YLN33ADH.js.map +0 -1
  782. package/dist/chunk-Z5YFRMG5.js +0 -45
  783. package/dist/chunk-ZWQFOXBR.js +0 -54
  784. package/dist/classified/index.d.ts +0 -16
  785. package/dist/classified-marker-IO5EBW7Q.js +0 -24
  786. package/dist/classified-marker-IO5EBW7Q.js.map +0 -1
  787. package/dist/collection-facade-3RAXG2OU.js +0 -38
  788. package/dist/computed-R62HGCO4.js +0 -11
  789. package/dist/consent/index.d.ts +0 -22
  790. package/dist/crdt/index.d.ts +0 -33
  791. package/dist/dead-filter-VNA4M3GP.js +0 -28
  792. package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
  793. package/dist/delegation-ZKII5UBI.js +0 -25
  794. package/dist/derivations/index.d.ts +0 -69
  795. package/dist/derive-5D2C3WG4.js +0 -21
  796. package/dist/describe/index.d.ts +0 -4
  797. package/dist/describe/index.js +0 -1
  798. package/dist/dev-unlock-DDTafVO6.d.ts +0 -263
  799. package/dist/discriminant-BN9REW3o.d.ts +0 -60
  800. package/dist/enclave-EUBEJGPG.js +0 -125
  801. package/dist/executor-IL7SRNUZ.js +0 -23
  802. package/dist/executor-OUA2Y6YC.js +0 -9
  803. package/dist/executor-WAEI6PDV.js +0 -9
  804. package/dist/export-accessible-O55RKAGC.js +0 -23
  805. package/dist/extract-partition-VBGCBA6Q.js +0 -36
  806. package/dist/fanout-sidecar-CI5BCMQM.js +0 -74
  807. package/dist/find-FISGUWSK.js +0 -11
  808. package/dist/forget/index.d.ts +0 -36
  809. package/dist/guards/index.d.ts +0 -34
  810. package/dist/hash-DBkZfIBW.d.ts +0 -72
  811. package/dist/history/index.d.ts +0 -60
  812. package/dist/i18n/index.d.ts +0 -56
  813. package/dist/in/index.d.ts +0 -4
  814. package/dist/index-B9QdHytu.d.ts +0 -123
  815. package/dist/index-CyclmyDr.d.ts +0 -122
  816. package/dist/index-DzhNI2vE.d.ts +0 -23260
  817. package/dist/indexing/index.d.ts +0 -38
  818. package/dist/issue-EQAWIYFQ.js +0 -19
  819. package/dist/kernel/index.d.ts +0 -31
  820. package/dist/kernel/index.js +0 -60
  821. package/dist/lazy/index.d.ts +0 -20
  822. package/dist/ledger-AJA2SR3C.js +0 -42
  823. package/dist/liberate-SEGR4JLY.js +0 -24
  824. package/dist/link-set-YBAC2DQT.js +0 -31
  825. package/dist/materialized-views/index.d.ts +0 -182
  826. package/dist/mime-magic-CbV1quyp.d.ts +0 -103
  827. package/dist/noydb-AMEOU456.js +0 -65
  828. package/dist/on/index.d.ts +0 -4
  829. package/dist/overlay-views/index.d.ts +0 -97
  830. package/dist/periods/index.d.ts +0 -19
  831. package/dist/pod/index.d.ts +0 -62
  832. package/dist/policy-SDGRWVIL.js +0 -41
  833. package/dist/portability/index.d.ts +0 -19
  834. package/dist/post-register-MROIUA5O.js +0 -55
  835. package/dist/post-register-MROIUA5O.js.map +0 -1
  836. package/dist/public-envelope-J5PLQOW2.js +0 -32
  837. package/dist/query/index.d.ts +0 -4
  838. package/dist/read-only-facade-UCYNRE56.js +0 -8
  839. package/dist/register-OVJKW7BS.js +0 -23
  840. package/dist/registry-5RJSK5AJ.js +0 -9
  841. package/dist/registry-DQRNTWRL.js +0 -18
  842. package/dist/registry-LTGLERS7.js +0 -19
  843. package/dist/request-withdrawal-27O77D2V.js +0 -31
  844. package/dist/reveal-LT3I2K4P.js +0 -38
  845. package/dist/reveal-LT3I2K4P.js.map +0 -1
  846. package/dist/revoke-4N45G7D2.js +0 -24
  847. package/dist/revoke-4N45G7D2.js.map +0 -1
  848. package/dist/satellites/index.d.ts +0 -4
  849. package/dist/sealed-record/index.d.ts +0 -68
  850. package/dist/session/index.d.ts +0 -43
  851. package/dist/shadow/index.d.ts +0 -14
  852. package/dist/signer-XJCOV7JD.js +0 -25
  853. package/dist/signer-XJCOV7JD.js.map +0 -1
  854. package/dist/snapshots/index.d.ts +0 -25
  855. package/dist/stale-IYYXEH3U.js +0 -14
  856. package/dist/stale-IYYXEH3U.js.map +0 -1
  857. package/dist/storage-Y44CAPE6.js +0 -23
  858. package/dist/storage-Y44CAPE6.js.map +0 -1
  859. package/dist/store-coordination-provider-WKGAE2WI.js +0 -142
  860. package/dist/subject-index-CyOgGMJL.d.ts +0 -380
  861. package/dist/sync/index.d.ts +0 -40
  862. package/dist/team/index.d.ts +0 -154
  863. package/dist/tiers/index.d.ts +0 -4
  864. package/dist/to/index.d.ts +0 -4
  865. package/dist/transition-guard-BOUkzQU4.d.ts +0 -165
  866. package/dist/tx/index.d.ts +0 -34
  867. package/dist/ui/index.d.ts +0 -4
  868. package/dist/ulid-DRH25k3y.d.ts +0 -66
  869. package/dist/util/index.d.ts +0 -79
  870. package/dist/validators-B3SalxlJ.d.ts +0 -101
  871. package/dist/vault-diff-Dt9NkLzw.d.ts +0 -147
  872. package/dist/verify-GH6CWVSW.js +0 -139
  873. package/dist/verify-GH6CWVSW.js.map +0 -1
  874. package/dist/walk-76UCFXYV.js +0 -241
  875. package/dist/with/index.d.ts +0 -37
  876. package/dist/with-materialized-view-BP33v1Z6.d.ts +0 -27
  877. package/dist/with-overlayed-view-DntFpOKN.d.ts +0 -12
  878. package/dist/with-rollup-ClCHO6-4.d.ts +0 -47
  879. package/dist/withdraw-accessible-6J2UH3IN.js +0 -28
  880. package/dist/withdraw-accessible-6J2UH3IN.js.map +0 -1
  881. /package/dist/{adapter/index.js.map → api-3A3S4SHH.js.map} +0 -0
  882. /package/dist/{chunk-ICV32FPK.js.map → chunk-2PCAVW2I.js.map} +0 -0
  883. /package/dist/{chunk-6CU3FN74.js.map → chunk-554KLAAN.js.map} +0 -0
  884. /package/dist/{chunk-NNWK3PSY.js.map → chunk-5PFOMHTB.js.map} +0 -0
  885. /package/dist/{chunk-SZCHEDML.js.map → chunk-5WZXVULX.js.map} +0 -0
  886. /package/dist/{chunk-KWLD2D75.js.map → chunk-6HPG2YNX.js.map} +0 -0
  887. /package/dist/{chunk-2KOSJTMU.js.map → chunk-6HY2X62D.js.map} +0 -0
  888. /package/dist/{chunk-KYC4LIEU.js.map → chunk-6NQMXTYC.js.map} +0 -0
  889. /package/dist/{chunk-KBF5GSGX.js.map → chunk-6XE5TMPR.js.map} +0 -0
  890. /package/dist/{chunk-Z5YFRMG5.js.map → chunk-A4FXFAKF.js.map} +0 -0
  891. /package/dist/{chunk-VJ3NQK4K.js.map → chunk-ANATMTOA.js.map} +0 -0
  892. /package/dist/{chunk-HBTT7YQX.js.map → chunk-BOKIKJJB.js.map} +0 -0
  893. /package/dist/{chunk-KXKLKJW4.js.map → chunk-CJ5KKU6X.js.map} +0 -0
  894. /package/dist/{chunk-5SAZMBW7.js.map → chunk-DSBQODMZ.js.map} +0 -0
  895. /package/dist/{chunk-7IZQTCTR.js.map → chunk-EO43ANYJ.js.map} +0 -0
  896. /package/dist/{chunk-QTXQ6RNZ.js.map → chunk-EWPOHMN2.js.map} +0 -0
  897. /package/dist/{chunk-34RRRIC3.js.map → chunk-GWKAVKHI.js.map} +0 -0
  898. /package/dist/{chunk-OV4CMJGR.js.map → chunk-H2KSZMIX.js.map} +0 -0
  899. /package/dist/{chunk-AUR7MRHA.js.map → chunk-HOONYZY2.js.map} +0 -0
  900. /package/dist/{chunk-ZWQFOXBR.js.map → chunk-ISMV2QVG.js.map} +0 -0
  901. /package/dist/{chunk-XQ7UYPVN.js.map → chunk-IY23KFNZ.js.map} +0 -0
  902. /package/dist/{chunk-IWTYFS3D.js.map → chunk-JBBSYJHP.js.map} +0 -0
  903. /package/dist/{chunk-GX2BYNCT.js.map → chunk-JFCV5QIK.js.map} +0 -0
  904. /package/dist/{chunk-5TZZUL5X.js.map → chunk-M75ZZHSR.js.map} +0 -0
  905. /package/dist/{chunk-6MWUANRF.js.map → chunk-N6WF5PKC.js.map} +0 -0
  906. /package/dist/{chunk-E5AHO65E.js.map → chunk-NCCBLYEB.js.map} +0 -0
  907. /package/dist/{chunk-A4MAD6PO.js.map → chunk-OCVM6KDH.js.map} +0 -0
  908. /package/dist/{chunk-Y2OCKFZ3.js.map → chunk-ONTBCHCP.js.map} +0 -0
  909. /package/dist/{chunk-LEOXZY36.js.map → chunk-R3BLCFD2.js.map} +0 -0
  910. /package/dist/{chunk-2HVUKRNE.js.map → chunk-RDXW3OBQ.js.map} +0 -0
  911. /package/dist/{chunk-CJEMA2Z6.js.map → chunk-RFI7GGFO.js.map} +0 -0
  912. /package/dist/{chunk-AYGZMQP5.js.map → chunk-RNG4VRP4.js.map} +0 -0
  913. /package/dist/{chunk-PEDZFFKW.js.map → chunk-RTEK4C4I.js.map} +0 -0
  914. /package/dist/{chunk-3I4KYWNP.js.map → chunk-S6Q37VGE.js.map} +0 -0
  915. /package/dist/{chunk-42KVY3OC.js.map → chunk-SV6EAJEP.js.map} +0 -0
  916. /package/dist/{chunk-YBFOBRTO.js.map → chunk-T3GY65MA.js.map} +0 -0
  917. /package/dist/{chunk-KBBWY46Y.js.map → chunk-TIGPQDYP.js.map} +0 -0
  918. /package/dist/{chunk-NYVQCZ54.js.map → chunk-U6JMEH2P.js.map} +0 -0
  919. /package/dist/{chunk-MK2BSS44.js.map → chunk-UC2ETWF3.js.map} +0 -0
  920. /package/dist/{chunk-M5I354EE.js.map → chunk-UDSR4X4L.js.map} +0 -0
  921. /package/dist/{chunk-6ULCYCMU.js.map → chunk-VAIS3SOM.js.map} +0 -0
  922. /package/dist/{chunk-WVCQ75OK.js.map → chunk-VCBHAE4R.js.map} +0 -0
  923. /package/dist/{chunk-DEYAO3N6.js.map → chunk-VKCADNMR.js.map} +0 -0
  924. /package/dist/{chunk-OQAODTYR.js.map → chunk-WKGF2TJR.js.map} +0 -0
  925. /package/dist/{chunk-HOCEGVGQ.js.map → chunk-WNGGJWF7.js.map} +0 -0
  926. /package/dist/{chunk-NSZ6J5DF.js.map → chunk-WOM2HTML.js.map} +0 -0
  927. /package/dist/{chunk-MSVY7ULZ.js.map → chunk-WQIYTNJV.js.map} +0 -0
  928. /package/dist/{chunk-NUEFXLZU.js.map → chunk-WZSHL6DQ.js.map} +0 -0
  929. /package/dist/{chunk-X66MXMR5.js.map → chunk-XDIAFPUM.js.map} +0 -0
  930. /package/dist/{chunk-CTSFKDGA.js.map → chunk-XJMBYYQK.js.map} +0 -0
  931. /package/dist/{chunk-IUKGIB2Q.js.map → chunk-XTHCN77N.js.map} +0 -0
  932. /package/dist/{chunk-FC3XK5JT.js.map → chunk-YCH5GBN6.js.map} +0 -0
  933. /package/dist/{chunk-S6AQXDN4.js.map → chunk-YTGDPCPW.js.map} +0 -0
  934. /package/dist/{chunk-CWCCYH34.js.map → chunk-YZQOGE2L.js.map} +0 -0
  935. /package/dist/{chunk-DFIBOSOQ.js.map → chunk-ZXEZCY6F.js.map} +0 -0
  936. /package/dist/{api-HV4PDUWF.js.map → collection-facade-KMBWNCYP.js.map} +0 -0
  937. /package/dist/{chunk-BGIZAFY7.js.map → computed-DSMPXG2Y.js.map} +0 -0
  938. /package/dist/{chunk-K2WCO3NX.js.map → cover-QJRXINN5.js.map} +0 -0
  939. /package/dist/{dead-filter-VNA4M3GP.js.map → dead-filter-66VGI6JV.js.map} +0 -0
  940. /package/dist/{collection-facade-3RAXG2OU.js.map → delegation-SU6CV3W7.js.map} +0 -0
  941. /package/dist/{computed-R62HGCO4.js.map → derive-6RWU4EOA.js.map} +0 -0
  942. /package/dist/{delegation-ZKII5UBI.js.map → enclave-TKPN2G2U.js.map} +0 -0
  943. /package/dist/{derive-5D2C3WG4.js.map → executor-KGNLJD6M.js.map} +0 -0
  944. /package/dist/{describe/index.js.map → executor-UX4FASYZ.js.map} +0 -0
  945. /package/dist/{enclave-EUBEJGPG.js.map → executor-XGIS6CR7.js.map} +0 -0
  946. /package/dist/{executor-IL7SRNUZ.js.map → export-accessible-LKW3QV22.js.map} +0 -0
  947. /package/dist/{executor-OUA2Y6YC.js.map → extract-partition-UP2ARO75.js.map} +0 -0
  948. /package/dist/{fanout-sidecar-CI5BCMQM.js.map → fanout-sidecar-B5LVUMQX.js.map} +0 -0
  949. /package/dist/{executor-WAEI6PDV.js.map → find-YS6XWB46.js.map} +0 -0
  950. /package/dist/{export-accessible-O55RKAGC.js.map → issue-3ACYX7LO.js.map} +0 -0
  951. /package/dist/{extract-partition-VBGCBA6Q.js.map → ledger-PTK7XZYT.js.map} +0 -0
  952. /package/dist/{find-FISGUWSK.js.map → liberate-MQQXBUCY.js.map} +0 -0
  953. /package/dist/{issue-EQAWIYFQ.js.map → link-set-SLJHDNRB.js.map} +0 -0
  954. /package/dist/{kernel/index.js.map → noydb-ANIW5FLE.js.map} +0 -0
  955. /package/dist/{ledger-AJA2SR3C.js.map → policy-YDLCOX4P.js.map} +0 -0
  956. /package/dist/{liberate-SEGR4JLY.js.map → read-only-facade-CHCKSEPD.js.map} +0 -0
  957. /package/dist/{link-set-YBAC2DQT.js.map → register-PAM3ASRZ.js.map} +0 -0
  958. /package/dist/{noydb-AMEOU456.js.map → registry-4S2U2TR4.js.map} +0 -0
  959. /package/dist/{policy-SDGRWVIL.js.map → registry-NPOWJHC4.js.map} +0 -0
  960. /package/dist/{public-envelope-J5PLQOW2.js.map → registry-VZ3CCI2R.js.map} +0 -0
  961. /package/dist/{read-only-facade-UCYNRE56.js.map → request-withdrawal-DI3H5WUI.js.map} +0 -0
  962. /package/dist/{register-OVJKW7BS.js.map → revoke-R5CZSVUT.js.map} +0 -0
  963. /package/dist/{registry-5RJSK5AJ.js.map → signer-MBVHW4WE.js.map} +0 -0
  964. /package/dist/{registry-DQRNTWRL.js.map → stale-VZL4OGUB.js.map} +0 -0
  965. /package/dist/{registry-LTGLERS7.js.map → storage-3MEJUENZ.js.map} +0 -0
  966. /package/dist/{store-coordination-provider-WKGAE2WI.js.map → store-coordination-provider-FKX3F6TQ.js.map} +0 -0
  967. /package/dist/{walk-76UCFXYV.js.map → walk-IPLXE36W.js.map} +0 -0
  968. /package/dist/{request-withdrawal-27O77D2V.js.map → withdraw-accessible-TZDATQVR.js.map} +0 -0
@@ -0,0 +1,113 @@
1
+ import type { Collection } from '../../kernel/collection.js';
2
+ import type { TxContext } from '../../with-commit/tx/transaction.js';
3
+ import type { PutDerivedOutputCtx } from '../../kernel/via/dispatch.js';
4
+ import type { MaterializedViewRegistry, RegisteredMV } from './registry.js';
5
+ import type { MVQueryContext } from './types.js';
6
+ import type { NoydbStore } from '../../kernel/types.js';
7
+ /**
8
+ * Accessor shape passed in from the owning Vault. Provides the
9
+ * registry (used as a stable WeakMap key + to look up MVs by output
10
+ * collection) and the runtime context the lazy refresh needs.
11
+ * Mirrors v1's `DerivationStaleAccessor`.
12
+ */
13
+ export interface MVStaleAccessor {
14
+ registry(): MaterializedViewRegistry;
15
+ getCollection(name: string): Collection<any>;
16
+ getActiveTxContext(): TxContext | null;
17
+ getQueryContext(): MVQueryContext;
18
+ }
19
+ /**
20
+ * Mark an MV as stale. Called from `Collection.dispatchMaterializedViews`
21
+ * when a source-write fires for a `refresh: 'lazy'` MV.
22
+ *
23
+ * @internal
24
+ */
25
+ export declare function markMVStale(registry: MaterializedViewRegistry, mvName: string): void;
26
+ /**
27
+ * Test-only: check whether a given MV name is currently flagged stale
28
+ * against a registry. Exported so the regression suite can pin the
29
+ * stale-bit lifecycle without touching the internal `WeakMap`.
30
+ *
31
+ * @internal
32
+ */
33
+ export declare function isMVStale(registry: MaterializedViewRegistry, mvName: string): boolean;
34
+ /**
35
+ * Reserved collection holding CONTENT-FREE lazy-stale markers (record id =
36
+ * MV name, plaintext `_iv: ''` envelope, no payload) — mirrors the
37
+ * `_meta`/schema-fence marker envelope shape. Written only from the
38
+ * delete/forget/elevate dispatcher (#736); ordinary source writes stay
39
+ * in-memory-only (the cheap path). Read via the adapter directly, never
40
+ * through `vault.collection()` — same reserved-collection convention as
41
+ * `_subject_index`/`_meta`.
42
+ */
43
+ export declare const MV_STALE_COLLECTION = "_mv_stale";
44
+ /**
45
+ * Invalidate an MV from the delete/forget/elevate dispatcher (#736) — the ordinary
46
+ * source-write path (`dispatchMaterializedViews`) never calls this. Deletes EVERY
47
+ * persisted row in `reg.outputCollection` via `_internalDelete` (the at-rest law: a
48
+ * stale mark alone leaves the elevated/forgotten source's plaintext sitting in the
49
+ * output row) using the adapter directly so the read-path's `resolveStaleMVOnRead`
50
+ * isn't triggered mid-invalidation. `mode: 'lazy'` also persists the stale mark so a
51
+ * cold session recomputes on next read; `'manual'` gets the purge only — the MV
52
+ * serves empty until an explicit `vault.refreshView()` (erasure wins). Deletion is
53
+ * stamp-scoped (`_materializedFrom.mvName === reg.spec.name` — see the loop below),
54
+ * so another registered MV sharing this output collection keeps its own rows intact:
55
+ * no cross-MV re-marking is needed here, only `reg` itself is marked stale.
56
+ *
57
+ * Returns the count of rows actually `_internalDelete`d (#761 item 1) — folded by the
58
+ * caller into `dispatchMaterializedViewsOnDelete`'s `deleted` so `ForgetResult.derivedRecordsErased`
59
+ * counts lazy/manual purges too, not just the eager executor's tombstone leg — plus
60
+ * `residueUndecodable`, the bare ids whose ownership stamp could NOT be decoded (#776): a
61
+ * candidate row that fails to decode under the collection's default DEK (e.g. elevated above
62
+ * tier 0 on a tiered output collection) has UNKNOWN ownership — it might be this MV's own
63
+ * output, or (same-collection shape) a plain user record — so it is never erased, but it must
64
+ * be SURFACED rather than silently skipped (the #724 posture), since it may still hold the
65
+ * forgotten/pre-elevation contribution, decryptable by tier-holders — and `residueDeclined`
66
+ * (#785), the bare ids that DID decode and stamp-match but whose `_internalDelete` declined
67
+ * (ownership CONFIRMED, erasure declined).
68
+ *
69
+ * @internal
70
+ */
71
+ export declare function invalidateMVAtRest(accessor: MVStaleAccessor, reg: RegisteredMV, mode: 'lazy' | 'manual'): Promise<{
72
+ deleted: number;
73
+ residueUndecodable: string[];
74
+ residueDeclined: string[];
75
+ }>;
76
+ /**
77
+ * Called from `Collection.get` (and any reader that materializes the
78
+ * MV's output collection). If any MV producing `outputCollection` is
79
+ * flagged stale, runs the executor against the live source state
80
+ * before returning. No-op when there is no pending work — keeps the
81
+ * read fast path negligible.
82
+ *
83
+ * `dispatchCtx` (#641): threaded from the calling `Collection`'s
84
+ * `#dispatchCtx({ collection: outputCollection, id: 'resolve-on-read' })` — a read has no
85
+ * real "reacting write" record, so `'resolve-on-read'` is the sentinel id, mirroring
86
+ * `Vault.refreshView()`'s `'refreshView'` sentinel for the same reason. Passed straight
87
+ * through to the executor so a stale row whose output lands in a closed period follows the
88
+ * frozen-output rule (skip + `derivation:skipped-frozen`, #637) instead of throwing
89
+ * `PeriodClosedError` out of a read.
90
+ *
91
+ * Dynamic-imports the executor only when a stale flag actually fires
92
+ * (the floor-bundle isolation pattern v1 derivations established in
93
+ * floor-bundle isolation pattern).
94
+ */
95
+ export declare function resolveStaleMVOnRead(accessor: MVStaleAccessor, outputCollection: string, dispatchCtx?: PutDerivedOutputCtx): Promise<void>;
96
+ /**
97
+ * Drop every stale flag for a registry. Used after a manual
98
+ * `vault.refreshView(name)` runs the executor explicitly — the
99
+ * post-refresh state matches the registered strategies, so
100
+ * lingering stale bits would force a redundant refresh on the next
101
+ * read.
102
+ *
103
+ * @internal
104
+ */
105
+ export declare function clearMVStale(registry: MaterializedViewRegistry, mvName: string): void;
106
+ /**
107
+ * `clearMVStale` plus the persisted marker (#736) — `Vault.refreshView()`'s
108
+ * completion path. A lingering persisted marker after a manual refresh would
109
+ * make the NEXT cold session recompute redundantly.
110
+ *
111
+ * @internal
112
+ */
113
+ export declare function clearMVStaleFully(adapter: NoydbStore, vault: string, registry: MaterializedViewRegistry, mvName: string): Promise<void>;
@@ -0,0 +1,399 @@
1
+ import type { Query } from '../../kernel/query/builder.js';
2
+ import type { Collection } from '../../kernel/collection.js';
3
+ import type { AggregateSpec, Aggregation } from '../../with-lookup/aggregate/aggregation.js';
4
+ import type { GroupedAggregation } from '../../with-lookup/aggregate/groupby.js';
5
+ import type { JoinStrategy } from '../../kernel/query/join.js';
6
+ import type { MoneyDescriptor } from '../../via/money/descriptor.js';
7
+ import type { I18nTextDescriptor } from '../../via/i18n/core.js';
8
+ /**
9
+ * Minimal vault-shaped accessor passed to the MV `query()` callback.
10
+ * Defined as a structural interface so the strategy types don't have
11
+ * to import the full `Vault` class (avoids a circular import). The
12
+ * Vault implements this shape natively.
13
+ */
14
+ export interface MVQueryContext {
15
+ collection<T extends Record<string, unknown>>(name: string): Collection<T>;
16
+ }
17
+ /**
18
+ * Metadata that travels inside the `_data` payload of a materialized
19
+ * row. Lives in encrypted payload, not in the unencrypted envelope —
20
+ * the storage backend cannot infer the MV graph from listing.
21
+ *
22
+ * Extends the `_derivedFrom` precedent from v1: same encryption shape,
23
+ * same "metadata-inside-data" location.
24
+ */
25
+ export interface MaterializedFromMeta {
26
+ /** Stable identity for the MV that emitted this row. */
27
+ readonly mvName: string;
28
+ /**
29
+ * SHA-256 of (mvName + canonical query plan + dependency-set).
30
+ * Changes when the query structure changes → forces refresh on
31
+ * next visit (parallels v1's `strategyHash`).
32
+ */
33
+ readonly queryHash: string;
34
+ /**
35
+ * Map from source collection name → `_v` of the source row(s) that
36
+ * contributed to this MV row at materialization time. For aggregates
37
+ * over many rows, this is `max(_v)` per source collection — coarse
38
+ * but sufficient for stale detection.
39
+ */
40
+ readonly sourceVersions: Record<string, number>;
41
+ /** ISO timestamp when this row was materialized. */
42
+ readonly materializedAt: string;
43
+ }
44
+ /** Output routing for an MV. Optional — when omitted, writes to a collection named after `name`. */
45
+ export interface MaterializedViewOutput {
46
+ /** Output collection name. Defaults to `name`. */
47
+ collection?: string;
48
+ /**
49
+ * For same-collection-as-source MVs — see § Same-collection partition
50
+ * discriminator in the v2 spec. The cycle detector resolves the
51
+ * same-collection edge IFF the query has a where-clause that
52
+ * provably excludes `partition.value` (supports `==` against a
53
+ * different value, `!=` against the value, and `in` lists that
54
+ * don't contain it). Naïve same-collection MVs without a disjoint
55
+ * clause throw `MaterializedViewCycleError` at vault open.
56
+ */
57
+ partition?: {
58
+ field: string;
59
+ value: unknown;
60
+ };
61
+ }
62
+ /**
63
+ * One arm of a UNION materialized view. Reads rows from `collection`,
64
+ * then maps each into the MV's row shape via `map`.
65
+ *
66
+ * The per-source `map` is the schema-unification boundary — sibling
67
+ * collections can have different schemas, and `map` is where they
68
+ * meet the MV's row type. The hub does NOT compare schemas across
69
+ * arms; consumer responsibility is that every arm's `map` returns
70
+ * the same shape (the strategy's `TRow` type parameter enforces this
71
+ * at compile time).
72
+ */
73
+ export interface UnionSource<TRow extends Record<string, unknown>> {
74
+ /** Source collection name. Must exist in the vault. */
75
+ readonly collection: string;
76
+ /**
77
+ * Pure function from a source row to the unified MV row shape.
78
+ * Called once per source row at materialization time. Each arm's
79
+ * mapped output is concatenated into a single stream before
80
+ * `groupBy` + `aggregate` run.
81
+ *
82
+ * Returning `null` or `undefined` **omits** the source row from the
83
+ * materialized output entirely — the row is not pushed into the
84
+ * unified stream and never reaches `groupBy` / `aggregate`. This
85
+ * removes the need for sentinel rows (e.g. `{ amount: 0 }`) whose
86
+ * sole purpose is to be aggregated away.
87
+ *
88
+ * When this arm declares {@link join}, the aliased right-side
89
+ * record(s) are attached to the source row under each leg's `as`
90
+ * BEFORE `map` runs, so `map` can read `sourceRow[leg.as]`.
91
+ */
92
+ readonly map: (sourceRow: Record<string, unknown>) => TRow | null | undefined;
93
+ /**
94
+ * Optional FK joins to apply to this arm's rows before {@link map}.
95
+ * Each leg resolves a `ref()`-declared foreign key on the arm's
96
+ * source collection into an attached right-side record under
97
+ * `as` — the same machinery as the query-form `Query.join()`.
98
+ *
99
+ * The right-side collections must be listed in the strategy's
100
+ * {@link MaterializedViewStrategy.sources} so writes to them trigger
101
+ * MV refresh — registration throws `MaterializedViewConfigError`
102
+ * otherwise (the union dependency set comes from arm `collection`s
103
+ * alone, which would not include join targets).
104
+ */
105
+ readonly join?: ReadonlyArray<UnionArmJoin>;
106
+ }
107
+ /**
108
+ * One FK join leg on a UNION arm. Mirrors the option shape of the
109
+ * query-form `Query.join(field, { as, maxRows?, strategy? })`.
110
+ */
111
+ export interface UnionArmJoin {
112
+ /** FK field on the arm's source collection (must have a `ref()` declared). */
113
+ readonly field: string;
114
+ /** Alias under which the resolved right-side record attaches on the source row. */
115
+ readonly as: string;
116
+ /** Per-side row ceiling override. `undefined` → the join default. */
117
+ readonly maxRows?: number;
118
+ /** Planner strategy override. `undefined` → auto-select. */
119
+ readonly strategy?: JoinStrategy;
120
+ }
121
+ /**
122
+ * Projection-form registration (#810): one output row per record of a
123
+ * primary `source` collection, enriched with forward FK legs and
124
+ * reverse one-to-many "collect" legs BEFORE `map` shapes the MV row.
125
+ * The niwat federated read-model shape — a bill row carrying its
126
+ * client lookup plus the receipt / application / credit-note sets
127
+ * that point back at it.
128
+ */
129
+ export interface ProjectionSpec<TRow extends Record<string, unknown>> {
130
+ /** Primary collection. One output row per primary record (unless {@link map} omits). */
131
+ readonly source: string;
132
+ /** Join legs attached to each primary row BEFORE {@link map} runs. */
133
+ readonly joins: ReadonlyArray<ProjectionJoinLeg>;
134
+ /**
135
+ * Pure projection: primary row + leg attachments → MV row. Called
136
+ * once per primary record at materialization time, AFTER every leg
137
+ * has attached under its `as` alias.
138
+ *
139
+ * Returning `null` or `undefined` **omits** the primary record from
140
+ * the materialized output entirely (same contract as the UNION arm
141
+ * `map`) — filtering lives here; there is no `where` on the
142
+ * projection form.
143
+ */
144
+ readonly map: (row: Record<string, unknown>) => TRow | null | undefined;
145
+ }
146
+ /**
147
+ * One join leg of a projection MV. Discriminated by the presence of
148
+ * `collect` (reverse leg) vs `field` (forward leg); `as` aliases must
149
+ * be unique across legs and non-empty.
150
+ *
151
+ * - **Forward FK leg** — identical shape + machinery as
152
+ * {@link UnionArmJoin} / `Query.join()`: resolves a `ref()`-declared
153
+ * FK on the projection source into an attached right-side record
154
+ * (record | null) under `as`.
155
+ * - **Reverse "collect" leg** — every row of `collect` whose `on`
156
+ * field references the primary record's id, attached as a
157
+ * possibly-empty ARRAY under `as`. `on` must carry a `ref()`
158
+ * declared on the `collect` collection targeting the projection
159
+ * `source` — checked at first materialization (parity with
160
+ * join-time ref errors). `maxRows` here is a PER-PRIMARY-ROW
161
+ * fan-out ceiling (default: the join default); exceeding it throws
162
+ * `JoinTooLargeError`.
163
+ */
164
+ export type ProjectionJoinLeg = {
165
+ /** FK field on the projection source (must have a `ref()` declared). */
166
+ readonly field: string;
167
+ /** Alias under which the resolved right-side record attaches. */
168
+ readonly as: string;
169
+ /** Per-side row ceiling override. `undefined` → the join default. */
170
+ readonly maxRows?: number;
171
+ /** Planner strategy override. `undefined` → auto-select. */
172
+ readonly strategy?: JoinStrategy;
173
+ } | {
174
+ /** Sibling collection to collect from. */
175
+ readonly collect: string;
176
+ /** FK field on `collect` (`ref()` targeting the projection source required). */
177
+ readonly on: string;
178
+ /** Alias under which the collected array attaches. */
179
+ readonly as: string;
180
+ /** Per-primary-row fan-out ceiling. `undefined` → the join default. */
181
+ readonly maxRows?: number;
182
+ };
183
+ /**
184
+ * Registration shape passed to `withMaterializedView()`.
185
+ *
186
+ * @typeParam TRow - the materialized row type (the query's result row)
187
+ */
188
+ export interface MaterializedViewStrategy<TRow extends Record<string, unknown>> {
189
+ /**
190
+ * Stable identity for this view. Used as the output collection name
191
+ * unless `output.collection` overrides. Must be unique within the vault.
192
+ */
193
+ name: string;
194
+ /**
195
+ * Declared query (single-source mode). Called at registration time
196
+ * with a vault-shaped accessor so the closure can compose collections
197
+ * without pre-existing in-scope references; called again at each
198
+ * refresh.
199
+ *
200
+ * Built via the same `Query<T>` chainable builder used elsewhere —
201
+ * `.where()`, `.join()`, `.groupBy()`, `.aggregate()`. The
202
+ * dependency analyzer walks the returned plan to determine source
203
+ * collections.
204
+ *
205
+ * Mutually exclusive with {@link unionSources}: a strategy must
206
+ * declare exactly one of `query` (single-source) or `unionSources`
207
+ * (multi-source UNION). Registration throws
208
+ * `MaterializedViewConfigError` if both are set or neither is set.
209
+ */
210
+ query?: (db: MVQueryContext) => Query<TRow> | Aggregation<TRow> | GroupedAggregation<TRow>;
211
+ /**
212
+ * UNION-form sources: an explicit list of sibling collections
213
+ * that contribute rows to a single MV. Each arm's `map` projects a
214
+ * source row into the MV's unified row shape; the mapped streams are
215
+ * concatenated, then {@link groupBy} + {@link aggregate} run on the
216
+ * combined output.
217
+ *
218
+ * Mutually exclusive with {@link query}. Registration throws
219
+ * `MaterializedViewConfigError` if both are set, if `unionSources`
220
+ * is empty, or if two arms name the same `collection`.
221
+ *
222
+ * A SINGLE arm is valid: it expresses map→group→aggregate
223
+ * over one collection with a COMPUTED bucket key (e.g. a month
224
+ * sliced from a date field). The query form's `.groupBy()` accepts
225
+ * stored field names only, so a derived key needs the arm's `map`.
226
+ *
227
+ * UNION mode replaces the dependency-analyzer path: the source
228
+ * collections come directly from `unionSources[].collection`, and
229
+ * {@link sources} is ignored.
230
+ */
231
+ unionSources?: ReadonlyArray<UnionSource<TRow>>;
232
+ /**
233
+ * Projection-form registration (#810): one output row per primary
234
+ * record of `projection.source`, enriched with forward FK legs and
235
+ * reverse one-to-many "collect" legs before `projection.map` shapes
236
+ * the MV row. Post-map {@link groupBy} + {@link aggregate} are
237
+ * supported exactly as in UNION mode.
238
+ *
239
+ * Mutually exclusive with {@link query} and {@link unionSources} —
240
+ * a strategy must declare exactly one of the three forms.
241
+ * Registration throws `MaterializedViewConfigError` otherwise.
242
+ *
243
+ * Dependencies are all AUTO: `{source} ∪ forward ref() targets ∪
244
+ * collect collections` (explicit {@link sources} remains additive).
245
+ * Forward targets resolve from the source collection's `ref()`
246
+ * declarations; those are declared by user code AFTER the vault
247
+ * opens (registration time), so the registry folds them into the
248
+ * dependency set on the first MV dispatch that finds them declared.
249
+ */
250
+ projection?: ProjectionSpec<TRow>;
251
+ /**
252
+ * Group-key field(s) for UNION mode. Applied to the
253
+ * concatenated mapped-row stream from {@link unionSources} before
254
+ * {@link aggregate} runs. Accepts a single field name or a tuple of
255
+ * field names for multi-key grouping (same shape as
256
+ * `Query.groupBy(...fields)`).
257
+ *
258
+ * UNION-mode only. Ignored if {@link query} is set — single-source
259
+ * grouping is expressed inside the `Query<T>` returned from `query()`
260
+ * via `.groupBy(...).aggregate(...)`.
261
+ */
262
+ groupBy?: string | ReadonlyArray<string>;
263
+ /**
264
+ * Aggregation spec for UNION mode. Applied per-group after
265
+ * {@link groupBy} buckets the concatenated mapped-row stream from
266
+ * {@link unionSources}. Same shape as the `AggregateSpec` passed to
267
+ * `Query.aggregate()`.
268
+ *
269
+ * UNION-mode only. Ignored if {@link query} is set.
270
+ */
271
+ aggregate?: AggregateSpec;
272
+ /**
273
+ * Money descriptors for the UNION-mode aggregate, keyed by the
274
+ * OUTPUT/intermediate field name as it appears in the mapped row and
275
+ * in {@link aggregate} (NOT the source collection's field name). When
276
+ * declared, any `sum` / `min` / `max` over a keyed field is rewritten
277
+ * into an exact per-currency BigInt reducer — without this, money
278
+ * aggregation in UNION mode silently runs in float (since the
279
+ * concatenated mapped stream is a plain array with no collection
280
+ * money context to inherit).
281
+ *
282
+ * UNION-mode only — the query form inherits its money descriptors
283
+ * from the source collection automatically. The descriptor's
284
+ * currency/scale must match what the arms' `map()` emits for that
285
+ * field (each arm maps into the same unified shape, so one descriptor
286
+ * per output field covers all arms). Meaningless without
287
+ * {@link aggregate}; registration throws `MaterializedViewConfigError`
288
+ * if declared alone.
289
+ */
290
+ moneyFields?: Record<string, MoneyDescriptor>;
291
+ /**
292
+ * Compute-time i18n resolution locale (`mv` layer). UNION-mode only.
293
+ *
294
+ * An MV that **groups by** an `i18nText` field would otherwise bucket on the
295
+ * raw `{ locale: string }` map — an unstable object key. Set `i18nLocale`
296
+ * (with {@link i18nFields} describing those fields) and, before grouping, the
297
+ * executor resolves each declared i18n group-key field to this locale at the
298
+ * `mv` layer (`resolvePolicy(onMissing, 'mv')`), so buckets are stable strings.
299
+ *
300
+ * This is the **compute** path only: i18n fields *carried through* for display
301
+ * stay raw — declare them on the OUTPUT collection and they resolve per-reader
302
+ * at read time (the resolve-at-output model). Without `i18nLocale`, grouping by
303
+ * a raw i18n field throws `LocaleNotSpecifiedError` (steer: group by a
304
+ * `dictKey`/`staticDict` code — the stable key — and label at read).
305
+ *
306
+ * Query-form MVs do their own `groupBy` inside the `Query`, which carries no
307
+ * locale yet — so `i18nLocale` /
308
+ * `i18nFields` on a query-form MV throw `MaterializedViewConfigError`.
309
+ */
310
+ i18nLocale?: string;
311
+ /**
312
+ * i18n descriptors for UNION-mode compute, keyed by the OUTPUT field
313
+ * name as it appears in the mapped row (NOT the source field). Mirrors
314
+ * {@link moneyFields}: the concatenated mapped stream is a plain array with no
315
+ * collection i18n context, so the descriptor (carrying `onMissing`/`substitute`
316
+ * /`fallback`) must be declared here for the `mv`-layer resolution that
317
+ * {@link i18nLocale} drives. Meaningless without `i18nLocale`.
318
+ */
319
+ i18nFields?: Record<string, I18nTextDescriptor>;
320
+ /**
321
+ * Pure function from a materialized row → stable id used in the
322
+ * output collection. Required — explicit always beats default-with-pitfalls
323
+ * (explicit always beats default-with-pitfalls; see the slash-collision rationale).
324
+ */
325
+ rowKey: (row: TRow) => string;
326
+ /**
327
+ * Explicit source collections. Required when `query()` returns
328
+ * an `Aggregation` or `GroupedAggregation` rather than a `Query<T>`
329
+ * — the dependency analyzer can't introspect through `groupBy().aggregate()`
330
+ * back to the source. Optional for plain `Query<T>` results — the
331
+ * analyzer extracts dependencies automatically from the query plan.
332
+ *
333
+ * When set, takes precedence over auto-analysis.
334
+ */
335
+ sources?: ReadonlyArray<string>;
336
+ /**
337
+ * Declared deterministic predicates. Each entry pairs a
338
+ * consumer-stable `hash` with a function. The `query()` callback's
339
+ * Query<T> can invoke them via `.wherePredicate(name, ctx?)`. The
340
+ * predicate's `hash` + a canonical-JSON hash of `ctx` both fold
341
+ * into `queryHash` — bumping either forces refresh on next visit.
342
+ *
343
+ * Consumer responsibility: bump `hash` when the function's semantics
344
+ * change. Failing to bump after a non-equivalent change leaves
345
+ * stale rows around until the next explicit refresh.
346
+ */
347
+ predicates?: {
348
+ [name: string]: {
349
+ hash: string;
350
+ fn: (row: TRow, ctx?: unknown) => boolean;
351
+ };
352
+ };
353
+ /**
354
+ * Refresh policy.
355
+ *
356
+ * - `'eager'` — re-materialize synchronously inside the source-write
357
+ * transaction (composes with `withTransactions` for strict-mode
358
+ * rollback).
359
+ * - `'lazy'` — mark stale on source-change; materialize on first
360
+ * read of the MV.
361
+ * - `'manual'` — only materializes when `vault.refreshView(name)` is
362
+ * called. Useful for very expensive MVs or time-dependent queries
363
+ * whose `ctx` changes externally.
364
+ */
365
+ refresh: 'eager' | 'lazy' | 'manual';
366
+ /** Output routing. Optional; defaults to writing the collection named after `name`. */
367
+ output?: MaterializedViewOutput;
368
+ /**
369
+ * What to do when a re-materialization produces zero rows for a key
370
+ * that previously had rows.
371
+ *
372
+ * - `'delete'` (default) — tombstone the prior MV row via
373
+ * `Collection._internalDelete` (system housekeeping bypasses user
374
+ * `onDelete` guards on the output collection — the housekeeping
375
+ * bypass composition fix).
376
+ * - `'keep'` — leave the prior MV row in place. Useful when zero
377
+ * is a meaningful state.
378
+ */
379
+ onEmpty?: 'delete' | 'keep';
380
+ /**
381
+ * `true` re-throws on any row-write failure → composes with
382
+ * `withTransactions` to roll back the source-write atomically via
383
+ * `revertExecuted`. Default `false` (failed rows are
384
+ * isolated; other rows commit).
385
+ */
386
+ strict?: boolean;
387
+ /**
388
+ * Row-count ceiling for the materialized output. Throws
389
+ * `MaterializedViewTooLargeError` before any writes when exceeded
390
+ * — keeps the rollback clean. Default `100_000`; override per-MV
391
+ * when the domain warrants it.
392
+ */
393
+ maxRows?: number;
394
+ }
395
+ /** Returned by `withMaterializedView()` and consumed by `createNoydb`. */
396
+ export interface MaterializedViewStrategyHandle {
397
+ readonly __noydb_strategy: 'materialized-view';
398
+ readonly spec: MaterializedViewStrategy<any>;
399
+ }
@@ -0,0 +1,28 @@
1
+ import type { MaterializedViewStrategy, MaterializedViewStrategyHandle } from './types.js';
2
+ /**
3
+ * Register a materialized view: a declared query whose result is
4
+ * persisted as a queryable collection and kept fresh as sources
5
+ * change. Writes go through the standard `Collection.put` pipeline;
6
+ * refresh-driven deletes route through `Collection._internalDelete` so
7
+ * user `onDelete` guards on the output collection aren't tripped by
8
+ * housekeeping.
9
+ *
10
+ * Three registration modes:
11
+ * - **single-source** — declare `query: (db) => Query<TRow>`; the
12
+ * dependency analyzer derives source collections from the plan.
13
+ * - **UNION** — declare `unionSources: [{ collection, map }, ...]`
14
+ * plus optional `groupBy` + `aggregate`; the executor reads each
15
+ * arm, maps to the unified row shape, concatenates, then groups
16
+ * and aggregates.
17
+ * - **projection** (#810) — declare `projection: { source, joins,
18
+ * map }`; one output row per primary record, enriched with
19
+ * forward FK legs and reverse "collect" legs before `map` runs.
20
+ *
21
+ * The three modes are mutually exclusive — exactly one of `query` /
22
+ * `unionSources` / `projection` must be set at registration time.
23
+ *
24
+ * See docs/superpowers/specs/2026-05-20-dim14-mv-v2-design.md (single-source v2),
25
+ * docs/superpowers/specs/2026-05-21-dim14-mv-multikey-and-union.md (UNION),
26
+ * and docs/superpowers/specs/2026-07-25-join-projection-mv-design.md (projection).
27
+ */
28
+ export declare function withMaterializedView<TRow extends Record<string, unknown>>(spec: MaterializedViewStrategy<TRow>): MaterializedViewStrategyHandle;
@@ -0,0 +1,5 @@
1
+ export { withOverlayedView } from './with-overlayed-view.js';
2
+ export { OverlayedViewRegistry } from './registry.js';
3
+ export { OverlayedCollection } from './virtual-collection.js';
4
+ export type { OverlayedViewStrategy, OverlayedViewStrategyHandle, OverlayFieldMergeRule, OverlayFieldMergeMode, } from './types.js';
5
+ export { OverlayBaseIsVirtualError, OverlayCollectionUnavailableError, OverlayNameCollisionError, OverlayIdMismatchError, } from '../../kernel/errors.js';
@@ -0,0 +1,42 @@
1
+ import type { MaterializedViewRegistry } from '../materialized-views/registry.js';
2
+ import type { OverlayedViewStrategy } from './types.js';
3
+ /**
4
+ * Vault-internal registry of overlay strategies. Resolves the base
5
+ * MV's `rowKey` lazily so virtual-collection writes can derive ids
6
+ * from the row.
7
+ *
8
+ * @internal
9
+ */
10
+ export declare class OverlayedViewRegistry {
11
+ private readonly _byName;
12
+ /**
13
+ * Register an overlay. Validates name uniqueness, base concreteness,
14
+ * and overlay availability AGAINST the MV registry — overlays
15
+ * declared without the MV registry context skip cross-registry
16
+ * checks but still validate self-consistency.
17
+ */
18
+ register(spec: OverlayedViewStrategy, options: {
19
+ isOverlayName?: (name: string) => boolean;
20
+ isMVOutput?: (name: string) => boolean;
21
+ isKnownCollection?: (name: string) => boolean;
22
+ }): void;
23
+ byName(name: string): OverlayedViewStrategy | undefined;
24
+ /** All overlay virtual names. */
25
+ names(): ReadonlySet<string>;
26
+ isOverlay(name: string): boolean;
27
+ /**
28
+ * All registered overlay strategies as a flat array.
29
+ * Each strategy carries `name`, `base`, and `overlay` fields that
30
+ * `describeOverlays()` in the introspection walker reads directly.
31
+ *
32
+ * Used by `dumpSchema()` to populate the `overlayViews` map.
33
+ */
34
+ all(): ReadonlyArray<OverlayedViewStrategy>;
35
+ /**
36
+ * Resolve the `rowKey` function for an overlay's base MV. Returns
37
+ * `undefined` if the base isn't an MV (raw source collection) or
38
+ * if the MV registry isn't supplied. Used by the virtual-collection
39
+ * proxy to derive ids from `put(record)` calls.
40
+ */
41
+ resolveBaseRowKey(name: string, mvRegistry: MaterializedViewRegistry | null): ((row: Record<string, unknown>) => string) | undefined;
42
+ }