@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,11 @@
1
+ /**
2
+ * The ② capability seam for classified read-egress ops (stage 1: reveal;
3
+ * stage 2: verify). `ClassifiedStrategy` + `ClassifiedRevealCtx` +
4
+ * `ClassifiedVerifyCtx` + `NO_CLASSIFIED` now live on the kernel port
5
+ * (`port/with/classified-strategy.ts`, #629 Task 5) — re-exported here for
6
+ * compat with existing importers of this module.
7
+ *
8
+ * @internal
9
+ */
10
+ export type { ClassifiedStrategy, ClassifiedRevealCtx, ClassifiedVerifyCtx, ClassifiedVerdict } from '../../port/with/classified-strategy.js';
11
+ export { NO_CLASSIFIED } from '../../port/with/classified-strategy.js';
@@ -0,0 +1,3 @@
1
+ /** Pure write-time validators. Exported so userland can validate storage:'never'
2
+ * fields (e.g. CVC) at capture, before dropping them. @module */
3
+ export declare function luhnCheck(pan: string): boolean;
@@ -0,0 +1,4 @@
1
+ /** Write-path enforcement: storage:'never' rejection + preset validators.
2
+ * Runs BEFORE riders/computed and BEFORE schema validation. Pure. @module */
3
+ import type { ClassifiedFieldSpec } from './descriptor.js';
4
+ export declare function enforceClassifiedWrite(record: Record<string, unknown>, byField: Record<string, ClassifiedFieldSpec>, collection: string): void;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The `computed` via-binding (#638 Task 7) — covers ONLY `mode: 'virtual'`
3
+ * fields. Materialized entries never reach here: they compile into
4
+ * `mergedComputed` (`kernel/collection-config.ts`) and run through the
5
+ * EXISTING stage-5 `evalComputedFields` write path, byte-for-byte unchanged
6
+ * (the behavior lock).
7
+ *
8
+ * A virtual field is computed on READ, inside `present()` — the money-
9
+ * `Formatted`/i18n-`Label` precedent (seam map Part 4) generalized to a
10
+ * user-declared function. It is NEVER stored (no `encodeAtRest`/
11
+ * `decodeAtRest` — the field never appears in `_data` or any `_sealed`
12
+ * slot), and its posture is fixed `queryable: 'none'` — there is no stored/
13
+ * indexed form to query against, regardless of what its sources would
14
+ * otherwise permit (`ViaGraph`'s grain-'virtual' clamp, `kernel/via/graph.ts`,
15
+ * is the belt; this binding's own static posture is the suspenders for a
16
+ * depsless virtual field, which registers no graph edge at all).
17
+ *
18
+ * Export/read redaction for a TAINTED virtual field (sourced from a
19
+ * classified/sealed field) is NOT this binding's job — it stays ignorant of
20
+ * taint, exactly like `evalComputedFields` stays ignorant of it for
21
+ * materialized fields. `kernel/via/taint-binding.ts#taintBinding` (appended
22
+ * to the pipeline by `via/graph-wiring.ts#applyTaintOverlay`, AFTER this
23
+ * binding) overwrites a tainted virtual field's value with the same
24
+ * `EXPORT_REDACTION_MARKER` on every present() — the one enforcement seam
25
+ * every via feature's taint already routes through.
26
+ */
27
+ import type { ViaBinding } from '../../kernel/via/index.js';
28
+ import type { ComputedDescriptor } from './descriptor.js';
29
+ export interface ComputedViaConfig {
30
+ /** field name -> its virtual-mode descriptor. Materialized entries are never present here. */
31
+ readonly virtualFields: ReadonlyMap<string, ComputedDescriptor>;
32
+ }
33
+ export declare function computedBinding(cfg: ComputedViaConfig): ViaBinding;
34
+ export declare function linkComputedVia(): void;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * computed() — the declaration factory for a field whose value is DERIVED
3
+ * from other fields on the same record (#638 Task 7, spec §6). Composes
4
+ * with `via()` (the locked grammar since phase A: `via(computed(fn, { deps,
5
+ * mode }), money('EUR'))`), grouped by `_viaBrand` like every other via
6
+ * feature (`kernel/via/compose.ts#mergeViaFields`).
7
+ *
8
+ * `mode` picks where the function runs:
9
+ * - `'materialized'` (default) — TODAY's stage-5 write-time eager compute
10
+ * (`with-formula/computed/index.ts#evalComputedFields`), stored like any
11
+ * other field. Byte-for-byte the existing `computed: { field: fn }` sugar.
12
+ * - `'virtual'` — rides the `present` read phase (the money-`Formatted`/
13
+ * i18n-`Label` precedent, seam map Part 4): computed fresh on every
14
+ * read, NEVER stored, `queryable: 'none'`, excluded from export unless
15
+ * its declared `deps` permit (identical taint rule to materialized —
16
+ * see `via/computed/binding.ts`).
17
+ *
18
+ * `deps` names the OTHER fields `fn` reads — feeds `ViaGraph` (Task 1/2) so
19
+ * a source's taint (e.g. a classified field) propagates to this derived
20
+ * field. A depsless entry is fine UNLESS the collection also declares
21
+ * classified fields (`kernel/collection-config.ts#resolveComputedEdges`
22
+ * refuses it — closes the #636 opaque-function leak).
23
+ */
24
+ import type { ViaDescriptor } from '../../kernel/via/index.js';
25
+ export interface ComputedDescriptor extends ViaDescriptor {
26
+ readonly _viaBrand: 'computed';
27
+ readonly fn: (record: Record<string, unknown>) => unknown;
28
+ readonly deps?: readonly string[];
29
+ readonly mode: 'materialized' | 'virtual';
30
+ }
31
+ export declare function computed(fn: (record: Record<string, unknown>) => unknown, opts?: {
32
+ readonly deps?: readonly string[];
33
+ readonly mode?: 'materialized' | 'virtual';
34
+ }): ComputedDescriptor;
35
+ export declare function isComputedDescriptor(x: unknown): x is ComputedDescriptor;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Active i18n strategy — `withI18n()` returns the real implementation
3
+ * that wires multi-locale resolution, i18nText validation, and the
4
+ * `DictionaryHandle` for `dictKey` fields into the core read/write
5
+ * paths.
6
+ *
7
+ * Consumers opt in by:
8
+ *
9
+ * ```ts
10
+ * import { createNoydb } from '@noy-db/hub'
11
+ * import { withI18n } from '@noy-db/hub/i18n'
12
+ *
13
+ * const db = await createNoydb({
14
+ * store: ...,
15
+ * user: ...,
16
+ * i18nStrategy: withI18n(),
17
+ * })
18
+ * ```
19
+ *
20
+ * The factory delegates to the existing `core.ts` and `dictionary.ts`
21
+ * modules. Splitting the import chain through this file is what lets
22
+ * tsup tree-shake the `~854 LOC` of dictionary + locale resolution
23
+ * out of the default bundle when no `withI18n()` import is present.
24
+ *
25
+ * @public
26
+ */
27
+ import type { I18nStrategy } from './strategy.js';
28
+ export declare function withI18n(): I18nStrategy;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * The i18n `ViaBinding` — wires the i18n engine (auto-translate/script
3
+ * enforcement/validation/densify on write; locale + dict-label presentation
4
+ * on read) into the kernel's generic Via port. Mirrors
5
+ * `via/money/binding.ts`'s #553 static-link pattern.
6
+ *
7
+ * LIVE (#623 Task 8 wired the cutover): `i18nBinding()`/`linkI18nVia()` are
8
+ * the real put/read path for every i18n-declaring collection —
9
+ * `collection.ts`'s `_putInternal`/`applyLocaleToRecord` (the call sites
10
+ * this file's bodies were moved/adapted from) now delegate their i18n
11
+ * stages to `this.via.encodeWrite`/`this.via.present` instead of running
12
+ * the hand-wired i18n logic inline.
13
+ *
14
+ * `i18nText()`, `dictKey()`, `staticDict()` each call {@link linkI18nVia}
15
+ * first — the same #553 pattern `money()` uses.
16
+ */
17
+ import type { ViaBinding } from '../../kernel/via/index.js';
18
+ /**
19
+ * Config a collection's i18n declarations resolve to — the binding's
20
+ * construction input. Fields are loosely typed (`unknown`) at this seam
21
+ * because the kernel's `ViaBinder` contract is opaque-config-in; the
22
+ * concrete i18n types are applied inside the binding's own functions.
23
+ */
24
+ export interface I18nViaConfig {
25
+ i18nFields?: Record<string, unknown>;
26
+ dictKeyFields?: Record<string, unknown>;
27
+ i18nDensifyFields?: Record<string, unknown>;
28
+ strategy: unknown;
29
+ defaultLocale?: string;
30
+ autoTranslateHook?: (...args: unknown[]) => Promise<string>;
31
+ dictLabelResolver?: (...args: unknown[]) => Promise<string | undefined>;
32
+ i18nPutValidator?: (record: unknown) => void;
33
+ collectionName: string;
34
+ }
35
+ export declare function i18nBinding(cfg: I18nViaConfig): ViaBinding;
36
+ export declare function linkI18nVia(): void;
@@ -0,0 +1,267 @@
1
+ /**
2
+ * i18nText schema type —
3
+ *
4
+ * `i18nText({ languages, required })` creates a descriptor for a
5
+ * multi-language content field whose value is stored as a
6
+ * `{ [locale]: string }` map (e.g. `{ en: 'Consulting', th: 'ที่ปรึกษา' }`).
7
+ *
8
+ * On put, the descriptor validates that required languages are present.
9
+ * On read (when a `locale` option is passed), the map is collapsed to the
10
+ * caller's locale string via the fallback chain.
11
+ *
12
+ * Design decisions
13
+ * ────────────────
14
+ *
15
+ * **Descriptor pattern (not a Zod type).**
16
+ * `i18nText()` returns a plain descriptor object used in the collection's
17
+ * `i18nFields` option — same pattern as `ref()` / `dictKey()`. This keeps
18
+ * `@noy-db/core` at zero runtime dependencies and avoids Zod v3 field-type
19
+ * constraints. TypeScript inference is handled via the descriptor's type.
20
+ *
21
+ * **Enforcement at the collection boundary.**
22
+ * The `required` option is checked by `Collection.put()` via the compartment's
23
+ * registered `i18nFields`. Failed validation throws `MissingTranslationError`
24
+ * — a distinct class from `SchemaValidationError` so callers can tell
25
+ * "wrong shape" from "missing translations".
26
+ *
27
+ * **Resolution is post-decryption.**
28
+ * Locale resolution happens AFTER `decryptRecord()`, as a pure in-memory
29
+ * transform. No additional crypto work is needed. The resolved record is
30
+ * returned in place of the stored one, with i18nText fields replaced by
31
+ * their locale-resolved strings.
32
+ *
33
+ * **`locale: 'raw'`.**
34
+ * Passing `{ locale: 'raw' }` skips resolution and returns the full
35
+ * `{ [locale]: string }` map — useful for bilingual exports, admin UIs,
36
+ * and any context where all translations must be visible at once.
37
+ *
38
+ * **Out of scope.**
39
+ * Pluralization, RTL rendering, date/number formatting, per-locale CRDT
40
+ * merging.
41
+ */
42
+ import type { OnMissing, OnMissingPolicy, Layer } from './policy.js';
43
+ /** Flatten an intersection into a single object literal for nicer hovers. */
44
+ type Prettify<T> = {
45
+ [K in keyof T]: T[K];
46
+ } & {};
47
+ /**
48
+ * The stored shape of a multilingual field, inferred from its `required`
49
+ * mode — so the compiler forces you to handle an absent optional locale
50
+ * (`string | undefined`) instead of silently yielding `undefined`.
51
+ *
52
+ * Mirrors `i18nText({ languages, required })`:
53
+ * - `'all'` (default) — every locale required: `{ th: string; en: string }`
54
+ * - `'any'` — every locale optional: `{ th?: string; en?: string }`
55
+ * (the "at least one present" guarantee is runtime-only — not expressible
56
+ * in TypeScript — so each key is optional)
57
+ * - `readonly L[]` — listed locales required, the rest optional:
58
+ * `I18nMap<'th'|'en', ['th']>` → `{ th: string; en?: string }`
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * type Lang = 'th' | 'en'
63
+ * interface Contact {
64
+ * name: I18nMap<Lang, 'any'> // { th?: string; en?: string }
65
+ * legalName: I18nMap<Lang, ['th']> // { th: string; en?: string }
66
+ * slug: I18nMap<Lang> // { th: string; en: string }
67
+ * }
68
+ * ```
69
+ *
70
+ * @public
71
+ */
72
+ export type I18nMap<Langs extends string, Required extends 'all' | 'any' | readonly Langs[] = 'all'> = Required extends 'all' ? Record<Langs, string> : Required extends 'any' ? Partial<Record<Langs, string>> : Required extends readonly (infer R extends Langs)[] ? Prettify<Record<R, string> & Partial<Record<Exclude<Langs, R>, string>>> : never;
73
+ /**
74
+ * Options for `i18nText()`.
75
+ *
76
+ * `languages` declares the full set of supported locales. `required`
77
+ * controls which must be present on every `put()`.
78
+ *
79
+ * `autoTranslate` is the per-field opt-in for the `plaintextTranslator`
80
+ * hook. When `true` and a `plaintextTranslator` is configured
81
+ * on `createNoydb()`, missing translations are generated before `put()`.
82
+ * Default: `false`.
83
+ */
84
+ export interface I18nTextOptions {
85
+ /** All supported locale codes (BCP 47). */
86
+ readonly languages: readonly string[];
87
+ /**
88
+ * Which locales must be present on every `put()`.
89
+ *
90
+ * - `'all'` — every declared language must be present.
91
+ * - `'any'` — at least one declared language must be present.
92
+ * - `string[]` — listed locales are required; others are optional.
93
+ */
94
+ readonly required: 'all' | 'any' | readonly string[];
95
+ /**
96
+ * Per-field opt-in for the `plaintextTranslator` hook.
97
+ * When `true`, missing required translations are auto-generated
98
+ * before `put()` if a translator is configured. Default: `false`.
99
+ */
100
+ readonly autoTranslate?: boolean;
101
+ /**
102
+ * What to do when this field is resolved to a locale that is absent.
103
+ * A single policy, or a per-layer map (read/guard/join/mv/derivation/
104
+ * export). Default `'throw'` — today's behavior, zero breaking change.
105
+ * See {@link OnMissingPolicy}.
106
+ *
107
+ * NOTE (current wiring): ALL layers are enforced — `read` (`get`/`list`),
108
+ * `guard`, `derivation`, `mv`, `join`, `export`. Guard / derivation
109
+ * `ctx.vault` reads resolve under their own layer policy (`guard` defaults to
110
+ * the lenient `'substitute'`). The `mv` layer fires for materialized views
111
+ * that declare `{ i18nLocale, i18nFields }` — UNION (group-key i18n fields
112
+ * resolve before the unified-row bucketing) and query-form (resolved in
113
+ * `GroupedAggregation.run` before `groupAndReduce`); grouping a raw i18n field
114
+ * without a locale throws. The `join` layer resolves a joined right-side i18n
115
+ * field to the query locale (`toArray({ locale })` or the vault default; raw
116
+ * when locale-less). The `export` layer fires for
117
+ * `exportStream`/`exportJSON({ resolveLabels })` — records collapse to the
118
+ * export locale.
119
+ */
120
+ readonly onMissing?: OnMissingPolicy;
121
+ /**
122
+ * Ordered preferred-substitute locales used when `onMissing` resolves
123
+ * to `'substitute'` and the target locale is absent. `'any'` as an
124
+ * element means "first non-empty value". A caller-supplied `fallback`
125
+ * at read time takes precedence over this declared list.
126
+ */
127
+ readonly substitute?: readonly string[];
128
+ /**
129
+ * Smart-substitute. When `true`, a missing-locale `substitute` walk that
130
+ * misses the explicit chain prefers the available locale whose script is
131
+ * nearest the target (same script, then Latin) rather than an arbitrary value
132
+ * — e.g. a missing Thai label prefers another Thai (or Latin) translation over
133
+ * an unreadable script. Default `false` (legacy first-non-empty behavior).
134
+ */
135
+ readonly smartSubstitute?: boolean;
136
+ /**
137
+ * Per-locale script enforcement (write-time). `'auto'` infers the
138
+ * allowed Unicode scripts per locale (asymmetric Latin tolerance); an
139
+ * object overrides per slot. Absent ⇒ no check. See `./script.ts`.
140
+ */
141
+ readonly script?: 'auto' | Partial<Record<string, readonly string[]>>;
142
+ /**
143
+ * What to do when a slot's value contains characters outside its
144
+ * allowed script set. Default `'reject'`.
145
+ */
146
+ readonly onScriptViolation?: 'reject' | 'filter' | 'warn';
147
+ /**
148
+ * Eager-fill empty locale slots from the substitute chain at
149
+ * write time, recording provenance in the internal `_i18nFilled` marker.
150
+ * Mutually exclusive with an EXPLICIT `'throw'` onMissing policy (densify
151
+ * fills every hole, so a throw would be unreachable). Without an explicit
152
+ * `substitute`, fills from `'any'` (first non-empty). Default absent.
153
+ */
154
+ readonly densifyOnWrite?: boolean;
155
+ }
156
+ /**
157
+ * Descriptor returned by `i18nText()`. Attach to the collection's
158
+ * `i18nFields` option:
159
+ *
160
+ * ```ts
161
+ * const lineItems = company.collection<LineItem>('line-items', {
162
+ * i18nFields: {
163
+ * description: i18nText({ languages: ['en', 'th'], required: 'all' }),
164
+ * },
165
+ * })
166
+ * ```
167
+ */
168
+ export interface I18nTextDescriptor {
169
+ readonly _noydbI18nText: true;
170
+ /** Via port brand marker — lets an `I18nTextDescriptor` satisfy the kernel's opaque `ViaDescriptor` (#623 Task 9). */
171
+ readonly _viaBrand: 'i18n';
172
+ readonly options: I18nTextOptions;
173
+ }
174
+ /**
175
+ * Create an `I18nTextDescriptor` for a multi-language content field.
176
+ *
177
+ * @param options Language list + enforcement mode.
178
+ *
179
+ * @example
180
+ * ```ts
181
+ * i18nText({ languages: ['en', 'th'], required: 'all' })
182
+ * i18nText({ languages: ['en', 'th'], required: ['th'], autoTranslate: true })
183
+ * ```
184
+ */
185
+ export declare function i18nText(options: I18nTextOptions): I18nTextDescriptor;
186
+ export { isI18nTextDescriptor } from '../../port/with/i18n-strategy.js';
187
+ /**
188
+ * Validate that a value is a valid `{ [locale]: string }` map and that
189
+ * all required locales are present. Throws `MissingTranslationError`
190
+ * when the required constraint is violated.
191
+ *
192
+ * Called by `Collection.put()` for each registered `i18nField`.
193
+ *
194
+ * @param value The raw field value from the record being put.
195
+ * @param field The field name (used in the thrown error message).
196
+ * @param descriptor The `i18nText()` descriptor for this field.
197
+ */
198
+ export declare function validateI18nTextValue(value: unknown, field: string, descriptor: I18nTextDescriptor): void;
199
+ /**
200
+ * Resolve an i18nText value (`{ [locale]: string }` map) to a string
201
+ * for the given locale.
202
+ *
203
+ * @param value The stored locale map.
204
+ * @param locale The requested locale code, or `'raw'` to return the map.
205
+ * @param fallback Single locale or ordered list; use `'any'` as the last
206
+ * element to fall back to any available translation.
207
+ * @param field Field name used in `LocaleNotSpecifiedError` messages.
208
+ * @returns The resolved string, OR the original map when `locale === 'raw'`.
209
+ */
210
+ /** Options for the policy-aware form of {@link resolveI18nText}. */
211
+ export interface ResolveI18nOptions {
212
+ /** Effective policy for the resolution layer. Default `'throw'`. */
213
+ readonly policy?: OnMissing;
214
+ /** Declared substitute chain; applied only under policy `'substitute'`. */
215
+ readonly substitute?: readonly string[];
216
+ /**
217
+ * Smart-substitute. When `true` and policy is `'substitute'`, after the
218
+ * explicit chain misses, pick the available locale whose script is nearest the
219
+ * target (same script first, then Latin's broad readability) instead of an
220
+ * arbitrary value. Default `false`.
221
+ */
222
+ readonly smartSubstitute?: boolean;
223
+ }
224
+ export declare function resolveI18nText(value: Record<string, string>, locale: string, fallback?: string | readonly string[], field?: string): string | Record<string, string>;
225
+ export declare function resolveI18nText(value: Record<string, string>, locale: string, fallback: string | readonly string[] | undefined, field: string | undefined, opts: ResolveI18nOptions): string | Record<string, string> | null;
226
+ export { getAtPath } from '../../kernel/paths.js';
227
+ /**
228
+ * Apply locale resolution to a single record, returning a new copy.
229
+ *
230
+ * For each field registered as an `i18nText` descriptor:
231
+ * - If `locale === 'raw'`, the field value is left as the stored map.
232
+ * - Otherwise, the field value is replaced with the resolved string.
233
+ *
234
+ * Field paths support dot notation (`'address.lineOne'`) and array
235
+ * wildcards (`'contacts[].title'`). Top-level fields work as before.
236
+ *
237
+ * @param record The decrypted record.
238
+ * @param i18nFields Map of field path → `I18nTextDescriptor`.
239
+ * @param locale The requested locale (or `'raw'`).
240
+ * @param fallback Fallback chain (optional).
241
+ * @param layer Resolution layer (default `'read'`). Each field's
242
+ * `onMissing` policy is resolved for this layer, so the
243
+ * same record resolves leniently on a get but strictly
244
+ * inside an mv/derivation.
245
+ */
246
+ export declare function applyI18nLocale(record: Record<string, unknown>, i18nFields: Record<string, I18nTextDescriptor>, locale: string, fallback?: string | readonly string[], layer?: Layer): Record<string, unknown>;
247
+ /**
248
+ * Sync i18n-text-only present-for-join dressing — the exact `join`-layer
249
+ * partial application `kernel/query/join.ts` used to import and call
250
+ * directly before #626's retirement (#650 Task 6): fixes `fallback`
251
+ * `undefined` and `layer` `'join'`. `via/lookup/snapshot.ts`'s
252
+ * `buildPresentForJoin` composes this with the lookup-label half to build
253
+ * the `JoinableSource.presentForJoin` hook the join executor now calls
254
+ * instead of reaching into this module.
255
+ */
256
+ export declare function presentI18nForJoin(record: Record<string, unknown>, i18nFields: Record<string, I18nTextDescriptor>, locale: string): Record<string, unknown>;
257
+ /**
258
+ * Remove the internal densify provenance marker (`_i18nFilled`) from a
259
+ * read-facing record. NON-mutating: returns the same object when the
260
+ * marker is absent, otherwise a shallow copy without the marker.
261
+ *
262
+ * MUST be applied on every user-facing read return — even locale-less ones,
263
+ * which bypass {@link applyI18nLocale}. MUST NOT be applied on the internal
264
+ * prior-read path (decryptRecord / resolveDensifyPrior), where densify needs
265
+ * the marker.
266
+ */
267
+ export declare function stripI18nFilled<T extends Record<string, unknown>>(record: T): T;
@@ -0,0 +1,24 @@
1
+ import type { I18nTextDescriptor } from './core.js';
2
+ /**
3
+ * Per field, the locales that are UNCHANGED round-tripped densify fills — i.e.
4
+ * marked filled on the prior record AND identical in the incoming record.
5
+ * These are exempt from write-time script enforcement (they are derived copies,
6
+ * not authored text). Slots the user changed are NOT exempt (validated as authored).
7
+ */
8
+ export declare function computeExemptFills(prior: Record<string, unknown> | undefined, incoming: Record<string, unknown>, fields: Record<string, I18nTextDescriptor>): Map<string, Set<string>>;
9
+ /**
10
+ * Mutate `record` in place: fill empty declared-language slots for each
11
+ * densify-enabled field from the field's substitute chain, recompute unchanged
12
+ * prior fills, clear marks for slots that became authored, and write the
13
+ * resulting `_i18nFilled` marker (removed when empty).
14
+ *
15
+ * `prior` is read-only — it is never mutated.
16
+ *
17
+ * Provenance uses value-equality (decision A): a slot counts as an unchanged
18
+ * fill when it was prior-marked AND its value still equals the prior value. A
19
+ * consequence is that re-authoring a value byte-identical to the existing fill
20
+ * keeps it classified as a fill (the visible value is unchanged either way; the
21
+ * slot stays script-exempt and will auto-refresh if its source later changes).
22
+ * This is inherent to value-equality provenance, not a bug.
23
+ */
24
+ export declare function densify(record: Record<string, unknown>, prior: Record<string, unknown> | undefined, fields: Record<string, I18nTextDescriptor>): void;
@@ -0,0 +1,200 @@
1
+ /**
2
+ * _dict_* reserved collections + dictKey schema descriptor —
3
+ *
4
+ * Stores bounded enum-like field dictionaries as reserved encrypted
5
+ * collections (`_dict_<name>/`) within a vault. Each dictionary
6
+ * entry maps a stable key (e.g. `'paid'`) to a locale → label record
7
+ * (e.g. `{ en: 'Paid', th: 'ชำระแล้ว' }`).
8
+ *
9
+ * Design decisions
10
+ * ────────────────
11
+ *
12
+ * **Why reserved collections, not a separate store?**
13
+ * Same answer as `_sync_credentials`: the compartment's existing
14
+ * encryption stack is exactly right. Dictionaries are encrypted under the
15
+ * same vault DEK, inherit ACL, ledger, and backup/restore for free.
16
+ *
17
+ * **One collection per dictionary, not one collection with namespaces.**
18
+ * Each `_dict_<name>/` collection holds entries `{ id: key, labels: {...} }`.
19
+ * This composes with `ref()` naturally (a dictKey IS a ref to the dict
20
+ * collection), and means the query DSL works over dictionary entries
21
+ * without any special-casing.
22
+ *
23
+ * **dictKey() is a descriptor, not a Zod type.**
24
+ * The descriptor pattern matches `ref()`: declare NOYDB-specific metadata
25
+ * in the collection options alongside `refs`. TypeScript inference comes
26
+ * from the descriptor's generic parameter, not from Zod internals.
27
+ *
28
+ * API:
29
+ * `dictKey(name, keys?)` — returns a DictKeyDescriptor
30
+ * `vault.dictionary(name)` — returns a DictionaryHandle
31
+ * `DictionaryHandle.put/putAll/get/delete/rename/list` — CRUD
32
+ *
33
+ * The storage engine (`DictionaryHandle`, `DictEntry`, `DictionaryOptions`,
34
+ * `DICT_COLLECTION_PREFIX`, `dictCollectionName`) moved to
35
+ * `via/lookup/handle.ts` (#650 Task 1 — via-lookup extraction, phase
36
+ * D of the Via port) and is renamed `LookupHandle` there; re-exported here
37
+ * under the original names for one release so existing importers of this
38
+ * module compile unchanged. This file keeps only the descriptor factories
39
+ * (`dictKey`/`staticDict`), which are locale/i18n-coupled and stay put.
40
+ */
41
+ import type { OnMissingPolicy } from './policy.js';
42
+ export { isDictCollectionName } from '../../port/with/i18n-strategy.js';
43
+ export { DictionaryHandle, DICT_COLLECTION_PREFIX, dictCollectionName, type DictEntry, type DictionaryOptions, } from '../lookup/handle.js';
44
+ /**
45
+ * Descriptor returned by `dictKey()`. Attach to the collection's
46
+ * `dictKeyFields` option to declare which fields are dictionary-backed:
47
+ *
48
+ * ```ts
49
+ * const invoices = company.collection<Invoice>('invoices', {
50
+ * dictKeyFields: {
51
+ * status: dictKey('status', ['draft', 'open', 'paid'] as const),
52
+ * },
53
+ * })
54
+ * ```
55
+ *
56
+ * The generic parameter `Keys` narrows the TypeScript type of the field
57
+ * to a literal union; the runtime value of `keys` is used by `put()`
58
+ * validation to reject unknown keys when a key set is declared.
59
+ */
60
+ export interface DictKeyDescriptor<Keys extends string = string> {
61
+ readonly _noydbDictKey: true;
62
+ /** Via port brand marker (#623 Task 9) — dictKey shares the i18n binding brand. */
63
+ readonly _viaBrand: 'i18n';
64
+ /** Which dictionary this field references. */
65
+ readonly name: string;
66
+ /** Declared valid keys. When set, `put()` rejects keys not in this set. */
67
+ readonly keys: readonly Keys[] | undefined;
68
+ /**
69
+ * What to do when a label is missing for the resolved locale. Mirrors
70
+ * `i18nText`'s `onMissing`. Default behavior (when unset) preserves the
71
+ * legacy contract: a missing label is omitted (scalar) or `null`
72
+ * (array element) — i.e. `'null'`. Set `'substitute'` to walk the
73
+ * declared `substitute` chain, or `'throw'` to raise.
74
+ */
75
+ readonly onMissing?: OnMissingPolicy;
76
+ /** Ordered preferred-substitute locales for label resolution. */
77
+ readonly substitute?: readonly string[];
78
+ /**
79
+ * Optional inline display labels (value → label map). A SYNC display
80
+ * fallback for `describe()` when async `dictLabels` (from `_dict_`) are
81
+ * not resolved. The async path still wins when available.
82
+ */
83
+ readonly labels?: Record<string, string>;
84
+ }
85
+ /**
86
+ * Create a `DictKeyDescriptor` for a dictionary-backed enum field.
87
+ *
88
+ * @param name The dictionary name (corresponds to `_dict_<name>` collection).
89
+ * @param keysOrMap Either:
90
+ * - An `as const` array of valid key literals — narrows the TypeScript type
91
+ * to a literal union and enables put-time validation.
92
+ * - A **value→label map** (`{ draft: 'Draft', paid: 'Paid' }`) — keys are
93
+ * inferred from the map, and the labels are stored as inline display
94
+ * defaults surfaced by `describe()` without a store read.
95
+ * @param opts `{ labels?, onMissing?, substitute? }` when the array form
96
+ * is used; `opts.labels` provides inline display defaults for
97
+ * specific keys (same semantics as the map form, but
98
+ * explicit key order from the array is preserved).
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * // array form (original):
103
+ * dictKey('status', ['draft', 'open', 'paid'] as const)
104
+ *
105
+ * // value→label map form (keys inferred, inline labels for describe()):
106
+ * dictKey('status', { draft: 'Draft', open: 'Open', paid: 'Paid' })
107
+ *
108
+ * // array + opts.labels (preserves explicit order, partial labels OK):
109
+ * dictKey('status', ['draft', 'open', 'paid'] as const, { labels: { paid: 'Paid' } })
110
+ * ```
111
+ */
112
+ export declare function dictKey<Keys extends string>(name: string, keysOrMap?: readonly Keys[] | Record<Keys, string>, opts?: {
113
+ onMissing?: OnMissingPolicy;
114
+ substitute?: readonly string[];
115
+ labels?: Record<string, string>;
116
+ }): DictKeyDescriptor<Keys>;
117
+ export { isDictKeyDescriptor } from '../../port/with/i18n-strategy.js';
118
+ /**
119
+ * Descriptor returned by `staticDict()`. A sibling to {@link DictKeyDescriptor}
120
+ * for **closed, defined-in-code, identical-across-vaults** enums (honorific,
121
+ * civil-status, gender, religion, ContactTitle, status…).
122
+ *
123
+ * Unlike `dictKey`, the labels are supplied **at registration in code** and
124
+ * resolved through the *same* label machinery, but with **no `_dict_*`
125
+ * per-vault encrypted copy** and **no `rename()`**. The record stores only
126
+ * the **code**; a static dict has no mutation surface.
127
+ *
128
+ * **Hybrid resolution.** Because a static dict is pure code with no
129
+ * vault-locale dependency, it can — via a configured `displayLocale` — emit a
130
+ * `<field>Label` even under a **locale-less read** (the property a locale-less
131
+ * consumer needs and `dictKey` cannot provide). When a locale *is* active it
132
+ * behaves exactly like `dictKey` (honoring `onMissing`/`substitute`).
133
+ *
134
+ * ```ts
135
+ * const workers = vault.collection<Worker>('workers', {
136
+ * dictKeyFields: {
137
+ * civilStatus: staticDict('civilStatus', {
138
+ * adultMale: { th: 'นาย', en: 'Mr' },
139
+ * adultFemale: { th: 'นาง', en: 'Mrs' },
140
+ * }, { displayLocale: 'th' }),
141
+ * },
142
+ * })
143
+ * ```
144
+ */
145
+ export interface StaticDictDescriptor<Keys extends string = string> {
146
+ readonly _noydbStaticDict: true;
147
+ /** Via port brand marker (#623 Task 9) — staticDict shares the i18n binding brand. */
148
+ readonly _viaBrand: 'i18n';
149
+ /** Which dictionary this field references (the registry name). */
150
+ readonly name: string;
151
+ /** The in-code label table: key → { locale → label }. */
152
+ readonly table: Readonly<Record<Keys, Readonly<Record<string, string>>>>;
153
+ /** Declared valid keys — derived from `Object.keys(table)`. */
154
+ readonly keys: readonly Keys[];
155
+ /**
156
+ * Locale used to emit `<field>Label` under a **locale-less** read — the
157
+ * hybrid hinge. When unset, a static dict behaves like `dictKey` under a
158
+ * locale-less read (no label); a locale-less consumer almost always wants
159
+ * it set.
160
+ */
161
+ readonly displayLocale?: string;
162
+ /** Same `onMissing` policy engine as `dictKey`. Default `'null'`. */
163
+ readonly onMissing?: OnMissingPolicy;
164
+ /** Ordered preferred-substitute locales for label resolution. */
165
+ readonly substitute?: readonly string[];
166
+ /**
167
+ * Validate the stored code against `keys` on every `put()`. Default `true`
168
+ * — codes are closed by construction, so an unknown code is a bug. Set
169
+ * `false` to allow open codes (skips the `UnknownDictCodeError` guard).
170
+ */
171
+ readonly validateCodes?: boolean;
172
+ }
173
+ /**
174
+ * Create a `StaticDictDescriptor` for a code-provided enum field — a sibling
175
+ * to {@link dictKey} for closed, code-defined, identical-across-vaults enums.
176
+ *
177
+ * The labels live in `table` (no `_dict_*` collection, no `rename()`); the
178
+ * record stores only the stable code. Pass `displayLocale` so `<field>Label`
179
+ * resolves even under a locale-less read.
180
+ *
181
+ * @param name The dictionary name (used for the readonly-guard registry and
182
+ * the query label seam — never creates a `_dict_<name>` key).
183
+ * @param table `{ key: { locale: label } }` map.
184
+ * @param opts `displayLocale` (locale-less label), `onMissing`, `substitute`.
185
+ *
186
+ * @example
187
+ * ```ts
188
+ * staticDict('civilStatus', {
189
+ * adultMale: { th: 'นาย', en: 'Mr' },
190
+ * adultFemale: { th: 'นาง', en: 'Mrs' },
191
+ * }, { displayLocale: 'th' })
192
+ * ```
193
+ */
194
+ export declare function staticDict<const T extends Record<string, Record<string, string>>>(name: string, table: T, opts?: {
195
+ displayLocale?: string;
196
+ onMissing?: OnMissingPolicy;
197
+ substitute?: readonly string[];
198
+ validateCodes?: boolean;
199
+ }): StaticDictDescriptor<Extract<keyof T, string>>;
200
+ export { isStaticDictDescriptor } from '../../port/with/i18n-strategy.js';