@noy-db/hub 0.3.0-pre.10 → 0.3.0-pre.12

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 (898) hide show
  1. package/dist/aggregate/index.js +4 -4
  2. package/dist/api-3TH2GOFQ.js +20 -0
  3. package/dist/as/index.js +11 -11
  4. package/dist/attestation/index.js +18 -18
  5. package/dist/backup-2WVBIVXW.js +225 -0
  6. package/dist/blobs/index.js +10 -10
  7. package/dist/broker/index.js +92 -0
  8. package/dist/broker/index.js.map +1 -0
  9. package/dist/bundle/index.js +20 -20
  10. package/dist/by/index.js +2 -2
  11. package/dist/cargo/index.js +30 -30
  12. package/dist/chunk-2MTRJCBI.js +75 -0
  13. package/dist/chunk-37WOJQWY.js +404 -0
  14. package/dist/chunk-3QSOFZQB.js +589 -0
  15. package/dist/chunk-44IL5G3W.js +99 -0
  16. package/dist/chunk-45QPICLE.js +69 -0
  17. package/dist/chunk-4BQXMCE5.js +164 -0
  18. package/dist/chunk-4GPE63GU.js +111 -0
  19. package/dist/chunk-4GPE63GU.js.map +1 -0
  20. package/dist/chunk-5HNX4OD4.js +30 -0
  21. package/dist/chunk-65VLRG3I.js +54 -0
  22. package/dist/chunk-6MA575R5.js +59 -0
  23. package/dist/chunk-6S7ENMRE.js +524 -0
  24. package/dist/chunk-6S7ENMRE.js.map +1 -0
  25. package/dist/chunk-7GAXFU2O.js +123 -0
  26. package/dist/chunk-7QLY64AD.js +202 -0
  27. package/dist/chunk-7ZOSHEVS.js +235 -0
  28. package/dist/chunk-AAIIDAUC.js +371 -0
  29. package/dist/chunk-AAIIDAUC.js.map +1 -0
  30. package/dist/chunk-AKEOHKMT.js +282 -0
  31. package/dist/chunk-AKEOHKMT.js.map +1 -0
  32. package/dist/chunk-APHLCXVC.js +124 -0
  33. package/dist/chunk-BDEMZD4F.js +129 -0
  34. package/dist/chunk-BDPAVYGJ.js +662 -0
  35. package/dist/chunk-BLUT46UP.js +42 -0
  36. package/dist/chunk-CCIR2OJH.js +778 -0
  37. package/dist/chunk-CXC3JLAQ.js +155 -0
  38. package/dist/chunk-CZMCOFEA.js +1221 -0
  39. package/dist/chunk-DIB2BOIH.js +164 -0
  40. package/dist/chunk-DJ7MRXNA.js +344 -0
  41. package/dist/chunk-DJ7MRXNA.js.map +1 -0
  42. package/dist/chunk-EHW5KTTA.js +150 -0
  43. package/dist/chunk-EHW5KTTA.js.map +1 -0
  44. package/dist/chunk-EIZ4YOG2.js +70 -0
  45. package/dist/chunk-EVHBK7BN.js +515 -0
  46. package/dist/chunk-EXGDL2UQ.js +74 -0
  47. package/dist/chunk-F3LGBRSV.js +453 -0
  48. package/dist/chunk-F44XWXOA.js +392 -0
  49. package/dist/chunk-FF7S3XDW.js +230 -0
  50. package/dist/chunk-FJTWLQV3.js +155 -0
  51. package/dist/chunk-FYNE4WLC.js +36 -0
  52. package/dist/chunk-FZCGIJEJ.js +1505 -0
  53. package/dist/chunk-FZCGIJEJ.js.map +1 -0
  54. package/dist/chunk-GL3JV5EV.js +130 -0
  55. package/dist/chunk-GXLZXD2W.js +29 -0
  56. package/dist/chunk-HA6ZQWA2.js +1056 -0
  57. package/dist/chunk-HA6ZQWA2.js.map +1 -0
  58. package/dist/chunk-HBBZWEC5.js +686 -0
  59. package/dist/chunk-HG76BZ6G.js +188 -0
  60. package/dist/chunk-HGAB325C.js +38 -0
  61. package/dist/chunk-HIOLCOK3.js +30 -0
  62. package/dist/chunk-HIOLCOK3.js.map +1 -0
  63. package/dist/chunk-HK4XTXO4.js +49 -0
  64. package/dist/chunk-HYG32HCM.js +14 -0
  65. package/dist/chunk-ILF5GARW.js +135 -0
  66. package/dist/chunk-INBQ43DI.js +382 -0
  67. package/dist/chunk-IQIVD7TP.js +247 -0
  68. package/dist/chunk-J3JIYFYL.js +45 -0
  69. package/dist/chunk-JC75UBMT.js +32 -0
  70. package/dist/chunk-JC75UBMT.js.map +1 -0
  71. package/dist/chunk-JGUZMC3I.js +150 -0
  72. package/dist/chunk-JRKE5MAZ.js +80 -0
  73. package/dist/chunk-K2DLLK34.js +255 -0
  74. package/dist/chunk-KKYEZCQG.js +34 -0
  75. package/dist/chunk-NAR6IDKH.js +54 -0
  76. package/dist/chunk-NEYKOESM.js +117 -0
  77. package/dist/chunk-NM3IFKBL.js +29 -0
  78. package/dist/chunk-NRYNRSGV.js +99 -0
  79. package/dist/chunk-NT2ZO4KI.js +59 -0
  80. package/dist/chunk-P2LJI6JE.js +94 -0
  81. package/dist/chunk-PH7G7ZI7.js +823 -0
  82. package/dist/chunk-PN5332SU.js +209 -0
  83. package/dist/chunk-QF5LGMSV.js +45 -0
  84. package/dist/chunk-QG5RQQBO.js +367 -0
  85. package/dist/chunk-QYPDYN23.js +23 -0
  86. package/dist/chunk-R3NHNVS5.js +478 -0
  87. package/dist/chunk-R3NHNVS5.js.map +1 -0
  88. package/dist/chunk-RNXJ2VO6.js +280 -0
  89. package/dist/chunk-RXTMLYJS.js +97 -0
  90. package/dist/chunk-S2OWPVSO.js +30 -0
  91. package/dist/chunk-S7TAPIRS.js +205 -0
  92. package/dist/chunk-SAL5X5OK.js +40 -0
  93. package/dist/chunk-SGJGWBSC.js +85 -0
  94. package/dist/chunk-SIAIYP6G.js +50 -0
  95. package/dist/chunk-SXPCZ6LL.js +1697 -0
  96. package/dist/chunk-SXPCZ6LL.js.map +1 -0
  97. package/dist/chunk-TBNF5DV5.js +261 -0
  98. package/dist/chunk-TVOHSPVK.js +21 -0
  99. package/dist/chunk-TVS6BUUR.js +41 -0
  100. package/dist/chunk-UMC5QZTX.js +86 -0
  101. package/dist/chunk-US34HTOI.js +367 -0
  102. package/dist/chunk-VCUQR6ZL.js +621 -0
  103. package/dist/chunk-VXZNSPJM.js +957 -0
  104. package/dist/chunk-VXZNSPJM.js.map +1 -0
  105. package/dist/chunk-WEHIQYQH.js +71 -0
  106. package/dist/chunk-WHQHTNT7.js +265 -0
  107. package/dist/chunk-X6Y5MXTH.js +74 -0
  108. package/dist/chunk-XJ47GS53.js +291 -0
  109. package/dist/chunk-XS6DLN67.js +95 -0
  110. package/dist/chunk-Y5TWPBNW.js +91 -0
  111. package/dist/chunk-YCXKFB7J.js +14181 -0
  112. package/dist/chunk-YCXKFB7J.js.map +1 -0
  113. package/dist/chunk-ZHOJOT6S.js +36 -0
  114. package/dist/chunk-ZL6PRULX.js +167 -0
  115. package/dist/chunk-ZL6PRULX.js.map +1 -0
  116. package/dist/classified/index.js +5 -5
  117. package/dist/classified-marker-M7K3OJPM.js +28 -0
  118. package/dist/classified-marker-M7K3OJPM.js.map +1 -0
  119. package/dist/collection-facade-DWA735G2.js +39 -0
  120. package/dist/computed-ORCGM5JE.js +11 -0
  121. package/dist/consent/index.js +9 -9
  122. package/dist/crdt/index.js +1 -1
  123. package/dist/dead-filter-OV5FGKOG.js +28 -0
  124. package/dist/delegation-YVSHMIZZ.js +25 -0
  125. package/dist/derivations/index.js +12 -12
  126. package/dist/derive-BUO555L5.js +21 -0
  127. package/dist/enclave-XXFUKJC6.js +135 -0
  128. package/dist/executor-6OCCE5VM.js +25 -0
  129. package/dist/executor-JFVAJY42.js +9 -0
  130. package/dist/executor-UPSH5O3F.js +9 -0
  131. package/dist/export-accessible-L4A2QZA5.js +23 -0
  132. package/dist/extract-partition-ZHQ4RGGM.js +36 -0
  133. package/dist/fanout-sidecar-IO2KDUWV.js +74 -0
  134. package/dist/find-ZFZDZQ2U.js +11 -0
  135. package/dist/forget/index.js +10 -10
  136. package/dist/forget/index.js.map +1 -1
  137. package/dist/guards/index.js +3 -3
  138. package/dist/history/index.js +11 -11
  139. package/dist/i18n/index.js +15 -15
  140. package/dist/index.d.ts +303 -1492
  141. package/dist/index.js +172 -171
  142. package/dist/index.js.map +1 -1
  143. package/dist/indexing/index.js +5 -5
  144. package/dist/indexing/index.js.map +1 -1
  145. package/dist/issue-OG4V23SQ.js +19 -0
  146. package/dist/kernel/best-effort-revert.d.ts +52 -0
  147. package/dist/kernel/cache/index.d.ts +10 -0
  148. package/dist/kernel/cache/lru.d.ts +97 -0
  149. package/dist/kernel/cache/policy.d.ts +32 -0
  150. package/dist/kernel/collection-config.d.ts +789 -0
  151. package/dist/kernel/collection.d.ts +1519 -0
  152. package/dist/kernel/constants.d.ts +18 -0
  153. package/dist/kernel/debug.d.ts +25 -0
  154. package/dist/kernel/enclave/broker/proof.d.ts +154 -0
  155. package/dist/kernel/enclave/classify/bidx.d.ts +77 -0
  156. package/dist/kernel/enclave/classify/compare.d.ts +10 -0
  157. package/dist/kernel/enclave/classify/digest.d.ts +8 -0
  158. package/dist/kernel/enclave/classify/find.d.ts +36 -0
  159. package/dist/kernel/enclave/classify/kofn.d.ts +7 -0
  160. package/dist/kernel/enclave/classify/normalize.d.ts +7 -0
  161. package/dist/kernel/enclave/classify/reveal.d.ts +10 -0
  162. package/dist/kernel/enclave/classify/vdig.d.ts +39 -0
  163. package/dist/kernel/enclave/classify/verify.d.ts +33 -0
  164. package/dist/kernel/enclave/classify/write.d.ts +8 -0
  165. package/dist/kernel/enclave/crypto.d.ts +263 -0
  166. package/dist/kernel/enclave/index.d.ts +78 -0
  167. package/dist/kernel/enclave/record-keys/deterministic.d.ts +54 -0
  168. package/dist/kernel/enclave/record-keys/envelope-body.d.ts +79 -0
  169. package/dist/kernel/enclave/record-keys/lifecycle.d.ts +57 -0
  170. package/dist/kernel/enclave/record-keys/record-codec.d.ts +301 -0
  171. package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +14 -0
  172. package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +123 -0
  173. package/dist/kernel/enclave/record-keys/sealing.d.ts +70 -0
  174. package/dist/kernel/enclave/record-keys/tombstone.d.ts +57 -0
  175. package/dist/kernel/env-check.d.ts +1 -0
  176. package/dist/kernel/errors.d.ts +1848 -0
  177. package/dist/kernel/events.d.ts +11 -0
  178. package/dist/kernel/memory-store.d.ts +17 -0
  179. package/dist/kernel/mutation.d.ts +14 -0
  180. package/dist/kernel/noydb.d.ts +826 -0
  181. package/dist/kernel/paths.d.ts +25 -0
  182. package/dist/kernel/query/builder.d.ts +520 -0
  183. package/dist/kernel/query/index.d.ts +31 -0
  184. package/dist/kernel/query/join.d.ts +205 -0
  185. package/dist/kernel/query/live.d.ts +111 -0
  186. package/dist/kernel/query/predicate.d.ts +139 -0
  187. package/dist/kernel/query/scan-builder.d.ts +334 -0
  188. package/dist/kernel/refs.d.ts +205 -0
  189. package/dist/kernel/schema.d.ts +134 -0
  190. package/dist/kernel/sync-policy.d.ts +188 -0
  191. package/dist/kernel/types.d.ts +3166 -0
  192. package/dist/kernel/util/discriminant.d.ts +58 -0
  193. package/dist/kernel/util/index.d.ts +14 -0
  194. package/dist/kernel/util/sanitize-filename.d.ts +75 -0
  195. package/dist/kernel/validation.d.ts +130 -0
  196. package/dist/kernel/vault.d.ts +1737 -0
  197. package/dist/kernel/via/compose.d.ts +144 -0
  198. package/dist/kernel/via/dispatch.d.ts +185 -0
  199. package/dist/kernel/via/graph-wiring.d.ts +145 -0
  200. package/dist/kernel/via/graph.d.ts +166 -0
  201. package/dist/kernel/via/index.d.ts +200 -0
  202. package/dist/kernel/via/pipeline.d.ts +266 -0
  203. package/dist/kernel/via/reconcile.d.ts +153 -0
  204. package/dist/kernel/via/taint-binding.d.ts +66 -0
  205. package/dist/kernel/write-queue.d.ts +46 -0
  206. package/dist/ledger-UAQKPWNM.js +42 -0
  207. package/dist/legacy/bundle.d.ts +30 -0
  208. package/dist/legacy/kernel.d.ts +33 -0
  209. package/dist/liberate-GFUQJRK5.js +24 -0
  210. package/dist/link-set-DGYUOFVD.js +31 -0
  211. package/dist/materialized-views/index.js +19 -19
  212. package/dist/noydb-AKH4AMCR.js +67 -0
  213. package/dist/on/index.js +9 -9
  214. package/dist/overlay-views/index.js +4 -4
  215. package/dist/periods/index.js +12 -12
  216. package/dist/pod/index.js +11 -11
  217. package/dist/policy-5POYLI26.js +41 -0
  218. package/dist/port/as/index.d.ts +26 -0
  219. package/dist/port/at/index.d.ts +18 -0
  220. package/dist/port/by/default-provider.d.ts +9 -0
  221. package/dist/port/by/index.d.ts +17 -0
  222. package/dist/port/by/types.d.ts +86 -0
  223. package/dist/port/in/index.d.ts +21 -0
  224. package/dist/port/on/index.d.ts +27 -0
  225. package/dist/port/to/index.d.ts +19 -0
  226. package/dist/port/ui/index.d.ts +21 -0
  227. package/dist/port/with/blob-strategy.d.ts +81 -0
  228. package/dist/port/with/broker-strategy.d.ts +84 -0
  229. package/dist/port/with/capabilities.d.ts +31 -0
  230. package/dist/port/with/classified-marker.d.ts +9 -0
  231. package/dist/port/with/classified-strategy.d.ts +62 -0
  232. package/dist/port/with/computed-strategy.d.ts +19 -0
  233. package/dist/port/with/i18n-strategy.d.ts +175 -0
  234. package/dist/port/with/index.d.ts +18 -0
  235. package/dist/port/with/lazy-strategy.d.ts +48 -0
  236. package/dist/port/with/lookup-strategy.d.ts +129 -0
  237. package/dist/port/with/service-bus.d.ts +156 -0
  238. package/dist/port/with/team-strategy.d.ts +36 -0
  239. package/dist/port/with/write-hooks.d.ts +34 -0
  240. package/dist/portability/index.js +8 -8
  241. package/dist/post-register-LB3P4XQU.js +60 -0
  242. package/dist/post-register-LB3P4XQU.js.map +1 -0
  243. package/dist/public-envelope-GOG4LUM7.js +32 -0
  244. package/dist/purge-scope-FGNNLWHD.js +24 -0
  245. package/dist/purge-scope-FGNNLWHD.js.map +1 -0
  246. package/dist/query/index.js +5 -5
  247. package/dist/register-ZI7YI7US.js +23 -0
  248. package/dist/registry-DZ2T4LL7.js +9 -0
  249. package/dist/registry-NVWEQ2GU.js +18 -0
  250. package/dist/registry-SEKL74ET.js +19 -0
  251. package/dist/request-withdrawal-ZP3JIRVS.js +31 -0
  252. package/dist/reveal-NPVROV4D.js +38 -0
  253. package/dist/revoke-VF6TAJK2.js +24 -0
  254. package/dist/satellites/index.js +1 -1
  255. package/dist/sealed-record/index.js +12 -12
  256. package/dist/seed-VI4FU7UH.js +231 -0
  257. package/dist/seed-VI4FU7UH.js.map +1 -0
  258. package/dist/session/index.js +9 -9
  259. package/dist/shadow/index.js +2 -2
  260. package/dist/signer-DRDDCCHW.js +25 -0
  261. package/dist/snapshots/index.js +10 -10
  262. package/dist/stale-TJXFQKOJ.js +14 -0
  263. package/dist/storage-GR7KZRH4.js +23 -0
  264. package/dist/store-coordination-provider-5KDS2RRP.js +142 -0
  265. package/dist/sync/index.js +9 -9
  266. package/dist/team/index.js +15 -15
  267. package/dist/tiers/index.js +10 -10
  268. package/dist/to/index.js +1 -1
  269. package/dist/tx/index.js +3 -3
  270. package/dist/util/index.js +1 -1
  271. package/dist/verify-QK76NJ4G.js +139 -0
  272. package/dist/via/blob/active.d.ts +34 -0
  273. package/dist/via/blob/binding.d.ts +86 -0
  274. package/dist/via/blob/index.d.ts +34 -0
  275. package/dist/via/classified/active.d.ts +3 -0
  276. package/dist/via/classified/binding.d.ts +83 -0
  277. package/dist/via/classified/config-drift.d.ts +34 -0
  278. package/dist/via/classified/descriptor.d.ts +66 -0
  279. package/dist/via/classified/errors.d.ts +19 -0
  280. package/dist/via/classified/guards.d.ts +23 -0
  281. package/dist/via/classified/index.d.ts +11 -0
  282. package/dist/via/classified/presets.d.ts +65 -0
  283. package/dist/via/classified/resolve.d.ts +9 -0
  284. package/dist/via/classified/strategy.d.ts +11 -0
  285. package/dist/via/classified/validators.d.ts +3 -0
  286. package/dist/via/classified/write.d.ts +4 -0
  287. package/dist/via/computed/binding.d.ts +34 -0
  288. package/dist/via/computed/descriptor.d.ts +35 -0
  289. package/dist/via/i18n/active.d.ts +28 -0
  290. package/dist/via/i18n/binding.d.ts +36 -0
  291. package/dist/via/i18n/core.d.ts +267 -0
  292. package/dist/via/i18n/densify.d.ts +24 -0
  293. package/dist/via/i18n/dictionary.d.ts +200 -0
  294. package/dist/via/i18n/index.d.ts +21 -0
  295. package/dist/via/i18n/policy.d.ts +44 -0
  296. package/dist/via/i18n/script.d.ts +26 -0
  297. package/dist/via/i18n/strategy.d.ts +13 -0
  298. package/dist/via/lookup/active.d.ts +19 -0
  299. package/dist/via/lookup/binding.d.ts +99 -0
  300. package/dist/via/lookup/descriptor.d.ts +123 -0
  301. package/dist/via/lookup/handle.d.ts +220 -0
  302. package/dist/via/lookup/index.d.ts +17 -0
  303. package/dist/via/lookup/registry.d.ts +228 -0
  304. package/dist/via/lookup/snapshot.d.ts +67 -0
  305. package/dist/via/money/arith.d.ts +68 -0
  306. package/dist/via/money/binding.d.ts +21 -0
  307. package/dist/via/money/branded.d.ts +61 -0
  308. package/dist/via/money/descriptor.d.ts +73 -0
  309. package/dist/via/money/fixed-point.d.ts +51 -0
  310. package/dist/via/money/index.d.ts +15 -0
  311. package/dist/via/money/iso4217.d.ts +6 -0
  312. package/dist/via/money/money-reducer.d.ts +33 -0
  313. package/dist/via/money/normalize.d.ts +105 -0
  314. package/dist/via/money/paths.d.ts +61 -0
  315. package/dist/via/money/where.d.ts +127 -0
  316. package/dist/walk-XQCBKSBW.js +241 -0
  317. package/dist/with/index.js +11 -11
  318. package/dist/with-audit/attestation/active.d.ts +10 -0
  319. package/dist/with-audit/attestation/index.d.ts +16 -0
  320. package/dist/with-audit/attestation/issue.d.ts +29 -0
  321. package/dist/with-audit/attestation/revoke.d.ts +15 -0
  322. package/dist/with-audit/attestation/signer.d.ts +33 -0
  323. package/dist/with-audit/attestation/strategy.d.ts +44 -0
  324. package/dist/with-audit/attestation/vault-facade.d.ts +62 -0
  325. package/dist/with-audit/consent/active.d.ts +14 -0
  326. package/dist/with-audit/consent/consent.d.ts +114 -0
  327. package/dist/with-audit/consent/index.d.ts +14 -0
  328. package/dist/with-audit/consent/strategy.d.ts +36 -0
  329. package/dist/with-audit/forget/active.d.ts +31 -0
  330. package/dist/with-audit/forget/index.d.ts +28 -0
  331. package/dist/with-audit/forget/purge-scope.d.ts +54 -0
  332. package/dist/with-audit/forget/strategy.d.ts +177 -0
  333. package/dist/with-audit/forget/subject-index.d.ts +83 -0
  334. package/dist/with-audit/guards/executor.d.ts +26 -0
  335. package/dist/with-audit/guards/immutable-guard.d.ts +63 -0
  336. package/dist/with-audit/guards/index.d.ts +10 -0
  337. package/dist/with-audit/guards/read-only-facade.d.ts +31 -0
  338. package/dist/with-audit/guards/registry.d.ts +83 -0
  339. package/dist/with-audit/guards/transition-guard.d.ts +82 -0
  340. package/dist/with-audit/guards/types.d.ts +134 -0
  341. package/dist/with-audit/guards/with-guard.d.ts +15 -0
  342. package/dist/with-audit/periods/active.d.ts +11 -0
  343. package/dist/with-audit/periods/index.d.ts +18 -0
  344. package/dist/with-audit/periods/periods.d.ts +417 -0
  345. package/dist/with-audit/periods/strategy.d.ts +32 -0
  346. package/dist/with-audit/periods/vault-facade.d.ts +95 -0
  347. package/dist/with-audit/portability/active.d.ts +11 -0
  348. package/dist/with-audit/portability/export-accessible.d.ts +46 -0
  349. package/dist/with-audit/portability/index.d.ts +18 -0
  350. package/dist/with-audit/portability/request-withdrawal.d.ts +85 -0
  351. package/dist/with-audit/portability/strategy.d.ts +31 -0
  352. package/dist/with-audit/portability/withdraw-accessible.d.ts +82 -0
  353. package/dist/with-audit/sealed-record/active.d.ts +9 -0
  354. package/dist/with-audit/sealed-record/index.d.ts +55 -0
  355. package/dist/with-audit/sealed-record/strategy.d.ts +34 -0
  356. package/dist/with-audit/sealed-record/types.d.ts +27 -0
  357. package/dist/with-audit/tiers/active.d.ts +9 -0
  358. package/dist/with-audit/tiers/index.d.ts +122 -0
  359. package/dist/with-audit/tiers/strategy.d.ts +35 -0
  360. package/dist/with-cargo/active.d.ts +11 -0
  361. package/dist/with-cargo/adopt-partition.d.ts +81 -0
  362. package/dist/with-cargo/decrypt-partition.d.ts +19 -0
  363. package/dist/with-cargo/describe-extraction.d.ts +33 -0
  364. package/dist/with-cargo/extract-partition.d.ts +147 -0
  365. package/dist/with-cargo/index.d.ts +33 -0
  366. package/dist/with-cargo/strategy.d.ts +30 -0
  367. package/dist/with-cargo/vault-diff.d.ts +144 -0
  368. package/dist/with-cargo/walk-closure.d.ts +38 -0
  369. package/dist/with-commit/crdt/active.d.ts +25 -0
  370. package/dist/with-commit/crdt/crdt.d.ts +42 -0
  371. package/dist/with-commit/crdt/index.d.ts +16 -0
  372. package/dist/with-commit/crdt/strategy.d.ts +25 -0
  373. package/dist/with-commit/history/active.d.ts +40 -0
  374. package/dist/with-commit/history/diff.d.ts +23 -0
  375. package/dist/with-commit/history/history.d.ts +27 -0
  376. package/dist/with-commit/history/index.d.ts +30 -0
  377. package/dist/with-commit/history/ledger/constants.d.ts +37 -0
  378. package/dist/with-commit/history/ledger/entry.d.ts +195 -0
  379. package/dist/with-commit/history/ledger/hash.d.ts +30 -0
  380. package/dist/with-commit/history/ledger/index.d.ts +19 -0
  381. package/dist/with-commit/history/ledger/patch.d.ts +99 -0
  382. package/dist/with-commit/history/ledger/store.d.ts +335 -0
  383. package/dist/with-commit/history/strategy.d.ts +126 -0
  384. package/dist/with-commit/history/time-machine.d.ts +179 -0
  385. package/dist/with-commit/numbering/descriptor.d.ts +27 -0
  386. package/dist/with-commit/numbering/index.d.ts +69 -0
  387. package/dist/with-commit/sequence/active.d.ts +10 -0
  388. package/dist/with-commit/sequence/index.d.ts +150 -0
  389. package/dist/with-commit/sequence/strategy.d.ts +26 -0
  390. package/dist/with-commit/tx/active.d.ts +27 -0
  391. package/dist/with-commit/tx/dry-run.d.ts +29 -0
  392. package/dist/with-commit/tx/elevated-handle.d.ts +58 -0
  393. package/dist/with-commit/tx/index.d.ts +13 -0
  394. package/dist/with-commit/tx/invariants.d.ts +68 -0
  395. package/dist/with-commit/tx/strategy.d.ts +23 -0
  396. package/dist/with-commit/tx/transaction.d.ts +212 -0
  397. package/dist/with-fork/archive/engine.d.ts +71 -0
  398. package/dist/with-fork/archive/index.d.ts +23 -0
  399. package/dist/with-fork/shadow/active.d.ts +6 -0
  400. package/dist/with-fork/shadow/index.d.ts +14 -0
  401. package/dist/with-fork/shadow/strategy.d.ts +28 -0
  402. package/dist/with-fork/shadow/vault-frame.d.ts +93 -0
  403. package/dist/with-fork/snapshots/active.d.ts +20 -0
  404. package/dist/with-fork/snapshots/engine.d.ts +36 -0
  405. package/dist/with-fork/snapshots/index.d.ts +5 -0
  406. package/dist/with-fork/snapshots/noydb-facade.d.ts +64 -0
  407. package/dist/with-fork/snapshots/policy.d.ts +23 -0
  408. package/dist/with-fork/snapshots/scheduler.d.ts +34 -0
  409. package/dist/with-fork/snapshots/strategy.d.ts +48 -0
  410. package/dist/with-formula/computed/index.d.ts +48 -0
  411. package/dist/with-formula/computed/lazy.d.ts +13 -0
  412. package/dist/with-formula/derivations/executor.d.ts +61 -0
  413. package/dist/with-formula/derivations/fanout-sidecar.d.ts +75 -0
  414. package/dist/with-formula/derivations/index.d.ts +6 -0
  415. package/dist/with-formula/derivations/registry.d.ts +67 -0
  416. package/dist/with-formula/derivations/stale.d.ts +39 -0
  417. package/dist/with-formula/derivations/strategy-hash.d.ts +1 -0
  418. package/dist/with-formula/derivations/types.d.ts +248 -0
  419. package/dist/with-formula/derivations/with-derivation.d.ts +10 -0
  420. package/dist/with-formula/derivations/with-rollup.d.ts +34 -0
  421. package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +58 -0
  422. package/dist/with-formula/materialized-views/executor.d.ts +71 -0
  423. package/dist/with-formula/materialized-views/index.d.ts +11 -0
  424. package/dist/with-formula/materialized-views/query-hash.d.ts +23 -0
  425. package/dist/with-formula/materialized-views/registry.d.ts +99 -0
  426. package/dist/with-formula/materialized-views/stale.d.ts +62 -0
  427. package/dist/with-formula/materialized-views/types.d.ts +318 -0
  428. package/dist/with-formula/materialized-views/with-materialized-view.d.ts +24 -0
  429. package/dist/with-formula/overlay-views/index.d.ts +5 -0
  430. package/dist/with-formula/overlay-views/registry.d.ts +42 -0
  431. package/dist/with-formula/overlay-views/types.d.ts +97 -0
  432. package/dist/with-formula/overlay-views/virtual-collection.d.ts +90 -0
  433. package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +9 -0
  434. package/dist/with-lookup/aggregate/active.d.ts +33 -0
  435. package/dist/with-lookup/aggregate/aggregation.d.ts +166 -0
  436. package/dist/with-lookup/aggregate/canonical-key.d.ts +16 -0
  437. package/dist/with-lookup/aggregate/groupby.d.ts +280 -0
  438. package/dist/with-lookup/aggregate/index.d.ts +23 -0
  439. package/dist/with-lookup/aggregate/reducers.d.ts +257 -0
  440. package/dist/with-lookup/aggregate/strategy.d.ts +59 -0
  441. package/dist/with-lookup/embeddings/cosine.d.ts +2 -0
  442. package/dist/with-lookup/embeddings/descriptor.d.ts +8 -0
  443. package/dist/with-lookup/embeddings/index.d.ts +3 -0
  444. package/dist/with-lookup/embeddings/vector-set.d.ts +19 -0
  445. package/dist/with-lookup/indexing/active.d.ts +30 -0
  446. package/dist/with-lookup/indexing/collection-facade.d.ts +120 -0
  447. package/dist/with-lookup/indexing/eager-indexes.d.ts +122 -0
  448. package/dist/with-lookup/indexing/index.d.ts +27 -0
  449. package/dist/with-lookup/indexing/lazy-builder.d.ts +102 -0
  450. package/dist/with-lookup/indexing/persisted-indexes.d.ts +229 -0
  451. package/dist/with-lookup/indexing/strategy.d.ts +56 -0
  452. package/dist/with-lookup/indexing/unique-constraints.d.ts +74 -0
  453. package/dist/with-lookup/search/active.d.ts +10 -0
  454. package/dist/with-lookup/search/build-docs.d.ts +15 -0
  455. package/dist/with-lookup/search/collection-facade.d.ts +123 -0
  456. package/dist/with-lookup/search/fuse.d.ts +22 -0
  457. package/dist/with-lookup/search/index-store.d.ts +19 -0
  458. package/dist/with-lookup/search/index.d.ts +19 -0
  459. package/dist/with-lookup/search/inverted-index.d.ts +47 -0
  460. package/dist/with-lookup/search/persisted-index-store.d.ts +41 -0
  461. package/dist/with-lookup/search/retrieve-types.d.ts +29 -0
  462. package/dist/with-lookup/search/scan.d.ts +28 -0
  463. package/dist/with-lookup/search/segment.d.ts +15 -0
  464. package/dist/with-lookup/search/serialize.d.ts +4 -0
  465. package/dist/with-lookup/search/snippet.d.ts +5 -0
  466. package/dist/with-lookup/search/strategy.d.ts +37 -0
  467. package/dist/with-lookup/search/tokenize.d.ts +12 -0
  468. package/dist/with-party/auth-introspection/index.d.ts +44 -0
  469. package/dist/with-party/broker/active.d.ts +23 -0
  470. package/dist/with-party/broker/index.d.ts +28 -0
  471. package/dist/with-party/broker/seed.d.ts +77 -0
  472. package/dist/with-party/custody/active.d.ts +10 -0
  473. package/dist/with-party/custody/index.d.ts +69 -0
  474. package/dist/with-party/custody/liberate.d.ts +64 -0
  475. package/dist/with-party/custody/strategy.d.ts +48 -0
  476. package/dist/with-party/directory/index.d.ts +11 -0
  477. package/dist/with-party/directory/public-envelope/index.d.ts +12 -0
  478. package/dist/with-party/directory/public-envelope/schema.d.ts +24 -0
  479. package/dist/with-party/directory/public-envelope/storage.d.ts +59 -0
  480. package/dist/with-party/directory/public-envelope/types.d.ts +80 -0
  481. package/dist/with-party/directory/storage.d.ts +33 -0
  482. package/dist/with-party/directory/types.d.ts +43 -0
  483. package/dist/with-party/directory/user-envelope/api.d.ts +201 -0
  484. package/dist/with-party/directory/user-envelope/index.d.ts +12 -0
  485. package/dist/with-party/directory/user-envelope/storage.d.ts +54 -0
  486. package/dist/with-party/directory/visibility.d.ts +47 -0
  487. package/dist/with-party/policy/engine.d.ts +60 -0
  488. package/dist/with-party/policy/index.d.ts +15 -0
  489. package/dist/with-party/policy/noydb-facade.d.ts +39 -0
  490. package/dist/with-party/policy/presets.d.ts +38 -0
  491. package/dist/with-party/policy/storage.d.ts +31 -0
  492. package/dist/with-party/session/active.d.ts +34 -0
  493. package/dist/with-party/session/dev-unlock.d.ts +128 -0
  494. package/dist/with-party/session/index.d.ts +23 -0
  495. package/dist/with-party/session/session-policy.d.ts +92 -0
  496. package/dist/with-party/session/session.d.ts +131 -0
  497. package/dist/with-party/session/strategy.d.ts +42 -0
  498. package/dist/with-party/session/unlock-state.d.ts +47 -0
  499. package/dist/with-party/sync/index.d.ts +31 -0
  500. package/dist/with-party/tab-coordination.d.ts +73 -0
  501. package/dist/with-party/tab-write-relay.d.ts +39 -0
  502. package/dist/with-party/team/active.d.ts +13 -0
  503. package/dist/with-party/team/authenticators.d.ts +95 -0
  504. package/dist/with-party/team/deed.d.ts +97 -0
  505. package/dist/with-party/team/delegation.d.ts +88 -0
  506. package/dist/with-party/team/index.d.ts +38 -0
  507. package/dist/with-party/team/keyring.d.ts +318 -0
  508. package/dist/with-party/team/magic-link-grant.d.ts +152 -0
  509. package/dist/with-party/team/managed-passphrase.d.ts +280 -0
  510. package/dist/with-party/team/noydb-facade.d.ts +484 -0
  511. package/dist/with-party/team/peer-recover.d.ts +81 -0
  512. package/dist/with-party/team/presence.d.ts +81 -0
  513. package/dist/with-party/team/recovery.d.ts +191 -0
  514. package/dist/with-party/team/reserved-secret-collections.d.ts +41 -0
  515. package/dist/with-party/team/rotate-recover.d.ts +275 -0
  516. package/dist/with-party/team/shamir-recovery-provider.d.ts +15 -0
  517. package/dist/with-party/team/strategy.d.ts +9 -0
  518. package/dist/with-party/team/sync-active.d.ts +33 -0
  519. package/dist/with-party/team/sync-credentials.d.ts +113 -0
  520. package/dist/with-party/team/sync-strategy.d.ts +67 -0
  521. package/dist/with-party/team/sync-transaction.d.ts +39 -0
  522. package/dist/with-party/team/sync.d.ts +174 -0
  523. package/dist/with-party/team/tiers.d.ts +39 -0
  524. package/dist/with-party/team/wrapped-deks.d.ts +86 -0
  525. package/dist/with-pod/backup.d.ts +74 -0
  526. package/dist/with-pod/bundle.d.ts +414 -0
  527. package/dist/with-pod/format.d.ts +203 -0
  528. package/dist/with-pod/index.d.ts +20 -0
  529. package/dist/with-pod/pod-store.d.ts +54 -0
  530. package/dist/with-pod/ulid.d.ts +64 -0
  531. package/dist/with-shape/blobs/blob-compaction.d.ts +170 -0
  532. package/dist/with-shape/blobs/blob-set.d.ts +342 -0
  533. package/dist/with-shape/blobs/export-blobs.d.ts +110 -0
  534. package/dist/with-shape/blobs/import-external.d.ts +50 -0
  535. package/dist/with-shape/blobs/mime-magic.d.ts +48 -0
  536. package/dist/with-shape/blobs/object-projection.d.ts +70 -0
  537. package/dist/with-shape/introspection/describe.d.ts +237 -0
  538. package/dist/with-shape/introspection/field-meta.d.ts +61 -0
  539. package/dist/with-shape/introspection/fields.d.ts +14 -0
  540. package/dist/with-shape/introspection/index.d.ts +12 -0
  541. package/dist/with-shape/introspection/json-schema.d.ts +13 -0
  542. package/dist/with-shape/introspection/meta.d.ts +22 -0
  543. package/dist/with-shape/introspection/projection.d.ts +13 -0
  544. package/dist/with-shape/introspection/types.d.ts +154 -0
  545. package/dist/with-shape/introspection/walk.d.ts +50 -0
  546. package/dist/with-shape/links/lazy-handle.d.ts +36 -0
  547. package/dist/with-shape/links/link-set.d.ts +67 -0
  548. package/dist/with-shape/links/names.d.ts +65 -0
  549. package/dist/with-shape/links/vault-facade.d.ts +211 -0
  550. package/dist/with-shape/persisted-schemas/canonicalize.d.ts +11 -0
  551. package/dist/with-shape/persisted-schemas/derive.d.ts +29 -0
  552. package/dist/with-shape/persisted-schemas/index.d.ts +21 -0
  553. package/dist/with-shape/persisted-schemas/register.d.ts +66 -0
  554. package/dist/with-shape/persisted-schemas/storage.d.ts +61 -0
  555. package/dist/with-shape/persisted-schemas/types.d.ts +54 -0
  556. package/dist/with-shape/satellites/dead-filter.d.ts +21 -0
  557. package/dist/with-shape/satellites/declare.d.ts +60 -0
  558. package/dist/with-shape/satellites/existence.d.ts +5 -0
  559. package/dist/with-shape/satellites/fanout.d.ts +38 -0
  560. package/dist/with-shape/satellites/forget.d.ts +47 -0
  561. package/dist/with-shape/satellites/index.d.ts +3 -0
  562. package/dist/with-shape/satellites/joined.d.ts +19 -0
  563. package/dist/with-shape/satellites/marker.d.ts +10 -0
  564. package/dist/with-shape/satellites/migrate-cek.d.ts +26 -0
  565. package/dist/with-shape/satellites/post-register.d.ts +6 -0
  566. package/dist/with-shape/satellites/proxy.d.ts +37 -0
  567. package/dist/with-shape/satellites/raw-target.d.ts +14 -0
  568. package/dist/with-shape/satellites/registry.d.ts +19 -0
  569. package/dist/with-shape/satellites/types.d.ts +37 -0
  570. package/dist/with-shape/satellites/validate.d.ts +17 -0
  571. package/dist/with-shape/schema-update/client-registry.d.ts +35 -0
  572. package/dist/with-shape/schema-update/cutover.d.ts +5 -0
  573. package/dist/with-shape/schema-update/delta.d.ts +2 -0
  574. package/dist/with-shape/schema-update/dispatch.d.ts +3 -0
  575. package/dist/with-shape/schema-update/fence-controller.d.ts +62 -0
  576. package/dist/with-shape/schema-update/fence-watcher.d.ts +37 -0
  577. package/dist/with-shape/schema-update/fence.d.ts +15 -0
  578. package/dist/with-shape/schema-update/gate.d.ts +16 -0
  579. package/dist/with-shape/schema-update/index.d.ts +6 -0
  580. package/dist/with-shape/schema-update/store-coordination-provider.d.ts +29 -0
  581. package/dist/with-shape/schema-update/strategies.d.ts +12 -0
  582. package/dist/with-shape/schema-update/types.d.ts +53 -0
  583. package/dist/with-store/index.d.ts +15 -0
  584. package/dist/with-store/lazy/active.d.ts +12 -0
  585. package/dist/with-store/lazy/index.d.ts +14 -0
  586. package/dist/with-store/lazy/strategy.d.ts +9 -0
  587. package/dist/with-store/route-store.d.ts +259 -0
  588. package/dist/with-store/store-middleware.d.ts +189 -0
  589. package/dist/withdraw-accessible-FMN4LPJZ.js +28 -0
  590. package/package.json +47 -43
  591. package/dist/aggregate/index.d.ts +0 -41
  592. package/dist/api-TX2EX2FX.js +0 -20
  593. package/dist/as/index.d.ts +0 -6
  594. package/dist/at/index.d.ts +0 -4
  595. package/dist/attestation/index.d.ts +0 -19
  596. package/dist/backup-R7NTDFKY.js +0 -225
  597. package/dist/blobs/index.d.ts +0 -43
  598. package/dist/bundle/index.d.ts +0 -121
  599. package/dist/bundle-D6GxiUfq.d.ts +0 -548
  600. package/dist/by/index.d.ts +0 -1
  601. package/dist/cargo/index.d.ts +0 -7
  602. package/dist/chunk-2OV5NVE7.js +0 -95
  603. package/dist/chunk-2OZXVKVP.js +0 -367
  604. package/dist/chunk-2REPHKET.js +0 -54
  605. package/dist/chunk-3JXPAHOZ.js +0 -686
  606. package/dist/chunk-3MATJ6O4.js +0 -367
  607. package/dist/chunk-3OPY6MK2.js +0 -404
  608. package/dist/chunk-3QSIU3UT.js +0 -291
  609. package/dist/chunk-4OMCIY6F.js +0 -99
  610. package/dist/chunk-5I35DOHK.js +0 -94
  611. package/dist/chunk-5VG4IJR7.js +0 -235
  612. package/dist/chunk-5YESYH2C.js +0 -155
  613. package/dist/chunk-6G5ORS5D.js +0 -202
  614. package/dist/chunk-6P5XCKSD.js +0 -71
  615. package/dist/chunk-6S7T6WC4.js +0 -111
  616. package/dist/chunk-6S7T6WC4.js.map +0 -1
  617. package/dist/chunk-7BWJHO2A.js +0 -34
  618. package/dist/chunk-7P2SDJG3.js +0 -279
  619. package/dist/chunk-7P2SDJG3.js.map +0 -1
  620. package/dist/chunk-ANB77BVV.js +0 -150
  621. package/dist/chunk-ANB77BVV.js.map +0 -1
  622. package/dist/chunk-BKARNZJN.js +0 -382
  623. package/dist/chunk-BQISD5ZV.js +0 -261
  624. package/dist/chunk-BUAQ7YI3.js +0 -1697
  625. package/dist/chunk-BUAQ7YI3.js.map +0 -1
  626. package/dist/chunk-CB7CWSKW.js +0 -430
  627. package/dist/chunk-CB7CWSKW.js.map +0 -1
  628. package/dist/chunk-DFVUTGT2.js +0 -515
  629. package/dist/chunk-DJ7KIPLV.js +0 -23
  630. package/dist/chunk-DSKDQP3G.js +0 -14066
  631. package/dist/chunk-DSKDQP3G.js.map +0 -1
  632. package/dist/chunk-DV4HUP5G.js +0 -99
  633. package/dist/chunk-EOXAAJTY.js +0 -621
  634. package/dist/chunk-ET67AY6B.js +0 -74
  635. package/dist/chunk-F4CEK5YM.js +0 -123
  636. package/dist/chunk-FORYWFN6.js +0 -130
  637. package/dist/chunk-FRP6D2DM.js +0 -91
  638. package/dist/chunk-FUOE7UUV.js +0 -341
  639. package/dist/chunk-FUOE7UUV.js.map +0 -1
  640. package/dist/chunk-G4JYND6L.js +0 -42
  641. package/dist/chunk-G6XV4H65.js +0 -59
  642. package/dist/chunk-GNMXXTMN.js +0 -85
  643. package/dist/chunk-HPWKV3YB.js +0 -21
  644. package/dist/chunk-HY3AUMFI.js +0 -41
  645. package/dist/chunk-HYR4WZZ3.js +0 -69
  646. package/dist/chunk-ICXIFFYZ.js +0 -355
  647. package/dist/chunk-ICXIFFYZ.js.map +0 -1
  648. package/dist/chunk-IVLTXX4W.js +0 -280
  649. package/dist/chunk-J4LPNIGK.js +0 -777
  650. package/dist/chunk-JJZ2LW6T.js +0 -36
  651. package/dist/chunk-KJ2BCBTL.js +0 -589
  652. package/dist/chunk-KNZB6JMR.js +0 -129
  653. package/dist/chunk-LEJIKBBB.js +0 -124
  654. package/dist/chunk-LL2NIVUR.js +0 -188
  655. package/dist/chunk-MCHVVJIA.js +0 -968
  656. package/dist/chunk-MCHVVJIA.js.map +0 -1
  657. package/dist/chunk-NUEQU36L.js +0 -392
  658. package/dist/chunk-O45M6LDB.js +0 -38
  659. package/dist/chunk-OBKWYKYC.js +0 -117
  660. package/dist/chunk-OHHKHSJP.js +0 -209
  661. package/dist/chunk-OT76OZL6.js +0 -45
  662. package/dist/chunk-OVYRLHPE.js +0 -150
  663. package/dist/chunk-OXCSVM3B.js +0 -155
  664. package/dist/chunk-P33LUIML.js +0 -205
  665. package/dist/chunk-PLS64NCS.js +0 -59
  666. package/dist/chunk-PS2NEWEX.js +0 -36
  667. package/dist/chunk-QA2KUPCP.js +0 -45
  668. package/dist/chunk-QOC3VYL2.js +0 -30
  669. package/dist/chunk-QSFOZUYL.js +0 -823
  670. package/dist/chunk-RHK32N73.js +0 -30
  671. package/dist/chunk-RW3Y22MW.js +0 -97
  672. package/dist/chunk-S7VFUQM2.js +0 -1484
  673. package/dist/chunk-S7VFUQM2.js.map +0 -1
  674. package/dist/chunk-T7WSLRAU.js +0 -49
  675. package/dist/chunk-TAKWLZZX.js +0 -944
  676. package/dist/chunk-TAKWLZZX.js.map +0 -1
  677. package/dist/chunk-TMBXVJKT.js +0 -75
  678. package/dist/chunk-TWKKOM55.js +0 -54
  679. package/dist/chunk-U3WZCU7E.js +0 -14
  680. package/dist/chunk-UF362QVH.js +0 -70
  681. package/dist/chunk-UN4FVIBH.js +0 -135
  682. package/dist/chunk-VEAVKDDB.js +0 -29
  683. package/dist/chunk-VEPTFUJY.js +0 -29
  684. package/dist/chunk-VJV7GKQK.js +0 -662
  685. package/dist/chunk-VQRAIPYF.js +0 -50
  686. package/dist/chunk-VRIYFLBA.js +0 -74
  687. package/dist/chunk-VWM3DAVB.js +0 -265
  688. package/dist/chunk-VWRRVE6D.js +0 -80
  689. package/dist/chunk-WBJIQSLL.js +0 -167
  690. package/dist/chunk-WBJIQSLL.js.map +0 -1
  691. package/dist/chunk-WIGQB62E.js +0 -164
  692. package/dist/chunk-WZSCE6RM.js +0 -466
  693. package/dist/chunk-WZSCE6RM.js.map +0 -1
  694. package/dist/chunk-XGDAPN6M.js +0 -255
  695. package/dist/chunk-XH7XP3OL.js +0 -1221
  696. package/dist/chunk-XREOISSI.js +0 -40
  697. package/dist/chunk-XUBPSPKD.js +0 -164
  698. package/dist/chunk-Y3A5CB5G.js +0 -247
  699. package/dist/chunk-YCXCR7VG.js +0 -230
  700. package/dist/chunk-YMVQD5Q5.js +0 -453
  701. package/dist/chunk-YN5IAHN6.js +0 -32
  702. package/dist/chunk-YN5IAHN6.js.map +0 -1
  703. package/dist/chunk-ZYJ55N7N.js +0 -86
  704. package/dist/classified/index.d.ts +0 -16
  705. package/dist/classified-marker-H6YSHYNK.js +0 -24
  706. package/dist/classified-marker-H6YSHYNK.js.map +0 -1
  707. package/dist/collection-facade-LVD22JLM.js +0 -39
  708. package/dist/computed-EXDMQODG.js +0 -11
  709. package/dist/consent/index.d.ts +0 -22
  710. package/dist/crdt/index.d.ts +0 -33
  711. package/dist/dead-filter-HQIE2YG7.js +0 -28
  712. package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
  713. package/dist/delegation-BJP73GAP.js +0 -25
  714. package/dist/derivations/index.d.ts +0 -69
  715. package/dist/derive-BME7HDWO.js +0 -21
  716. package/dist/dev-unlock-Bmm2pgJ0.d.ts +0 -263
  717. package/dist/discriminant-BN9REW3o.d.ts +0 -60
  718. package/dist/enclave-NHORSWSF.js +0 -125
  719. package/dist/executor-FE6X4LFX.js +0 -9
  720. package/dist/executor-KSHKRJXP.js +0 -25
  721. package/dist/executor-ZHTJJICG.js +0 -9
  722. package/dist/export-accessible-DACHM5VT.js +0 -23
  723. package/dist/extract-partition-RNENZZ4T.js +0 -36
  724. package/dist/fanout-sidecar-OFWN3NM7.js +0 -74
  725. package/dist/find-BNGBJNKP.js +0 -11
  726. package/dist/forget/index.d.ts +0 -36
  727. package/dist/guards/index.d.ts +0 -34
  728. package/dist/hash-DAJjMsCE.d.ts +0 -72
  729. package/dist/history/index.d.ts +0 -60
  730. package/dist/i18n/index.d.ts +0 -56
  731. package/dist/in/index.d.ts +0 -4
  732. package/dist/index-B9QdHytu.d.ts +0 -123
  733. package/dist/index-DjWbxsjb.d.ts +0 -23579
  734. package/dist/index-qwuNvO2B.d.ts +0 -144
  735. package/dist/indexing/index.d.ts +0 -38
  736. package/dist/issue-NDI4CVZU.js +0 -19
  737. package/dist/lazy/index.d.ts +0 -20
  738. package/dist/ledger-6NDS2EO4.js +0 -42
  739. package/dist/liberate-HN3RIGIP.js +0 -24
  740. package/dist/link-set-SJB2MVJV.js +0 -31
  741. package/dist/materialized-views/index.d.ts +0 -189
  742. package/dist/mime-magic-bBj5OgUC.d.ts +0 -103
  743. package/dist/noydb-BWF6EPIR.js +0 -66
  744. package/dist/on/index.d.ts +0 -4
  745. package/dist/overlay-views/index.d.ts +0 -97
  746. package/dist/periods/index.d.ts +0 -19
  747. package/dist/pod/index.d.ts +0 -62
  748. package/dist/policy-WGNAG5H6.js +0 -41
  749. package/dist/portability/index.d.ts +0 -19
  750. package/dist/post-register-CWKBQRC7.js +0 -55
  751. package/dist/post-register-CWKBQRC7.js.map +0 -1
  752. package/dist/public-envelope-EJLVIFX7.js +0 -32
  753. package/dist/query/index.d.ts +0 -4
  754. package/dist/register-SBIX7TVV.js +0 -23
  755. package/dist/registry-3EQG6OOE.js +0 -18
  756. package/dist/registry-CA327ACV.js +0 -9
  757. package/dist/registry-E7OXOTSV.js +0 -19
  758. package/dist/request-withdrawal-KAH2AAXC.js +0 -31
  759. package/dist/reveal-R3JLHMUF.js +0 -38
  760. package/dist/revoke-IXLOJ3IH.js +0 -24
  761. package/dist/satellites/index.d.ts +0 -4
  762. package/dist/sealed-record/index.d.ts +0 -68
  763. package/dist/session/index.d.ts +0 -43
  764. package/dist/shadow/index.d.ts +0 -14
  765. package/dist/signer-Y46N2GJ3.js +0 -25
  766. package/dist/snapshots/index.d.ts +0 -25
  767. package/dist/stale-Z7IW6RIL.js +0 -14
  768. package/dist/storage-ADNP2UWI.js +0 -23
  769. package/dist/store-coordination-provider-DTDMI6VL.js +0 -142
  770. package/dist/subject-index-CyOgGMJL.d.ts +0 -380
  771. package/dist/sync/index.d.ts +0 -40
  772. package/dist/team/index.d.ts +0 -154
  773. package/dist/tiers/index.d.ts +0 -4
  774. package/dist/to/index.d.ts +0 -4
  775. package/dist/transition-guard-DI-krBsZ.d.ts +0 -165
  776. package/dist/tx/index.d.ts +0 -34
  777. package/dist/ui/index.d.ts +0 -4
  778. package/dist/ulid-DRH25k3y.d.ts +0 -66
  779. package/dist/util/index.d.ts +0 -79
  780. package/dist/validators-BUcli5Nh.d.ts +0 -101
  781. package/dist/vault-diff-Z2DUayMe.d.ts +0 -147
  782. package/dist/verify-JPF2YR5E.js +0 -139
  783. package/dist/walk-XYA2O3LW.js +0 -241
  784. package/dist/with/index.d.ts +0 -37
  785. package/dist/with-materialized-view-BUmzlXue.d.ts +0 -27
  786. package/dist/with-overlayed-view-m4FaXXTO.d.ts +0 -12
  787. package/dist/with-rollup-DEKGI9vb.d.ts +0 -47
  788. package/dist/withdraw-accessible-WLV4MTEN.js +0 -28
  789. /package/dist/{api-TX2EX2FX.js.map → api-3TH2GOFQ.js.map} +0 -0
  790. /package/dist/{backup-R7NTDFKY.js.map → backup-2WVBIVXW.js.map} +0 -0
  791. /package/dist/{chunk-TMBXVJKT.js.map → chunk-2MTRJCBI.js.map} +0 -0
  792. /package/dist/{chunk-3OPY6MK2.js.map → chunk-37WOJQWY.js.map} +0 -0
  793. /package/dist/{chunk-KJ2BCBTL.js.map → chunk-3QSOFZQB.js.map} +0 -0
  794. /package/dist/{chunk-DV4HUP5G.js.map → chunk-44IL5G3W.js.map} +0 -0
  795. /package/dist/{chunk-HYR4WZZ3.js.map → chunk-45QPICLE.js.map} +0 -0
  796. /package/dist/{chunk-XUBPSPKD.js.map → chunk-4BQXMCE5.js.map} +0 -0
  797. /package/dist/{chunk-RHK32N73.js.map → chunk-5HNX4OD4.js.map} +0 -0
  798. /package/dist/{chunk-2REPHKET.js.map → chunk-65VLRG3I.js.map} +0 -0
  799. /package/dist/{chunk-G6XV4H65.js.map → chunk-6MA575R5.js.map} +0 -0
  800. /package/dist/{chunk-F4CEK5YM.js.map → chunk-7GAXFU2O.js.map} +0 -0
  801. /package/dist/{chunk-6G5ORS5D.js.map → chunk-7QLY64AD.js.map} +0 -0
  802. /package/dist/{chunk-5VG4IJR7.js.map → chunk-7ZOSHEVS.js.map} +0 -0
  803. /package/dist/{chunk-LEJIKBBB.js.map → chunk-APHLCXVC.js.map} +0 -0
  804. /package/dist/{chunk-KNZB6JMR.js.map → chunk-BDEMZD4F.js.map} +0 -0
  805. /package/dist/{chunk-VJV7GKQK.js.map → chunk-BDPAVYGJ.js.map} +0 -0
  806. /package/dist/{chunk-G4JYND6L.js.map → chunk-BLUT46UP.js.map} +0 -0
  807. /package/dist/{chunk-J4LPNIGK.js.map → chunk-CCIR2OJH.js.map} +0 -0
  808. /package/dist/{chunk-5YESYH2C.js.map → chunk-CXC3JLAQ.js.map} +0 -0
  809. /package/dist/{chunk-XH7XP3OL.js.map → chunk-CZMCOFEA.js.map} +0 -0
  810. /package/dist/{chunk-WIGQB62E.js.map → chunk-DIB2BOIH.js.map} +0 -0
  811. /package/dist/{chunk-UF362QVH.js.map → chunk-EIZ4YOG2.js.map} +0 -0
  812. /package/dist/{chunk-DFVUTGT2.js.map → chunk-EVHBK7BN.js.map} +0 -0
  813. /package/dist/{chunk-ET67AY6B.js.map → chunk-EXGDL2UQ.js.map} +0 -0
  814. /package/dist/{chunk-YMVQD5Q5.js.map → chunk-F3LGBRSV.js.map} +0 -0
  815. /package/dist/{chunk-NUEQU36L.js.map → chunk-F44XWXOA.js.map} +0 -0
  816. /package/dist/{chunk-YCXCR7VG.js.map → chunk-FF7S3XDW.js.map} +0 -0
  817. /package/dist/{chunk-OXCSVM3B.js.map → chunk-FJTWLQV3.js.map} +0 -0
  818. /package/dist/{chunk-PS2NEWEX.js.map → chunk-FYNE4WLC.js.map} +0 -0
  819. /package/dist/{chunk-FORYWFN6.js.map → chunk-GL3JV5EV.js.map} +0 -0
  820. /package/dist/{chunk-VEAVKDDB.js.map → chunk-GXLZXD2W.js.map} +0 -0
  821. /package/dist/{chunk-3JXPAHOZ.js.map → chunk-HBBZWEC5.js.map} +0 -0
  822. /package/dist/{chunk-LL2NIVUR.js.map → chunk-HG76BZ6G.js.map} +0 -0
  823. /package/dist/{chunk-O45M6LDB.js.map → chunk-HGAB325C.js.map} +0 -0
  824. /package/dist/{chunk-T7WSLRAU.js.map → chunk-HK4XTXO4.js.map} +0 -0
  825. /package/dist/{chunk-U3WZCU7E.js.map → chunk-HYG32HCM.js.map} +0 -0
  826. /package/dist/{chunk-UN4FVIBH.js.map → chunk-ILF5GARW.js.map} +0 -0
  827. /package/dist/{chunk-BKARNZJN.js.map → chunk-INBQ43DI.js.map} +0 -0
  828. /package/dist/{chunk-Y3A5CB5G.js.map → chunk-IQIVD7TP.js.map} +0 -0
  829. /package/dist/{chunk-QA2KUPCP.js.map → chunk-J3JIYFYL.js.map} +0 -0
  830. /package/dist/{chunk-OVYRLHPE.js.map → chunk-JGUZMC3I.js.map} +0 -0
  831. /package/dist/{chunk-VWRRVE6D.js.map → chunk-JRKE5MAZ.js.map} +0 -0
  832. /package/dist/{chunk-XGDAPN6M.js.map → chunk-K2DLLK34.js.map} +0 -0
  833. /package/dist/{chunk-7BWJHO2A.js.map → chunk-KKYEZCQG.js.map} +0 -0
  834. /package/dist/{chunk-TWKKOM55.js.map → chunk-NAR6IDKH.js.map} +0 -0
  835. /package/dist/{chunk-OBKWYKYC.js.map → chunk-NEYKOESM.js.map} +0 -0
  836. /package/dist/{chunk-VEPTFUJY.js.map → chunk-NM3IFKBL.js.map} +0 -0
  837. /package/dist/{chunk-4OMCIY6F.js.map → chunk-NRYNRSGV.js.map} +0 -0
  838. /package/dist/{chunk-PLS64NCS.js.map → chunk-NT2ZO4KI.js.map} +0 -0
  839. /package/dist/{chunk-5I35DOHK.js.map → chunk-P2LJI6JE.js.map} +0 -0
  840. /package/dist/{chunk-QSFOZUYL.js.map → chunk-PH7G7ZI7.js.map} +0 -0
  841. /package/dist/{chunk-OHHKHSJP.js.map → chunk-PN5332SU.js.map} +0 -0
  842. /package/dist/{chunk-OT76OZL6.js.map → chunk-QF5LGMSV.js.map} +0 -0
  843. /package/dist/{chunk-3MATJ6O4.js.map → chunk-QG5RQQBO.js.map} +0 -0
  844. /package/dist/{chunk-DJ7KIPLV.js.map → chunk-QYPDYN23.js.map} +0 -0
  845. /package/dist/{chunk-IVLTXX4W.js.map → chunk-RNXJ2VO6.js.map} +0 -0
  846. /package/dist/{chunk-RW3Y22MW.js.map → chunk-RXTMLYJS.js.map} +0 -0
  847. /package/dist/{chunk-QOC3VYL2.js.map → chunk-S2OWPVSO.js.map} +0 -0
  848. /package/dist/{chunk-P33LUIML.js.map → chunk-S7TAPIRS.js.map} +0 -0
  849. /package/dist/{chunk-XREOISSI.js.map → chunk-SAL5X5OK.js.map} +0 -0
  850. /package/dist/{chunk-GNMXXTMN.js.map → chunk-SGJGWBSC.js.map} +0 -0
  851. /package/dist/{chunk-VQRAIPYF.js.map → chunk-SIAIYP6G.js.map} +0 -0
  852. /package/dist/{chunk-BQISD5ZV.js.map → chunk-TBNF5DV5.js.map} +0 -0
  853. /package/dist/{chunk-HPWKV3YB.js.map → chunk-TVOHSPVK.js.map} +0 -0
  854. /package/dist/{chunk-HY3AUMFI.js.map → chunk-TVS6BUUR.js.map} +0 -0
  855. /package/dist/{chunk-ZYJ55N7N.js.map → chunk-UMC5QZTX.js.map} +0 -0
  856. /package/dist/{chunk-2OZXVKVP.js.map → chunk-US34HTOI.js.map} +0 -0
  857. /package/dist/{chunk-EOXAAJTY.js.map → chunk-VCUQR6ZL.js.map} +0 -0
  858. /package/dist/{chunk-6P5XCKSD.js.map → chunk-WEHIQYQH.js.map} +0 -0
  859. /package/dist/{chunk-VWM3DAVB.js.map → chunk-WHQHTNT7.js.map} +0 -0
  860. /package/dist/{chunk-VRIYFLBA.js.map → chunk-X6Y5MXTH.js.map} +0 -0
  861. /package/dist/{chunk-3QSIU3UT.js.map → chunk-XJ47GS53.js.map} +0 -0
  862. /package/dist/{chunk-2OV5NVE7.js.map → chunk-XS6DLN67.js.map} +0 -0
  863. /package/dist/{chunk-FRP6D2DM.js.map → chunk-Y5TWPBNW.js.map} +0 -0
  864. /package/dist/{chunk-JJZ2LW6T.js.map → chunk-ZHOJOT6S.js.map} +0 -0
  865. /package/dist/{collection-facade-LVD22JLM.js.map → collection-facade-DWA735G2.js.map} +0 -0
  866. /package/dist/{computed-EXDMQODG.js.map → computed-ORCGM5JE.js.map} +0 -0
  867. /package/dist/{dead-filter-HQIE2YG7.js.map → dead-filter-OV5FGKOG.js.map} +0 -0
  868. /package/dist/{delegation-BJP73GAP.js.map → delegation-YVSHMIZZ.js.map} +0 -0
  869. /package/dist/{derive-BME7HDWO.js.map → derive-BUO555L5.js.map} +0 -0
  870. /package/dist/{enclave-NHORSWSF.js.map → enclave-XXFUKJC6.js.map} +0 -0
  871. /package/dist/{executor-FE6X4LFX.js.map → executor-6OCCE5VM.js.map} +0 -0
  872. /package/dist/{executor-KSHKRJXP.js.map → executor-JFVAJY42.js.map} +0 -0
  873. /package/dist/{executor-ZHTJJICG.js.map → executor-UPSH5O3F.js.map} +0 -0
  874. /package/dist/{export-accessible-DACHM5VT.js.map → export-accessible-L4A2QZA5.js.map} +0 -0
  875. /package/dist/{extract-partition-RNENZZ4T.js.map → extract-partition-ZHQ4RGGM.js.map} +0 -0
  876. /package/dist/{fanout-sidecar-OFWN3NM7.js.map → fanout-sidecar-IO2KDUWV.js.map} +0 -0
  877. /package/dist/{find-BNGBJNKP.js.map → find-ZFZDZQ2U.js.map} +0 -0
  878. /package/dist/{issue-NDI4CVZU.js.map → issue-OG4V23SQ.js.map} +0 -0
  879. /package/dist/{ledger-6NDS2EO4.js.map → ledger-UAQKPWNM.js.map} +0 -0
  880. /package/dist/{liberate-HN3RIGIP.js.map → liberate-GFUQJRK5.js.map} +0 -0
  881. /package/dist/{link-set-SJB2MVJV.js.map → link-set-DGYUOFVD.js.map} +0 -0
  882. /package/dist/{noydb-BWF6EPIR.js.map → noydb-AKH4AMCR.js.map} +0 -0
  883. /package/dist/{policy-WGNAG5H6.js.map → policy-5POYLI26.js.map} +0 -0
  884. /package/dist/{public-envelope-EJLVIFX7.js.map → public-envelope-GOG4LUM7.js.map} +0 -0
  885. /package/dist/{register-SBIX7TVV.js.map → register-ZI7YI7US.js.map} +0 -0
  886. /package/dist/{registry-3EQG6OOE.js.map → registry-DZ2T4LL7.js.map} +0 -0
  887. /package/dist/{registry-CA327ACV.js.map → registry-NVWEQ2GU.js.map} +0 -0
  888. /package/dist/{registry-E7OXOTSV.js.map → registry-SEKL74ET.js.map} +0 -0
  889. /package/dist/{request-withdrawal-KAH2AAXC.js.map → request-withdrawal-ZP3JIRVS.js.map} +0 -0
  890. /package/dist/{reveal-R3JLHMUF.js.map → reveal-NPVROV4D.js.map} +0 -0
  891. /package/dist/{revoke-IXLOJ3IH.js.map → revoke-VF6TAJK2.js.map} +0 -0
  892. /package/dist/{signer-Y46N2GJ3.js.map → signer-DRDDCCHW.js.map} +0 -0
  893. /package/dist/{stale-Z7IW6RIL.js.map → stale-TJXFQKOJ.js.map} +0 -0
  894. /package/dist/{storage-ADNP2UWI.js.map → storage-GR7KZRH4.js.map} +0 -0
  895. /package/dist/{store-coordination-provider-DTDMI6VL.js.map → store-coordination-provider-5KDS2RRP.js.map} +0 -0
  896. /package/dist/{verify-JPF2YR5E.js.map → verify-QK76NJ4G.js.map} +0 -0
  897. /package/dist/{walk-XYA2O3LW.js.map → walk-XQCBKSBW.js.map} +0 -0
  898. /package/dist/{withdraw-accessible-WLV4MTEN.js.map → withdraw-accessible-FMN4LPJZ.js.map} +0 -0
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Active indexing strategy factory. Calling `withIndexing()` returns
3
+ * an `IndexStrategy` whose `createState` constructs a real
4
+ * `CollectionIndexes` (eager) or `PersistedCollectionIndex` (lazy)
5
+ * per Collection, depending on the collection's `prefetch` mode and
6
+ * its declared `IndexDef[]`.
7
+ *
8
+ * This module is only reachable through the `@noy-db/hub/indexing`
9
+ * subpath — a consumer that never imports the subpath ships none of
10
+ * this (ESM tree-shaking + hub's `"sideEffects": false`).
11
+ */
12
+ import type { IndexStrategy } from './strategy.js';
13
+ /**
14
+ * Build the default indexing strategy. Pass into
15
+ * `createNoydb({ indexStrategy: withIndexing() })` to light up the
16
+ * eager-mode `==/in` fast-path on `.query()` and the full lazy-mode
17
+ * `.lazyQuery()` + rebuild / reconcile / auto-reconcile surface.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * import { createNoydb } from '@noy-db/hub'
22
+ * import { withIndexing } from '@noy-db/hub/indexing'
23
+ *
24
+ * const db = await createNoydb({
25
+ * store, user, secret,
26
+ * indexStrategy: withIndexing(),
27
+ * })
28
+ * ```
29
+ */
30
+ export declare function withIndexing(): IndexStrategy;
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Collection-level index maintenance — the eager/unique rebuild-from-cache
3
+ * helpers, the full `rebuildIndexes` / `reconcileIndex` repair surface, and the
4
+ * persisted `_idx/<field>/<recordId>` side-car maintenance fired from the write
5
+ * path.
6
+ *
7
+ * Eager mode keeps an in-memory `CollectionIndexes` + `UniqueConstraintSet`;
8
+ * lazy mode keeps durable encrypted side-cars whose in-memory mirror is a
9
+ * `PersistedCollectionIndex`. These functions write/repair both. The unique-
10
+ * constraint correctness and the side-car drift reconciliation are the parts to
11
+ * watch: behaviour here is byte-identical to the inline code it replaced.
12
+ *
13
+ * Every function takes a small {@link IndexingContext} (the exact `this.*` the
14
+ * moving methods touched) instead of `this`, mirroring the `record-keys/`
15
+ * siblings. The eager `cache` Map and the three index/constraint mirror objects
16
+ * are passed by reference (the SAME instances `Collection` owns, never copied)
17
+ * so maintenance always mutates the live mirrors the query path reads. The
18
+ * `persistedIndexesLoaded` flag and `ensure*` hydration stay collection-resident
19
+ * and are reached via callbacks.
20
+ *
21
+ * Internal service — not exported as a `@noy-db/hub/*` subpath.
22
+ */
23
+ import type { NoydbStore } from '../../kernel/types.js';
24
+ import type { RecordCodec } from '../../kernel/enclave/index.js';
25
+ import type { NoydbEventEmitter } from '../../kernel/events.js';
26
+ import type { CollectionIndexes } from './eager-indexes.js';
27
+ import type { UniqueConstraintSet } from './unique-constraints.js';
28
+ import { type PersistedCollectionIndex } from './persisted-indexes.js';
29
+ /** Everything the moving index-maintenance methods touched on `this.*`. */
30
+ export interface IndexingContext<T> {
31
+ /** Collection name — the canonical record namespace + error context. */
32
+ readonly name: string;
33
+ /** Vault namespace the records + side-cars live under. */
34
+ readonly vault: string;
35
+ /** The ciphertext store. */
36
+ readonly adapter: NoydbStore;
37
+ /** The record codec — decrypts records + side-car bodies, encrypts side-cars. */
38
+ readonly codec: RecordCodec<T>;
39
+ /** The eager working-set cache (SHARED `Map` reference, never copied). */
40
+ readonly cache: Map<string, {
41
+ record: T;
42
+ version: number;
43
+ }>;
44
+ /** True in lazy mode — eager rebuild short-circuits, reconcile requires it. */
45
+ readonly lazy: boolean;
46
+ /** Event emitter — surfaces `index:write-partial` on side-car write failure. */
47
+ readonly emitter: NoydbEventEmitter;
48
+ /** The in-memory eager index mirror, or null (SHARED reference). */
49
+ readonly indexes: CollectionIndexes | null;
50
+ /** The in-memory unique-constraint mirror, or null (SHARED reference). */
51
+ readonly uniqueConstraints: UniqueConstraintSet | null;
52
+ /** The lazy-mode persisted-index mirror, or null (SHARED reference). */
53
+ readonly persistedIndexes: PersistedCollectionIndex | null;
54
+ /** Hydrate the eager cache before rebuilding from it. */
55
+ ensureHydrated(): Promise<void>;
56
+ /** Bulk-load the persisted-index mirror from side-cars (lazy mode). */
57
+ ensurePersistedIndexesLoaded(): Promise<void>;
58
+ /** Set the collection-resident `persistedIndexesLoaded` flag. */
59
+ setPersistedIndexesLoaded(value: boolean): void;
60
+ }
61
+ /**
62
+ * Rebuild the eager in-memory `CollectionIndexes` from the current cache.
63
+ * Called after any bulk hydration; incremental put/delete updates go through
64
+ * `indexes.upsert()`/`.remove()` directly, so this only fires for full reloads.
65
+ */
66
+ export declare function rebuildEagerIndexesFromCache<T>(ctx: IndexingContext<T>): void;
67
+ /**
68
+ * Rebuild unique-constraint maps from the current in-memory cache.
69
+ * Called after any bulk hydration alongside `rebuildEagerIndexesFromCache`.
70
+ */
71
+ export declare function rebuildUniqueConstraintsFromCache<T>(ctx: IndexingContext<T>): void;
72
+ /**
73
+ * Rebuild every declared index from scratch — eager refresh from cache, or a
74
+ * full lazy-mode side-car teardown + rewrite. NOT incremental; for per-field
75
+ * drift repair use {@link reconcileIndex}.
76
+ */
77
+ export declare function rebuildIndexes<T>(ctx: IndexingContext<T>): Promise<void>;
78
+ /**
79
+ * Compare the persisted `_idx/<field>/*` side-cars against the canonical
80
+ * records for a single field, reporting the drift (and optionally repairing
81
+ * it). Lazy mode only — eager mode throws (the in-memory index cannot drift).
82
+ */
83
+ export declare function reconcileIndex<T>(ctx: IndexingContext<T>, field: string, opts?: {
84
+ dryRun?: boolean;
85
+ }): Promise<{
86
+ field: string;
87
+ missing: string[];
88
+ stale: string[];
89
+ applied: number;
90
+ }>;
91
+ /**
92
+ * Write / update / delete the `_idx/<field>/<recordId>` side-cars for every
93
+ * declared persistence-index field after a successful main-record `put()`.
94
+ * Called AFTER `adapter.put()` of the main record succeeds; side-car write
95
+ * failures surface as `index:write-partial` and do NOT fail the put.
96
+ */
97
+ export declare function maintainPersistedIndexesOnPut<T>(ctx: IndexingContext<T>, id: string, newRecord: T, previousRecord: T | null, version: number): Promise<void>;
98
+ /**
99
+ * Tear down `_idx/<field>/<recordId>` side-cars for a deleted record.
100
+ * Mirror state updates regardless of adapter outcome; adapter failures
101
+ * surface on `index:write-partial` the same way put does.
102
+ */
103
+ export declare function maintainPersistedIndexesOnDelete<T>(ctx: IndexingContext<T>, id: string, previousRecord: T): Promise<void>;
104
+ /**
105
+ * @internal — hard-delete this record's persisted `_idx/<field>/<recordId>`
106
+ * side-cars for the erasure path. `forget()` crypto-shreds the body but
107
+ * keeps the collection DEK, under which these side-cars are encrypted — so
108
+ * without this they leave the indexed field VALUES readable after a "forget".
109
+ *
110
+ * Content-free: the side-car id is `encodeIdxId(def.key, id)`, so it needs no
111
+ * body decode (the body is being shredded). Eager mode has no durable side-car
112
+ * → no-op. The in-memory mirror is left as-is: it is ephemeral (rebuilt from
113
+ * the now-deleted side-cars on reopen) and live reads skip the tombstone, so a
114
+ * stale mirror hit cannot surface the erased record. Returns the count deleted
115
+ * + the `def.key`s whose delete FAILED (residue that still leaks the value).
116
+ */
117
+ export declare function purgePersistedIndexes<T>(ctx: IndexingContext<T>, id: string): Promise<{
118
+ purged: number;
119
+ residue: string[];
120
+ }>;
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Secondary indexes for the query DSL.
3
+ *
4
+ * ships **in-memory hash indexes**:
5
+ * - Built during `Collection.ensureHydrated()` from the decrypted cache
6
+ * - Maintained incrementally on `put` and `delete`
7
+ * - Consulted by the query executor for `==` and `in` operators on
8
+ * indexed fields, falling back to a linear scan otherwise
9
+ * - Live entirely in memory — no adapter writes for the index itself
10
+ *
11
+ * Persistent encrypted index blobs (the spec's "store as a separate
12
+ * AES-256-GCM blob" note) are deferred to a follow-up issue. The reasons
13
+ * are documented in the PR body — short version: at the target
14
+ * scale of 1K–50K records, building the index during hydrate is free,
15
+ * so persistence buys nothing measurable.
16
+ */
17
+ /**
18
+ * Index declaration accepted by `Collection`'s constructor.
19
+ *
20
+ * Accepts:
21
+ * - `string` — a single-field hash index (`'clientId'`)
22
+ * - `{ fields: [...] }` or `readonly string[]` — a composite index
23
+ * over an ordered field tuple. Only lazy-mode
24
+ * collections consume composite declarations today; eager mode
25
+ * silently treats a composite as equivalent to declaring each
26
+ * component field as its own single-field index.
27
+ *
28
+ * Additive variants (unique constraints, partial indexes) will land as
29
+ * further union members without breaking existing declarations.
30
+ */
31
+ export type IndexDef = string | {
32
+ readonly fields: readonly string[];
33
+ readonly unique?: boolean;
34
+ } | readonly string[];
35
+ /**
36
+ * Internal representation of a built hash index.
37
+ *
38
+ * Maps stringified field values to the set of record ids whose value
39
+ * for that field matches. Stringification keeps the index simple and
40
+ * works uniformly for primitives (`'open'`, `'42'`, `'true'`).
41
+ *
42
+ * Records whose indexed field is `undefined` or `null` are NOT inserted
43
+ * — `query().where('field', '==', undefined)` falls back to a linear
44
+ * scan, which is the conservative behavior.
45
+ */
46
+ export interface HashIndex {
47
+ readonly field: string;
48
+ readonly buckets: Map<string, Set<string>>;
49
+ }
50
+ /**
51
+ * Container for all indexes on a single collection.
52
+ *
53
+ * Methods are pure with respect to the in-memory `buckets` Map — they
54
+ * never touch the adapter or the keyring. The Collection class owns
55
+ * lifecycle (build on hydrate, maintain on put/delete).
56
+ */
57
+ export declare class CollectionIndexes {
58
+ private readonly indexes;
59
+ /**
60
+ * Per-field bucket-key canonicalizer (#672 review C1), registered ONCE
61
+ * via {@link setCanonicalizer} when the collection wires indexing up
62
+ * (money-aware via `ViaPipeline.canonicalizeIndexKey`). Consulted by
63
+ * EVERY bucket-mutation site — `build`/`upsert`/`remove` — so bucket
64
+ * membership is symmetric by construction: a value can never be added
65
+ * under a canonical key and later removed under the raw one (or vice
66
+ * versa), which is what stranded ids on `put`/`delete` before this fix.
67
+ */
68
+ private canonicalize?;
69
+ /**
70
+ * Register the bucket-key canonicalizer. Called once, where the
71
+ * collection constructs its indexing state — safe to call again (the
72
+ * closure is simply replaced) but there is normally only one caller.
73
+ */
74
+ setCanonicalizer(fn: (field: string, value: unknown) => string | undefined): void;
75
+ /**
76
+ * Declare an index. Subsequent record additions are tracked under it.
77
+ * Calling this twice for the same field is a no-op (idempotent).
78
+ */
79
+ declare(field: string): void;
80
+ /** True if the given field has a declared index. */
81
+ has(field: string): boolean;
82
+ /** All declared field names, in declaration order. */
83
+ fields(): string[];
84
+ /**
85
+ * Build all declared indexes from a snapshot of records.
86
+ * Called once per hydration. O(N × indexes.size). Buckets through the
87
+ * registered {@link setCanonicalizer} closure, same as `upsert`/`remove`.
88
+ */
89
+ build<T>(records: ReadonlyArray<{
90
+ id: string;
91
+ record: T;
92
+ }>): void;
93
+ /**
94
+ * Insert or update a single record across all indexes.
95
+ * Called by `Collection.put()` after the encrypted write succeeds.
96
+ *
97
+ * If `previousRecord` is provided, the record is removed from any old
98
+ * buckets first — this is the update path. Pass `null` for fresh adds.
99
+ */
100
+ upsert<T>(id: string, newRecord: T, previousRecord: T | null): void;
101
+ /**
102
+ * Remove a record from all indexes. Called by `Collection.delete()`
103
+ * (and as the first half of `upsert` for the update path).
104
+ */
105
+ remove<T>(id: string, record: T): void;
106
+ /** Drop all index data. Called when the collection is invalidated. */
107
+ clear(): void;
108
+ /**
109
+ * Equality lookup: return the set of record ids whose `field` matches
110
+ * the given value. Returns `null` if no index covers the field — the
111
+ * caller should fall back to a linear scan.
112
+ *
113
+ * The returned Set is a reference to the index's internal storage —
114
+ * callers must NOT mutate it.
115
+ */
116
+ lookupEqual(field: string, value: unknown): ReadonlySet<string> | null;
117
+ /**
118
+ * Set lookup: return the union of record ids whose `field` matches any
119
+ * of the given values. Returns `null` if no index covers the field.
120
+ */
121
+ lookupIn(field: string, values: readonly unknown[]): ReadonlySet<string> | null;
122
+ }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @noy-db/hub/indexing — opt-in secondary-index service.
3
+ *
4
+ * @category capability
5
+ *
6
+ * Groups every file whose reason-for-existing is secondary indexes:
7
+ * - `eager-indexes` (in-memory `CollectionIndexes` for eager-mode
8
+ * collections' `.where(f, '==', v)` fast-path)
9
+ * - `persisted-indexes` (lazy-mode `_idx/<field>/<recordId>`
10
+ * side-car mirror with composite / typed-value support)
11
+ * - `lazy-builder` (`LazyQuery<T>` chainable builder that
12
+ * dispatches through the persisted mirror)
13
+ *
14
+ * Hub's root barrel (`@noy-db/hub`) and the `@noy-db/hub/query`
15
+ * subpath continue to re-export `CollectionIndexes` and `IndexDef`
16
+ * for backward compatibility with consumers written before the
17
+ * relocation. New code should prefer this subpath so the
18
+ * capability boundary is explicit in import statements.
19
+ */
20
+ export { withIndexing } from './active.js';
21
+ export type { IndexStrategy, IndexState } from './strategy.js';
22
+ export { CollectionIndexes } from './eager-indexes.js';
23
+ export type { IndexDef, HashIndex } from './eager-indexes.js';
24
+ export { PersistedCollectionIndex, IDX_PREFIX, COMPOSITE_DELIMITER, encodeIdxId, decodeIdxId, isIdxId, compositeKey, } from './persisted-indexes.js';
25
+ export type { OrderedEntry, IngestRow, PersistedIndexDef, } from './persisted-indexes.js';
26
+ export { LazyQuery } from './lazy-builder.js';
27
+ export type { LazyQuerySource, LazyOrderBy } from './lazy-builder.js';
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Lazy-mode query builder.
3
+ *
4
+ * Companion to `Query<T>` in `builder.ts`, but built for collections in lazy
5
+ * mode where `snapshot()` is unavailable — records live in the adapter and
6
+ * are pulled on demand. Dispatches through `PersistedCollectionIndex` to
7
+ * resolve a candidate record-id set, then decrypts only those records.
8
+ *
9
+ * Scope:
10
+ * - `.where(field, '==' | 'in', value)` — dispatched through the index
11
+ * - `.where(field, other-op, value)` — evaluated against the decrypted
12
+ * candidate set (non-indexed ops still require the field to be indexed
13
+ * — we need SOMETHING to scope the candidate set)
14
+ * - `.orderBy(field, dir?)` — dispatched through `orderedBy` when no
15
+ * `==`/`in` clause is present; otherwise applied as an in-memory sort
16
+ * over the candidate set
17
+ * - `.limit(n)` / `.offset(n)` — page slice after filtering
18
+ * - `.toArray()` / `.first()` / `.count()` — terminals
19
+ *
20
+ * Every field referenced by a where or orderBy clause MUST be indexed;
21
+ * otherwise `toArray()` throws `IndexRequiredError`. This is deliberate:
22
+ * silent scan-fallback would hide the very performance cliff that lazy-mode
23
+ * indexes exist to prevent (see `docs/architecture.md` §indexes).
24
+ */
25
+ import type { FieldClause, Operator } from '../../kernel/query/predicate.js';
26
+ import type { PersistedCollectionIndex } from './persisted-indexes.js';
27
+ import type { QueryField } from '../../kernel/types.js';
28
+ import type { ViaPipeline } from '../../kernel/via/pipeline.js';
29
+ export interface LazyOrderBy {
30
+ readonly field: string;
31
+ readonly direction: 'asc' | 'desc';
32
+ }
33
+ /**
34
+ * Source abstraction the LazyQuery runs against. Collection implements it.
35
+ * Kept minimal so the builder stays test-friendly.
36
+ */
37
+ export interface LazyQuerySource<T> {
38
+ readonly collectionName: string;
39
+ readonly persistedIndexes: PersistedCollectionIndex;
40
+ /**
41
+ * Per-field bucket-key canonicalizer (#677 — lazy twin of the eager
42
+ * `candidateRecords()` probe-resolution in `kernel/query/builder.ts`).
43
+ * Consulted in `resolveCandidateIds()` for `==`/`in` clause values
44
+ * BEFORE calling `lookupEqual`/`lookupIn`, so a mixed-era stored value
45
+ * (money) probes the SAME canonical bucket the write path now
46
+ * populates. A narrow closure — not the whole `ViaPipeline` — keeps
47
+ * the with-lookup/kernel seam thin. `undefined` (no via, or no binding
48
+ * covers the field) is the common case: falls back to the raw value,
49
+ * unchanged from today.
50
+ */
51
+ canonicalizeIndexKey?(field: string, value: unknown): string | undefined;
52
+ /** Ensure `_idx/<field>/*` side-cars have been bulk-loaded into the mirror. */
53
+ ensurePersistedIndexesLoaded(): Promise<void>;
54
+ /**
55
+ * Decrypt one record by id in RAW (pre-`present()`, stored-form) shape,
56
+ * or return null if it's gone (#684 — the raw-fetch seam). Used by the
57
+ * post-filter (`toArray()`) so a `clause.via.evaluate` (e.g. money) sees
58
+ * the same operand/actual-value space as eager's `filterRecords` — the
59
+ * DECODED form (e.g. money's canonical decimal) is only materialized
60
+ * for survivors, via {@link decodeRecord}.
61
+ */
62
+ getRawRecord(id: string): Promise<unknown>;
63
+ /**
64
+ * Apply this collection's locale/virtual-field decode (`present()`) to a
65
+ * RAW record already known to match — the output-side twin of
66
+ * {@link getRawRecord}. Mirrors eager's `Query.decodeVia`.
67
+ */
68
+ decodeRecord(record: unknown): Promise<T>;
69
+ /**
70
+ * This collection's compiled Via pipeline (money, i18n, …), read lazily
71
+ * (a method, not a captured value) so a late `_setVia` (#666) is honored
72
+ * — same closure discipline as {@link canonicalizeIndexKey}. `undefined`
73
+ * when the collection has no Via-covered fields.
74
+ */
75
+ via(): ViaPipeline | undefined;
76
+ }
77
+ interface LazyPlan {
78
+ readonly clauses: readonly FieldClause[];
79
+ readonly orderBy: readonly LazyOrderBy[];
80
+ readonly limit: number | undefined;
81
+ readonly offset: number;
82
+ }
83
+ export declare class LazyQuery<T, S extends keyof T = never, Q extends keyof T & string = never> {
84
+ private readonly source;
85
+ private readonly plan;
86
+ constructor(source: LazyQuerySource<T>, plan?: LazyPlan);
87
+ where<V>(field: QueryField<T, S, Q>, op: Operator, value: V): LazyQuery<T, S, Q>;
88
+ orderBy(field: QueryField<T, S>, direction?: 'asc' | 'desc'): LazyQuery<T, S, Q>;
89
+ limit(n: number): LazyQuery<T, S, Q>;
90
+ offset(n: number): LazyQuery<T, S, Q>;
91
+ toArray(): Promise<T[]>;
92
+ first(): Promise<T | null>;
93
+ count(): Promise<number>;
94
+ /**
95
+ * Resolve the candidate record-id set to decrypt. Returns null when the
96
+ * query has no usable driver — no `==`/`in` clause and no `orderBy`
97
+ * clause that can scope the scan. Callers interpret null as
98
+ * IndexRequiredError (see `toArray`).
99
+ */
100
+ private resolveCandidateIds;
101
+ }
102
+ export {};
@@ -0,0 +1,229 @@
1
+ /**
2
+ * Persistent, encrypted secondary indexes for lazy-mode collections.
3
+ *
4
+ * Parallel to the in-memory `CollectionIndexes` used by eager mode (see
5
+ * `packages/hub/src/query/indexes.ts`): same logical surface, but entries
6
+ * are materialised as encrypted side-car records (`_idx/<field>/<recordId>`)
7
+ * and bulk-loaded into an in-memory mirror on first query.
8
+ *
9
+ * This module only owns the id-namespace convention, the in-memory mirror,
10
+ * and the typed errors. Write-path integration (PR 2 / ), query-planner
11
+ * dispatch (PR 3 / , PR 4 / ), and the rebuild/reconcile utilities
12
+ * (PR 5 / ) live in other files.
13
+ *
14
+ * See the design spec for the full architecture + threat model.
15
+ */
16
+ /**
17
+ * Reserved id prefix for encrypted index side-car records.
18
+ * Matches the existing `_keyring`, `_ledger_deltas/…`, `_meta/handle`
19
+ * conventions inside a collection's id namespace.
20
+ */
21
+ export declare const IDX_PREFIX: "_idx/";
22
+ /**
23
+ * Encode the side-car record id for a (field, recordId) pair.
24
+ *
25
+ * Format: `_idx/<field>/<recordId>` — no escaping. Field names may contain
26
+ * dots (for dotted-path access consistent with eager-mode `readPath`);
27
+ * record ids may contain slashes. The first two slash-separated segments
28
+ * are `_idx` and the field; everything after the *second* slash is the
29
+ * record id verbatim.
30
+ */
31
+ export declare function encodeIdxId(field: string, recordId: string): string;
32
+ /**
33
+ * Decode a side-car id back into `{ field, recordId }`, or `null` if the
34
+ * input is not a well-formed idx id. A well-formed id is:
35
+ * - prefixed with `_idx/`
36
+ * - contains a field segment (non-empty, no slashes)
37
+ * - contains a record-id segment (non-empty, may contain slashes)
38
+ */
39
+ export declare function decodeIdxId(id: string): {
40
+ field: string;
41
+ recordId: string;
42
+ } | null;
43
+ /**
44
+ * Fast-path predicate for discriminating side-car ids from regular record
45
+ * ids and other reserved namespaces. Used by the hub to filter `list()`
46
+ * results during bulk-load of the in-memory mirror.
47
+ */
48
+ export declare function isIdxId(id: string): boolean;
49
+ /**
50
+ * Sorted-value entry returned by `orderedBy()`. Mirrors the body shape
51
+ * used by the write path — but `orderedBy` emits them already sorted by
52
+ * `value` in the requested direction. Consumers (PR 4 / ) treat the
53
+ * array as immutable and paginate via a numeric offset.
54
+ *
55
+ * **Note on `value`:** as of, this is the ORIGINAL TYPED
56
+ * value (number, Date, boolean, etc.), not the stringified bucket key.
57
+ * That's what lets range predicates and `orderedBy` compare numerically
58
+ * instead of stumbling into `'10' < '2'` on `String(n)`.
59
+ */
60
+ export interface OrderedEntry {
61
+ readonly recordId: string;
62
+ readonly value: unknown;
63
+ }
64
+ /**
65
+ * Bulk-load row shape accepted by `ingest()`. The `value` field is the
66
+ * decrypted index body's `value` field verbatim.
67
+ */
68
+ export interface IngestRow {
69
+ readonly recordId: string;
70
+ readonly value: unknown;
71
+ }
72
+ /**
73
+ * Structured index definition. Single-field indexes carry just a field
74
+ * name; composite indexes carry the ordered list of fields and
75
+ * the synthetic `key` (= fields joined by `COMPOSITE_DELIMITER`) used
76
+ * as the bucket-map key and side-car envelope id segment.
77
+ */
78
+ export type PersistedIndexDef = {
79
+ readonly kind: 'single';
80
+ readonly field: string;
81
+ readonly key: string;
82
+ } | {
83
+ readonly kind: 'composite';
84
+ readonly fields: readonly string[];
85
+ readonly key: string;
86
+ };
87
+ /**
88
+ * Delimiter used to synthesize a composite-index key from an ordered
89
+ * field list. Intentionally a character that is extremely unusual in
90
+ * JavaScript object keys (`|`) so collision with a literal field name
91
+ * is vanishingly rare in practice. Composite declarations whose field
92
+ * names contain `|` are rejected at declare-time with an explicit
93
+ * error.
94
+ */
95
+ export declare const COMPOSITE_DELIMITER = "|";
96
+ export declare function compositeKey(fields: readonly string[]): string;
97
+ export declare class PersistedCollectionIndex {
98
+ private readonly indexes;
99
+ private readonly defs;
100
+ /**
101
+ * Per-field bucket-key canonicalizer (#677 — lazy twin of #672's
102
+ * `CollectionIndexes.setCanonicalizer`), registered ONCE via
103
+ * {@link setCanonicalizer} when the collection wires indexing up
104
+ * (money-aware via `ViaPipeline.canonicalizeIndexKey`). Consulted by
105
+ * EVERY bucket-mutation site — `ingest`/`upsert`/`remove` — so bucket
106
+ * membership is symmetric: a legacy non-canonical stored value (e.g.
107
+ * `'0100'`) and a canonical one (`'100'`) land in the SAME bucket,
108
+ * mirroring `eager-indexes.ts`'s `addToIndex`/`removeFromIndex`.
109
+ */
110
+ private canonicalize?;
111
+ /**
112
+ * Register the bucket-key canonicalizer. Called once, where the
113
+ * collection constructs its indexing state — safe to call again (the
114
+ * closure is simply replaced) but there is normally only one caller.
115
+ */
116
+ setCanonicalizer(fn: (field: string, value: unknown) => string | undefined): void;
117
+ /**
118
+ * Declare a single-field index. Subsequent `upsert` / `ingest` calls
119
+ * populate the in-memory mirror; calls before `declare` are no-ops
120
+ * (tolerant bulk-load ordering). Idempotent.
121
+ */
122
+ declare(field: string): void;
123
+ /**
124
+ * Declare a composite (multi-field) index. The synthetic
125
+ * key is `fields.join('|')`; it doubles as the in-memory map key and
126
+ * the `_idx/<key>/<recordId>` side-car field segment. Callers upsert
127
+ * and lookup via the same `key` as single-field indexes, just with a
128
+ * tuple value (JSON-stringified for bucketing).
129
+ */
130
+ declareComposite(fields: readonly string[]): void;
131
+ /**
132
+ * Every declared index's structured definition. Collection walks this
133
+ * when materialising side-cars on put/delete so it can extract a
134
+ * single-field value or a composite tuple appropriately.
135
+ */
136
+ definitions(): PersistedIndexDef[];
137
+ /** True if `field` has been declared as indexable on this mirror. */
138
+ has(field: string): boolean;
139
+ /** All declared field names, in declaration order. */
140
+ fields(): string[];
141
+ /**
142
+ * Bulk-load the mirror from decrypted index bodies. Intended to be
143
+ * called once per field after reading the collection's `_idx/<field>/*`
144
+ * side-cars. Safe to call twice with the same rows — bucket Sets
145
+ * deduplicate recordIds. If `field` is not declared, this is a no-op
146
+ * (tolerates the case where bulk-load runs before `declare()` lands).
147
+ */
148
+ ingest(field: string, rows: readonly IngestRow[]): void;
149
+ /**
150
+ * Incrementally update a record's index entry for one field. Called by
151
+ * `Collection.put()` after the main write succeeds. If
152
+ * `previousValue` is non-null, the record is removed from the old
153
+ * bucket first — this is the update path. Pass `null` for fresh adds.
154
+ * No-op if the field is not declared.
155
+ */
156
+ upsert(recordId: string, field: string, newValue: unknown, previousValue: unknown): void;
157
+ /**
158
+ * Remove a record from the index for one field. Called by
159
+ * `Collection.delete()`. No-op if the field is not declared or
160
+ * the record isn't in the bucket. Empty buckets are dropped to keep
161
+ * the Map clean.
162
+ */
163
+ remove(recordId: string, field: string, value: unknown): void;
164
+ /**
165
+ * Drop all bucket data while preserving field declarations. Called on
166
+ * invalidation (incoming sync changes, keyring rotation) — the next
167
+ * query re-populates via `ingest`.
168
+ */
169
+ clear(): void;
170
+ /**
171
+ * Equality lookup — return the set of record ids whose `field` matches
172
+ * `value`. Returns `null` if the field is not declared (caller falls
173
+ * back to scan or throws `IndexRequiredError`). Returns a shared empty
174
+ * set if the field is declared but no record matches — that set MUST
175
+ * NOT be mutated by the caller.
176
+ *
177
+ * `value` is bucketed via the plain {@link stringifyKey} — it is NOT
178
+ * canonicalized here. Callers on a Via-covered field (money) canonicalize
179
+ * `value` themselves BEFORE calling (see `lazy-builder.ts`'s
180
+ * `resolveCandidateIds()`, #677) — the SAME caller-canonicalizes split
181
+ * `eager-indexes.ts`'s `lookupEqual`/`lookupIn` use (see `kernel/query/
182
+ * builder.ts`'s `candidateRecords()`), so probing here twice never
183
+ * double-canonicalizes.
184
+ */
185
+ lookupEqual(field: string, value: unknown): ReadonlySet<string> | null;
186
+ /**
187
+ * Set lookup — return the union of record ids whose `field` matches any
188
+ * of `values`. Returns `null` if the field is not declared. Returns a
189
+ * fresh (non-shared) Set — safe for the caller to mutate. Same
190
+ * caller-canonicalizes contract as {@link lookupEqual} (#677).
191
+ */
192
+ lookupIn(field: string, values: readonly unknown[]): ReadonlySet<string> | null;
193
+ /**
194
+ * Range lookup. Return record ids whose indexed value
195
+ * satisfies the predicate. Comparison happens on the ORIGINAL TYPED
196
+ * value carried in `state.values` — so numeric `<` sorts numerically,
197
+ * not lexicographically on `String(n)`. Returns `null` if the field
198
+ * is not declared.
199
+ *
200
+ * Supported ops: `'<'`, `'<='`, `'>'`, `'>='`, `'between'`. For
201
+ * `'between'`, `value` is `[lo, hi]` and both bounds are inclusive
202
+ * (matches the eager-mode operator contract in `predicate.ts`).
203
+ *
204
+ * NOT canonicalized (#677): this method compares `value` against the
205
+ * ORIGINAL TYPED `state.values`, not a stringified bucket key, so a
206
+ * `canonicalizeIndexKey`-shaped (`string | undefined`) result would not
207
+ * even type-check as a bound here. This does NOT mirror eager mode the
208
+ * way `lookupEqual`/`lookupIn` do: `moneyIndexProbe` (`via/money/
209
+ * where.ts`) never emits a range probe, so EAGER mode's `candidateRecords`
210
+ * never calls an index for a range clause and always scans.
211
+ *
212
+ * LAZY mode's `resolveCandidateIds()` (`lazy-builder.ts`) no longer
213
+ * dispatches a Via-covered (e.g. money) range clause through THIS method
214
+ * at all (#684) — it enumerates the field's indexed ids via `orderedBy()`
215
+ * instead and leaves the raw/typed comparison here for the (now
216
+ * Via-aware) post-filter to redo correctly in scaled-int space. A
217
+ * NON-via range clause still dispatches through this method exactly as
218
+ * before — the raw/typed comparison here is correct and sufficient for
219
+ * fields with no decode-transforming Via binding.
220
+ */
221
+ lookupRange(field: string, op: '<' | '<=' | '>' | '>=' | 'between', value: unknown): ReadonlySet<string> | null;
222
+ /**
223
+ * Sorted iteration — return every entry on `field` as an
224
+ * `OrderedEntry[]`, sorted by the ORIGINAL TYPED value (no more
225
+ * `'10' < '2'` surprises on numeric fields). Consumers paginate with
226
+ * a numeric offset. `OrderedEntry.value` is the typed value.
227
+ */
228
+ orderedBy(field: string, dir: 'asc' | 'desc'): readonly OrderedEntry[] | null;
229
+ }