@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,263 @@
1
+ /**
2
+ * Cryptographic primitives — thin wrappers around the Web Crypto API.
3
+ *
4
+ * ## Design principle
5
+ *
6
+ * **Zero npm crypto dependencies.** Every operation uses `globalThis.crypto.subtle`,
7
+ * which is available natively in Node.js ≥ 18, all modern browsers, and
8
+ * Deno/Bun. This avoids supply-chain risk from third-party crypto packages and
9
+ * ensures the library stays auditable.
10
+ *
11
+ * ## Algorithms
12
+ *
13
+ * | Use case | Algorithm | Parameters |
14
+ * |----------|-----------|------------|
15
+ * | Key derivation | PBKDF2-SHA256 | 600,000 iterations, 32-byte salt |
16
+ * | Record encryption | AES-256-GCM | 12-byte random IV per operation |
17
+ * | DEK wrapping | AES-KW (RFC 3394) | 256-bit KEK |
18
+ * | Binary encrypt | AES-256-GCM | same as record encryption |
19
+ * | Integrity | HMAC-SHA256 | for presence channels |
20
+ * | Content hash | SHA-256 | for ledger and bundle integrity |
21
+ *
22
+ * ## Key lifecycle
23
+ *
24
+ * ```
25
+ * passphrase + salt
26
+ * └─► deriveKey() → KEK (CryptoKey, extractable: false)
27
+ * └─► wrapKey() → wrapped DEK bytes [stored in keyring]
28
+ * └─► unwrapKey() → DEK (CryptoKey) [memory only during session]
29
+ * └─► encrypt() / decrypt() → ciphertext / plaintext
30
+ * ```
31
+ *
32
+ * IVs are generated fresh by {@link generateIV} on every encrypt call.
33
+ * Reusing an IV with the same key would break GCM's authentication guarantee —
34
+ * this function should be the only place IVs are produced.
35
+ *
36
+ * @module
37
+ */
38
+ /**
39
+ * **EnclaveKey** — the opaque key type at the enclave seam.
40
+ *
41
+ * In noy-db's reference enclave this is `CryptoKey` (the Web Crypto API's
42
+ * key handle). A fork's enclave redefines this alias to its own key
43
+ * representation (e.g. `type EnclaveKey = null` for a keyless HSM-backed
44
+ * fork) — outside `kernel/enclave/**`, every consumer must treat it as
45
+ * opaque: never construct, inspect, or serialize it directly, only pass it
46
+ * between barrel functions (`encrypt`/`decrypt`/`wrapKey`/`unwrapKey`/…).
47
+ */
48
+ export type EnclaveKey = CryptoKey;
49
+ /** Derive a KEK from a passphrase and salt using PBKDF2-SHA256. */
50
+ export declare function deriveKey(passphrase: string, salt: Uint8Array): Promise<CryptoKey>;
51
+ /**
52
+ * Which AES algorithm/usage a {@link derivePassphraseKey} result is for:
53
+ * `'aes-kw'` mints a key-wrapping key (`wrapKey`/`unwrapKey`, e.g. for
54
+ * KEK derivation); `'aes-gcm'` mints a direct encrypt/decrypt key (e.g.
55
+ * for the wrap-DEKs primitive in `with-party/team/wrapped-deks.ts`).
56
+ */
57
+ export type PassphraseKeyUsage = 'aes-kw' | 'aes-gcm';
58
+ /**
59
+ * Derive a non-extractable AES key from a passphrase/credential and salt
60
+ * via PBKDF2-SHA256, generalizing {@link deriveKey}'s AES-KW derivation to
61
+ * also cover AES-GCM-usage keys. Callers pin their own `iterations` and
62
+ * `keyUsage` so an existing call site's exact parameters (and thus its
63
+ * derived-key bytes) are preserved verbatim when migrated onto this
64
+ * shared primitive — this is call-site consolidation, not a KDF change.
65
+ */
66
+ export declare function derivePassphraseKey(passphrase: string, salt: Uint8Array, params: {
67
+ iterations: number;
68
+ keyUsage: PassphraseKeyUsage;
69
+ }): Promise<CryptoKey>;
70
+ /** Generate a random AES-256-GCM data encryption key. */
71
+ export declare function generateDEK(): Promise<CryptoKey>;
72
+ /** Wrap (encrypt) a DEK with a KEK using AES-KW. Returns base64 string. */
73
+ export declare function wrapKey(dek: CryptoKey, kek: CryptoKey): Promise<string>;
74
+ /** Unwrap (decrypt) a DEK from base64 string using a KEK. */
75
+ export declare function unwrapKey(wrappedBase64: string, kek: CryptoKey): Promise<CryptoKey>;
76
+ /**
77
+ * AES-KW-wrap a per-record CEK under a collection/tier DEK. Returns base64.
78
+ * Deterministic over `(cek, dek)`.
79
+ */
80
+ export declare function wrapCek(cek: CryptoKey, dek: CryptoKey): Promise<string>;
81
+ /**
82
+ * Unwrap a per-record CEK from base64 under a collection/tier DEK. Throws
83
+ * `InvalidKeyError` if the wrapped bytes do not authenticate under the DEK.
84
+ */
85
+ export declare function unwrapCek(wrappedBase64: string, dek: CryptoKey): Promise<CryptoKey>;
86
+ /**
87
+ * Import a raw 32-byte AES-256-GCM record CEK (e.g. from a sealed-CEK
88
+ * delivery binding). Non-extractable, decrypt-only — the imported key is
89
+ * used solely to open the record's `_iv`/`_data` body under `decrypt()`.
90
+ */
91
+ export declare function importCek(rawKey: Uint8Array): Promise<CryptoKey>;
92
+ export interface EncryptResult {
93
+ iv: string;
94
+ data: string;
95
+ }
96
+ /** Encrypt plaintext JSON string with AES-256-GCM. Fresh IV per call. */
97
+ export declare function encrypt(plaintext: string, dek: CryptoKey): Promise<EncryptResult>;
98
+ /** Decrypt AES-256-GCM ciphertext. Throws on wrong key or tampered data. */
99
+ export declare function decrypt(ivBase64: string, dataBase64: string, dek: CryptoKey): Promise<string>;
100
+ /**
101
+ * Encrypt raw bytes with AES-256-GCM using a fresh random IV.
102
+ * Used by the attachment store so binary blobs avoid double base64 encoding
103
+ * (the existing `encrypt()` function calls `TextEncoder` on a string — here
104
+ * we pass the `Uint8Array` directly to `subtle.encrypt`).
105
+ */
106
+ export declare function encryptBytes(data: Uint8Array, dek: CryptoKey): Promise<EncryptResult>;
107
+ /**
108
+ * Decrypt AES-256-GCM ciphertext back to raw bytes.
109
+ * Counterpart to `encryptBytes`. Throws `TamperedError` on auth-tag failure.
110
+ */
111
+ export declare function decryptBytes(ivBase64: string, dataBase64: string, dek: CryptoKey): Promise<Uint8Array>;
112
+ /**
113
+ * SHA-256 hex digest of raw bytes. Used to derive content-addressed
114
+ * eTags for blob deduplication. Computed on plaintext bytes
115
+ * before compression and encryption so the eTag identifies content, not
116
+ * ciphertext, and survives re-encryption (key rotation, re-upload).
117
+ */
118
+ export declare function sha256Hex(data: Uint8Array): Promise<string>;
119
+ /**
120
+ * Compute HMAC-SHA-256(key, data) and return hex string.
121
+ *
122
+ * Used to derive content-addressed eTags that are opaque to the store:
123
+ * ```
124
+ * eTag = hmacSha256Hex(blobDEK, plaintext)
125
+ * ```
126
+ *
127
+ * Unlike a plain SHA-256, the HMAC is keyed by the vault-shared `_blob` DEK,
128
+ * so an attacker with store access cannot pre-compute eTags for known files.
129
+ * Deduplication still works within a vault (same key + same content = same eTag).
130
+ */
131
+ export declare function hmacSha256Hex(key: CryptoKey, data: Uint8Array): Promise<string>;
132
+ /**
133
+ * Encrypt raw bytes with AES-256-GCM using Additional Authenticated Data.
134
+ *
135
+ * The AAD binds each chunk to its parent blob and position, preventing
136
+ * chunk reorder, substitution, and truncation attacks:
137
+ * ```
138
+ * AAD = UTF-8("{eTag}:{chunkIndex}:{chunkCount}")
139
+ * ```
140
+ *
141
+ * The AAD is NOT stored — the reader reconstructs it from `BlobObject`
142
+ * metadata and passes it to `decryptBytesWithAAD`.
143
+ */
144
+ export declare function encryptBytesWithAAD(data: Uint8Array, dek: CryptoKey, aad: Uint8Array): Promise<EncryptResult>;
145
+ /**
146
+ * Decrypt AES-256-GCM ciphertext with AAD verification.
147
+ *
148
+ * If the AAD does not match the one used at encryption time (e.g. because
149
+ * a chunk was reordered or substituted from another blob), the GCM auth
150
+ * tag fails and this throws `TamperedError`.
151
+ */
152
+ export declare function decryptBytesWithAAD(ivBase64: string, dataBase64: string, dek: CryptoKey, aad: Uint8Array): Promise<Uint8Array>;
153
+ /**
154
+ * Derive an AES-256-GCM presence key from a collection DEK using HKDF-SHA256.
155
+ *
156
+ * The presence key is domain-separated from the data DEK by the fixed salt
157
+ * `'noydb-presence'` and the `info` = collection name. This means:
158
+ * - The adapter never sees the presence key.
159
+ * - Presence payloads rotate automatically when the collection DEK is rotated.
160
+ * - Revoked users cannot derive the new presence key after a DEK rotation.
161
+ *
162
+ * @param dek The collection's AES-256-GCM DEK (extractable).
163
+ * @param collectionName Used as the HKDF `info` parameter for domain separation.
164
+ * @returns A non-extractable AES-256-GCM key suitable for presence payload encryption.
165
+ */
166
+ export declare function derivePresenceKey(dek: CryptoKey, collectionName: string): Promise<CryptoKey>;
167
+ /**
168
+ * Derive a **per-field** AES-256-GCM key from a collection DEK using
169
+ * HKDF-SHA256, used to encrypt a single sensitive field into its own
170
+ * `_sealed[field]` envelope slot (structural group-encryption).
171
+ *
172
+ * Domain-separated from the data DEK (and from the presence/deterministic
173
+ * channels) by the fixed salt `'noydb-sealed'` and an `info` of
174
+ * `JSON.stringify(['noydb-sealed', collectionName, field])`. The JSON-array
175
+ * encoding is injective — each element is separately quoted/escaped — so
176
+ * collection `a/sealed/b` + field `c` cannot collide with collection `a` +
177
+ * field `b/sealed/c`. Each sensitive field gets a **distinct** key, so a
178
+ * `_sealed[a]` ciphertext does not authenticate under field `b`'s key —
179
+ * sealed fields are cryptographically isolated from one another. The
180
+ * collection name keeps the same field name in two collections from sharing a
181
+ * key, mirroring how `derivePresenceKey` / `encryptDeterministic` domain-separate.
182
+ *
183
+ * @param dek The collection's AES-256-GCM DEK (extractable).
184
+ * @param collectionName Part of the HKDF `info` for domain separation.
185
+ * @param field Sensitive field name — the rest of the `info`.
186
+ * @returns A non-extractable AES-256-GCM key for that field's sealed slot.
187
+ */
188
+ export declare function deriveSealedFieldKey(dek: CryptoKey, collectionName: string, field: string): Promise<CryptoKey>;
189
+ /**
190
+ * Derive a per-record sealed-field key from the record's **per-record CEK**
191
+ * rather than the collection DEK. Same HKDF construction as
192
+ * {@link deriveSealedFieldKey} but with salt `'noydb-sealed-cek'` (distinct
193
+ * from `'noydb-sealed'`), so a CEK-derived key can never collide with a
194
+ * DEK-derived one for the same `{collection, field}`.
195
+ *
196
+ * The point: the sealed ciphertext's only key now flows from the record's CEK.
197
+ * Dropping the record's wrapped `_cek` (crypto-shred / `forget`) makes the key
198
+ * — and thus `_sealed[field]` — unrecoverable, giving sealed fields the same
199
+ * erasure guarantee `_data` already has. The CEK must be extractable (it is —
200
+ * `unwrapCek`/`generateDEK` mint extractable keys).
201
+ *
202
+ * @param cek The record's AES-256-GCM CEK (extractable).
203
+ * @param collectionName Part of the HKDF `info` for domain separation.
204
+ * @param field Sensitive field name — the rest of the `info`.
205
+ * @returns A non-extractable AES-256-GCM key for that field's sealed slot.
206
+ */
207
+ export declare function deriveSealedFieldKeyFromCek(cek: CryptoKey, collectionName: string, field: string): Promise<CryptoKey>;
208
+ /**
209
+ * Derive the collection's **dedicated deterministic-index key** from its DEK
210
+ * via HKDF-SHA256 (L-1, #554).
211
+ *
212
+ * `_det` slots previously encrypted under the raw collection DEK — the same
213
+ * key `_data` uses with a *randomized*-IV regime while `_det` uses a
214
+ * *deterministic*-IV regime. Two IV regimes on one key is avoidable hygiene
215
+ * debt (~2^-96 theoretical collision), so the deterministic index now gets its
216
+ * own HKDF-separated key: salt `'noydb-det'`, info
217
+ * `JSON.stringify(['noydb-det'])` (the injective JSON-array domain tag, same
218
+ * convention as {@link deriveSealedFieldKey}). Per-field separation still
219
+ * comes from the `'<collection>/<field>'` context inside
220
+ * {@link encryptDeterministic}, exactly as before.
221
+ *
222
+ * The derived key stays **DEK-derived (collection-level)** on purpose: `_det`
223
+ * is carried verbatim through per-record CEK rotation (see
224
+ * `record-keys/sealing.ts`), so its key must not depend on the CEK. It rotates
225
+ * with the collection DEK, like the presence key.
226
+ *
227
+ * The key is minted **extractable** — {@link encryptDeterministic} derives its
228
+ * per-value IV via HKDF over the raw key bytes (an `exportKey` under the
229
+ * hood), which a non-extractable key would forbid. Same in-memory posture as
230
+ * the DEK itself (`generateDEK` mints extractable keys).
231
+ *
232
+ * @param dek The collection's AES-256-GCM DEK (extractable).
233
+ * @returns A dedicated AES-256-GCM key for the `_det` deterministic index.
234
+ */
235
+ export declare function deriveDeterministicKey(dek: CryptoKey): Promise<CryptoKey>;
236
+ /**
237
+ * Encrypt a plaintext string with AES-256-GCM and a deterministic,
238
+ * HKDF-derived IV.
239
+ *
240
+ * The same `{ dek, context, plaintext }` triple always produces the
241
+ * same `{ iv, data }` — call this twice and you can string-compare the
242
+ * ciphertexts to check equality of the inputs without decrypting them.
243
+ *
244
+ * @param context Domain-separation string — by convention
245
+ * `'<collection>/<field>'`. Different contexts encrypt
246
+ * the same plaintext to different ciphertexts, so
247
+ * `email` in collection `users` does not collide with
248
+ * `email` in collection `customers`.
249
+ */
250
+ export declare function encryptDeterministic(plaintext: string, dek: CryptoKey, context: string): Promise<EncryptResult>;
251
+ /**
252
+ * Counterpart to {@link encryptDeterministic}. The IV is stored
253
+ * alongside the ciphertext (exactly like the randomized path), so
254
+ * decrypt uses the stored IV and verifies the GCM auth tag — a tampered
255
+ * ciphertext throws `TamperedError` just like randomized AES-GCM.
256
+ */
257
+ export declare function decryptDeterministic(ivBase64: string, dataBase64: string, dek: CryptoKey): Promise<string>;
258
+ /** Generate a random 12-byte IV for AES-GCM. */
259
+ export declare function generateIV(): Uint8Array;
260
+ /** Generate a random 32-byte salt for PBKDF2. */
261
+ export declare function generateSalt(): Uint8Array;
262
+ export declare function bufferToBase64(buffer: ArrayBuffer | Uint8Array): string;
263
+ export declare function base64ToBuffer(base64: string): Uint8Array<ArrayBuffer>;
@@ -0,0 +1,78 @@
1
+ /**
2
+ * **kernel/enclave** — the hub's crypto interior, behind one door.
3
+ *
4
+ * This barrel is **the fork-swap contract**: a sister project that wants a
5
+ * different crypto engine (a different KDF, a hardware-backed keystore, a
6
+ * post-quantum wrap algorithm, …) replaces the entire `kernel/enclave/`
7
+ * folder wholesale and only has to honor the exports below. Nothing outside
8
+ * `kernel/enclave/**` may deep-import `crypto.js` or `record-keys/*` directly
9
+ * — `scripts/check-architecture.mjs`'s `enclave-barrel-only` check enforces
10
+ * that mechanically. Import sites inside `kernel/enclave/**` keep their
11
+ * existing relative imports; this door is for everyone else.
12
+ *
13
+ * The export list is the OBSERVED contract — exactly the symbols consumed
14
+ * from outside this folder today — grouped by the module that defines them:
15
+ *
16
+ * - key type — `crypto.ts`: `EnclaveKey`, the opaque key type every
17
+ * barrel-facing signature traffics in (`= CryptoKey` in
18
+ * noy-db's reference enclave; a fork redefines it to its
19
+ * own key representation — see the type's own doc for
20
+ * the fork contract).
21
+ * - crypto ops — `crypto.ts`: AES-256-GCM encrypt/decrypt (+ bytes, AAD,
22
+ * deterministic variants), SHA-256 / HMAC-SHA-256 hashing.
23
+ * - key lifecycle — `crypto.ts` + `record-keys/lifecycle.ts`: KEK/DEK
24
+ * derivation, AES-KW wrap/unwrap, per-record CEK
25
+ * wrap/unwrap/import + resolution/re-wrap, HKDF-derived
26
+ * presence/sealed-field keys, base64 helpers.
27
+ * - record codec — `record-keys/record-codec.ts`: the per-record
28
+ * encode/decode engine.
29
+ * - sealing — `record-keys/sealing.ts`: the sealed-record grantor
30
+ * primitives (seal/revoke/rotate to an `at-*` host).
31
+ * - deterministic — `record-keys/deterministic.ts`: blind-equality lookup
32
+ * over deterministically-encrypted fields.
33
+ * - tombstone — `record-keys/tombstone.ts`: the erased-record residue.
34
+ * - envelope body — `record-keys/envelope-body.ts`: the C1 protected-body
35
+ * access contract (`openEnvelopeJson`,
36
+ * `writeEnvelopeBody`, `hasPerRecordKey`,
37
+ * `envelopeBodyForHash`) — the sanctioned door onto
38
+ * `_iv`/`_data`/`_cek`/`_sealed` for everyone outside
39
+ * this folder.
40
+ * - reserved envelopes — `record-keys/sealed-slots.ts`: `makeReservedEnvelopes`,
41
+ * the whole-envelope encrypt/decrypt door scoped to a
42
+ * declared collection-name prefix (e.g. `_dict_`) —
43
+ * `kernel/vault.ts` binds it for `DictionaryHandle`
44
+ * (#629 Task 4).
45
+ *
46
+ * Additive changes only — removing or renaming an export here is breaking
47
+ * for any fork. Frozen by `__tests__/enclave-surface-golden.test.ts`.
48
+ *
49
+ * **Refusal contract:** the barrel above is frozen — every symbol must
50
+ * exist in any fork — but the optional groups (sealing, deterministic,
51
+ * per-record-key lifecycle) MAY throw `EnclaveNotSupportedError` instead
52
+ * of implementing the reference behavior. The core groups (crypto ops,
53
+ * record codec, tombstone) MUST NOT throw it — they are load-bearing for
54
+ * every consumer regardless of which enclave is wired in. noy-db's own
55
+ * enclave supports every group, so it never throws this error.
56
+ */
57
+ export type { EnclaveKey } from './crypto.js';
58
+ export { encrypt, decrypt, encryptBytes, decryptBytes, encryptBytesWithAAD, decryptBytesWithAAD, encryptDeterministic, decryptDeterministic, sha256Hex, hmacSha256Hex, } from './crypto.js';
59
+ export { deriveKey, derivePassphraseKey, generateDEK, generateSalt, generateIV, wrapKey, unwrapKey, bufferToBase64, base64ToBuffer, derivePresenceKey, deriveDeterministicKey, deriveSealedFieldKey, deriveSealedFieldKeyFromCek, wrapCek, unwrapCek, importCek, } from './crypto.js';
60
+ export type { PassphraseKeyUsage } from './crypto.js';
61
+ export { resolveStableCek, rewrapBodyToDek } from './record-keys/lifecycle.js';
62
+ export { RecordCodec } from './record-keys/record-codec.js';
63
+ export type { SealedShredSlot } from './record-keys/record-codec.js';
64
+ export { SEALED_CEK_NS, sealRecordToHost, revokeSealedRecord, rotateRecordCek } from './record-keys/sealing.js';
65
+ export type { SealingContext } from './record-keys/sealing.js';
66
+ export { findByDet, queryByDet } from './record-keys/deterministic.js';
67
+ export type { DeterministicContext } from './record-keys/deterministic.js';
68
+ export { isTombstone, isTombstoneShape, buildTombstone, isDeleteMarker, buildDeleteMarker } from './record-keys/tombstone.js';
69
+ export { openEnvelopeJson, writeEnvelopeBody, hasPerRecordKey, envelopeBodyForHash } from './record-keys/envelope-body.js';
70
+ export { makeReservedEnvelopes } from './record-keys/sealed-slots.js';
71
+ export { deriveVdigSlotKey } from './classify/vdig.js';
72
+ export { pbkdf2VerifyDigest } from './classify/digest.js';
73
+ export { ctEqualTags } from './classify/compare.js';
74
+ export { evaluateKofN } from './classify/kofn.js';
75
+ export { deriveClassifyIndexKey, deriveClassifyIndexSalt, mintBidxTag } from './classify/bidx.js';
76
+ export { computeBidxTarget } from './classify/find.js';
77
+ export { deriveBrokerProofBits, deriveBrokerProofKey, computeBrokerProof, issueChallenge, verifyBrokerProof, } from './broker/proof.js';
78
+ export type { BrokerProofCanonicalParts, VerifyBrokerProofArgs, IssuedChallenge } from './broker/proof.js';
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Deterministic-index lookups (`findByDet` / `queryByDet`).
3
+ *
4
+ * A collection that declares `deterministicFields` stamps a deterministic
5
+ * AES-GCM ciphertext for each such field on the envelope's `_det` slot at write
6
+ * time (the encrypt side lives in {@link RecordCodec.encryptRecord}). These
7
+ * helpers are the READ side: recompute the deterministic ciphertext for a query
8
+ * value and scan the adapter for envelopes whose `_det[field]` matches — no
9
+ * record bodies are decrypted during the scan, which is the whole point of a
10
+ * deterministic index.
11
+ *
12
+ * Both functions take a small {@link DeterministicContext} (the exact `this.*`
13
+ * the moving methods touched) instead of `this`, mirroring the `record-keys/`
14
+ * siblings. Behaviour is byte-identical to the inline code they replaced.
15
+ *
16
+ * Internal service — not exported as a `@noy-db/hub/*` subpath.
17
+ */
18
+ import { type EnclaveKey } from '../crypto.js';
19
+ import type { NoydbStore } from '../../types.js';
20
+ import type { RecordCodec } from './record-codec.js';
21
+ /** Everything the moving deterministic-index methods touched on `this.*`. */
22
+ export interface DeterministicContext<T> {
23
+ /** Collection name — the deterministic-encryption AAD scope. */
24
+ readonly name: string;
25
+ /** Vault namespace the records live under. */
26
+ readonly vault: string;
27
+ /** The ciphertext store (scanned envelope-by-envelope). */
28
+ readonly adapter: NoydbStore;
29
+ /** Declared deterministic-index fields, or null when the feature is off. */
30
+ readonly deterministicFields: ReadonlySet<string> | null;
31
+ /** False on plaintext collections — det lookups are encrypted-only. */
32
+ readonly storeCiphertext: boolean;
33
+ /** The collection DEK resolver. */
34
+ getDEK(): Promise<EnclaveKey>;
35
+ /** The record codec — decrypts a matched envelope to T. */
36
+ readonly codec: RecordCodec<T>;
37
+ }
38
+ /**
39
+ * Find the first record whose deterministic field matches the given plaintext.
40
+ * Returns `null` when no match exists.
41
+ *
42
+ * Reads every envelope via the adapter and compares the stored `_det[field]` to
43
+ * a freshly computed deterministic ciphertext — no record bodies are decrypted
44
+ * during the search.
45
+ *
46
+ * Throws when the field is not declared in `deterministicFields`, so a typo
47
+ * fails loudly at the call site rather than silently returning null forever.
48
+ */
49
+ export declare function findByDet<T>(ctx: DeterministicContext<T>, field: string, value: unknown): Promise<T | null>;
50
+ /**
51
+ * Return every record whose deterministic field matches. Same semantics as
52
+ * {@link findByDet} but without the short-circuit.
53
+ */
54
+ export declare function queryByDet<T>(ctx: DeterministicContext<T>, field: string, value: unknown): Promise<T[]>;
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Enclave body helpers — the C1 protected-body access contract.
3
+ *
4
+ * `EncryptedEnvelope` splits into a protocol header (family-owned; `_noydb`,
5
+ * `_v`, `_ts`, `_by`, `_source`, `_sourceTs`, `_tier`, `_elevatedBy`) and a
6
+ * protected body (enclave-owned; `_iv`, `_data`, `_cek`, `_det`, `_sealed`,
7
+ * `_debug`). The four helpers below are the ONLY sanctioned way for code
8
+ * outside `kernel/enclave/**` to read or construct the protected body —
9
+ * later migration batches move the ~121 direct `_iv`/`_data`/`_cek`/`_sealed`
10
+ * access sites in `with-*` services onto these.
11
+ *
12
+ * Each helper reproduces an EXISTING behavior byte-for-byte (see the
13
+ * per-function doc for its oracle call site) — this file introduces no new
14
+ * crypto or semantics, only a narrower door onto what already runs.
15
+ */
16
+ import { type EnclaveKey } from '../crypto.js';
17
+ import type { EncryptedEnvelope } from '../../types.js';
18
+ /**
19
+ * Open an envelope's protected body to its JSON text.
20
+ *
21
+ * Mirrors the dominant direct-decrypt call-site shape (e.g.
22
+ * `with-audit/consent/consent.ts`'s `decryptEntry`):
23
+ * - `opts.encrypted === false` (default `true`) → plaintext collection;
24
+ * returns `env._data` as-is, `key` untouched.
25
+ * - `env._cek` present → per-record-key envelope (mirrors
26
+ * `record-codec.ts`'s `resolveEnvelopeCek`): unwrap the CEK under `key`
27
+ * (the collection DEK), decrypt the body under the unwrapped CEK.
28
+ * - `env._cek` absent → legacy path, decrypt the body directly under `key`.
29
+ */
30
+ export declare function openEnvelopeJson(env: EncryptedEnvelope, key: EnclaveKey, opts?: {
31
+ encrypted?: boolean;
32
+ }): Promise<string>;
33
+ /**
34
+ * Produce the protected-body fields (`_iv`/`_data`/`_cek`) for an envelope a
35
+ * caller is assembling.
36
+ *
37
+ * - `opts.encrypted === false` (default `true`) → plaintext collection;
38
+ * emits `{ _iv: '', _data: json }` (today's `buildPlaintextEnvelope`
39
+ * shape), `key` untouched.
40
+ * - `opts.perRecordKey === true` → mints a fresh per-record CEK, encrypts
41
+ * the body under it, and AES-KW-wraps the CEK under `key` (mirrors
42
+ * `encryptJsonString`'s `cek !== undefined` branch, except the CEK is
43
+ * generated here rather than supplied by the caller).
44
+ * - otherwise → legacy path, body encrypted directly under `key`.
45
+ */
46
+ export declare function writeEnvelopeBody(json: string, key: EnclaveKey, opts?: {
47
+ encrypted?: boolean;
48
+ perRecordKey?: boolean;
49
+ }): Promise<Pick<EncryptedEnvelope, '_iv' | '_data' | '_cek'>>;
50
+ /**
51
+ * Discriminant: does this envelope carry a per-record key?
52
+ *
53
+ * Replaces raw `envelope._cek !== undefined` checks scattered across
54
+ * services — `_cek` presence is the format discriminant (see
55
+ * `record-codec.ts`'s `resolveEnvelopeCek` doc).
56
+ */
57
+ export declare function hasPerRecordKey(env: EncryptedEnvelope): boolean;
58
+ /**
59
+ * Canonical body string for the ledger hash chain — the exact bytes
60
+ * `with-commit/history/ledger/hash.ts`'s `envelopePayloadHash` derives from
61
+ * `_data` + `_sealed` + `_vdig` + `_bidx` before hashing:
62
+ * - no `_sealed`, no `_vdig`, no `_bidx` → `_data` alone (back-compat: every
63
+ * pre-existing ledger entry and non-sealed backup hashes byte-identically).
64
+ * - any map present → canonical JSON of `{ _data, _sealed?, _vdig?, _bidx? }`
65
+ * with sorted keys at every level, each map bound ONLY when present, so
66
+ * the result is independent of the maps' field-insertion / store-
67
+ * serialization order. `_bidx` is always the LAST segment, so a legacy
68
+ * `_vdig`-only / `_bidx`-absent envelope hashes byte-identically to its
69
+ * stage-2 value.
70
+ *
71
+ * Deliberately reimplements the two-key-object canonicalization inline
72
+ * rather than importing `with-commit/history/ledger/entry.ts`'s general
73
+ * `canonicalJson` — `kernel/enclave/**` may import only spine types (C3),
74
+ * never a `with-*` service. For this fixed `{ _data: string; _sealed:
75
+ * Record<string, string> }` shape the two produce byte-identical output
76
+ * (verified against that exact call site's oracle expression in
77
+ * `envelope-body.test.ts`).
78
+ */
79
+ export declare function envelopeBodyForHash(env: EncryptedEnvelope): string;
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Per-record CEK lifecycle helpers for the WRITE path.
3
+ *
4
+ * These are the collection-coupled CEK operations, lifted off `Collection`
5
+ * behind narrow deps so the kernel file delegates instead of carrying the
6
+ * crypto inline:
7
+ *
8
+ * - {@link resolveStableCek} — the stable-CEK rule: an update or history
9
+ * snapshot reuses the record's existing CEK so a single CEK delete kills
10
+ * the whole version chain; a genuine insert (or legacy record being
11
+ * migrated) mints a fresh one.
12
+ * - {@link rewrapBodyToDek} — move a record body's wrapping from one DEK to
13
+ * another (tier elevate/demote, bundle re-key) WITHOUT changing the body
14
+ * key: unwrap the CEK under the source DEK, re-encrypt the body under the
15
+ * same CEK, re-wrap the CEK under the destination DEK. History-chain
16
+ * identity is preserved because the body key never changes.
17
+ *
18
+ * Both are pure functions over their deps — the `cekCache` ownership stays on
19
+ * the collection (its lifetime is tied to `load()`), so callers cache the
20
+ * returned key themselves.
21
+ */
22
+ import { type EnclaveKey } from '../crypto.js';
23
+ import type { EncryptedEnvelope } from '../../types.js';
24
+ import type { Lru } from '../../cache/index.js';
25
+ /** Dependencies {@link resolveStableCek} needs from its collection. */
26
+ export interface StableCekDeps {
27
+ /** The collection's per-record CEK cache (`null` → no caching). */
28
+ readonly cache: Lru<string, EnclaveKey> | null;
29
+ /** Read the record's live envelope (to recover an existing `_cek`). */
30
+ getLive(id: string): Promise<EncryptedEnvelope | null>;
31
+ /** The DEK the CEK is wrapped under (the collection DEK on the normal path). */
32
+ getDEK(): Promise<EnclaveKey>;
33
+ }
34
+ /**
35
+ * Resolve the stable CEK for a record on the write path. Caches the resolved
36
+ * key under `id` so an update + its history snapshot share one CEK.
37
+ */
38
+ export declare function resolveStableCek(deps: StableCekDeps, id: string): Promise<EnclaveKey>;
39
+ /** Re-wrapped body bytes + the (optional) CEK to cache. */
40
+ export interface RewrappedBody {
41
+ readonly _iv: string;
42
+ readonly _data: string;
43
+ /** Present iff the source envelope carried a CEK (per-record-key record). */
44
+ readonly _cek?: string;
45
+ /** The body key when one exists, so the caller can cache it; `null` for a legacy record. */
46
+ readonly cek: EnclaveKey | null;
47
+ }
48
+ /**
49
+ * Move a record body from `fromDek` to `toDek`.
50
+ *
51
+ * - Per-record-key record (`_cek` present): unwrap the CEK under `fromDek`,
52
+ * re-encrypt the body under the SAME CEK, re-wrap the CEK under `toDek`. The
53
+ * body key is unchanged → history-chain identity preserved.
54
+ * - Legacy record (no `_cek`): decrypt under `fromDek`, re-encrypt under `toDek`
55
+ * directly — byte-for-byte the pre-CEK behaviour.
56
+ */
57
+ export declare function rewrapBodyToDek(envelope: Pick<EncryptedEnvelope, '_iv' | '_data' | '_cek'>, fromDek: EnclaveKey, toDek: EnclaveKey): Promise<RewrappedBody>;