@noy-db/hub 0.3.0-pre.1 → 0.3.0-pre.11

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 (938) hide show
  1. package/dist/aggregate/index.js +9 -8
  2. package/dist/aggregate/index.js.map +1 -1
  3. package/dist/api-YGMINAET.js +20 -0
  4. package/dist/as/index.js +12 -6
  5. package/dist/attestation/index.js +19 -13
  6. package/dist/attestation/index.js.map +1 -1
  7. package/dist/backup-XA5STIYQ.js +225 -0
  8. package/dist/backup-XA5STIYQ.js.map +1 -0
  9. package/dist/blobs/index.js +12 -6
  10. package/dist/blobs/index.js.map +1 -1
  11. package/dist/broker/index.js +92 -0
  12. package/dist/broker/index.js.map +1 -0
  13. package/dist/bundle/index.js +21 -15
  14. package/dist/bundle/index.js.map +1 -1
  15. package/dist/by/index.js +2 -2
  16. package/dist/cargo/index.js +32 -26
  17. package/dist/chunk-25NDNMQ7.js +70 -0
  18. package/dist/chunk-25NDNMQ7.js.map +1 -0
  19. package/dist/chunk-2JMMY7HZ.js +188 -0
  20. package/dist/chunk-2JMMY7HZ.js.map +1 -0
  21. package/dist/chunk-3CNQ7FQ3.js +430 -0
  22. package/dist/chunk-3G4KMVUN.js +291 -0
  23. package/dist/chunk-3G4KMVUN.js.map +1 -0
  24. package/dist/chunk-3MSQLQNZ.js +74 -0
  25. package/dist/chunk-45ZZLTFH.js +38 -0
  26. package/dist/chunk-45ZZLTFH.js.map +1 -0
  27. package/dist/chunk-4GPE63GU.js +111 -0
  28. package/dist/chunk-4GPE63GU.js.map +1 -0
  29. package/dist/chunk-4N5QFSNQ.js +150 -0
  30. package/dist/chunk-4N5QFSNQ.js.map +1 -0
  31. package/dist/chunk-4R4Q64W5.js +34 -0
  32. package/dist/chunk-57V5S7PW.js +130 -0
  33. package/dist/chunk-57V5S7PW.js.map +1 -0
  34. package/dist/chunk-5JB73NMC.js +202 -0
  35. package/dist/chunk-5JB73NMC.js.map +1 -0
  36. package/dist/chunk-5XIPOCQC.js +155 -0
  37. package/dist/chunk-5ZOSG3RJ.js +778 -0
  38. package/dist/chunk-5ZOSG3RJ.js.map +1 -0
  39. package/dist/chunk-67TNU77I.js +36 -0
  40. package/dist/chunk-67TNU77I.js.map +1 -0
  41. package/dist/chunk-6QILBDZU.js +205 -0
  42. package/dist/chunk-7E67FJ33.js +155 -0
  43. package/dist/chunk-7ITPJFGC.js +50 -0
  44. package/dist/chunk-7ITPJFGC.js.map +1 -0
  45. package/dist/chunk-7NS43EXZ.js +117 -0
  46. package/dist/chunk-7QIXUSDQ.js +341 -0
  47. package/dist/chunk-7QIXUSDQ.js.map +1 -0
  48. package/dist/chunk-7VSGW5KJ.js +74 -0
  49. package/dist/chunk-7VSGW5KJ.js.map +1 -0
  50. package/dist/chunk-A2QF4JUE.js +14073 -0
  51. package/dist/chunk-A2QF4JUE.js.map +1 -0
  52. package/dist/chunk-A2Y6YFVN.js +209 -0
  53. package/dist/chunk-AOVDSIL3.js +1221 -0
  54. package/dist/chunk-AOVDSIL3.js.map +1 -0
  55. package/dist/chunk-ARSAMO24.js +29 -0
  56. package/dist/chunk-ARSAMO24.js.map +1 -0
  57. package/dist/chunk-AWB5JZW6.js +41 -0
  58. package/dist/chunk-AWB5JZW6.js.map +1 -0
  59. package/dist/chunk-BCYQA5BK.js +45 -0
  60. package/dist/chunk-BE7N3AXA.js +621 -0
  61. package/dist/chunk-BE7N3AXA.js.map +1 -0
  62. package/dist/chunk-BEIRE5K4.js +164 -0
  63. package/dist/chunk-BEIRE5K4.js.map +1 -0
  64. package/dist/chunk-BZO4WCJI.js +86 -0
  65. package/dist/chunk-BZO4WCJI.js.map +1 -0
  66. package/dist/chunk-C3YH34IL.js +75 -0
  67. package/dist/chunk-C3YH34IL.js.map +1 -0
  68. package/dist/chunk-C7NTK5I3.js +49 -0
  69. package/dist/chunk-C7NTK5I3.js.map +1 -0
  70. package/dist/chunk-CB25ONKC.js +129 -0
  71. package/dist/chunk-CIKY6I4W.js +21 -0
  72. package/dist/chunk-CKZW6P5V.js +32 -0
  73. package/dist/chunk-CKZW6P5V.js.map +1 -0
  74. package/dist/chunk-D26JB3LZ.js +54 -0
  75. package/dist/chunk-D3EFFFOL.js +59 -0
  76. package/dist/chunk-D3EFFFOL.js.map +1 -0
  77. package/dist/chunk-DGH65E7Q.js +466 -0
  78. package/dist/chunk-DGH65E7Q.js.map +1 -0
  79. package/dist/chunk-DIRRS7WP.js +42 -0
  80. package/dist/chunk-DJ3VKYFA.js +150 -0
  81. package/dist/chunk-DJ3VKYFA.js.map +1 -0
  82. package/dist/chunk-DMFNPHCX.js +247 -0
  83. package/dist/chunk-DMFNPHCX.js.map +1 -0
  84. package/dist/chunk-ELNBMFOS.js +392 -0
  85. package/dist/chunk-ELNBMFOS.js.map +1 -0
  86. package/dist/chunk-FH542DDY.js +1505 -0
  87. package/dist/chunk-FH542DDY.js.map +1 -0
  88. package/dist/chunk-FQQF23MC.js +45 -0
  89. package/dist/chunk-FQQF23MC.js.map +1 -0
  90. package/dist/chunk-FXK4X4BL.js +91 -0
  91. package/dist/chunk-FXK4X4BL.js.map +1 -0
  92. package/dist/chunk-GA2QHD6P.js +235 -0
  93. package/dist/chunk-GA2QHD6P.js.map +1 -0
  94. package/dist/chunk-GYGLAVCX.js +19 -0
  95. package/dist/chunk-GYGLAVCX.js.map +1 -0
  96. package/dist/chunk-H44ZE4IE.js +355 -0
  97. package/dist/chunk-H6CZSDWK.js +1697 -0
  98. package/dist/chunk-H6CZSDWK.js.map +1 -0
  99. package/dist/chunk-H6HM6CVR.js +279 -0
  100. package/dist/chunk-H6HM6CVR.js.map +1 -0
  101. package/dist/chunk-HFJIGWJC.js +382 -0
  102. package/dist/chunk-HUS3J5WM.js +404 -0
  103. package/dist/chunk-HUS3J5WM.js.map +1 -0
  104. package/dist/chunk-IDIV5NVH.js +99 -0
  105. package/dist/chunk-IDIV5NVH.js.map +1 -0
  106. package/dist/chunk-IGJCYUT5.js +99 -0
  107. package/dist/chunk-IGJCYUT5.js.map +1 -0
  108. package/dist/chunk-IGJHJYM6.js +515 -0
  109. package/dist/chunk-IGJHJYM6.js.map +1 -0
  110. package/dist/chunk-IP2QBAGS.js +589 -0
  111. package/dist/chunk-IP2QBAGS.js.map +1 -0
  112. package/dist/chunk-JK733I5V.js +23 -0
  113. package/dist/chunk-JK733I5V.js.map +1 -0
  114. package/dist/chunk-JOQ53DMI.js +255 -0
  115. package/dist/chunk-JOQ53DMI.js.map +1 -0
  116. package/dist/chunk-K62IUKOD.js +823 -0
  117. package/dist/chunk-K62IUKOD.js.map +1 -0
  118. package/dist/chunk-KPGX66PM.js +230 -0
  119. package/dist/chunk-KPZS5QAQ.js +151 -0
  120. package/dist/chunk-KPZS5QAQ.js.map +1 -0
  121. package/dist/chunk-L2SNBIV7.js +453 -0
  122. package/dist/chunk-L2SNBIV7.js.map +1 -0
  123. package/dist/chunk-LP7BEXCT.js +32 -0
  124. package/dist/chunk-LP7BEXCT.js.map +1 -0
  125. package/dist/chunk-MCEKIAO4.js +367 -0
  126. package/dist/chunk-MELR46EF.js +280 -0
  127. package/dist/chunk-MELR46EF.js.map +1 -0
  128. package/dist/chunk-MSPNM2OM.js +95 -0
  129. package/dist/chunk-MSPNM2OM.js.map +1 -0
  130. package/dist/chunk-NO272T7Q.js +194 -0
  131. package/dist/chunk-NO272T7Q.js.map +1 -0
  132. package/dist/chunk-O2DYPAZY.js +23 -0
  133. package/dist/chunk-ODJWBC5I.js +30 -0
  134. package/dist/chunk-OEAATWH5.js +686 -0
  135. package/dist/chunk-OEAATWH5.js.map +1 -0
  136. package/dist/chunk-OFJ5GPNA.js +71 -0
  137. package/dist/chunk-OOLO4LQG.js +99 -0
  138. package/dist/chunk-OOLO4LQG.js.map +1 -0
  139. package/dist/chunk-P5RY4ZWD.js +662 -0
  140. package/dist/chunk-P5RY4ZWD.js.map +1 -0
  141. package/dist/chunk-PR5LC5YX.js +265 -0
  142. package/dist/chunk-PR5LC5YX.js.map +1 -0
  143. package/dist/chunk-PXWVF7MC.js +135 -0
  144. package/dist/chunk-Q3XSMOZM.js +40 -0
  145. package/dist/chunk-QLLKLFE2.js +94 -0
  146. package/dist/chunk-QLLKLFE2.js.map +1 -0
  147. package/dist/chunk-QQJXBZCO.js +1056 -0
  148. package/dist/chunk-QQJXBZCO.js.map +1 -0
  149. package/dist/chunk-QYPKGVT4.js +261 -0
  150. package/dist/chunk-QYPKGVT4.js.map +1 -0
  151. package/dist/chunk-RKRGDAS7.js +59 -0
  152. package/dist/chunk-SRVQHVNX.js +164 -0
  153. package/dist/chunk-SYMS4546.js +29 -0
  154. package/dist/chunk-SYMS4546.js.map +1 -0
  155. package/dist/chunk-THNJ3IKU.js +17 -0
  156. package/dist/chunk-THNJ3IKU.js.map +1 -0
  157. package/dist/chunk-TPH5EO6L.js +54 -0
  158. package/dist/chunk-TPH5EO6L.js.map +1 -0
  159. package/dist/chunk-UFILRICG.js +14 -0
  160. package/dist/chunk-UTLEAJXC.js +97 -0
  161. package/dist/chunk-VA4ZWLFY.js +123 -0
  162. package/dist/chunk-VR24ILCR.js +367 -0
  163. package/dist/chunk-VYYM3MEN.js +98 -0
  164. package/dist/chunk-VYYM3MEN.js.map +1 -0
  165. package/dist/chunk-W5D62AQD.js +944 -0
  166. package/dist/chunk-W5D62AQD.js.map +1 -0
  167. package/dist/chunk-WGV4CUZT.js +167 -0
  168. package/dist/chunk-WGV4CUZT.js.map +1 -0
  169. package/dist/chunk-WTUNZACT.js +30 -0
  170. package/dist/chunk-WTUNZACT.js.map +1 -0
  171. package/dist/chunk-X6CMGUAG.js +69 -0
  172. package/dist/chunk-X6CMGUAG.js.map +1 -0
  173. package/dist/chunk-XFXUTFWQ.js +85 -0
  174. package/dist/chunk-XFXUTFWQ.js.map +1 -0
  175. package/dist/chunk-XHV25KBM.js +30 -0
  176. package/dist/chunk-YSXEFGND.js +124 -0
  177. package/dist/chunk-YXOUQ2H7.js +36 -0
  178. package/dist/chunk-ZP5PL65C.js +80 -0
  179. package/dist/classified/index.js +40 -0
  180. package/dist/classified-marker-LQWWQNIJ.js +24 -0
  181. package/dist/classified-marker-LQWWQNIJ.js.map +1 -0
  182. package/dist/collection-facade-YE2O4J4O.js +39 -0
  183. package/dist/computed-W6MVAMWZ.js +11 -0
  184. package/dist/consent/index.js +10 -4
  185. package/dist/consent/index.js.map +1 -1
  186. package/dist/crdt/index.js +1 -1
  187. package/dist/dead-filter-4KXZEB3X.js +28 -0
  188. package/dist/dead-filter-4KXZEB3X.js.map +1 -0
  189. package/dist/delegation-OPUU3R2E.js +25 -0
  190. package/dist/derivations/index.js +13 -6
  191. package/dist/derive-BGUHU663.js +21 -0
  192. package/dist/enclave-VXAQD4XJ.js +135 -0
  193. package/dist/executor-GTVSUUBX.js +25 -0
  194. package/dist/executor-GZWMTOXB.js +9 -0
  195. package/dist/executor-XXGS4S3K.js +9 -0
  196. package/dist/export-accessible-BMULIOYB.js +23 -0
  197. package/dist/extract-partition-JUQTWDXR.js +36 -0
  198. package/dist/fanout-sidecar-CKYFH33E.js +74 -0
  199. package/dist/fanout-sidecar-CKYFH33E.js.map +1 -0
  200. package/dist/fence-watcher-DHQ775JB.js +69 -0
  201. package/dist/fence-watcher-DHQ775JB.js.map +1 -0
  202. package/dist/find-XRGCNGNN.js +11 -0
  203. package/dist/forget/index.js +11 -5
  204. package/dist/forget/index.js.map +1 -1
  205. package/dist/guards/index.js +4 -4
  206. package/dist/history/index.js +12 -6
  207. package/dist/history/index.js.map +1 -1
  208. package/dist/i18n/index.js +50 -31
  209. package/dist/i18n/index.js.map +1 -1
  210. package/dist/index.d.ts +303 -1400
  211. package/dist/index.js +1525 -184
  212. package/dist/index.js.map +1 -1
  213. package/dist/indexing/index.js +4 -4
  214. package/dist/issue-UB6AA5M6.js +19 -0
  215. package/dist/json-schema-I22JCYCG.js +44 -0
  216. package/dist/json-schema-I22JCYCG.js.map +1 -0
  217. package/dist/kernel/cache/index.d.ts +10 -0
  218. package/dist/kernel/cache/lru.d.ts +97 -0
  219. package/dist/kernel/cache/policy.d.ts +32 -0
  220. package/dist/kernel/collection-config.d.ts +781 -0
  221. package/dist/kernel/collection.d.ts +1505 -0
  222. package/dist/kernel/constants.d.ts +18 -0
  223. package/dist/kernel/debug.d.ts +25 -0
  224. package/dist/kernel/enclave/broker/proof.d.ts +154 -0
  225. package/dist/kernel/enclave/classify/bidx.d.ts +77 -0
  226. package/dist/kernel/enclave/classify/compare.d.ts +10 -0
  227. package/dist/kernel/enclave/classify/digest.d.ts +8 -0
  228. package/dist/kernel/enclave/classify/find.d.ts +36 -0
  229. package/dist/kernel/enclave/classify/kofn.d.ts +7 -0
  230. package/dist/kernel/enclave/classify/normalize.d.ts +7 -0
  231. package/dist/kernel/enclave/classify/reveal.d.ts +10 -0
  232. package/dist/kernel/enclave/classify/vdig.d.ts +39 -0
  233. package/dist/kernel/enclave/classify/verify.d.ts +33 -0
  234. package/dist/kernel/enclave/classify/write.d.ts +8 -0
  235. package/dist/kernel/enclave/crypto.d.ts +263 -0
  236. package/dist/kernel/enclave/index.d.ts +78 -0
  237. package/dist/kernel/enclave/record-keys/deterministic.d.ts +54 -0
  238. package/dist/kernel/enclave/record-keys/envelope-body.d.ts +79 -0
  239. package/dist/kernel/enclave/record-keys/lifecycle.d.ts +57 -0
  240. package/dist/kernel/enclave/record-keys/record-codec.d.ts +301 -0
  241. package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +14 -0
  242. package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +123 -0
  243. package/dist/kernel/enclave/record-keys/sealing.d.ts +70 -0
  244. package/dist/kernel/enclave/record-keys/tombstone.d.ts +57 -0
  245. package/dist/kernel/env-check.d.ts +1 -0
  246. package/dist/kernel/errors.d.ts +1848 -0
  247. package/dist/kernel/events.d.ts +11 -0
  248. package/dist/kernel/memory-store.d.ts +17 -0
  249. package/dist/kernel/mutation.d.ts +14 -0
  250. package/dist/kernel/noydb.d.ts +818 -0
  251. package/dist/kernel/paths.d.ts +25 -0
  252. package/dist/kernel/query/builder.d.ts +520 -0
  253. package/dist/kernel/query/index.d.ts +31 -0
  254. package/dist/kernel/query/join.d.ts +205 -0
  255. package/dist/kernel/query/live.d.ts +111 -0
  256. package/dist/kernel/query/predicate.d.ts +139 -0
  257. package/dist/kernel/query/scan-builder.d.ts +334 -0
  258. package/dist/kernel/refs.d.ts +205 -0
  259. package/dist/kernel/schema.d.ts +134 -0
  260. package/dist/kernel/sync-policy.d.ts +188 -0
  261. package/dist/kernel/types.d.ts +3147 -0
  262. package/dist/kernel/util/discriminant.d.ts +58 -0
  263. package/dist/kernel/util/index.d.ts +14 -0
  264. package/dist/kernel/util/sanitize-filename.d.ts +75 -0
  265. package/dist/kernel/validation.d.ts +130 -0
  266. package/dist/kernel/vault.d.ts +1723 -0
  267. package/dist/kernel/via/compose.d.ts +144 -0
  268. package/dist/kernel/via/dispatch.d.ts +185 -0
  269. package/dist/kernel/via/graph-wiring.d.ts +145 -0
  270. package/dist/kernel/via/graph.d.ts +165 -0
  271. package/dist/kernel/via/index.d.ts +200 -0
  272. package/dist/kernel/via/pipeline.d.ts +266 -0
  273. package/dist/kernel/via/reconcile.d.ts +153 -0
  274. package/dist/kernel/via/taint-binding.d.ts +66 -0
  275. package/dist/kernel/write-queue.d.ts +46 -0
  276. package/dist/lazy/index.js +12 -0
  277. package/dist/ledger-FU6GH5EH.js +42 -0
  278. package/dist/legacy/bundle.d.ts +30 -0
  279. package/dist/legacy/kernel.d.ts +33 -0
  280. package/dist/liberate-YUN7W5QG.js +24 -0
  281. package/dist/link-set-MNADSH5M.js +31 -0
  282. package/dist/materialized-views/index.js +20 -10
  283. package/dist/noydb-6JLBZU4U.js +67 -0
  284. package/dist/on/index.js +10 -4
  285. package/dist/overlay-views/index.js +4 -4
  286. package/dist/periods/index.js +21 -7
  287. package/dist/pod/index.js +12 -6
  288. package/dist/policy-JTFOPPUU.js +41 -0
  289. package/dist/port/as/index.d.ts +26 -0
  290. package/dist/port/at/index.d.ts +18 -0
  291. package/dist/port/by/default-provider.d.ts +9 -0
  292. package/dist/port/by/index.d.ts +17 -0
  293. package/dist/port/by/types.d.ts +86 -0
  294. package/dist/port/in/index.d.ts +21 -0
  295. package/dist/port/on/index.d.ts +27 -0
  296. package/dist/port/to/index.d.ts +19 -0
  297. package/dist/port/ui/index.d.ts +21 -0
  298. package/dist/port/with/blob-strategy.d.ts +81 -0
  299. package/dist/port/with/broker-strategy.d.ts +84 -0
  300. package/dist/port/with/capabilities.d.ts +31 -0
  301. package/dist/port/with/classified-marker.d.ts +9 -0
  302. package/dist/port/with/classified-strategy.d.ts +62 -0
  303. package/dist/port/with/computed-strategy.d.ts +19 -0
  304. package/dist/port/with/i18n-strategy.d.ts +175 -0
  305. package/dist/port/with/index.d.ts +18 -0
  306. package/dist/port/with/lazy-strategy.d.ts +48 -0
  307. package/dist/port/with/lookup-strategy.d.ts +128 -0
  308. package/dist/port/with/service-bus.d.ts +156 -0
  309. package/dist/port/with/team-strategy.d.ts +36 -0
  310. package/dist/port/with/write-hooks.d.ts +34 -0
  311. package/dist/portability/index.js +8 -8
  312. package/dist/post-register-HAWO3O7O.js +55 -0
  313. package/dist/post-register-HAWO3O7O.js.map +1 -0
  314. package/dist/public-envelope-NJVB7LPA.js +32 -0
  315. package/dist/purge-scope-FGNNLWHD.js +24 -0
  316. package/dist/purge-scope-FGNNLWHD.js.map +1 -0
  317. package/dist/query/index.js +9 -6
  318. package/dist/read-only-facade-CHCKSEPD.js +8 -0
  319. package/dist/register-VCKOBWKT.js +23 -0
  320. package/dist/registry-72UKJ2L4.js +9 -0
  321. package/dist/registry-BZFLJNEH.js +18 -0
  322. package/dist/registry-YJEYSYI5.js +19 -0
  323. package/dist/request-withdrawal-6MJRMFHF.js +31 -0
  324. package/dist/reveal-BOY7XYFH.js +38 -0
  325. package/dist/reveal-BOY7XYFH.js.map +1 -0
  326. package/dist/revoke-4KUNSVJC.js +24 -0
  327. package/dist/satellites/index.js +8 -0
  328. package/dist/sealed-record/index.js +13 -7
  329. package/dist/sealed-record/index.js.map +1 -1
  330. package/dist/seed-4RRXT42N.js +231 -0
  331. package/dist/seed-4RRXT42N.js.map +1 -0
  332. package/dist/session/index.js +10 -4
  333. package/dist/session/index.js.map +1 -1
  334. package/dist/shadow/index.js +2 -2
  335. package/dist/signer-DDDXP5JD.js +25 -0
  336. package/dist/signer-DDDXP5JD.js.map +1 -0
  337. package/dist/snapshots/index.js +11 -5
  338. package/dist/snapshots/index.js.map +1 -1
  339. package/dist/stale-NXPT56JA.js +14 -0
  340. package/dist/stale-NXPT56JA.js.map +1 -0
  341. package/dist/storage-IR6EEAV2.js +23 -0
  342. package/dist/storage-IR6EEAV2.js.map +1 -0
  343. package/dist/store-coordination-provider-HPYVFJCV.js +142 -0
  344. package/dist/sync/index.js +10 -4
  345. package/dist/sync/index.js.map +1 -1
  346. package/dist/team/index.js +25 -12
  347. package/dist/tiers/index.js +11 -5
  348. package/dist/to/index.js +1 -2
  349. package/dist/tx/index.js +3 -3
  350. package/dist/util/index.js +1 -1
  351. package/dist/verify-66RHOW7N.js +139 -0
  352. package/dist/verify-66RHOW7N.js.map +1 -0
  353. package/dist/via/blob/active.d.ts +34 -0
  354. package/dist/via/blob/binding.d.ts +86 -0
  355. package/dist/via/blob/index.d.ts +34 -0
  356. package/dist/via/classified/active.d.ts +3 -0
  357. package/dist/via/classified/binding.d.ts +83 -0
  358. package/dist/via/classified/config-drift.d.ts +34 -0
  359. package/dist/via/classified/descriptor.d.ts +66 -0
  360. package/dist/via/classified/errors.d.ts +19 -0
  361. package/dist/via/classified/guards.d.ts +23 -0
  362. package/dist/via/classified/index.d.ts +11 -0
  363. package/dist/via/classified/presets.d.ts +65 -0
  364. package/dist/via/classified/resolve.d.ts +9 -0
  365. package/dist/via/classified/strategy.d.ts +11 -0
  366. package/dist/via/classified/validators.d.ts +3 -0
  367. package/dist/via/classified/write.d.ts +4 -0
  368. package/dist/via/computed/binding.d.ts +34 -0
  369. package/dist/via/computed/descriptor.d.ts +35 -0
  370. package/dist/via/i18n/active.d.ts +28 -0
  371. package/dist/via/i18n/binding.d.ts +36 -0
  372. package/dist/via/i18n/core.d.ts +267 -0
  373. package/dist/via/i18n/densify.d.ts +24 -0
  374. package/dist/via/i18n/dictionary.d.ts +200 -0
  375. package/dist/via/i18n/index.d.ts +21 -0
  376. package/dist/via/i18n/policy.d.ts +44 -0
  377. package/dist/via/i18n/script.d.ts +26 -0
  378. package/dist/via/i18n/strategy.d.ts +13 -0
  379. package/dist/via/lookup/active.d.ts +19 -0
  380. package/dist/via/lookup/binding.d.ts +99 -0
  381. package/dist/via/lookup/descriptor.d.ts +123 -0
  382. package/dist/via/lookup/handle.d.ts +220 -0
  383. package/dist/via/lookup/index.d.ts +17 -0
  384. package/dist/via/lookup/registry.d.ts +219 -0
  385. package/dist/via/lookup/snapshot.d.ts +67 -0
  386. package/dist/via/money/arith.d.ts +68 -0
  387. package/dist/via/money/binding.d.ts +21 -0
  388. package/dist/via/money/branded.d.ts +61 -0
  389. package/dist/via/money/descriptor.d.ts +73 -0
  390. package/dist/via/money/fixed-point.d.ts +51 -0
  391. package/dist/via/money/index.d.ts +15 -0
  392. package/dist/via/money/iso4217.d.ts +6 -0
  393. package/dist/via/money/money-reducer.d.ts +33 -0
  394. package/dist/via/money/normalize.d.ts +105 -0
  395. package/dist/via/money/paths.d.ts +61 -0
  396. package/dist/via/money/where.d.ts +106 -0
  397. package/dist/walk-2RWEOCAS.js +241 -0
  398. package/dist/walk-2RWEOCAS.js.map +1 -0
  399. package/dist/with/index.js +12 -6
  400. package/dist/with-audit/attestation/active.d.ts +10 -0
  401. package/dist/with-audit/attestation/index.d.ts +16 -0
  402. package/dist/with-audit/attestation/issue.d.ts +29 -0
  403. package/dist/with-audit/attestation/revoke.d.ts +15 -0
  404. package/dist/with-audit/attestation/signer.d.ts +33 -0
  405. package/dist/with-audit/attestation/strategy.d.ts +44 -0
  406. package/dist/with-audit/attestation/vault-facade.d.ts +62 -0
  407. package/dist/with-audit/consent/active.d.ts +14 -0
  408. package/dist/with-audit/consent/consent.d.ts +114 -0
  409. package/dist/with-audit/consent/index.d.ts +14 -0
  410. package/dist/with-audit/consent/strategy.d.ts +36 -0
  411. package/dist/with-audit/forget/active.d.ts +31 -0
  412. package/dist/with-audit/forget/index.d.ts +28 -0
  413. package/dist/with-audit/forget/purge-scope.d.ts +54 -0
  414. package/dist/with-audit/forget/strategy.d.ts +177 -0
  415. package/dist/with-audit/forget/subject-index.d.ts +83 -0
  416. package/dist/with-audit/guards/executor.d.ts +26 -0
  417. package/dist/with-audit/guards/immutable-guard.d.ts +63 -0
  418. package/dist/with-audit/guards/index.d.ts +10 -0
  419. package/dist/with-audit/guards/read-only-facade.d.ts +31 -0
  420. package/dist/with-audit/guards/registry.d.ts +83 -0
  421. package/dist/with-audit/guards/transition-guard.d.ts +82 -0
  422. package/dist/with-audit/guards/types.d.ts +134 -0
  423. package/dist/with-audit/guards/with-guard.d.ts +15 -0
  424. package/dist/with-audit/periods/active.d.ts +11 -0
  425. package/dist/with-audit/periods/index.d.ts +18 -0
  426. package/dist/with-audit/periods/periods.d.ts +417 -0
  427. package/dist/with-audit/periods/strategy.d.ts +32 -0
  428. package/dist/with-audit/periods/vault-facade.d.ts +95 -0
  429. package/dist/with-audit/portability/active.d.ts +11 -0
  430. package/dist/with-audit/portability/export-accessible.d.ts +46 -0
  431. package/dist/with-audit/portability/index.d.ts +18 -0
  432. package/dist/with-audit/portability/request-withdrawal.d.ts +85 -0
  433. package/dist/with-audit/portability/strategy.d.ts +31 -0
  434. package/dist/with-audit/portability/withdraw-accessible.d.ts +82 -0
  435. package/dist/with-audit/sealed-record/active.d.ts +9 -0
  436. package/dist/with-audit/sealed-record/index.d.ts +55 -0
  437. package/dist/with-audit/sealed-record/strategy.d.ts +34 -0
  438. package/dist/with-audit/sealed-record/types.d.ts +27 -0
  439. package/dist/with-audit/tiers/active.d.ts +9 -0
  440. package/dist/with-audit/tiers/index.d.ts +122 -0
  441. package/dist/with-audit/tiers/strategy.d.ts +35 -0
  442. package/dist/with-cargo/active.d.ts +11 -0
  443. package/dist/with-cargo/adopt-partition.d.ts +81 -0
  444. package/dist/with-cargo/decrypt-partition.d.ts +19 -0
  445. package/dist/with-cargo/describe-extraction.d.ts +33 -0
  446. package/dist/with-cargo/extract-partition.d.ts +147 -0
  447. package/dist/with-cargo/index.d.ts +33 -0
  448. package/dist/with-cargo/strategy.d.ts +30 -0
  449. package/dist/with-cargo/vault-diff.d.ts +144 -0
  450. package/dist/with-cargo/walk-closure.d.ts +38 -0
  451. package/dist/with-commit/crdt/active.d.ts +25 -0
  452. package/dist/with-commit/crdt/crdt.d.ts +42 -0
  453. package/dist/with-commit/crdt/index.d.ts +16 -0
  454. package/dist/with-commit/crdt/strategy.d.ts +25 -0
  455. package/dist/with-commit/history/active.d.ts +40 -0
  456. package/dist/with-commit/history/diff.d.ts +23 -0
  457. package/dist/with-commit/history/history.d.ts +27 -0
  458. package/dist/with-commit/history/index.d.ts +30 -0
  459. package/dist/with-commit/history/ledger/constants.d.ts +37 -0
  460. package/dist/with-commit/history/ledger/entry.d.ts +195 -0
  461. package/dist/with-commit/history/ledger/hash.d.ts +30 -0
  462. package/dist/with-commit/history/ledger/index.d.ts +19 -0
  463. package/dist/with-commit/history/ledger/patch.d.ts +99 -0
  464. package/dist/with-commit/history/ledger/store.d.ts +335 -0
  465. package/dist/with-commit/history/strategy.d.ts +126 -0
  466. package/dist/with-commit/history/time-machine.d.ts +179 -0
  467. package/dist/with-commit/numbering/descriptor.d.ts +27 -0
  468. package/dist/with-commit/numbering/index.d.ts +69 -0
  469. package/dist/with-commit/sequence/active.d.ts +10 -0
  470. package/dist/with-commit/sequence/index.d.ts +150 -0
  471. package/dist/with-commit/sequence/strategy.d.ts +26 -0
  472. package/dist/with-commit/tx/active.d.ts +27 -0
  473. package/dist/with-commit/tx/dry-run.d.ts +29 -0
  474. package/dist/with-commit/tx/elevated-handle.d.ts +58 -0
  475. package/dist/with-commit/tx/index.d.ts +13 -0
  476. package/dist/with-commit/tx/invariants.d.ts +68 -0
  477. package/dist/with-commit/tx/strategy.d.ts +23 -0
  478. package/dist/with-commit/tx/transaction.d.ts +207 -0
  479. package/dist/with-fork/archive/engine.d.ts +71 -0
  480. package/dist/with-fork/archive/index.d.ts +23 -0
  481. package/dist/with-fork/shadow/active.d.ts +6 -0
  482. package/dist/with-fork/shadow/index.d.ts +14 -0
  483. package/dist/with-fork/shadow/strategy.d.ts +28 -0
  484. package/dist/with-fork/shadow/vault-frame.d.ts +93 -0
  485. package/dist/with-fork/snapshots/active.d.ts +20 -0
  486. package/dist/with-fork/snapshots/engine.d.ts +36 -0
  487. package/dist/with-fork/snapshots/index.d.ts +5 -0
  488. package/dist/with-fork/snapshots/noydb-facade.d.ts +64 -0
  489. package/dist/with-fork/snapshots/policy.d.ts +23 -0
  490. package/dist/with-fork/snapshots/scheduler.d.ts +34 -0
  491. package/dist/with-fork/snapshots/strategy.d.ts +48 -0
  492. package/dist/with-formula/computed/index.d.ts +48 -0
  493. package/dist/with-formula/computed/lazy.d.ts +13 -0
  494. package/dist/with-formula/derivations/executor.d.ts +61 -0
  495. package/dist/with-formula/derivations/fanout-sidecar.d.ts +75 -0
  496. package/dist/with-formula/derivations/index.d.ts +6 -0
  497. package/dist/with-formula/derivations/registry.d.ts +67 -0
  498. package/dist/with-formula/derivations/stale.d.ts +39 -0
  499. package/dist/with-formula/derivations/strategy-hash.d.ts +1 -0
  500. package/dist/with-formula/derivations/types.d.ts +248 -0
  501. package/dist/with-formula/derivations/with-derivation.d.ts +10 -0
  502. package/dist/with-formula/derivations/with-rollup.d.ts +34 -0
  503. package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +58 -0
  504. package/dist/with-formula/materialized-views/executor.d.ts +71 -0
  505. package/dist/with-formula/materialized-views/index.d.ts +11 -0
  506. package/dist/with-formula/materialized-views/query-hash.d.ts +23 -0
  507. package/dist/with-formula/materialized-views/registry.d.ts +99 -0
  508. package/dist/with-formula/materialized-views/stale.d.ts +62 -0
  509. package/dist/with-formula/materialized-views/types.d.ts +318 -0
  510. package/dist/with-formula/materialized-views/with-materialized-view.d.ts +24 -0
  511. package/dist/with-formula/overlay-views/index.d.ts +5 -0
  512. package/dist/with-formula/overlay-views/registry.d.ts +42 -0
  513. package/dist/with-formula/overlay-views/types.d.ts +97 -0
  514. package/dist/with-formula/overlay-views/virtual-collection.d.ts +90 -0
  515. package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +9 -0
  516. package/dist/with-lookup/aggregate/active.d.ts +33 -0
  517. package/dist/with-lookup/aggregate/aggregation.d.ts +166 -0
  518. package/dist/with-lookup/aggregate/canonical-key.d.ts +16 -0
  519. package/dist/with-lookup/aggregate/groupby.d.ts +280 -0
  520. package/dist/with-lookup/aggregate/index.d.ts +23 -0
  521. package/dist/with-lookup/aggregate/reducers.d.ts +257 -0
  522. package/dist/with-lookup/aggregate/strategy.d.ts +59 -0
  523. package/dist/with-lookup/embeddings/cosine.d.ts +2 -0
  524. package/dist/with-lookup/embeddings/descriptor.d.ts +8 -0
  525. package/dist/with-lookup/embeddings/index.d.ts +3 -0
  526. package/dist/with-lookup/embeddings/vector-set.d.ts +19 -0
  527. package/dist/with-lookup/indexing/active.d.ts +30 -0
  528. package/dist/with-lookup/indexing/collection-facade.d.ts +120 -0
  529. package/dist/with-lookup/indexing/eager-indexes.d.ts +122 -0
  530. package/dist/with-lookup/indexing/index.d.ts +27 -0
  531. package/dist/with-lookup/indexing/lazy-builder.d.ts +69 -0
  532. package/dist/with-lookup/indexing/persisted-indexes.d.ts +186 -0
  533. package/dist/with-lookup/indexing/strategy.d.ts +56 -0
  534. package/dist/with-lookup/indexing/unique-constraints.d.ts +74 -0
  535. package/dist/with-lookup/search/active.d.ts +10 -0
  536. package/dist/with-lookup/search/build-docs.d.ts +15 -0
  537. package/dist/with-lookup/search/collection-facade.d.ts +123 -0
  538. package/dist/with-lookup/search/fuse.d.ts +22 -0
  539. package/dist/with-lookup/search/index-store.d.ts +19 -0
  540. package/dist/with-lookup/search/index.d.ts +19 -0
  541. package/dist/with-lookup/search/inverted-index.d.ts +47 -0
  542. package/dist/with-lookup/search/persisted-index-store.d.ts +41 -0
  543. package/dist/with-lookup/search/retrieve-types.d.ts +29 -0
  544. package/dist/with-lookup/search/scan.d.ts +28 -0
  545. package/dist/with-lookup/search/segment.d.ts +15 -0
  546. package/dist/with-lookup/search/serialize.d.ts +4 -0
  547. package/dist/with-lookup/search/snippet.d.ts +5 -0
  548. package/dist/with-lookup/search/strategy.d.ts +37 -0
  549. package/dist/with-lookup/search/tokenize.d.ts +12 -0
  550. package/dist/with-party/auth-introspection/index.d.ts +44 -0
  551. package/dist/with-party/broker/active.d.ts +23 -0
  552. package/dist/with-party/broker/index.d.ts +28 -0
  553. package/dist/with-party/broker/seed.d.ts +77 -0
  554. package/dist/with-party/custody/active.d.ts +10 -0
  555. package/dist/with-party/custody/index.d.ts +69 -0
  556. package/dist/with-party/custody/liberate.d.ts +64 -0
  557. package/dist/with-party/custody/strategy.d.ts +48 -0
  558. package/dist/with-party/directory/index.d.ts +11 -0
  559. package/dist/with-party/directory/public-envelope/index.d.ts +12 -0
  560. package/dist/with-party/directory/public-envelope/schema.d.ts +24 -0
  561. package/dist/with-party/directory/public-envelope/storage.d.ts +59 -0
  562. package/dist/with-party/directory/public-envelope/types.d.ts +80 -0
  563. package/dist/with-party/directory/storage.d.ts +33 -0
  564. package/dist/with-party/directory/types.d.ts +43 -0
  565. package/dist/with-party/directory/user-envelope/api.d.ts +201 -0
  566. package/dist/with-party/directory/user-envelope/index.d.ts +12 -0
  567. package/dist/with-party/directory/user-envelope/storage.d.ts +54 -0
  568. package/dist/with-party/directory/visibility.d.ts +47 -0
  569. package/dist/with-party/policy/engine.d.ts +60 -0
  570. package/dist/with-party/policy/index.d.ts +15 -0
  571. package/dist/with-party/policy/noydb-facade.d.ts +39 -0
  572. package/dist/with-party/policy/presets.d.ts +38 -0
  573. package/dist/with-party/policy/storage.d.ts +31 -0
  574. package/dist/with-party/session/active.d.ts +34 -0
  575. package/dist/with-party/session/dev-unlock.d.ts +128 -0
  576. package/dist/with-party/session/index.d.ts +23 -0
  577. package/dist/with-party/session/session-policy.d.ts +92 -0
  578. package/dist/with-party/session/session.d.ts +131 -0
  579. package/dist/with-party/session/strategy.d.ts +42 -0
  580. package/dist/with-party/session/unlock-state.d.ts +47 -0
  581. package/dist/with-party/sync/index.d.ts +31 -0
  582. package/dist/with-party/tab-coordination.d.ts +73 -0
  583. package/dist/with-party/tab-write-relay.d.ts +39 -0
  584. package/dist/with-party/team/active.d.ts +13 -0
  585. package/dist/with-party/team/authenticators.d.ts +95 -0
  586. package/dist/with-party/team/deed.d.ts +97 -0
  587. package/dist/with-party/team/delegation.d.ts +88 -0
  588. package/dist/with-party/team/index.d.ts +38 -0
  589. package/dist/with-party/team/keyring.d.ts +318 -0
  590. package/dist/with-party/team/magic-link-grant.d.ts +152 -0
  591. package/dist/with-party/team/managed-passphrase.d.ts +280 -0
  592. package/dist/with-party/team/noydb-facade.d.ts +484 -0
  593. package/dist/with-party/team/peer-recover.d.ts +81 -0
  594. package/dist/with-party/team/presence.d.ts +81 -0
  595. package/dist/with-party/team/recovery.d.ts +191 -0
  596. package/dist/with-party/team/reserved-secret-collections.d.ts +41 -0
  597. package/dist/with-party/team/rotate-recover.d.ts +275 -0
  598. package/dist/with-party/team/shamir-recovery-provider.d.ts +15 -0
  599. package/dist/with-party/team/strategy.d.ts +9 -0
  600. package/dist/with-party/team/sync-active.d.ts +33 -0
  601. package/dist/with-party/team/sync-credentials.d.ts +113 -0
  602. package/dist/with-party/team/sync-strategy.d.ts +67 -0
  603. package/dist/with-party/team/sync-transaction.d.ts +39 -0
  604. package/dist/with-party/team/sync.d.ts +165 -0
  605. package/dist/with-party/team/tiers.d.ts +39 -0
  606. package/dist/with-party/team/wrapped-deks.d.ts +86 -0
  607. package/dist/with-pod/backup.d.ts +74 -0
  608. package/dist/with-pod/bundle.d.ts +414 -0
  609. package/dist/with-pod/format.d.ts +203 -0
  610. package/dist/with-pod/index.d.ts +20 -0
  611. package/dist/with-pod/pod-store.d.ts +54 -0
  612. package/dist/with-pod/ulid.d.ts +64 -0
  613. package/dist/with-shape/blobs/blob-compaction.d.ts +170 -0
  614. package/dist/with-shape/blobs/blob-set.d.ts +342 -0
  615. package/dist/with-shape/blobs/export-blobs.d.ts +110 -0
  616. package/dist/with-shape/blobs/import-external.d.ts +50 -0
  617. package/dist/with-shape/blobs/mime-magic.d.ts +48 -0
  618. package/dist/with-shape/blobs/object-projection.d.ts +70 -0
  619. package/dist/with-shape/introspection/describe.d.ts +237 -0
  620. package/dist/with-shape/introspection/field-meta.d.ts +61 -0
  621. package/dist/with-shape/introspection/fields.d.ts +14 -0
  622. package/dist/with-shape/introspection/index.d.ts +12 -0
  623. package/dist/with-shape/introspection/json-schema.d.ts +13 -0
  624. package/dist/with-shape/introspection/meta.d.ts +22 -0
  625. package/dist/with-shape/introspection/projection.d.ts +13 -0
  626. package/dist/with-shape/introspection/types.d.ts +154 -0
  627. package/dist/with-shape/introspection/walk.d.ts +50 -0
  628. package/dist/with-shape/links/lazy-handle.d.ts +36 -0
  629. package/dist/with-shape/links/link-set.d.ts +67 -0
  630. package/dist/with-shape/links/names.d.ts +65 -0
  631. package/dist/with-shape/links/vault-facade.d.ts +211 -0
  632. package/dist/with-shape/persisted-schemas/canonicalize.d.ts +11 -0
  633. package/dist/with-shape/persisted-schemas/derive.d.ts +29 -0
  634. package/dist/with-shape/persisted-schemas/index.d.ts +21 -0
  635. package/dist/with-shape/persisted-schemas/register.d.ts +66 -0
  636. package/dist/with-shape/persisted-schemas/storage.d.ts +61 -0
  637. package/dist/with-shape/persisted-schemas/types.d.ts +54 -0
  638. package/dist/with-shape/satellites/dead-filter.d.ts +21 -0
  639. package/dist/with-shape/satellites/declare.d.ts +60 -0
  640. package/dist/with-shape/satellites/existence.d.ts +5 -0
  641. package/dist/with-shape/satellites/fanout.d.ts +37 -0
  642. package/dist/with-shape/satellites/forget.d.ts +47 -0
  643. package/dist/with-shape/satellites/index.d.ts +3 -0
  644. package/dist/with-shape/satellites/joined.d.ts +19 -0
  645. package/dist/with-shape/satellites/marker.d.ts +10 -0
  646. package/dist/with-shape/satellites/post-register.d.ts +6 -0
  647. package/dist/with-shape/satellites/proxy.d.ts +37 -0
  648. package/dist/with-shape/satellites/raw-target.d.ts +14 -0
  649. package/dist/with-shape/satellites/registry.d.ts +19 -0
  650. package/dist/with-shape/satellites/types.d.ts +26 -0
  651. package/dist/with-shape/satellites/validate.d.ts +17 -0
  652. package/dist/with-shape/schema-update/client-registry.d.ts +35 -0
  653. package/dist/with-shape/schema-update/cutover.d.ts +5 -0
  654. package/dist/with-shape/schema-update/delta.d.ts +2 -0
  655. package/dist/with-shape/schema-update/dispatch.d.ts +3 -0
  656. package/dist/with-shape/schema-update/fence-controller.d.ts +62 -0
  657. package/dist/with-shape/schema-update/fence-watcher.d.ts +37 -0
  658. package/dist/with-shape/schema-update/fence.d.ts +15 -0
  659. package/dist/with-shape/schema-update/gate.d.ts +16 -0
  660. package/dist/with-shape/schema-update/index.d.ts +6 -0
  661. package/dist/with-shape/schema-update/store-coordination-provider.d.ts +29 -0
  662. package/dist/with-shape/schema-update/strategies.d.ts +12 -0
  663. package/dist/with-shape/schema-update/types.d.ts +53 -0
  664. package/dist/with-store/index.d.ts +15 -0
  665. package/dist/with-store/lazy/active.d.ts +12 -0
  666. package/dist/with-store/lazy/index.d.ts +14 -0
  667. package/dist/with-store/lazy/strategy.d.ts +9 -0
  668. package/dist/with-store/route-store.d.ts +259 -0
  669. package/dist/with-store/store-middleware.d.ts +189 -0
  670. package/dist/withdraw-accessible-CLMZEHQT.js +28 -0
  671. package/dist/withdraw-accessible-CLMZEHQT.js.map +1 -0
  672. package/package.json +56 -52
  673. package/dist/adapter/index.d.ts +0 -5
  674. package/dist/adapter/index.js +0 -15
  675. package/dist/aggregate/index.d.ts +0 -42
  676. package/dist/api-RW3KP7WU.js +0 -14
  677. package/dist/as/index.d.ts +0 -7
  678. package/dist/at/index.d.ts +0 -5
  679. package/dist/attestation/index.d.ts +0 -20
  680. package/dist/backup-XV3IOEGB.js +0 -217
  681. package/dist/backup-XV3IOEGB.js.map +0 -1
  682. package/dist/blobs/index.d.ts +0 -44
  683. package/dist/bundle/index.d.ts +0 -122
  684. package/dist/bundle-CH-H06dp.d.ts +0 -548
  685. package/dist/by/index.d.ts +0 -1
  686. package/dist/cargo/index.d.ts +0 -9
  687. package/dist/chunk-26LGBE4T.js +0 -42
  688. package/dist/chunk-26LGBE4T.js.map +0 -1
  689. package/dist/chunk-2P2HZEXU.js +0 -233
  690. package/dist/chunk-2P2HZEXU.js.map +0 -1
  691. package/dist/chunk-3YFXJ3ZP.js +0 -97
  692. package/dist/chunk-5LUY7UTV.js +0 -380
  693. package/dist/chunk-5LUY7UTV.js.map +0 -1
  694. package/dist/chunk-5N6CZTCY.js +0 -367
  695. package/dist/chunk-5O3AOPDT.js +0 -992
  696. package/dist/chunk-5O3AOPDT.js.map +0 -1
  697. package/dist/chunk-5R3ERCDH.js +0 -239
  698. package/dist/chunk-5R3ERCDH.js.map +0 -1
  699. package/dist/chunk-5R5JW2JT.js +0 -12502
  700. package/dist/chunk-5R5JW2JT.js.map +0 -1
  701. package/dist/chunk-5TDJ56JE.js +0 -32
  702. package/dist/chunk-5TDJ56JE.js.map +0 -1
  703. package/dist/chunk-62QYRORB.js +0 -320
  704. package/dist/chunk-62QYRORB.js.map +0 -1
  705. package/dist/chunk-6S7T6WC4.js +0 -111
  706. package/dist/chunk-6S7T6WC4.js.map +0 -1
  707. package/dist/chunk-76722EBH.js +0 -451
  708. package/dist/chunk-76722EBH.js.map +0 -1
  709. package/dist/chunk-AIWULCUO.js +0 -68
  710. package/dist/chunk-AIWULCUO.js.map +0 -1
  711. package/dist/chunk-AQTBSL7R.js +0 -181
  712. package/dist/chunk-AQTBSL7R.js.map +0 -1
  713. package/dist/chunk-AXRXJTE2.js +0 -59
  714. package/dist/chunk-AZAOEIKW.js +0 -155
  715. package/dist/chunk-BG3SPSR4.js +0 -53
  716. package/dist/chunk-BG3SPSR4.js.map +0 -1
  717. package/dist/chunk-BGIZAFY7.js +0 -1
  718. package/dist/chunk-CMGR4ZEW.js +0 -209
  719. package/dist/chunk-CWPPNPOH.js +0 -23
  720. package/dist/chunk-DFEMTNPJ.js +0 -1219
  721. package/dist/chunk-DFEMTNPJ.js.map +0 -1
  722. package/dist/chunk-DGDI2D4M.js +0 -79
  723. package/dist/chunk-DGDI2D4M.js.map +0 -1
  724. package/dist/chunk-EIZUR2XW.js +0 -36
  725. package/dist/chunk-FISN7WE4.js +0 -798
  726. package/dist/chunk-FISN7WE4.js.map +0 -1
  727. package/dist/chunk-GYGWYIOZ.js +0 -200
  728. package/dist/chunk-GYGWYIOZ.js.map +0 -1
  729. package/dist/chunk-HCIPRAGS.js +0 -45
  730. package/dist/chunk-I2NOIW44.js +0 -83
  731. package/dist/chunk-I2NOIW44.js.map +0 -1
  732. package/dist/chunk-I3TIKTJO.js +0 -132
  733. package/dist/chunk-I3TIKTJO.js.map +0 -1
  734. package/dist/chunk-IAGBDSCS.js +0 -40
  735. package/dist/chunk-IELYAOGG.js +0 -78
  736. package/dist/chunk-IELYAOGG.js.map +0 -1
  737. package/dist/chunk-IGUYVGGI.js +0 -205
  738. package/dist/chunk-IO6GRPT6.js +0 -34
  739. package/dist/chunk-IPB7FTQX.js +0 -273
  740. package/dist/chunk-IPB7FTQX.js.map +0 -1
  741. package/dist/chunk-ITNUCOXM.js +0 -148
  742. package/dist/chunk-ITNUCOXM.js.map +0 -1
  743. package/dist/chunk-IUEN57TV.js +0 -722
  744. package/dist/chunk-IUEN57TV.js.map +0 -1
  745. package/dist/chunk-JNUWZ6D3.js +0 -57
  746. package/dist/chunk-JNUWZ6D3.js.map +0 -1
  747. package/dist/chunk-K2WCO3NX.js +0 -1
  748. package/dist/chunk-KVOXU4T5.js +0 -30
  749. package/dist/chunk-KXGNJJXB.js +0 -135
  750. package/dist/chunk-LFLXAY2W.js +0 -414
  751. package/dist/chunk-LFLXAY2W.js.map +0 -1
  752. package/dist/chunk-LMTH2RM6.js +0 -129
  753. package/dist/chunk-LV7M27WM.js +0 -702
  754. package/dist/chunk-LV7M27WM.js.map +0 -1
  755. package/dist/chunk-LXQT4WMP.js +0 -684
  756. package/dist/chunk-LXQT4WMP.js.map +0 -1
  757. package/dist/chunk-M2YKN37S.js +0 -524
  758. package/dist/chunk-M2YKN37S.js.map +0 -1
  759. package/dist/chunk-M6OST55S.js +0 -14
  760. package/dist/chunk-MD3Y6J3L.js +0 -278
  761. package/dist/chunk-MD3Y6J3L.js.map +0 -1
  762. package/dist/chunk-MTMJVJ5W.js +0 -73
  763. package/dist/chunk-MTMJVJ5W.js.map +0 -1
  764. package/dist/chunk-NF5JWERG.js +0 -74
  765. package/dist/chunk-PKHL44ER.js +0 -124
  766. package/dist/chunk-PSMV73A5.js +0 -117
  767. package/dist/chunk-Q7SS3IME.js +0 -120
  768. package/dist/chunk-Q7SS3IME.js.map +0 -1
  769. package/dist/chunk-QHJW5EXU.js +0 -54
  770. package/dist/chunk-RUEKROOS.js +0 -80
  771. package/dist/chunk-RUIMKQTA.js +0 -23
  772. package/dist/chunk-RUIMKQTA.js.map +0 -1
  773. package/dist/chunk-SKF73JOP.js +0 -355
  774. package/dist/chunk-SM3AVUHC.js +0 -42
  775. package/dist/chunk-SMXWYP24.js +0 -155
  776. package/dist/chunk-SRB2XEWB.js +0 -148
  777. package/dist/chunk-SRB2XEWB.js.map +0 -1
  778. package/dist/chunk-TA66UMI4.js +0 -123
  779. package/dist/chunk-TEILUWOI.js +0 -664
  780. package/dist/chunk-TEILUWOI.js.map +0 -1
  781. package/dist/chunk-TJYQIGAP.js +0 -82
  782. package/dist/chunk-TJYQIGAP.js.map +0 -1
  783. package/dist/chunk-UAG5KWVA.js +0 -367
  784. package/dist/chunk-UDRIWL7A.js +0 -382
  785. package/dist/chunk-UIU2THRG.js +0 -1937
  786. package/dist/chunk-UIU2THRG.js.map +0 -1
  787. package/dist/chunk-UPJNJGGA.js +0 -572
  788. package/dist/chunk-UPJNJGGA.js.map +0 -1
  789. package/dist/chunk-UV5MFVO3.js +0 -21
  790. package/dist/chunk-V7RWQRG7.js +0 -430
  791. package/dist/chunk-VCTFO5CO.js +0 -71
  792. package/dist/chunk-VFQGRQIH.js +0 -97
  793. package/dist/chunk-VFQGRQIH.js.map +0 -1
  794. package/dist/chunk-WWGT2MDV.js +0 -762
  795. package/dist/chunk-WWGT2MDV.js.map +0 -1
  796. package/dist/chunk-WYSO2NIH.js +0 -30
  797. package/dist/chunk-XXYIOFUB.js +0 -164
  798. package/dist/chunk-Y22T3KQE.js +0 -261
  799. package/dist/chunk-Y22T3KQE.js.map +0 -1
  800. package/dist/chunk-ZCGAHGUS.js +0 -230
  801. package/dist/chunk-ZYUC53LT.js +0 -1370
  802. package/dist/chunk-ZYUC53LT.js.map +0 -1
  803. package/dist/collection-facade-GQAOGJP2.js +0 -33
  804. package/dist/consent/index.d.ts +0 -23
  805. package/dist/crdt/index.d.ts +0 -34
  806. package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
  807. package/dist/delegation-UL5HKLER.js +0 -19
  808. package/dist/derivations/index.d.ts +0 -70
  809. package/dist/describe/index.d.ts +0 -1
  810. package/dist/describe/index.js +0 -1
  811. package/dist/describe-aBkJR2sd.d.ts +0 -131
  812. package/dist/dev-unlock-C9Ro3v_O.d.ts +0 -263
  813. package/dist/discriminant-BN9REW3o.d.ts +0 -60
  814. package/dist/enclave-UL5LW66V.js +0 -88
  815. package/dist/executor-2FWQRLMG.js +0 -15
  816. package/dist/executor-QZ7BXICW.js +0 -9
  817. package/dist/executor-Z5ZLJVTV.js +0 -9
  818. package/dist/export-accessible-KRV5W4GH.js +0 -17
  819. package/dist/extract-partition-GLKBOXFQ.js +0 -30
  820. package/dist/fanout-sidecar-GF3DJ6KR.js +0 -71
  821. package/dist/fanout-sidecar-GF3DJ6KR.js.map +0 -1
  822. package/dist/forget/index.d.ts +0 -36
  823. package/dist/guards/index.d.ts +0 -35
  824. package/dist/hash-Cp5uwiox.d.ts +0 -67
  825. package/dist/history/index.d.ts +0 -61
  826. package/dist/i18n/index.d.ts +0 -37
  827. package/dist/in/index.d.ts +0 -5
  828. package/dist/index-B9QdHytu.d.ts +0 -123
  829. package/dist/index-BF9_96A5.d.ts +0 -123
  830. package/dist/index-BzUo1B6n.d.ts +0 -20730
  831. package/dist/indexing/index.d.ts +0 -39
  832. package/dist/issue-Y6UVIR43.js +0 -13
  833. package/dist/kernel/index.d.ts +0 -32
  834. package/dist/kernel/index.js +0 -53
  835. package/dist/ledger-RYI35CDS.js +0 -36
  836. package/dist/liberate-CRPZEV7O.js +0 -18
  837. package/dist/materialized-views/index.d.ts +0 -173
  838. package/dist/mime-magic-CGhw37_E.d.ts +0 -103
  839. package/dist/noydb-367AM4HT.js +0 -50
  840. package/dist/on/index.d.ts +0 -5
  841. package/dist/overlay-views/index.d.ts +0 -98
  842. package/dist/periods/index.d.ts +0 -20
  843. package/dist/pod/index.d.ts +0 -63
  844. package/dist/policy-IXK4FVXP.js +0 -41
  845. package/dist/portability/index.d.ts +0 -20
  846. package/dist/public-envelope-JHDQCPSX.js +0 -32
  847. package/dist/query/index.d.ts +0 -5
  848. package/dist/read-only-facade-5ADRJVTM.js +0 -8
  849. package/dist/registry-45RJNWGU.js +0 -9
  850. package/dist/registry-5GRV5VXI.js +0 -13
  851. package/dist/registry-WEUCHBO4.js +0 -11
  852. package/dist/request-withdrawal-GBPH2FDY.js +0 -25
  853. package/dist/revoke-TUFRGI6S.js +0 -18
  854. package/dist/sealed-record/index.d.ts +0 -69
  855. package/dist/session/index.d.ts +0 -44
  856. package/dist/shadow/index.d.ts +0 -15
  857. package/dist/signer-PNKTBVF7.js +0 -19
  858. package/dist/snapshots/index.d.ts +0 -26
  859. package/dist/stale-3JWHNDIY.js +0 -14
  860. package/dist/store-coordination-provider-3I7XWZZK.js +0 -142
  861. package/dist/subject-index-O75wKshW.d.ts +0 -362
  862. package/dist/sync/index.d.ts +0 -41
  863. package/dist/team/index.d.ts +0 -116
  864. package/dist/tiers/index.d.ts +0 -5
  865. package/dist/to/index.d.ts +0 -5
  866. package/dist/transition-guard-C7ol6oPw.d.ts +0 -165
  867. package/dist/tx/index.d.ts +0 -35
  868. package/dist/ui/index.d.ts +0 -1
  869. package/dist/ulid-DRH25k3y.d.ts +0 -66
  870. package/dist/util/index.d.ts +0 -79
  871. package/dist/vault-diff-B5fYNBL7.d.ts +0 -147
  872. package/dist/with/index.d.ts +0 -38
  873. package/dist/with-materialized-view-6p0Fk8bL.d.ts +0 -27
  874. package/dist/with-overlayed-view-BJ6mXGMd.d.ts +0 -12
  875. package/dist/with-rollup-BvQo3ROo.d.ts +0 -47
  876. package/dist/withdraw-accessible-FFS46EOD.js +0 -22
  877. /package/dist/{adapter/index.js.map → api-YGMINAET.js.map} +0 -0
  878. /package/dist/{chunk-V7RWQRG7.js.map → chunk-3CNQ7FQ3.js.map} +0 -0
  879. /package/dist/{chunk-NF5JWERG.js.map → chunk-3MSQLQNZ.js.map} +0 -0
  880. /package/dist/{chunk-IO6GRPT6.js.map → chunk-4R4Q64W5.js.map} +0 -0
  881. /package/dist/{chunk-SMXWYP24.js.map → chunk-5XIPOCQC.js.map} +0 -0
  882. /package/dist/{chunk-IGUYVGGI.js.map → chunk-6QILBDZU.js.map} +0 -0
  883. /package/dist/{chunk-AZAOEIKW.js.map → chunk-7E67FJ33.js.map} +0 -0
  884. /package/dist/{chunk-PSMV73A5.js.map → chunk-7NS43EXZ.js.map} +0 -0
  885. /package/dist/{chunk-CMGR4ZEW.js.map → chunk-A2Y6YFVN.js.map} +0 -0
  886. /package/dist/{chunk-HCIPRAGS.js.map → chunk-BCYQA5BK.js.map} +0 -0
  887. /package/dist/{chunk-LMTH2RM6.js.map → chunk-CB25ONKC.js.map} +0 -0
  888. /package/dist/{chunk-UV5MFVO3.js.map → chunk-CIKY6I4W.js.map} +0 -0
  889. /package/dist/{chunk-QHJW5EXU.js.map → chunk-D26JB3LZ.js.map} +0 -0
  890. /package/dist/{chunk-SM3AVUHC.js.map → chunk-DIRRS7WP.js.map} +0 -0
  891. /package/dist/{chunk-SKF73JOP.js.map → chunk-H44ZE4IE.js.map} +0 -0
  892. /package/dist/{chunk-UDRIWL7A.js.map → chunk-HFJIGWJC.js.map} +0 -0
  893. /package/dist/{chunk-ZCGAHGUS.js.map → chunk-KPGX66PM.js.map} +0 -0
  894. /package/dist/{chunk-5N6CZTCY.js.map → chunk-MCEKIAO4.js.map} +0 -0
  895. /package/dist/{chunk-CWPPNPOH.js.map → chunk-O2DYPAZY.js.map} +0 -0
  896. /package/dist/{chunk-KVOXU4T5.js.map → chunk-ODJWBC5I.js.map} +0 -0
  897. /package/dist/{chunk-VCTFO5CO.js.map → chunk-OFJ5GPNA.js.map} +0 -0
  898. /package/dist/{chunk-KXGNJJXB.js.map → chunk-PXWVF7MC.js.map} +0 -0
  899. /package/dist/{chunk-IAGBDSCS.js.map → chunk-Q3XSMOZM.js.map} +0 -0
  900. /package/dist/{chunk-AXRXJTE2.js.map → chunk-RKRGDAS7.js.map} +0 -0
  901. /package/dist/{chunk-XXYIOFUB.js.map → chunk-SRVQHVNX.js.map} +0 -0
  902. /package/dist/{chunk-M6OST55S.js.map → chunk-UFILRICG.js.map} +0 -0
  903. /package/dist/{chunk-3YFXJ3ZP.js.map → chunk-UTLEAJXC.js.map} +0 -0
  904. /package/dist/{chunk-TA66UMI4.js.map → chunk-VA4ZWLFY.js.map} +0 -0
  905. /package/dist/{chunk-UAG5KWVA.js.map → chunk-VR24ILCR.js.map} +0 -0
  906. /package/dist/{chunk-WYSO2NIH.js.map → chunk-XHV25KBM.js.map} +0 -0
  907. /package/dist/{chunk-PKHL44ER.js.map → chunk-YSXEFGND.js.map} +0 -0
  908. /package/dist/{chunk-EIZUR2XW.js.map → chunk-YXOUQ2H7.js.map} +0 -0
  909. /package/dist/{chunk-RUEKROOS.js.map → chunk-ZP5PL65C.js.map} +0 -0
  910. /package/dist/{describe → classified}/index.js.map +0 -0
  911. /package/dist/{api-RW3KP7WU.js.map → collection-facade-YE2O4J4O.js.map} +0 -0
  912. /package/dist/{chunk-BGIZAFY7.js.map → computed-W6MVAMWZ.js.map} +0 -0
  913. /package/dist/{chunk-K2WCO3NX.js.map → delegation-OPUU3R2E.js.map} +0 -0
  914. /package/dist/{collection-facade-GQAOGJP2.js.map → derive-BGUHU663.js.map} +0 -0
  915. /package/dist/{delegation-UL5HKLER.js.map → enclave-VXAQD4XJ.js.map} +0 -0
  916. /package/dist/{enclave-UL5LW66V.js.map → executor-GTVSUUBX.js.map} +0 -0
  917. /package/dist/{executor-2FWQRLMG.js.map → executor-GZWMTOXB.js.map} +0 -0
  918. /package/dist/{executor-QZ7BXICW.js.map → executor-XXGS4S3K.js.map} +0 -0
  919. /package/dist/{executor-Z5ZLJVTV.js.map → export-accessible-BMULIOYB.js.map} +0 -0
  920. /package/dist/{export-accessible-KRV5W4GH.js.map → extract-partition-JUQTWDXR.js.map} +0 -0
  921. /package/dist/{extract-partition-GLKBOXFQ.js.map → find-XRGCNGNN.js.map} +0 -0
  922. /package/dist/{issue-Y6UVIR43.js.map → issue-UB6AA5M6.js.map} +0 -0
  923. /package/dist/{kernel → lazy}/index.js.map +0 -0
  924. /package/dist/{ledger-RYI35CDS.js.map → ledger-FU6GH5EH.js.map} +0 -0
  925. /package/dist/{liberate-CRPZEV7O.js.map → liberate-YUN7W5QG.js.map} +0 -0
  926. /package/dist/{noydb-367AM4HT.js.map → link-set-MNADSH5M.js.map} +0 -0
  927. /package/dist/{policy-IXK4FVXP.js.map → noydb-6JLBZU4U.js.map} +0 -0
  928. /package/dist/{public-envelope-JHDQCPSX.js.map → policy-JTFOPPUU.js.map} +0 -0
  929. /package/dist/{read-only-facade-5ADRJVTM.js.map → public-envelope-NJVB7LPA.js.map} +0 -0
  930. /package/dist/{registry-45RJNWGU.js.map → read-only-facade-CHCKSEPD.js.map} +0 -0
  931. /package/dist/{registry-5GRV5VXI.js.map → register-VCKOBWKT.js.map} +0 -0
  932. /package/dist/{registry-WEUCHBO4.js.map → registry-72UKJ2L4.js.map} +0 -0
  933. /package/dist/{request-withdrawal-GBPH2FDY.js.map → registry-BZFLJNEH.js.map} +0 -0
  934. /package/dist/{revoke-TUFRGI6S.js.map → registry-YJEYSYI5.js.map} +0 -0
  935. /package/dist/{signer-PNKTBVF7.js.map → request-withdrawal-6MJRMFHF.js.map} +0 -0
  936. /package/dist/{stale-3JWHNDIY.js.map → revoke-4KUNSVJC.js.map} +0 -0
  937. /package/dist/{withdraw-accessible-FFS46EOD.js.map → satellites/index.js.map} +0 -0
  938. /package/dist/{store-coordination-provider-3I7XWZZK.js.map → store-coordination-provider-HPYVFJCV.js.map} +0 -0
@@ -0,0 +1,200 @@
1
+ import type { EncryptedEnvelope } from '../types.js';
2
+ /** Awaitable type for potentially async results. */
3
+ type Awaitable<T> = T | Promise<T>;
4
+ /** Declared security posture — a property the kernel enforces (enforcement activates in phases B/C). */
5
+ export interface ViaPosture {
6
+ readonly encryptedAtRest: 'envelope' | 'sealed';
7
+ readonly queryable: 'none' | 'det-exact' | 'ordered' | 'full';
8
+ readonly exportable: boolean;
9
+ readonly forgettable: boolean;
10
+ }
11
+ /** Opaque marker every feature descriptor extends; the kernel never sees concrete descriptor types. */
12
+ export interface ViaDescriptor {
13
+ readonly _viaBrand: string;
14
+ }
15
+ /** Per-call write context (A: minimal; B/C extend). */
16
+ export interface ViaWriteCtx {
17
+ readonly id: string;
18
+ /** Owning vault name (event payload identity — e.g. i18n:script-violation). */
19
+ readonly vault: string;
20
+ /** Prior stored record (decoded), lazily resolved. Null when creating. */
21
+ readonly prior: () => Promise<Record<string, unknown> | null>;
22
+ /** Typed event emission (e.g. i18n:script-violation). */
23
+ readonly emit: (event: string, payload: unknown) => void;
24
+ }
25
+ /** Per-call read context — mirrors LocaleReadOptions loosely; features narrow. */
26
+ export interface ViaReadCtx {
27
+ readonly locale?: unknown;
28
+ readonly fallback?: unknown;
29
+ readonly layer: string;
30
+ }
31
+ /** One sealed slot's ciphertext — matches the existing `iv:data` sealed map entries (seam map §2 step 2). */
32
+ export interface SealedSlotRef {
33
+ readonly iv: string;
34
+ readonly data: string;
35
+ }
36
+ /**
37
+ * A scoped crypto capability handed to a `via` feature's `encodeAtRest`/
38
+ * `decodeAtRest`/`erase` hooks — never the keyring, never the enclave.
39
+ * `sealedSlots` is pre-bound to one `(collection, recordId)`; `reservedEnvelopes`
40
+ * is a whole-envelope encrypt/decrypt door scoped to collection names under a
41
+ * declared prefix (e.g. `_dict_`).
42
+ */
43
+ export interface ViaCryptoCtx {
44
+ readonly sealedSlots: {
45
+ seal(field: string, plaintext: unknown): Promise<SealedSlotRef>;
46
+ unseal(field: string, ref: SealedSlotRef): Promise<unknown>;
47
+ delete(field: string): Promise<void>;
48
+ };
49
+ reservedEnvelopes(prefix: string): {
50
+ encrypt(collection: string, json: string, v: number): Promise<EncryptedEnvelope>;
51
+ decrypt(collection: string, env: EncryptedEnvelope): Promise<string>;
52
+ };
53
+ }
54
+ /** Per-call erase context — `forget()`'s per-ref participation door (phase C). */
55
+ export interface ViaEraseCtx {
56
+ readonly id: string;
57
+ readonly vault: string;
58
+ readonly live: unknown;
59
+ readonly crypto: ViaCryptoCtx;
60
+ }
61
+ /**
62
+ * What an `erase` hook reports back to `forget()`'s summary ledger entry.
63
+ * `retainedShared` is additive (#629 Task 10) — content NOT erased because
64
+ * still referenced by another live record (blob's shared-chunk dual
65
+ * accounting, `shredAllForRecord()`'s `retainedShared` count). Absent/0 for
66
+ * bindings with no such concept (a sealed field is never "shared").
67
+ */
68
+ export interface ViaEraseReport {
69
+ readonly shredded: number;
70
+ readonly residue: readonly unknown[];
71
+ readonly retainedShared?: number;
72
+ }
73
+ /**
74
+ * A feature bound to one collection's declared config. Record-grain hooks —
75
+ * every hook receives the whole record (matches the real engine signatures,
76
+ * e.g. quantizeMoneyFields(record, moneyFields)). All hooks optional;
77
+ * absent = passthrough. Query-participation hooks are SYNC (#553).
78
+ */
79
+ export interface ViaBinding {
80
+ readonly brand: string;
81
+ readonly posture: ViaPosture;
82
+ /** Declared dependencies (field paths / cross-record specs). MANDATORY for any future
83
+ * derive-bearing binding — phase C validates well-formedness (strings, non-empty,
84
+ * reference declared fields) and graph-registers a derived edge for each covered
85
+ * field at declare time, right after `compileViaBindings` builds the bindings
86
+ * (unknown source field throws `ValidationError`). See
87
+ * `kernel/collection-config.ts`'s `resolveViaBindingDepsEdges`. */
88
+ readonly deps?: readonly string[];
89
+ /** Collection-name prefixes this binding's `reservedEnvelopes` capability may address (e.g. `_dict_`). */
90
+ readonly reservedPrefixes?: readonly string[];
91
+ /**
92
+ * Does this binding own `field`? Backs `ViaPipeline.postureFor` (#629 Task
93
+ * 8's posture consumer) — a passive coverage check, independent of
94
+ * `buildClause`/`compareForOrder` (which some bindings, e.g. classified and
95
+ * blob, never define). SYNC, no side effects.
96
+ *
97
+ * Contract (documentation only — not enforced at runtime, future work):
98
+ * any binding declaring a non-default posture value — `queryable: 'none'`
99
+ * (#629 Task 8) or `exportable: false` (#629 Task 9's `redactForExport`)
100
+ * — MUST implement `covers()`. `postureFor`'s consumers only engage for
101
+ * fields a binding actively claims via `covers()`; a binding that omits
102
+ * it would silently fall through to the generic (unrefused/unredacted)
103
+ * path instead.
104
+ */
105
+ covers?(field: string): boolean;
106
+ /** Refuse a write before crypto runs (classified step-3 slot: storage:'never' rejection + validators). Throws to refuse. */
107
+ enforceWrite?(record: Record<string, unknown>, ctx: ViaWriteCtx): void | Promise<void>;
108
+ /** First pipeline stage (money canonicalizeIncomingMoney). SYNC. */
109
+ ingest?(record: Record<string, unknown>): Record<string, unknown>;
110
+ /** Decode STORED form to canonical for internal boundaries (gates, derivations, patch bases). SYNC. */
111
+ canonicalizeStored?(record: Record<string, unknown>): Record<string, unknown>;
112
+ /** Post-validation write encoding (money quantize; i18n translate→script→validate→densify). May be async. */
113
+ encodeWrite?(record: Record<string, unknown>, ctx: ViaWriteCtx): Awaitable<Record<string, unknown>>;
114
+ /** Final write-pipeline stage: seal/encrypt declared fields via `crypto` before the envelope body is built (classified step-2 slot). */
115
+ encodeAtRest?(record: Record<string, unknown>, crypto: ViaCryptoCtx): Promise<{
116
+ record: Record<string, unknown>;
117
+ sealed?: Record<string, SealedSlotRef>;
118
+ }>;
119
+ /** First read-pipeline stage: unseal/decrypt declared fields via `crypto` before `present` runs (classified sealed-handle slot). */
120
+ decodeAtRest?(record: Record<string, unknown>, sealed: Record<string, SealedSlotRef>, crypto: ViaCryptoCtx, opts: {
121
+ asHandles: boolean;
122
+ }): Promise<Record<string, unknown>>;
123
+ /** Read-time presentation (money decode+virtuals; i18n locale/labels/strip). May be async. */
124
+ present?(record: Record<string, unknown>, ctx: ViaReadCtx): Awaitable<Record<string, unknown>>;
125
+ /**
126
+ * Late read-time presentation (#669) — runs AFTER every binding's `present()` in the
127
+ * money+computed present-order segment (`ViaPipeline`'s `_presentOrder`, `kernel/via/
128
+ * pipeline.ts`), BEFORE the "everything else" segment (i18n/lookup dressing, taint
129
+ * redaction) runs. Exists for a binding that needs to react to a virtual computed
130
+ * field's fresh OWN-field output before anything dresses it (money's MAJOR-UNITS
131
+ * quantize-and-present for a field that is BOTH money AND `mode:'virtual'` computed) —
132
+ * `present()` alone can't express "run after computed for THESE fields only, before
133
+ * computed for all others", since it's a per-BINDING fold, not per-field. Folded over
134
+ * `bindings` in declaration order (mirrors every other per-binding fold), so lookup/
135
+ * i18n dressing and taint/redaction (both in the "everything else" segment) still see
136
+ * the already-dressed value.
137
+ */
138
+ presentLate?(record: Record<string, unknown>, ctx: ViaReadCtx): Awaitable<Record<string, unknown>>;
139
+ /** Returns an opaque clause payload when this binding covers `field`, else undefined. */
140
+ buildClause?(field: string, op: string, value: unknown): unknown | undefined;
141
+ /** Evaluate a payload produced by buildClause against a raw stored value. */
142
+ evaluateClause?(actual: unknown, op: string, payload: unknown): boolean;
143
+ /**
144
+ * Optional: the STORED-form operand for a direct secondary-index probe
145
+ * against a payload produced by `buildClause` (#625) — lets
146
+ * `candidateRecords()` (`query/builder.ts`) hit `CollectionIndexes.
147
+ * lookupEqual`/`lookupIn` for `==`/`in` clauses instead of falling back
148
+ * to a linear scan + per-record `evaluateClause`. Returning `undefined`
149
+ * means "no sound probe for this op/payload" (e.g. a comparison whose
150
+ * stored form isn't a single index-bucketable value, or an op the index
151
+ * can't serve) — the caller falls back to the scan. A binding that
152
+ * never implements this hook always falls back, unchanged from before
153
+ * this hook existed.
154
+ */
155
+ indexProbe?(op: string, payload: unknown): unknown | undefined;
156
+ /**
157
+ * Optional: canonicalize a raw STORED field value into the bucket key an
158
+ * eager index should use (#672) — lets `CollectionIndexes` group a
159
+ * pre-declaration / non-canonical stored value (e.g. a money field's
160
+ * leftover `'0100'` written before its `money()` declaration) under the
161
+ * SAME key a canonical write produces (`'100'`), so the index-probe fast
162
+ * path (`indexProbe` above) and the fallback scan (`evaluateClause`)
163
+ * agree on which records match. `undefined` means "not mine / can't
164
+ * canonicalize this value" — the caller buckets the raw stringified
165
+ * value, unchanged from before this hook existed. MUST agree with what
166
+ * this binding's own `evaluateClause`/`indexProbe` treat as equal, or
167
+ * the fast path and the scan will disagree.
168
+ */
169
+ canonicalizeIndexKey?(field: string, rawValue: unknown): string | undefined;
170
+ /** Decode a raw stored record for query/scan results and callback views ('raw' — no virtuals). */
171
+ decodeResults?(record: unknown): unknown;
172
+ /** Exact ordering for a covered field; undefined when the field is not covered. */
173
+ compareForOrder?(field: string, a: unknown, b: unknown): number | undefined;
174
+ /**
175
+ * Per-key, PER-CALL-locale label resolution for `orderBy(field, dir,
176
+ * { by: 'label' })` (#650 Task 7) — the sibling `compareForOrder` above
177
+ * structurally cannot serve, since it carries no locale parameter.
178
+ * `locale` is the query's per-call locale (`undefined` for a locale-less
179
+ * query — a binding may fall back to its own descriptor-level default,
180
+ * mirroring `present`'s displayLocale hinge). `undefined` return = this
181
+ * binding doesn't resolve a label for `key` at `field` — caller falls
182
+ * back to the raw stored value, same graceful-degrade discipline every
183
+ * other via query hook uses. SYNC (#553 — query participation).
184
+ */
185
+ resolveOrderLabel?(field: string, key: string, locale: string | undefined): string | undefined;
186
+ /** Rewrite an aggregate spec (money exact reducers). */
187
+ wrapReducers?(spec: unknown): unknown;
188
+ /** `forget()`'s per-ref erasure door — shred/report this binding's residue for one record (classified/blob forget participation). */
189
+ erase?(ctx: ViaEraseCtx): Promise<ViaEraseReport>;
190
+ describeFragment?(): Record<string, unknown>;
191
+ }
192
+ /** Binder: constructs a binding from a collection's declared config. Installed by the feature's declaration factory. */
193
+ export type ViaBinder = (config: unknown) => ViaBinding;
194
+ /** @internal — called (idempotently, first-wins) by a feature's declaration factory, e.g. money(). */
195
+ export declare function installViaBinder(brand: string, binder: ViaBinder): void;
196
+ /** @internal — registry presence check. Used by tests (mirrors isMoneyEngineInstalled) and by vault's i18n validator delegators as a no-i18n-ever-declared fast path. */
197
+ export declare function isViaInstalled(brand: string): boolean;
198
+ /** @internal — resolve a binder; throws when the declaration factory never ran (hand-rolled descriptors). */
199
+ export declare function viaBinder(brand: string): ViaBinder;
200
+ export {};
@@ -0,0 +1,266 @@
1
+ import type { ViaBinding, ViaPosture, ViaWriteCtx, ViaReadCtx, ViaCryptoCtx, SealedSlotRef, ViaEraseCtx, ViaEraseReport } from './index.js';
2
+ /** Opaque per-clause query payload carried on FieldClause (replaces the money-only slot). */
3
+ export interface ViaClause {
4
+ readonly brand: string;
5
+ readonly payload: unknown;
6
+ }
7
+ /**
8
+ * The graph-computed taint overlay (#638 Task 3) — `postureFor`'s
9
+ * assignment→enforcement bridge. `postures`/`sealFields` are the
10
+ * enforcement-facing shapes `via/taint-binding.ts#buildTaintOverlay`
11
+ * produces from `ViaGraph.taintedPostures`/`taintSealedFields`;
12
+ * `provenance` (optional — introspection only, never consulted by
13
+ * `postureFor`) is `ViaGraph.taintProvenance`'s output, surfaced by
14
+ * `describe()`.
15
+ */
16
+ export interface ViaTaintOverlay {
17
+ readonly postures: ReadonlyMap<string, ViaPosture>;
18
+ readonly sealFields: ReadonlySet<string>;
19
+ readonly provenance?: ReadonlyMap<string, readonly string[]>;
20
+ /** #642 — the whole-record floor for a derivation/MV/overlay OUTPUT collection (the '*' target's
21
+ * folded, clamped effective posture). postureFor falls back to it for ANY field; redactForExport
22
+ * picks it up per-field; a sealed default drives taintBinding's sealAllFields mode. O(1) read. */
23
+ readonly defaultPosture?: ViaPosture;
24
+ }
25
+ export declare class ViaPipeline {
26
+ readonly bindings: readonly ViaBinding[];
27
+ readonly taint?: ViaTaintOverlay | undefined;
28
+ /**
29
+ * Present-phase-ONLY order (#665, corrected under #665 review) — a stable
30
+ * THREE-WAY partition of `bindings` computed once here at construction:
31
+ * every `'money'`-brand binding first (existing relative order), then
32
+ * every `'computed'`-brand binding (existing relative order), then
33
+ * everything else (existing relative order). `present()` folds over this
34
+ * instead of `bindings` so a `mode: 'virtual'` computed field's value
35
+ * exists before i18n/lookup's dressing `present()` hooks run on it
36
+ * (today's `compileViaBindings` order is money→i18n→lookup→classified→
37
+ * blob→computed, `collection-config.ts:554`, so dressing unconditionally
38
+ * ran BEFORE the value it dresses existed). This reorder is binding-level,
39
+ * not conditioned on any particular field composition — it applies to
40
+ * EVERY collection that compiles a `'computed'` binding at all, not only
41
+ * ones stacking a dresser on the SAME field as a computed one. EVERY other
42
+ * phase (`ingest`/`encodeWrite`/`encodeAtRest`/`enforceWrite`/etc.) keeps
43
+ * folding over `bindings` unchanged — those write/query phases need
44
+ * money-first (`_applyMoneyFields` PREPENDS money, `_applyClassifiedFields`
45
+ * APPENDS classified to preserve it, `kernel/collection.ts:1275-1284,1364-
46
+ * 1368`).
47
+ *
48
+ * Money is deliberately carved OUT of the generic "everything else" slice
49
+ * and kept FIRST — the original two-way `[computed..., rest...]` partition
50
+ * regressed money's composed-field behavior from a benign missing-dressing
51
+ * gap into VALUE CORRUPTION: money's `present()` DECODES its input as a
52
+ * STORED SCALED-INT (and derives `<field>Formatted` from it) — it is not a
53
+ * pure dressing CONSUMER like i18n/lookup, which only ADD a `<field>Label`
54
+ * key and never rewrite the field's own value. Running money AFTER
55
+ * computed on a field composing `computed(virtual)` + `money(...)` on
56
+ * ITSELF means money's decode sees the virtual field's raw MAJOR-unit
57
+ * output (e.g. `21`) and misreads it as a scaled-int, producing a
58
+ * corrupted value (`'0.21'`) instead of the pre-#665 result (the raw `21`
59
+ * surviving untouched, with no `Formatted` key added — a benign
60
+ * missing-dressing gap, not a wrong value). Money-first restores money's
61
+ * exact pre-#665 present position — byte-identical money behavior; the
62
+ * materialized composition pins from the #631 work and the money suites
63
+ * all ran under money-first. i18n/lookup are genuine dressing consumers
64
+ * (they only ADD, never rewrite), so they stay after computed, which is
65
+ * the fix #665 intended. A `'taint'` binding (appended LAST by
66
+ * `via/graph-wiring.ts#applyTaintOverlay`) stays last here too (it's
67
+ * neither money nor computed, so it lands at the tail of the "everything
68
+ * else" slice), preserving its "runs after computed, redacts tainted
69
+ * virtual output" contract (`via/taint-binding.ts`'s `taintBinding` doc
70
+ * comment).
71
+ *
72
+ * Money-dressing a virtual computed field's OWN output (the composed
73
+ * `computed(virtual) + money` case) is NOT resolved by this partition
74
+ * alone — #669 resolves it with a separate mid-fold hook instead:
75
+ * `ViaBinding.presentLate` runs after every binding's `present()` in this
76
+ * money+computed segment, before the "everything else" segment below, so
77
+ * money can quantize/reinterpret a virtual field's fresh MAJOR-UNITS
78
+ * output as if it were a stored value, without perturbing this ordering
79
+ * or the #665 invariant above it (`_presentLateBoundary` below marks
80
+ * exactly where that mid-fold point sits within `_presentOrder`).
81
+ */
82
+ private readonly _presentOrder;
83
+ /** #669 — index into `_presentOrder` where the money+computed segment ends and the
84
+ * "everything else" segment begins (`moneyBindings.length + computedBindings.length`);
85
+ * `present()` runs every binding's `presentLate` at exactly this boundary. */
86
+ private readonly _presentLateBoundary;
87
+ private constructor();
88
+ /** undefined when there is nothing to enforce — the zero-via fast path is
89
+ * `this.via === undefined` (#553: keeps an all-plain collection sync). A
90
+ * `'*'`-defaulted output collection (#642) counts as "something to enforce"
91
+ * even with zero field-specific postures and zero bindings. */
92
+ static build(bindings: readonly ViaBinding[], taint?: ViaTaintOverlay): ViaPipeline | undefined;
93
+ /** Refuse a write before crypto runs: awaits each binding's `enforceWrite` in order — first throw wins. */
94
+ enforceWrite(record: Record<string, unknown>, ctx: ViaWriteCtx): Promise<void>;
95
+ ingest(record: Record<string, unknown>): Record<string, unknown>;
96
+ canonicalizeStored(record: Record<string, unknown>): Record<string, unknown>;
97
+ encodeWrite(record: Record<string, unknown>, ctx: ViaWriteCtx): Promise<Record<string, unknown>>;
98
+ /**
99
+ * Final write-pipeline stage: folds each binding's `encodeAtRest` in
100
+ * order, threading the record and accumulating the sealed-slot map. A
101
+ * field belongs to exactly one via feature — two bindings sealing the
102
+ * same field is a brand-keyed collision and throws.
103
+ */
104
+ encodeAtRest(record: Record<string, unknown>, crypto: ViaCryptoCtx): Promise<{
105
+ record: Record<string, unknown>;
106
+ sealed?: Record<string, SealedSlotRef>;
107
+ }>;
108
+ /** First read-pipeline stage: folds each binding's `decodeAtRest` in order. */
109
+ decodeAtRest(record: Record<string, unknown>, sealed: Record<string, SealedSlotRef>, crypto: ViaCryptoCtx, opts: {
110
+ asHandles: boolean;
111
+ }): Promise<Record<string, unknown>>;
112
+ present(record: Record<string, unknown>, ctx: ViaReadCtx): Promise<Record<string, unknown>>;
113
+ buildClause(field: string, op: string, value: unknown): ViaClause | undefined;
114
+ evaluateClause(clause: ViaClause, actual: unknown, op: string): boolean;
115
+ /**
116
+ * Resolve a `buildClause` payload to an index-probe operand (#625) —
117
+ * mirrors `evaluateClause`'s brand dispatch. `undefined` (a binding
118
+ * with no `indexProbe`, or one that declines to probe this op/payload)
119
+ * means the caller (`candidateRecords()`) must fall back to a scan.
120
+ */
121
+ indexProbe(clause: ViaClause, op: string): unknown | undefined;
122
+ /**
123
+ * Resolve a raw STORED field value to its canonical eager-index bucket
124
+ * key (#672) — folds every binding's `canonicalizeIndexKey`, first
125
+ * non-undefined wins (same fold discipline as `buildClause`). `undefined`
126
+ * means no binding claims `field` (or the value can't be canonicalized)
127
+ * — the caller buckets the raw stringified value, unchanged from before
128
+ * this hook existed.
129
+ */
130
+ canonicalizeIndexKey(field: string, rawValue: unknown): string | undefined;
131
+ decodeResults(record: unknown): unknown;
132
+ /** undefined = no binding covers the field → caller falls back to generic compare. */
133
+ compareForOrder(field: string, a: unknown, b: unknown): number | undefined;
134
+ /** undefined = no binding resolves an order-sort label for `key` at `field`/`locale` (#650 Task 7 —
135
+ * the `orderBy(..., {by:'label'})` per-call-locale channel `compareForOrder` above can't serve). */
136
+ resolveOrderLabel(field: string, key: string, locale: string | undefined): string | undefined;
137
+ /**
138
+ * Which posture governs `field`, if any binding covers it — `undefined`
139
+ * means no binding declares `field` (the generic, non-via query path
140
+ * applies). #629 Task 8's posture consumer: `.where()`/`.orderBy()`
141
+ * consult this before building/evaluating a clause, refusing fields whose
142
+ * posture is `queryable: 'none'` (e.g. blob); every other posture
143
+ * ('det-exact'/'ordered'/'full') is left to the existing per-binding
144
+ * buildClause/evaluateClause/compareForOrder machinery, unchanged.
145
+ *
146
+ * #638 Task 3: the graph-computed taint overlay is consulted FIRST — a
147
+ * derived field's assigned (most-restrictive-of-sources) posture wins over
148
+ * whatever a binding would otherwise report for that field name (no
149
+ * binding covers a computed/derived field today, so this never actually
150
+ * shadows one — see `via/taint-binding.ts`'s `taintBinding.covers`, which
151
+ * only claims the sealed subset for `encodeAtRest`/`decodeAtRest`, not for
152
+ * this lookup).
153
+ */
154
+ postureFor(field: string): ViaPosture | undefined;
155
+ /**
156
+ * Refuse any field-based reducer over a `queryable: 'none'` field (blob) —
157
+ * metadata-only: walks each reducer's `.field` and checks posture, no
158
+ * rewriting. Reducers with no `.field` (e.g. `count()`) are skipped.
159
+ *
160
+ * Shared by `wrapReducers` below (which ALSO applies each binding's
161
+ * rewrite, e.g. money's exact-BigInt reducer swap) and by
162
+ * `ScanBuilder.aggregate()` (#629 Task 8 review fix wave 1), which must
163
+ * call THIS, not `wrapReducers` — wiring full `wrapReducers` into
164
+ * `ScanBuilder.aggregate()` would newly activate money/i18n reducer
165
+ * wrapping on a path that has never run it, a parity-breaking behavior
166
+ * change for existing brands.
167
+ */
168
+ refuseUnqueryableReducers<S>(spec: S): void;
169
+ /**
170
+ * Rewrite an aggregate spec (money exact reducers), then refuse any
171
+ * field-based reducer over a `queryable: 'none'` field (blob) — the same
172
+ * posture gate `.where()`/`.orderBy()` apply, extended to `.aggregate()`
173
+ * (both the bare-spec and builder forms funnel through here).
174
+ */
175
+ wrapReducers<S>(spec: S): S;
176
+ /**
177
+ * Deliberate export-layer redaction (#629 Task 9's posture consumer):
178
+ * for every OWN field the decoded record carries, if the covering
179
+ * binding's posture declares `exportable: false` (classified today;
180
+ * money/i18n/blob are all `true`), replace the value with
181
+ * {@link EXPORT_REDACTION_MARKER} — the same `'[sealed]'` string
182
+ * `SealedHandle.toJSON()` (`kernel/types.ts`) already emits, so this is
183
+ * byte-parity with today's accidental redaction, now independent of the
184
+ * field's runtime shape. `SealedHandle.toJSON()` stays untouched as
185
+ * defense-in-depth: a record read via `collection.get()` and
186
+ * JSON.stringify'd outside `exportStream()` still gets the accident's
187
+ * redaction on its own. Never mutates the input; returns a new object
188
+ * only when a field was actually redacted.
189
+ */
190
+ redactForExport(record: Record<string, unknown>): Record<string, unknown>;
191
+ /**
192
+ * Shared fold over a subset of `this.bindings`: runs each binding's
193
+ * `erase`, concatenating shredded/retainedShared counts and residue.
194
+ * Consults `posture.forgettable` (#629 Task 10) — a binding declaring
195
+ * `forgettable: false` is skipped even if it defines `erase` (none does
196
+ * today; a future non-forgettable binding is supported without a brand check).
197
+ */
198
+ private foldErase;
199
+ /** `forget()`'s per-ref erasure door: folds every binding's `erase`. */
200
+ erase(ctx: ViaEraseCtx): Promise<ViaEraseReport>;
201
+ /**
202
+ * `forget()`'s SEALED-posture-only erase fold (#629 Task 10, `Collection._onViaErase`'s
203
+ * one caller) — classified today; metadata-filtered on
204
+ * `posture.encryptedAtRest`, not brand-checked. `undefined` when no
205
+ * sealed-posture binding is compiled in — `vault.ts` then falls back to
206
+ * its own bare-`sensitive` classification, which no via binding covers.
207
+ */
208
+ eraseSealed(ctx: ViaEraseCtx): Promise<ViaEraseReport | undefined>;
209
+ /** True iff any binding implements decodeResults (query fast-path gating). */
210
+ get hasResultDecode(): boolean;
211
+ /**
212
+ * True iff any binding declares an at-rest hook (`encodeAtRest`/
213
+ * `decodeAtRest`) — the codec boundary's async-stack gate (#629 Task 3
214
+ * consults this to choose between the hook path and today's inline
215
+ * sealed-slot path; a stack with only sync hooks, e.g. money-only, stays
216
+ * `false`).
217
+ */
218
+ get hasAtRestHooks(): boolean;
219
+ /**
220
+ * Fold every binding's `describeFragment()` into one `brand -> fragment`
221
+ * map (#650 Task 7 — the first-ever consumer; `describeFragment` was
222
+ * declared at `via/index.ts:136` since #623 with zero callers until this task).
223
+ * `undefined` when no compiled binding implements it. Consumed by
224
+ * `Collection.describe()`/`describeAsync()`, threaded to `buildDescription`
225
+ * as `BuildDescriptionInput.viaFragments`.
226
+ */
227
+ describeFragments(): Record<string, Record<string, unknown>> | undefined;
228
+ }
229
+ /**
230
+ * The marker `redactForExport` writes for a non-exportable field —
231
+ * intentionally the same literal `SealedHandle.toJSON()` (`kernel/types.ts`)
232
+ * returns, so the two independent redaction layers (deliberate + accident)
233
+ * produce byte-identical export output. Duplicated, not imported, because
234
+ * `SealedHandle.toJSON()` is untouched by #629 Task 9 (belt-and-braces —
235
+ * `via/export-posture-b.test.ts` asserts both layers agree on this string).
236
+ */
237
+ export declare const EXPORT_REDACTION_MARKER = "[sealed]";
238
+ /**
239
+ * Structural shape `exportRedact` needs from a collection: just the typed
240
+ * `_via` accessor `Collection` exposes (`kernel/collection.ts`, #634). A
241
+ * named interface rather than the real `Collection` type, because
242
+ * `collection.ts` imports `ViaPipeline` from this module — importing
243
+ * `Collection` back here would be circular.
244
+ */
245
+ interface HasViaPipeline {
246
+ readonly _via: ViaPipeline | undefined;
247
+ }
248
+ /**
249
+ * Widened sibling of {@link HasViaPipeline}: `via/graph-wiring.ts`'s
250
+ * `applyTaintOverlay` (#666) needs to REASSIGN the live pipeline, not just
251
+ * read it — `_setVia` is `Collection`'s typed writer seam (`kernel/
252
+ * collection.ts`, beside `_via`), replacing the earlier untyped `coll as {
253
+ * via; codec: { setVia } }` cast. Exported (unlike `HasViaPipeline`) because
254
+ * its one consumer lives in a different module.
255
+ */
256
+ export interface HasWritableViaPipeline extends HasViaPipeline {
257
+ _setVia(pipeline: ViaPipeline | undefined): void;
258
+ }
259
+ /**
260
+ * `vault.ts`'s `exportStream()` reach-in (#629 Task 9): apply the owning
261
+ * collection's export redaction to one decoded record. Typed via {@link
262
+ * HasViaPipeline} against `Collection`'s `_via` accessor (#634) — replaces
263
+ * the earlier untyped any-cast reach-in.
264
+ */
265
+ export declare function exportRedact(coll: HasViaPipeline, record: unknown): unknown;
266
+ export {};
@@ -0,0 +1,153 @@
1
+ /**
2
+ * kernel/via/reconcile.ts — #664 the late-attach reconcile-path dispatch.
3
+ *
4
+ * `vault.ts`'s reconcile branch (a SECOND-OR-LATER `vault.collection(name, {...})` call on an
5
+ * already-open collection) used to be a flat 5-branch `if (coll && X) coll._applyX(...)` ladder
6
+ * with no collision guard and no i18n/dictKey machinery at all (i18nFields/dictKeyFields were
7
+ * silently ignored on re-open — only the fresh-construction branch ever wired them). This module
8
+ * moves that whole ladder OUT of `vault.ts` (a kernel-surface-ceiling-guarded file) into ONE
9
+ * dispatch entry point, {@link reconcileViaAttach}, that:
10
+ *
11
+ * 1. runs the late-attach collision guard ({@link guardReconcileCollisions}, via/compose.ts)
12
+ * BEFORE any mutation — both the incoming×incoming and existing×incoming recipes;
13
+ * 2. routes the FIVE pre-existing reconciles (money/computed/fieldMeta/meta/classified) through
14
+ * their unchanged `Collection._applyX` methods (collection.ts is NOT touched — this dispatch
15
+ * only orchestrates, matching the pre-#664 call order exactly);
16
+ * 3. commits the two-phase graph-edge reconcile (`via/graph-wiring.ts`) + taint overlay, exactly
17
+ * as before;
18
+ * 4. wires i18n/dictKey late-attach via {@link reconcileI18nFields}/{@link reconcileDictKeyFields}
19
+ * — rebuilding the pipeline through {@link Collection._setVia} (#666's writer seam), mirroring
20
+ * the fresh-construction wiring (`collection-config.ts#compileViaBindings`'s i18n slot +
21
+ * `vault.ts`'s registry population) without duplicating it in a second place;
22
+ * 5. (#664 Part 2b) wires lookup()/enumOf()/dict() late-attach via {@link reconcileLookupFields}
23
+ * — tier-scoped: enum/static tiers are a clean, self-contained attach; the reserved (dict)
24
+ * tier additionally updates the SAME vault registries the fresh path populates
25
+ * (`dictKeyFieldRegistry`/`reservedLookupCollections`/`staticDescriptorByField`/`staticByName`/
26
+ * `staticDictNames`, via `collectLookupDictCompat`); the matrix (`backing:'collection'`) tier
27
+ * is gated by {@link refuseUnattachableMatrixLookupFields} — refuses with a `ValidationError`
28
+ * unless the backing collection is already open (this vault session) and prefetch-enabled.
29
+ *
30
+ * `ViaReconcileVaultCtx` takes the vault-resident registry Maps/closures the i18n/dictKey wiring
31
+ * needs as a plain structural bag of ARGUMENTS (mirroring `via/lookup/registry.ts`'s own
32
+ * "#650 Task 1" extraction pattern) — never a `Vault` import (this file is part of the kernel
33
+ * spine's `port/with/`-only import discipline — S5 port-layering, `scripts/check-architecture.mjs`
34
+ * `checkPortLayering`), so `vault.ts` passes `this` once its relevant fields are readable from
35
+ * outside the class (see `Vault`'s field declarations).
36
+ */
37
+ import type { Collection } from '../collection.js';
38
+ import { type HasWritableViaPipeline } from './pipeline.js';
39
+ import { type MergedViaFields } from './compose.js';
40
+ import type { ViaGraph } from './graph.js';
41
+ import { type I18nStrategy, type I18nTextDescriptor, type DictKeyDescriptor, type StaticDictDescriptor, type DictionaryHandle } from '../../port/with/i18n-strategy.js';
42
+ import { type LookupDescriptor } from '../../port/with/lookup-strategy.js';
43
+ type AnyCollection = Collection<Record<string, unknown>>;
44
+ /**
45
+ * Structural reconcile-capable collection handle: `_via`/`_setVia` (#666's writer seam) plus the
46
+ * five pre-existing `_applyX` late-attach methods (#623/#629/#638). Every parameter type is
47
+ * DERIVED off `Collection` itself via `Parameters<...>` rather than imported by name — several
48
+ * (`FieldMeta`, `CollectionMeta`, `ComputedFields`) are with-* service types the kernel spine may
49
+ * not statically import (S5 port-layering); deriving them off the already-typed `Collection`
50
+ * method avoids a second, duplicate type declaration too (mirrors `via/graph-wiring.ts`'s
51
+ * `ComputedFieldsParam` trick).
52
+ */
53
+ export interface ReconcilableCollection extends HasWritableViaPipeline {
54
+ _applyMoneyFields(moneyFields: Parameters<AnyCollection['_applyMoneyFields']>[0]): void;
55
+ _applyComputed(computed: Parameters<AnyCollection['_applyComputed']>[0]): void;
56
+ _applyFieldMeta(fieldMeta: Parameters<AnyCollection['_applyFieldMeta']>[0]): void;
57
+ _applyMeta(meta: Parameters<AnyCollection['_applyMeta']>[0]): void;
58
+ _applyClassifiedFields(classifiedFields: Parameters<AnyCollection['_applyClassifiedFields']>[0]): void;
59
+ /** #671 items 1-3 — the reader + writer seam for `getDictionary`/legacy describe() lists/`presentForJoin`. */
60
+ readonly _viaFieldsSnapshot: AnyCollection['_viaFieldsSnapshot'];
61
+ _reconcileReadState(patch: Parameters<AnyCollection['_reconcileReadState']>[0]): void;
62
+ }
63
+ /** The vault-resident state/closures the i18n/dictKey late-attach wiring reads and writes —
64
+ * the SAME registries `vault.ts`'s fresh-construction branch populates (`i18nFieldRegistry`
65
+ * :884-886, the dictKeyFields split :903-940, `dictLabelResolver`/`i18nPutValidator`/
66
+ * `autoTranslateHook` :1111-1155), passed as plain values (never `this: Vault`) so this module
67
+ * never imports the `Vault` class. */
68
+ export interface ViaReconcileVaultCtx {
69
+ readonly i18nStrategy: I18nStrategy;
70
+ /** — named `locale`, not `defaultLocale`, to match `Vault`'s own field name 1:1 (so `this`
71
+ * satisfies this interface structurally with zero adapter object at the call site). */
72
+ readonly locale: string | undefined;
73
+ readonly translateText: ((text: string, from: string, to: string, field: string, collection: string) => Promise<string>) | undefined;
74
+ readonly i18nFieldRegistry: Map<string, Record<string, I18nTextDescriptor>>;
75
+ readonly dictKeyFieldRegistry: Map<string, Record<string, string>>;
76
+ readonly staticDescriptorByField: Map<string, Record<string, StaticDictDescriptor>>;
77
+ readonly reservedLookupCollections: Map<string, string>;
78
+ readonly staticByName: Map<string, StaticDictDescriptor>;
79
+ readonly staticDictNames: Set<string>;
80
+ dictionary(name: string): DictionaryHandle;
81
+ enforceI18nOnPut(collectionName: string, record: unknown): void;
82
+ enforceStaticDictOnPut(collectionName: string, record: unknown): void;
83
+ /** #664 Part 2b — the matrix-tier lookup late-attach gate: "is this dimension already open in
84
+ * this vault session" (never constructs a fresh collection) — `Vault._getCollection`. */
85
+ getOpenCollection(name: string): AnyCollection | undefined;
86
+ /** #664 Part 2b — the vault's CONSTRUCTING collection accessor the lookup binding's lazy
87
+ * closures (`getLookupBacking`/`membership`/`getAltIndex`/`snapshotFor`) read through — mirrors
88
+ * `vault.ts`'s fresh-construct `(n) => this.collection<Record<string, unknown>>(n)` closure
89
+ * verbatim. Only ever invoked, for a matrix-tier dimension, once {@link getOpenCollection}'s
90
+ * gate has already confirmed it is open — never the door that opens it. */
91
+ getCollection(name: string): AnyCollection;
92
+ }
93
+ /**
94
+ * #664 Part 2 — late-attach i18nText fields. First-wins (mirrors `_applyMoneyFields`'s own
95
+ * first-wins convention): a no-op once the collection already has an 'i18n' binding, whether
96
+ * that binding came from fresh construction or an earlier reconcile call. `dictKeyFields` is an
97
+ * optional SECOND family arriving in the SAME `vault.collection()` call (`mergeViaFields` already
98
+ * combined them for this one call) — passed through so ONE binding rebuild covers both, exactly
99
+ * like `compileViaBindings` builds ONE 'i18n' binding from both maps at fresh construction.
100
+ */
101
+ export declare function reconcileI18nFields(coll: ReconcilableCollection, vaultCtx: ViaReconcileVaultCtx, name: string, i18nFields: Record<string, I18nTextDescriptor> | undefined, dictKeyFields?: Record<string, DictKeyDescriptor | StaticDictDescriptor>): void;
102
+ /**
103
+ * #664 Part 2 — late-attach dictKeyFields (dictKey()/staticDict()) with NO i18nFields in the same
104
+ * call — the dictKey-only late-attach door. First-wins, same convention as
105
+ * {@link reconcileI18nFields} (and, transitively, a no-op if that sibling function already
106
+ * handled a combined i18nFields+dictKeyFields call for this collection).
107
+ */
108
+ export declare function reconcileDictKeyFields(coll: ReconcilableCollection, vaultCtx: ViaReconcileVaultCtx, name: string, dictKeyFields: Record<string, DictKeyDescriptor | StaticDictDescriptor> | undefined): void;
109
+ /**
110
+ * #664 Part 2b — late-attach lookup()/enumOf()/dict() fields, tier-scoped (issue #664, spec-
111
+ * ratified tier policy):
112
+ *
113
+ * - **enum** (`backing:'static'`, no `table`) / **static** (`+table`) — self-contained:
114
+ * membership/labels come from the declared `keys`/`table` alone, no vault registry touch, no
115
+ * cross-collection read. Clean attach, same shape as i18n/dictKey's own reconcile door.
116
+ * - **reserved** (`dict()` / `lookup(dim, { backing:'reserved' })`) — additionally registers into
117
+ * the SAME vault registries the fresh path populates (`vault.ts`'s dictKeyFields/lookupFields
118
+ * registry-population loop) — `dictKeyFieldRegistry`/`reservedLookupCollections` for a bare
119
+ * dict field; `staticDescriptorByField`/`staticByName`/`staticDictNames` for a table-bearing
120
+ * static field — via `collectLookupDictCompat` (#650 Task 2's alias-equivalence bridge, the
121
+ * SAME helper the fresh path already calls), reused verbatim, not duplicated.
122
+ * - **matrix** (`backing:'collection'`) — gated by {@link refuseUnattachableMatrixLookupFields}.
123
+ *
124
+ * First-wins (mirrors {@link reconcileI18nFields}): a no-op once the collection already has a
125
+ * 'lookup' binding, whether from fresh construction or an earlier reconcile call.
126
+ *
127
+ * Post-attach, registers the SAME cross-collection `'ref'` graph edges the fresh path does
128
+ * (`registerLookupRefEdges` — internally skips the static tier, which has no backing collection to
129
+ * reference-check) — `ViaGraph.referencingEdgesOf` sees them immediately, so delete-time
130
+ * restrict/cascade/nullify semantics are live post-attach too, same as a fresh declaration.
131
+ */
132
+ export declare function reconcileLookupFields(coll: ReconcilableCollection, vaultCtx: ViaReconcileVaultCtx, graph: ViaGraph, name: string, lookupFields: Record<string, LookupDescriptor> | undefined): void;
133
+ /** The late-attach reconcile call's field-declaring options — the slice of `vault.collection()`'s
134
+ * `options` a reconcile call may carry, plus the `mergeViaFields` output that feeds both the
135
+ * guard and the money/i18n/dictKey/lookup reconciles. `blobFields` has no `_apply*` door (guard
136
+ * visibility only — an incoming×incoming collision with `blobFields` must still refuse, even
137
+ * though a bare blobFields late-attach is otherwise silently inert, matching pre-#664 behavior). */
138
+ export interface ReconcileLateAttachPlan {
139
+ readonly effectiveViaFields: MergedViaFields;
140
+ readonly computed?: Parameters<AnyCollection['_applyComputed']>[0];
141
+ readonly fieldMeta?: Parameters<AnyCollection['_applyFieldMeta']>[0];
142
+ readonly meta?: Parameters<AnyCollection['_applyMeta']>[0];
143
+ readonly classifiedFields?: Parameters<AnyCollection['_applyClassifiedFields']>[0];
144
+ readonly blobFields?: Record<string, unknown>;
145
+ }
146
+ /**
147
+ * #664 — the ONE late-attach reconcile dispatch `vault.ts` calls, replacing its former 5-branch
148
+ * `_apply*` ladder. Order: guard (before any mutation) → the matrix-tier lookup gate (also before
149
+ * any mutation — see below) → the five pre-existing reconciles, UNCHANGED call order/semantics →
150
+ * graph-edge commit + taint overlay (unchanged) → i18n/dictKey → lookup (#664 Part 2b).
151
+ */
152
+ export declare function reconcileViaAttach(coll: ReconcilableCollection, graph: ViaGraph, name: string, vaultCtx: ViaReconcileVaultCtx, plan: ReconcileLateAttachPlan): void;
153
+ export {};