@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,220 @@
1
+ /**
2
+ * `_dict_*` reserved-collection storage engine — `LookupHandle`.
3
+ *
4
+ * Verbatim move of `DictionaryHandle` out of `via/i18n/dictionary.ts`
5
+ * (#650 Task 1 — via-lookup extraction, phase D). The class is renamed to
6
+ * `LookupHandle` (the dict tier is one backing kind the eventual lookup
7
+ * layer supports); `via/i18n/dictionary.ts` re-exports it as
8
+ * `DictionaryHandle` for one release so existing importers compile
9
+ * unchanged. `DictEntry` / `DictionaryOptions` / `DICT_COLLECTION_PREFIX` /
10
+ * `dictCollectionName` move with it — they were exclusively consumed by
11
+ * this class's constructor/methods.
12
+ *
13
+ * No behavior change from the pre-move class: same encryption door
14
+ * (`reservedEnvelopes('_dict_')`, #629 Task 4), same ACL, same ledger
15
+ * shape, same sync-cache/snapshot contract for dict joins.
16
+ */
17
+ import type { NoydbStore, EncryptedEnvelope } from '../../kernel/types.js';
18
+ import type { NoydbEventEmitter } from '../../kernel/events.js';
19
+ import type { UnlockedKeyring } from '../../with-party/team/keyring.js';
20
+ import type { ViaCryptoCtx } from '../../kernel/via/index.js';
21
+ import type { LedgerStore } from '../../with-commit/history/ledger/store.js';
22
+ /** Reserved collection name prefix. Never collides with user collections. */
23
+ export declare const DICT_COLLECTION_PREFIX = "_dict_";
24
+ /** Return the adapter collection name for a named dictionary. */
25
+ export declare function dictCollectionName(dictionaryName: string): string;
26
+ /**
27
+ * One entry in a `_dict_*` collection. The record `id` (adapter-side
28
+ * key) IS the stable dictionary key (e.g. `'paid'`). The `labels`
29
+ * record maps locale codes to display strings.
30
+ */
31
+ export interface DictEntry {
32
+ /** Stable key — same as the record id in the adapter. */
33
+ readonly key: string;
34
+ /** Locale → label map, e.g. `{ en: 'Paid', th: 'ชำระแล้ว' }`. */
35
+ readonly labels: Record<string, string>;
36
+ }
37
+ /**
38
+ * Options for `vault.dictionary(name, options?)`.
39
+ *
40
+ * `writableBy` controls the minimum role for write operations (put,
41
+ * putAll, delete, rename). Defaults to `'admin'` to match the standard
42
+ * "dictionary contents are owned by admins" convention; set to
43
+ * `'operator'` for user-editable dictionaries like custom tags.
44
+ */
45
+ export interface DictionaryOptions {
46
+ /** Minimum role allowed to write dictionary entries. Default: `'admin'`. */
47
+ readonly writableBy?: 'owner' | 'admin' | 'operator';
48
+ }
49
+ /**
50
+ * Handle to a named dictionary within a vault.
51
+ *
52
+ * Obtained via `vault.dictionary(name)`. Provides strongly-typed
53
+ * CRUD for dictionary entries, plus the `rename()` operation that is the
54
+ * only sanctioned mass-mutation path for dictKey fields.
55
+ *
56
+ * All writes are encrypted under the compartment's DEK for the
57
+ * `_dict_<name>` collection. Adapters never see plaintext.
58
+ */
59
+ export declare class LookupHandle<Keys extends string = string> {
60
+ private readonly adapter;
61
+ private readonly compartmentName;
62
+ private readonly dictionaryName;
63
+ private readonly keyring;
64
+ /**
65
+ * The `reservedEnvelopes('_dict_')` capability — this handle's sanctioned
66
+ * crypto door onto its `_dict_<name>` collection (#629 Task 4). Bound by
67
+ * the Vault; never a keyring, raw DEK, or enclave import.
68
+ */
69
+ private readonly reservedEnvelopes;
70
+ private readonly encrypted;
71
+ private readonly ledger;
72
+ private readonly options;
73
+ /**
74
+ * Callback provided by the Vault to find and rewrite records
75
+ * in any registered collection that has a dictKeyField pointing at
76
+ * this dictionary, used by `rename()`.
77
+ */
78
+ private readonly findAndUpdateReferences;
79
+ private readonly emitter;
80
+ /**
81
+ * #647 fix wave 1 — mints a version-ordered delete-marker envelope (the reserved-tier
82
+ * mirror of #589's ordinary-collection delete marker). Injected rather than imported:
83
+ * `buildDeleteMarker` constructs the envelope's protected-body fields (`_iv`/`_data`), and
84
+ * `via/lookup/**` may not reach `kernel/enclave/` directly (Check 11
85
+ * `enclave-body-only` / Check 15 `via-enclave-isolation`) — the Vault binds the real
86
+ * `kernel/enclave` function at construction time, same pattern as `reservedEnvelopes` above.
87
+ */
88
+ private readonly buildDeleteMarker;
89
+ /** #650 Task 4 (#647) — dirty-log participation hook (origin `local-write`), threaded from `BuildLookupHandleOptions`. */
90
+ private readonly onDirty?;
91
+ /** #650 Task 4 — thin `graphDispatch.collect`-equivalent; opens/collects/flushes a one-shot wave for this touch. */
92
+ private readonly onRecordMutated?;
93
+ /** #650 Task 5 (#648) — the real reference check `delete()`'s strict branch calls: restrict
94
+ * throws `DictKeyInUseError`, cascade/nullify apply their propagation. Vault-bound; a no-op
95
+ * when the dimension has no declared lookup-referencing edges. */
96
+ private readonly checkReferencesOnDelete?;
97
+ private readonly collName;
98
+ /**
99
+ * Synchronous write-through cache for dict-join support.
100
+ * Populated on every `put()`, `delete()`, and `rename()`. The snapshot
101
+ * is built from this cache by `snapshotEntries()` — the query executor
102
+ * calls this synchronously inside `.toArray()`.
103
+ *
104
+ * `null` means "not yet initialized" — callers should use `list()`
105
+ * to warm the cache before using dict joins on pre-existing data.
106
+ */
107
+ private readonly _syncCache;
108
+ /**
109
+ * Return all cached entries as `{ key, labels, ...labels }` records —
110
+ * usable synchronously by the join executor's `snapshot()` call.
111
+ * Returns an empty array when the cache has never been populated.
112
+ */
113
+ snapshotEntries(): readonly Record<string, unknown>[];
114
+ constructor(adapter: NoydbStore, compartmentName: string, dictionaryName: string, keyring: UnlockedKeyring,
115
+ /**
116
+ * The `reservedEnvelopes('_dict_')` capability — this handle's sanctioned
117
+ * crypto door onto its `_dict_<name>` collection (#629 Task 4). Bound by
118
+ * the Vault; never a keyring, raw DEK, or enclave import.
119
+ */
120
+ reservedEnvelopes: ReturnType<ViaCryptoCtx['reservedEnvelopes']>, encrypted: boolean, ledger: LedgerStore | undefined, options: DictionaryOptions,
121
+ /**
122
+ * Callback provided by the Vault to find and rewrite records
123
+ * in any registered collection that has a dictKeyField pointing at
124
+ * this dictionary, used by `rename()`.
125
+ */
126
+ findAndUpdateReferences: ((dictionaryName: string, oldKey: string, newKey: string) => Promise<void>) | undefined, emitter: NoydbEventEmitter,
127
+ /**
128
+ * #647 fix wave 1 — mints a version-ordered delete-marker envelope (the reserved-tier
129
+ * mirror of #589's ordinary-collection delete marker). Injected rather than imported:
130
+ * `buildDeleteMarker` constructs the envelope's protected-body fields (`_iv`/`_data`), and
131
+ * `via/lookup/**` may not reach `kernel/enclave/` directly (Check 11
132
+ * `enclave-body-only` / Check 15 `via-enclave-isolation`) — the Vault binds the real
133
+ * `kernel/enclave` function at construction time, same pattern as `reservedEnvelopes` above.
134
+ */
135
+ buildDeleteMarker: (version: number, actor: string) => EncryptedEnvelope,
136
+ /** #650 Task 4 (#647) — dirty-log participation hook (origin `local-write`), threaded from `BuildLookupHandleOptions`. */
137
+ onDirty?: ((collection: string, id: string, action: "put" | "delete", version: number) => Promise<void>) | undefined,
138
+ /** #650 Task 4 — thin `graphDispatch.collect`-equivalent; opens/collects/flushes a one-shot wave for this touch. */
139
+ onRecordMutated?: ((collection: string, id: string, action: "put" | "delete", version: number) => Promise<void>) | undefined,
140
+ /** #650 Task 5 (#648) — the real reference check `delete()`'s strict branch calls: restrict
141
+ * throws `DictKeyInUseError`, cascade/nullify apply their propagation. Vault-bound; a no-op
142
+ * when the dimension has no declared lookup-referencing edges. */
143
+ checkReferencesOnDelete?: ((key: string) => Promise<unknown>) | undefined);
144
+ private requireWriteAccess;
145
+ private encryptEntry;
146
+ private decryptEntry;
147
+ /** @internal #650 Task 4 — re-read `key`'s CURRENT adapter truth into `_syncCache` (delete the
148
+ * cache entry when the key is now gone). Called by `Vault._invalidateSyncApplied` after a
149
+ * reserved-lookup row applies via sync, so an already-warmed snapshot/membership/altIndex read
150
+ * never sees a stale verdict for a pulled vocabulary edit — the same invalidation a local
151
+ * put()/delete()/rename() already triggers via `_syncCache.set`/`delete` above. */
152
+ _refreshSyncCache(key: string): Promise<void>;
153
+ /**
154
+ * Add or overwrite a single dictionary entry.
155
+ *
156
+ * @param key The stable key to store (e.g. `'paid'`).
157
+ * @param labels Locale → label map (e.g. `{ en: 'Paid', th: 'ชำระแล้ว' }`).
158
+ */
159
+ put(key: Keys, labels: Record<string, string>): Promise<void>;
160
+ /**
161
+ * Batch-add or overwrite multiple dictionary entries in one call.
162
+ *
163
+ * @param entries `{ key: { locale: label } }` map.
164
+ */
165
+ putAll(entries: Record<Keys, Record<string, string>>): Promise<void>;
166
+ /**
167
+ * Load the label map for a single key.
168
+ *
169
+ * @returns The label map, or `null` if the key doesn't exist.
170
+ */
171
+ get(key: Keys): Promise<Record<string, string> | null>;
172
+ /**
173
+ * Delete a dictionary key.
174
+ *
175
+ * Default mode is `'strict'` — throws `DictKeyInUseError` if any
176
+ * registered collection has a record referencing this key. Pass
177
+ * `{ mode: 'warn' }` to skip the check (dev-mode cleanup only).
178
+ *
179
+ * Under sync, deletion writes a version-ordered delete-marker row rather than removing the
180
+ * adapter key outright (#647 fix wave 1) — markers accumulate over time; GC is future work,
181
+ * acceptable for vocabulary-scale data.
182
+ */
183
+ delete(key: Keys, opts?: {
184
+ mode?: 'strict' | 'warn';
185
+ }): Promise<void>;
186
+ /**
187
+ * Rename a dictionary key — the only sanctioned mass-mutation path.
188
+ *
189
+ * Atomically:
190
+ * 1. Adds the new key with the same labels as the old key.
191
+ * 2. Updates every registered record that stores the old key to
192
+ * store the new key instead.
193
+ * 3. Deletes the old key.
194
+ * 4. Appends a single ledger entry recording the rename.
195
+ *
196
+ * Respects ACL: throws `PermissionDeniedError` before any mutation
197
+ * if the caller can't write. The cascade is best-effort atomic
198
+ * within this call — no two-phase commit across adapter calls.
199
+ *
200
+ * Cascade-on-delete is NOT supported. Use `rename()` when you need
201
+ * to change a key that records reference.
202
+ */
203
+ rename(oldKey: Keys, newKey: string): Promise<void>;
204
+ /**
205
+ * List all entries in this dictionary.
206
+ *
207
+ * @returns Array of `{ key, labels }` objects.
208
+ */
209
+ list(): Promise<DictEntry[]>;
210
+ /**
211
+ * Resolve a key to its label for the given locale.
212
+ *
213
+ * Used by the collection's locale-aware read path to populate
214
+ * `<field>Label` virtual fields. Returns `undefined` when the
215
+ * key doesn't exist or has no label for the requested locale
216
+ * (after exhausting the fallback chain).
217
+ */
218
+ resolveLabel(key: string, locale: string, fallback?: string | readonly string[]): Promise<string | undefined>;
219
+ }
220
+ export { LookupHandle as DictionaryHandle };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * `via/lookup/` barrel — the dict/enum-tier lookup engine (#650
3
+ * Task 1 — via-lookup extraction, phase D of the Via port).
4
+ *
5
+ * Not a dedicated public package subpath (no `@noy-db/hub/lookup` entry) —
6
+ * its declaration surface (`lookup`/`enumOf`/`enum`/`dict` + the public
7
+ * types) is re-exported from the root `@noy-db/hub` barrel (`src/index.ts`)
8
+ * instead. This module itself is reached from the kernel spine only through
9
+ * `port/with/lookup-strategy.ts`, and, for the existing `vault.dictionary()`
10
+ * surface, through `via/i18n/active.ts`.
11
+ */
12
+ export { LookupHandle, DictionaryHandle, DICT_COLLECTION_PREFIX, dictCollectionName, type DictEntry, type DictionaryOptions } from './handle.js';
13
+ export { enforceStaticDictOnPut, resolveDictSource, updateReferencingRecords, type DictReferencingCollection } from './registry.js';
14
+ export { withLookup } from './active.js';
15
+ export { lookup, enumOf, enumOf as enum, dict, type LookupDescriptor, type Vocabulary, type LookupBacking, type OnDelete } from './descriptor.js';
16
+ export { lookupBinding, linkLookupVia, type LookupViaConfig } from './binding.js';
17
+ export type { LookupDescribeFragment, LookupDescribeFragmentEntry } from './binding.js';
@@ -0,0 +1,219 @@
1
+ /**
2
+ * Pure dict-registry helpers — extracted from `kernel/vault.ts`'s dict
3
+ * bodies (#650 Task 1 — via-lookup extraction, phase D).
4
+ *
5
+ * These take the vault-resident registry Maps (and a couple of vault-bound
6
+ * callbacks) as ARGUMENTS instead of closing over `this` — no `Vault`
7
+ * import here, so this module stays a plain, testable function library.
8
+ * `kernel/vault.ts` keeps the registry Maps themselves (they're populated
9
+ * by `vault.collection()` and read by the backup path) and calls these
10
+ * helpers through the `port/with/lookup-strategy.ts` seam.
11
+ */
12
+ import type { JoinableSource } from '../../kernel/query/index.js';
13
+ import type { ViaGraph } from '../../kernel/via/graph.js';
14
+ import type { StaticDictDescriptor } from '../../port/with/i18n-strategy.js';
15
+ import { type LookupHandle } from './handle.js';
16
+ import type { LookupDescriptor } from './descriptor.js';
17
+ /**
18
+ * Validate staticDict codes on a `put()`. For each `staticDict()` field,
19
+ * every stored code must be a declared key of the descriptor's table, else
20
+ * `UnknownDictCodeError`. Opt out per descriptor with `{ validateCodes:
21
+ * false }`. Supports scalar, dotted, and `[].`-wildcard field paths via
22
+ * `getAtPath` (same path support as i18n validation).
23
+ *
24
+ * `staticFields` is the collection's `field → StaticDictDescriptor` map
25
+ * (`Vault#staticDescriptorByField.get(collectionName)`) — `undefined`/empty
26
+ * is a no-op.
27
+ */
28
+ export declare function enforceStaticDictOnPut(staticFields: Record<string, StaticDictDescriptor> | undefined, record: unknown): void;
29
+ /**
30
+ * Build a `JoinableSource` for a dictKey field, for use in dict joins.
31
+ * Returns a source whose snapshot contains `{ key, labels, ...labels }`
32
+ * records — one per dictionary entry — keyed by the stable key.
33
+ *
34
+ * staticDict: a code-table-backed source — snapshot() materialises the
35
+ * in-memory table into rows, mirroring `LookupHandle.snapshotEntries()`.
36
+ * Carries `displayLocale` so a locale-less `{ by: 'label' }` query has a
37
+ * default locale to resolve at.
38
+ *
39
+ * Plain dictKey: the snapshot is built synchronously from the
40
+ * `LookupHandle`'s write-through cache, which is populated on every
41
+ * `put()`, `rename()`, `delete()`, and `list()` call. For pre-existing
42
+ * data not yet touched this session, call `await vault.dictionary(name).list()`
43
+ * first to warm the cache.
44
+ *
45
+ * Returns `null` when `field` is not a dictKey in `leftCollection`.
46
+ */
47
+ export declare function resolveDictSource(leftCollection: string, field: string, staticDescriptorByField: ReadonlyMap<string, Record<string, StaticDictDescriptor>>, dictKeyFieldRegistry: ReadonlyMap<string, Record<string, string>>, getDictionaryHandle: (name: string) => LookupHandle): JoinableSource | null;
48
+ /** The minimal collection surface `updateReferencingRecords` needs. */
49
+ export interface DictReferencingCollection {
50
+ list(): Promise<Record<string, unknown>[]>;
51
+ put(id: string, record: Record<string, unknown>): Promise<unknown>;
52
+ }
53
+ /**
54
+ * Find and rewrite records in every registered collection whose
55
+ * dictKeyField points at `name`, replacing `oldKey` with `newKey`. Used by
56
+ * `LookupHandle.rename()` (the only sanctioned mass-mutation path for
57
+ * dictKey fields) via the vault's `findAndUpdateReferences` callback.
58
+ *
59
+ * `registry` is `Vault#dictKeyFieldRegistry` (collection name → field name
60
+ * → dictionary name); `getCollection` is the vault's collection accessor —
61
+ * rewrites go through the public `coll.put()` choke point, same as before.
62
+ */
63
+ export declare function updateReferencingRecords(registry: ReadonlyMap<string, Record<string, string>>, getCollection: (collectionName: string) => DictReferencingCollection, name: string, oldKey: string, newKey: string): Promise<void>;
64
+ /**
65
+ * Resolve a label from an in-memory `{ locale -> label }` map, walking the
66
+ * same fallback chain semantics as `LookupHandle.resolveLabel` (#650 Task 2
67
+ * — moved here from `kernel/vault.ts` so the SAME chain serves both the
68
+ * i18n binding's `dictLabelResolver` and the lookup binding's
69
+ * `lookupLabelResolver`, which #650 Task 2 wires to the identical closure).
70
+ */
71
+ export declare function resolveLabelFromMap(labels: Readonly<Record<string, string>>, locale: string, fallback?: string | readonly string[]): string | undefined;
72
+ /**
73
+ * Project a native `lookup(dimension, { backing:'static', table, … })`
74
+ * descriptor into the legacy `StaticDictDescriptor` shape — the
75
+ * alias-equivalence compat seam (#650 Task 2) that lets a native
76
+ * static-tier lookup field reuse the SAME vault registries
77
+ * (`staticByName`/`staticDescriptorByField`) — and therefore the same
78
+ * `dictLabelResolver`/`resolveDictSource` machinery — as its `staticDict()`
79
+ * alias. `vocabulary:'closed'` maps to `validateCodes:true` (closed = only
80
+ * declared codes are legal); `'open'` maps to `validateCodes:false`.
81
+ * Returns `undefined` for non-static or table-less (bare `enumOf`)
82
+ * descriptors — those have nothing to register.
83
+ */
84
+ export declare function lookupToStaticDictCompat(desc: LookupDescriptor): StaticDictDescriptor | undefined;
85
+ /** The vault-registry entries a collection's `lookupFields` contribute — the alias-equivalence bridge (#650 Task 2). */
86
+ export interface LookupDictCompat {
87
+ /** Reserved-tier fields: field name -> dimension (dictionary) name — merges into `dictKeyFieldRegistry`. */
88
+ readonly dictFieldMap: Record<string, string>;
89
+ /** Static-tier (table-bearing) fields, projected — merges into `staticDescriptorByField`/`staticByName`. */
90
+ readonly staticEntries: ReadonlyArray<readonly [string, StaticDictDescriptor]>;
91
+ }
92
+ /**
93
+ * Bridge a collection's `lookupFields` into the SAME shape the legacy dict
94
+ * registries expect, so `resolveDictSource`/`dictLabelResolver` (and
95
+ * therefore `.join()`/`orderBy({by:'label'})`) serve a native `dict()`/
96
+ * `lookup(static)` field identically to its `dictKey()`/`staticDict()`
97
+ * alias — the reserved-vs-first-class-backing "matrix" tier is NOT bridged
98
+ * here (no vault registry backs it; Task 5/6 build its own graph edge /
99
+ * snapshot seam).
100
+ */
101
+ export declare function collectLookupDictCompat(lookupFields: Record<string, LookupDescriptor> | undefined): LookupDictCompat;
102
+ /**
103
+ * A lookup dimension's sync membership/altKey table, materialized from its
104
+ * backing rows (#650 Task 3). `keys` is every canonical key present;
105
+ * `altIndex` maps an altKey candidate VALUE to its owning canonical key.
106
+ */
107
+ export interface MaterializedBacking {
108
+ /** Canonical key values present in the materialized rows. */
109
+ readonly keys: ReadonlySet<string>;
110
+ /** altKey candidate value -> canonical key. */
111
+ readonly altIndex: ReadonlyMap<string, string>;
112
+ }
113
+ /**
114
+ * Build a lookup dimension's altKey index from its backing rows, enforcing
115
+ * declare/warm-time uniqueness across `key ∪ altKeys` values (#650 Task 3 —
116
+ * the CHE/SWZ drift class: two different rows must never claim the same
117
+ * candidate key). `rows` is keyed by canonical key (`row[descriptor.key]`
118
+ * for the matrix tier; the dimension's own key for static/reserved).
119
+ * An altKey candidate VALUE may be a string or number — both normalize via
120
+ * `coerceLookupKey` (#651 Task 3); non-scalar/absent values are skipped.
121
+ * Pure — no I/O. Throws `ValidationError` on collision.
122
+ */
123
+ export declare function materializeBackingTable(descriptor: LookupDescriptor, rows: ReadonlyMap<string, Record<string, unknown>>): MaterializedBacking;
124
+ /**
125
+ * Closed-vocabulary membership test for one candidate key (#650 Task 3).
126
+ * Static tier: sync, against the in-config key set (declared `keys`, or the
127
+ * table's own keys when table-bearing). Reserved tier: sync — the declared
128
+ * `keys` union the reserved handle's live write-through snapshot (closes
129
+ * #649 for the native `dict()` spelling: the declared-keys promise the old
130
+ * `dictKey()` doc comment made falsely). Matrix (collection) tier: sync —
131
+ * delegates to `buildLookupAltIndex` so membership is checked against the
132
+ * SAME `row[descriptor.key]` keying the altKey index uses (review fix,
133
+ * Important 1: an earlier PUT-id `.get(key)` scan disagreed with the
134
+ * altIndex whenever `descriptor.key !== 'id'`, wrongly rejecting valid
135
+ * non-id candidates and wrongly accepting an unrelated row's PUT-id).
136
+ */
137
+ export declare function checkLookupMembership(descriptor: LookupDescriptor, key: string, getDictionary: (dimension: string) => LookupHandle, getCollection: (dimension: string) => {
138
+ querySourceForJoin(): JoinableSource;
139
+ }): boolean;
140
+ /**
141
+ * The ONE guarded key coercion (#651 Task 3, dm12) — string/number values
142
+ * coerce to their canonical `String()` form; everything else (`null`,
143
+ * `undefined`, objects, …) coerces to `undefined`. Every consumer that turns
144
+ * a raw record field into a lookup key routes through this, closing the
145
+ * bare-`String()` `"undefined"`/`"null"`-key poisoning class (seam map
146
+ * finding 6): a row whose key field is genuinely absent must never mint the
147
+ * literal candidate string `"undefined"`.
148
+ */
149
+ export declare function coerceLookupKey(raw: unknown): string | undefined;
150
+ /**
151
+ * Resolve a backing row's canonical key VALUE — `coerceLookupKey(row[descriptor.key])`
152
+ * (#651 Task 3). The matrix tier's `row[descriptor.key]`, never the row's own PUT-id
153
+ * when the two differ (`descriptor.key !== 'id'`).
154
+ */
155
+ export declare function resolveBackingRowKey(descriptor: LookupDescriptor, row: Record<string, unknown>): string | undefined;
156
+ /**
157
+ * The referencing-side match predicate — does `rec[field]` (coerced) equal an
158
+ * already-coerced `compareKey` (#651 Task 3)? Shared by every site that scans a
159
+ * referencing collection for rows pointing at a given backing key
160
+ * (`with-shape/links/vault-facade.ts`'s ref-delete propagation, `kernel/via/dispatch.ts`'s
161
+ * forget-fanout twin).
162
+ */
163
+ export declare function matchesReferencingValue(rec: Record<string, unknown>, field: string, compareKey: string): boolean;
164
+ /**
165
+ * Materialize a lookup dimension's altKey index from whatever backing data
166
+ * is synchronously available (#650 Task 3 — the `ingest` source). Static:
167
+ * the in-config table. Reserved: the reserved handle's live write-through
168
+ * cache (the same warm-via-put()/list() cache `resolveDictSource` already
169
+ * relies on). Matrix (collection): the backing collection's own in-memory
170
+ * eager cache via `querySourceForJoin()` — already public, already the
171
+ * mechanism `.join()` uses (`with-shape/links/vault-facade.ts`'s
172
+ * `resolveSource`); no new I/O, no fire-and-forget warm step. Like that
173
+ * existing join precedent, a dimension collection this vault session has
174
+ * not yet opened/populated sees an empty snapshot (no altKey normalization
175
+ * until it has rows) — open/populate it first for normalization to apply.
176
+ * A matrix row whose `descriptor.key` field coerces to `undefined` (missing/
177
+ * non-scalar) is SKIPPED — never enters the index under a poisoned
178
+ * `"undefined"` key (#651 Task 3, dm12).
179
+ */
180
+ export declare function buildLookupAltIndex(descriptor: LookupDescriptor, getDictionary: (dimension: string) => LookupHandle, getCollection: (dimension: string) => {
181
+ querySourceForJoin(): JoinableSource;
182
+ }): MaterializedBacking;
183
+ /** Thin wrapper — `collectLookupRefEdges` + one `graph.registerDerived` call per edge. Lets
184
+ * `vault.collection()` (kernel-surface-budgeted, #650 Task 5) register a collection's lookup-ref
185
+ * edges with a single line, keeping the ceiling-guarded call site a thin call (route logic here). */
186
+ export declare function registerLookupRefEdges(graph: ViaGraph, collectionName: string, lookupFields: Record<string, LookupDescriptor> | undefined): void;
187
+ /**
188
+ * `LookupViaConfig.snapshotFor`'s vault-built row source (#650 Task 6, spec
189
+ * §5; matrix-tier coverage added #650 Task 7, spec §6 — Task 6 deferred it,
190
+ * see `task-6-report.md`'s Concerns #1; the reviewer's Task-7 dispatch
191
+ * refuted the "needs a new vault-resident registry" premise: the descriptor
192
+ * is already in hand at both call sites, so `snapshotFor` just needs to
193
+ * ACCEPT it). Takes the full `descriptor` (not a bare dimension name) so it
194
+ * can route the matrix tier's `key` field, which — unlike reserved tier's
195
+ * hardcoded `'id'` — varies per collection. Routes on `descriptor.backing`:
196
+ *
197
+ * - **reserved**: rows come straight from the SAME `LookupHandle.
198
+ * snapshotEntries()` write-through cache `dictLabelResolver`/
199
+ * `resolveDictSource` already read (no second copy), keyed by each
200
+ * entry's own canonical `key` (always `'id'` by construction for this
201
+ * tier — `dict()`'s factory hardcodes it).
202
+ * - **collection** (matrix): rows come from `getCollection(dimension).
203
+ * querySourceForJoin().snapshot()` — the SAME sync, already-live cache
204
+ * `buildLookupAltIndex`'s matrix branch (above, this file) and `.join()`
205
+ * itself already read — re-keyed via `resolveBackingRowKey(descriptor, row)`,
206
+ * NOT the row's own PUT-id (which may differ when `key !== 'id'`; the exact
207
+ * distinction the #650 Task 3 review fix already applies to
208
+ * `checkLookupMembership`'s matrix branch). A row whose `descriptor.key`
209
+ * field coerces to `undefined` is skipped (#651 Task 3, dm12).
210
+ * - **static**: never routed here — `descriptor.table` is read directly by
211
+ * the caller (`binding.ts`'s `compareLookupOrder`/`resolveLookupOrderLabel`,
212
+ * `snapshot.ts`'s `presentLookupForJoin`); no vault call needed.
213
+ *
214
+ * `isReservedDimension` is the vault's `reservedLookupCollections`
215
+ * membership test.
216
+ */
217
+ export declare function buildLookupSnapshotRows(descriptor: LookupDescriptor, isReservedDimension: (dimension: string) => boolean, getDictionary: (dimension: string) => LookupHandle, getCollection: (dimension: string) => {
218
+ querySourceForJoin(): JoinableSource;
219
+ }): ReadonlyMap<string, Record<string, unknown>> | undefined;
@@ -0,0 +1,67 @@
1
+ /**
2
+ * The sync lookup snapshot + join/locale seam (#650 Task 6, spec §5 — "the
3
+ * snapshot+locale seam"). Retires the #626 kernel→via grandfather:
4
+ * `kernel/query/join.ts` no longer imports `via/i18n/core.js` directly
5
+ * — it calls the `presentForJoin` hook this file's `buildPresentForJoin`
6
+ * builds instead (seam map Part 2 item 4, the #626 reviewer-spec'd shape:
7
+ * a sync `presentI18nForJoin`-class hook on `JoinableSource`).
8
+ *
9
+ * `LookupSnapshot` is the sync materialized `key -> row` view over ONE
10
+ * lookup dimension's ALREADY-LIVE backing data (the `active.ts`
11
+ * `_syncCache`/`snapshotEntries` write-through-cache pattern — never a
12
+ * second copy of the data: `LookupViaConfig.snapshotFor`'s vault-built
13
+ * closure reads the SAME `LookupHandle._syncCache` /
14
+ * first-class-collection cache every other lookup consumer
15
+ * (`dictLabelResolver`, `resolveDictSource`, `getAltIndex`) already reads).
16
+ * Serves (reserved AND matrix tier since #650 Task 7 — `registry.ts`'s
17
+ * `buildLookupSnapshotRows` routes both; static tier is read straight off
18
+ * `descriptor.table` by every consumer below, never through this cache):
19
+ * - join dressing (`presentForJoin`, consumed by `kernel/query/join.ts`
20
+ * via `JoinableSource.presentForJoin`)
21
+ * - dimension sort (`compareForOrder`, consumed by
22
+ * `via/lookup/binding.ts`'s `ViaBinding.compareForOrder` closure)
23
+ * - per-call-locale order-label resolution (`resolveOrderLabel`, #650
24
+ * Task 7 — the `orderBy(..., {by:'label'})` channel `compareForOrder`
25
+ * structurally can't serve, no locale param; consumed by
26
+ * `kernel/query/builder.ts`'s `buildOrderLabelMaps`)
27
+ * - membership: reserved/static-tier membership (#650 Task 3,
28
+ * `checkLookupMembership`) already reads the identical sync caches
29
+ * directly — not re-plumbed through this file; see
30
+ * `.superpowers/sdd/task-6-report.md`'s "bridge disposition" section.
31
+ *
32
+ * Sync end-to-end (#553) — every function here is a pure, synchronous
33
+ * transform over already-materialized rows; no store read, no Promise.
34
+ */
35
+ import type { LookupDescriptor } from './descriptor.js';
36
+ import { type I18nTextDescriptor } from '../i18n/core.js';
37
+ /** A lookup dimension's sync materialized view — see file header. */
38
+ export interface LookupSnapshot {
39
+ /** The full backing row for `key`, or `undefined` when `key` isn't (yet) present in the snapshot. */
40
+ row(key: string): Record<string, unknown> | undefined;
41
+ /** The dimension's declared presentation label for `key` at `locale` — mirrors `binding.ts`'s `fetchLookupLabel` (matrix-row branch), generalized to any tier's already-materialized rows. */
42
+ label(key: string, locale: string, fallback?: unknown): string | undefined;
43
+ /**
44
+ * Exact ordering for two canonical keys against `descriptor.sortBy`
45
+ * (falls back to `present.label`, then to the raw keys) at `locale`.
46
+ * Never throws — degrades to comparing the raw keys when no sortable
47
+ * value resolves for either side.
48
+ */
49
+ compareKeys(a: string, b: string, locale: string): number;
50
+ }
51
+ /**
52
+ * Build a sync `LookupSnapshot` over one dimension's already-materialized
53
+ * rows (canonical-key -> row, the SAME keying `materializeBackingTable`
54
+ * (`registry.ts`, #650 Task 3) uses). Pure — never reads a store.
55
+ */
56
+ export declare function buildLookupSnapshot(dimension: string, rows: ReadonlyMap<string, Record<string, unknown>>, descriptor: LookupDescriptor): LookupSnapshot;
57
+ /**
58
+ * Build the combined sync `presentForJoin(record, locale)` hook a
59
+ * `Collection` attaches to the `JoinableSource` it exposes
60
+ * (`querySourceForJoin()`) — the i18n-text half (`presentI18nForJoin`, the
61
+ * exact `applyI18nLocale(..., 'join')` partial application
62
+ * `kernel/query/join.ts` used to call directly, #626) composed with the
63
+ * lookup-label half above. `undefined` when the collection declares
64
+ * neither — `JoinableSource.presentForJoin` then stays unset, matching
65
+ * today's `i18nFields`-absent behavior exactly (#626 parity lock).
66
+ */
67
+ export declare function buildPresentForJoin(i18nFields: Record<string, I18nTextDescriptor> | undefined, lookupFields: Record<string, LookupDescriptor> | undefined, getSnapshotRows: ((descriptor: LookupDescriptor) => ReadonlyMap<string, Record<string, unknown>> | undefined) | undefined): ((record: unknown, locale: string) => unknown) | undefined;
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Exact money arithmetic helpers — `mulRate` and `allocate`.
3
+ *
4
+ * Both operate on the canonical decoded string form that `get()`
5
+ * returns (`'10000.00'`), entirely in scaled-`BigInt` space — no
6
+ * floating-point step anywhere, exact past 2^53. They are pure
7
+ * functions with no vault or descriptor dependency: the working scale
8
+ * is inferred from the amount's fractional digits (a canonical money
9
+ * string always carries exactly the field's scale) or pinned with
10
+ * `opts.scale`.
11
+ *
12
+ * Why these two: app-side invariants of the form
13
+ * `Σ parts === whole` (receipt totals, net-zero WHT pairs, proration)
14
+ * carry ±0.01 tolerances ONLY because the math is major-unit floats +
15
+ * round2. `mulRate` (VAT-style rate application with explicit
16
+ * rounding) and `allocate` (largest-remainder split — parts sum to the
17
+ * input EXACTLY, by construction) make those tolerances zero.
18
+ */
19
+ import { type RoundingMode } from './fixed-point.js';
20
+ export interface MulRateOptions {
21
+ /**
22
+ * Output scale (fraction digits). Defaults to the amount's own
23
+ * fractional digits — for a canonical money string that IS the
24
+ * field's scale.
25
+ */
26
+ readonly scale?: number;
27
+ /** Rounding for the final re-scale. Default `'half-up'`. */
28
+ readonly rounding?: RoundingMode;
29
+ }
30
+ export interface AllocateOptions {
31
+ /** Working scale. Defaults to the amount's own fractional digits. */
32
+ readonly scale?: number;
33
+ }
34
+ /**
35
+ * Multiply a money amount by a decimal rate, exactly.
36
+ *
37
+ * The rate is parsed at its OWN full precision (`0.07` → `7` at scale
38
+ * 2), the product computed in `BigInt` at `amountScale + rateScale`,
39
+ * then re-scaled back to the output scale with the requested rounding —
40
+ * one rounding step, at the very end.
41
+ *
42
+ * ```ts
43
+ * mulRate('10000.00', 0.07) // '700.00' (VAT)
44
+ * mulRate('33.33', '0.07') // '2.33' (half-up)
45
+ * mulRate('33.33', 0.07, { rounding: 'floor' }) // '2.33'
46
+ * mulRate(100, 0.07, { scale: 2 }) // '7.00'
47
+ * ```
48
+ */
49
+ export declare function mulRate(amount: number | string, rate: number | string, opts?: MulRateOptions): string;
50
+ /**
51
+ * Split a money amount across weighted buckets with ZERO drift: the
52
+ * returned parts sum to the input exactly, by construction
53
+ * (largest-remainder method).
54
+ *
55
+ * Each bucket gets `floor(amount × weightᵢ / Σweights)`; the leftover
56
+ * minor units (always fewer than the bucket count) go one each to the
57
+ * buckets with the largest truncated remainders — ties broken by
58
+ * position, earlier bucket first. Weights are parsed as exact decimals
59
+ * (no float division anywhere); they must be non-negative with a
60
+ * positive sum.
61
+ *
62
+ * ```ts
63
+ * allocate('100.00', [1, 1, 1]) // ['33.34', '33.33', '33.33']
64
+ * allocate('0.05', [3, 7]) // ['0.02', '0.03']
65
+ * allocate('-100.00', [1, 1, 1]) // ['-33.34', '-33.33', '-33.33']
66
+ * ```
67
+ */
68
+ export declare function allocate(amount: number | string, weights: ReadonlyArray<number | string>, opts?: AllocateOptions): string[];
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The money `ViaBinding` — wires the money engine (normalize/paths/where/
3
+ * money-reducer) into the kernel's generic Via port. `money()`
4
+ * (descriptor.ts) calls {@link linkMoneyVia} at declaration time — the
5
+ * same #553 static-link pattern the retired `linkMoneyEngine()` /
6
+ * `kernel/money-runtime.ts` seam used, now the only one (Task 6 cut the
7
+ * query DSL over to this binding and deleted the legacy seam).
8
+ */
9
+ import type { ViaBinding } from '../../kernel/via/index.js';
10
+ import type { MoneyDescriptor } from './descriptor.js';
11
+ /** #669 — the money binder's config bag. `virtualMoneyFields` is the money∩virtual-mode-
12
+ * computed field-name intersection (`kernel/collection-config.ts#resolveVirtualMoneyFields`);
13
+ * absent/empty means no field on this collection composes money with a virtual computed
14
+ * field on itself — the pre-#669 behavior (no `presentLate`, ordinary `present()` for
15
+ * every declared money field). */
16
+ export interface MoneyBindingConfig {
17
+ readonly moneyFields: Record<string, MoneyDescriptor>;
18
+ readonly virtualMoneyFields?: ReadonlySet<string>;
19
+ }
20
+ export declare function moneyBinding(moneyFields: Record<string, MoneyDescriptor>, virtualMoneyFields?: ReadonlySet<string>): ViaBinding;
21
+ export declare function linkMoneyVia(): void;