@noy-db/hub 0.3.0-pre.9 → 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 (958) hide show
  1. package/dist/aggregate/index.js +5 -5
  2. package/dist/api-ZGS6LCOF.js +20 -0
  3. package/dist/as/index.js +11 -11
  4. package/dist/attestation/index.js +18 -18
  5. package/dist/backup-BJ57IKAO.js +242 -0
  6. package/dist/backup-BJ57IKAO.js.map +1 -0
  7. package/dist/blobs/index.js +13 -11
  8. package/dist/blobs/index.js.map +1 -1
  9. package/dist/broker/index.js +92 -0
  10. package/dist/broker/index.js.map +1 -0
  11. package/dist/bundle/index.js +25 -22
  12. package/dist/bundle/index.js.map +1 -1
  13. package/dist/by/index.js +2 -2
  14. package/dist/cargo/index.js +31 -32
  15. package/dist/chunk-2NVOWNI3.js +167 -0
  16. package/dist/chunk-2NVOWNI3.js.map +1 -0
  17. package/dist/chunk-3B5VVCNY.js +71 -0
  18. package/dist/chunk-3LQ2YKO4.js +230 -0
  19. package/dist/chunk-3QCRBHCY.js +54 -0
  20. package/dist/chunk-454JXE57.js +1697 -0
  21. package/dist/chunk-454JXE57.js.map +1 -0
  22. package/dist/chunk-4CTHCN4J.js +480 -0
  23. package/dist/chunk-4CTHCN4J.js.map +1 -0
  24. package/dist/chunk-4GPE63GU.js +111 -0
  25. package/dist/chunk-4GPE63GU.js.map +1 -0
  26. package/dist/chunk-4JBYV75E.js +150 -0
  27. package/dist/chunk-4NXKCLLQ.js +97 -0
  28. package/dist/chunk-4VNQOLML.js +29 -0
  29. package/dist/chunk-4VNQOLML.js.map +1 -0
  30. package/dist/chunk-5M5DVGV7.js +69 -0
  31. package/dist/chunk-5O3XF4DV.js +150 -0
  32. package/dist/chunk-5O3XF4DV.js.map +1 -0
  33. package/dist/chunk-5YOLBEQ6.js +30 -0
  34. package/dist/chunk-6CRIV7DE.js +129 -0
  35. package/dist/chunk-6JTIAGHD.js +621 -0
  36. package/dist/chunk-6JTIAGHD.js.map +1 -0
  37. package/dist/chunk-6QTNZJBS.js +255 -0
  38. package/dist/chunk-6T2SCQRU.js +86 -0
  39. package/dist/chunk-7DSTRQIJ.js +45 -0
  40. package/dist/chunk-AUSTCW2X.js +589 -0
  41. package/dist/chunk-B3HJYUOF.js +209 -0
  42. package/dist/chunk-BDVFPG6Y.js +164 -0
  43. package/dist/chunk-BIOUI4HL.js +1554 -0
  44. package/dist/chunk-BIOUI4HL.js.map +1 -0
  45. package/dist/chunk-CAF6WOK7.js +36 -0
  46. package/dist/chunk-CDUQTA3Z.js +381 -0
  47. package/dist/chunk-CDUQTA3Z.js.map +1 -0
  48. package/dist/chunk-CIE2BASH.js +404 -0
  49. package/dist/chunk-CRI4OUV4.js +42 -0
  50. package/dist/chunk-DLG74CNB.js +91 -0
  51. package/dist/chunk-E5ZQT5KX.js +30 -0
  52. package/dist/chunk-E5ZQT5KX.js.map +1 -0
  53. package/dist/chunk-EQO2UVP4.js +247 -0
  54. package/dist/chunk-EQO2UVP4.js.map +1 -0
  55. package/dist/chunk-ERJ7FU55.js +367 -0
  56. package/dist/chunk-EVVGJDRQ.js +205 -0
  57. package/dist/chunk-EVX47VBM.js +74 -0
  58. package/dist/chunk-EVX47VBM.js.map +1 -0
  59. package/dist/chunk-EXK7QRWF.js +59 -0
  60. package/dist/chunk-EYZ6IQ6X.js +202 -0
  61. package/dist/chunk-F64IRYG3.js +45 -0
  62. package/dist/chunk-FHS2HQSH.js +823 -0
  63. package/dist/chunk-FM3G3NOY.js +206 -0
  64. package/dist/chunk-FM3G3NOY.js.map +1 -0
  65. package/dist/chunk-FUG4SFN3.js +36 -0
  66. package/dist/chunk-FUG4SFN3.js.map +1 -0
  67. package/dist/chunk-GKEWXIV5.js +80 -0
  68. package/dist/chunk-GTGPO5KW.js +59 -0
  69. package/dist/chunk-HB3RFQSC.js +95 -0
  70. package/dist/chunk-HDMEGAQE.js +957 -0
  71. package/dist/chunk-HDMEGAQE.js.map +1 -0
  72. package/dist/chunk-HDQIIUPH.js +135 -0
  73. package/dist/chunk-HDQIIUPH.js.map +1 -0
  74. package/dist/chunk-HTJQYHZP.js +344 -0
  75. package/dist/chunk-HTJQYHZP.js.map +1 -0
  76. package/dist/chunk-I6GALP6E.js +99 -0
  77. package/dist/chunk-IGJCYUT5.js +99 -0
  78. package/dist/chunk-IGJCYUT5.js.map +1 -0
  79. package/dist/chunk-IL6POWCW.js +130 -0
  80. package/dist/chunk-IU6SNYX6.js +117 -0
  81. package/dist/chunk-J2ZX2XUV.js +778 -0
  82. package/dist/chunk-JIF24JPM.js +495 -0
  83. package/dist/chunk-JIF24JPM.js.map +1 -0
  84. package/dist/chunk-JK733I5V.js +23 -0
  85. package/dist/chunk-JK733I5V.js.map +1 -0
  86. package/dist/chunk-JKJOGPZN.js +29 -0
  87. package/dist/chunk-JNAI2HN2.js +32 -0
  88. package/dist/chunk-JNAI2HN2.js.map +1 -0
  89. package/dist/chunk-JZUV47FZ.js +41 -0
  90. package/dist/chunk-K5IMOGHB.js +30 -0
  91. package/dist/chunk-KPZS5QAQ.js +151 -0
  92. package/dist/chunk-KPZS5QAQ.js.map +1 -0
  93. package/dist/chunk-KSKBRKGJ.js +291 -0
  94. package/dist/chunk-KSKBRKGJ.js.map +1 -0
  95. package/dist/chunk-LASZKVMO.js +382 -0
  96. package/dist/chunk-LXEXBTKL.js +515 -0
  97. package/dist/chunk-LXEXBTKL.js.map +1 -0
  98. package/dist/chunk-M4CV6BRT.js +524 -0
  99. package/dist/chunk-M4CV6BRT.js.map +1 -0
  100. package/dist/chunk-MEFJPTZ4.js +371 -0
  101. package/dist/chunk-MEFJPTZ4.js.map +1 -0
  102. package/dist/chunk-MV43JSJF.js +265 -0
  103. package/dist/chunk-MV43JSJF.js.map +1 -0
  104. package/dist/chunk-NJ4EOKMB.js +392 -0
  105. package/dist/chunk-NJ4EOKMB.js.map +1 -0
  106. package/dist/chunk-NR5LT5RY.js +135 -0
  107. package/dist/chunk-NWSGI5C7.js +261 -0
  108. package/dist/chunk-OSDB5WW3.js +739 -0
  109. package/dist/chunk-OSDB5WW3.js.map +1 -0
  110. package/dist/chunk-PN2XMATY.js +37 -0
  111. package/dist/chunk-PN2XMATY.js.map +1 -0
  112. package/dist/chunk-Q5VNKNE5.js +70 -0
  113. package/dist/chunk-QLWMEXCT.js +21 -0
  114. package/dist/chunk-QRB7NAOJ.js +123 -0
  115. package/dist/chunk-R4ROFEYC.js +74 -0
  116. package/dist/chunk-RCVJZMFE.js +164 -0
  117. package/dist/chunk-RCVJZMFE.js.map +1 -0
  118. package/dist/chunk-RIX4V2TB.js +367 -0
  119. package/dist/chunk-RYCTDFUX.js +40 -0
  120. package/dist/chunk-RZ5SVOYR.js +155 -0
  121. package/dist/chunk-SLFHQTTW.js +99 -0
  122. package/dist/chunk-SNZ6URZZ.js +2782 -0
  123. package/dist/chunk-SNZ6URZZ.js.map +1 -0
  124. package/dist/chunk-T2FFWNPK.js +75 -0
  125. package/dist/chunk-UNFPPVNI.js +23 -0
  126. package/dist/chunk-VFUPHI2Z.js +333 -0
  127. package/dist/chunk-VFUPHI2Z.js.map +1 -0
  128. package/dist/chunk-VLFCJYTL.js +235 -0
  129. package/dist/chunk-VN3DBQAU.js +124 -0
  130. package/dist/chunk-VYYM3MEN.js +98 -0
  131. package/dist/chunk-VYYM3MEN.js.map +1 -0
  132. package/dist/chunk-VZRODIM3.js +49 -0
  133. package/dist/chunk-W22IKJE2.js +94 -0
  134. package/dist/chunk-X3YYQWOQ.js +155 -0
  135. package/dist/chunk-X7QBD67R.js +14405 -0
  136. package/dist/chunk-X7QBD67R.js.map +1 -0
  137. package/dist/chunk-XDYREZWE.js +1128 -0
  138. package/dist/chunk-XDYREZWE.js.map +1 -0
  139. package/dist/chunk-XWZVFISC.js +720 -0
  140. package/dist/chunk-XWZVFISC.js.map +1 -0
  141. package/dist/chunk-YFXZEAYK.js +85 -0
  142. package/dist/chunk-ZAJAVEXY.js +50 -0
  143. package/dist/chunk-ZICD77GM.js +34 -0
  144. package/dist/chunk-ZJ2AK4V7.js +38 -0
  145. package/dist/chunk-ZUODRVHY.js +14 -0
  146. package/dist/classified/index.js +5 -5
  147. package/dist/classified-marker-CZKA6ITE.js +28 -0
  148. package/dist/classified-marker-CZKA6ITE.js.map +1 -0
  149. package/dist/collection-facade-TLWIPI76.js +44 -0
  150. package/dist/computed-ZIQTYTDI.js +11 -0
  151. package/dist/consent/index.js +9 -9
  152. package/dist/crdt/index.js +1 -1
  153. package/dist/dead-filter-ESOBZZP5.js +28 -0
  154. package/dist/delegation-W7ZV2322.js +25 -0
  155. package/dist/derivations/index.js +12 -12
  156. package/dist/derive-H2BJTLUI.js +21 -0
  157. package/dist/enclave-AP3I5W7O.js +141 -0
  158. package/dist/executor-KGWTNEQD.js +9 -0
  159. package/dist/executor-OVEXR6RT.js +9 -0
  160. package/dist/executor-UNEH5ZYH.js +25 -0
  161. package/dist/export-accessible-PCMXSUZS.js +23 -0
  162. package/dist/extract-partition-SWHFSYJO.js +38 -0
  163. package/dist/fanout-sidecar-A765THMX.js +74 -0
  164. package/dist/find-N6345CNT.js +11 -0
  165. package/dist/forget/index.js +10 -10
  166. package/dist/forget/index.js.map +1 -1
  167. package/dist/guards/index.js +6 -6
  168. package/dist/history/index.js +14 -11
  169. package/dist/history/index.js.map +1 -1
  170. package/dist/i18n/index.js +21 -19
  171. package/dist/i18n/index.js.map +1 -1
  172. package/dist/index.d.ts +307 -1493
  173. package/dist/index.js +309 -190
  174. package/dist/index.js.map +1 -1
  175. package/dist/indexing/index.js +7 -7
  176. package/dist/indexing/index.js.map +1 -1
  177. package/dist/issue-5OKB6I2R.js +19 -0
  178. package/dist/kernel/best-effort-revert.d.ts +52 -0
  179. package/dist/kernel/cache/index.d.ts +10 -0
  180. package/dist/kernel/cache/lru.d.ts +97 -0
  181. package/dist/kernel/cache/policy.d.ts +32 -0
  182. package/dist/kernel/collection-config.d.ts +809 -0
  183. package/dist/kernel/collection.d.ts +1522 -0
  184. package/dist/kernel/constants.d.ts +18 -0
  185. package/dist/kernel/debug.d.ts +25 -0
  186. package/dist/kernel/enclave/broker/proof.d.ts +154 -0
  187. package/dist/kernel/enclave/classify/bidx.d.ts +77 -0
  188. package/dist/kernel/enclave/classify/compare.d.ts +10 -0
  189. package/dist/kernel/enclave/classify/digest.d.ts +8 -0
  190. package/dist/kernel/enclave/classify/find.d.ts +36 -0
  191. package/dist/kernel/enclave/classify/kofn.d.ts +7 -0
  192. package/dist/kernel/enclave/classify/normalize.d.ts +7 -0
  193. package/dist/kernel/enclave/classify/reveal.d.ts +10 -0
  194. package/dist/kernel/enclave/classify/vdig.d.ts +39 -0
  195. package/dist/kernel/enclave/classify/verify.d.ts +36 -0
  196. package/dist/kernel/enclave/classify/write.d.ts +8 -0
  197. package/dist/kernel/enclave/crypto.d.ts +263 -0
  198. package/dist/kernel/enclave/index.d.ts +79 -0
  199. package/dist/kernel/enclave/record-keys/deterministic.d.ts +55 -0
  200. package/dist/kernel/enclave/record-keys/envelope-body.d.ts +79 -0
  201. package/dist/kernel/enclave/record-keys/lifecycle.d.ts +107 -0
  202. package/dist/kernel/enclave/record-keys/record-codec.d.ts +328 -0
  203. package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +14 -0
  204. package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +123 -0
  205. package/dist/kernel/enclave/record-keys/sealing.d.ts +70 -0
  206. package/dist/kernel/enclave/record-keys/tombstone.d.ts +57 -0
  207. package/dist/kernel/env-check.d.ts +1 -0
  208. package/dist/kernel/errors.d.ts +1922 -0
  209. package/dist/kernel/events.d.ts +11 -0
  210. package/dist/kernel/lazy-count.d.ts +13 -0
  211. package/dist/kernel/memory-store.d.ts +17 -0
  212. package/dist/kernel/mutation.d.ts +14 -0
  213. package/dist/kernel/noydb.d.ts +826 -0
  214. package/dist/kernel/paths.d.ts +25 -0
  215. package/dist/kernel/query/builder.d.ts +520 -0
  216. package/dist/kernel/query/index.d.ts +31 -0
  217. package/dist/kernel/query/join.d.ts +205 -0
  218. package/dist/kernel/query/live.d.ts +111 -0
  219. package/dist/kernel/query/predicate.d.ts +139 -0
  220. package/dist/kernel/query/scan-builder.d.ts +334 -0
  221. package/dist/kernel/refs.d.ts +205 -0
  222. package/dist/kernel/schema.d.ts +134 -0
  223. package/dist/kernel/sync-policy.d.ts +188 -0
  224. package/dist/kernel/tier-visibility.d.ts +54 -0
  225. package/dist/kernel/types.d.ts +3239 -0
  226. package/dist/kernel/util/discriminant.d.ts +58 -0
  227. package/dist/kernel/util/index.d.ts +14 -0
  228. package/dist/kernel/util/sanitize-filename.d.ts +75 -0
  229. package/dist/kernel/validation.d.ts +130 -0
  230. package/dist/kernel/vault.d.ts +1740 -0
  231. package/dist/kernel/via/compose.d.ts +144 -0
  232. package/dist/kernel/via/dispatch.d.ts +195 -0
  233. package/dist/kernel/via/graph-wiring.d.ts +145 -0
  234. package/dist/kernel/via/graph.d.ts +166 -0
  235. package/dist/kernel/via/index.d.ts +200 -0
  236. package/dist/kernel/via/pipeline.d.ts +266 -0
  237. package/dist/kernel/via/reconcile.d.ts +153 -0
  238. package/dist/kernel/via/taint-binding.d.ts +66 -0
  239. package/dist/kernel/write-queue.d.ts +46 -0
  240. package/dist/ledger-GFBKVPV4.js +42 -0
  241. package/dist/legacy/bundle.d.ts +30 -0
  242. package/dist/legacy/kernel.d.ts +33 -0
  243. package/dist/liberate-3VDOT4KO.js +24 -0
  244. package/dist/link-set-Z7Q2ASFX.js +31 -0
  245. package/dist/materialized-views/index.js +19 -17
  246. package/dist/noydb-ZCJOYBDI.js +68 -0
  247. package/dist/on/index.js +9 -9
  248. package/dist/overlay-views/index.js +4 -4
  249. package/dist/periods/index.js +12 -12
  250. package/dist/pod/index.js +11 -11
  251. package/dist/policy-Z3RUAIY2.js +41 -0
  252. package/dist/port/as/index.d.ts +26 -0
  253. package/dist/port/at/index.d.ts +18 -0
  254. package/dist/port/by/default-provider.d.ts +9 -0
  255. package/dist/port/by/index.d.ts +17 -0
  256. package/dist/port/by/types.d.ts +86 -0
  257. package/dist/port/in/index.d.ts +21 -0
  258. package/dist/port/on/index.d.ts +27 -0
  259. package/dist/port/to/index.d.ts +19 -0
  260. package/dist/port/ui/index.d.ts +21 -0
  261. package/dist/port/with/blob-strategy.d.ts +98 -0
  262. package/dist/port/with/broker-strategy.d.ts +84 -0
  263. package/dist/port/with/capabilities.d.ts +31 -0
  264. package/dist/port/with/classified-marker.d.ts +9 -0
  265. package/dist/port/with/classified-strategy.d.ts +62 -0
  266. package/dist/port/with/computed-strategy.d.ts +19 -0
  267. package/dist/port/with/i18n-strategy.d.ts +175 -0
  268. package/dist/port/with/index.d.ts +18 -0
  269. package/dist/port/with/lazy-strategy.d.ts +48 -0
  270. package/dist/port/with/lookup-strategy.d.ts +129 -0
  271. package/dist/port/with/service-bus.d.ts +156 -0
  272. package/dist/port/with/team-strategy.d.ts +36 -0
  273. package/dist/port/with/write-hooks.d.ts +34 -0
  274. package/dist/portability/index.js +8 -8
  275. package/dist/post-register-JTH76BLY.js +60 -0
  276. package/dist/post-register-JTH76BLY.js.map +1 -0
  277. package/dist/public-envelope-B4KNWVUA.js +32 -0
  278. package/dist/purge-scope-FGNNLWHD.js +24 -0
  279. package/dist/purge-scope-FGNNLWHD.js.map +1 -0
  280. package/dist/query/index.js +7 -7
  281. package/dist/read-only-facade-CHCKSEPD.js +8 -0
  282. package/dist/register-VAHONCID.js +23 -0
  283. package/dist/registry-7MLVD3VO.js +19 -0
  284. package/dist/registry-EPKPD5SM.js +18 -0
  285. package/dist/registry-P5T7PS2U.js +9 -0
  286. package/dist/request-withdrawal-TI3A5WPS.js +31 -0
  287. package/dist/reveal-DIBHLUZX.js +38 -0
  288. package/dist/reveal-DIBHLUZX.js.map +1 -0
  289. package/dist/revoke-FDRD6GRW.js +24 -0
  290. package/dist/satellites/index.js +1 -1
  291. package/dist/sealed-record/index.js +12 -12
  292. package/dist/seed-Q6M2IZFL.js +231 -0
  293. package/dist/seed-Q6M2IZFL.js.map +1 -0
  294. package/dist/session/index.js +9 -9
  295. package/dist/shadow/index.js +2 -2
  296. package/dist/signer-MUWEIUI6.js +25 -0
  297. package/dist/snapshots/index.js +10 -10
  298. package/dist/stale-OSQ7J3AA.js +29 -0
  299. package/dist/storage-MVFCGEQE.js +23 -0
  300. package/dist/store-coordination-provider-64OEZFGS.js +142 -0
  301. package/dist/sync/index.js +9 -9
  302. package/dist/team/index.js +15 -15
  303. package/dist/tiers/index.js +14 -10
  304. package/dist/to/index.js +1 -2
  305. package/dist/tx/index.js +3 -3
  306. package/dist/util/index.js +1 -1
  307. package/dist/verify-ZASTRNPR.js +140 -0
  308. package/dist/verify-ZASTRNPR.js.map +1 -0
  309. package/dist/via/blob/active.d.ts +34 -0
  310. package/dist/via/blob/binding.d.ts +86 -0
  311. package/dist/via/blob/index.d.ts +34 -0
  312. package/dist/via/classified/active.d.ts +3 -0
  313. package/dist/via/classified/binding.d.ts +83 -0
  314. package/dist/via/classified/config-drift.d.ts +34 -0
  315. package/dist/via/classified/descriptor.d.ts +66 -0
  316. package/dist/via/classified/errors.d.ts +19 -0
  317. package/dist/via/classified/guards.d.ts +23 -0
  318. package/dist/via/classified/index.d.ts +11 -0
  319. package/dist/via/classified/presets.d.ts +65 -0
  320. package/dist/via/classified/resolve.d.ts +9 -0
  321. package/dist/via/classified/strategy.d.ts +11 -0
  322. package/dist/via/classified/validators.d.ts +3 -0
  323. package/dist/via/classified/write.d.ts +4 -0
  324. package/dist/via/computed/binding.d.ts +34 -0
  325. package/dist/via/computed/descriptor.d.ts +35 -0
  326. package/dist/via/i18n/active.d.ts +28 -0
  327. package/dist/via/i18n/binding.d.ts +36 -0
  328. package/dist/via/i18n/core.d.ts +267 -0
  329. package/dist/via/i18n/densify.d.ts +24 -0
  330. package/dist/via/i18n/dictionary.d.ts +200 -0
  331. package/dist/via/i18n/index.d.ts +21 -0
  332. package/dist/via/i18n/policy.d.ts +44 -0
  333. package/dist/via/i18n/script.d.ts +26 -0
  334. package/dist/via/i18n/strategy.d.ts +13 -0
  335. package/dist/via/lookup/active.d.ts +19 -0
  336. package/dist/via/lookup/binding.d.ts +99 -0
  337. package/dist/via/lookup/descriptor.d.ts +123 -0
  338. package/dist/via/lookup/handle.d.ts +220 -0
  339. package/dist/via/lookup/index.d.ts +17 -0
  340. package/dist/via/lookup/registry.d.ts +228 -0
  341. package/dist/via/lookup/snapshot.d.ts +67 -0
  342. package/dist/via/money/arith.d.ts +68 -0
  343. package/dist/via/money/binding.d.ts +21 -0
  344. package/dist/via/money/branded.d.ts +61 -0
  345. package/dist/via/money/descriptor.d.ts +73 -0
  346. package/dist/via/money/fixed-point.d.ts +51 -0
  347. package/dist/via/money/index.d.ts +15 -0
  348. package/dist/via/money/iso4217.d.ts +6 -0
  349. package/dist/via/money/money-reducer.d.ts +33 -0
  350. package/dist/via/money/normalize.d.ts +105 -0
  351. package/dist/via/money/paths.d.ts +61 -0
  352. package/dist/via/money/where.d.ts +127 -0
  353. package/dist/walk-SVNDIZ62.js +241 -0
  354. package/dist/with/index.js +11 -11
  355. package/dist/with-audit/attestation/active.d.ts +10 -0
  356. package/dist/with-audit/attestation/index.d.ts +16 -0
  357. package/dist/with-audit/attestation/issue.d.ts +29 -0
  358. package/dist/with-audit/attestation/revoke.d.ts +15 -0
  359. package/dist/with-audit/attestation/signer.d.ts +33 -0
  360. package/dist/with-audit/attestation/strategy.d.ts +44 -0
  361. package/dist/with-audit/attestation/vault-facade.d.ts +62 -0
  362. package/dist/with-audit/consent/active.d.ts +14 -0
  363. package/dist/with-audit/consent/consent.d.ts +114 -0
  364. package/dist/with-audit/consent/index.d.ts +14 -0
  365. package/dist/with-audit/consent/strategy.d.ts +36 -0
  366. package/dist/with-audit/forget/active.d.ts +31 -0
  367. package/dist/with-audit/forget/index.d.ts +28 -0
  368. package/dist/with-audit/forget/purge-scope.d.ts +54 -0
  369. package/dist/with-audit/forget/strategy.d.ts +199 -0
  370. package/dist/with-audit/forget/subject-index.d.ts +83 -0
  371. package/dist/with-audit/guards/executor.d.ts +26 -0
  372. package/dist/with-audit/guards/immutable-guard.d.ts +63 -0
  373. package/dist/with-audit/guards/index.d.ts +10 -0
  374. package/dist/with-audit/guards/read-only-facade.d.ts +31 -0
  375. package/dist/with-audit/guards/registry.d.ts +83 -0
  376. package/dist/with-audit/guards/transition-guard.d.ts +82 -0
  377. package/dist/with-audit/guards/types.d.ts +134 -0
  378. package/dist/with-audit/guards/with-guard.d.ts +15 -0
  379. package/dist/with-audit/periods/active.d.ts +11 -0
  380. package/dist/with-audit/periods/index.d.ts +18 -0
  381. package/dist/with-audit/periods/periods.d.ts +417 -0
  382. package/dist/with-audit/periods/strategy.d.ts +32 -0
  383. package/dist/with-audit/periods/vault-facade.d.ts +95 -0
  384. package/dist/with-audit/portability/active.d.ts +11 -0
  385. package/dist/with-audit/portability/export-accessible.d.ts +46 -0
  386. package/dist/with-audit/portability/index.d.ts +18 -0
  387. package/dist/with-audit/portability/request-withdrawal.d.ts +85 -0
  388. package/dist/with-audit/portability/strategy.d.ts +31 -0
  389. package/dist/with-audit/portability/withdraw-accessible.d.ts +82 -0
  390. package/dist/with-audit/sealed-record/active.d.ts +9 -0
  391. package/dist/with-audit/sealed-record/index.d.ts +55 -0
  392. package/dist/with-audit/sealed-record/strategy.d.ts +34 -0
  393. package/dist/with-audit/sealed-record/types.d.ts +27 -0
  394. package/dist/with-audit/tiers/active.d.ts +9 -0
  395. package/dist/with-audit/tiers/index.d.ts +394 -0
  396. package/dist/with-audit/tiers/strategy.d.ts +36 -0
  397. package/dist/with-cargo/active.d.ts +11 -0
  398. package/dist/with-cargo/adopt-partition.d.ts +81 -0
  399. package/dist/with-cargo/decrypt-partition.d.ts +19 -0
  400. package/dist/with-cargo/describe-extraction.d.ts +41 -0
  401. package/dist/with-cargo/extract-partition.d.ts +155 -0
  402. package/dist/with-cargo/index.d.ts +33 -0
  403. package/dist/with-cargo/strategy.d.ts +30 -0
  404. package/dist/with-cargo/vault-diff.d.ts +144 -0
  405. package/dist/with-cargo/walk-closure.d.ts +67 -0
  406. package/dist/with-commit/crdt/active.d.ts +25 -0
  407. package/dist/with-commit/crdt/crdt.d.ts +42 -0
  408. package/dist/with-commit/crdt/index.d.ts +16 -0
  409. package/dist/with-commit/crdt/strategy.d.ts +25 -0
  410. package/dist/with-commit/history/active.d.ts +40 -0
  411. package/dist/with-commit/history/diff.d.ts +23 -0
  412. package/dist/with-commit/history/history.d.ts +73 -0
  413. package/dist/with-commit/history/index.d.ts +30 -0
  414. package/dist/with-commit/history/ledger/constants.d.ts +37 -0
  415. package/dist/with-commit/history/ledger/entry.d.ts +195 -0
  416. package/dist/with-commit/history/ledger/hash.d.ts +30 -0
  417. package/dist/with-commit/history/ledger/index.d.ts +19 -0
  418. package/dist/with-commit/history/ledger/patch.d.ts +99 -0
  419. package/dist/with-commit/history/ledger/store.d.ts +356 -0
  420. package/dist/with-commit/history/strategy.d.ts +136 -0
  421. package/dist/with-commit/history/time-machine.d.ts +202 -0
  422. package/dist/with-commit/numbering/descriptor.d.ts +27 -0
  423. package/dist/with-commit/numbering/index.d.ts +69 -0
  424. package/dist/with-commit/sequence/active.d.ts +10 -0
  425. package/dist/with-commit/sequence/index.d.ts +150 -0
  426. package/dist/with-commit/sequence/strategy.d.ts +26 -0
  427. package/dist/with-commit/tx/active.d.ts +27 -0
  428. package/dist/with-commit/tx/dry-run.d.ts +29 -0
  429. package/dist/with-commit/tx/elevated-handle.d.ts +59 -0
  430. package/dist/with-commit/tx/index.d.ts +13 -0
  431. package/dist/with-commit/tx/invariants.d.ts +68 -0
  432. package/dist/with-commit/tx/strategy.d.ts +23 -0
  433. package/dist/with-commit/tx/transaction.d.ts +212 -0
  434. package/dist/with-fork/archive/engine.d.ts +71 -0
  435. package/dist/with-fork/archive/index.d.ts +23 -0
  436. package/dist/with-fork/shadow/active.d.ts +6 -0
  437. package/dist/with-fork/shadow/index.d.ts +14 -0
  438. package/dist/with-fork/shadow/strategy.d.ts +28 -0
  439. package/dist/with-fork/shadow/vault-frame.d.ts +93 -0
  440. package/dist/with-fork/snapshots/active.d.ts +20 -0
  441. package/dist/with-fork/snapshots/engine.d.ts +36 -0
  442. package/dist/with-fork/snapshots/index.d.ts +5 -0
  443. package/dist/with-fork/snapshots/noydb-facade.d.ts +64 -0
  444. package/dist/with-fork/snapshots/policy.d.ts +23 -0
  445. package/dist/with-fork/snapshots/scheduler.d.ts +34 -0
  446. package/dist/with-fork/snapshots/strategy.d.ts +48 -0
  447. package/dist/with-formula/computed/index.d.ts +48 -0
  448. package/dist/with-formula/computed/lazy.d.ts +13 -0
  449. package/dist/with-formula/derivations/executor.d.ts +61 -0
  450. package/dist/with-formula/derivations/fanout-sidecar.d.ts +75 -0
  451. package/dist/with-formula/derivations/index.d.ts +6 -0
  452. package/dist/with-formula/derivations/registry.d.ts +67 -0
  453. package/dist/with-formula/derivations/stale.d.ts +39 -0
  454. package/dist/with-formula/derivations/strategy-hash.d.ts +1 -0
  455. package/dist/with-formula/derivations/types.d.ts +248 -0
  456. package/dist/with-formula/derivations/with-derivation.d.ts +10 -0
  457. package/dist/with-formula/derivations/with-rollup.d.ts +34 -0
  458. package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +58 -0
  459. package/dist/with-formula/materialized-views/executor.d.ts +80 -0
  460. package/dist/with-formula/materialized-views/index.d.ts +11 -0
  461. package/dist/with-formula/materialized-views/query-hash.d.ts +23 -0
  462. package/dist/with-formula/materialized-views/registry.d.ts +99 -0
  463. package/dist/with-formula/materialized-views/stale.d.ts +113 -0
  464. package/dist/with-formula/materialized-views/types.d.ts +318 -0
  465. package/dist/with-formula/materialized-views/with-materialized-view.d.ts +24 -0
  466. package/dist/with-formula/overlay-views/index.d.ts +5 -0
  467. package/dist/with-formula/overlay-views/registry.d.ts +42 -0
  468. package/dist/with-formula/overlay-views/types.d.ts +97 -0
  469. package/dist/with-formula/overlay-views/virtual-collection.d.ts +90 -0
  470. package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +9 -0
  471. package/dist/with-lookup/aggregate/active.d.ts +33 -0
  472. package/dist/with-lookup/aggregate/aggregation.d.ts +166 -0
  473. package/dist/with-lookup/aggregate/canonical-key.d.ts +16 -0
  474. package/dist/with-lookup/aggregate/groupby.d.ts +280 -0
  475. package/dist/with-lookup/aggregate/index.d.ts +23 -0
  476. package/dist/with-lookup/aggregate/reducers.d.ts +257 -0
  477. package/dist/with-lookup/aggregate/strategy.d.ts +59 -0
  478. package/dist/with-lookup/embeddings/cosine.d.ts +2 -0
  479. package/dist/with-lookup/embeddings/descriptor.d.ts +8 -0
  480. package/dist/with-lookup/embeddings/index.d.ts +4 -0
  481. package/dist/with-lookup/embeddings/vec-id.d.ts +47 -0
  482. package/dist/with-lookup/embeddings/vector-set.d.ts +19 -0
  483. package/dist/with-lookup/indexing/active.d.ts +30 -0
  484. package/dist/with-lookup/indexing/collection-facade.d.ts +157 -0
  485. package/dist/with-lookup/indexing/eager-indexes.d.ts +122 -0
  486. package/dist/with-lookup/indexing/index.d.ts +27 -0
  487. package/dist/with-lookup/indexing/lazy-builder.d.ts +102 -0
  488. package/dist/with-lookup/indexing/persisted-indexes.d.ts +229 -0
  489. package/dist/with-lookup/indexing/strategy.d.ts +56 -0
  490. package/dist/with-lookup/indexing/unique-constraints.d.ts +74 -0
  491. package/dist/with-lookup/search/active.d.ts +10 -0
  492. package/dist/with-lookup/search/build-docs.d.ts +15 -0
  493. package/dist/with-lookup/search/collection-facade.d.ts +163 -0
  494. package/dist/with-lookup/search/fuse.d.ts +22 -0
  495. package/dist/with-lookup/search/index-store.d.ts +19 -0
  496. package/dist/with-lookup/search/index.d.ts +19 -0
  497. package/dist/with-lookup/search/inverted-index.d.ts +47 -0
  498. package/dist/with-lookup/search/persisted-index-store.d.ts +121 -0
  499. package/dist/with-lookup/search/retrieve-types.d.ts +29 -0
  500. package/dist/with-lookup/search/scan.d.ts +28 -0
  501. package/dist/with-lookup/search/segment.d.ts +15 -0
  502. package/dist/with-lookup/search/serialize.d.ts +4 -0
  503. package/dist/with-lookup/search/snippet.d.ts +5 -0
  504. package/dist/with-lookup/search/strategy.d.ts +41 -0
  505. package/dist/with-lookup/search/tokenize.d.ts +12 -0
  506. package/dist/with-party/auth-introspection/index.d.ts +44 -0
  507. package/dist/with-party/broker/active.d.ts +23 -0
  508. package/dist/with-party/broker/index.d.ts +28 -0
  509. package/dist/with-party/broker/seed.d.ts +77 -0
  510. package/dist/with-party/custody/active.d.ts +10 -0
  511. package/dist/with-party/custody/index.d.ts +69 -0
  512. package/dist/with-party/custody/liberate.d.ts +64 -0
  513. package/dist/with-party/custody/strategy.d.ts +48 -0
  514. package/dist/with-party/directory/index.d.ts +11 -0
  515. package/dist/with-party/directory/public-envelope/index.d.ts +12 -0
  516. package/dist/with-party/directory/public-envelope/schema.d.ts +24 -0
  517. package/dist/with-party/directory/public-envelope/storage.d.ts +59 -0
  518. package/dist/with-party/directory/public-envelope/types.d.ts +80 -0
  519. package/dist/with-party/directory/storage.d.ts +33 -0
  520. package/dist/with-party/directory/types.d.ts +43 -0
  521. package/dist/with-party/directory/user-envelope/api.d.ts +201 -0
  522. package/dist/with-party/directory/user-envelope/index.d.ts +12 -0
  523. package/dist/with-party/directory/user-envelope/storage.d.ts +54 -0
  524. package/dist/with-party/directory/visibility.d.ts +47 -0
  525. package/dist/with-party/policy/engine.d.ts +60 -0
  526. package/dist/with-party/policy/index.d.ts +15 -0
  527. package/dist/with-party/policy/noydb-facade.d.ts +39 -0
  528. package/dist/with-party/policy/presets.d.ts +38 -0
  529. package/dist/with-party/policy/storage.d.ts +31 -0
  530. package/dist/with-party/session/active.d.ts +34 -0
  531. package/dist/with-party/session/dev-unlock.d.ts +128 -0
  532. package/dist/with-party/session/index.d.ts +23 -0
  533. package/dist/with-party/session/session-policy.d.ts +92 -0
  534. package/dist/with-party/session/session.d.ts +131 -0
  535. package/dist/with-party/session/strategy.d.ts +42 -0
  536. package/dist/with-party/session/unlock-state.d.ts +47 -0
  537. package/dist/with-party/sync/index.d.ts +31 -0
  538. package/dist/with-party/tab-coordination.d.ts +73 -0
  539. package/dist/with-party/tab-write-relay.d.ts +39 -0
  540. package/dist/with-party/team/active.d.ts +13 -0
  541. package/dist/with-party/team/authenticators.d.ts +95 -0
  542. package/dist/with-party/team/deed.d.ts +97 -0
  543. package/dist/with-party/team/delegation.d.ts +88 -0
  544. package/dist/with-party/team/index.d.ts +38 -0
  545. package/dist/with-party/team/keyring.d.ts +318 -0
  546. package/dist/with-party/team/magic-link-grant.d.ts +152 -0
  547. package/dist/with-party/team/managed-passphrase.d.ts +280 -0
  548. package/dist/with-party/team/noydb-facade.d.ts +484 -0
  549. package/dist/with-party/team/peer-recover.d.ts +81 -0
  550. package/dist/with-party/team/presence.d.ts +81 -0
  551. package/dist/with-party/team/recovery.d.ts +191 -0
  552. package/dist/with-party/team/reserved-secret-collections.d.ts +41 -0
  553. package/dist/with-party/team/rotate-recover.d.ts +275 -0
  554. package/dist/with-party/team/shamir-recovery-provider.d.ts +15 -0
  555. package/dist/with-party/team/strategy.d.ts +9 -0
  556. package/dist/with-party/team/sync-active.d.ts +33 -0
  557. package/dist/with-party/team/sync-credentials.d.ts +113 -0
  558. package/dist/with-party/team/sync-strategy.d.ts +67 -0
  559. package/dist/with-party/team/sync-transaction.d.ts +39 -0
  560. package/dist/with-party/team/sync.d.ts +174 -0
  561. package/dist/with-party/team/tiers.d.ts +39 -0
  562. package/dist/with-party/team/wrapped-deks.d.ts +86 -0
  563. package/dist/with-pod/backup.d.ts +74 -0
  564. package/dist/with-pod/bundle.d.ts +414 -0
  565. package/dist/with-pod/format.d.ts +203 -0
  566. package/dist/with-pod/index.d.ts +20 -0
  567. package/dist/with-pod/pod-store.d.ts +54 -0
  568. package/dist/with-pod/ulid.d.ts +64 -0
  569. package/dist/with-shape/blobs/blob-compaction.d.ts +170 -0
  570. package/dist/with-shape/blobs/blob-intent.d.ts +153 -0
  571. package/dist/with-shape/blobs/blob-set.d.ts +1286 -0
  572. package/dist/with-shape/blobs/export-blobs.d.ts +110 -0
  573. package/dist/with-shape/blobs/import-external.d.ts +50 -0
  574. package/dist/with-shape/blobs/mime-magic.d.ts +48 -0
  575. package/dist/with-shape/blobs/object-projection.d.ts +70 -0
  576. package/dist/with-shape/introspection/describe.d.ts +237 -0
  577. package/dist/with-shape/introspection/field-meta.d.ts +61 -0
  578. package/dist/with-shape/introspection/fields.d.ts +14 -0
  579. package/dist/with-shape/introspection/index.d.ts +12 -0
  580. package/dist/with-shape/introspection/json-schema.d.ts +13 -0
  581. package/dist/with-shape/introspection/meta.d.ts +22 -0
  582. package/dist/with-shape/introspection/projection.d.ts +13 -0
  583. package/dist/with-shape/introspection/types.d.ts +154 -0
  584. package/dist/with-shape/introspection/walk.d.ts +50 -0
  585. package/dist/with-shape/links/lazy-handle.d.ts +36 -0
  586. package/dist/with-shape/links/link-set.d.ts +67 -0
  587. package/dist/with-shape/links/names.d.ts +65 -0
  588. package/dist/with-shape/links/vault-facade.d.ts +211 -0
  589. package/dist/with-shape/persisted-schemas/canonicalize.d.ts +11 -0
  590. package/dist/with-shape/persisted-schemas/derive.d.ts +29 -0
  591. package/dist/with-shape/persisted-schemas/index.d.ts +21 -0
  592. package/dist/with-shape/persisted-schemas/register.d.ts +66 -0
  593. package/dist/with-shape/persisted-schemas/storage.d.ts +61 -0
  594. package/dist/with-shape/persisted-schemas/types.d.ts +54 -0
  595. package/dist/with-shape/satellites/dead-filter.d.ts +21 -0
  596. package/dist/with-shape/satellites/declare.d.ts +60 -0
  597. package/dist/with-shape/satellites/existence.d.ts +5 -0
  598. package/dist/with-shape/satellites/fanout.d.ts +38 -0
  599. package/dist/with-shape/satellites/forget.d.ts +47 -0
  600. package/dist/with-shape/satellites/index.d.ts +3 -0
  601. package/dist/with-shape/satellites/joined.d.ts +19 -0
  602. package/dist/with-shape/satellites/marker.d.ts +10 -0
  603. package/dist/with-shape/satellites/migrate-cek.d.ts +26 -0
  604. package/dist/with-shape/satellites/post-register.d.ts +6 -0
  605. package/dist/with-shape/satellites/proxy.d.ts +37 -0
  606. package/dist/with-shape/satellites/raw-target.d.ts +14 -0
  607. package/dist/with-shape/satellites/registry.d.ts +19 -0
  608. package/dist/with-shape/satellites/types.d.ts +37 -0
  609. package/dist/with-shape/satellites/validate.d.ts +17 -0
  610. package/dist/with-shape/schema-update/client-registry.d.ts +35 -0
  611. package/dist/with-shape/schema-update/cutover.d.ts +5 -0
  612. package/dist/with-shape/schema-update/delta.d.ts +2 -0
  613. package/dist/with-shape/schema-update/dispatch.d.ts +3 -0
  614. package/dist/with-shape/schema-update/fence-controller.d.ts +62 -0
  615. package/dist/with-shape/schema-update/fence-watcher.d.ts +37 -0
  616. package/dist/with-shape/schema-update/fence.d.ts +15 -0
  617. package/dist/with-shape/schema-update/gate.d.ts +16 -0
  618. package/dist/with-shape/schema-update/index.d.ts +6 -0
  619. package/dist/with-shape/schema-update/store-coordination-provider.d.ts +29 -0
  620. package/dist/with-shape/schema-update/strategies.d.ts +12 -0
  621. package/dist/with-shape/schema-update/types.d.ts +53 -0
  622. package/dist/with-store/index.d.ts +15 -0
  623. package/dist/with-store/lazy/active.d.ts +12 -0
  624. package/dist/with-store/lazy/index.d.ts +14 -0
  625. package/dist/with-store/lazy/strategy.d.ts +9 -0
  626. package/dist/with-store/route-store.d.ts +259 -0
  627. package/dist/with-store/store-middleware.d.ts +189 -0
  628. package/dist/withdraw-accessible-WZIEVWSR.js +28 -0
  629. package/package.json +47 -55
  630. package/dist/adapter/index.d.ts +0 -4
  631. package/dist/adapter/index.js +0 -15
  632. package/dist/aggregate/index.d.ts +0 -41
  633. package/dist/api-HV4PDUWF.js +0 -20
  634. package/dist/as/index.d.ts +0 -6
  635. package/dist/at/index.d.ts +0 -4
  636. package/dist/attestation/index.d.ts +0 -19
  637. package/dist/backup-ODXO7OGA.js +0 -225
  638. package/dist/backup-ODXO7OGA.js.map +0 -1
  639. package/dist/blobs/index.d.ts +0 -43
  640. package/dist/bundle/index.d.ts +0 -121
  641. package/dist/bundle-DlSxo31R.d.ts +0 -548
  642. package/dist/by/index.d.ts +0 -1
  643. package/dist/cargo/index.d.ts +0 -8
  644. package/dist/chunk-2644KEGW.js +0 -247
  645. package/dist/chunk-2644KEGW.js.map +0 -1
  646. package/dist/chunk-2HVUKRNE.js +0 -21
  647. package/dist/chunk-2KOSJTMU.js +0 -69
  648. package/dist/chunk-2UQ4RMHV.js +0 -167
  649. package/dist/chunk-2UQ4RMHV.js.map +0 -1
  650. package/dist/chunk-2XE6LIXT.js +0 -515
  651. package/dist/chunk-2XE6LIXT.js.map +0 -1
  652. package/dist/chunk-34RRRIC3.js +0 -71
  653. package/dist/chunk-3C5CKXFI.js +0 -621
  654. package/dist/chunk-3C5CKXFI.js.map +0 -1
  655. package/dist/chunk-3I4KYWNP.js +0 -30
  656. package/dist/chunk-42KVY3OC.js +0 -86
  657. package/dist/chunk-4C4WBS4V.js +0 -13822
  658. package/dist/chunk-4C4WBS4V.js.map +0 -1
  659. package/dist/chunk-4G3IT7J7.js +0 -280
  660. package/dist/chunk-4G3IT7J7.js.map +0 -1
  661. package/dist/chunk-4RQ62VSR.js +0 -53
  662. package/dist/chunk-4RQ62VSR.js.map +0 -1
  663. package/dist/chunk-4ZSGSRBI.js +0 -1221
  664. package/dist/chunk-4ZSGSRBI.js.map +0 -1
  665. package/dist/chunk-5GAX2QOH.js +0 -132
  666. package/dist/chunk-5GAX2QOH.js.map +0 -1
  667. package/dist/chunk-5SAZMBW7.js +0 -202
  668. package/dist/chunk-5TZZUL5X.js +0 -30
  669. package/dist/chunk-6CU3FN74.js +0 -777
  670. package/dist/chunk-6G2SCQYS.js +0 -29
  671. package/dist/chunk-6G2SCQYS.js.map +0 -1
  672. package/dist/chunk-6MWUANRF.js +0 -29
  673. package/dist/chunk-6S7T6WC4.js +0 -111
  674. package/dist/chunk-6S7T6WC4.js.map +0 -1
  675. package/dist/chunk-6ULCYCMU.js +0 -74
  676. package/dist/chunk-7HAPHVRJ.js +0 -1695
  677. package/dist/chunk-7HAPHVRJ.js.map +0 -1
  678. package/dist/chunk-7IZQTCTR.js +0 -382
  679. package/dist/chunk-7ZANJ6JZ.js +0 -265
  680. package/dist/chunk-7ZANJ6JZ.js.map +0 -1
  681. package/dist/chunk-A2APWS32.js +0 -150
  682. package/dist/chunk-A2APWS32.js.map +0 -1
  683. package/dist/chunk-A4MAD6PO.js +0 -99
  684. package/dist/chunk-ANDBBA2P.js +0 -36
  685. package/dist/chunk-ANDBBA2P.js.map +0 -1
  686. package/dist/chunk-AUR7MRHA.js +0 -404
  687. package/dist/chunk-AYGZMQP5.js +0 -75
  688. package/dist/chunk-BGIZAFY7.js +0 -1
  689. package/dist/chunk-CJEMA2Z6.js +0 -230
  690. package/dist/chunk-CTSFKDGA.js +0 -40
  691. package/dist/chunk-CU62BBRB.js +0 -1465
  692. package/dist/chunk-CU62BBRB.js.map +0 -1
  693. package/dist/chunk-CWCCYH34.js +0 -23
  694. package/dist/chunk-DEYAO3N6.js +0 -589
  695. package/dist/chunk-DFIBOSOQ.js +0 -85
  696. package/dist/chunk-E5AHO65E.js +0 -150
  697. package/dist/chunk-FC3XK5JT.js +0 -99
  698. package/dist/chunk-FGOGS7CE.js +0 -662
  699. package/dist/chunk-FGOGS7CE.js.map +0 -1
  700. package/dist/chunk-GX2BYNCT.js +0 -117
  701. package/dist/chunk-GZ2MOPVX.js +0 -291
  702. package/dist/chunk-GZ2MOPVX.js.map +0 -1
  703. package/dist/chunk-H57P2SJB.js +0 -126
  704. package/dist/chunk-H57P2SJB.js.map +0 -1
  705. package/dist/chunk-HBTT7YQX.js +0 -94
  706. package/dist/chunk-HOCEGVGQ.js +0 -36
  707. package/dist/chunk-ICV32FPK.js +0 -50
  708. package/dist/chunk-IIP5WFVT.js +0 -462
  709. package/dist/chunk-IIP5WFVT.js.map +0 -1
  710. package/dist/chunk-IUKGIB2Q.js +0 -91
  711. package/dist/chunk-IWTYFS3D.js +0 -129
  712. package/dist/chunk-JC5R7P44.js +0 -355
  713. package/dist/chunk-JC5R7P44.js.map +0 -1
  714. package/dist/chunk-K2WCO3NX.js +0 -1
  715. package/dist/chunk-KBBWY46Y.js +0 -14
  716. package/dist/chunk-KBF5GSGX.js +0 -367
  717. package/dist/chunk-KCG3BHFG.js +0 -99
  718. package/dist/chunk-KCG3BHFG.js.map +0 -1
  719. package/dist/chunk-KNXN47MO.js +0 -155
  720. package/dist/chunk-KWLD2D75.js +0 -38
  721. package/dist/chunk-KXKLKJW4.js +0 -49
  722. package/dist/chunk-KYC4LIEU.js +0 -123
  723. package/dist/chunk-LEOXZY36.js +0 -130
  724. package/dist/chunk-M5I354EE.js +0 -235
  725. package/dist/chunk-MK2BSS44.js +0 -34
  726. package/dist/chunk-MSVY7ULZ.js +0 -70
  727. package/dist/chunk-NNWK3PSY.js +0 -135
  728. package/dist/chunk-NSZ6J5DF.js +0 -59
  729. package/dist/chunk-NUEFXLZU.js +0 -59
  730. package/dist/chunk-NYVQCZ54.js +0 -261
  731. package/dist/chunk-OQAODTYR.js +0 -45
  732. package/dist/chunk-OV4CMJGR.js +0 -164
  733. package/dist/chunk-PEDZFFKW.js +0 -41
  734. package/dist/chunk-PF3FQCCF.js +0 -164
  735. package/dist/chunk-PF3FQCCF.js.map +0 -1
  736. package/dist/chunk-Q2KVKTC2.js +0 -823
  737. package/dist/chunk-QJR3W3MF.js +0 -23
  738. package/dist/chunk-QJR3W3MF.js.map +0 -1
  739. package/dist/chunk-QTXQ6RNZ.js +0 -255
  740. package/dist/chunk-RJ5522XX.js +0 -453
  741. package/dist/chunk-RJ5522XX.js.map +0 -1
  742. package/dist/chunk-RMUXPHIH.js +0 -930
  743. package/dist/chunk-RMUXPHIH.js.map +0 -1
  744. package/dist/chunk-S6AQXDN4.js +0 -155
  745. package/dist/chunk-SSFC3IYA.js +0 -275
  746. package/dist/chunk-SSFC3IYA.js.map +0 -1
  747. package/dist/chunk-SZCHEDML.js +0 -209
  748. package/dist/chunk-TDPEJINP.js +0 -188
  749. package/dist/chunk-TDPEJINP.js.map +0 -1
  750. package/dist/chunk-TQ3REHVF.js +0 -95
  751. package/dist/chunk-TQ3REHVF.js.map +0 -1
  752. package/dist/chunk-UNJU345Q.js +0 -32
  753. package/dist/chunk-UNJU345Q.js.map +0 -1
  754. package/dist/chunk-V7RNIND6.js +0 -265
  755. package/dist/chunk-V7RNIND6.js.map +0 -1
  756. package/dist/chunk-VJ3NQK4K.js +0 -205
  757. package/dist/chunk-WNA6T3MA.js +0 -686
  758. package/dist/chunk-WNA6T3MA.js.map +0 -1
  759. package/dist/chunk-WVCQ75OK.js +0 -124
  760. package/dist/chunk-X66MXMR5.js +0 -42
  761. package/dist/chunk-XHD3L3JO.js +0 -930
  762. package/dist/chunk-XHD3L3JO.js.map +0 -1
  763. package/dist/chunk-XJK2WIYN.js +0 -430
  764. package/dist/chunk-XJK2WIYN.js.map +0 -1
  765. package/dist/chunk-XQ7UYPVN.js +0 -95
  766. package/dist/chunk-Y2OCKFZ3.js +0 -80
  767. package/dist/chunk-YBFOBRTO.js +0 -367
  768. package/dist/chunk-YLN33ADH.js +0 -97
  769. package/dist/chunk-Z5YFRMG5.js +0 -45
  770. package/dist/chunk-ZWQFOXBR.js +0 -54
  771. package/dist/classified/index.d.ts +0 -16
  772. package/dist/classified-marker-IO5EBW7Q.js +0 -24
  773. package/dist/classified-marker-IO5EBW7Q.js.map +0 -1
  774. package/dist/collection-facade-3RAXG2OU.js +0 -38
  775. package/dist/computed-R62HGCO4.js +0 -11
  776. package/dist/consent/index.d.ts +0 -22
  777. package/dist/crdt/index.d.ts +0 -33
  778. package/dist/dead-filter-VNA4M3GP.js +0 -28
  779. package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
  780. package/dist/delegation-ZKII5UBI.js +0 -25
  781. package/dist/derivations/index.d.ts +0 -69
  782. package/dist/derive-5D2C3WG4.js +0 -21
  783. package/dist/describe/index.d.ts +0 -4
  784. package/dist/describe/index.js +0 -1
  785. package/dist/dev-unlock-DDTafVO6.d.ts +0 -263
  786. package/dist/discriminant-BN9REW3o.d.ts +0 -60
  787. package/dist/enclave-EUBEJGPG.js +0 -125
  788. package/dist/executor-IL7SRNUZ.js +0 -23
  789. package/dist/executor-OUA2Y6YC.js +0 -9
  790. package/dist/executor-WAEI6PDV.js +0 -9
  791. package/dist/export-accessible-O55RKAGC.js +0 -23
  792. package/dist/extract-partition-VBGCBA6Q.js +0 -36
  793. package/dist/fanout-sidecar-CI5BCMQM.js +0 -74
  794. package/dist/find-FISGUWSK.js +0 -11
  795. package/dist/forget/index.d.ts +0 -36
  796. package/dist/guards/index.d.ts +0 -34
  797. package/dist/hash-DBkZfIBW.d.ts +0 -72
  798. package/dist/history/index.d.ts +0 -60
  799. package/dist/i18n/index.d.ts +0 -56
  800. package/dist/in/index.d.ts +0 -4
  801. package/dist/index-B9QdHytu.d.ts +0 -123
  802. package/dist/index-CyclmyDr.d.ts +0 -122
  803. package/dist/index-DzhNI2vE.d.ts +0 -23260
  804. package/dist/indexing/index.d.ts +0 -38
  805. package/dist/issue-EQAWIYFQ.js +0 -19
  806. package/dist/kernel/index.d.ts +0 -31
  807. package/dist/kernel/index.js +0 -60
  808. package/dist/lazy/index.d.ts +0 -20
  809. package/dist/ledger-AJA2SR3C.js +0 -42
  810. package/dist/liberate-SEGR4JLY.js +0 -24
  811. package/dist/link-set-YBAC2DQT.js +0 -31
  812. package/dist/materialized-views/index.d.ts +0 -182
  813. package/dist/mime-magic-CbV1quyp.d.ts +0 -103
  814. package/dist/noydb-AMEOU456.js +0 -65
  815. package/dist/on/index.d.ts +0 -4
  816. package/dist/overlay-views/index.d.ts +0 -97
  817. package/dist/periods/index.d.ts +0 -19
  818. package/dist/pod/index.d.ts +0 -62
  819. package/dist/policy-SDGRWVIL.js +0 -41
  820. package/dist/portability/index.d.ts +0 -19
  821. package/dist/post-register-MROIUA5O.js +0 -55
  822. package/dist/post-register-MROIUA5O.js.map +0 -1
  823. package/dist/public-envelope-J5PLQOW2.js +0 -32
  824. package/dist/query/index.d.ts +0 -4
  825. package/dist/read-only-facade-UCYNRE56.js +0 -8
  826. package/dist/register-OVJKW7BS.js +0 -23
  827. package/dist/registry-5RJSK5AJ.js +0 -9
  828. package/dist/registry-DQRNTWRL.js +0 -18
  829. package/dist/registry-LTGLERS7.js +0 -19
  830. package/dist/request-withdrawal-27O77D2V.js +0 -31
  831. package/dist/reveal-LT3I2K4P.js +0 -38
  832. package/dist/reveal-LT3I2K4P.js.map +0 -1
  833. package/dist/revoke-4N45G7D2.js +0 -24
  834. package/dist/revoke-4N45G7D2.js.map +0 -1
  835. package/dist/satellites/index.d.ts +0 -4
  836. package/dist/sealed-record/index.d.ts +0 -68
  837. package/dist/session/index.d.ts +0 -43
  838. package/dist/shadow/index.d.ts +0 -14
  839. package/dist/signer-XJCOV7JD.js +0 -25
  840. package/dist/signer-XJCOV7JD.js.map +0 -1
  841. package/dist/snapshots/index.d.ts +0 -25
  842. package/dist/stale-IYYXEH3U.js +0 -14
  843. package/dist/stale-IYYXEH3U.js.map +0 -1
  844. package/dist/storage-Y44CAPE6.js +0 -23
  845. package/dist/storage-Y44CAPE6.js.map +0 -1
  846. package/dist/store-coordination-provider-WKGAE2WI.js +0 -142
  847. package/dist/subject-index-CyOgGMJL.d.ts +0 -380
  848. package/dist/sync/index.d.ts +0 -40
  849. package/dist/team/index.d.ts +0 -154
  850. package/dist/tiers/index.d.ts +0 -4
  851. package/dist/to/index.d.ts +0 -4
  852. package/dist/transition-guard-BOUkzQU4.d.ts +0 -165
  853. package/dist/tx/index.d.ts +0 -34
  854. package/dist/ui/index.d.ts +0 -4
  855. package/dist/ulid-DRH25k3y.d.ts +0 -66
  856. package/dist/util/index.d.ts +0 -79
  857. package/dist/validators-B3SalxlJ.d.ts +0 -101
  858. package/dist/vault-diff-Dt9NkLzw.d.ts +0 -147
  859. package/dist/verify-GH6CWVSW.js +0 -139
  860. package/dist/verify-GH6CWVSW.js.map +0 -1
  861. package/dist/walk-76UCFXYV.js +0 -241
  862. package/dist/with/index.d.ts +0 -37
  863. package/dist/with-materialized-view-BP33v1Z6.d.ts +0 -27
  864. package/dist/with-overlayed-view-DntFpOKN.d.ts +0 -12
  865. package/dist/with-rollup-ClCHO6-4.d.ts +0 -47
  866. package/dist/withdraw-accessible-6J2UH3IN.js +0 -28
  867. package/dist/withdraw-accessible-6J2UH3IN.js.map +0 -1
  868. /package/dist/{adapter/index.js.map → api-ZGS6LCOF.js.map} +0 -0
  869. /package/dist/{chunk-34RRRIC3.js.map → chunk-3B5VVCNY.js.map} +0 -0
  870. /package/dist/{chunk-CJEMA2Z6.js.map → chunk-3LQ2YKO4.js.map} +0 -0
  871. /package/dist/{chunk-ZWQFOXBR.js.map → chunk-3QCRBHCY.js.map} +0 -0
  872. /package/dist/{chunk-E5AHO65E.js.map → chunk-4JBYV75E.js.map} +0 -0
  873. /package/dist/{chunk-YLN33ADH.js.map → chunk-4NXKCLLQ.js.map} +0 -0
  874. /package/dist/{chunk-2KOSJTMU.js.map → chunk-5M5DVGV7.js.map} +0 -0
  875. /package/dist/{chunk-3I4KYWNP.js.map → chunk-5YOLBEQ6.js.map} +0 -0
  876. /package/dist/{chunk-IWTYFS3D.js.map → chunk-6CRIV7DE.js.map} +0 -0
  877. /package/dist/{chunk-QTXQ6RNZ.js.map → chunk-6QTNZJBS.js.map} +0 -0
  878. /package/dist/{chunk-42KVY3OC.js.map → chunk-6T2SCQRU.js.map} +0 -0
  879. /package/dist/{chunk-Z5YFRMG5.js.map → chunk-7DSTRQIJ.js.map} +0 -0
  880. /package/dist/{chunk-DEYAO3N6.js.map → chunk-AUSTCW2X.js.map} +0 -0
  881. /package/dist/{chunk-SZCHEDML.js.map → chunk-B3HJYUOF.js.map} +0 -0
  882. /package/dist/{chunk-OV4CMJGR.js.map → chunk-BDVFPG6Y.js.map} +0 -0
  883. /package/dist/{chunk-HOCEGVGQ.js.map → chunk-CAF6WOK7.js.map} +0 -0
  884. /package/dist/{chunk-AUR7MRHA.js.map → chunk-CIE2BASH.js.map} +0 -0
  885. /package/dist/{chunk-X66MXMR5.js.map → chunk-CRI4OUV4.js.map} +0 -0
  886. /package/dist/{chunk-IUKGIB2Q.js.map → chunk-DLG74CNB.js.map} +0 -0
  887. /package/dist/{chunk-YBFOBRTO.js.map → chunk-ERJ7FU55.js.map} +0 -0
  888. /package/dist/{chunk-VJ3NQK4K.js.map → chunk-EVVGJDRQ.js.map} +0 -0
  889. /package/dist/{chunk-NSZ6J5DF.js.map → chunk-EXK7QRWF.js.map} +0 -0
  890. /package/dist/{chunk-5SAZMBW7.js.map → chunk-EYZ6IQ6X.js.map} +0 -0
  891. /package/dist/{chunk-OQAODTYR.js.map → chunk-F64IRYG3.js.map} +0 -0
  892. /package/dist/{chunk-Q2KVKTC2.js.map → chunk-FHS2HQSH.js.map} +0 -0
  893. /package/dist/{chunk-Y2OCKFZ3.js.map → chunk-GKEWXIV5.js.map} +0 -0
  894. /package/dist/{chunk-NUEFXLZU.js.map → chunk-GTGPO5KW.js.map} +0 -0
  895. /package/dist/{chunk-XQ7UYPVN.js.map → chunk-HB3RFQSC.js.map} +0 -0
  896. /package/dist/{chunk-FC3XK5JT.js.map → chunk-I6GALP6E.js.map} +0 -0
  897. /package/dist/{chunk-LEOXZY36.js.map → chunk-IL6POWCW.js.map} +0 -0
  898. /package/dist/{chunk-GX2BYNCT.js.map → chunk-IU6SNYX6.js.map} +0 -0
  899. /package/dist/{chunk-6CU3FN74.js.map → chunk-J2ZX2XUV.js.map} +0 -0
  900. /package/dist/{chunk-6MWUANRF.js.map → chunk-JKJOGPZN.js.map} +0 -0
  901. /package/dist/{chunk-PEDZFFKW.js.map → chunk-JZUV47FZ.js.map} +0 -0
  902. /package/dist/{chunk-5TZZUL5X.js.map → chunk-K5IMOGHB.js.map} +0 -0
  903. /package/dist/{chunk-7IZQTCTR.js.map → chunk-LASZKVMO.js.map} +0 -0
  904. /package/dist/{chunk-NNWK3PSY.js.map → chunk-NR5LT5RY.js.map} +0 -0
  905. /package/dist/{chunk-NYVQCZ54.js.map → chunk-NWSGI5C7.js.map} +0 -0
  906. /package/dist/{chunk-MSVY7ULZ.js.map → chunk-Q5VNKNE5.js.map} +0 -0
  907. /package/dist/{chunk-2HVUKRNE.js.map → chunk-QLWMEXCT.js.map} +0 -0
  908. /package/dist/{chunk-KYC4LIEU.js.map → chunk-QRB7NAOJ.js.map} +0 -0
  909. /package/dist/{chunk-6ULCYCMU.js.map → chunk-R4ROFEYC.js.map} +0 -0
  910. /package/dist/{chunk-KBF5GSGX.js.map → chunk-RIX4V2TB.js.map} +0 -0
  911. /package/dist/{chunk-CTSFKDGA.js.map → chunk-RYCTDFUX.js.map} +0 -0
  912. /package/dist/{chunk-S6AQXDN4.js.map → chunk-RZ5SVOYR.js.map} +0 -0
  913. /package/dist/{chunk-A4MAD6PO.js.map → chunk-SLFHQTTW.js.map} +0 -0
  914. /package/dist/{chunk-AYGZMQP5.js.map → chunk-T2FFWNPK.js.map} +0 -0
  915. /package/dist/{chunk-CWCCYH34.js.map → chunk-UNFPPVNI.js.map} +0 -0
  916. /package/dist/{chunk-M5I354EE.js.map → chunk-VLFCJYTL.js.map} +0 -0
  917. /package/dist/{chunk-WVCQ75OK.js.map → chunk-VN3DBQAU.js.map} +0 -0
  918. /package/dist/{chunk-KXKLKJW4.js.map → chunk-VZRODIM3.js.map} +0 -0
  919. /package/dist/{chunk-HBTT7YQX.js.map → chunk-W22IKJE2.js.map} +0 -0
  920. /package/dist/{chunk-KNXN47MO.js.map → chunk-X3YYQWOQ.js.map} +0 -0
  921. /package/dist/{chunk-DFIBOSOQ.js.map → chunk-YFXZEAYK.js.map} +0 -0
  922. /package/dist/{chunk-ICV32FPK.js.map → chunk-ZAJAVEXY.js.map} +0 -0
  923. /package/dist/{chunk-MK2BSS44.js.map → chunk-ZICD77GM.js.map} +0 -0
  924. /package/dist/{chunk-KWLD2D75.js.map → chunk-ZJ2AK4V7.js.map} +0 -0
  925. /package/dist/{chunk-KBBWY46Y.js.map → chunk-ZUODRVHY.js.map} +0 -0
  926. /package/dist/{api-HV4PDUWF.js.map → collection-facade-TLWIPI76.js.map} +0 -0
  927. /package/dist/{chunk-BGIZAFY7.js.map → computed-ZIQTYTDI.js.map} +0 -0
  928. /package/dist/{dead-filter-VNA4M3GP.js.map → dead-filter-ESOBZZP5.js.map} +0 -0
  929. /package/dist/{chunk-K2WCO3NX.js.map → delegation-W7ZV2322.js.map} +0 -0
  930. /package/dist/{collection-facade-3RAXG2OU.js.map → derive-H2BJTLUI.js.map} +0 -0
  931. /package/dist/{computed-R62HGCO4.js.map → enclave-AP3I5W7O.js.map} +0 -0
  932. /package/dist/{delegation-ZKII5UBI.js.map → executor-KGWTNEQD.js.map} +0 -0
  933. /package/dist/{derive-5D2C3WG4.js.map → executor-OVEXR6RT.js.map} +0 -0
  934. /package/dist/{describe/index.js.map → executor-UNEH5ZYH.js.map} +0 -0
  935. /package/dist/{enclave-EUBEJGPG.js.map → export-accessible-PCMXSUZS.js.map} +0 -0
  936. /package/dist/{executor-IL7SRNUZ.js.map → extract-partition-SWHFSYJO.js.map} +0 -0
  937. /package/dist/{fanout-sidecar-CI5BCMQM.js.map → fanout-sidecar-A765THMX.js.map} +0 -0
  938. /package/dist/{executor-OUA2Y6YC.js.map → find-N6345CNT.js.map} +0 -0
  939. /package/dist/{executor-WAEI6PDV.js.map → issue-5OKB6I2R.js.map} +0 -0
  940. /package/dist/{export-accessible-O55RKAGC.js.map → ledger-GFBKVPV4.js.map} +0 -0
  941. /package/dist/{extract-partition-VBGCBA6Q.js.map → liberate-3VDOT4KO.js.map} +0 -0
  942. /package/dist/{find-FISGUWSK.js.map → link-set-Z7Q2ASFX.js.map} +0 -0
  943. /package/dist/{issue-EQAWIYFQ.js.map → noydb-ZCJOYBDI.js.map} +0 -0
  944. /package/dist/{kernel/index.js.map → policy-Z3RUAIY2.js.map} +0 -0
  945. /package/dist/{ledger-AJA2SR3C.js.map → public-envelope-B4KNWVUA.js.map} +0 -0
  946. /package/dist/{liberate-SEGR4JLY.js.map → read-only-facade-CHCKSEPD.js.map} +0 -0
  947. /package/dist/{link-set-YBAC2DQT.js.map → register-VAHONCID.js.map} +0 -0
  948. /package/dist/{noydb-AMEOU456.js.map → registry-7MLVD3VO.js.map} +0 -0
  949. /package/dist/{policy-SDGRWVIL.js.map → registry-EPKPD5SM.js.map} +0 -0
  950. /package/dist/{public-envelope-J5PLQOW2.js.map → registry-P5T7PS2U.js.map} +0 -0
  951. /package/dist/{read-only-facade-UCYNRE56.js.map → request-withdrawal-TI3A5WPS.js.map} +0 -0
  952. /package/dist/{register-OVJKW7BS.js.map → revoke-FDRD6GRW.js.map} +0 -0
  953. /package/dist/{registry-5RJSK5AJ.js.map → signer-MUWEIUI6.js.map} +0 -0
  954. /package/dist/{registry-DQRNTWRL.js.map → stale-OSQ7J3AA.js.map} +0 -0
  955. /package/dist/{registry-LTGLERS7.js.map → storage-MVFCGEQE.js.map} +0 -0
  956. /package/dist/{store-coordination-provider-WKGAE2WI.js.map → store-coordination-provider-64OEZFGS.js.map} +0 -0
  957. /package/dist/{walk-76UCFXYV.js.map → walk-SVNDIZ62.js.map} +0 -0
  958. /package/dist/{request-withdrawal-27O77D2V.js.map → withdraw-accessible-WZIEVWSR.js.map} +0 -0
@@ -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;
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Branded money output type.
3
+ *
4
+ * The decoded read shape of a money field is an exact decimal STRING
5
+ * (`'10000.00'`) — but a hand-written schema types it `string | number`,
6
+ * which is honest about the input side and unhelpful on the output
7
+ * side: every read site hand-coerces, and a missed coercion passes
8
+ * typecheck silently (then surfaces as a runtime template warning, or
9
+ * worse, as `'10000.00' * 100` arithmetic).
10
+ *
11
+ * {@link MoneyString} is the output-side brand: a `string` that has
12
+ * been through noy-db's decode (or {@link asMoney}'s guard). Branding
13
+ * is type-level only — zero runtime cost on the read path.
14
+ *
15
+ * ## Wiring the brand through a validator (the input/output asymmetry)
16
+ *
17
+ * Keep the permissive `string | number` on the INPUT side so write
18
+ * sites are untouched, and brand the OUTPUT side. With Zod:
19
+ *
20
+ * ```ts
21
+ * import type { MoneyString } from '@noy-db/hub'
22
+ *
23
+ * const moneyValue = z.union([z.number(), z.string()]) as unknown as
24
+ * z.ZodType<MoneyString, z.ZodTypeDef, string | number>
25
+ *
26
+ * const Invoice = z.object({ id: z.string(), total: moneyValue })
27
+ * type InvoiceOut = z.output<typeof Invoice> // total: MoneyString
28
+ * type InvoiceIn = z.input<typeof Invoice> // total: string | number
29
+ * ```
30
+ *
31
+ * The cast is sound for fields declared in `moneyFields`: reads pass
32
+ * through `decodeMoneyFields`, which always produces the canonical
33
+ * decimal string.
34
+ */
35
+ declare const MONEY_BRAND: unique symbol;
36
+ /**
37
+ * An exact decimal string produced by noy-db's money decode
38
+ * (`'10000.00'`). The brand exists only at the type level — at runtime
39
+ * a `MoneyString` is a plain string.
40
+ */
41
+ export type MoneyString = string & {
42
+ readonly [MONEY_BRAND]: true;
43
+ };
44
+ /**
45
+ * Runtime-guarded cast to {@link MoneyString}. Accepts a decimal string
46
+ * or a number, returns the canonical decimal string branded — throws
47
+ * `MoneyUnsupportedError` on anything non-finite / non-decimal. Use at
48
+ * trust boundaries (deserialized JSON, route params); values read
49
+ * through `get()`/`list()` are already canonical.
50
+ */
51
+ export declare function asMoney(value: string | number): MoneyString;
52
+ /** Type guard: is `value` a decimal string acceptable as money? */
53
+ export declare function isMoneyString(value: unknown): value is MoneyString;
54
+ /**
55
+ * The ONE sanctioned escape hatch to a JS `number` — explicit because
56
+ * the conversion is lossy past 2^53. For display math and chart axes;
57
+ * never feed the result back into stored amounts (use `mulRate` /
58
+ * `allocate` for exact arithmetic).
59
+ */
60
+ export declare function moneyNumber(value: MoneyString | string | number): number;
61
+ export {};
@@ -0,0 +1,73 @@
1
+ /**
2
+ * The `money()` field descriptor — a branded schema-layer descriptor, a
3
+ * sibling of `i18nText()` / `dictKey()`. It owns currency, scale, and
4
+ * rounding policy for a field; the pure arithmetic lives in
5
+ * {@link ./fixed-point} and default scale resolution in
6
+ * {@link ./iso4217}.
7
+ *
8
+ * Two modes:
9
+ * - **fixed** `money({ currency: 'EUR' })` — one currency for the
10
+ * field; the value stores a bare scaled-integer string.
11
+ * - **multi** `money({ currencies: 'any' | [...] })` — currency travels
12
+ * per record; the value stores `{ amount, currency }`.
13
+ *
14
+ * `currency` and `currencies` are mutually exclusive.
15
+ */
16
+ import type { RoundingMode } from './fixed-point.js';
17
+ import { NoydbError } from '../../kernel/errors.js';
18
+ export interface MoneyOptionsFixed {
19
+ currency: string;
20
+ /** Override the ISO-4217 default scale (required for unlisted codes). */
21
+ scale?: number;
22
+ rounding?: RoundingMode;
23
+ }
24
+ export interface MoneyOptionsMulti {
25
+ currencies: 'any' | readonly string[];
26
+ /** Per-currency scale overrides (required for unlisted codes). */
27
+ scaleOverrides?: Record<string, number>;
28
+ rounding?: RoundingMode;
29
+ }
30
+ export type MoneyOptions = MoneyOptionsFixed | MoneyOptionsMulti;
31
+ export interface MoneyDescriptor {
32
+ readonly _noydbMoney: true;
33
+ /** Via port brand marker — lets a `MoneyDescriptor` satisfy the kernel's opaque `ViaDescriptor`. */
34
+ readonly _viaBrand: 'money';
35
+ readonly mode: 'fixed' | 'multi';
36
+ readonly options: MoneyOptions;
37
+ readonly rounding: RoundingMode | undefined;
38
+ /** The currency for fixed mode; `undefined` in multi mode. */
39
+ readonly fixedCurrency: string | undefined;
40
+ /** Resolve the scale for a currency, throwing if not allowed / unknown. */
41
+ scaleFor(currency: string): number;
42
+ /** Whether this descriptor permits the given currency. */
43
+ allows(currency: string): boolean;
44
+ /**
45
+ * The single currency this descriptor implies, if any — fixed mode, or
46
+ * multi mode with exactly one allow-listed currency. Lets a multi field
47
+ * accept a bare amount unambiguously. `undefined` otherwise.
48
+ */
49
+ soleCurrency(): string | undefined;
50
+ }
51
+ /** Raised when a written value carries more precision than `scale` allows. */
52
+ export declare class MoneyPrecisionError extends NoydbError {
53
+ readonly field: string;
54
+ readonly value: unknown;
55
+ readonly scale: number;
56
+ constructor(field: string, value: unknown, scale: number);
57
+ }
58
+ /** Raised when a currency is disallowed or has no resolvable scale. */
59
+ export declare class MoneyCurrencyError extends NoydbError {
60
+ readonly currency: string;
61
+ readonly reason: 'not-allowed' | 'unknown-scale';
62
+ readonly field?: string | undefined;
63
+ constructor(currency: string, reason: 'not-allowed' | 'unknown-scale', field?: string | undefined);
64
+ }
65
+ /** Raised when an aggregate operation is not supported on a money field. */
66
+ export declare class MoneyUnsupportedError extends NoydbError {
67
+ readonly field: string;
68
+ constructor(field: string, message?: string);
69
+ }
70
+ /** Create a {@link MoneyDescriptor}. */
71
+ export declare function money(options: MoneyOptions): MoneyDescriptor;
72
+ /** Runtime predicate for detecting a {@link MoneyDescriptor}. */
73
+ export declare function isMoneyDescriptor(x: unknown): x is MoneyDescriptor;
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Pure fixed-point decimal core for the money descriptor.
3
+ *
4
+ * All conversion goes decimal-string ⇄ scaled `BigInt`. There is no
5
+ * floating-point arithmetic anywhere: a value like `123.45` becomes
6
+ * `12345n` purely by string manipulation, never by `value * 100` (which
7
+ * would reintroduce the very drift money() exists to eliminate). BigInt
8
+ * has no magnitude ceiling, so values past `Number.MAX_SAFE_INTEGER`
9
+ * stay exact end-to-end.
10
+ *
11
+ * This module knows nothing about currencies, descriptors, or storage —
12
+ * it is the isolated, exhaustively-tested arithmetic kernel.
13
+ */
14
+ export type RoundingMode = 'half-up' | 'half-even' | 'half-down' | 'up' | 'down' | 'ceil' | 'floor';
15
+ export type ParseResult = {
16
+ ok: true;
17
+ value: bigint;
18
+ } | {
19
+ ok: false;
20
+ reason: 'precision' | 'nonfinite';
21
+ };
22
+ /**
23
+ * Parse a decimal (`number | string`) into a scaled `BigInt` at the
24
+ * given scale. When the input carries more fractional precision than
25
+ * `scale`:
26
+ * - `rounding` omitted ⇒ `{ ok: false, reason: 'precision' }`
27
+ * - `rounding` set ⇒ the tail is rounded per the mode.
28
+ * Non-finite / unparseable input ⇒ `{ ok: false, reason: 'nonfinite' }`.
29
+ */
30
+ export declare function parseToScaledInt(input: number | string, scale: number, rounding?: RoundingMode): ParseResult;
31
+ /**
32
+ * Number of fractional digits in the canonical decimal rendering of
33
+ * `input` (`'123.45'` → 2, `100` → 0, `'1e-7'` → 7), or `null` when the
34
+ * input is non-finite / not a decimal. Used to infer the working scale
35
+ * of arithmetic helpers from their canonical-string inputs.
36
+ */
37
+ export declare function decimalScaleOf(input: number | string): number | null;
38
+ /**
39
+ * Re-scale a scaled `BigInt` from `fromScale` to `toScale`. Scaling up
40
+ * is exact (append zeros); scaling down rounds the discarded tail per
41
+ * `rounding`. The rounding decision reuses the same kernel as
42
+ * {@link parseToScaledInt}, so `rescaleScaledInt(parse('1.005', 3), 3, 2)`
43
+ * and `parse('1.005', 2, mode)` agree for every mode.
44
+ */
45
+ export declare function rescaleScaledInt(value: bigint, fromScale: number, toScale: number, rounding?: RoundingMode): bigint;
46
+ /**
47
+ * Render a scaled `BigInt` back to its canonical decimal string at the
48
+ * given scale. `(12345n, 2)` → `'123.45'`; `(5n, 0)` → `'5'`;
49
+ * `(-1n, 2)` → `'-0.01'`. Exact for any magnitude.
50
+ */
51
+ export declare function formatScaledInt(value: bigint, scale: number): string;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * `@noy-db/hub` money service — the `money()` field descriptor for
3
+ * currency-safe, exact decimal storage, formatting, and aggregation.
4
+ *
5
+ * @see ./descriptor for the public `money()` factory.
6
+ */
7
+ export { money, isMoneyDescriptor, MoneyPrecisionError, MoneyCurrencyError, MoneyUnsupportedError } from './descriptor.js';
8
+ export type { MoneyDescriptor, MoneyOptions, MoneyOptionsFixed, MoneyOptionsMulti, } from './descriptor.js';
9
+ export type { RoundingMode } from './fixed-point.js';
10
+ export { scaleForCurrency } from './iso4217.js';
11
+ export type { FxRates } from './money-reducer.js';
12
+ export { mulRate, allocate } from './arith.js';
13
+ export type { MulRateOptions, AllocateOptions } from './arith.js';
14
+ export { asMoney, isMoneyString, moneyNumber } from './branded.js';
15
+ export type { MoneyString } from './branded.js';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Return the ISO-4217 minor-unit scale for a currency code, or `null`
3
+ * when the code is not in the known set (caller must supply an explicit
4
+ * scale).
5
+ */
6
+ export declare function scaleForCurrency(code: string): number | null;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Money-aware aggregation: exact `sum` / `min` / `max` over money
3
+ * fields.
4
+ *
5
+ * The generic reducers (`aggregate/reducers.ts`) read a field via
6
+ * `readNumber`, which coerces a string (the stored scaled-integer form
7
+ * of money, e.g. `'12345'`) to `0` — so an un-wrapped money `sum` would
8
+ * silently return zero. {@link wrapMoneyReducers} rewrites any `sum` /
9
+ * `min` / `max` over a declared money field into a reducer that
10
+ * accumulates per-currency `BigInt` totals of the stored integers, so
11
+ * the result is exact for any magnitude (past `Number.MAX_SAFE_INTEGER`
12
+ * included).
13
+ *
14
+ * Results are currency-aware and never silently mix currencies:
15
+ * - **fixed** mode → a single exact decimal string.
16
+ * - **multi** mode → an exact `Record<currency, string>` map.
17
+ * - **`sum` with `convertTo` + `fx`** → a single exact string, with
18
+ * each currency converted via BigInt arithmetic (no float).
19
+ *
20
+ * `remove()` is implemented for every money reducer so they participate
21
+ * in incremental live-aggregation and materialized-view maintenance
22
+ * exactly like the generic reducers they replace.
23
+ */
24
+ import type { MoneyDescriptor } from './descriptor.js';
25
+ import type { AggregateSpec } from '../../with-lookup/aggregate/aggregation.js';
26
+ export type FxRates = Record<string, number | string>;
27
+ /**
28
+ * Rewrite any `sum` / `min` / `max` reducer over a declared money field
29
+ * into its exact BigInt money-aware equivalent. Other reducers (and
30
+ * reducers over non-money fields) pass through unchanged. Returns a new
31
+ * spec; the input is not mutated.
32
+ */
33
+ export declare function wrapMoneyReducers(spec: AggregateSpec, moneyFields: Record<string, MoneyDescriptor>): AggregateSpec;