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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (885) hide show
  1. package/dist/aggregate/index.js +4 -4
  2. package/dist/api-YGMINAET.js +20 -0
  3. package/dist/as/index.js +11 -11
  4. package/dist/attestation/index.js +18 -18
  5. package/dist/backup-XA5STIYQ.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-25NDNMQ7.js +70 -0
  13. package/dist/chunk-2JMMY7HZ.js +188 -0
  14. package/dist/chunk-3CNQ7FQ3.js +430 -0
  15. package/dist/chunk-3G4KMVUN.js +291 -0
  16. package/dist/chunk-3MSQLQNZ.js +74 -0
  17. package/dist/chunk-45ZZLTFH.js +38 -0
  18. package/dist/chunk-4GPE63GU.js +111 -0
  19. package/dist/chunk-4GPE63GU.js.map +1 -0
  20. package/dist/chunk-4N5QFSNQ.js +150 -0
  21. package/dist/chunk-4R4Q64W5.js +34 -0
  22. package/dist/chunk-57V5S7PW.js +130 -0
  23. package/dist/chunk-5JB73NMC.js +202 -0
  24. package/dist/chunk-5XIPOCQC.js +155 -0
  25. package/dist/chunk-5ZOSG3RJ.js +778 -0
  26. package/dist/chunk-67TNU77I.js +36 -0
  27. package/dist/chunk-6QILBDZU.js +205 -0
  28. package/dist/chunk-7E67FJ33.js +155 -0
  29. package/dist/chunk-7ITPJFGC.js +50 -0
  30. package/dist/chunk-7NS43EXZ.js +117 -0
  31. package/dist/chunk-7QIXUSDQ.js +341 -0
  32. package/dist/chunk-7VSGW5KJ.js +74 -0
  33. package/dist/chunk-A2QF4JUE.js +14073 -0
  34. package/dist/chunk-A2QF4JUE.js.map +1 -0
  35. package/dist/chunk-A2Y6YFVN.js +209 -0
  36. package/dist/chunk-AOVDSIL3.js +1221 -0
  37. package/dist/chunk-ARSAMO24.js +29 -0
  38. package/dist/chunk-AWB5JZW6.js +41 -0
  39. package/dist/chunk-BCYQA5BK.js +45 -0
  40. package/dist/chunk-BE7N3AXA.js +621 -0
  41. package/dist/chunk-BEIRE5K4.js +164 -0
  42. package/dist/chunk-BZO4WCJI.js +86 -0
  43. package/dist/chunk-C3YH34IL.js +75 -0
  44. package/dist/chunk-C7NTK5I3.js +49 -0
  45. package/dist/chunk-CB25ONKC.js +129 -0
  46. package/dist/chunk-CIKY6I4W.js +21 -0
  47. package/dist/chunk-CKZW6P5V.js +32 -0
  48. package/dist/chunk-CKZW6P5V.js.map +1 -0
  49. package/dist/chunk-D26JB3LZ.js +54 -0
  50. package/dist/chunk-D3EFFFOL.js +59 -0
  51. package/dist/chunk-DGH65E7Q.js +466 -0
  52. package/dist/chunk-DIRRS7WP.js +42 -0
  53. package/dist/chunk-DJ3VKYFA.js +150 -0
  54. package/dist/chunk-DJ3VKYFA.js.map +1 -0
  55. package/dist/chunk-DMFNPHCX.js +247 -0
  56. package/dist/chunk-ELNBMFOS.js +392 -0
  57. package/dist/chunk-FH542DDY.js +1505 -0
  58. package/dist/chunk-FH542DDY.js.map +1 -0
  59. package/dist/chunk-FQQF23MC.js +45 -0
  60. package/dist/chunk-FXK4X4BL.js +91 -0
  61. package/dist/chunk-GA2QHD6P.js +235 -0
  62. package/dist/chunk-H44ZE4IE.js +355 -0
  63. package/dist/chunk-H6CZSDWK.js +1697 -0
  64. package/dist/chunk-H6HM6CVR.js +279 -0
  65. package/dist/chunk-HFJIGWJC.js +382 -0
  66. package/dist/chunk-HUS3J5WM.js +404 -0
  67. package/dist/chunk-IDIV5NVH.js +99 -0
  68. package/dist/chunk-IGJHJYM6.js +515 -0
  69. package/dist/chunk-IP2QBAGS.js +589 -0
  70. package/dist/chunk-JOQ53DMI.js +255 -0
  71. package/dist/chunk-K62IUKOD.js +823 -0
  72. package/dist/chunk-KPGX66PM.js +230 -0
  73. package/dist/chunk-L2SNBIV7.js +453 -0
  74. package/dist/chunk-MCEKIAO4.js +367 -0
  75. package/dist/chunk-MELR46EF.js +280 -0
  76. package/dist/chunk-MSPNM2OM.js +95 -0
  77. package/dist/chunk-O2DYPAZY.js +23 -0
  78. package/dist/chunk-ODJWBC5I.js +30 -0
  79. package/dist/chunk-OEAATWH5.js +686 -0
  80. package/dist/chunk-OFJ5GPNA.js +71 -0
  81. package/dist/chunk-OOLO4LQG.js +99 -0
  82. package/dist/chunk-P5RY4ZWD.js +662 -0
  83. package/dist/chunk-PR5LC5YX.js +265 -0
  84. package/dist/chunk-PXWVF7MC.js +135 -0
  85. package/dist/chunk-Q3XSMOZM.js +40 -0
  86. package/dist/chunk-QLLKLFE2.js +94 -0
  87. package/dist/chunk-QQJXBZCO.js +1056 -0
  88. package/dist/chunk-QQJXBZCO.js.map +1 -0
  89. package/dist/chunk-QYPKGVT4.js +261 -0
  90. package/dist/chunk-RKRGDAS7.js +59 -0
  91. package/dist/chunk-SRVQHVNX.js +164 -0
  92. package/dist/chunk-SYMS4546.js +29 -0
  93. package/dist/chunk-TPH5EO6L.js +54 -0
  94. package/dist/chunk-UFILRICG.js +14 -0
  95. package/dist/chunk-UTLEAJXC.js +97 -0
  96. package/dist/chunk-VA4ZWLFY.js +123 -0
  97. package/dist/chunk-VR24ILCR.js +367 -0
  98. package/dist/chunk-W5D62AQD.js +944 -0
  99. package/dist/chunk-WGV4CUZT.js +167 -0
  100. package/dist/chunk-WTUNZACT.js +30 -0
  101. package/dist/chunk-WTUNZACT.js.map +1 -0
  102. package/dist/chunk-X6CMGUAG.js +69 -0
  103. package/dist/chunk-XFXUTFWQ.js +85 -0
  104. package/dist/chunk-XHV25KBM.js +30 -0
  105. package/dist/chunk-YSXEFGND.js +124 -0
  106. package/dist/chunk-YXOUQ2H7.js +36 -0
  107. package/dist/chunk-ZP5PL65C.js +80 -0
  108. package/dist/classified/index.js +5 -5
  109. package/dist/classified-marker-LQWWQNIJ.js +24 -0
  110. package/dist/collection-facade-YE2O4J4O.js +39 -0
  111. package/dist/computed-W6MVAMWZ.js +11 -0
  112. package/dist/consent/index.js +9 -9
  113. package/dist/crdt/index.js +1 -1
  114. package/dist/dead-filter-4KXZEB3X.js +28 -0
  115. package/dist/delegation-OPUU3R2E.js +25 -0
  116. package/dist/derivations/index.js +12 -12
  117. package/dist/derive-BGUHU663.js +21 -0
  118. package/dist/enclave-VXAQD4XJ.js +135 -0
  119. package/dist/executor-GTVSUUBX.js +25 -0
  120. package/dist/executor-GZWMTOXB.js +9 -0
  121. package/dist/executor-XXGS4S3K.js +9 -0
  122. package/dist/export-accessible-BMULIOYB.js +23 -0
  123. package/dist/extract-partition-JUQTWDXR.js +36 -0
  124. package/dist/fanout-sidecar-CKYFH33E.js +74 -0
  125. package/dist/find-XRGCNGNN.js +11 -0
  126. package/dist/forget/index.js +10 -10
  127. package/dist/forget/index.js.map +1 -1
  128. package/dist/guards/index.js +3 -3
  129. package/dist/history/index.js +11 -11
  130. package/dist/i18n/index.js +15 -15
  131. package/dist/index.d.ts +303 -1492
  132. package/dist/index.js +172 -171
  133. package/dist/index.js.map +1 -1
  134. package/dist/indexing/index.js +2 -2
  135. package/dist/issue-UB6AA5M6.js +19 -0
  136. package/dist/kernel/cache/index.d.ts +10 -0
  137. package/dist/kernel/cache/lru.d.ts +97 -0
  138. package/dist/kernel/cache/policy.d.ts +32 -0
  139. package/dist/kernel/collection-config.d.ts +781 -0
  140. package/dist/kernel/collection.d.ts +1505 -0
  141. package/dist/kernel/constants.d.ts +18 -0
  142. package/dist/kernel/debug.d.ts +25 -0
  143. package/dist/kernel/enclave/broker/proof.d.ts +154 -0
  144. package/dist/kernel/enclave/classify/bidx.d.ts +77 -0
  145. package/dist/kernel/enclave/classify/compare.d.ts +10 -0
  146. package/dist/kernel/enclave/classify/digest.d.ts +8 -0
  147. package/dist/kernel/enclave/classify/find.d.ts +36 -0
  148. package/dist/kernel/enclave/classify/kofn.d.ts +7 -0
  149. package/dist/kernel/enclave/classify/normalize.d.ts +7 -0
  150. package/dist/kernel/enclave/classify/reveal.d.ts +10 -0
  151. package/dist/kernel/enclave/classify/vdig.d.ts +39 -0
  152. package/dist/kernel/enclave/classify/verify.d.ts +33 -0
  153. package/dist/kernel/enclave/classify/write.d.ts +8 -0
  154. package/dist/kernel/enclave/crypto.d.ts +263 -0
  155. package/dist/kernel/enclave/index.d.ts +78 -0
  156. package/dist/kernel/enclave/record-keys/deterministic.d.ts +54 -0
  157. package/dist/kernel/enclave/record-keys/envelope-body.d.ts +79 -0
  158. package/dist/kernel/enclave/record-keys/lifecycle.d.ts +57 -0
  159. package/dist/kernel/enclave/record-keys/record-codec.d.ts +301 -0
  160. package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +14 -0
  161. package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +123 -0
  162. package/dist/kernel/enclave/record-keys/sealing.d.ts +70 -0
  163. package/dist/kernel/enclave/record-keys/tombstone.d.ts +57 -0
  164. package/dist/kernel/env-check.d.ts +1 -0
  165. package/dist/kernel/errors.d.ts +1848 -0
  166. package/dist/kernel/events.d.ts +11 -0
  167. package/dist/kernel/memory-store.d.ts +17 -0
  168. package/dist/kernel/mutation.d.ts +14 -0
  169. package/dist/kernel/noydb.d.ts +818 -0
  170. package/dist/kernel/paths.d.ts +25 -0
  171. package/dist/kernel/query/builder.d.ts +520 -0
  172. package/dist/kernel/query/index.d.ts +31 -0
  173. package/dist/kernel/query/join.d.ts +205 -0
  174. package/dist/kernel/query/live.d.ts +111 -0
  175. package/dist/kernel/query/predicate.d.ts +139 -0
  176. package/dist/kernel/query/scan-builder.d.ts +334 -0
  177. package/dist/kernel/refs.d.ts +205 -0
  178. package/dist/kernel/schema.d.ts +134 -0
  179. package/dist/kernel/sync-policy.d.ts +188 -0
  180. package/dist/kernel/types.d.ts +3147 -0
  181. package/dist/kernel/util/discriminant.d.ts +58 -0
  182. package/dist/kernel/util/index.d.ts +14 -0
  183. package/dist/kernel/util/sanitize-filename.d.ts +75 -0
  184. package/dist/kernel/validation.d.ts +130 -0
  185. package/dist/kernel/vault.d.ts +1723 -0
  186. package/dist/kernel/via/compose.d.ts +144 -0
  187. package/dist/kernel/via/dispatch.d.ts +185 -0
  188. package/dist/kernel/via/graph-wiring.d.ts +145 -0
  189. package/dist/kernel/via/graph.d.ts +165 -0
  190. package/dist/kernel/via/index.d.ts +200 -0
  191. package/dist/kernel/via/pipeline.d.ts +266 -0
  192. package/dist/kernel/via/reconcile.d.ts +153 -0
  193. package/dist/kernel/via/taint-binding.d.ts +66 -0
  194. package/dist/kernel/write-queue.d.ts +46 -0
  195. package/dist/ledger-FU6GH5EH.js +42 -0
  196. package/dist/legacy/bundle.d.ts +30 -0
  197. package/dist/legacy/kernel.d.ts +33 -0
  198. package/dist/liberate-YUN7W5QG.js +24 -0
  199. package/dist/link-set-MNADSH5M.js +31 -0
  200. package/dist/materialized-views/index.js +19 -19
  201. package/dist/noydb-6JLBZU4U.js +67 -0
  202. package/dist/on/index.js +9 -9
  203. package/dist/overlay-views/index.js +4 -4
  204. package/dist/periods/index.js +12 -12
  205. package/dist/pod/index.js +11 -11
  206. package/dist/policy-JTFOPPUU.js +41 -0
  207. package/dist/port/as/index.d.ts +26 -0
  208. package/dist/port/at/index.d.ts +18 -0
  209. package/dist/port/by/default-provider.d.ts +9 -0
  210. package/dist/port/by/index.d.ts +17 -0
  211. package/dist/port/by/types.d.ts +86 -0
  212. package/dist/port/in/index.d.ts +21 -0
  213. package/dist/port/on/index.d.ts +27 -0
  214. package/dist/port/to/index.d.ts +19 -0
  215. package/dist/port/ui/index.d.ts +21 -0
  216. package/dist/port/with/blob-strategy.d.ts +81 -0
  217. package/dist/port/with/broker-strategy.d.ts +84 -0
  218. package/dist/port/with/capabilities.d.ts +31 -0
  219. package/dist/port/with/classified-marker.d.ts +9 -0
  220. package/dist/port/with/classified-strategy.d.ts +62 -0
  221. package/dist/port/with/computed-strategy.d.ts +19 -0
  222. package/dist/port/with/i18n-strategy.d.ts +175 -0
  223. package/dist/port/with/index.d.ts +18 -0
  224. package/dist/port/with/lazy-strategy.d.ts +48 -0
  225. package/dist/port/with/lookup-strategy.d.ts +128 -0
  226. package/dist/port/with/service-bus.d.ts +156 -0
  227. package/dist/port/with/team-strategy.d.ts +36 -0
  228. package/dist/port/with/write-hooks.d.ts +34 -0
  229. package/dist/portability/index.js +8 -8
  230. package/dist/post-register-HAWO3O7O.js +55 -0
  231. package/dist/public-envelope-NJVB7LPA.js +32 -0
  232. package/dist/purge-scope-FGNNLWHD.js +24 -0
  233. package/dist/purge-scope-FGNNLWHD.js.map +1 -0
  234. package/dist/query/index.js +5 -5
  235. package/dist/register-VCKOBWKT.js +23 -0
  236. package/dist/registry-72UKJ2L4.js +9 -0
  237. package/dist/registry-BZFLJNEH.js +18 -0
  238. package/dist/registry-YJEYSYI5.js +19 -0
  239. package/dist/request-withdrawal-6MJRMFHF.js +31 -0
  240. package/dist/reveal-BOY7XYFH.js +38 -0
  241. package/dist/revoke-4KUNSVJC.js +24 -0
  242. package/dist/satellites/index.js +1 -1
  243. package/dist/sealed-record/index.js +12 -12
  244. package/dist/seed-4RRXT42N.js +231 -0
  245. package/dist/seed-4RRXT42N.js.map +1 -0
  246. package/dist/session/index.js +9 -9
  247. package/dist/shadow/index.js +2 -2
  248. package/dist/signer-DDDXP5JD.js +25 -0
  249. package/dist/snapshots/index.js +10 -10
  250. package/dist/stale-NXPT56JA.js +14 -0
  251. package/dist/storage-IR6EEAV2.js +23 -0
  252. package/dist/store-coordination-provider-HPYVFJCV.js +142 -0
  253. package/dist/sync/index.js +9 -9
  254. package/dist/team/index.js +15 -15
  255. package/dist/tiers/index.js +10 -10
  256. package/dist/to/index.js +1 -1
  257. package/dist/tx/index.js +3 -3
  258. package/dist/util/index.js +1 -1
  259. package/dist/verify-66RHOW7N.js +139 -0
  260. package/dist/via/blob/active.d.ts +34 -0
  261. package/dist/via/blob/binding.d.ts +86 -0
  262. package/dist/via/blob/index.d.ts +34 -0
  263. package/dist/via/classified/active.d.ts +3 -0
  264. package/dist/via/classified/binding.d.ts +83 -0
  265. package/dist/via/classified/config-drift.d.ts +34 -0
  266. package/dist/via/classified/descriptor.d.ts +66 -0
  267. package/dist/via/classified/errors.d.ts +19 -0
  268. package/dist/via/classified/guards.d.ts +23 -0
  269. package/dist/via/classified/index.d.ts +11 -0
  270. package/dist/via/classified/presets.d.ts +65 -0
  271. package/dist/via/classified/resolve.d.ts +9 -0
  272. package/dist/via/classified/strategy.d.ts +11 -0
  273. package/dist/via/classified/validators.d.ts +3 -0
  274. package/dist/via/classified/write.d.ts +4 -0
  275. package/dist/via/computed/binding.d.ts +34 -0
  276. package/dist/via/computed/descriptor.d.ts +35 -0
  277. package/dist/via/i18n/active.d.ts +28 -0
  278. package/dist/via/i18n/binding.d.ts +36 -0
  279. package/dist/via/i18n/core.d.ts +267 -0
  280. package/dist/via/i18n/densify.d.ts +24 -0
  281. package/dist/via/i18n/dictionary.d.ts +200 -0
  282. package/dist/via/i18n/index.d.ts +21 -0
  283. package/dist/via/i18n/policy.d.ts +44 -0
  284. package/dist/via/i18n/script.d.ts +26 -0
  285. package/dist/via/i18n/strategy.d.ts +13 -0
  286. package/dist/via/lookup/active.d.ts +19 -0
  287. package/dist/via/lookup/binding.d.ts +99 -0
  288. package/dist/via/lookup/descriptor.d.ts +123 -0
  289. package/dist/via/lookup/handle.d.ts +220 -0
  290. package/dist/via/lookup/index.d.ts +17 -0
  291. package/dist/via/lookup/registry.d.ts +219 -0
  292. package/dist/via/lookup/snapshot.d.ts +67 -0
  293. package/dist/via/money/arith.d.ts +68 -0
  294. package/dist/via/money/binding.d.ts +21 -0
  295. package/dist/via/money/branded.d.ts +61 -0
  296. package/dist/via/money/descriptor.d.ts +73 -0
  297. package/dist/via/money/fixed-point.d.ts +51 -0
  298. package/dist/via/money/index.d.ts +15 -0
  299. package/dist/via/money/iso4217.d.ts +6 -0
  300. package/dist/via/money/money-reducer.d.ts +33 -0
  301. package/dist/via/money/normalize.d.ts +105 -0
  302. package/dist/via/money/paths.d.ts +61 -0
  303. package/dist/via/money/where.d.ts +106 -0
  304. package/dist/walk-2RWEOCAS.js +241 -0
  305. package/dist/with/index.js +11 -11
  306. package/dist/with-audit/attestation/active.d.ts +10 -0
  307. package/dist/with-audit/attestation/index.d.ts +16 -0
  308. package/dist/with-audit/attestation/issue.d.ts +29 -0
  309. package/dist/with-audit/attestation/revoke.d.ts +15 -0
  310. package/dist/with-audit/attestation/signer.d.ts +33 -0
  311. package/dist/with-audit/attestation/strategy.d.ts +44 -0
  312. package/dist/with-audit/attestation/vault-facade.d.ts +62 -0
  313. package/dist/with-audit/consent/active.d.ts +14 -0
  314. package/dist/with-audit/consent/consent.d.ts +114 -0
  315. package/dist/with-audit/consent/index.d.ts +14 -0
  316. package/dist/with-audit/consent/strategy.d.ts +36 -0
  317. package/dist/with-audit/forget/active.d.ts +31 -0
  318. package/dist/with-audit/forget/index.d.ts +28 -0
  319. package/dist/with-audit/forget/purge-scope.d.ts +54 -0
  320. package/dist/with-audit/forget/strategy.d.ts +177 -0
  321. package/dist/with-audit/forget/subject-index.d.ts +83 -0
  322. package/dist/with-audit/guards/executor.d.ts +26 -0
  323. package/dist/with-audit/guards/immutable-guard.d.ts +63 -0
  324. package/dist/with-audit/guards/index.d.ts +10 -0
  325. package/dist/with-audit/guards/read-only-facade.d.ts +31 -0
  326. package/dist/with-audit/guards/registry.d.ts +83 -0
  327. package/dist/with-audit/guards/transition-guard.d.ts +82 -0
  328. package/dist/with-audit/guards/types.d.ts +134 -0
  329. package/dist/with-audit/guards/with-guard.d.ts +15 -0
  330. package/dist/with-audit/periods/active.d.ts +11 -0
  331. package/dist/with-audit/periods/index.d.ts +18 -0
  332. package/dist/with-audit/periods/periods.d.ts +417 -0
  333. package/dist/with-audit/periods/strategy.d.ts +32 -0
  334. package/dist/with-audit/periods/vault-facade.d.ts +95 -0
  335. package/dist/with-audit/portability/active.d.ts +11 -0
  336. package/dist/with-audit/portability/export-accessible.d.ts +46 -0
  337. package/dist/with-audit/portability/index.d.ts +18 -0
  338. package/dist/with-audit/portability/request-withdrawal.d.ts +85 -0
  339. package/dist/with-audit/portability/strategy.d.ts +31 -0
  340. package/dist/with-audit/portability/withdraw-accessible.d.ts +82 -0
  341. package/dist/with-audit/sealed-record/active.d.ts +9 -0
  342. package/dist/with-audit/sealed-record/index.d.ts +55 -0
  343. package/dist/with-audit/sealed-record/strategy.d.ts +34 -0
  344. package/dist/with-audit/sealed-record/types.d.ts +27 -0
  345. package/dist/with-audit/tiers/active.d.ts +9 -0
  346. package/dist/with-audit/tiers/index.d.ts +122 -0
  347. package/dist/with-audit/tiers/strategy.d.ts +35 -0
  348. package/dist/with-cargo/active.d.ts +11 -0
  349. package/dist/with-cargo/adopt-partition.d.ts +81 -0
  350. package/dist/with-cargo/decrypt-partition.d.ts +19 -0
  351. package/dist/with-cargo/describe-extraction.d.ts +33 -0
  352. package/dist/with-cargo/extract-partition.d.ts +147 -0
  353. package/dist/with-cargo/index.d.ts +33 -0
  354. package/dist/with-cargo/strategy.d.ts +30 -0
  355. package/dist/with-cargo/vault-diff.d.ts +144 -0
  356. package/dist/with-cargo/walk-closure.d.ts +38 -0
  357. package/dist/with-commit/crdt/active.d.ts +25 -0
  358. package/dist/with-commit/crdt/crdt.d.ts +42 -0
  359. package/dist/with-commit/crdt/index.d.ts +16 -0
  360. package/dist/with-commit/crdt/strategy.d.ts +25 -0
  361. package/dist/with-commit/history/active.d.ts +40 -0
  362. package/dist/with-commit/history/diff.d.ts +23 -0
  363. package/dist/with-commit/history/history.d.ts +27 -0
  364. package/dist/with-commit/history/index.d.ts +30 -0
  365. package/dist/with-commit/history/ledger/constants.d.ts +37 -0
  366. package/dist/with-commit/history/ledger/entry.d.ts +195 -0
  367. package/dist/with-commit/history/ledger/hash.d.ts +30 -0
  368. package/dist/with-commit/history/ledger/index.d.ts +19 -0
  369. package/dist/with-commit/history/ledger/patch.d.ts +99 -0
  370. package/dist/with-commit/history/ledger/store.d.ts +335 -0
  371. package/dist/with-commit/history/strategy.d.ts +126 -0
  372. package/dist/with-commit/history/time-machine.d.ts +179 -0
  373. package/dist/with-commit/numbering/descriptor.d.ts +27 -0
  374. package/dist/with-commit/numbering/index.d.ts +69 -0
  375. package/dist/with-commit/sequence/active.d.ts +10 -0
  376. package/dist/with-commit/sequence/index.d.ts +150 -0
  377. package/dist/with-commit/sequence/strategy.d.ts +26 -0
  378. package/dist/with-commit/tx/active.d.ts +27 -0
  379. package/dist/with-commit/tx/dry-run.d.ts +29 -0
  380. package/dist/with-commit/tx/elevated-handle.d.ts +58 -0
  381. package/dist/with-commit/tx/index.d.ts +13 -0
  382. package/dist/with-commit/tx/invariants.d.ts +68 -0
  383. package/dist/with-commit/tx/strategy.d.ts +23 -0
  384. package/dist/with-commit/tx/transaction.d.ts +207 -0
  385. package/dist/with-fork/archive/engine.d.ts +71 -0
  386. package/dist/with-fork/archive/index.d.ts +23 -0
  387. package/dist/with-fork/shadow/active.d.ts +6 -0
  388. package/dist/with-fork/shadow/index.d.ts +14 -0
  389. package/dist/with-fork/shadow/strategy.d.ts +28 -0
  390. package/dist/with-fork/shadow/vault-frame.d.ts +93 -0
  391. package/dist/with-fork/snapshots/active.d.ts +20 -0
  392. package/dist/with-fork/snapshots/engine.d.ts +36 -0
  393. package/dist/with-fork/snapshots/index.d.ts +5 -0
  394. package/dist/with-fork/snapshots/noydb-facade.d.ts +64 -0
  395. package/dist/with-fork/snapshots/policy.d.ts +23 -0
  396. package/dist/with-fork/snapshots/scheduler.d.ts +34 -0
  397. package/dist/with-fork/snapshots/strategy.d.ts +48 -0
  398. package/dist/with-formula/computed/index.d.ts +48 -0
  399. package/dist/with-formula/computed/lazy.d.ts +13 -0
  400. package/dist/with-formula/derivations/executor.d.ts +61 -0
  401. package/dist/with-formula/derivations/fanout-sidecar.d.ts +75 -0
  402. package/dist/with-formula/derivations/index.d.ts +6 -0
  403. package/dist/with-formula/derivations/registry.d.ts +67 -0
  404. package/dist/with-formula/derivations/stale.d.ts +39 -0
  405. package/dist/with-formula/derivations/strategy-hash.d.ts +1 -0
  406. package/dist/with-formula/derivations/types.d.ts +248 -0
  407. package/dist/with-formula/derivations/with-derivation.d.ts +10 -0
  408. package/dist/with-formula/derivations/with-rollup.d.ts +34 -0
  409. package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +58 -0
  410. package/dist/with-formula/materialized-views/executor.d.ts +71 -0
  411. package/dist/with-formula/materialized-views/index.d.ts +11 -0
  412. package/dist/with-formula/materialized-views/query-hash.d.ts +23 -0
  413. package/dist/with-formula/materialized-views/registry.d.ts +99 -0
  414. package/dist/with-formula/materialized-views/stale.d.ts +62 -0
  415. package/dist/with-formula/materialized-views/types.d.ts +318 -0
  416. package/dist/with-formula/materialized-views/with-materialized-view.d.ts +24 -0
  417. package/dist/with-formula/overlay-views/index.d.ts +5 -0
  418. package/dist/with-formula/overlay-views/registry.d.ts +42 -0
  419. package/dist/with-formula/overlay-views/types.d.ts +97 -0
  420. package/dist/with-formula/overlay-views/virtual-collection.d.ts +90 -0
  421. package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +9 -0
  422. package/dist/with-lookup/aggregate/active.d.ts +33 -0
  423. package/dist/with-lookup/aggregate/aggregation.d.ts +166 -0
  424. package/dist/with-lookup/aggregate/canonical-key.d.ts +16 -0
  425. package/dist/with-lookup/aggregate/groupby.d.ts +280 -0
  426. package/dist/with-lookup/aggregate/index.d.ts +23 -0
  427. package/dist/with-lookup/aggregate/reducers.d.ts +257 -0
  428. package/dist/with-lookup/aggregate/strategy.d.ts +59 -0
  429. package/dist/with-lookup/embeddings/cosine.d.ts +2 -0
  430. package/dist/with-lookup/embeddings/descriptor.d.ts +8 -0
  431. package/dist/with-lookup/embeddings/index.d.ts +3 -0
  432. package/dist/with-lookup/embeddings/vector-set.d.ts +19 -0
  433. package/dist/with-lookup/indexing/active.d.ts +30 -0
  434. package/dist/with-lookup/indexing/collection-facade.d.ts +120 -0
  435. package/dist/with-lookup/indexing/eager-indexes.d.ts +122 -0
  436. package/dist/with-lookup/indexing/index.d.ts +27 -0
  437. package/dist/with-lookup/indexing/lazy-builder.d.ts +69 -0
  438. package/dist/with-lookup/indexing/persisted-indexes.d.ts +186 -0
  439. package/dist/with-lookup/indexing/strategy.d.ts +56 -0
  440. package/dist/with-lookup/indexing/unique-constraints.d.ts +74 -0
  441. package/dist/with-lookup/search/active.d.ts +10 -0
  442. package/dist/with-lookup/search/build-docs.d.ts +15 -0
  443. package/dist/with-lookup/search/collection-facade.d.ts +123 -0
  444. package/dist/with-lookup/search/fuse.d.ts +22 -0
  445. package/dist/with-lookup/search/index-store.d.ts +19 -0
  446. package/dist/with-lookup/search/index.d.ts +19 -0
  447. package/dist/with-lookup/search/inverted-index.d.ts +47 -0
  448. package/dist/with-lookup/search/persisted-index-store.d.ts +41 -0
  449. package/dist/with-lookup/search/retrieve-types.d.ts +29 -0
  450. package/dist/with-lookup/search/scan.d.ts +28 -0
  451. package/dist/with-lookup/search/segment.d.ts +15 -0
  452. package/dist/with-lookup/search/serialize.d.ts +4 -0
  453. package/dist/with-lookup/search/snippet.d.ts +5 -0
  454. package/dist/with-lookup/search/strategy.d.ts +37 -0
  455. package/dist/with-lookup/search/tokenize.d.ts +12 -0
  456. package/dist/with-party/auth-introspection/index.d.ts +44 -0
  457. package/dist/with-party/broker/active.d.ts +23 -0
  458. package/dist/with-party/broker/index.d.ts +28 -0
  459. package/dist/with-party/broker/seed.d.ts +77 -0
  460. package/dist/with-party/custody/active.d.ts +10 -0
  461. package/dist/with-party/custody/index.d.ts +69 -0
  462. package/dist/with-party/custody/liberate.d.ts +64 -0
  463. package/dist/with-party/custody/strategy.d.ts +48 -0
  464. package/dist/with-party/directory/index.d.ts +11 -0
  465. package/dist/with-party/directory/public-envelope/index.d.ts +12 -0
  466. package/dist/with-party/directory/public-envelope/schema.d.ts +24 -0
  467. package/dist/with-party/directory/public-envelope/storage.d.ts +59 -0
  468. package/dist/with-party/directory/public-envelope/types.d.ts +80 -0
  469. package/dist/with-party/directory/storage.d.ts +33 -0
  470. package/dist/with-party/directory/types.d.ts +43 -0
  471. package/dist/with-party/directory/user-envelope/api.d.ts +201 -0
  472. package/dist/with-party/directory/user-envelope/index.d.ts +12 -0
  473. package/dist/with-party/directory/user-envelope/storage.d.ts +54 -0
  474. package/dist/with-party/directory/visibility.d.ts +47 -0
  475. package/dist/with-party/policy/engine.d.ts +60 -0
  476. package/dist/with-party/policy/index.d.ts +15 -0
  477. package/dist/with-party/policy/noydb-facade.d.ts +39 -0
  478. package/dist/with-party/policy/presets.d.ts +38 -0
  479. package/dist/with-party/policy/storage.d.ts +31 -0
  480. package/dist/with-party/session/active.d.ts +34 -0
  481. package/dist/with-party/session/dev-unlock.d.ts +128 -0
  482. package/dist/with-party/session/index.d.ts +23 -0
  483. package/dist/with-party/session/session-policy.d.ts +92 -0
  484. package/dist/with-party/session/session.d.ts +131 -0
  485. package/dist/with-party/session/strategy.d.ts +42 -0
  486. package/dist/with-party/session/unlock-state.d.ts +47 -0
  487. package/dist/with-party/sync/index.d.ts +31 -0
  488. package/dist/with-party/tab-coordination.d.ts +73 -0
  489. package/dist/with-party/tab-write-relay.d.ts +39 -0
  490. package/dist/with-party/team/active.d.ts +13 -0
  491. package/dist/with-party/team/authenticators.d.ts +95 -0
  492. package/dist/with-party/team/deed.d.ts +97 -0
  493. package/dist/with-party/team/delegation.d.ts +88 -0
  494. package/dist/with-party/team/index.d.ts +38 -0
  495. package/dist/with-party/team/keyring.d.ts +318 -0
  496. package/dist/with-party/team/magic-link-grant.d.ts +152 -0
  497. package/dist/with-party/team/managed-passphrase.d.ts +280 -0
  498. package/dist/with-party/team/noydb-facade.d.ts +484 -0
  499. package/dist/with-party/team/peer-recover.d.ts +81 -0
  500. package/dist/with-party/team/presence.d.ts +81 -0
  501. package/dist/with-party/team/recovery.d.ts +191 -0
  502. package/dist/with-party/team/reserved-secret-collections.d.ts +41 -0
  503. package/dist/with-party/team/rotate-recover.d.ts +275 -0
  504. package/dist/with-party/team/shamir-recovery-provider.d.ts +15 -0
  505. package/dist/with-party/team/strategy.d.ts +9 -0
  506. package/dist/with-party/team/sync-active.d.ts +33 -0
  507. package/dist/with-party/team/sync-credentials.d.ts +113 -0
  508. package/dist/with-party/team/sync-strategy.d.ts +67 -0
  509. package/dist/with-party/team/sync-transaction.d.ts +39 -0
  510. package/dist/with-party/team/sync.d.ts +165 -0
  511. package/dist/with-party/team/tiers.d.ts +39 -0
  512. package/dist/with-party/team/wrapped-deks.d.ts +86 -0
  513. package/dist/with-pod/backup.d.ts +74 -0
  514. package/dist/with-pod/bundle.d.ts +414 -0
  515. package/dist/with-pod/format.d.ts +203 -0
  516. package/dist/with-pod/index.d.ts +20 -0
  517. package/dist/with-pod/pod-store.d.ts +54 -0
  518. package/dist/with-pod/ulid.d.ts +64 -0
  519. package/dist/with-shape/blobs/blob-compaction.d.ts +170 -0
  520. package/dist/with-shape/blobs/blob-set.d.ts +342 -0
  521. package/dist/with-shape/blobs/export-blobs.d.ts +110 -0
  522. package/dist/with-shape/blobs/import-external.d.ts +50 -0
  523. package/dist/with-shape/blobs/mime-magic.d.ts +48 -0
  524. package/dist/with-shape/blobs/object-projection.d.ts +70 -0
  525. package/dist/with-shape/introspection/describe.d.ts +237 -0
  526. package/dist/with-shape/introspection/field-meta.d.ts +61 -0
  527. package/dist/with-shape/introspection/fields.d.ts +14 -0
  528. package/dist/with-shape/introspection/index.d.ts +12 -0
  529. package/dist/with-shape/introspection/json-schema.d.ts +13 -0
  530. package/dist/with-shape/introspection/meta.d.ts +22 -0
  531. package/dist/with-shape/introspection/projection.d.ts +13 -0
  532. package/dist/with-shape/introspection/types.d.ts +154 -0
  533. package/dist/with-shape/introspection/walk.d.ts +50 -0
  534. package/dist/with-shape/links/lazy-handle.d.ts +36 -0
  535. package/dist/with-shape/links/link-set.d.ts +67 -0
  536. package/dist/with-shape/links/names.d.ts +65 -0
  537. package/dist/with-shape/links/vault-facade.d.ts +211 -0
  538. package/dist/with-shape/persisted-schemas/canonicalize.d.ts +11 -0
  539. package/dist/with-shape/persisted-schemas/derive.d.ts +29 -0
  540. package/dist/with-shape/persisted-schemas/index.d.ts +21 -0
  541. package/dist/with-shape/persisted-schemas/register.d.ts +66 -0
  542. package/dist/with-shape/persisted-schemas/storage.d.ts +61 -0
  543. package/dist/with-shape/persisted-schemas/types.d.ts +54 -0
  544. package/dist/with-shape/satellites/dead-filter.d.ts +21 -0
  545. package/dist/with-shape/satellites/declare.d.ts +60 -0
  546. package/dist/with-shape/satellites/existence.d.ts +5 -0
  547. package/dist/with-shape/satellites/fanout.d.ts +37 -0
  548. package/dist/with-shape/satellites/forget.d.ts +47 -0
  549. package/dist/with-shape/satellites/index.d.ts +3 -0
  550. package/dist/with-shape/satellites/joined.d.ts +19 -0
  551. package/dist/with-shape/satellites/marker.d.ts +10 -0
  552. package/dist/with-shape/satellites/post-register.d.ts +6 -0
  553. package/dist/with-shape/satellites/proxy.d.ts +37 -0
  554. package/dist/with-shape/satellites/raw-target.d.ts +14 -0
  555. package/dist/with-shape/satellites/registry.d.ts +19 -0
  556. package/dist/with-shape/satellites/types.d.ts +26 -0
  557. package/dist/with-shape/satellites/validate.d.ts +17 -0
  558. package/dist/with-shape/schema-update/client-registry.d.ts +35 -0
  559. package/dist/with-shape/schema-update/cutover.d.ts +5 -0
  560. package/dist/with-shape/schema-update/delta.d.ts +2 -0
  561. package/dist/with-shape/schema-update/dispatch.d.ts +3 -0
  562. package/dist/with-shape/schema-update/fence-controller.d.ts +62 -0
  563. package/dist/with-shape/schema-update/fence-watcher.d.ts +37 -0
  564. package/dist/with-shape/schema-update/fence.d.ts +15 -0
  565. package/dist/with-shape/schema-update/gate.d.ts +16 -0
  566. package/dist/with-shape/schema-update/index.d.ts +6 -0
  567. package/dist/with-shape/schema-update/store-coordination-provider.d.ts +29 -0
  568. package/dist/with-shape/schema-update/strategies.d.ts +12 -0
  569. package/dist/with-shape/schema-update/types.d.ts +53 -0
  570. package/dist/with-store/index.d.ts +15 -0
  571. package/dist/with-store/lazy/active.d.ts +12 -0
  572. package/dist/with-store/lazy/index.d.ts +14 -0
  573. package/dist/with-store/lazy/strategy.d.ts +9 -0
  574. package/dist/with-store/route-store.d.ts +259 -0
  575. package/dist/with-store/store-middleware.d.ts +189 -0
  576. package/dist/withdraw-accessible-CLMZEHQT.js +28 -0
  577. package/package.json +47 -43
  578. package/dist/aggregate/index.d.ts +0 -41
  579. package/dist/api-TX2EX2FX.js +0 -20
  580. package/dist/as/index.d.ts +0 -6
  581. package/dist/at/index.d.ts +0 -4
  582. package/dist/attestation/index.d.ts +0 -19
  583. package/dist/backup-R7NTDFKY.js +0 -225
  584. package/dist/blobs/index.d.ts +0 -43
  585. package/dist/bundle/index.d.ts +0 -121
  586. package/dist/bundle-D6GxiUfq.d.ts +0 -548
  587. package/dist/by/index.d.ts +0 -1
  588. package/dist/cargo/index.d.ts +0 -7
  589. package/dist/chunk-2OV5NVE7.js +0 -95
  590. package/dist/chunk-2OZXVKVP.js +0 -367
  591. package/dist/chunk-2REPHKET.js +0 -54
  592. package/dist/chunk-3JXPAHOZ.js +0 -686
  593. package/dist/chunk-3MATJ6O4.js +0 -367
  594. package/dist/chunk-3OPY6MK2.js +0 -404
  595. package/dist/chunk-3QSIU3UT.js +0 -291
  596. package/dist/chunk-4OMCIY6F.js +0 -99
  597. package/dist/chunk-5I35DOHK.js +0 -94
  598. package/dist/chunk-5VG4IJR7.js +0 -235
  599. package/dist/chunk-5YESYH2C.js +0 -155
  600. package/dist/chunk-6G5ORS5D.js +0 -202
  601. package/dist/chunk-6P5XCKSD.js +0 -71
  602. package/dist/chunk-6S7T6WC4.js +0 -111
  603. package/dist/chunk-6S7T6WC4.js.map +0 -1
  604. package/dist/chunk-7BWJHO2A.js +0 -34
  605. package/dist/chunk-7P2SDJG3.js +0 -279
  606. package/dist/chunk-ANB77BVV.js +0 -150
  607. package/dist/chunk-ANB77BVV.js.map +0 -1
  608. package/dist/chunk-BKARNZJN.js +0 -382
  609. package/dist/chunk-BQISD5ZV.js +0 -261
  610. package/dist/chunk-BUAQ7YI3.js +0 -1697
  611. package/dist/chunk-CB7CWSKW.js +0 -430
  612. package/dist/chunk-DFVUTGT2.js +0 -515
  613. package/dist/chunk-DJ7KIPLV.js +0 -23
  614. package/dist/chunk-DSKDQP3G.js +0 -14066
  615. package/dist/chunk-DSKDQP3G.js.map +0 -1
  616. package/dist/chunk-DV4HUP5G.js +0 -99
  617. package/dist/chunk-EOXAAJTY.js +0 -621
  618. package/dist/chunk-ET67AY6B.js +0 -74
  619. package/dist/chunk-F4CEK5YM.js +0 -123
  620. package/dist/chunk-FORYWFN6.js +0 -130
  621. package/dist/chunk-FRP6D2DM.js +0 -91
  622. package/dist/chunk-FUOE7UUV.js +0 -341
  623. package/dist/chunk-G4JYND6L.js +0 -42
  624. package/dist/chunk-G6XV4H65.js +0 -59
  625. package/dist/chunk-GNMXXTMN.js +0 -85
  626. package/dist/chunk-HPWKV3YB.js +0 -21
  627. package/dist/chunk-HY3AUMFI.js +0 -41
  628. package/dist/chunk-HYR4WZZ3.js +0 -69
  629. package/dist/chunk-ICXIFFYZ.js +0 -355
  630. package/dist/chunk-IVLTXX4W.js +0 -280
  631. package/dist/chunk-J4LPNIGK.js +0 -777
  632. package/dist/chunk-JJZ2LW6T.js +0 -36
  633. package/dist/chunk-KJ2BCBTL.js +0 -589
  634. package/dist/chunk-KNZB6JMR.js +0 -129
  635. package/dist/chunk-LEJIKBBB.js +0 -124
  636. package/dist/chunk-LL2NIVUR.js +0 -188
  637. package/dist/chunk-MCHVVJIA.js +0 -968
  638. package/dist/chunk-MCHVVJIA.js.map +0 -1
  639. package/dist/chunk-NUEQU36L.js +0 -392
  640. package/dist/chunk-O45M6LDB.js +0 -38
  641. package/dist/chunk-OBKWYKYC.js +0 -117
  642. package/dist/chunk-OHHKHSJP.js +0 -209
  643. package/dist/chunk-OT76OZL6.js +0 -45
  644. package/dist/chunk-OVYRLHPE.js +0 -150
  645. package/dist/chunk-OXCSVM3B.js +0 -155
  646. package/dist/chunk-P33LUIML.js +0 -205
  647. package/dist/chunk-PLS64NCS.js +0 -59
  648. package/dist/chunk-PS2NEWEX.js +0 -36
  649. package/dist/chunk-QA2KUPCP.js +0 -45
  650. package/dist/chunk-QOC3VYL2.js +0 -30
  651. package/dist/chunk-QSFOZUYL.js +0 -823
  652. package/dist/chunk-RHK32N73.js +0 -30
  653. package/dist/chunk-RW3Y22MW.js +0 -97
  654. package/dist/chunk-S7VFUQM2.js +0 -1484
  655. package/dist/chunk-S7VFUQM2.js.map +0 -1
  656. package/dist/chunk-T7WSLRAU.js +0 -49
  657. package/dist/chunk-TAKWLZZX.js +0 -944
  658. package/dist/chunk-TMBXVJKT.js +0 -75
  659. package/dist/chunk-TWKKOM55.js +0 -54
  660. package/dist/chunk-U3WZCU7E.js +0 -14
  661. package/dist/chunk-UF362QVH.js +0 -70
  662. package/dist/chunk-UN4FVIBH.js +0 -135
  663. package/dist/chunk-VEAVKDDB.js +0 -29
  664. package/dist/chunk-VEPTFUJY.js +0 -29
  665. package/dist/chunk-VJV7GKQK.js +0 -662
  666. package/dist/chunk-VQRAIPYF.js +0 -50
  667. package/dist/chunk-VRIYFLBA.js +0 -74
  668. package/dist/chunk-VWM3DAVB.js +0 -265
  669. package/dist/chunk-VWRRVE6D.js +0 -80
  670. package/dist/chunk-WBJIQSLL.js +0 -167
  671. package/dist/chunk-WIGQB62E.js +0 -164
  672. package/dist/chunk-WZSCE6RM.js +0 -466
  673. package/dist/chunk-XGDAPN6M.js +0 -255
  674. package/dist/chunk-XH7XP3OL.js +0 -1221
  675. package/dist/chunk-XREOISSI.js +0 -40
  676. package/dist/chunk-XUBPSPKD.js +0 -164
  677. package/dist/chunk-Y3A5CB5G.js +0 -247
  678. package/dist/chunk-YCXCR7VG.js +0 -230
  679. package/dist/chunk-YMVQD5Q5.js +0 -453
  680. package/dist/chunk-YN5IAHN6.js +0 -32
  681. package/dist/chunk-YN5IAHN6.js.map +0 -1
  682. package/dist/chunk-ZYJ55N7N.js +0 -86
  683. package/dist/classified/index.d.ts +0 -16
  684. package/dist/classified-marker-H6YSHYNK.js +0 -24
  685. package/dist/collection-facade-LVD22JLM.js +0 -39
  686. package/dist/computed-EXDMQODG.js +0 -11
  687. package/dist/consent/index.d.ts +0 -22
  688. package/dist/crdt/index.d.ts +0 -33
  689. package/dist/dead-filter-HQIE2YG7.js +0 -28
  690. package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
  691. package/dist/delegation-BJP73GAP.js +0 -25
  692. package/dist/derivations/index.d.ts +0 -69
  693. package/dist/derive-BME7HDWO.js +0 -21
  694. package/dist/dev-unlock-Bmm2pgJ0.d.ts +0 -263
  695. package/dist/discriminant-BN9REW3o.d.ts +0 -60
  696. package/dist/enclave-NHORSWSF.js +0 -125
  697. package/dist/executor-FE6X4LFX.js +0 -9
  698. package/dist/executor-KSHKRJXP.js +0 -25
  699. package/dist/executor-ZHTJJICG.js +0 -9
  700. package/dist/export-accessible-DACHM5VT.js +0 -23
  701. package/dist/extract-partition-RNENZZ4T.js +0 -36
  702. package/dist/fanout-sidecar-OFWN3NM7.js +0 -74
  703. package/dist/find-BNGBJNKP.js +0 -11
  704. package/dist/forget/index.d.ts +0 -36
  705. package/dist/guards/index.d.ts +0 -34
  706. package/dist/hash-DAJjMsCE.d.ts +0 -72
  707. package/dist/history/index.d.ts +0 -60
  708. package/dist/i18n/index.d.ts +0 -56
  709. package/dist/in/index.d.ts +0 -4
  710. package/dist/index-B9QdHytu.d.ts +0 -123
  711. package/dist/index-DjWbxsjb.d.ts +0 -23579
  712. package/dist/index-qwuNvO2B.d.ts +0 -144
  713. package/dist/indexing/index.d.ts +0 -38
  714. package/dist/issue-NDI4CVZU.js +0 -19
  715. package/dist/lazy/index.d.ts +0 -20
  716. package/dist/ledger-6NDS2EO4.js +0 -42
  717. package/dist/liberate-HN3RIGIP.js +0 -24
  718. package/dist/link-set-SJB2MVJV.js +0 -31
  719. package/dist/materialized-views/index.d.ts +0 -189
  720. package/dist/mime-magic-bBj5OgUC.d.ts +0 -103
  721. package/dist/noydb-BWF6EPIR.js +0 -66
  722. package/dist/on/index.d.ts +0 -4
  723. package/dist/overlay-views/index.d.ts +0 -97
  724. package/dist/periods/index.d.ts +0 -19
  725. package/dist/pod/index.d.ts +0 -62
  726. package/dist/policy-WGNAG5H6.js +0 -41
  727. package/dist/portability/index.d.ts +0 -19
  728. package/dist/post-register-CWKBQRC7.js +0 -55
  729. package/dist/public-envelope-EJLVIFX7.js +0 -32
  730. package/dist/query/index.d.ts +0 -4
  731. package/dist/register-SBIX7TVV.js +0 -23
  732. package/dist/registry-3EQG6OOE.js +0 -18
  733. package/dist/registry-CA327ACV.js +0 -9
  734. package/dist/registry-E7OXOTSV.js +0 -19
  735. package/dist/request-withdrawal-KAH2AAXC.js +0 -31
  736. package/dist/reveal-R3JLHMUF.js +0 -38
  737. package/dist/revoke-IXLOJ3IH.js +0 -24
  738. package/dist/satellites/index.d.ts +0 -4
  739. package/dist/sealed-record/index.d.ts +0 -68
  740. package/dist/session/index.d.ts +0 -43
  741. package/dist/shadow/index.d.ts +0 -14
  742. package/dist/signer-Y46N2GJ3.js +0 -25
  743. package/dist/snapshots/index.d.ts +0 -25
  744. package/dist/stale-Z7IW6RIL.js +0 -14
  745. package/dist/storage-ADNP2UWI.js +0 -23
  746. package/dist/store-coordination-provider-DTDMI6VL.js +0 -142
  747. package/dist/subject-index-CyOgGMJL.d.ts +0 -380
  748. package/dist/sync/index.d.ts +0 -40
  749. package/dist/team/index.d.ts +0 -154
  750. package/dist/tiers/index.d.ts +0 -4
  751. package/dist/to/index.d.ts +0 -4
  752. package/dist/transition-guard-DI-krBsZ.d.ts +0 -165
  753. package/dist/tx/index.d.ts +0 -34
  754. package/dist/ui/index.d.ts +0 -4
  755. package/dist/ulid-DRH25k3y.d.ts +0 -66
  756. package/dist/util/index.d.ts +0 -79
  757. package/dist/validators-BUcli5Nh.d.ts +0 -101
  758. package/dist/vault-diff-Z2DUayMe.d.ts +0 -147
  759. package/dist/verify-JPF2YR5E.js +0 -139
  760. package/dist/walk-XYA2O3LW.js +0 -241
  761. package/dist/with/index.d.ts +0 -37
  762. package/dist/with-materialized-view-BUmzlXue.d.ts +0 -27
  763. package/dist/with-overlayed-view-m4FaXXTO.d.ts +0 -12
  764. package/dist/with-rollup-DEKGI9vb.d.ts +0 -47
  765. package/dist/withdraw-accessible-WLV4MTEN.js +0 -28
  766. /package/dist/{api-TX2EX2FX.js.map → api-YGMINAET.js.map} +0 -0
  767. /package/dist/{backup-R7NTDFKY.js.map → backup-XA5STIYQ.js.map} +0 -0
  768. /package/dist/{chunk-UF362QVH.js.map → chunk-25NDNMQ7.js.map} +0 -0
  769. /package/dist/{chunk-LL2NIVUR.js.map → chunk-2JMMY7HZ.js.map} +0 -0
  770. /package/dist/{chunk-CB7CWSKW.js.map → chunk-3CNQ7FQ3.js.map} +0 -0
  771. /package/dist/{chunk-3QSIU3UT.js.map → chunk-3G4KMVUN.js.map} +0 -0
  772. /package/dist/{chunk-VRIYFLBA.js.map → chunk-3MSQLQNZ.js.map} +0 -0
  773. /package/dist/{chunk-O45M6LDB.js.map → chunk-45ZZLTFH.js.map} +0 -0
  774. /package/dist/{chunk-OVYRLHPE.js.map → chunk-4N5QFSNQ.js.map} +0 -0
  775. /package/dist/{chunk-7BWJHO2A.js.map → chunk-4R4Q64W5.js.map} +0 -0
  776. /package/dist/{chunk-FORYWFN6.js.map → chunk-57V5S7PW.js.map} +0 -0
  777. /package/dist/{chunk-6G5ORS5D.js.map → chunk-5JB73NMC.js.map} +0 -0
  778. /package/dist/{chunk-OXCSVM3B.js.map → chunk-5XIPOCQC.js.map} +0 -0
  779. /package/dist/{chunk-J4LPNIGK.js.map → chunk-5ZOSG3RJ.js.map} +0 -0
  780. /package/dist/{chunk-JJZ2LW6T.js.map → chunk-67TNU77I.js.map} +0 -0
  781. /package/dist/{chunk-P33LUIML.js.map → chunk-6QILBDZU.js.map} +0 -0
  782. /package/dist/{chunk-5YESYH2C.js.map → chunk-7E67FJ33.js.map} +0 -0
  783. /package/dist/{chunk-VQRAIPYF.js.map → chunk-7ITPJFGC.js.map} +0 -0
  784. /package/dist/{chunk-OBKWYKYC.js.map → chunk-7NS43EXZ.js.map} +0 -0
  785. /package/dist/{chunk-FUOE7UUV.js.map → chunk-7QIXUSDQ.js.map} +0 -0
  786. /package/dist/{chunk-ET67AY6B.js.map → chunk-7VSGW5KJ.js.map} +0 -0
  787. /package/dist/{chunk-OHHKHSJP.js.map → chunk-A2Y6YFVN.js.map} +0 -0
  788. /package/dist/{chunk-XH7XP3OL.js.map → chunk-AOVDSIL3.js.map} +0 -0
  789. /package/dist/{chunk-VEAVKDDB.js.map → chunk-ARSAMO24.js.map} +0 -0
  790. /package/dist/{chunk-HY3AUMFI.js.map → chunk-AWB5JZW6.js.map} +0 -0
  791. /package/dist/{chunk-OT76OZL6.js.map → chunk-BCYQA5BK.js.map} +0 -0
  792. /package/dist/{chunk-EOXAAJTY.js.map → chunk-BE7N3AXA.js.map} +0 -0
  793. /package/dist/{chunk-XUBPSPKD.js.map → chunk-BEIRE5K4.js.map} +0 -0
  794. /package/dist/{chunk-ZYJ55N7N.js.map → chunk-BZO4WCJI.js.map} +0 -0
  795. /package/dist/{chunk-TMBXVJKT.js.map → chunk-C3YH34IL.js.map} +0 -0
  796. /package/dist/{chunk-T7WSLRAU.js.map → chunk-C7NTK5I3.js.map} +0 -0
  797. /package/dist/{chunk-KNZB6JMR.js.map → chunk-CB25ONKC.js.map} +0 -0
  798. /package/dist/{chunk-HPWKV3YB.js.map → chunk-CIKY6I4W.js.map} +0 -0
  799. /package/dist/{chunk-TWKKOM55.js.map → chunk-D26JB3LZ.js.map} +0 -0
  800. /package/dist/{chunk-PLS64NCS.js.map → chunk-D3EFFFOL.js.map} +0 -0
  801. /package/dist/{chunk-WZSCE6RM.js.map → chunk-DGH65E7Q.js.map} +0 -0
  802. /package/dist/{chunk-G4JYND6L.js.map → chunk-DIRRS7WP.js.map} +0 -0
  803. /package/dist/{chunk-Y3A5CB5G.js.map → chunk-DMFNPHCX.js.map} +0 -0
  804. /package/dist/{chunk-NUEQU36L.js.map → chunk-ELNBMFOS.js.map} +0 -0
  805. /package/dist/{chunk-QA2KUPCP.js.map → chunk-FQQF23MC.js.map} +0 -0
  806. /package/dist/{chunk-FRP6D2DM.js.map → chunk-FXK4X4BL.js.map} +0 -0
  807. /package/dist/{chunk-5VG4IJR7.js.map → chunk-GA2QHD6P.js.map} +0 -0
  808. /package/dist/{chunk-ICXIFFYZ.js.map → chunk-H44ZE4IE.js.map} +0 -0
  809. /package/dist/{chunk-BUAQ7YI3.js.map → chunk-H6CZSDWK.js.map} +0 -0
  810. /package/dist/{chunk-7P2SDJG3.js.map → chunk-H6HM6CVR.js.map} +0 -0
  811. /package/dist/{chunk-BKARNZJN.js.map → chunk-HFJIGWJC.js.map} +0 -0
  812. /package/dist/{chunk-3OPY6MK2.js.map → chunk-HUS3J5WM.js.map} +0 -0
  813. /package/dist/{chunk-DV4HUP5G.js.map → chunk-IDIV5NVH.js.map} +0 -0
  814. /package/dist/{chunk-DFVUTGT2.js.map → chunk-IGJHJYM6.js.map} +0 -0
  815. /package/dist/{chunk-KJ2BCBTL.js.map → chunk-IP2QBAGS.js.map} +0 -0
  816. /package/dist/{chunk-XGDAPN6M.js.map → chunk-JOQ53DMI.js.map} +0 -0
  817. /package/dist/{chunk-QSFOZUYL.js.map → chunk-K62IUKOD.js.map} +0 -0
  818. /package/dist/{chunk-YCXCR7VG.js.map → chunk-KPGX66PM.js.map} +0 -0
  819. /package/dist/{chunk-YMVQD5Q5.js.map → chunk-L2SNBIV7.js.map} +0 -0
  820. /package/dist/{chunk-2OZXVKVP.js.map → chunk-MCEKIAO4.js.map} +0 -0
  821. /package/dist/{chunk-IVLTXX4W.js.map → chunk-MELR46EF.js.map} +0 -0
  822. /package/dist/{chunk-2OV5NVE7.js.map → chunk-MSPNM2OM.js.map} +0 -0
  823. /package/dist/{chunk-DJ7KIPLV.js.map → chunk-O2DYPAZY.js.map} +0 -0
  824. /package/dist/{chunk-RHK32N73.js.map → chunk-ODJWBC5I.js.map} +0 -0
  825. /package/dist/{chunk-3JXPAHOZ.js.map → chunk-OEAATWH5.js.map} +0 -0
  826. /package/dist/{chunk-6P5XCKSD.js.map → chunk-OFJ5GPNA.js.map} +0 -0
  827. /package/dist/{chunk-4OMCIY6F.js.map → chunk-OOLO4LQG.js.map} +0 -0
  828. /package/dist/{chunk-VJV7GKQK.js.map → chunk-P5RY4ZWD.js.map} +0 -0
  829. /package/dist/{chunk-VWM3DAVB.js.map → chunk-PR5LC5YX.js.map} +0 -0
  830. /package/dist/{chunk-UN4FVIBH.js.map → chunk-PXWVF7MC.js.map} +0 -0
  831. /package/dist/{chunk-XREOISSI.js.map → chunk-Q3XSMOZM.js.map} +0 -0
  832. /package/dist/{chunk-5I35DOHK.js.map → chunk-QLLKLFE2.js.map} +0 -0
  833. /package/dist/{chunk-BQISD5ZV.js.map → chunk-QYPKGVT4.js.map} +0 -0
  834. /package/dist/{chunk-G6XV4H65.js.map → chunk-RKRGDAS7.js.map} +0 -0
  835. /package/dist/{chunk-WIGQB62E.js.map → chunk-SRVQHVNX.js.map} +0 -0
  836. /package/dist/{chunk-VEPTFUJY.js.map → chunk-SYMS4546.js.map} +0 -0
  837. /package/dist/{chunk-2REPHKET.js.map → chunk-TPH5EO6L.js.map} +0 -0
  838. /package/dist/{chunk-U3WZCU7E.js.map → chunk-UFILRICG.js.map} +0 -0
  839. /package/dist/{chunk-RW3Y22MW.js.map → chunk-UTLEAJXC.js.map} +0 -0
  840. /package/dist/{chunk-F4CEK5YM.js.map → chunk-VA4ZWLFY.js.map} +0 -0
  841. /package/dist/{chunk-3MATJ6O4.js.map → chunk-VR24ILCR.js.map} +0 -0
  842. /package/dist/{chunk-TAKWLZZX.js.map → chunk-W5D62AQD.js.map} +0 -0
  843. /package/dist/{chunk-WBJIQSLL.js.map → chunk-WGV4CUZT.js.map} +0 -0
  844. /package/dist/{chunk-HYR4WZZ3.js.map → chunk-X6CMGUAG.js.map} +0 -0
  845. /package/dist/{chunk-GNMXXTMN.js.map → chunk-XFXUTFWQ.js.map} +0 -0
  846. /package/dist/{chunk-QOC3VYL2.js.map → chunk-XHV25KBM.js.map} +0 -0
  847. /package/dist/{chunk-LEJIKBBB.js.map → chunk-YSXEFGND.js.map} +0 -0
  848. /package/dist/{chunk-PS2NEWEX.js.map → chunk-YXOUQ2H7.js.map} +0 -0
  849. /package/dist/{chunk-VWRRVE6D.js.map → chunk-ZP5PL65C.js.map} +0 -0
  850. /package/dist/{classified-marker-H6YSHYNK.js.map → classified-marker-LQWWQNIJ.js.map} +0 -0
  851. /package/dist/{collection-facade-LVD22JLM.js.map → collection-facade-YE2O4J4O.js.map} +0 -0
  852. /package/dist/{computed-EXDMQODG.js.map → computed-W6MVAMWZ.js.map} +0 -0
  853. /package/dist/{dead-filter-HQIE2YG7.js.map → dead-filter-4KXZEB3X.js.map} +0 -0
  854. /package/dist/{delegation-BJP73GAP.js.map → delegation-OPUU3R2E.js.map} +0 -0
  855. /package/dist/{derive-BME7HDWO.js.map → derive-BGUHU663.js.map} +0 -0
  856. /package/dist/{enclave-NHORSWSF.js.map → enclave-VXAQD4XJ.js.map} +0 -0
  857. /package/dist/{executor-FE6X4LFX.js.map → executor-GTVSUUBX.js.map} +0 -0
  858. /package/dist/{executor-KSHKRJXP.js.map → executor-GZWMTOXB.js.map} +0 -0
  859. /package/dist/{executor-ZHTJJICG.js.map → executor-XXGS4S3K.js.map} +0 -0
  860. /package/dist/{export-accessible-DACHM5VT.js.map → export-accessible-BMULIOYB.js.map} +0 -0
  861. /package/dist/{extract-partition-RNENZZ4T.js.map → extract-partition-JUQTWDXR.js.map} +0 -0
  862. /package/dist/{fanout-sidecar-OFWN3NM7.js.map → fanout-sidecar-CKYFH33E.js.map} +0 -0
  863. /package/dist/{find-BNGBJNKP.js.map → find-XRGCNGNN.js.map} +0 -0
  864. /package/dist/{issue-NDI4CVZU.js.map → issue-UB6AA5M6.js.map} +0 -0
  865. /package/dist/{ledger-6NDS2EO4.js.map → ledger-FU6GH5EH.js.map} +0 -0
  866. /package/dist/{liberate-HN3RIGIP.js.map → liberate-YUN7W5QG.js.map} +0 -0
  867. /package/dist/{link-set-SJB2MVJV.js.map → link-set-MNADSH5M.js.map} +0 -0
  868. /package/dist/{noydb-BWF6EPIR.js.map → noydb-6JLBZU4U.js.map} +0 -0
  869. /package/dist/{policy-WGNAG5H6.js.map → policy-JTFOPPUU.js.map} +0 -0
  870. /package/dist/{post-register-CWKBQRC7.js.map → post-register-HAWO3O7O.js.map} +0 -0
  871. /package/dist/{public-envelope-EJLVIFX7.js.map → public-envelope-NJVB7LPA.js.map} +0 -0
  872. /package/dist/{register-SBIX7TVV.js.map → register-VCKOBWKT.js.map} +0 -0
  873. /package/dist/{registry-3EQG6OOE.js.map → registry-72UKJ2L4.js.map} +0 -0
  874. /package/dist/{registry-CA327ACV.js.map → registry-BZFLJNEH.js.map} +0 -0
  875. /package/dist/{registry-E7OXOTSV.js.map → registry-YJEYSYI5.js.map} +0 -0
  876. /package/dist/{request-withdrawal-KAH2AAXC.js.map → request-withdrawal-6MJRMFHF.js.map} +0 -0
  877. /package/dist/{reveal-R3JLHMUF.js.map → reveal-BOY7XYFH.js.map} +0 -0
  878. /package/dist/{revoke-IXLOJ3IH.js.map → revoke-4KUNSVJC.js.map} +0 -0
  879. /package/dist/{signer-Y46N2GJ3.js.map → signer-DDDXP5JD.js.map} +0 -0
  880. /package/dist/{stale-Z7IW6RIL.js.map → stale-NXPT56JA.js.map} +0 -0
  881. /package/dist/{storage-ADNP2UWI.js.map → storage-IR6EEAV2.js.map} +0 -0
  882. /package/dist/{store-coordination-provider-DTDMI6VL.js.map → store-coordination-provider-HPYVFJCV.js.map} +0 -0
  883. /package/dist/{verify-JPF2YR5E.js.map → verify-66RHOW7N.js.map} +0 -0
  884. /package/dist/{walk-XYA2O3LW.js.map → walk-2RWEOCAS.js.map} +0 -0
  885. /package/dist/{withdraw-accessible-WLV4MTEN.js.map → withdraw-accessible-CLMZEHQT.js.map} +0 -0
@@ -0,0 +1,291 @@
1
+ import {
2
+ sha256Hex
3
+ } from "./chunk-HUS3J5WM.js";
4
+ import {
5
+ MaterializedViewSourceUnknownError
6
+ } from "./chunk-FH542DDY.js";
7
+
8
+ // src/with-formula/materialized-views/dependency-analyzer.ts
9
+ function analyzeDependencies(query) {
10
+ const deps = /* @__PURE__ */ new Set();
11
+ const plan = query._plan();
12
+ const ctx = query._joinContext();
13
+ if (ctx?.leftCollection) {
14
+ deps.add(ctx.leftCollection);
15
+ }
16
+ for (const leg of plan.joins) {
17
+ deps.add(leg.target);
18
+ }
19
+ for (const clause of plan.clauses) {
20
+ if (clause.type === "crossJoin") {
21
+ deps.add(clause.target);
22
+ }
23
+ }
24
+ walkClausesForJoins(plan, deps, ctx);
25
+ return deps;
26
+ }
27
+ function walkClausesForJoins(plan, deps, ctx) {
28
+ void ctx;
29
+ for (const clause of plan.clauses) {
30
+ if (clause.type === "group") {
31
+ }
32
+ }
33
+ }
34
+ function summarizeQueryPlan(query) {
35
+ const plan = query._plan();
36
+ const ctx = query._joinContext();
37
+ return JSON.stringify({
38
+ root: ctx?.leftCollection ?? null,
39
+ clauses: plan.clauses.map((c) => {
40
+ if (c.type === "crossJoin") {
41
+ return {
42
+ type: "crossJoin",
43
+ target: c.target,
44
+ as: c.as,
45
+ // Inline on: callback: use sentinel — drift detection disabled for this MV
46
+ onPredicateName: c.onPredicateName ?? (c.on ? "[inline]" : null),
47
+ maxRows: c.maxRows ?? null
48
+ };
49
+ }
50
+ return c;
51
+ }),
52
+ orderBy: plan.orderBy,
53
+ limit: plan.limit ?? null,
54
+ offset: plan.offset,
55
+ joins: plan.joins.map((j) => ({ field: j.field, as: j.as, target: j.target, mode: j.mode }))
56
+ });
57
+ }
58
+ function summarizeUnionPlan(spec) {
59
+ const arms = (spec.unionSources ?? []).map((s) => {
60
+ const joins = s.join?.length ? `[${s.join.map((j) => `${j.field}\u2192${j.as}`).join(";")}]` : "";
61
+ return `${s.collection}${joins}`;
62
+ }).join(",");
63
+ const groupBy = Array.isArray(spec.groupBy) ? [...spec.groupBy].sort().join(",") : typeof spec.groupBy === "string" ? spec.groupBy : "";
64
+ const aggKeys = spec.aggregate ? Object.keys(spec.aggregate).sort().join(",") : "";
65
+ const moneyKeys = spec.moneyFields ? Object.keys(spec.moneyFields).sort().join(",") : "";
66
+ return `union(${arms})|groupBy(${groupBy})|aggregate(${aggKeys})|money(${moneyKeys})`;
67
+ }
68
+
69
+ // src/with-formula/materialized-views/query-hash.ts
70
+ async function computeQueryHash(mvName, dependencies, queryPlanSummary) {
71
+ const canonical = JSON.stringify({
72
+ mvName,
73
+ dependencies: [...dependencies].sort(),
74
+ queryPlanSummary
75
+ });
76
+ const bytes = new TextEncoder().encode(canonical);
77
+ return sha256Hex(bytes);
78
+ }
79
+ function canonicalizeQueryPlan(plan) {
80
+ return JSON.stringify(plan, (_key, value) => {
81
+ if (value && typeof value === "object" && !Array.isArray(value)) {
82
+ const sorted = {};
83
+ for (const k of Object.keys(value).sort()) {
84
+ sorted[k] = value[k];
85
+ }
86
+ return sorted;
87
+ }
88
+ return value;
89
+ });
90
+ }
91
+
92
+ // src/with-formula/materialized-views/registry.ts
93
+ var WHOLE_RECORD = "*";
94
+ var MaterializedViewRegistry = class {
95
+ /** Keyed by `spec.name`. */
96
+ _byName = /* @__PURE__ */ new Map();
97
+ /** Keyed by dependency source-collection → MVs that depend on it. */
98
+ _bySource = /* @__PURE__ */ new Map();
99
+ /**
100
+ * Register an MV. Invokes `spec.query()` once at registration time to
101
+ * read the plan + join context; the resulting `Query<T>` is discarded
102
+ * after dependency extraction. `vault.collection(...)` must therefore
103
+ * be functional by the time this runs — typically wired from
104
+ * `Vault._initMaterializedViews` after collection bootstrap.
105
+ *
106
+ * Throws `MaterializedViewSourceUnknownError` if the analyzer
107
+ * surfaces a dependency the vault doesn't know about (when a
108
+ * `knownCollections` checker is supplied).
109
+ */
110
+ async register(spec, db, options) {
111
+ const dbForQuery = spec.predicates ? wrapDbWithPredicates(db, spec.predicates) : db;
112
+ let dependencies;
113
+ let queryPlanSummary;
114
+ let qAny = null;
115
+ let isQuery = false;
116
+ if (spec.unionSources) {
117
+ dependencies = new Set(spec.unionSources.map((s) => s.collection));
118
+ if (spec.sources) for (const s of spec.sources) dependencies.add(s);
119
+ queryPlanSummary = summarizeUnionPlan(spec);
120
+ } else {
121
+ const q = spec.query(dbForQuery);
122
+ qAny = q;
123
+ isQuery = typeof qAny._plan === "function";
124
+ if (isQuery) {
125
+ dependencies = analyzeDependencies(qAny);
126
+ queryPlanSummary = summarizeQueryPlan(qAny);
127
+ const predicateRefs = extractPredicateRefs(qAny._plan());
128
+ if (predicateRefs.length > 0) {
129
+ queryPlanSummary = JSON.stringify({ plan: queryPlanSummary, predicates: predicateRefs });
130
+ }
131
+ if (spec.sources) for (const s of spec.sources) dependencies.add(s);
132
+ } else {
133
+ if (!spec.sources || spec.sources.length === 0) {
134
+ throw new Error(
135
+ `withMaterializedView "${spec.name}": query() returned an aggregate (Aggregation or GroupedAggregation) but no \`sources\` field is declared. The dependency analyzer cannot walk through groupBy().aggregate() back to the source \u2014 declare sources: [...] explicitly.`
136
+ );
137
+ }
138
+ dependencies = new Set(spec.sources);
139
+ queryPlanSummary = JSON.stringify({ aggregate: true, sources: [...spec.sources].sort() });
140
+ }
141
+ }
142
+ if (options?.knownCollections) {
143
+ for (const dep of dependencies) {
144
+ if (!options.knownCollections(dep)) {
145
+ throw new MaterializedViewSourceUnknownError(spec.name, dep);
146
+ }
147
+ }
148
+ }
149
+ const outputCollection = spec.output?.collection ?? spec.name;
150
+ const queryHash = await computeQueryHash(spec.name, dependencies, queryPlanSummary);
151
+ const partitionClauses = [];
152
+ const partitionField = spec.output?.partition?.field;
153
+ if (partitionField !== void 0 && isQuery) {
154
+ const plan = qAny._plan();
155
+ for (const clause of plan.clauses) {
156
+ if (isFieldClauseOnField(clause, partitionField)) partitionClauses.push(clause);
157
+ }
158
+ }
159
+ const grain = spec.unionSources || isQuery ? "record" : "aggregate";
160
+ const reg = { spec, outputCollection, dependencies, queryHash, partitionClauses, grain };
161
+ this._byName.set(spec.name, reg);
162
+ for (const dep of dependencies) {
163
+ const arr = this._bySource.get(dep);
164
+ if (arr) arr.push(reg);
165
+ else this._bySource.set(dep, [reg]);
166
+ }
167
+ }
168
+ /** All MVs that depend on `source`, in registration order. */
169
+ mvsForSource(source) {
170
+ return this._bySource.get(source) ?? [];
171
+ }
172
+ /** Single MV by name, or `undefined`. */
173
+ byName(name) {
174
+ return this._byName.get(name);
175
+ }
176
+ /** Iterate over every registered MV. */
177
+ all() {
178
+ return [...this._byName.values()];
179
+ }
180
+ /**
181
+ * Graph edges for #638 Task 2: one `'mv'` edge per registered MV — target
182
+ * = the output collection (a `WHOLE_RECORD` artifact node), sources =
183
+ * every dependency (also `WHOLE_RECORD` nodes). Same-collection edges
184
+ * (`dep === outputCollection`) are skipped IFF the MV declares an
185
+ * `output.partition` discriminator AND the query has a where-clause that
186
+ * provably excludes the partition value (`partitionDisjoint`) — the SAME
187
+ * condition the old local DFS used. Grain comes from the registration-time
188
+ * `RegisteredMV.grain`.
189
+ */
190
+ edges() {
191
+ const out = [];
192
+ for (const reg of this._byName.values()) {
193
+ const sources = [];
194
+ for (const dep of reg.dependencies) {
195
+ if (dep === reg.outputCollection && partitionDisjoint(reg)) continue;
196
+ sources.push({ collection: dep, field: WHOLE_RECORD });
197
+ }
198
+ if (sources.length === 0) continue;
199
+ out.push({ target: { collection: reg.outputCollection, field: WHOLE_RECORD }, sources, kind: "mv", grain: reg.grain });
200
+ }
201
+ return out;
202
+ }
203
+ /**
204
+ * Cycle detection, delegated to `ViaGraph.assertAcyclic()` (#638 Task 2 —
205
+ * retires the local DFS). `graph` is the caller's shared per-vault graph,
206
+ * ALREADY carrying this registry's `edges()` AND `DerivationRegistry`'s
207
+ * (registered by the caller — see `Vault._initMaterializedViews`, which
208
+ * runs after `_initDerivations`, so a pure-derivation cycle already threw
209
+ * `DerivationCycleError` there; any cycle surfacing here necessarily
210
+ * touches an MV edge). Throws `MaterializedViewCycleError` — SAME class as
211
+ * before.
212
+ */
213
+ validate(graph) {
214
+ graph.assertAcyclic();
215
+ }
216
+ };
217
+ function isFieldClauseOnField(clause, field) {
218
+ return clause.type === "field" && clause.field === field;
219
+ }
220
+ function wrapDbWithPredicates(db, predicates) {
221
+ const map = /* @__PURE__ */ new Map();
222
+ for (const [name, decl] of Object.entries(predicates)) {
223
+ map.set(name, {
224
+ hash: decl.hash,
225
+ fn: decl.fn
226
+ });
227
+ }
228
+ return {
229
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
230
+ collection(name) {
231
+ const c = db.collection(name);
232
+ return new Proxy(c, {
233
+ get(target, prop, receiver) {
234
+ if (prop === "query") {
235
+ return (...args) => {
236
+ const q = target.query(...args);
237
+ if (q && typeof q._withPredicates === "function") {
238
+ return q._withPredicates(map);
239
+ }
240
+ return q;
241
+ };
242
+ }
243
+ return Reflect.get(target, prop, receiver);
244
+ }
245
+ });
246
+ }
247
+ };
248
+ }
249
+ function extractPredicateRefs(plan) {
250
+ const refs = [];
251
+ const walk = (clauses) => {
252
+ for (const c of clauses) {
253
+ if (c.type === "wherePredicate") {
254
+ refs.push({ name: c.name, predicateHash: c.predicateHash, ctxHash: c.ctxHash });
255
+ } else if (c.type === "group") {
256
+ walk(c.clauses);
257
+ }
258
+ }
259
+ };
260
+ walk(plan.clauses);
261
+ refs.sort((a, b) => {
262
+ if (a.name !== b.name) return a.name < b.name ? -1 : 1;
263
+ if (a.predicateHash !== b.predicateHash) return a.predicateHash < b.predicateHash ? -1 : 1;
264
+ return a.ctxHash < b.ctxHash ? -1 : a.ctxHash > b.ctxHash ? 1 : 0;
265
+ });
266
+ return refs;
267
+ }
268
+ function partitionDisjoint(reg) {
269
+ const partition = reg.spec.output?.partition;
270
+ if (partition === void 0) return false;
271
+ const value = partition.value;
272
+ for (const c of reg.partitionClauses) {
273
+ if (c.op === "==" && c.value !== value) return true;
274
+ if (c.op === "!=" && c.value === value) return true;
275
+ if (c.op === "in" && Array.isArray(c.value)) {
276
+ const list = c.value;
277
+ if (!list.includes(value)) return true;
278
+ }
279
+ }
280
+ return false;
281
+ }
282
+
283
+ export {
284
+ analyzeDependencies,
285
+ summarizeQueryPlan,
286
+ computeQueryHash,
287
+ canonicalizeQueryPlan,
288
+ MaterializedViewRegistry,
289
+ wrapDbWithPredicates
290
+ };
291
+ //# sourceMappingURL=chunk-3G4KMVUN.js.map
@@ -0,0 +1,74 @@
1
+ import {
2
+ ReadOnlyFrameError
3
+ } from "./chunk-FH542DDY.js";
4
+
5
+ // src/with-fork/shadow/vault-frame.ts
6
+ var VaultFrame = class {
7
+ constructor(vault) {
8
+ this.vault = vault;
9
+ }
10
+ vault;
11
+ /**
12
+ * Get a read-only view of one collection. The returned
13
+ * {@link CollectionFrame} delegates all reads to the underlying
14
+ * live collection — cache, locale handling, and validation all
15
+ * work identically to the live collection.
16
+ */
17
+ collection(name) {
18
+ return new CollectionFrame(this.vault.collection(name), name);
19
+ }
20
+ /** List all collection names visible in the underlying vault. */
21
+ async collections() {
22
+ return this.vault.collections();
23
+ }
24
+ };
25
+ var CollectionFrame = class {
26
+ constructor(inner, name) {
27
+ this.inner = inner;
28
+ this.name = name;
29
+ }
30
+ inner;
31
+ name;
32
+ // ── reads (delegated) ──────────────────────────────────────────────
33
+ get(id, locale) {
34
+ return this.inner.get(id, locale);
35
+ }
36
+ list(locale) {
37
+ return this.inner.list(locale);
38
+ }
39
+ query(predicate) {
40
+ return predicate !== void 0 ? this.inner.query(predicate) : this.inner.query();
41
+ }
42
+ /** History reads — allowed (history is read-only by nature). */
43
+ history(...args) {
44
+ return this.inner.history(...args);
45
+ }
46
+ getVersion(id, version) {
47
+ return this.inner.getVersion(id, version);
48
+ }
49
+ // ── write guards ──────────────────────────────────────────────────
50
+ async put(_id, _record) {
51
+ throw new ReadOnlyFrameError("put");
52
+ }
53
+ async delete(_id) {
54
+ throw new ReadOnlyFrameError("delete");
55
+ }
56
+ async update(_id, _patch) {
57
+ throw new ReadOnlyFrameError("update");
58
+ }
59
+ async revert(_id, _version) {
60
+ throw new ReadOnlyFrameError("revert");
61
+ }
62
+ async putMany(_entries) {
63
+ throw new ReadOnlyFrameError("putMany");
64
+ }
65
+ async deleteMany(_ids) {
66
+ throw new ReadOnlyFrameError("deleteMany");
67
+ }
68
+ };
69
+
70
+ export {
71
+ VaultFrame,
72
+ CollectionFrame
73
+ };
74
+ //# sourceMappingURL=chunk-3MSQLQNZ.js.map
@@ -0,0 +1,38 @@
1
+ import {
2
+ NoydbError
3
+ } from "./chunk-FH542DDY.js";
4
+
5
+ // src/with-formula/computed/index.ts
6
+ var ComputedFieldError = class extends NoydbError {
7
+ constructor(field, id, cause) {
8
+ super(
9
+ "COMPUTED_FIELD",
10
+ `computed field "${field}" threw for record "${id}": ` + (cause instanceof Error ? cause.message : String(cause))
11
+ );
12
+ this.field = field;
13
+ this.id = id;
14
+ this.cause = cause;
15
+ this.name = "ComputedFieldError";
16
+ }
17
+ field;
18
+ id;
19
+ cause;
20
+ };
21
+ function evalComputedFields(record, computed, id) {
22
+ const out = { ...record };
23
+ for (const [field, entry] of Object.entries(computed)) {
24
+ const fn = typeof entry === "function" ? entry : entry.fn;
25
+ try {
26
+ out[field] = fn(out);
27
+ } catch (cause) {
28
+ throw new ComputedFieldError(field, id, cause);
29
+ }
30
+ }
31
+ return out;
32
+ }
33
+
34
+ export {
35
+ ComputedFieldError,
36
+ evalComputedFields
37
+ };
38
+ //# sourceMappingURL=chunk-45ZZLTFH.js.map
@@ -0,0 +1,111 @@
1
+ // src/with-commit/crdt/crdt.ts
2
+ function resolveCrdtSnapshot(state) {
3
+ switch (state._crdt) {
4
+ case "lww-map": {
5
+ const result = {};
6
+ for (const [field, reg] of Object.entries(state.fields)) {
7
+ result[field] = reg.v;
8
+ }
9
+ return result;
10
+ }
11
+ case "rga": {
12
+ const dead = new Set(state.tombstones);
13
+ return state.items.filter((i) => !dead.has(i.nid)).map((i) => i.v);
14
+ }
15
+ case "yjs":
16
+ return state.update;
17
+ }
18
+ }
19
+ function mergeCrdtStates(a, b) {
20
+ if (a._crdt !== b._crdt) return a;
21
+ switch (a._crdt) {
22
+ case "lww-map":
23
+ return mergeLwwMap(a, b);
24
+ case "rga":
25
+ return mergeRga(a, b);
26
+ case "yjs":
27
+ return a;
28
+ }
29
+ }
30
+ function mergeLwwMap(a, b) {
31
+ const merged = {};
32
+ const allFields = /* @__PURE__ */ new Set([...Object.keys(a.fields), ...Object.keys(b.fields)]);
33
+ for (const field of allFields) {
34
+ const fa = a.fields[field];
35
+ const fb = b.fields[field];
36
+ if (!fa) {
37
+ merged[field] = fb;
38
+ } else if (!fb) {
39
+ merged[field] = fa;
40
+ } else {
41
+ merged[field] = fa.ts >= fb.ts ? fa : fb;
42
+ }
43
+ }
44
+ return { _crdt: "lww-map", fields: merged };
45
+ }
46
+ function mergeRga(a, b) {
47
+ const allTombstones = /* @__PURE__ */ new Set([...a.tombstones, ...b.tombstones]);
48
+ const seenNids = new Set(a.items.map((i) => i.nid));
49
+ const merged = [
50
+ ...a.items,
51
+ ...b.items.filter((i) => !seenNids.has(i.nid))
52
+ ];
53
+ return { _crdt: "rga", items: merged, tombstones: [...allTombstones] };
54
+ }
55
+ function buildLwwMapState(record, existing, now) {
56
+ const fields = {};
57
+ for (const [field, value] of Object.entries(record)) {
58
+ fields[field] = { v: value, ts: now };
59
+ }
60
+ if (existing) {
61
+ for (const [field, reg] of Object.entries(existing.fields)) {
62
+ if (!(field in fields)) {
63
+ fields[field] = reg;
64
+ }
65
+ }
66
+ }
67
+ return { _crdt: "lww-map", fields };
68
+ }
69
+ function buildRgaState(arr, existing, generateNid) {
70
+ const existingByValue = /* @__PURE__ */ new Map();
71
+ if (existing) {
72
+ for (const item of existing.items) {
73
+ const key = JSON.stringify(item.v);
74
+ if (!existingByValue.has(key)) existingByValue.set(key, item);
75
+ }
76
+ }
77
+ const usedNids = /* @__PURE__ */ new Set();
78
+ const newItems = [];
79
+ for (const el of arr) {
80
+ const key = JSON.stringify(el);
81
+ const match = existingByValue.get(key);
82
+ if (match && !usedNids.has(match.nid)) {
83
+ newItems.push(match);
84
+ usedNids.add(match.nid);
85
+ } else {
86
+ const nid = generateNid();
87
+ newItems.push({ nid, v: el });
88
+ usedNids.add(nid);
89
+ }
90
+ }
91
+ const tombstones = existing ? [...existing.tombstones] : [];
92
+ const extraItems = [];
93
+ if (existing) {
94
+ for (const item of existing.items) {
95
+ if (!usedNids.has(item.nid)) {
96
+ if (!tombstones.includes(item.nid)) tombstones.push(item.nid);
97
+ extraItems.push(item);
98
+ }
99
+ }
100
+ }
101
+ const items = [...newItems, ...extraItems];
102
+ return { _crdt: "rga", items, tombstones };
103
+ }
104
+
105
+ export {
106
+ resolveCrdtSnapshot,
107
+ mergeCrdtStates,
108
+ buildLwwMapState,
109
+ buildRgaState
110
+ };
111
+ //# sourceMappingURL=chunk-4GPE63GU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/with-commit/crdt/crdt.ts"],"sourcesContent":["/**\n * CRDT state types, merge logic, and build helpers.\n * per-collection CRDT mode: 'lww-map' | 'rga' | 'yjs'\n *\n * The encrypted envelope wraps the CRDT state (not the resolved snapshot).\n * Adapters only ever see ciphertext. `collection.get(id)` returns the\n * resolved snapshot; `collection.getRaw(id)` returns the full CRDT state.\n */\n\n// Hoisted to kernel/types.ts (C3 — enclave self-containment: record-codec.ts\n// consumes CrdtState/CrdtMode as spine-owned contract types; LwwMapState/\n// RgaState/YjsState were hoisted alongside them to break the types.ts ↔\n// crdt.ts cycle — #667). Re-exported here so existing importers of this\n// module are unaffected.\nimport type { CrdtState, LwwMapState, RgaState } from '../../kernel/types.js'\nexport type { CrdtMode, CrdtState, LwwMapState, RgaState, YjsState } from '../../kernel/types.js'\n\n// ─── Snapshot resolution ──────────────────────────────────────────────\n\n/**\n * Resolve a CRDT state into the end-user record snapshot.\n *\n * - `lww-map` → `Record<string, unknown>` (field values extracted from registers)\n * - `rga` → `unknown[]` (non-tombstoned items in insertion order)\n * - `yjs` → `string` (base64 update blob; use @noy-db/yjs for a Y.Doc)\n */\nexport function resolveCrdtSnapshot(state: CrdtState): unknown {\n switch (state._crdt) {\n case 'lww-map': {\n const result: Record<string, unknown> = {}\n for (const [field, reg] of Object.entries(state.fields)) {\n result[field] = reg.v\n }\n return result\n }\n case 'rga': {\n const dead = new Set(state.tombstones)\n return state.items.filter(i => !dead.has(i.nid)).map(i => i.v)\n }\n case 'yjs':\n return state.update\n }\n}\n\n// ─── CRDT merge ───────────────────────────────────────────────────────\n\n/**\n * Merge two CRDT states produced by concurrent writes.\n * Called by the collection-level conflict resolver registered with SyncEngine.\n *\n * For `yjs`: core cannot merge Yjs without importing the `yjs` package.\n * The caller must handle that case by falling back to the higher-`_v` envelope.\n */\nexport function mergeCrdtStates(a: CrdtState, b: CrdtState): CrdtState {\n // Mismatched modes shouldn't happen in practice — same collection, same schema.\n if (a._crdt !== b._crdt) return a\n\n switch (a._crdt) {\n case 'lww-map':\n return mergeLwwMap(a, b as LwwMapState)\n case 'rga':\n return mergeRga(a, b as RgaState)\n case 'yjs':\n // Signal to caller that Yjs merge is needed externally\n return a\n }\n}\n\nfunction mergeLwwMap(a: LwwMapState, b: LwwMapState): LwwMapState {\n const merged: Record<string, { v: unknown; ts: string }> = {}\n const allFields = new Set([...Object.keys(a.fields), ...Object.keys(b.fields)])\n for (const field of allFields) {\n const fa = a.fields[field]\n const fb = b.fields[field]\n if (!fa) { merged[field] = fb! }\n else if (!fb) { merged[field] = fa }\n else { merged[field] = fa.ts >= fb.ts ? fa : fb }\n }\n return { _crdt: 'lww-map', fields: merged }\n}\n\nfunction mergeRga(a: RgaState, b: RgaState): RgaState {\n // Union tombstones from both sides\n const allTombstones = new Set([...a.tombstones, ...b.tombstones])\n // Union items by nid: start with a's ordering, append b-only items\n const seenNids = new Set(a.items.map(i => i.nid))\n const merged: Array<{ nid: string; v: unknown }> = [\n ...a.items,\n ...b.items.filter(i => !seenNids.has(i.nid)),\n ]\n return { _crdt: 'rga', items: merged, tombstones: [...allTombstones] }\n}\n\n// ─── Build helpers ────────────────────────────────────────────────────\n\n/**\n * Build (or update) an lww-map state from a new record.\n *\n * All fields in the new record win at timestamp `now`.\n * Fields present in the existing state but absent from the new record\n * are preserved (they were written by another device).\n */\nexport function buildLwwMapState(\n record: Record<string, unknown>,\n existing: LwwMapState | undefined,\n now: string,\n): LwwMapState {\n const fields: Record<string, { v: unknown; ts: string }> = {}\n\n // New record fields all get the current timestamp — this device wins for these\n for (const [field, value] of Object.entries(record)) {\n fields[field] = { v: value, ts: now }\n }\n\n // Preserve fields from the existing state that aren't in the new record\n if (existing) {\n for (const [field, reg] of Object.entries(existing.fields)) {\n if (!(field in fields)) {\n fields[field] = reg\n }\n }\n }\n\n return { _crdt: 'lww-map', fields }\n}\n\n/**\n * Build (or update) an RGA state from a new array.\n *\n * Existing items are matched to new elements by deep-equality of their `v`.\n * Unmatched existing items are tombstoned. New elements that have no existing\n * match get a fresh NID via `generateNid()`.\n */\nexport function buildRgaState(\n arr: unknown[],\n existing: RgaState | undefined,\n generateNid: () => string,\n): RgaState {\n // Build an index from JSON(v) → existing item so we can match by value\n const existingByValue = new Map<string, { nid: string; v: unknown }>()\n if (existing) {\n for (const item of existing.items) {\n // Only add first occurrence per value to avoid double-matching\n const key = JSON.stringify(item.v)\n if (!existingByValue.has(key)) existingByValue.set(key, item)\n }\n }\n\n const usedNids = new Set<string>()\n const newItems: Array<{ nid: string; v: unknown }> = []\n\n for (const el of arr) {\n const key = JSON.stringify(el)\n const match = existingByValue.get(key)\n if (match && !usedNids.has(match.nid)) {\n // Reuse existing NID to preserve cross-device identity\n newItems.push(match)\n usedNids.add(match.nid)\n } else {\n // New element — assign a fresh NID\n const nid = generateNid()\n newItems.push({ nid, v: el })\n usedNids.add(nid)\n }\n }\n\n // Elements in the existing state that aren't in the new array → tombstone.\n // Tombstoned items are kept in the items array to preserve ordering for\n // cross-device merge — the resolved snapshot filters them out.\n const tombstones: string[] = existing ? [...existing.tombstones] : []\n const extraItems: Array<{ nid: string; v: unknown }> = []\n if (existing) {\n for (const item of existing.items) {\n if (!usedNids.has(item.nid)) {\n if (!tombstones.includes(item.nid)) tombstones.push(item.nid)\n extraItems.push(item) // retain in items for ordering\n }\n }\n }\n\n // Final items: live items in new order, then tombstoned extras at the end\n const items = [...newItems, ...extraItems]\n\n return { _crdt: 'rga', items, tombstones }\n}\n"],"mappings":";AA0BO,SAAS,oBAAoB,OAA2B;AAC7D,UAAQ,MAAM,OAAO;AAAA,IACnB,KAAK,WAAW;AACd,YAAM,SAAkC,CAAC;AACzC,iBAAW,CAAC,OAAO,GAAG,KAAK,OAAO,QAAQ,MAAM,MAAM,GAAG;AACvD,eAAO,KAAK,IAAI,IAAI;AAAA,MACtB;AACA,aAAO;AAAA,IACT;AAAA,IACA,KAAK,OAAO;AACV,YAAM,OAAO,IAAI,IAAI,MAAM,UAAU;AACrC,aAAO,MAAM,MAAM,OAAO,OAAK,CAAC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,OAAK,EAAE,CAAC;AAAA,IAC/D;AAAA,IACA,KAAK;AACH,aAAO,MAAM;AAAA,EACjB;AACF;AAWO,SAAS,gBAAgB,GAAc,GAAyB;AAErE,MAAI,EAAE,UAAU,EAAE,MAAO,QAAO;AAEhC,UAAQ,EAAE,OAAO;AAAA,IACf,KAAK;AACH,aAAO,YAAY,GAAG,CAAgB;AAAA,IACxC,KAAK;AACH,aAAO,SAAS,GAAG,CAAa;AAAA,IAClC,KAAK;AAEH,aAAO;AAAA,EACX;AACF;AAEA,SAAS,YAAY,GAAgB,GAA6B;AAChE,QAAM,SAAqD,CAAC;AAC5D,QAAM,YAAY,oBAAI,IAAI,CAAC,GAAG,OAAO,KAAK,EAAE,MAAM,GAAG,GAAG,OAAO,KAAK,EAAE,MAAM,CAAC,CAAC;AAC9E,aAAW,SAAS,WAAW;AAC7B,UAAM,KAAK,EAAE,OAAO,KAAK;AACzB,UAAM,KAAK,EAAE,OAAO,KAAK;AACzB,QAAI,CAAC,IAAI;AAAE,aAAO,KAAK,IAAI;AAAA,IAAI,WACtB,CAAC,IAAI;AAAE,aAAO,KAAK,IAAI;AAAA,IAAG,OAC9B;AAAE,aAAO,KAAK,IAAI,GAAG,MAAM,GAAG,KAAK,KAAK;AAAA,IAAG;AAAA,EAClD;AACA,SAAO,EAAE,OAAO,WAAW,QAAQ,OAAO;AAC5C;AAEA,SAAS,SAAS,GAAa,GAAuB;AAEpD,QAAM,gBAAgB,oBAAI,IAAI,CAAC,GAAG,EAAE,YAAY,GAAG,EAAE,UAAU,CAAC;AAEhE,QAAM,WAAW,IAAI,IAAI,EAAE,MAAM,IAAI,OAAK,EAAE,GAAG,CAAC;AAChD,QAAM,SAA6C;AAAA,IACjD,GAAG,EAAE;AAAA,IACL,GAAG,EAAE,MAAM,OAAO,OAAK,CAAC,SAAS,IAAI,EAAE,GAAG,CAAC;AAAA,EAC7C;AACA,SAAO,EAAE,OAAO,OAAO,OAAO,QAAQ,YAAY,CAAC,GAAG,aAAa,EAAE;AACvE;AAWO,SAAS,iBACd,QACA,UACA,KACa;AACb,QAAM,SAAqD,CAAC;AAG5D,aAAW,CAAC,OAAO,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACnD,WAAO,KAAK,IAAI,EAAE,GAAG,OAAO,IAAI,IAAI;AAAA,EACtC;AAGA,MAAI,UAAU;AACZ,eAAW,CAAC,OAAO,GAAG,KAAK,OAAO,QAAQ,SAAS,MAAM,GAAG;AAC1D,UAAI,EAAE,SAAS,SAAS;AACtB,eAAO,KAAK,IAAI;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,WAAW,OAAO;AACpC;AASO,SAAS,cACd,KACA,UACA,aACU;AAEV,QAAM,kBAAkB,oBAAI,IAAyC;AACrE,MAAI,UAAU;AACZ,eAAW,QAAQ,SAAS,OAAO;AAEjC,YAAM,MAAM,KAAK,UAAU,KAAK,CAAC;AACjC,UAAI,CAAC,gBAAgB,IAAI,GAAG,EAAG,iBAAgB,IAAI,KAAK,IAAI;AAAA,IAC9D;AAAA,EACF;AAEA,QAAM,WAAW,oBAAI,IAAY;AACjC,QAAM,WAA+C,CAAC;AAEtD,aAAW,MAAM,KAAK;AACpB,UAAM,MAAM,KAAK,UAAU,EAAE;AAC7B,UAAM,QAAQ,gBAAgB,IAAI,GAAG;AACrC,QAAI,SAAS,CAAC,SAAS,IAAI,MAAM,GAAG,GAAG;AAErC,eAAS,KAAK,KAAK;AACnB,eAAS,IAAI,MAAM,GAAG;AAAA,IACxB,OAAO;AAEL,YAAM,MAAM,YAAY;AACxB,eAAS,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC;AAC5B,eAAS,IAAI,GAAG;AAAA,IAClB;AAAA,EACF;AAKA,QAAM,aAAuB,WAAW,CAAC,GAAG,SAAS,UAAU,IAAI,CAAC;AACpE,QAAM,aAAiD,CAAC;AACxD,MAAI,UAAU;AACZ,eAAW,QAAQ,SAAS,OAAO;AACjC,UAAI,CAAC,SAAS,IAAI,KAAK,GAAG,GAAG;AAC3B,YAAI,CAAC,WAAW,SAAS,KAAK,GAAG,EAAG,YAAW,KAAK,KAAK,GAAG;AAC5D,mBAAW,KAAK,IAAI;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AAGA,QAAM,QAAQ,CAAC,GAAG,UAAU,GAAG,UAAU;AAEzC,SAAO,EAAE,OAAO,OAAO,OAAO,WAAW;AAC3C;","names":[]}
@@ -0,0 +1,150 @@
1
+ import {
2
+ openEnvelopeJson
3
+ } from "./chunk-QQJXBZCO.js";
4
+ import {
5
+ encrypt
6
+ } from "./chunk-HUS3J5WM.js";
7
+ import {
8
+ NOYDB_FORMAT_VERSION
9
+ } from "./chunk-CKZW6P5V.js";
10
+ import {
11
+ ConflictError,
12
+ USER_ENVELOPE_COLLECTION,
13
+ USER_ENVELOPE_MAX_BYTES,
14
+ UserEnvelopeOversizedError
15
+ } from "./chunk-FH542DDY.js";
16
+
17
+ // src/with-party/directory/storage.ts
18
+ var META_COLLECTION = "_meta";
19
+ var DIRECTORY_RECORD_ID = "directory";
20
+ async function readDirectoryConfig(store, vault) {
21
+ const envelope = await store.get(vault, META_COLLECTION, DIRECTORY_RECORD_ID);
22
+ if (!envelope) return void 0;
23
+ try {
24
+ const parsed = JSON.parse(envelope._data);
25
+ if (!isDirectoryConfig(parsed)) return void 0;
26
+ return parsed;
27
+ } catch {
28
+ return void 0;
29
+ }
30
+ }
31
+ async function persistDirectoryConfig(store, vault, config) {
32
+ const envelope = {
33
+ _noydb: NOYDB_FORMAT_VERSION,
34
+ _v: 1,
35
+ _ts: (/* @__PURE__ */ new Date()).toISOString(),
36
+ _iv: "",
37
+ _data: JSON.stringify({ enabled: config.enabled })
38
+ };
39
+ await store.put(vault, META_COLLECTION, DIRECTORY_RECORD_ID, envelope);
40
+ }
41
+ function isDirectoryConfig(x) {
42
+ if (x === null || typeof x !== "object") return false;
43
+ if (!("enabled" in x)) return false;
44
+ return typeof x.enabled === "boolean";
45
+ }
46
+
47
+ // src/with-party/directory/visibility.ts
48
+ var VISIBILITY_RECORD_PREFIX = "visibility/";
49
+ function visibilityRecordId(keyringId) {
50
+ return VISIBILITY_RECORD_PREFIX + keyringId;
51
+ }
52
+ async function readUserVisibility(store, vault, keyringId) {
53
+ const envelope = await store.get(vault, META_COLLECTION, visibilityRecordId(keyringId));
54
+ if (!envelope) return void 0;
55
+ try {
56
+ const parsed = JSON.parse(envelope._data);
57
+ if (!isUserVisibility(parsed)) return void 0;
58
+ return parsed;
59
+ } catch {
60
+ return void 0;
61
+ }
62
+ }
63
+ async function persistUserVisibility(store, vault, keyringId, visibility) {
64
+ const envelope = {
65
+ _noydb: NOYDB_FORMAT_VERSION,
66
+ _v: 1,
67
+ _ts: (/* @__PURE__ */ new Date()).toISOString(),
68
+ _iv: "",
69
+ _data: JSON.stringify({ hidden: visibility.hidden })
70
+ };
71
+ await store.put(vault, META_COLLECTION, visibilityRecordId(keyringId), envelope);
72
+ }
73
+ async function deleteUserVisibility(store, vault, keyringId) {
74
+ await store.delete(vault, META_COLLECTION, visibilityRecordId(keyringId));
75
+ }
76
+ function isUserVisibility(x) {
77
+ if (x === null || typeof x !== "object") return false;
78
+ if (!("hidden" in x)) return false;
79
+ return typeof x.hidden === "boolean";
80
+ }
81
+
82
+ // src/with-party/directory/user-envelope/storage.ts
83
+ async function loadUserEnvelope(store, vault, keyringId, dek) {
84
+ const envelope = await store.get(vault, USER_ENVELOPE_COLLECTION, keyringId);
85
+ if (!envelope) return null;
86
+ const plaintext = await openEnvelopeJson(envelope, dek);
87
+ const data = JSON.parse(plaintext);
88
+ return {
89
+ keyringId,
90
+ data,
91
+ _v: envelope._v,
92
+ _ts: envelope._ts
93
+ };
94
+ }
95
+ async function saveUserEnvelope(store, vault, keyringId, payload, dek, expectedVersion) {
96
+ const json = JSON.stringify(payload);
97
+ const bytes = new TextEncoder().encode(json).byteLength;
98
+ if (bytes > USER_ENVELOPE_MAX_BYTES) {
99
+ throw new UserEnvelopeOversizedError(bytes);
100
+ }
101
+ const prior = await store.get(vault, USER_ENVELOPE_COLLECTION, keyringId);
102
+ if (expectedVersion !== void 0) {
103
+ const priorVersion = prior?._v ?? 0;
104
+ if (priorVersion !== expectedVersion) {
105
+ throw new ConflictError(
106
+ priorVersion,
107
+ `User envelope for "${keyringId}" expected version ${expectedVersion}, actual ${priorVersion}`
108
+ );
109
+ }
110
+ }
111
+ const nextVersion = (prior?._v ?? 0) + 1;
112
+ const ts = (/* @__PURE__ */ new Date()).toISOString();
113
+ const { iv, data } = await encrypt(json, dek);
114
+ const envelope = {
115
+ _noydb: NOYDB_FORMAT_VERSION,
116
+ _v: nextVersion,
117
+ _ts: ts,
118
+ _iv: iv,
119
+ _data: data
120
+ };
121
+ await store.put(vault, USER_ENVELOPE_COLLECTION, keyringId, envelope);
122
+ return {
123
+ keyringId,
124
+ data: payload,
125
+ _v: nextVersion,
126
+ _ts: ts
127
+ };
128
+ }
129
+ async function deleteUserEnvelope(store, vault, keyringId) {
130
+ await store.delete(vault, USER_ENVELOPE_COLLECTION, keyringId);
131
+ }
132
+ async function listUserEnvelopeIds(store, vault) {
133
+ return store.list(vault, USER_ENVELOPE_COLLECTION);
134
+ }
135
+
136
+ export {
137
+ DIRECTORY_RECORD_ID,
138
+ readDirectoryConfig,
139
+ persistDirectoryConfig,
140
+ VISIBILITY_RECORD_PREFIX,
141
+ visibilityRecordId,
142
+ readUserVisibility,
143
+ persistUserVisibility,
144
+ deleteUserVisibility,
145
+ loadUserEnvelope,
146
+ saveUserEnvelope,
147
+ deleteUserEnvelope,
148
+ listUserEnvelopeIds
149
+ };
150
+ //# sourceMappingURL=chunk-4N5QFSNQ.js.map