@noy-db/hub 0.3.0-pre.8 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (955) hide show
  1. package/dist/aggregate/index.js +9 -8
  2. package/dist/aggregate/index.js.map +1 -1
  3. package/dist/api-ZGS6LCOF.js +20 -0
  4. package/dist/as/index.js +11 -11
  5. package/dist/attestation/index.js +18 -18
  6. package/dist/backup-BJ57IKAO.js +242 -0
  7. package/dist/backup-BJ57IKAO.js.map +1 -0
  8. package/dist/blobs/index.js +13 -11
  9. package/dist/blobs/index.js.map +1 -1
  10. package/dist/broker/index.js +92 -0
  11. package/dist/broker/index.js.map +1 -0
  12. package/dist/bundle/index.js +25 -22
  13. package/dist/bundle/index.js.map +1 -1
  14. package/dist/by/index.js +2 -2
  15. package/dist/cargo/index.js +31 -31
  16. package/dist/chunk-2NVOWNI3.js +167 -0
  17. package/dist/chunk-2NVOWNI3.js.map +1 -0
  18. package/dist/chunk-3B5VVCNY.js +71 -0
  19. package/dist/chunk-3LQ2YKO4.js +230 -0
  20. package/dist/chunk-3QCRBHCY.js +54 -0
  21. package/dist/chunk-454JXE57.js +1697 -0
  22. package/dist/chunk-454JXE57.js.map +1 -0
  23. package/dist/chunk-4CTHCN4J.js +480 -0
  24. package/dist/chunk-4CTHCN4J.js.map +1 -0
  25. package/dist/chunk-4GPE63GU.js +111 -0
  26. package/dist/chunk-4GPE63GU.js.map +1 -0
  27. package/dist/chunk-4JBYV75E.js +150 -0
  28. package/dist/chunk-4NXKCLLQ.js +97 -0
  29. package/dist/chunk-4VNQOLML.js +29 -0
  30. package/dist/chunk-4VNQOLML.js.map +1 -0
  31. package/dist/chunk-5M5DVGV7.js +69 -0
  32. package/dist/chunk-5O3XF4DV.js +150 -0
  33. package/dist/chunk-5O3XF4DV.js.map +1 -0
  34. package/dist/chunk-5YOLBEQ6.js +30 -0
  35. package/dist/chunk-6CRIV7DE.js +129 -0
  36. package/dist/chunk-6JTIAGHD.js +621 -0
  37. package/dist/chunk-6JTIAGHD.js.map +1 -0
  38. package/dist/chunk-6QTNZJBS.js +255 -0
  39. package/dist/chunk-6T2SCQRU.js +86 -0
  40. package/dist/chunk-7DSTRQIJ.js +45 -0
  41. package/dist/chunk-AUSTCW2X.js +589 -0
  42. package/dist/chunk-B3HJYUOF.js +209 -0
  43. package/dist/chunk-BDVFPG6Y.js +164 -0
  44. package/dist/chunk-BIOUI4HL.js +1554 -0
  45. package/dist/chunk-BIOUI4HL.js.map +1 -0
  46. package/dist/chunk-CAF6WOK7.js +36 -0
  47. package/dist/chunk-CDUQTA3Z.js +381 -0
  48. package/dist/chunk-CDUQTA3Z.js.map +1 -0
  49. package/dist/chunk-CIE2BASH.js +404 -0
  50. package/dist/chunk-CRI4OUV4.js +42 -0
  51. package/dist/chunk-DLG74CNB.js +91 -0
  52. package/dist/chunk-E5ZQT5KX.js +30 -0
  53. package/dist/chunk-E5ZQT5KX.js.map +1 -0
  54. package/dist/chunk-EQO2UVP4.js +247 -0
  55. package/dist/chunk-EQO2UVP4.js.map +1 -0
  56. package/dist/chunk-ERJ7FU55.js +367 -0
  57. package/dist/chunk-EVVGJDRQ.js +205 -0
  58. package/dist/chunk-EVX47VBM.js +74 -0
  59. package/dist/chunk-EVX47VBM.js.map +1 -0
  60. package/dist/chunk-EXK7QRWF.js +59 -0
  61. package/dist/chunk-EYZ6IQ6X.js +202 -0
  62. package/dist/chunk-F64IRYG3.js +45 -0
  63. package/dist/chunk-FHS2HQSH.js +823 -0
  64. package/dist/chunk-FM3G3NOY.js +206 -0
  65. package/dist/chunk-FM3G3NOY.js.map +1 -0
  66. package/dist/chunk-FUG4SFN3.js +36 -0
  67. package/dist/chunk-FUG4SFN3.js.map +1 -0
  68. package/dist/chunk-GKEWXIV5.js +80 -0
  69. package/dist/chunk-GTGPO5KW.js +59 -0
  70. package/dist/chunk-HB3RFQSC.js +95 -0
  71. package/dist/chunk-HDMEGAQE.js +957 -0
  72. package/dist/chunk-HDMEGAQE.js.map +1 -0
  73. package/dist/chunk-HDQIIUPH.js +135 -0
  74. package/dist/chunk-HDQIIUPH.js.map +1 -0
  75. package/dist/chunk-HTJQYHZP.js +344 -0
  76. package/dist/chunk-HTJQYHZP.js.map +1 -0
  77. package/dist/chunk-I6GALP6E.js +99 -0
  78. package/dist/chunk-IGJCYUT5.js +99 -0
  79. package/dist/chunk-IGJCYUT5.js.map +1 -0
  80. package/dist/chunk-IL6POWCW.js +130 -0
  81. package/dist/chunk-IU6SNYX6.js +117 -0
  82. package/dist/chunk-J2ZX2XUV.js +778 -0
  83. package/dist/chunk-JIF24JPM.js +495 -0
  84. package/dist/chunk-JIF24JPM.js.map +1 -0
  85. package/dist/chunk-JK733I5V.js +23 -0
  86. package/dist/chunk-JK733I5V.js.map +1 -0
  87. package/dist/chunk-JKJOGPZN.js +29 -0
  88. package/dist/chunk-JNAI2HN2.js +32 -0
  89. package/dist/chunk-JNAI2HN2.js.map +1 -0
  90. package/dist/chunk-JZUV47FZ.js +41 -0
  91. package/dist/chunk-K5IMOGHB.js +30 -0
  92. package/dist/chunk-KPZS5QAQ.js +151 -0
  93. package/dist/chunk-KPZS5QAQ.js.map +1 -0
  94. package/dist/chunk-KSKBRKGJ.js +291 -0
  95. package/dist/chunk-KSKBRKGJ.js.map +1 -0
  96. package/dist/chunk-LASZKVMO.js +382 -0
  97. package/dist/chunk-LXEXBTKL.js +515 -0
  98. package/dist/chunk-LXEXBTKL.js.map +1 -0
  99. package/dist/chunk-M4CV6BRT.js +524 -0
  100. package/dist/chunk-M4CV6BRT.js.map +1 -0
  101. package/dist/chunk-MEFJPTZ4.js +371 -0
  102. package/dist/chunk-MEFJPTZ4.js.map +1 -0
  103. package/dist/chunk-MV43JSJF.js +265 -0
  104. package/dist/chunk-MV43JSJF.js.map +1 -0
  105. package/dist/chunk-NJ4EOKMB.js +392 -0
  106. package/dist/chunk-NJ4EOKMB.js.map +1 -0
  107. package/dist/chunk-NR5LT5RY.js +135 -0
  108. package/dist/chunk-NWSGI5C7.js +261 -0
  109. package/dist/chunk-NWSGI5C7.js.map +1 -0
  110. package/dist/chunk-OSDB5WW3.js +739 -0
  111. package/dist/chunk-OSDB5WW3.js.map +1 -0
  112. package/dist/chunk-PN2XMATY.js +37 -0
  113. package/dist/chunk-PN2XMATY.js.map +1 -0
  114. package/dist/chunk-Q5VNKNE5.js +70 -0
  115. package/dist/chunk-QLWMEXCT.js +21 -0
  116. package/dist/chunk-QRB7NAOJ.js +123 -0
  117. package/dist/chunk-R4ROFEYC.js +74 -0
  118. package/dist/chunk-RCVJZMFE.js +164 -0
  119. package/dist/chunk-RCVJZMFE.js.map +1 -0
  120. package/dist/chunk-RIX4V2TB.js +367 -0
  121. package/dist/chunk-RYCTDFUX.js +40 -0
  122. package/dist/chunk-RZ5SVOYR.js +155 -0
  123. package/dist/chunk-SLFHQTTW.js +99 -0
  124. package/dist/chunk-SNZ6URZZ.js +2782 -0
  125. package/dist/chunk-SNZ6URZZ.js.map +1 -0
  126. package/dist/chunk-T2FFWNPK.js +75 -0
  127. package/dist/chunk-T2FFWNPK.js.map +1 -0
  128. package/dist/chunk-UNFPPVNI.js +23 -0
  129. package/dist/chunk-VFUPHI2Z.js +333 -0
  130. package/dist/chunk-VFUPHI2Z.js.map +1 -0
  131. package/dist/chunk-VLFCJYTL.js +235 -0
  132. package/dist/chunk-VN3DBQAU.js +124 -0
  133. package/dist/chunk-VYYM3MEN.js +98 -0
  134. package/dist/chunk-VYYM3MEN.js.map +1 -0
  135. package/dist/chunk-VZRODIM3.js +49 -0
  136. package/dist/chunk-W22IKJE2.js +94 -0
  137. package/dist/chunk-X3YYQWOQ.js +155 -0
  138. package/dist/chunk-X7QBD67R.js +14405 -0
  139. package/dist/chunk-X7QBD67R.js.map +1 -0
  140. package/dist/chunk-XDYREZWE.js +1128 -0
  141. package/dist/chunk-XDYREZWE.js.map +1 -0
  142. package/dist/chunk-XWZVFISC.js +720 -0
  143. package/dist/chunk-XWZVFISC.js.map +1 -0
  144. package/dist/chunk-YFXZEAYK.js +85 -0
  145. package/dist/chunk-ZAJAVEXY.js +50 -0
  146. package/dist/chunk-ZICD77GM.js +34 -0
  147. package/dist/chunk-ZJ2AK4V7.js +38 -0
  148. package/dist/chunk-ZJ2AK4V7.js.map +1 -0
  149. package/dist/chunk-ZUODRVHY.js +14 -0
  150. package/dist/classified/index.js +5 -3
  151. package/dist/classified-marker-CZKA6ITE.js +28 -0
  152. package/dist/classified-marker-CZKA6ITE.js.map +1 -0
  153. package/dist/collection-facade-TLWIPI76.js +44 -0
  154. package/dist/computed-ZIQTYTDI.js +11 -0
  155. package/dist/consent/index.js +9 -9
  156. package/dist/crdt/index.js +1 -1
  157. package/dist/dead-filter-ESOBZZP5.js +28 -0
  158. package/dist/delegation-W7ZV2322.js +25 -0
  159. package/dist/derivations/index.js +12 -11
  160. package/dist/derive-H2BJTLUI.js +21 -0
  161. package/dist/enclave-AP3I5W7O.js +141 -0
  162. package/dist/executor-KGWTNEQD.js +9 -0
  163. package/dist/executor-OVEXR6RT.js +9 -0
  164. package/dist/executor-UNEH5ZYH.js +25 -0
  165. package/dist/export-accessible-PCMXSUZS.js +23 -0
  166. package/dist/extract-partition-SWHFSYJO.js +38 -0
  167. package/dist/fanout-sidecar-A765THMX.js +74 -0
  168. package/dist/find-N6345CNT.js +11 -0
  169. package/dist/forget/index.js +10 -10
  170. package/dist/forget/index.js.map +1 -1
  171. package/dist/guards/index.js +6 -6
  172. package/dist/history/index.js +14 -11
  173. package/dist/history/index.js.map +1 -1
  174. package/dist/i18n/index.js +50 -37
  175. package/dist/i18n/index.js.map +1 -1
  176. package/dist/index.d.ts +307 -1459
  177. package/dist/index.js +595 -198
  178. package/dist/index.js.map +1 -1
  179. package/dist/indexing/index.js +7 -7
  180. package/dist/indexing/index.js.map +1 -1
  181. package/dist/issue-5OKB6I2R.js +19 -0
  182. package/dist/kernel/best-effort-revert.d.ts +52 -0
  183. package/dist/kernel/cache/index.d.ts +10 -0
  184. package/dist/kernel/cache/lru.d.ts +97 -0
  185. package/dist/kernel/cache/policy.d.ts +32 -0
  186. package/dist/kernel/collection-config.d.ts +809 -0
  187. package/dist/kernel/collection.d.ts +1522 -0
  188. package/dist/kernel/constants.d.ts +18 -0
  189. package/dist/kernel/debug.d.ts +25 -0
  190. package/dist/kernel/enclave/broker/proof.d.ts +154 -0
  191. package/dist/kernel/enclave/classify/bidx.d.ts +77 -0
  192. package/dist/kernel/enclave/classify/compare.d.ts +10 -0
  193. package/dist/kernel/enclave/classify/digest.d.ts +8 -0
  194. package/dist/kernel/enclave/classify/find.d.ts +36 -0
  195. package/dist/kernel/enclave/classify/kofn.d.ts +7 -0
  196. package/dist/kernel/enclave/classify/normalize.d.ts +7 -0
  197. package/dist/kernel/enclave/classify/reveal.d.ts +10 -0
  198. package/dist/kernel/enclave/classify/vdig.d.ts +39 -0
  199. package/dist/kernel/enclave/classify/verify.d.ts +36 -0
  200. package/dist/kernel/enclave/classify/write.d.ts +8 -0
  201. package/dist/kernel/enclave/crypto.d.ts +263 -0
  202. package/dist/kernel/enclave/index.d.ts +79 -0
  203. package/dist/kernel/enclave/record-keys/deterministic.d.ts +55 -0
  204. package/dist/kernel/enclave/record-keys/envelope-body.d.ts +79 -0
  205. package/dist/kernel/enclave/record-keys/lifecycle.d.ts +107 -0
  206. package/dist/kernel/enclave/record-keys/record-codec.d.ts +328 -0
  207. package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +14 -0
  208. package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +123 -0
  209. package/dist/kernel/enclave/record-keys/sealing.d.ts +70 -0
  210. package/dist/kernel/enclave/record-keys/tombstone.d.ts +57 -0
  211. package/dist/kernel/env-check.d.ts +1 -0
  212. package/dist/kernel/errors.d.ts +1922 -0
  213. package/dist/kernel/events.d.ts +11 -0
  214. package/dist/kernel/lazy-count.d.ts +13 -0
  215. package/dist/kernel/memory-store.d.ts +17 -0
  216. package/dist/kernel/mutation.d.ts +14 -0
  217. package/dist/kernel/noydb.d.ts +826 -0
  218. package/dist/kernel/paths.d.ts +25 -0
  219. package/dist/kernel/query/builder.d.ts +520 -0
  220. package/dist/kernel/query/index.d.ts +31 -0
  221. package/dist/kernel/query/join.d.ts +205 -0
  222. package/dist/kernel/query/live.d.ts +111 -0
  223. package/dist/kernel/query/predicate.d.ts +139 -0
  224. package/dist/kernel/query/scan-builder.d.ts +334 -0
  225. package/dist/kernel/refs.d.ts +205 -0
  226. package/dist/kernel/schema.d.ts +134 -0
  227. package/dist/kernel/sync-policy.d.ts +188 -0
  228. package/dist/kernel/tier-visibility.d.ts +54 -0
  229. package/dist/kernel/types.d.ts +3239 -0
  230. package/dist/kernel/util/discriminant.d.ts +58 -0
  231. package/dist/kernel/util/index.d.ts +14 -0
  232. package/dist/kernel/util/sanitize-filename.d.ts +75 -0
  233. package/dist/kernel/validation.d.ts +130 -0
  234. package/dist/kernel/vault.d.ts +1740 -0
  235. package/dist/kernel/via/compose.d.ts +144 -0
  236. package/dist/kernel/via/dispatch.d.ts +195 -0
  237. package/dist/kernel/via/graph-wiring.d.ts +145 -0
  238. package/dist/kernel/via/graph.d.ts +166 -0
  239. package/dist/kernel/via/index.d.ts +200 -0
  240. package/dist/kernel/via/pipeline.d.ts +266 -0
  241. package/dist/kernel/via/reconcile.d.ts +153 -0
  242. package/dist/kernel/via/taint-binding.d.ts +66 -0
  243. package/dist/kernel/write-queue.d.ts +46 -0
  244. package/dist/ledger-GFBKVPV4.js +42 -0
  245. package/dist/legacy/bundle.d.ts +30 -0
  246. package/dist/legacy/kernel.d.ts +33 -0
  247. package/dist/liberate-3VDOT4KO.js +24 -0
  248. package/dist/link-set-Z7Q2ASFX.js +31 -0
  249. package/dist/materialized-views/index.js +19 -15
  250. package/dist/noydb-ZCJOYBDI.js +68 -0
  251. package/dist/on/index.js +9 -9
  252. package/dist/overlay-views/index.js +4 -4
  253. package/dist/periods/index.js +12 -12
  254. package/dist/pod/index.js +11 -11
  255. package/dist/policy-Z3RUAIY2.js +41 -0
  256. package/dist/port/as/index.d.ts +26 -0
  257. package/dist/port/at/index.d.ts +18 -0
  258. package/dist/port/by/default-provider.d.ts +9 -0
  259. package/dist/port/by/index.d.ts +17 -0
  260. package/dist/port/by/types.d.ts +86 -0
  261. package/dist/port/in/index.d.ts +21 -0
  262. package/dist/port/on/index.d.ts +27 -0
  263. package/dist/port/to/index.d.ts +19 -0
  264. package/dist/port/ui/index.d.ts +21 -0
  265. package/dist/port/with/blob-strategy.d.ts +98 -0
  266. package/dist/port/with/broker-strategy.d.ts +84 -0
  267. package/dist/port/with/capabilities.d.ts +31 -0
  268. package/dist/port/with/classified-marker.d.ts +9 -0
  269. package/dist/port/with/classified-strategy.d.ts +62 -0
  270. package/dist/port/with/computed-strategy.d.ts +19 -0
  271. package/dist/port/with/i18n-strategy.d.ts +175 -0
  272. package/dist/port/with/index.d.ts +18 -0
  273. package/dist/port/with/lazy-strategy.d.ts +48 -0
  274. package/dist/port/with/lookup-strategy.d.ts +129 -0
  275. package/dist/port/with/service-bus.d.ts +156 -0
  276. package/dist/port/with/team-strategy.d.ts +36 -0
  277. package/dist/port/with/write-hooks.d.ts +34 -0
  278. package/dist/portability/index.js +8 -8
  279. package/dist/post-register-JTH76BLY.js +60 -0
  280. package/dist/post-register-JTH76BLY.js.map +1 -0
  281. package/dist/public-envelope-B4KNWVUA.js +32 -0
  282. package/dist/purge-scope-FGNNLWHD.js +24 -0
  283. package/dist/purge-scope-FGNNLWHD.js.map +1 -0
  284. package/dist/query/index.js +9 -6
  285. package/dist/read-only-facade-CHCKSEPD.js +8 -0
  286. package/dist/register-VAHONCID.js +23 -0
  287. package/dist/registry-7MLVD3VO.js +19 -0
  288. package/dist/registry-EPKPD5SM.js +18 -0
  289. package/dist/registry-P5T7PS2U.js +9 -0
  290. package/dist/request-withdrawal-TI3A5WPS.js +31 -0
  291. package/dist/reveal-DIBHLUZX.js +38 -0
  292. package/dist/reveal-DIBHLUZX.js.map +1 -0
  293. package/dist/revoke-FDRD6GRW.js +24 -0
  294. package/dist/satellites/index.js +1 -1
  295. package/dist/sealed-record/index.js +12 -12
  296. package/dist/seed-Q6M2IZFL.js +231 -0
  297. package/dist/seed-Q6M2IZFL.js.map +1 -0
  298. package/dist/session/index.js +9 -9
  299. package/dist/shadow/index.js +2 -2
  300. package/dist/signer-MUWEIUI6.js +25 -0
  301. package/dist/snapshots/index.js +10 -10
  302. package/dist/stale-OSQ7J3AA.js +29 -0
  303. package/dist/storage-MVFCGEQE.js +23 -0
  304. package/dist/store-coordination-provider-64OEZFGS.js +142 -0
  305. package/dist/sync/index.js +9 -9
  306. package/dist/team/index.js +15 -15
  307. package/dist/tiers/index.js +14 -10
  308. package/dist/to/index.js +1 -2
  309. package/dist/tx/index.js +3 -3
  310. package/dist/util/index.js +1 -1
  311. package/dist/verify-ZASTRNPR.js +140 -0
  312. package/dist/verify-ZASTRNPR.js.map +1 -0
  313. package/dist/via/blob/active.d.ts +34 -0
  314. package/dist/via/blob/binding.d.ts +86 -0
  315. package/dist/via/blob/index.d.ts +34 -0
  316. package/dist/via/classified/active.d.ts +3 -0
  317. package/dist/via/classified/binding.d.ts +83 -0
  318. package/dist/via/classified/config-drift.d.ts +34 -0
  319. package/dist/via/classified/descriptor.d.ts +66 -0
  320. package/dist/via/classified/errors.d.ts +19 -0
  321. package/dist/via/classified/guards.d.ts +23 -0
  322. package/dist/via/classified/index.d.ts +11 -0
  323. package/dist/via/classified/presets.d.ts +65 -0
  324. package/dist/via/classified/resolve.d.ts +9 -0
  325. package/dist/via/classified/strategy.d.ts +11 -0
  326. package/dist/via/classified/validators.d.ts +3 -0
  327. package/dist/via/classified/write.d.ts +4 -0
  328. package/dist/via/computed/binding.d.ts +34 -0
  329. package/dist/via/computed/descriptor.d.ts +35 -0
  330. package/dist/via/i18n/active.d.ts +28 -0
  331. package/dist/via/i18n/binding.d.ts +36 -0
  332. package/dist/via/i18n/core.d.ts +267 -0
  333. package/dist/via/i18n/densify.d.ts +24 -0
  334. package/dist/via/i18n/dictionary.d.ts +200 -0
  335. package/dist/via/i18n/index.d.ts +21 -0
  336. package/dist/via/i18n/policy.d.ts +44 -0
  337. package/dist/via/i18n/script.d.ts +26 -0
  338. package/dist/via/i18n/strategy.d.ts +13 -0
  339. package/dist/via/lookup/active.d.ts +19 -0
  340. package/dist/via/lookup/binding.d.ts +99 -0
  341. package/dist/via/lookup/descriptor.d.ts +123 -0
  342. package/dist/via/lookup/handle.d.ts +220 -0
  343. package/dist/via/lookup/index.d.ts +17 -0
  344. package/dist/via/lookup/registry.d.ts +228 -0
  345. package/dist/via/lookup/snapshot.d.ts +67 -0
  346. package/dist/via/money/arith.d.ts +68 -0
  347. package/dist/via/money/binding.d.ts +21 -0
  348. package/dist/via/money/branded.d.ts +61 -0
  349. package/dist/via/money/descriptor.d.ts +73 -0
  350. package/dist/via/money/fixed-point.d.ts +51 -0
  351. package/dist/via/money/index.d.ts +15 -0
  352. package/dist/via/money/iso4217.d.ts +6 -0
  353. package/dist/via/money/money-reducer.d.ts +33 -0
  354. package/dist/via/money/normalize.d.ts +105 -0
  355. package/dist/via/money/paths.d.ts +61 -0
  356. package/dist/via/money/where.d.ts +127 -0
  357. package/dist/walk-SVNDIZ62.js +241 -0
  358. package/dist/with/index.js +11 -11
  359. package/dist/with-audit/attestation/active.d.ts +10 -0
  360. package/dist/with-audit/attestation/index.d.ts +16 -0
  361. package/dist/with-audit/attestation/issue.d.ts +29 -0
  362. package/dist/with-audit/attestation/revoke.d.ts +15 -0
  363. package/dist/with-audit/attestation/signer.d.ts +33 -0
  364. package/dist/with-audit/attestation/strategy.d.ts +44 -0
  365. package/dist/with-audit/attestation/vault-facade.d.ts +62 -0
  366. package/dist/with-audit/consent/active.d.ts +14 -0
  367. package/dist/with-audit/consent/consent.d.ts +114 -0
  368. package/dist/with-audit/consent/index.d.ts +14 -0
  369. package/dist/with-audit/consent/strategy.d.ts +36 -0
  370. package/dist/with-audit/forget/active.d.ts +31 -0
  371. package/dist/with-audit/forget/index.d.ts +28 -0
  372. package/dist/with-audit/forget/purge-scope.d.ts +54 -0
  373. package/dist/with-audit/forget/strategy.d.ts +199 -0
  374. package/dist/with-audit/forget/subject-index.d.ts +83 -0
  375. package/dist/with-audit/guards/executor.d.ts +26 -0
  376. package/dist/with-audit/guards/immutable-guard.d.ts +63 -0
  377. package/dist/with-audit/guards/index.d.ts +10 -0
  378. package/dist/with-audit/guards/read-only-facade.d.ts +31 -0
  379. package/dist/with-audit/guards/registry.d.ts +83 -0
  380. package/dist/with-audit/guards/transition-guard.d.ts +82 -0
  381. package/dist/with-audit/guards/types.d.ts +134 -0
  382. package/dist/with-audit/guards/with-guard.d.ts +15 -0
  383. package/dist/with-audit/periods/active.d.ts +11 -0
  384. package/dist/with-audit/periods/index.d.ts +18 -0
  385. package/dist/with-audit/periods/periods.d.ts +417 -0
  386. package/dist/with-audit/periods/strategy.d.ts +32 -0
  387. package/dist/with-audit/periods/vault-facade.d.ts +95 -0
  388. package/dist/with-audit/portability/active.d.ts +11 -0
  389. package/dist/with-audit/portability/export-accessible.d.ts +46 -0
  390. package/dist/with-audit/portability/index.d.ts +18 -0
  391. package/dist/with-audit/portability/request-withdrawal.d.ts +85 -0
  392. package/dist/with-audit/portability/strategy.d.ts +31 -0
  393. package/dist/with-audit/portability/withdraw-accessible.d.ts +82 -0
  394. package/dist/with-audit/sealed-record/active.d.ts +9 -0
  395. package/dist/with-audit/sealed-record/index.d.ts +55 -0
  396. package/dist/with-audit/sealed-record/strategy.d.ts +34 -0
  397. package/dist/with-audit/sealed-record/types.d.ts +27 -0
  398. package/dist/with-audit/tiers/active.d.ts +9 -0
  399. package/dist/with-audit/tiers/index.d.ts +394 -0
  400. package/dist/with-audit/tiers/strategy.d.ts +36 -0
  401. package/dist/with-cargo/active.d.ts +11 -0
  402. package/dist/with-cargo/adopt-partition.d.ts +81 -0
  403. package/dist/with-cargo/decrypt-partition.d.ts +19 -0
  404. package/dist/with-cargo/describe-extraction.d.ts +41 -0
  405. package/dist/with-cargo/extract-partition.d.ts +155 -0
  406. package/dist/with-cargo/index.d.ts +33 -0
  407. package/dist/with-cargo/strategy.d.ts +30 -0
  408. package/dist/with-cargo/vault-diff.d.ts +144 -0
  409. package/dist/with-cargo/walk-closure.d.ts +67 -0
  410. package/dist/with-commit/crdt/active.d.ts +25 -0
  411. package/dist/with-commit/crdt/crdt.d.ts +42 -0
  412. package/dist/with-commit/crdt/index.d.ts +16 -0
  413. package/dist/with-commit/crdt/strategy.d.ts +25 -0
  414. package/dist/with-commit/history/active.d.ts +40 -0
  415. package/dist/with-commit/history/diff.d.ts +23 -0
  416. package/dist/with-commit/history/history.d.ts +73 -0
  417. package/dist/with-commit/history/index.d.ts +30 -0
  418. package/dist/with-commit/history/ledger/constants.d.ts +37 -0
  419. package/dist/with-commit/history/ledger/entry.d.ts +195 -0
  420. package/dist/with-commit/history/ledger/hash.d.ts +30 -0
  421. package/dist/with-commit/history/ledger/index.d.ts +19 -0
  422. package/dist/with-commit/history/ledger/patch.d.ts +99 -0
  423. package/dist/with-commit/history/ledger/store.d.ts +356 -0
  424. package/dist/with-commit/history/strategy.d.ts +136 -0
  425. package/dist/with-commit/history/time-machine.d.ts +202 -0
  426. package/dist/with-commit/numbering/descriptor.d.ts +27 -0
  427. package/dist/with-commit/numbering/index.d.ts +69 -0
  428. package/dist/with-commit/sequence/active.d.ts +10 -0
  429. package/dist/with-commit/sequence/index.d.ts +150 -0
  430. package/dist/with-commit/sequence/strategy.d.ts +26 -0
  431. package/dist/with-commit/tx/active.d.ts +27 -0
  432. package/dist/with-commit/tx/dry-run.d.ts +29 -0
  433. package/dist/with-commit/tx/elevated-handle.d.ts +59 -0
  434. package/dist/with-commit/tx/index.d.ts +13 -0
  435. package/dist/with-commit/tx/invariants.d.ts +68 -0
  436. package/dist/with-commit/tx/strategy.d.ts +23 -0
  437. package/dist/with-commit/tx/transaction.d.ts +212 -0
  438. package/dist/with-fork/archive/engine.d.ts +71 -0
  439. package/dist/with-fork/archive/index.d.ts +23 -0
  440. package/dist/with-fork/shadow/active.d.ts +6 -0
  441. package/dist/with-fork/shadow/index.d.ts +14 -0
  442. package/dist/with-fork/shadow/strategy.d.ts +28 -0
  443. package/dist/with-fork/shadow/vault-frame.d.ts +93 -0
  444. package/dist/with-fork/snapshots/active.d.ts +20 -0
  445. package/dist/with-fork/snapshots/engine.d.ts +36 -0
  446. package/dist/with-fork/snapshots/index.d.ts +5 -0
  447. package/dist/with-fork/snapshots/noydb-facade.d.ts +64 -0
  448. package/dist/with-fork/snapshots/policy.d.ts +23 -0
  449. package/dist/with-fork/snapshots/scheduler.d.ts +34 -0
  450. package/dist/with-fork/snapshots/strategy.d.ts +48 -0
  451. package/dist/with-formula/computed/index.d.ts +48 -0
  452. package/dist/with-formula/computed/lazy.d.ts +13 -0
  453. package/dist/with-formula/derivations/executor.d.ts +61 -0
  454. package/dist/with-formula/derivations/fanout-sidecar.d.ts +75 -0
  455. package/dist/with-formula/derivations/index.d.ts +6 -0
  456. package/dist/with-formula/derivations/registry.d.ts +67 -0
  457. package/dist/with-formula/derivations/stale.d.ts +39 -0
  458. package/dist/with-formula/derivations/strategy-hash.d.ts +1 -0
  459. package/dist/with-formula/derivations/types.d.ts +248 -0
  460. package/dist/with-formula/derivations/with-derivation.d.ts +10 -0
  461. package/dist/with-formula/derivations/with-rollup.d.ts +34 -0
  462. package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +58 -0
  463. package/dist/with-formula/materialized-views/executor.d.ts +80 -0
  464. package/dist/with-formula/materialized-views/index.d.ts +11 -0
  465. package/dist/with-formula/materialized-views/query-hash.d.ts +23 -0
  466. package/dist/with-formula/materialized-views/registry.d.ts +99 -0
  467. package/dist/with-formula/materialized-views/stale.d.ts +113 -0
  468. package/dist/with-formula/materialized-views/types.d.ts +318 -0
  469. package/dist/with-formula/materialized-views/with-materialized-view.d.ts +24 -0
  470. package/dist/with-formula/overlay-views/index.d.ts +5 -0
  471. package/dist/with-formula/overlay-views/registry.d.ts +42 -0
  472. package/dist/with-formula/overlay-views/types.d.ts +97 -0
  473. package/dist/with-formula/overlay-views/virtual-collection.d.ts +90 -0
  474. package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +9 -0
  475. package/dist/with-lookup/aggregate/active.d.ts +33 -0
  476. package/dist/with-lookup/aggregate/aggregation.d.ts +166 -0
  477. package/dist/with-lookup/aggregate/canonical-key.d.ts +16 -0
  478. package/dist/with-lookup/aggregate/groupby.d.ts +280 -0
  479. package/dist/with-lookup/aggregate/index.d.ts +23 -0
  480. package/dist/with-lookup/aggregate/reducers.d.ts +257 -0
  481. package/dist/with-lookup/aggregate/strategy.d.ts +59 -0
  482. package/dist/with-lookup/embeddings/cosine.d.ts +2 -0
  483. package/dist/with-lookup/embeddings/descriptor.d.ts +8 -0
  484. package/dist/with-lookup/embeddings/index.d.ts +4 -0
  485. package/dist/with-lookup/embeddings/vec-id.d.ts +47 -0
  486. package/dist/with-lookup/embeddings/vector-set.d.ts +19 -0
  487. package/dist/with-lookup/indexing/active.d.ts +30 -0
  488. package/dist/with-lookup/indexing/collection-facade.d.ts +157 -0
  489. package/dist/with-lookup/indexing/eager-indexes.d.ts +122 -0
  490. package/dist/with-lookup/indexing/index.d.ts +27 -0
  491. package/dist/with-lookup/indexing/lazy-builder.d.ts +102 -0
  492. package/dist/with-lookup/indexing/persisted-indexes.d.ts +229 -0
  493. package/dist/with-lookup/indexing/strategy.d.ts +56 -0
  494. package/dist/with-lookup/indexing/unique-constraints.d.ts +74 -0
  495. package/dist/with-lookup/search/active.d.ts +10 -0
  496. package/dist/with-lookup/search/build-docs.d.ts +15 -0
  497. package/dist/with-lookup/search/collection-facade.d.ts +163 -0
  498. package/dist/with-lookup/search/fuse.d.ts +22 -0
  499. package/dist/with-lookup/search/index-store.d.ts +19 -0
  500. package/dist/with-lookup/search/index.d.ts +19 -0
  501. package/dist/with-lookup/search/inverted-index.d.ts +47 -0
  502. package/dist/with-lookup/search/persisted-index-store.d.ts +121 -0
  503. package/dist/with-lookup/search/retrieve-types.d.ts +29 -0
  504. package/dist/with-lookup/search/scan.d.ts +28 -0
  505. package/dist/with-lookup/search/segment.d.ts +15 -0
  506. package/dist/with-lookup/search/serialize.d.ts +4 -0
  507. package/dist/with-lookup/search/snippet.d.ts +5 -0
  508. package/dist/with-lookup/search/strategy.d.ts +41 -0
  509. package/dist/with-lookup/search/tokenize.d.ts +12 -0
  510. package/dist/with-party/auth-introspection/index.d.ts +44 -0
  511. package/dist/with-party/broker/active.d.ts +23 -0
  512. package/dist/with-party/broker/index.d.ts +28 -0
  513. package/dist/with-party/broker/seed.d.ts +77 -0
  514. package/dist/with-party/custody/active.d.ts +10 -0
  515. package/dist/with-party/custody/index.d.ts +69 -0
  516. package/dist/with-party/custody/liberate.d.ts +64 -0
  517. package/dist/with-party/custody/strategy.d.ts +48 -0
  518. package/dist/with-party/directory/index.d.ts +11 -0
  519. package/dist/with-party/directory/public-envelope/index.d.ts +12 -0
  520. package/dist/with-party/directory/public-envelope/schema.d.ts +24 -0
  521. package/dist/with-party/directory/public-envelope/storage.d.ts +59 -0
  522. package/dist/with-party/directory/public-envelope/types.d.ts +80 -0
  523. package/dist/with-party/directory/storage.d.ts +33 -0
  524. package/dist/with-party/directory/types.d.ts +43 -0
  525. package/dist/with-party/directory/user-envelope/api.d.ts +201 -0
  526. package/dist/with-party/directory/user-envelope/index.d.ts +12 -0
  527. package/dist/with-party/directory/user-envelope/storage.d.ts +54 -0
  528. package/dist/with-party/directory/visibility.d.ts +47 -0
  529. package/dist/with-party/policy/engine.d.ts +60 -0
  530. package/dist/with-party/policy/index.d.ts +15 -0
  531. package/dist/with-party/policy/noydb-facade.d.ts +39 -0
  532. package/dist/with-party/policy/presets.d.ts +38 -0
  533. package/dist/with-party/policy/storage.d.ts +31 -0
  534. package/dist/with-party/session/active.d.ts +34 -0
  535. package/dist/with-party/session/dev-unlock.d.ts +128 -0
  536. package/dist/with-party/session/index.d.ts +23 -0
  537. package/dist/with-party/session/session-policy.d.ts +92 -0
  538. package/dist/with-party/session/session.d.ts +131 -0
  539. package/dist/with-party/session/strategy.d.ts +42 -0
  540. package/dist/with-party/session/unlock-state.d.ts +47 -0
  541. package/dist/with-party/sync/index.d.ts +31 -0
  542. package/dist/with-party/tab-coordination.d.ts +73 -0
  543. package/dist/with-party/tab-write-relay.d.ts +39 -0
  544. package/dist/with-party/team/active.d.ts +13 -0
  545. package/dist/with-party/team/authenticators.d.ts +95 -0
  546. package/dist/with-party/team/deed.d.ts +97 -0
  547. package/dist/with-party/team/delegation.d.ts +88 -0
  548. package/dist/with-party/team/index.d.ts +38 -0
  549. package/dist/with-party/team/keyring.d.ts +318 -0
  550. package/dist/with-party/team/magic-link-grant.d.ts +152 -0
  551. package/dist/with-party/team/managed-passphrase.d.ts +280 -0
  552. package/dist/with-party/team/noydb-facade.d.ts +484 -0
  553. package/dist/with-party/team/peer-recover.d.ts +81 -0
  554. package/dist/with-party/team/presence.d.ts +81 -0
  555. package/dist/with-party/team/recovery.d.ts +191 -0
  556. package/dist/with-party/team/reserved-secret-collections.d.ts +41 -0
  557. package/dist/with-party/team/rotate-recover.d.ts +275 -0
  558. package/dist/with-party/team/shamir-recovery-provider.d.ts +15 -0
  559. package/dist/with-party/team/strategy.d.ts +9 -0
  560. package/dist/with-party/team/sync-active.d.ts +33 -0
  561. package/dist/with-party/team/sync-credentials.d.ts +113 -0
  562. package/dist/with-party/team/sync-strategy.d.ts +67 -0
  563. package/dist/with-party/team/sync-transaction.d.ts +39 -0
  564. package/dist/with-party/team/sync.d.ts +174 -0
  565. package/dist/with-party/team/tiers.d.ts +39 -0
  566. package/dist/with-party/team/wrapped-deks.d.ts +86 -0
  567. package/dist/with-pod/backup.d.ts +74 -0
  568. package/dist/with-pod/bundle.d.ts +414 -0
  569. package/dist/with-pod/format.d.ts +203 -0
  570. package/dist/with-pod/index.d.ts +20 -0
  571. package/dist/with-pod/pod-store.d.ts +54 -0
  572. package/dist/with-pod/ulid.d.ts +64 -0
  573. package/dist/with-shape/blobs/blob-compaction.d.ts +170 -0
  574. package/dist/with-shape/blobs/blob-intent.d.ts +153 -0
  575. package/dist/with-shape/blobs/blob-set.d.ts +1286 -0
  576. package/dist/with-shape/blobs/export-blobs.d.ts +110 -0
  577. package/dist/with-shape/blobs/import-external.d.ts +50 -0
  578. package/dist/with-shape/blobs/mime-magic.d.ts +48 -0
  579. package/dist/with-shape/blobs/object-projection.d.ts +70 -0
  580. package/dist/with-shape/introspection/describe.d.ts +237 -0
  581. package/dist/with-shape/introspection/field-meta.d.ts +61 -0
  582. package/dist/with-shape/introspection/fields.d.ts +14 -0
  583. package/dist/with-shape/introspection/index.d.ts +12 -0
  584. package/dist/with-shape/introspection/json-schema.d.ts +13 -0
  585. package/dist/with-shape/introspection/meta.d.ts +22 -0
  586. package/dist/with-shape/introspection/projection.d.ts +13 -0
  587. package/dist/with-shape/introspection/types.d.ts +154 -0
  588. package/dist/with-shape/introspection/walk.d.ts +50 -0
  589. package/dist/with-shape/links/lazy-handle.d.ts +36 -0
  590. package/dist/with-shape/links/link-set.d.ts +67 -0
  591. package/dist/with-shape/links/names.d.ts +65 -0
  592. package/dist/with-shape/links/vault-facade.d.ts +211 -0
  593. package/dist/with-shape/persisted-schemas/canonicalize.d.ts +11 -0
  594. package/dist/with-shape/persisted-schemas/derive.d.ts +29 -0
  595. package/dist/with-shape/persisted-schemas/index.d.ts +21 -0
  596. package/dist/with-shape/persisted-schemas/register.d.ts +66 -0
  597. package/dist/with-shape/persisted-schemas/storage.d.ts +61 -0
  598. package/dist/with-shape/persisted-schemas/types.d.ts +54 -0
  599. package/dist/with-shape/satellites/dead-filter.d.ts +21 -0
  600. package/dist/with-shape/satellites/declare.d.ts +60 -0
  601. package/dist/with-shape/satellites/existence.d.ts +5 -0
  602. package/dist/with-shape/satellites/fanout.d.ts +38 -0
  603. package/dist/with-shape/satellites/forget.d.ts +47 -0
  604. package/dist/with-shape/satellites/index.d.ts +3 -0
  605. package/dist/with-shape/satellites/joined.d.ts +19 -0
  606. package/dist/with-shape/satellites/marker.d.ts +10 -0
  607. package/dist/with-shape/satellites/migrate-cek.d.ts +26 -0
  608. package/dist/with-shape/satellites/post-register.d.ts +6 -0
  609. package/dist/with-shape/satellites/proxy.d.ts +37 -0
  610. package/dist/with-shape/satellites/raw-target.d.ts +14 -0
  611. package/dist/with-shape/satellites/registry.d.ts +19 -0
  612. package/dist/with-shape/satellites/types.d.ts +37 -0
  613. package/dist/with-shape/satellites/validate.d.ts +17 -0
  614. package/dist/with-shape/schema-update/client-registry.d.ts +35 -0
  615. package/dist/with-shape/schema-update/cutover.d.ts +5 -0
  616. package/dist/with-shape/schema-update/delta.d.ts +2 -0
  617. package/dist/with-shape/schema-update/dispatch.d.ts +3 -0
  618. package/dist/with-shape/schema-update/fence-controller.d.ts +62 -0
  619. package/dist/with-shape/schema-update/fence-watcher.d.ts +37 -0
  620. package/dist/with-shape/schema-update/fence.d.ts +15 -0
  621. package/dist/with-shape/schema-update/gate.d.ts +16 -0
  622. package/dist/with-shape/schema-update/index.d.ts +6 -0
  623. package/dist/with-shape/schema-update/store-coordination-provider.d.ts +29 -0
  624. package/dist/with-shape/schema-update/strategies.d.ts +12 -0
  625. package/dist/with-shape/schema-update/types.d.ts +53 -0
  626. package/dist/with-store/index.d.ts +15 -0
  627. package/dist/with-store/lazy/active.d.ts +12 -0
  628. package/dist/with-store/lazy/index.d.ts +14 -0
  629. package/dist/with-store/lazy/strategy.d.ts +9 -0
  630. package/dist/with-store/route-store.d.ts +259 -0
  631. package/dist/with-store/store-middleware.d.ts +189 -0
  632. package/dist/withdraw-accessible-WZIEVWSR.js +28 -0
  633. package/package.json +47 -55
  634. package/dist/adapter/index.d.ts +0 -5
  635. package/dist/adapter/index.js +0 -15
  636. package/dist/aggregate/index.d.ts +0 -42
  637. package/dist/api-JDWL67WL.js +0 -20
  638. package/dist/as/index.d.ts +0 -7
  639. package/dist/at/index.d.ts +0 -5
  640. package/dist/attestation/index.d.ts +0 -20
  641. package/dist/backup-WRGNTGJF.js +0 -225
  642. package/dist/backup-WRGNTGJF.js.map +0 -1
  643. package/dist/blobs/index.d.ts +0 -44
  644. package/dist/bundle/index.d.ts +0 -122
  645. package/dist/bundle-DzWtVw7w.d.ts +0 -548
  646. package/dist/by/index.d.ts +0 -1
  647. package/dist/cargo/index.d.ts +0 -9
  648. package/dist/chunk-25G7PUTA.js +0 -235
  649. package/dist/chunk-26FSVNBL.js +0 -34
  650. package/dist/chunk-2PJB6H3H.js +0 -167
  651. package/dist/chunk-2PJB6H3H.js.map +0 -1
  652. package/dist/chunk-37JZR7CY.js +0 -91
  653. package/dist/chunk-3KBK5LU4.js +0 -117
  654. package/dist/chunk-3YKBGS3I.js +0 -686
  655. package/dist/chunk-3YKBGS3I.js.map +0 -1
  656. package/dist/chunk-44DV37ZV.js +0 -75
  657. package/dist/chunk-44DV37ZV.js.map +0 -1
  658. package/dist/chunk-47C4CI7R.js +0 -108
  659. package/dist/chunk-47C4CI7R.js.map +0 -1
  660. package/dist/chunk-4VDFUBTS.js +0 -275
  661. package/dist/chunk-4VDFUBTS.js.map +0 -1
  662. package/dist/chunk-55LSDABW.js +0 -94
  663. package/dist/chunk-56JB2BGI.js +0 -13003
  664. package/dist/chunk-56JB2BGI.js.map +0 -1
  665. package/dist/chunk-5GQE5IDB.js +0 -513
  666. package/dist/chunk-5GQE5IDB.js.map +0 -1
  667. package/dist/chunk-5HRJQSKN.js +0 -202
  668. package/dist/chunk-5HZULLHE.js +0 -404
  669. package/dist/chunk-5JQMX2EH.js +0 -50
  670. package/dist/chunk-5UOPIPZC.js +0 -95
  671. package/dist/chunk-5YBUFCFF.js +0 -135
  672. package/dist/chunk-62APEMF3.js +0 -280
  673. package/dist/chunk-62APEMF3.js.map +0 -1
  674. package/dist/chunk-6P5AJ2ZS.js +0 -120
  675. package/dist/chunk-6P5AJ2ZS.js.map +0 -1
  676. package/dist/chunk-6PALJTC2.js +0 -430
  677. package/dist/chunk-6PALJTC2.js.map +0 -1
  678. package/dist/chunk-6S7T6WC4.js +0 -111
  679. package/dist/chunk-6S7T6WC4.js.map +0 -1
  680. package/dist/chunk-6Z435B6N.js +0 -1656
  681. package/dist/chunk-6Z435B6N.js.map +0 -1
  682. package/dist/chunk-723XB5NX.js +0 -86
  683. package/dist/chunk-7CZ6YXMO.js +0 -124
  684. package/dist/chunk-7KTL4RHZ.js +0 -120
  685. package/dist/chunk-7KTL4RHZ.js.map +0 -1
  686. package/dist/chunk-7TAV3BFQ.js +0 -766
  687. package/dist/chunk-7TAV3BFQ.js.map +0 -1
  688. package/dist/chunk-BASCPHNM.js +0 -380
  689. package/dist/chunk-BASCPHNM.js.map +0 -1
  690. package/dist/chunk-BGIZAFY7.js +0 -1
  691. package/dist/chunk-BJ2XF2RC.js +0 -823
  692. package/dist/chunk-BM6E4MUT.js +0 -881
  693. package/dist/chunk-BM6E4MUT.js.map +0 -1
  694. package/dist/chunk-BTFTHF6Q.js +0 -42
  695. package/dist/chunk-C4NOLA5X.js +0 -132
  696. package/dist/chunk-C4NOLA5X.js.map +0 -1
  697. package/dist/chunk-CHK5VVMI.js +0 -155
  698. package/dist/chunk-DCVVCJVB.js +0 -45
  699. package/dist/chunk-EU7HDMT3.js +0 -54
  700. package/dist/chunk-F3EKFGUS.js +0 -99
  701. package/dist/chunk-FCOZ7DEC.js +0 -355
  702. package/dist/chunk-FCOZ7DEC.js.map +0 -1
  703. package/dist/chunk-FWART3VA.js +0 -205
  704. package/dist/chunk-FZK3JJJK.js +0 -150
  705. package/dist/chunk-GDOOG5YQ.js +0 -382
  706. package/dist/chunk-GLVXQU3E.js +0 -155
  707. package/dist/chunk-HU55NPHZ.js +0 -80
  708. package/dist/chunk-I6JJ6VJS.js +0 -97
  709. package/dist/chunk-I6URUNTD.js +0 -59
  710. package/dist/chunk-IARAK3PK.js +0 -14
  711. package/dist/chunk-II6DLDZM.js +0 -30
  712. package/dist/chunk-J5YUA6JB.js +0 -23
  713. package/dist/chunk-J7OH6R4K.js +0 -49
  714. package/dist/chunk-K2WCO3NX.js +0 -1
  715. package/dist/chunk-L6Q5NA22.js +0 -40
  716. package/dist/chunk-LFGJG4XZ.js +0 -30
  717. package/dist/chunk-M3OYTM5Z.js +0 -85
  718. package/dist/chunk-MOQ5M46U.js +0 -209
  719. package/dist/chunk-NTPWQH4S.js +0 -589
  720. package/dist/chunk-OJ64XMPJ.js +0 -1434
  721. package/dist/chunk-OJ64XMPJ.js.map +0 -1
  722. package/dist/chunk-OWGAXPRE.js +0 -129
  723. package/dist/chunk-P2PEPSPK.js +0 -230
  724. package/dist/chunk-P6TZ3IVN.js +0 -453
  725. package/dist/chunk-P6TZ3IVN.js.map +0 -1
  726. package/dist/chunk-PAJCRV7O.js +0 -123
  727. package/dist/chunk-PMMV5SQC.js +0 -416
  728. package/dist/chunk-PMMV5SQC.js.map +0 -1
  729. package/dist/chunk-PPPZIBKY.js +0 -261
  730. package/dist/chunk-PPPZIBKY.js.map +0 -1
  731. package/dist/chunk-PVC2FBCQ.js +0 -45
  732. package/dist/chunk-PYIUDUGS.js +0 -36
  733. package/dist/chunk-QABECTNN.js +0 -255
  734. package/dist/chunk-QYMMMKOO.js +0 -164
  735. package/dist/chunk-R4IVPJHN.js +0 -130
  736. package/dist/chunk-REWTMYSF.js +0 -32
  737. package/dist/chunk-REWTMYSF.js.map +0 -1
  738. package/dist/chunk-RNYDHIQL.js +0 -367
  739. package/dist/chunk-RUIMKQTA.js +0 -23
  740. package/dist/chunk-RUIMKQTA.js.map +0 -1
  741. package/dist/chunk-TCGVRKOS.js +0 -367
  742. package/dist/chunk-TIAYXOEI.js +0 -99
  743. package/dist/chunk-TQ3REHVF.js +0 -95
  744. package/dist/chunk-TQ3REHVF.js.map +0 -1
  745. package/dist/chunk-TUL5YQWF.js +0 -777
  746. package/dist/chunk-U7LV2DUN.js +0 -74
  747. package/dist/chunk-UB3XHGFG.js +0 -181
  748. package/dist/chunk-UB3XHGFG.js.map +0 -1
  749. package/dist/chunk-UMH35AQV.js +0 -70
  750. package/dist/chunk-UWZ7O4NR.js +0 -29
  751. package/dist/chunk-V76PHWLE.js +0 -41
  752. package/dist/chunk-VFQOE76I.js +0 -69
  753. package/dist/chunk-VIWOGJ2O.js +0 -71
  754. package/dist/chunk-VK6OC22R.js +0 -37
  755. package/dist/chunk-VK6OC22R.js.map +0 -1
  756. package/dist/chunk-VVLOWY74.js +0 -150
  757. package/dist/chunk-VVLOWY74.js.map +0 -1
  758. package/dist/chunk-W3JABOVB.js +0 -53
  759. package/dist/chunk-W3JABOVB.js.map +0 -1
  760. package/dist/chunk-WPNP3NF5.js +0 -1221
  761. package/dist/chunk-WPNP3NF5.js.map +0 -1
  762. package/dist/chunk-X5QZAJDB.js +0 -59
  763. package/dist/chunk-X6VNIRHS.js +0 -239
  764. package/dist/chunk-X6VNIRHS.js.map +0 -1
  765. package/dist/chunk-XBPUVQDO.js +0 -664
  766. package/dist/chunk-XBPUVQDO.js.map +0 -1
  767. package/dist/chunk-XW5LZYV4.js +0 -21
  768. package/dist/chunk-YTCCC6NG.js +0 -320
  769. package/dist/chunk-YTCCC6NG.js.map +0 -1
  770. package/dist/classified/index.d.ts +0 -17
  771. package/dist/collection-facade-EJVIN2BY.js +0 -39
  772. package/dist/computed-6FOFXQPE.js +0 -11
  773. package/dist/config-drift-RFEVGBKR.js +0 -24
  774. package/dist/config-drift-RFEVGBKR.js.map +0 -1
  775. package/dist/consent/index.d.ts +0 -23
  776. package/dist/crdt/index.d.ts +0 -34
  777. package/dist/dead-filter-RHMNYOXP.js +0 -28
  778. package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
  779. package/dist/delegation-IHXOASHV.js +0 -25
  780. package/dist/derivations/index.d.ts +0 -70
  781. package/dist/derive-CD3ZVIXK.js +0 -21
  782. package/dist/describe/index.d.ts +0 -1
  783. package/dist/describe/index.js +0 -1
  784. package/dist/describe-C6iHNlqJ.d.ts +0 -162
  785. package/dist/dev-unlock-wgQ7Ci5I.d.ts +0 -263
  786. package/dist/discriminant-BN9REW3o.d.ts +0 -60
  787. package/dist/enclave-KGEUW2GL.js +0 -123
  788. package/dist/executor-EUPYHCLU.js +0 -9
  789. package/dist/executor-KZ4B3PRT.js +0 -9
  790. package/dist/executor-MHUM2VZK.js +0 -21
  791. package/dist/export-accessible-Z3NSZZHN.js +0 -23
  792. package/dist/extract-partition-VSKT35JG.js +0 -36
  793. package/dist/fanout-sidecar-NBDKKCHT.js +0 -74
  794. package/dist/find-OH4BEULF.js +0 -11
  795. package/dist/forget/index.d.ts +0 -36
  796. package/dist/guards/index.d.ts +0 -35
  797. package/dist/hash-CwHnoKyW.d.ts +0 -72
  798. package/dist/history/index.d.ts +0 -61
  799. package/dist/i18n/index.d.ts +0 -37
  800. package/dist/in/index.d.ts +0 -5
  801. package/dist/index-B9QdHytu.d.ts +0 -123
  802. package/dist/index-CTvUp94-.d.ts +0 -123
  803. package/dist/index-Dn5GzPg_.d.ts +0 -22138
  804. package/dist/indexing/index.d.ts +0 -39
  805. package/dist/issue-AEOL6RXA.js +0 -19
  806. package/dist/kernel/index.d.ts +0 -32
  807. package/dist/kernel/index.js +0 -59
  808. package/dist/lazy/index.d.ts +0 -21
  809. package/dist/ledger-3LR3YO2W.js +0 -42
  810. package/dist/liberate-XSEPRWEA.js +0 -24
  811. package/dist/link-set-NSUIX6BR.js +0 -31
  812. package/dist/materialized-views/index.d.ts +0 -173
  813. package/dist/mime-magic-CYbFNQ4h.d.ts +0 -103
  814. package/dist/noydb-POVTIVQ6.js +0 -62
  815. package/dist/on/index.d.ts +0 -5
  816. package/dist/overlay-views/index.d.ts +0 -98
  817. package/dist/periods/index.d.ts +0 -20
  818. package/dist/pod/index.d.ts +0 -63
  819. package/dist/policy-Y7HL2KGA.js +0 -41
  820. package/dist/portability/index.d.ts +0 -20
  821. package/dist/post-register-KOFRTCDD.js +0 -55
  822. package/dist/post-register-KOFRTCDD.js.map +0 -1
  823. package/dist/public-envelope-NC7SPNMV.js +0 -32
  824. package/dist/query/index.d.ts +0 -5
  825. package/dist/read-only-facade-5ADRJVTM.js +0 -8
  826. package/dist/register-3D6R2MKN.js +0 -23
  827. package/dist/registry-AI4E46PD.js +0 -19
  828. package/dist/registry-HSNQ4NBP.js +0 -9
  829. package/dist/registry-WIX6QCV5.js +0 -17
  830. package/dist/request-withdrawal-GU4XS2R5.js +0 -31
  831. package/dist/reveal-5Y777N5Q.js +0 -38
  832. package/dist/reveal-5Y777N5Q.js.map +0 -1
  833. package/dist/revoke-ZFETCLYV.js +0 -24
  834. package/dist/revoke-ZFETCLYV.js.map +0 -1
  835. package/dist/satellites/index.d.ts +0 -5
  836. package/dist/sealed-record/index.d.ts +0 -69
  837. package/dist/session/index.d.ts +0 -44
  838. package/dist/shadow/index.d.ts +0 -15
  839. package/dist/signer-GAIMQQ2J.js +0 -25
  840. package/dist/signer-GAIMQQ2J.js.map +0 -1
  841. package/dist/snapshots/index.d.ts +0 -26
  842. package/dist/stale-77LP2EEF.js +0 -14
  843. package/dist/stale-77LP2EEF.js.map +0 -1
  844. package/dist/storage-KEXIXLGM.js +0 -23
  845. package/dist/storage-KEXIXLGM.js.map +0 -1
  846. package/dist/store-coordination-provider-NJDDZ264.js +0 -142
  847. package/dist/subject-index-O75wKshW.d.ts +0 -362
  848. package/dist/sync/index.d.ts +0 -41
  849. package/dist/team/index.d.ts +0 -155
  850. package/dist/tiers/index.d.ts +0 -5
  851. package/dist/to/index.d.ts +0 -5
  852. package/dist/transition-guard-D5RLJv8S.d.ts +0 -165
  853. package/dist/tx/index.d.ts +0 -35
  854. package/dist/ui/index.d.ts +0 -1
  855. package/dist/ulid-DRH25k3y.d.ts +0 -66
  856. package/dist/util/index.d.ts +0 -79
  857. package/dist/validators-C3lrVF-c.d.ts +0 -101
  858. package/dist/vault-diff-_LSIcOMv.d.ts +0 -147
  859. package/dist/verify-CAYGXYNO.js +0 -139
  860. package/dist/verify-CAYGXYNO.js.map +0 -1
  861. package/dist/walk-SMAE4IEI.js +0 -241
  862. package/dist/with/index.d.ts +0 -38
  863. package/dist/with-materialized-view-Xv1-9Bh0.d.ts +0 -27
  864. package/dist/with-overlayed-view-CuWhq_-C.d.ts +0 -12
  865. package/dist/with-rollup-K_iwal4b.d.ts +0 -47
  866. package/dist/withdraw-accessible-Q7BULAN5.js +0 -28
  867. package/dist/withdraw-accessible-Q7BULAN5.js.map +0 -1
  868. /package/dist/{adapter/index.js.map → api-ZGS6LCOF.js.map} +0 -0
  869. /package/dist/{chunk-VIWOGJ2O.js.map → chunk-3B5VVCNY.js.map} +0 -0
  870. /package/dist/{chunk-P2PEPSPK.js.map → chunk-3LQ2YKO4.js.map} +0 -0
  871. /package/dist/{chunk-EU7HDMT3.js.map → chunk-3QCRBHCY.js.map} +0 -0
  872. /package/dist/{chunk-FZK3JJJK.js.map → chunk-4JBYV75E.js.map} +0 -0
  873. /package/dist/{chunk-I6JJ6VJS.js.map → chunk-4NXKCLLQ.js.map} +0 -0
  874. /package/dist/{chunk-VFQOE76I.js.map → chunk-5M5DVGV7.js.map} +0 -0
  875. /package/dist/{chunk-LFGJG4XZ.js.map → chunk-5YOLBEQ6.js.map} +0 -0
  876. /package/dist/{chunk-OWGAXPRE.js.map → chunk-6CRIV7DE.js.map} +0 -0
  877. /package/dist/{chunk-QABECTNN.js.map → chunk-6QTNZJBS.js.map} +0 -0
  878. /package/dist/{chunk-723XB5NX.js.map → chunk-6T2SCQRU.js.map} +0 -0
  879. /package/dist/{chunk-PVC2FBCQ.js.map → chunk-7DSTRQIJ.js.map} +0 -0
  880. /package/dist/{chunk-NTPWQH4S.js.map → chunk-AUSTCW2X.js.map} +0 -0
  881. /package/dist/{chunk-MOQ5M46U.js.map → chunk-B3HJYUOF.js.map} +0 -0
  882. /package/dist/{chunk-QYMMMKOO.js.map → chunk-BDVFPG6Y.js.map} +0 -0
  883. /package/dist/{chunk-PYIUDUGS.js.map → chunk-CAF6WOK7.js.map} +0 -0
  884. /package/dist/{chunk-5HZULLHE.js.map → chunk-CIE2BASH.js.map} +0 -0
  885. /package/dist/{chunk-BTFTHF6Q.js.map → chunk-CRI4OUV4.js.map} +0 -0
  886. /package/dist/{chunk-37JZR7CY.js.map → chunk-DLG74CNB.js.map} +0 -0
  887. /package/dist/{chunk-TCGVRKOS.js.map → chunk-ERJ7FU55.js.map} +0 -0
  888. /package/dist/{chunk-FWART3VA.js.map → chunk-EVVGJDRQ.js.map} +0 -0
  889. /package/dist/{chunk-X5QZAJDB.js.map → chunk-EXK7QRWF.js.map} +0 -0
  890. /package/dist/{chunk-5HRJQSKN.js.map → chunk-EYZ6IQ6X.js.map} +0 -0
  891. /package/dist/{chunk-DCVVCJVB.js.map → chunk-F64IRYG3.js.map} +0 -0
  892. /package/dist/{chunk-BJ2XF2RC.js.map → chunk-FHS2HQSH.js.map} +0 -0
  893. /package/dist/{chunk-HU55NPHZ.js.map → chunk-GKEWXIV5.js.map} +0 -0
  894. /package/dist/{chunk-I6URUNTD.js.map → chunk-GTGPO5KW.js.map} +0 -0
  895. /package/dist/{chunk-5UOPIPZC.js.map → chunk-HB3RFQSC.js.map} +0 -0
  896. /package/dist/{chunk-F3EKFGUS.js.map → chunk-I6GALP6E.js.map} +0 -0
  897. /package/dist/{chunk-R4IVPJHN.js.map → chunk-IL6POWCW.js.map} +0 -0
  898. /package/dist/{chunk-3KBK5LU4.js.map → chunk-IU6SNYX6.js.map} +0 -0
  899. /package/dist/{chunk-TUL5YQWF.js.map → chunk-J2ZX2XUV.js.map} +0 -0
  900. /package/dist/{chunk-UWZ7O4NR.js.map → chunk-JKJOGPZN.js.map} +0 -0
  901. /package/dist/{chunk-V76PHWLE.js.map → chunk-JZUV47FZ.js.map} +0 -0
  902. /package/dist/{chunk-II6DLDZM.js.map → chunk-K5IMOGHB.js.map} +0 -0
  903. /package/dist/{chunk-GDOOG5YQ.js.map → chunk-LASZKVMO.js.map} +0 -0
  904. /package/dist/{chunk-5YBUFCFF.js.map → chunk-NR5LT5RY.js.map} +0 -0
  905. /package/dist/{chunk-UMH35AQV.js.map → chunk-Q5VNKNE5.js.map} +0 -0
  906. /package/dist/{chunk-XW5LZYV4.js.map → chunk-QLWMEXCT.js.map} +0 -0
  907. /package/dist/{chunk-PAJCRV7O.js.map → chunk-QRB7NAOJ.js.map} +0 -0
  908. /package/dist/{chunk-U7LV2DUN.js.map → chunk-R4ROFEYC.js.map} +0 -0
  909. /package/dist/{chunk-RNYDHIQL.js.map → chunk-RIX4V2TB.js.map} +0 -0
  910. /package/dist/{chunk-L6Q5NA22.js.map → chunk-RYCTDFUX.js.map} +0 -0
  911. /package/dist/{chunk-CHK5VVMI.js.map → chunk-RZ5SVOYR.js.map} +0 -0
  912. /package/dist/{chunk-TIAYXOEI.js.map → chunk-SLFHQTTW.js.map} +0 -0
  913. /package/dist/{chunk-J5YUA6JB.js.map → chunk-UNFPPVNI.js.map} +0 -0
  914. /package/dist/{chunk-25G7PUTA.js.map → chunk-VLFCJYTL.js.map} +0 -0
  915. /package/dist/{chunk-7CZ6YXMO.js.map → chunk-VN3DBQAU.js.map} +0 -0
  916. /package/dist/{chunk-J7OH6R4K.js.map → chunk-VZRODIM3.js.map} +0 -0
  917. /package/dist/{chunk-55LSDABW.js.map → chunk-W22IKJE2.js.map} +0 -0
  918. /package/dist/{chunk-GLVXQU3E.js.map → chunk-X3YYQWOQ.js.map} +0 -0
  919. /package/dist/{chunk-M3OYTM5Z.js.map → chunk-YFXZEAYK.js.map} +0 -0
  920. /package/dist/{chunk-5JQMX2EH.js.map → chunk-ZAJAVEXY.js.map} +0 -0
  921. /package/dist/{chunk-26FSVNBL.js.map → chunk-ZICD77GM.js.map} +0 -0
  922. /package/dist/{chunk-IARAK3PK.js.map → chunk-ZUODRVHY.js.map} +0 -0
  923. /package/dist/{api-JDWL67WL.js.map → collection-facade-TLWIPI76.js.map} +0 -0
  924. /package/dist/{chunk-BGIZAFY7.js.map → computed-ZIQTYTDI.js.map} +0 -0
  925. /package/dist/{dead-filter-RHMNYOXP.js.map → dead-filter-ESOBZZP5.js.map} +0 -0
  926. /package/dist/{chunk-K2WCO3NX.js.map → delegation-W7ZV2322.js.map} +0 -0
  927. /package/dist/{collection-facade-EJVIN2BY.js.map → derive-H2BJTLUI.js.map} +0 -0
  928. /package/dist/{computed-6FOFXQPE.js.map → enclave-AP3I5W7O.js.map} +0 -0
  929. /package/dist/{delegation-IHXOASHV.js.map → executor-KGWTNEQD.js.map} +0 -0
  930. /package/dist/{derive-CD3ZVIXK.js.map → executor-OVEXR6RT.js.map} +0 -0
  931. /package/dist/{describe/index.js.map → executor-UNEH5ZYH.js.map} +0 -0
  932. /package/dist/{enclave-KGEUW2GL.js.map → export-accessible-PCMXSUZS.js.map} +0 -0
  933. /package/dist/{executor-EUPYHCLU.js.map → extract-partition-SWHFSYJO.js.map} +0 -0
  934. /package/dist/{fanout-sidecar-NBDKKCHT.js.map → fanout-sidecar-A765THMX.js.map} +0 -0
  935. /package/dist/{executor-KZ4B3PRT.js.map → find-N6345CNT.js.map} +0 -0
  936. /package/dist/{executor-MHUM2VZK.js.map → issue-5OKB6I2R.js.map} +0 -0
  937. /package/dist/{export-accessible-Z3NSZZHN.js.map → ledger-GFBKVPV4.js.map} +0 -0
  938. /package/dist/{extract-partition-VSKT35JG.js.map → liberate-3VDOT4KO.js.map} +0 -0
  939. /package/dist/{find-OH4BEULF.js.map → link-set-Z7Q2ASFX.js.map} +0 -0
  940. /package/dist/{issue-AEOL6RXA.js.map → noydb-ZCJOYBDI.js.map} +0 -0
  941. /package/dist/{kernel/index.js.map → policy-Z3RUAIY2.js.map} +0 -0
  942. /package/dist/{ledger-3LR3YO2W.js.map → public-envelope-B4KNWVUA.js.map} +0 -0
  943. /package/dist/{liberate-XSEPRWEA.js.map → read-only-facade-CHCKSEPD.js.map} +0 -0
  944. /package/dist/{link-set-NSUIX6BR.js.map → register-VAHONCID.js.map} +0 -0
  945. /package/dist/{noydb-POVTIVQ6.js.map → registry-7MLVD3VO.js.map} +0 -0
  946. /package/dist/{policy-Y7HL2KGA.js.map → registry-EPKPD5SM.js.map} +0 -0
  947. /package/dist/{public-envelope-NC7SPNMV.js.map → registry-P5T7PS2U.js.map} +0 -0
  948. /package/dist/{read-only-facade-5ADRJVTM.js.map → request-withdrawal-TI3A5WPS.js.map} +0 -0
  949. /package/dist/{register-3D6R2MKN.js.map → revoke-FDRD6GRW.js.map} +0 -0
  950. /package/dist/{registry-AI4E46PD.js.map → signer-MUWEIUI6.js.map} +0 -0
  951. /package/dist/{registry-HSNQ4NBP.js.map → stale-OSQ7J3AA.js.map} +0 -0
  952. /package/dist/{registry-WIX6QCV5.js.map → storage-MVFCGEQE.js.map} +0 -0
  953. /package/dist/{store-coordination-provider-NJDDZ264.js.map → store-coordination-provider-64OEZFGS.js.map} +0 -0
  954. /package/dist/{walk-SMAE4IEI.js.map → walk-SVNDIZ62.js.map} +0 -0
  955. /package/dist/{request-withdrawal-GU4XS2R5.js.map → withdraw-accessible-WZIEVWSR.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,228 @@
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
+ * Reserved-dict deps of a set of named collections (#653) — the `_dict_*`
104
+ * collections partial sync must auto-include alongside a `collections`
105
+ * filter, mirroring `SyncEngine`'s existing satellite-pair expansion.
106
+ * One hop is provably complete: `vault.collection()` refuses `_dict_*`
107
+ * names, so a dict can never itself declare lookup fields — no
108
+ * dict-of-dict chain to recurse through.
109
+ */
110
+ export declare function reservedDictDepsOf(names: readonly string[], dictKeyFieldRegistry: ReadonlyMap<string, Record<string, string>>): readonly string[];
111
+ /**
112
+ * A lookup dimension's sync membership/altKey table, materialized from its
113
+ * backing rows (#650 Task 3). `keys` is every canonical key present;
114
+ * `altIndex` maps an altKey candidate VALUE to its owning canonical key.
115
+ */
116
+ export interface MaterializedBacking {
117
+ /** Canonical key values present in the materialized rows. */
118
+ readonly keys: ReadonlySet<string>;
119
+ /** altKey candidate value -> canonical key. */
120
+ readonly altIndex: ReadonlyMap<string, string>;
121
+ }
122
+ /**
123
+ * Build a lookup dimension's altKey index from its backing rows, enforcing
124
+ * declare/warm-time uniqueness across `key ∪ altKeys` values (#650 Task 3 —
125
+ * the CHE/SWZ drift class: two different rows must never claim the same
126
+ * candidate key). `rows` is keyed by canonical key (`row[descriptor.key]`
127
+ * for the matrix tier; the dimension's own key for static/reserved).
128
+ * An altKey candidate VALUE may be a string or number — both normalize via
129
+ * `coerceLookupKey` (#651 Task 3); non-scalar/absent values are skipped.
130
+ * Pure — no I/O. Throws `ValidationError` on collision.
131
+ */
132
+ export declare function materializeBackingTable(descriptor: LookupDescriptor, rows: ReadonlyMap<string, Record<string, unknown>>): MaterializedBacking;
133
+ /**
134
+ * Closed-vocabulary membership test for one candidate key (#650 Task 3).
135
+ * Static tier: sync, against the in-config key set (declared `keys`, or the
136
+ * table's own keys when table-bearing). Reserved tier: sync — the declared
137
+ * `keys` union the reserved handle's live write-through snapshot (closes
138
+ * #649 for the native `dict()` spelling: the declared-keys promise the old
139
+ * `dictKey()` doc comment made falsely). Matrix (collection) tier: sync —
140
+ * delegates to `buildLookupAltIndex` so membership is checked against the
141
+ * SAME `row[descriptor.key]` keying the altKey index uses (review fix,
142
+ * Important 1: an earlier PUT-id `.get(key)` scan disagreed with the
143
+ * altIndex whenever `descriptor.key !== 'id'`, wrongly rejecting valid
144
+ * non-id candidates and wrongly accepting an unrelated row's PUT-id).
145
+ */
146
+ export declare function checkLookupMembership(descriptor: LookupDescriptor, key: string, getDictionary: (dimension: string) => LookupHandle, getCollection: (dimension: string) => {
147
+ querySourceForJoin(): JoinableSource;
148
+ }): boolean;
149
+ /**
150
+ * The ONE guarded key coercion (#651 Task 3, dm12) — string/number values
151
+ * coerce to their canonical `String()` form; everything else (`null`,
152
+ * `undefined`, objects, …) coerces to `undefined`. Every consumer that turns
153
+ * a raw record field into a lookup key routes through this, closing the
154
+ * bare-`String()` `"undefined"`/`"null"`-key poisoning class (seam map
155
+ * finding 6): a row whose key field is genuinely absent must never mint the
156
+ * literal candidate string `"undefined"`.
157
+ */
158
+ export declare function coerceLookupKey(raw: unknown): string | undefined;
159
+ /**
160
+ * Resolve a backing row's canonical key VALUE — `coerceLookupKey(row[descriptor.key])`
161
+ * (#651 Task 3). The matrix tier's `row[descriptor.key]`, never the row's own PUT-id
162
+ * when the two differ (`descriptor.key !== 'id'`).
163
+ */
164
+ export declare function resolveBackingRowKey(descriptor: LookupDescriptor, row: Record<string, unknown>): string | undefined;
165
+ /**
166
+ * The referencing-side match predicate — does `rec[field]` (coerced) equal an
167
+ * already-coerced `compareKey` (#651 Task 3)? Shared by every site that scans a
168
+ * referencing collection for rows pointing at a given backing key
169
+ * (`with-shape/links/vault-facade.ts`'s ref-delete propagation, `kernel/via/dispatch.ts`'s
170
+ * forget-fanout twin).
171
+ */
172
+ export declare function matchesReferencingValue(rec: Record<string, unknown>, field: string, compareKey: string): boolean;
173
+ /**
174
+ * Materialize a lookup dimension's altKey index from whatever backing data
175
+ * is synchronously available (#650 Task 3 — the `ingest` source). Static:
176
+ * the in-config table. Reserved: the reserved handle's live write-through
177
+ * cache (the same warm-via-put()/list() cache `resolveDictSource` already
178
+ * relies on). Matrix (collection): the backing collection's own in-memory
179
+ * eager cache via `querySourceForJoin()` — already public, already the
180
+ * mechanism `.join()` uses (`with-shape/links/vault-facade.ts`'s
181
+ * `resolveSource`); no new I/O, no fire-and-forget warm step. Like that
182
+ * existing join precedent, a dimension collection this vault session has
183
+ * not yet opened/populated sees an empty snapshot (no altKey normalization
184
+ * until it has rows) — open/populate it first for normalization to apply.
185
+ * A matrix row whose `descriptor.key` field coerces to `undefined` (missing/
186
+ * non-scalar) is SKIPPED — never enters the index under a poisoned
187
+ * `"undefined"` key (#651 Task 3, dm12).
188
+ */
189
+ export declare function buildLookupAltIndex(descriptor: LookupDescriptor, getDictionary: (dimension: string) => LookupHandle, getCollection: (dimension: string) => {
190
+ querySourceForJoin(): JoinableSource;
191
+ }): MaterializedBacking;
192
+ /** Thin wrapper — `collectLookupRefEdges` + one `graph.registerDerived` call per edge. Lets
193
+ * `vault.collection()` (kernel-surface-budgeted, #650 Task 5) register a collection's lookup-ref
194
+ * edges with a single line, keeping the ceiling-guarded call site a thin call (route logic here). */
195
+ export declare function registerLookupRefEdges(graph: ViaGraph, collectionName: string, lookupFields: Record<string, LookupDescriptor> | undefined): void;
196
+ /**
197
+ * `LookupViaConfig.snapshotFor`'s vault-built row source (#650 Task 6, spec
198
+ * §5; matrix-tier coverage added #650 Task 7, spec §6 — Task 6 deferred it,
199
+ * see `task-6-report.md`'s Concerns #1; the reviewer's Task-7 dispatch
200
+ * refuted the "needs a new vault-resident registry" premise: the descriptor
201
+ * is already in hand at both call sites, so `snapshotFor` just needs to
202
+ * ACCEPT it). Takes the full `descriptor` (not a bare dimension name) so it
203
+ * can route the matrix tier's `key` field, which — unlike reserved tier's
204
+ * hardcoded `'id'` — varies per collection. Routes on `descriptor.backing`:
205
+ *
206
+ * - **reserved**: rows come straight from the SAME `LookupHandle.
207
+ * snapshotEntries()` write-through cache `dictLabelResolver`/
208
+ * `resolveDictSource` already read (no second copy), keyed by each
209
+ * entry's own canonical `key` (always `'id'` by construction for this
210
+ * tier — `dict()`'s factory hardcodes it).
211
+ * - **collection** (matrix): rows come from `getCollection(dimension).
212
+ * querySourceForJoin().snapshot()` — the SAME sync, already-live cache
213
+ * `buildLookupAltIndex`'s matrix branch (above, this file) and `.join()`
214
+ * itself already read — re-keyed via `resolveBackingRowKey(descriptor, row)`,
215
+ * NOT the row's own PUT-id (which may differ when `key !== 'id'`; the exact
216
+ * distinction the #650 Task 3 review fix already applies to
217
+ * `checkLookupMembership`'s matrix branch). A row whose `descriptor.key`
218
+ * field coerces to `undefined` is skipped (#651 Task 3, dm12).
219
+ * - **static**: never routed here — `descriptor.table` is read directly by
220
+ * the caller (`binding.ts`'s `compareLookupOrder`/`resolveLookupOrderLabel`,
221
+ * `snapshot.ts`'s `presentLookupForJoin`); no vault call needed.
222
+ *
223
+ * `isReservedDimension` is the vault's `reservedLookupCollections`
224
+ * membership test.
225
+ */
226
+ export declare function buildLookupSnapshotRows(descriptor: LookupDescriptor, isReservedDimension: (dimension: string) => boolean, getDictionary: (dimension: string) => LookupHandle, getCollection: (dimension: string) => {
227
+ querySourceForJoin(): JoinableSource;
228
+ }): 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;