@noy-db/hub 0.3.0-pre.1 → 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 (938) hide show
  1. package/dist/aggregate/index.js +9 -8
  2. package/dist/aggregate/index.js.map +1 -1
  3. package/dist/api-YGMINAET.js +20 -0
  4. package/dist/as/index.js +12 -6
  5. package/dist/attestation/index.js +19 -13
  6. package/dist/attestation/index.js.map +1 -1
  7. package/dist/backup-XA5STIYQ.js +225 -0
  8. package/dist/backup-XA5STIYQ.js.map +1 -0
  9. package/dist/blobs/index.js +12 -6
  10. package/dist/blobs/index.js.map +1 -1
  11. package/dist/broker/index.js +92 -0
  12. package/dist/broker/index.js.map +1 -0
  13. package/dist/bundle/index.js +21 -15
  14. package/dist/bundle/index.js.map +1 -1
  15. package/dist/by/index.js +2 -2
  16. package/dist/cargo/index.js +32 -26
  17. package/dist/chunk-25NDNMQ7.js +70 -0
  18. package/dist/chunk-25NDNMQ7.js.map +1 -0
  19. package/dist/chunk-2JMMY7HZ.js +188 -0
  20. package/dist/chunk-2JMMY7HZ.js.map +1 -0
  21. package/dist/chunk-3CNQ7FQ3.js +430 -0
  22. package/dist/chunk-3G4KMVUN.js +291 -0
  23. package/dist/chunk-3G4KMVUN.js.map +1 -0
  24. package/dist/chunk-3MSQLQNZ.js +74 -0
  25. package/dist/chunk-45ZZLTFH.js +38 -0
  26. package/dist/chunk-45ZZLTFH.js.map +1 -0
  27. package/dist/chunk-4GPE63GU.js +111 -0
  28. package/dist/chunk-4GPE63GU.js.map +1 -0
  29. package/dist/chunk-4N5QFSNQ.js +150 -0
  30. package/dist/chunk-4N5QFSNQ.js.map +1 -0
  31. package/dist/chunk-4R4Q64W5.js +34 -0
  32. package/dist/chunk-57V5S7PW.js +130 -0
  33. package/dist/chunk-57V5S7PW.js.map +1 -0
  34. package/dist/chunk-5JB73NMC.js +202 -0
  35. package/dist/chunk-5JB73NMC.js.map +1 -0
  36. package/dist/chunk-5XIPOCQC.js +155 -0
  37. package/dist/chunk-5ZOSG3RJ.js +778 -0
  38. package/dist/chunk-5ZOSG3RJ.js.map +1 -0
  39. package/dist/chunk-67TNU77I.js +36 -0
  40. package/dist/chunk-67TNU77I.js.map +1 -0
  41. package/dist/chunk-6QILBDZU.js +205 -0
  42. package/dist/chunk-7E67FJ33.js +155 -0
  43. package/dist/chunk-7ITPJFGC.js +50 -0
  44. package/dist/chunk-7ITPJFGC.js.map +1 -0
  45. package/dist/chunk-7NS43EXZ.js +117 -0
  46. package/dist/chunk-7QIXUSDQ.js +341 -0
  47. package/dist/chunk-7QIXUSDQ.js.map +1 -0
  48. package/dist/chunk-7VSGW5KJ.js +74 -0
  49. package/dist/chunk-7VSGW5KJ.js.map +1 -0
  50. package/dist/chunk-A2QF4JUE.js +14073 -0
  51. package/dist/chunk-A2QF4JUE.js.map +1 -0
  52. package/dist/chunk-A2Y6YFVN.js +209 -0
  53. package/dist/chunk-AOVDSIL3.js +1221 -0
  54. package/dist/chunk-AOVDSIL3.js.map +1 -0
  55. package/dist/chunk-ARSAMO24.js +29 -0
  56. package/dist/chunk-ARSAMO24.js.map +1 -0
  57. package/dist/chunk-AWB5JZW6.js +41 -0
  58. package/dist/chunk-AWB5JZW6.js.map +1 -0
  59. package/dist/chunk-BCYQA5BK.js +45 -0
  60. package/dist/chunk-BE7N3AXA.js +621 -0
  61. package/dist/chunk-BE7N3AXA.js.map +1 -0
  62. package/dist/chunk-BEIRE5K4.js +164 -0
  63. package/dist/chunk-BEIRE5K4.js.map +1 -0
  64. package/dist/chunk-BZO4WCJI.js +86 -0
  65. package/dist/chunk-BZO4WCJI.js.map +1 -0
  66. package/dist/chunk-C3YH34IL.js +75 -0
  67. package/dist/chunk-C3YH34IL.js.map +1 -0
  68. package/dist/chunk-C7NTK5I3.js +49 -0
  69. package/dist/chunk-C7NTK5I3.js.map +1 -0
  70. package/dist/chunk-CB25ONKC.js +129 -0
  71. package/dist/chunk-CIKY6I4W.js +21 -0
  72. package/dist/chunk-CKZW6P5V.js +32 -0
  73. package/dist/chunk-CKZW6P5V.js.map +1 -0
  74. package/dist/chunk-D26JB3LZ.js +54 -0
  75. package/dist/chunk-D3EFFFOL.js +59 -0
  76. package/dist/chunk-D3EFFFOL.js.map +1 -0
  77. package/dist/chunk-DGH65E7Q.js +466 -0
  78. package/dist/chunk-DGH65E7Q.js.map +1 -0
  79. package/dist/chunk-DIRRS7WP.js +42 -0
  80. package/dist/chunk-DJ3VKYFA.js +150 -0
  81. package/dist/chunk-DJ3VKYFA.js.map +1 -0
  82. package/dist/chunk-DMFNPHCX.js +247 -0
  83. package/dist/chunk-DMFNPHCX.js.map +1 -0
  84. package/dist/chunk-ELNBMFOS.js +392 -0
  85. package/dist/chunk-ELNBMFOS.js.map +1 -0
  86. package/dist/chunk-FH542DDY.js +1505 -0
  87. package/dist/chunk-FH542DDY.js.map +1 -0
  88. package/dist/chunk-FQQF23MC.js +45 -0
  89. package/dist/chunk-FQQF23MC.js.map +1 -0
  90. package/dist/chunk-FXK4X4BL.js +91 -0
  91. package/dist/chunk-FXK4X4BL.js.map +1 -0
  92. package/dist/chunk-GA2QHD6P.js +235 -0
  93. package/dist/chunk-GA2QHD6P.js.map +1 -0
  94. package/dist/chunk-GYGLAVCX.js +19 -0
  95. package/dist/chunk-GYGLAVCX.js.map +1 -0
  96. package/dist/chunk-H44ZE4IE.js +355 -0
  97. package/dist/chunk-H6CZSDWK.js +1697 -0
  98. package/dist/chunk-H6CZSDWK.js.map +1 -0
  99. package/dist/chunk-H6HM6CVR.js +279 -0
  100. package/dist/chunk-H6HM6CVR.js.map +1 -0
  101. package/dist/chunk-HFJIGWJC.js +382 -0
  102. package/dist/chunk-HUS3J5WM.js +404 -0
  103. package/dist/chunk-HUS3J5WM.js.map +1 -0
  104. package/dist/chunk-IDIV5NVH.js +99 -0
  105. package/dist/chunk-IDIV5NVH.js.map +1 -0
  106. package/dist/chunk-IGJCYUT5.js +99 -0
  107. package/dist/chunk-IGJCYUT5.js.map +1 -0
  108. package/dist/chunk-IGJHJYM6.js +515 -0
  109. package/dist/chunk-IGJHJYM6.js.map +1 -0
  110. package/dist/chunk-IP2QBAGS.js +589 -0
  111. package/dist/chunk-IP2QBAGS.js.map +1 -0
  112. package/dist/chunk-JK733I5V.js +23 -0
  113. package/dist/chunk-JK733I5V.js.map +1 -0
  114. package/dist/chunk-JOQ53DMI.js +255 -0
  115. package/dist/chunk-JOQ53DMI.js.map +1 -0
  116. package/dist/chunk-K62IUKOD.js +823 -0
  117. package/dist/chunk-K62IUKOD.js.map +1 -0
  118. package/dist/chunk-KPGX66PM.js +230 -0
  119. package/dist/chunk-KPZS5QAQ.js +151 -0
  120. package/dist/chunk-KPZS5QAQ.js.map +1 -0
  121. package/dist/chunk-L2SNBIV7.js +453 -0
  122. package/dist/chunk-L2SNBIV7.js.map +1 -0
  123. package/dist/chunk-LP7BEXCT.js +32 -0
  124. package/dist/chunk-LP7BEXCT.js.map +1 -0
  125. package/dist/chunk-MCEKIAO4.js +367 -0
  126. package/dist/chunk-MELR46EF.js +280 -0
  127. package/dist/chunk-MELR46EF.js.map +1 -0
  128. package/dist/chunk-MSPNM2OM.js +95 -0
  129. package/dist/chunk-MSPNM2OM.js.map +1 -0
  130. package/dist/chunk-NO272T7Q.js +194 -0
  131. package/dist/chunk-NO272T7Q.js.map +1 -0
  132. package/dist/chunk-O2DYPAZY.js +23 -0
  133. package/dist/chunk-ODJWBC5I.js +30 -0
  134. package/dist/chunk-OEAATWH5.js +686 -0
  135. package/dist/chunk-OEAATWH5.js.map +1 -0
  136. package/dist/chunk-OFJ5GPNA.js +71 -0
  137. package/dist/chunk-OOLO4LQG.js +99 -0
  138. package/dist/chunk-OOLO4LQG.js.map +1 -0
  139. package/dist/chunk-P5RY4ZWD.js +662 -0
  140. package/dist/chunk-P5RY4ZWD.js.map +1 -0
  141. package/dist/chunk-PR5LC5YX.js +265 -0
  142. package/dist/chunk-PR5LC5YX.js.map +1 -0
  143. package/dist/chunk-PXWVF7MC.js +135 -0
  144. package/dist/chunk-Q3XSMOZM.js +40 -0
  145. package/dist/chunk-QLLKLFE2.js +94 -0
  146. package/dist/chunk-QLLKLFE2.js.map +1 -0
  147. package/dist/chunk-QQJXBZCO.js +1056 -0
  148. package/dist/chunk-QQJXBZCO.js.map +1 -0
  149. package/dist/chunk-QYPKGVT4.js +261 -0
  150. package/dist/chunk-QYPKGVT4.js.map +1 -0
  151. package/dist/chunk-RKRGDAS7.js +59 -0
  152. package/dist/chunk-SRVQHVNX.js +164 -0
  153. package/dist/chunk-SYMS4546.js +29 -0
  154. package/dist/chunk-SYMS4546.js.map +1 -0
  155. package/dist/chunk-THNJ3IKU.js +17 -0
  156. package/dist/chunk-THNJ3IKU.js.map +1 -0
  157. package/dist/chunk-TPH5EO6L.js +54 -0
  158. package/dist/chunk-TPH5EO6L.js.map +1 -0
  159. package/dist/chunk-UFILRICG.js +14 -0
  160. package/dist/chunk-UTLEAJXC.js +97 -0
  161. package/dist/chunk-VA4ZWLFY.js +123 -0
  162. package/dist/chunk-VR24ILCR.js +367 -0
  163. package/dist/chunk-VYYM3MEN.js +98 -0
  164. package/dist/chunk-VYYM3MEN.js.map +1 -0
  165. package/dist/chunk-W5D62AQD.js +944 -0
  166. package/dist/chunk-W5D62AQD.js.map +1 -0
  167. package/dist/chunk-WGV4CUZT.js +167 -0
  168. package/dist/chunk-WGV4CUZT.js.map +1 -0
  169. package/dist/chunk-WTUNZACT.js +30 -0
  170. package/dist/chunk-WTUNZACT.js.map +1 -0
  171. package/dist/chunk-X6CMGUAG.js +69 -0
  172. package/dist/chunk-X6CMGUAG.js.map +1 -0
  173. package/dist/chunk-XFXUTFWQ.js +85 -0
  174. package/dist/chunk-XFXUTFWQ.js.map +1 -0
  175. package/dist/chunk-XHV25KBM.js +30 -0
  176. package/dist/chunk-YSXEFGND.js +124 -0
  177. package/dist/chunk-YXOUQ2H7.js +36 -0
  178. package/dist/chunk-ZP5PL65C.js +80 -0
  179. package/dist/classified/index.js +40 -0
  180. package/dist/classified-marker-LQWWQNIJ.js +24 -0
  181. package/dist/classified-marker-LQWWQNIJ.js.map +1 -0
  182. package/dist/collection-facade-YE2O4J4O.js +39 -0
  183. package/dist/computed-W6MVAMWZ.js +11 -0
  184. package/dist/consent/index.js +10 -4
  185. package/dist/consent/index.js.map +1 -1
  186. package/dist/crdt/index.js +1 -1
  187. package/dist/dead-filter-4KXZEB3X.js +28 -0
  188. package/dist/dead-filter-4KXZEB3X.js.map +1 -0
  189. package/dist/delegation-OPUU3R2E.js +25 -0
  190. package/dist/derivations/index.js +13 -6
  191. package/dist/derive-BGUHU663.js +21 -0
  192. package/dist/enclave-VXAQD4XJ.js +135 -0
  193. package/dist/executor-GTVSUUBX.js +25 -0
  194. package/dist/executor-GZWMTOXB.js +9 -0
  195. package/dist/executor-XXGS4S3K.js +9 -0
  196. package/dist/export-accessible-BMULIOYB.js +23 -0
  197. package/dist/extract-partition-JUQTWDXR.js +36 -0
  198. package/dist/fanout-sidecar-CKYFH33E.js +74 -0
  199. package/dist/fanout-sidecar-CKYFH33E.js.map +1 -0
  200. package/dist/fence-watcher-DHQ775JB.js +69 -0
  201. package/dist/fence-watcher-DHQ775JB.js.map +1 -0
  202. package/dist/find-XRGCNGNN.js +11 -0
  203. package/dist/forget/index.js +11 -5
  204. package/dist/forget/index.js.map +1 -1
  205. package/dist/guards/index.js +4 -4
  206. package/dist/history/index.js +12 -6
  207. package/dist/history/index.js.map +1 -1
  208. package/dist/i18n/index.js +50 -31
  209. package/dist/i18n/index.js.map +1 -1
  210. package/dist/index.d.ts +303 -1400
  211. package/dist/index.js +1525 -184
  212. package/dist/index.js.map +1 -1
  213. package/dist/indexing/index.js +4 -4
  214. package/dist/issue-UB6AA5M6.js +19 -0
  215. package/dist/json-schema-I22JCYCG.js +44 -0
  216. package/dist/json-schema-I22JCYCG.js.map +1 -0
  217. package/dist/kernel/cache/index.d.ts +10 -0
  218. package/dist/kernel/cache/lru.d.ts +97 -0
  219. package/dist/kernel/cache/policy.d.ts +32 -0
  220. package/dist/kernel/collection-config.d.ts +781 -0
  221. package/dist/kernel/collection.d.ts +1505 -0
  222. package/dist/kernel/constants.d.ts +18 -0
  223. package/dist/kernel/debug.d.ts +25 -0
  224. package/dist/kernel/enclave/broker/proof.d.ts +154 -0
  225. package/dist/kernel/enclave/classify/bidx.d.ts +77 -0
  226. package/dist/kernel/enclave/classify/compare.d.ts +10 -0
  227. package/dist/kernel/enclave/classify/digest.d.ts +8 -0
  228. package/dist/kernel/enclave/classify/find.d.ts +36 -0
  229. package/dist/kernel/enclave/classify/kofn.d.ts +7 -0
  230. package/dist/kernel/enclave/classify/normalize.d.ts +7 -0
  231. package/dist/kernel/enclave/classify/reveal.d.ts +10 -0
  232. package/dist/kernel/enclave/classify/vdig.d.ts +39 -0
  233. package/dist/kernel/enclave/classify/verify.d.ts +33 -0
  234. package/dist/kernel/enclave/classify/write.d.ts +8 -0
  235. package/dist/kernel/enclave/crypto.d.ts +263 -0
  236. package/dist/kernel/enclave/index.d.ts +78 -0
  237. package/dist/kernel/enclave/record-keys/deterministic.d.ts +54 -0
  238. package/dist/kernel/enclave/record-keys/envelope-body.d.ts +79 -0
  239. package/dist/kernel/enclave/record-keys/lifecycle.d.ts +57 -0
  240. package/dist/kernel/enclave/record-keys/record-codec.d.ts +301 -0
  241. package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +14 -0
  242. package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +123 -0
  243. package/dist/kernel/enclave/record-keys/sealing.d.ts +70 -0
  244. package/dist/kernel/enclave/record-keys/tombstone.d.ts +57 -0
  245. package/dist/kernel/env-check.d.ts +1 -0
  246. package/dist/kernel/errors.d.ts +1848 -0
  247. package/dist/kernel/events.d.ts +11 -0
  248. package/dist/kernel/memory-store.d.ts +17 -0
  249. package/dist/kernel/mutation.d.ts +14 -0
  250. package/dist/kernel/noydb.d.ts +818 -0
  251. package/dist/kernel/paths.d.ts +25 -0
  252. package/dist/kernel/query/builder.d.ts +520 -0
  253. package/dist/kernel/query/index.d.ts +31 -0
  254. package/dist/kernel/query/join.d.ts +205 -0
  255. package/dist/kernel/query/live.d.ts +111 -0
  256. package/dist/kernel/query/predicate.d.ts +139 -0
  257. package/dist/kernel/query/scan-builder.d.ts +334 -0
  258. package/dist/kernel/refs.d.ts +205 -0
  259. package/dist/kernel/schema.d.ts +134 -0
  260. package/dist/kernel/sync-policy.d.ts +188 -0
  261. package/dist/kernel/types.d.ts +3147 -0
  262. package/dist/kernel/util/discriminant.d.ts +58 -0
  263. package/dist/kernel/util/index.d.ts +14 -0
  264. package/dist/kernel/util/sanitize-filename.d.ts +75 -0
  265. package/dist/kernel/validation.d.ts +130 -0
  266. package/dist/kernel/vault.d.ts +1723 -0
  267. package/dist/kernel/via/compose.d.ts +144 -0
  268. package/dist/kernel/via/dispatch.d.ts +185 -0
  269. package/dist/kernel/via/graph-wiring.d.ts +145 -0
  270. package/dist/kernel/via/graph.d.ts +165 -0
  271. package/dist/kernel/via/index.d.ts +200 -0
  272. package/dist/kernel/via/pipeline.d.ts +266 -0
  273. package/dist/kernel/via/reconcile.d.ts +153 -0
  274. package/dist/kernel/via/taint-binding.d.ts +66 -0
  275. package/dist/kernel/write-queue.d.ts +46 -0
  276. package/dist/lazy/index.js +12 -0
  277. package/dist/ledger-FU6GH5EH.js +42 -0
  278. package/dist/legacy/bundle.d.ts +30 -0
  279. package/dist/legacy/kernel.d.ts +33 -0
  280. package/dist/liberate-YUN7W5QG.js +24 -0
  281. package/dist/link-set-MNADSH5M.js +31 -0
  282. package/dist/materialized-views/index.js +20 -10
  283. package/dist/noydb-6JLBZU4U.js +67 -0
  284. package/dist/on/index.js +10 -4
  285. package/dist/overlay-views/index.js +4 -4
  286. package/dist/periods/index.js +21 -7
  287. package/dist/pod/index.js +12 -6
  288. package/dist/policy-JTFOPPUU.js +41 -0
  289. package/dist/port/as/index.d.ts +26 -0
  290. package/dist/port/at/index.d.ts +18 -0
  291. package/dist/port/by/default-provider.d.ts +9 -0
  292. package/dist/port/by/index.d.ts +17 -0
  293. package/dist/port/by/types.d.ts +86 -0
  294. package/dist/port/in/index.d.ts +21 -0
  295. package/dist/port/on/index.d.ts +27 -0
  296. package/dist/port/to/index.d.ts +19 -0
  297. package/dist/port/ui/index.d.ts +21 -0
  298. package/dist/port/with/blob-strategy.d.ts +81 -0
  299. package/dist/port/with/broker-strategy.d.ts +84 -0
  300. package/dist/port/with/capabilities.d.ts +31 -0
  301. package/dist/port/with/classified-marker.d.ts +9 -0
  302. package/dist/port/with/classified-strategy.d.ts +62 -0
  303. package/dist/port/with/computed-strategy.d.ts +19 -0
  304. package/dist/port/with/i18n-strategy.d.ts +175 -0
  305. package/dist/port/with/index.d.ts +18 -0
  306. package/dist/port/with/lazy-strategy.d.ts +48 -0
  307. package/dist/port/with/lookup-strategy.d.ts +128 -0
  308. package/dist/port/with/service-bus.d.ts +156 -0
  309. package/dist/port/with/team-strategy.d.ts +36 -0
  310. package/dist/port/with/write-hooks.d.ts +34 -0
  311. package/dist/portability/index.js +8 -8
  312. package/dist/post-register-HAWO3O7O.js +55 -0
  313. package/dist/post-register-HAWO3O7O.js.map +1 -0
  314. package/dist/public-envelope-NJVB7LPA.js +32 -0
  315. package/dist/purge-scope-FGNNLWHD.js +24 -0
  316. package/dist/purge-scope-FGNNLWHD.js.map +1 -0
  317. package/dist/query/index.js +9 -6
  318. package/dist/read-only-facade-CHCKSEPD.js +8 -0
  319. package/dist/register-VCKOBWKT.js +23 -0
  320. package/dist/registry-72UKJ2L4.js +9 -0
  321. package/dist/registry-BZFLJNEH.js +18 -0
  322. package/dist/registry-YJEYSYI5.js +19 -0
  323. package/dist/request-withdrawal-6MJRMFHF.js +31 -0
  324. package/dist/reveal-BOY7XYFH.js +38 -0
  325. package/dist/reveal-BOY7XYFH.js.map +1 -0
  326. package/dist/revoke-4KUNSVJC.js +24 -0
  327. package/dist/satellites/index.js +8 -0
  328. package/dist/sealed-record/index.js +13 -7
  329. package/dist/sealed-record/index.js.map +1 -1
  330. package/dist/seed-4RRXT42N.js +231 -0
  331. package/dist/seed-4RRXT42N.js.map +1 -0
  332. package/dist/session/index.js +10 -4
  333. package/dist/session/index.js.map +1 -1
  334. package/dist/shadow/index.js +2 -2
  335. package/dist/signer-DDDXP5JD.js +25 -0
  336. package/dist/signer-DDDXP5JD.js.map +1 -0
  337. package/dist/snapshots/index.js +11 -5
  338. package/dist/snapshots/index.js.map +1 -1
  339. package/dist/stale-NXPT56JA.js +14 -0
  340. package/dist/stale-NXPT56JA.js.map +1 -0
  341. package/dist/storage-IR6EEAV2.js +23 -0
  342. package/dist/storage-IR6EEAV2.js.map +1 -0
  343. package/dist/store-coordination-provider-HPYVFJCV.js +142 -0
  344. package/dist/sync/index.js +10 -4
  345. package/dist/sync/index.js.map +1 -1
  346. package/dist/team/index.js +25 -12
  347. package/dist/tiers/index.js +11 -5
  348. package/dist/to/index.js +1 -2
  349. package/dist/tx/index.js +3 -3
  350. package/dist/util/index.js +1 -1
  351. package/dist/verify-66RHOW7N.js +139 -0
  352. package/dist/verify-66RHOW7N.js.map +1 -0
  353. package/dist/via/blob/active.d.ts +34 -0
  354. package/dist/via/blob/binding.d.ts +86 -0
  355. package/dist/via/blob/index.d.ts +34 -0
  356. package/dist/via/classified/active.d.ts +3 -0
  357. package/dist/via/classified/binding.d.ts +83 -0
  358. package/dist/via/classified/config-drift.d.ts +34 -0
  359. package/dist/via/classified/descriptor.d.ts +66 -0
  360. package/dist/via/classified/errors.d.ts +19 -0
  361. package/dist/via/classified/guards.d.ts +23 -0
  362. package/dist/via/classified/index.d.ts +11 -0
  363. package/dist/via/classified/presets.d.ts +65 -0
  364. package/dist/via/classified/resolve.d.ts +9 -0
  365. package/dist/via/classified/strategy.d.ts +11 -0
  366. package/dist/via/classified/validators.d.ts +3 -0
  367. package/dist/via/classified/write.d.ts +4 -0
  368. package/dist/via/computed/binding.d.ts +34 -0
  369. package/dist/via/computed/descriptor.d.ts +35 -0
  370. package/dist/via/i18n/active.d.ts +28 -0
  371. package/dist/via/i18n/binding.d.ts +36 -0
  372. package/dist/via/i18n/core.d.ts +267 -0
  373. package/dist/via/i18n/densify.d.ts +24 -0
  374. package/dist/via/i18n/dictionary.d.ts +200 -0
  375. package/dist/via/i18n/index.d.ts +21 -0
  376. package/dist/via/i18n/policy.d.ts +44 -0
  377. package/dist/via/i18n/script.d.ts +26 -0
  378. package/dist/via/i18n/strategy.d.ts +13 -0
  379. package/dist/via/lookup/active.d.ts +19 -0
  380. package/dist/via/lookup/binding.d.ts +99 -0
  381. package/dist/via/lookup/descriptor.d.ts +123 -0
  382. package/dist/via/lookup/handle.d.ts +220 -0
  383. package/dist/via/lookup/index.d.ts +17 -0
  384. package/dist/via/lookup/registry.d.ts +219 -0
  385. package/dist/via/lookup/snapshot.d.ts +67 -0
  386. package/dist/via/money/arith.d.ts +68 -0
  387. package/dist/via/money/binding.d.ts +21 -0
  388. package/dist/via/money/branded.d.ts +61 -0
  389. package/dist/via/money/descriptor.d.ts +73 -0
  390. package/dist/via/money/fixed-point.d.ts +51 -0
  391. package/dist/via/money/index.d.ts +15 -0
  392. package/dist/via/money/iso4217.d.ts +6 -0
  393. package/dist/via/money/money-reducer.d.ts +33 -0
  394. package/dist/via/money/normalize.d.ts +105 -0
  395. package/dist/via/money/paths.d.ts +61 -0
  396. package/dist/via/money/where.d.ts +106 -0
  397. package/dist/walk-2RWEOCAS.js +241 -0
  398. package/dist/walk-2RWEOCAS.js.map +1 -0
  399. package/dist/with/index.js +12 -6
  400. package/dist/with-audit/attestation/active.d.ts +10 -0
  401. package/dist/with-audit/attestation/index.d.ts +16 -0
  402. package/dist/with-audit/attestation/issue.d.ts +29 -0
  403. package/dist/with-audit/attestation/revoke.d.ts +15 -0
  404. package/dist/with-audit/attestation/signer.d.ts +33 -0
  405. package/dist/with-audit/attestation/strategy.d.ts +44 -0
  406. package/dist/with-audit/attestation/vault-facade.d.ts +62 -0
  407. package/dist/with-audit/consent/active.d.ts +14 -0
  408. package/dist/with-audit/consent/consent.d.ts +114 -0
  409. package/dist/with-audit/consent/index.d.ts +14 -0
  410. package/dist/with-audit/consent/strategy.d.ts +36 -0
  411. package/dist/with-audit/forget/active.d.ts +31 -0
  412. package/dist/with-audit/forget/index.d.ts +28 -0
  413. package/dist/with-audit/forget/purge-scope.d.ts +54 -0
  414. package/dist/with-audit/forget/strategy.d.ts +177 -0
  415. package/dist/with-audit/forget/subject-index.d.ts +83 -0
  416. package/dist/with-audit/guards/executor.d.ts +26 -0
  417. package/dist/with-audit/guards/immutable-guard.d.ts +63 -0
  418. package/dist/with-audit/guards/index.d.ts +10 -0
  419. package/dist/with-audit/guards/read-only-facade.d.ts +31 -0
  420. package/dist/with-audit/guards/registry.d.ts +83 -0
  421. package/dist/with-audit/guards/transition-guard.d.ts +82 -0
  422. package/dist/with-audit/guards/types.d.ts +134 -0
  423. package/dist/with-audit/guards/with-guard.d.ts +15 -0
  424. package/dist/with-audit/periods/active.d.ts +11 -0
  425. package/dist/with-audit/periods/index.d.ts +18 -0
  426. package/dist/with-audit/periods/periods.d.ts +417 -0
  427. package/dist/with-audit/periods/strategy.d.ts +32 -0
  428. package/dist/with-audit/periods/vault-facade.d.ts +95 -0
  429. package/dist/with-audit/portability/active.d.ts +11 -0
  430. package/dist/with-audit/portability/export-accessible.d.ts +46 -0
  431. package/dist/with-audit/portability/index.d.ts +18 -0
  432. package/dist/with-audit/portability/request-withdrawal.d.ts +85 -0
  433. package/dist/with-audit/portability/strategy.d.ts +31 -0
  434. package/dist/with-audit/portability/withdraw-accessible.d.ts +82 -0
  435. package/dist/with-audit/sealed-record/active.d.ts +9 -0
  436. package/dist/with-audit/sealed-record/index.d.ts +55 -0
  437. package/dist/with-audit/sealed-record/strategy.d.ts +34 -0
  438. package/dist/with-audit/sealed-record/types.d.ts +27 -0
  439. package/dist/with-audit/tiers/active.d.ts +9 -0
  440. package/dist/with-audit/tiers/index.d.ts +122 -0
  441. package/dist/with-audit/tiers/strategy.d.ts +35 -0
  442. package/dist/with-cargo/active.d.ts +11 -0
  443. package/dist/with-cargo/adopt-partition.d.ts +81 -0
  444. package/dist/with-cargo/decrypt-partition.d.ts +19 -0
  445. package/dist/with-cargo/describe-extraction.d.ts +33 -0
  446. package/dist/with-cargo/extract-partition.d.ts +147 -0
  447. package/dist/with-cargo/index.d.ts +33 -0
  448. package/dist/with-cargo/strategy.d.ts +30 -0
  449. package/dist/with-cargo/vault-diff.d.ts +144 -0
  450. package/dist/with-cargo/walk-closure.d.ts +38 -0
  451. package/dist/with-commit/crdt/active.d.ts +25 -0
  452. package/dist/with-commit/crdt/crdt.d.ts +42 -0
  453. package/dist/with-commit/crdt/index.d.ts +16 -0
  454. package/dist/with-commit/crdt/strategy.d.ts +25 -0
  455. package/dist/with-commit/history/active.d.ts +40 -0
  456. package/dist/with-commit/history/diff.d.ts +23 -0
  457. package/dist/with-commit/history/history.d.ts +27 -0
  458. package/dist/with-commit/history/index.d.ts +30 -0
  459. package/dist/with-commit/history/ledger/constants.d.ts +37 -0
  460. package/dist/with-commit/history/ledger/entry.d.ts +195 -0
  461. package/dist/with-commit/history/ledger/hash.d.ts +30 -0
  462. package/dist/with-commit/history/ledger/index.d.ts +19 -0
  463. package/dist/with-commit/history/ledger/patch.d.ts +99 -0
  464. package/dist/with-commit/history/ledger/store.d.ts +335 -0
  465. package/dist/with-commit/history/strategy.d.ts +126 -0
  466. package/dist/with-commit/history/time-machine.d.ts +179 -0
  467. package/dist/with-commit/numbering/descriptor.d.ts +27 -0
  468. package/dist/with-commit/numbering/index.d.ts +69 -0
  469. package/dist/with-commit/sequence/active.d.ts +10 -0
  470. package/dist/with-commit/sequence/index.d.ts +150 -0
  471. package/dist/with-commit/sequence/strategy.d.ts +26 -0
  472. package/dist/with-commit/tx/active.d.ts +27 -0
  473. package/dist/with-commit/tx/dry-run.d.ts +29 -0
  474. package/dist/with-commit/tx/elevated-handle.d.ts +58 -0
  475. package/dist/with-commit/tx/index.d.ts +13 -0
  476. package/dist/with-commit/tx/invariants.d.ts +68 -0
  477. package/dist/with-commit/tx/strategy.d.ts +23 -0
  478. package/dist/with-commit/tx/transaction.d.ts +207 -0
  479. package/dist/with-fork/archive/engine.d.ts +71 -0
  480. package/dist/with-fork/archive/index.d.ts +23 -0
  481. package/dist/with-fork/shadow/active.d.ts +6 -0
  482. package/dist/with-fork/shadow/index.d.ts +14 -0
  483. package/dist/with-fork/shadow/strategy.d.ts +28 -0
  484. package/dist/with-fork/shadow/vault-frame.d.ts +93 -0
  485. package/dist/with-fork/snapshots/active.d.ts +20 -0
  486. package/dist/with-fork/snapshots/engine.d.ts +36 -0
  487. package/dist/with-fork/snapshots/index.d.ts +5 -0
  488. package/dist/with-fork/snapshots/noydb-facade.d.ts +64 -0
  489. package/dist/with-fork/snapshots/policy.d.ts +23 -0
  490. package/dist/with-fork/snapshots/scheduler.d.ts +34 -0
  491. package/dist/with-fork/snapshots/strategy.d.ts +48 -0
  492. package/dist/with-formula/computed/index.d.ts +48 -0
  493. package/dist/with-formula/computed/lazy.d.ts +13 -0
  494. package/dist/with-formula/derivations/executor.d.ts +61 -0
  495. package/dist/with-formula/derivations/fanout-sidecar.d.ts +75 -0
  496. package/dist/with-formula/derivations/index.d.ts +6 -0
  497. package/dist/with-formula/derivations/registry.d.ts +67 -0
  498. package/dist/with-formula/derivations/stale.d.ts +39 -0
  499. package/dist/with-formula/derivations/strategy-hash.d.ts +1 -0
  500. package/dist/with-formula/derivations/types.d.ts +248 -0
  501. package/dist/with-formula/derivations/with-derivation.d.ts +10 -0
  502. package/dist/with-formula/derivations/with-rollup.d.ts +34 -0
  503. package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +58 -0
  504. package/dist/with-formula/materialized-views/executor.d.ts +71 -0
  505. package/dist/with-formula/materialized-views/index.d.ts +11 -0
  506. package/dist/with-formula/materialized-views/query-hash.d.ts +23 -0
  507. package/dist/with-formula/materialized-views/registry.d.ts +99 -0
  508. package/dist/with-formula/materialized-views/stale.d.ts +62 -0
  509. package/dist/with-formula/materialized-views/types.d.ts +318 -0
  510. package/dist/with-formula/materialized-views/with-materialized-view.d.ts +24 -0
  511. package/dist/with-formula/overlay-views/index.d.ts +5 -0
  512. package/dist/with-formula/overlay-views/registry.d.ts +42 -0
  513. package/dist/with-formula/overlay-views/types.d.ts +97 -0
  514. package/dist/with-formula/overlay-views/virtual-collection.d.ts +90 -0
  515. package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +9 -0
  516. package/dist/with-lookup/aggregate/active.d.ts +33 -0
  517. package/dist/with-lookup/aggregate/aggregation.d.ts +166 -0
  518. package/dist/with-lookup/aggregate/canonical-key.d.ts +16 -0
  519. package/dist/with-lookup/aggregate/groupby.d.ts +280 -0
  520. package/dist/with-lookup/aggregate/index.d.ts +23 -0
  521. package/dist/with-lookup/aggregate/reducers.d.ts +257 -0
  522. package/dist/with-lookup/aggregate/strategy.d.ts +59 -0
  523. package/dist/with-lookup/embeddings/cosine.d.ts +2 -0
  524. package/dist/with-lookup/embeddings/descriptor.d.ts +8 -0
  525. package/dist/with-lookup/embeddings/index.d.ts +3 -0
  526. package/dist/with-lookup/embeddings/vector-set.d.ts +19 -0
  527. package/dist/with-lookup/indexing/active.d.ts +30 -0
  528. package/dist/with-lookup/indexing/collection-facade.d.ts +120 -0
  529. package/dist/with-lookup/indexing/eager-indexes.d.ts +122 -0
  530. package/dist/with-lookup/indexing/index.d.ts +27 -0
  531. package/dist/with-lookup/indexing/lazy-builder.d.ts +69 -0
  532. package/dist/with-lookup/indexing/persisted-indexes.d.ts +186 -0
  533. package/dist/with-lookup/indexing/strategy.d.ts +56 -0
  534. package/dist/with-lookup/indexing/unique-constraints.d.ts +74 -0
  535. package/dist/with-lookup/search/active.d.ts +10 -0
  536. package/dist/with-lookup/search/build-docs.d.ts +15 -0
  537. package/dist/with-lookup/search/collection-facade.d.ts +123 -0
  538. package/dist/with-lookup/search/fuse.d.ts +22 -0
  539. package/dist/with-lookup/search/index-store.d.ts +19 -0
  540. package/dist/with-lookup/search/index.d.ts +19 -0
  541. package/dist/with-lookup/search/inverted-index.d.ts +47 -0
  542. package/dist/with-lookup/search/persisted-index-store.d.ts +41 -0
  543. package/dist/with-lookup/search/retrieve-types.d.ts +29 -0
  544. package/dist/with-lookup/search/scan.d.ts +28 -0
  545. package/dist/with-lookup/search/segment.d.ts +15 -0
  546. package/dist/with-lookup/search/serialize.d.ts +4 -0
  547. package/dist/with-lookup/search/snippet.d.ts +5 -0
  548. package/dist/with-lookup/search/strategy.d.ts +37 -0
  549. package/dist/with-lookup/search/tokenize.d.ts +12 -0
  550. package/dist/with-party/auth-introspection/index.d.ts +44 -0
  551. package/dist/with-party/broker/active.d.ts +23 -0
  552. package/dist/with-party/broker/index.d.ts +28 -0
  553. package/dist/with-party/broker/seed.d.ts +77 -0
  554. package/dist/with-party/custody/active.d.ts +10 -0
  555. package/dist/with-party/custody/index.d.ts +69 -0
  556. package/dist/with-party/custody/liberate.d.ts +64 -0
  557. package/dist/with-party/custody/strategy.d.ts +48 -0
  558. package/dist/with-party/directory/index.d.ts +11 -0
  559. package/dist/with-party/directory/public-envelope/index.d.ts +12 -0
  560. package/dist/with-party/directory/public-envelope/schema.d.ts +24 -0
  561. package/dist/with-party/directory/public-envelope/storage.d.ts +59 -0
  562. package/dist/with-party/directory/public-envelope/types.d.ts +80 -0
  563. package/dist/with-party/directory/storage.d.ts +33 -0
  564. package/dist/with-party/directory/types.d.ts +43 -0
  565. package/dist/with-party/directory/user-envelope/api.d.ts +201 -0
  566. package/dist/with-party/directory/user-envelope/index.d.ts +12 -0
  567. package/dist/with-party/directory/user-envelope/storage.d.ts +54 -0
  568. package/dist/with-party/directory/visibility.d.ts +47 -0
  569. package/dist/with-party/policy/engine.d.ts +60 -0
  570. package/dist/with-party/policy/index.d.ts +15 -0
  571. package/dist/with-party/policy/noydb-facade.d.ts +39 -0
  572. package/dist/with-party/policy/presets.d.ts +38 -0
  573. package/dist/with-party/policy/storage.d.ts +31 -0
  574. package/dist/with-party/session/active.d.ts +34 -0
  575. package/dist/with-party/session/dev-unlock.d.ts +128 -0
  576. package/dist/with-party/session/index.d.ts +23 -0
  577. package/dist/with-party/session/session-policy.d.ts +92 -0
  578. package/dist/with-party/session/session.d.ts +131 -0
  579. package/dist/with-party/session/strategy.d.ts +42 -0
  580. package/dist/with-party/session/unlock-state.d.ts +47 -0
  581. package/dist/with-party/sync/index.d.ts +31 -0
  582. package/dist/with-party/tab-coordination.d.ts +73 -0
  583. package/dist/with-party/tab-write-relay.d.ts +39 -0
  584. package/dist/with-party/team/active.d.ts +13 -0
  585. package/dist/with-party/team/authenticators.d.ts +95 -0
  586. package/dist/with-party/team/deed.d.ts +97 -0
  587. package/dist/with-party/team/delegation.d.ts +88 -0
  588. package/dist/with-party/team/index.d.ts +38 -0
  589. package/dist/with-party/team/keyring.d.ts +318 -0
  590. package/dist/with-party/team/magic-link-grant.d.ts +152 -0
  591. package/dist/with-party/team/managed-passphrase.d.ts +280 -0
  592. package/dist/with-party/team/noydb-facade.d.ts +484 -0
  593. package/dist/with-party/team/peer-recover.d.ts +81 -0
  594. package/dist/with-party/team/presence.d.ts +81 -0
  595. package/dist/with-party/team/recovery.d.ts +191 -0
  596. package/dist/with-party/team/reserved-secret-collections.d.ts +41 -0
  597. package/dist/with-party/team/rotate-recover.d.ts +275 -0
  598. package/dist/with-party/team/shamir-recovery-provider.d.ts +15 -0
  599. package/dist/with-party/team/strategy.d.ts +9 -0
  600. package/dist/with-party/team/sync-active.d.ts +33 -0
  601. package/dist/with-party/team/sync-credentials.d.ts +113 -0
  602. package/dist/with-party/team/sync-strategy.d.ts +67 -0
  603. package/dist/with-party/team/sync-transaction.d.ts +39 -0
  604. package/dist/with-party/team/sync.d.ts +165 -0
  605. package/dist/with-party/team/tiers.d.ts +39 -0
  606. package/dist/with-party/team/wrapped-deks.d.ts +86 -0
  607. package/dist/with-pod/backup.d.ts +74 -0
  608. package/dist/with-pod/bundle.d.ts +414 -0
  609. package/dist/with-pod/format.d.ts +203 -0
  610. package/dist/with-pod/index.d.ts +20 -0
  611. package/dist/with-pod/pod-store.d.ts +54 -0
  612. package/dist/with-pod/ulid.d.ts +64 -0
  613. package/dist/with-shape/blobs/blob-compaction.d.ts +170 -0
  614. package/dist/with-shape/blobs/blob-set.d.ts +342 -0
  615. package/dist/with-shape/blobs/export-blobs.d.ts +110 -0
  616. package/dist/with-shape/blobs/import-external.d.ts +50 -0
  617. package/dist/with-shape/blobs/mime-magic.d.ts +48 -0
  618. package/dist/with-shape/blobs/object-projection.d.ts +70 -0
  619. package/dist/with-shape/introspection/describe.d.ts +237 -0
  620. package/dist/with-shape/introspection/field-meta.d.ts +61 -0
  621. package/dist/with-shape/introspection/fields.d.ts +14 -0
  622. package/dist/with-shape/introspection/index.d.ts +12 -0
  623. package/dist/with-shape/introspection/json-schema.d.ts +13 -0
  624. package/dist/with-shape/introspection/meta.d.ts +22 -0
  625. package/dist/with-shape/introspection/projection.d.ts +13 -0
  626. package/dist/with-shape/introspection/types.d.ts +154 -0
  627. package/dist/with-shape/introspection/walk.d.ts +50 -0
  628. package/dist/with-shape/links/lazy-handle.d.ts +36 -0
  629. package/dist/with-shape/links/link-set.d.ts +67 -0
  630. package/dist/with-shape/links/names.d.ts +65 -0
  631. package/dist/with-shape/links/vault-facade.d.ts +211 -0
  632. package/dist/with-shape/persisted-schemas/canonicalize.d.ts +11 -0
  633. package/dist/with-shape/persisted-schemas/derive.d.ts +29 -0
  634. package/dist/with-shape/persisted-schemas/index.d.ts +21 -0
  635. package/dist/with-shape/persisted-schemas/register.d.ts +66 -0
  636. package/dist/with-shape/persisted-schemas/storage.d.ts +61 -0
  637. package/dist/with-shape/persisted-schemas/types.d.ts +54 -0
  638. package/dist/with-shape/satellites/dead-filter.d.ts +21 -0
  639. package/dist/with-shape/satellites/declare.d.ts +60 -0
  640. package/dist/with-shape/satellites/existence.d.ts +5 -0
  641. package/dist/with-shape/satellites/fanout.d.ts +37 -0
  642. package/dist/with-shape/satellites/forget.d.ts +47 -0
  643. package/dist/with-shape/satellites/index.d.ts +3 -0
  644. package/dist/with-shape/satellites/joined.d.ts +19 -0
  645. package/dist/with-shape/satellites/marker.d.ts +10 -0
  646. package/dist/with-shape/satellites/post-register.d.ts +6 -0
  647. package/dist/with-shape/satellites/proxy.d.ts +37 -0
  648. package/dist/with-shape/satellites/raw-target.d.ts +14 -0
  649. package/dist/with-shape/satellites/registry.d.ts +19 -0
  650. package/dist/with-shape/satellites/types.d.ts +26 -0
  651. package/dist/with-shape/satellites/validate.d.ts +17 -0
  652. package/dist/with-shape/schema-update/client-registry.d.ts +35 -0
  653. package/dist/with-shape/schema-update/cutover.d.ts +5 -0
  654. package/dist/with-shape/schema-update/delta.d.ts +2 -0
  655. package/dist/with-shape/schema-update/dispatch.d.ts +3 -0
  656. package/dist/with-shape/schema-update/fence-controller.d.ts +62 -0
  657. package/dist/with-shape/schema-update/fence-watcher.d.ts +37 -0
  658. package/dist/with-shape/schema-update/fence.d.ts +15 -0
  659. package/dist/with-shape/schema-update/gate.d.ts +16 -0
  660. package/dist/with-shape/schema-update/index.d.ts +6 -0
  661. package/dist/with-shape/schema-update/store-coordination-provider.d.ts +29 -0
  662. package/dist/with-shape/schema-update/strategies.d.ts +12 -0
  663. package/dist/with-shape/schema-update/types.d.ts +53 -0
  664. package/dist/with-store/index.d.ts +15 -0
  665. package/dist/with-store/lazy/active.d.ts +12 -0
  666. package/dist/with-store/lazy/index.d.ts +14 -0
  667. package/dist/with-store/lazy/strategy.d.ts +9 -0
  668. package/dist/with-store/route-store.d.ts +259 -0
  669. package/dist/with-store/store-middleware.d.ts +189 -0
  670. package/dist/withdraw-accessible-CLMZEHQT.js +28 -0
  671. package/dist/withdraw-accessible-CLMZEHQT.js.map +1 -0
  672. package/package.json +56 -52
  673. package/dist/adapter/index.d.ts +0 -5
  674. package/dist/adapter/index.js +0 -15
  675. package/dist/aggregate/index.d.ts +0 -42
  676. package/dist/api-RW3KP7WU.js +0 -14
  677. package/dist/as/index.d.ts +0 -7
  678. package/dist/at/index.d.ts +0 -5
  679. package/dist/attestation/index.d.ts +0 -20
  680. package/dist/backup-XV3IOEGB.js +0 -217
  681. package/dist/backup-XV3IOEGB.js.map +0 -1
  682. package/dist/blobs/index.d.ts +0 -44
  683. package/dist/bundle/index.d.ts +0 -122
  684. package/dist/bundle-CH-H06dp.d.ts +0 -548
  685. package/dist/by/index.d.ts +0 -1
  686. package/dist/cargo/index.d.ts +0 -9
  687. package/dist/chunk-26LGBE4T.js +0 -42
  688. package/dist/chunk-26LGBE4T.js.map +0 -1
  689. package/dist/chunk-2P2HZEXU.js +0 -233
  690. package/dist/chunk-2P2HZEXU.js.map +0 -1
  691. package/dist/chunk-3YFXJ3ZP.js +0 -97
  692. package/dist/chunk-5LUY7UTV.js +0 -380
  693. package/dist/chunk-5LUY7UTV.js.map +0 -1
  694. package/dist/chunk-5N6CZTCY.js +0 -367
  695. package/dist/chunk-5O3AOPDT.js +0 -992
  696. package/dist/chunk-5O3AOPDT.js.map +0 -1
  697. package/dist/chunk-5R3ERCDH.js +0 -239
  698. package/dist/chunk-5R3ERCDH.js.map +0 -1
  699. package/dist/chunk-5R5JW2JT.js +0 -12502
  700. package/dist/chunk-5R5JW2JT.js.map +0 -1
  701. package/dist/chunk-5TDJ56JE.js +0 -32
  702. package/dist/chunk-5TDJ56JE.js.map +0 -1
  703. package/dist/chunk-62QYRORB.js +0 -320
  704. package/dist/chunk-62QYRORB.js.map +0 -1
  705. package/dist/chunk-6S7T6WC4.js +0 -111
  706. package/dist/chunk-6S7T6WC4.js.map +0 -1
  707. package/dist/chunk-76722EBH.js +0 -451
  708. package/dist/chunk-76722EBH.js.map +0 -1
  709. package/dist/chunk-AIWULCUO.js +0 -68
  710. package/dist/chunk-AIWULCUO.js.map +0 -1
  711. package/dist/chunk-AQTBSL7R.js +0 -181
  712. package/dist/chunk-AQTBSL7R.js.map +0 -1
  713. package/dist/chunk-AXRXJTE2.js +0 -59
  714. package/dist/chunk-AZAOEIKW.js +0 -155
  715. package/dist/chunk-BG3SPSR4.js +0 -53
  716. package/dist/chunk-BG3SPSR4.js.map +0 -1
  717. package/dist/chunk-BGIZAFY7.js +0 -1
  718. package/dist/chunk-CMGR4ZEW.js +0 -209
  719. package/dist/chunk-CWPPNPOH.js +0 -23
  720. package/dist/chunk-DFEMTNPJ.js +0 -1219
  721. package/dist/chunk-DFEMTNPJ.js.map +0 -1
  722. package/dist/chunk-DGDI2D4M.js +0 -79
  723. package/dist/chunk-DGDI2D4M.js.map +0 -1
  724. package/dist/chunk-EIZUR2XW.js +0 -36
  725. package/dist/chunk-FISN7WE4.js +0 -798
  726. package/dist/chunk-FISN7WE4.js.map +0 -1
  727. package/dist/chunk-GYGWYIOZ.js +0 -200
  728. package/dist/chunk-GYGWYIOZ.js.map +0 -1
  729. package/dist/chunk-HCIPRAGS.js +0 -45
  730. package/dist/chunk-I2NOIW44.js +0 -83
  731. package/dist/chunk-I2NOIW44.js.map +0 -1
  732. package/dist/chunk-I3TIKTJO.js +0 -132
  733. package/dist/chunk-I3TIKTJO.js.map +0 -1
  734. package/dist/chunk-IAGBDSCS.js +0 -40
  735. package/dist/chunk-IELYAOGG.js +0 -78
  736. package/dist/chunk-IELYAOGG.js.map +0 -1
  737. package/dist/chunk-IGUYVGGI.js +0 -205
  738. package/dist/chunk-IO6GRPT6.js +0 -34
  739. package/dist/chunk-IPB7FTQX.js +0 -273
  740. package/dist/chunk-IPB7FTQX.js.map +0 -1
  741. package/dist/chunk-ITNUCOXM.js +0 -148
  742. package/dist/chunk-ITNUCOXM.js.map +0 -1
  743. package/dist/chunk-IUEN57TV.js +0 -722
  744. package/dist/chunk-IUEN57TV.js.map +0 -1
  745. package/dist/chunk-JNUWZ6D3.js +0 -57
  746. package/dist/chunk-JNUWZ6D3.js.map +0 -1
  747. package/dist/chunk-K2WCO3NX.js +0 -1
  748. package/dist/chunk-KVOXU4T5.js +0 -30
  749. package/dist/chunk-KXGNJJXB.js +0 -135
  750. package/dist/chunk-LFLXAY2W.js +0 -414
  751. package/dist/chunk-LFLXAY2W.js.map +0 -1
  752. package/dist/chunk-LMTH2RM6.js +0 -129
  753. package/dist/chunk-LV7M27WM.js +0 -702
  754. package/dist/chunk-LV7M27WM.js.map +0 -1
  755. package/dist/chunk-LXQT4WMP.js +0 -684
  756. package/dist/chunk-LXQT4WMP.js.map +0 -1
  757. package/dist/chunk-M2YKN37S.js +0 -524
  758. package/dist/chunk-M2YKN37S.js.map +0 -1
  759. package/dist/chunk-M6OST55S.js +0 -14
  760. package/dist/chunk-MD3Y6J3L.js +0 -278
  761. package/dist/chunk-MD3Y6J3L.js.map +0 -1
  762. package/dist/chunk-MTMJVJ5W.js +0 -73
  763. package/dist/chunk-MTMJVJ5W.js.map +0 -1
  764. package/dist/chunk-NF5JWERG.js +0 -74
  765. package/dist/chunk-PKHL44ER.js +0 -124
  766. package/dist/chunk-PSMV73A5.js +0 -117
  767. package/dist/chunk-Q7SS3IME.js +0 -120
  768. package/dist/chunk-Q7SS3IME.js.map +0 -1
  769. package/dist/chunk-QHJW5EXU.js +0 -54
  770. package/dist/chunk-RUEKROOS.js +0 -80
  771. package/dist/chunk-RUIMKQTA.js +0 -23
  772. package/dist/chunk-RUIMKQTA.js.map +0 -1
  773. package/dist/chunk-SKF73JOP.js +0 -355
  774. package/dist/chunk-SM3AVUHC.js +0 -42
  775. package/dist/chunk-SMXWYP24.js +0 -155
  776. package/dist/chunk-SRB2XEWB.js +0 -148
  777. package/dist/chunk-SRB2XEWB.js.map +0 -1
  778. package/dist/chunk-TA66UMI4.js +0 -123
  779. package/dist/chunk-TEILUWOI.js +0 -664
  780. package/dist/chunk-TEILUWOI.js.map +0 -1
  781. package/dist/chunk-TJYQIGAP.js +0 -82
  782. package/dist/chunk-TJYQIGAP.js.map +0 -1
  783. package/dist/chunk-UAG5KWVA.js +0 -367
  784. package/dist/chunk-UDRIWL7A.js +0 -382
  785. package/dist/chunk-UIU2THRG.js +0 -1937
  786. package/dist/chunk-UIU2THRG.js.map +0 -1
  787. package/dist/chunk-UPJNJGGA.js +0 -572
  788. package/dist/chunk-UPJNJGGA.js.map +0 -1
  789. package/dist/chunk-UV5MFVO3.js +0 -21
  790. package/dist/chunk-V7RWQRG7.js +0 -430
  791. package/dist/chunk-VCTFO5CO.js +0 -71
  792. package/dist/chunk-VFQGRQIH.js +0 -97
  793. package/dist/chunk-VFQGRQIH.js.map +0 -1
  794. package/dist/chunk-WWGT2MDV.js +0 -762
  795. package/dist/chunk-WWGT2MDV.js.map +0 -1
  796. package/dist/chunk-WYSO2NIH.js +0 -30
  797. package/dist/chunk-XXYIOFUB.js +0 -164
  798. package/dist/chunk-Y22T3KQE.js +0 -261
  799. package/dist/chunk-Y22T3KQE.js.map +0 -1
  800. package/dist/chunk-ZCGAHGUS.js +0 -230
  801. package/dist/chunk-ZYUC53LT.js +0 -1370
  802. package/dist/chunk-ZYUC53LT.js.map +0 -1
  803. package/dist/collection-facade-GQAOGJP2.js +0 -33
  804. package/dist/consent/index.d.ts +0 -23
  805. package/dist/crdt/index.d.ts +0 -34
  806. package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
  807. package/dist/delegation-UL5HKLER.js +0 -19
  808. package/dist/derivations/index.d.ts +0 -70
  809. package/dist/describe/index.d.ts +0 -1
  810. package/dist/describe/index.js +0 -1
  811. package/dist/describe-aBkJR2sd.d.ts +0 -131
  812. package/dist/dev-unlock-C9Ro3v_O.d.ts +0 -263
  813. package/dist/discriminant-BN9REW3o.d.ts +0 -60
  814. package/dist/enclave-UL5LW66V.js +0 -88
  815. package/dist/executor-2FWQRLMG.js +0 -15
  816. package/dist/executor-QZ7BXICW.js +0 -9
  817. package/dist/executor-Z5ZLJVTV.js +0 -9
  818. package/dist/export-accessible-KRV5W4GH.js +0 -17
  819. package/dist/extract-partition-GLKBOXFQ.js +0 -30
  820. package/dist/fanout-sidecar-GF3DJ6KR.js +0 -71
  821. package/dist/fanout-sidecar-GF3DJ6KR.js.map +0 -1
  822. package/dist/forget/index.d.ts +0 -36
  823. package/dist/guards/index.d.ts +0 -35
  824. package/dist/hash-Cp5uwiox.d.ts +0 -67
  825. package/dist/history/index.d.ts +0 -61
  826. package/dist/i18n/index.d.ts +0 -37
  827. package/dist/in/index.d.ts +0 -5
  828. package/dist/index-B9QdHytu.d.ts +0 -123
  829. package/dist/index-BF9_96A5.d.ts +0 -123
  830. package/dist/index-BzUo1B6n.d.ts +0 -20730
  831. package/dist/indexing/index.d.ts +0 -39
  832. package/dist/issue-Y6UVIR43.js +0 -13
  833. package/dist/kernel/index.d.ts +0 -32
  834. package/dist/kernel/index.js +0 -53
  835. package/dist/ledger-RYI35CDS.js +0 -36
  836. package/dist/liberate-CRPZEV7O.js +0 -18
  837. package/dist/materialized-views/index.d.ts +0 -173
  838. package/dist/mime-magic-CGhw37_E.d.ts +0 -103
  839. package/dist/noydb-367AM4HT.js +0 -50
  840. package/dist/on/index.d.ts +0 -5
  841. package/dist/overlay-views/index.d.ts +0 -98
  842. package/dist/periods/index.d.ts +0 -20
  843. package/dist/pod/index.d.ts +0 -63
  844. package/dist/policy-IXK4FVXP.js +0 -41
  845. package/dist/portability/index.d.ts +0 -20
  846. package/dist/public-envelope-JHDQCPSX.js +0 -32
  847. package/dist/query/index.d.ts +0 -5
  848. package/dist/read-only-facade-5ADRJVTM.js +0 -8
  849. package/dist/registry-45RJNWGU.js +0 -9
  850. package/dist/registry-5GRV5VXI.js +0 -13
  851. package/dist/registry-WEUCHBO4.js +0 -11
  852. package/dist/request-withdrawal-GBPH2FDY.js +0 -25
  853. package/dist/revoke-TUFRGI6S.js +0 -18
  854. package/dist/sealed-record/index.d.ts +0 -69
  855. package/dist/session/index.d.ts +0 -44
  856. package/dist/shadow/index.d.ts +0 -15
  857. package/dist/signer-PNKTBVF7.js +0 -19
  858. package/dist/snapshots/index.d.ts +0 -26
  859. package/dist/stale-3JWHNDIY.js +0 -14
  860. package/dist/store-coordination-provider-3I7XWZZK.js +0 -142
  861. package/dist/subject-index-O75wKshW.d.ts +0 -362
  862. package/dist/sync/index.d.ts +0 -41
  863. package/dist/team/index.d.ts +0 -116
  864. package/dist/tiers/index.d.ts +0 -5
  865. package/dist/to/index.d.ts +0 -5
  866. package/dist/transition-guard-C7ol6oPw.d.ts +0 -165
  867. package/dist/tx/index.d.ts +0 -35
  868. package/dist/ui/index.d.ts +0 -1
  869. package/dist/ulid-DRH25k3y.d.ts +0 -66
  870. package/dist/util/index.d.ts +0 -79
  871. package/dist/vault-diff-B5fYNBL7.d.ts +0 -147
  872. package/dist/with/index.d.ts +0 -38
  873. package/dist/with-materialized-view-6p0Fk8bL.d.ts +0 -27
  874. package/dist/with-overlayed-view-BJ6mXGMd.d.ts +0 -12
  875. package/dist/with-rollup-BvQo3ROo.d.ts +0 -47
  876. package/dist/withdraw-accessible-FFS46EOD.js +0 -22
  877. /package/dist/{adapter/index.js.map → api-YGMINAET.js.map} +0 -0
  878. /package/dist/{chunk-V7RWQRG7.js.map → chunk-3CNQ7FQ3.js.map} +0 -0
  879. /package/dist/{chunk-NF5JWERG.js.map → chunk-3MSQLQNZ.js.map} +0 -0
  880. /package/dist/{chunk-IO6GRPT6.js.map → chunk-4R4Q64W5.js.map} +0 -0
  881. /package/dist/{chunk-SMXWYP24.js.map → chunk-5XIPOCQC.js.map} +0 -0
  882. /package/dist/{chunk-IGUYVGGI.js.map → chunk-6QILBDZU.js.map} +0 -0
  883. /package/dist/{chunk-AZAOEIKW.js.map → chunk-7E67FJ33.js.map} +0 -0
  884. /package/dist/{chunk-PSMV73A5.js.map → chunk-7NS43EXZ.js.map} +0 -0
  885. /package/dist/{chunk-CMGR4ZEW.js.map → chunk-A2Y6YFVN.js.map} +0 -0
  886. /package/dist/{chunk-HCIPRAGS.js.map → chunk-BCYQA5BK.js.map} +0 -0
  887. /package/dist/{chunk-LMTH2RM6.js.map → chunk-CB25ONKC.js.map} +0 -0
  888. /package/dist/{chunk-UV5MFVO3.js.map → chunk-CIKY6I4W.js.map} +0 -0
  889. /package/dist/{chunk-QHJW5EXU.js.map → chunk-D26JB3LZ.js.map} +0 -0
  890. /package/dist/{chunk-SM3AVUHC.js.map → chunk-DIRRS7WP.js.map} +0 -0
  891. /package/dist/{chunk-SKF73JOP.js.map → chunk-H44ZE4IE.js.map} +0 -0
  892. /package/dist/{chunk-UDRIWL7A.js.map → chunk-HFJIGWJC.js.map} +0 -0
  893. /package/dist/{chunk-ZCGAHGUS.js.map → chunk-KPGX66PM.js.map} +0 -0
  894. /package/dist/{chunk-5N6CZTCY.js.map → chunk-MCEKIAO4.js.map} +0 -0
  895. /package/dist/{chunk-CWPPNPOH.js.map → chunk-O2DYPAZY.js.map} +0 -0
  896. /package/dist/{chunk-KVOXU4T5.js.map → chunk-ODJWBC5I.js.map} +0 -0
  897. /package/dist/{chunk-VCTFO5CO.js.map → chunk-OFJ5GPNA.js.map} +0 -0
  898. /package/dist/{chunk-KXGNJJXB.js.map → chunk-PXWVF7MC.js.map} +0 -0
  899. /package/dist/{chunk-IAGBDSCS.js.map → chunk-Q3XSMOZM.js.map} +0 -0
  900. /package/dist/{chunk-AXRXJTE2.js.map → chunk-RKRGDAS7.js.map} +0 -0
  901. /package/dist/{chunk-XXYIOFUB.js.map → chunk-SRVQHVNX.js.map} +0 -0
  902. /package/dist/{chunk-M6OST55S.js.map → chunk-UFILRICG.js.map} +0 -0
  903. /package/dist/{chunk-3YFXJ3ZP.js.map → chunk-UTLEAJXC.js.map} +0 -0
  904. /package/dist/{chunk-TA66UMI4.js.map → chunk-VA4ZWLFY.js.map} +0 -0
  905. /package/dist/{chunk-UAG5KWVA.js.map → chunk-VR24ILCR.js.map} +0 -0
  906. /package/dist/{chunk-WYSO2NIH.js.map → chunk-XHV25KBM.js.map} +0 -0
  907. /package/dist/{chunk-PKHL44ER.js.map → chunk-YSXEFGND.js.map} +0 -0
  908. /package/dist/{chunk-EIZUR2XW.js.map → chunk-YXOUQ2H7.js.map} +0 -0
  909. /package/dist/{chunk-RUEKROOS.js.map → chunk-ZP5PL65C.js.map} +0 -0
  910. /package/dist/{describe → classified}/index.js.map +0 -0
  911. /package/dist/{api-RW3KP7WU.js.map → collection-facade-YE2O4J4O.js.map} +0 -0
  912. /package/dist/{chunk-BGIZAFY7.js.map → computed-W6MVAMWZ.js.map} +0 -0
  913. /package/dist/{chunk-K2WCO3NX.js.map → delegation-OPUU3R2E.js.map} +0 -0
  914. /package/dist/{collection-facade-GQAOGJP2.js.map → derive-BGUHU663.js.map} +0 -0
  915. /package/dist/{delegation-UL5HKLER.js.map → enclave-VXAQD4XJ.js.map} +0 -0
  916. /package/dist/{enclave-UL5LW66V.js.map → executor-GTVSUUBX.js.map} +0 -0
  917. /package/dist/{executor-2FWQRLMG.js.map → executor-GZWMTOXB.js.map} +0 -0
  918. /package/dist/{executor-QZ7BXICW.js.map → executor-XXGS4S3K.js.map} +0 -0
  919. /package/dist/{executor-Z5ZLJVTV.js.map → export-accessible-BMULIOYB.js.map} +0 -0
  920. /package/dist/{export-accessible-KRV5W4GH.js.map → extract-partition-JUQTWDXR.js.map} +0 -0
  921. /package/dist/{extract-partition-GLKBOXFQ.js.map → find-XRGCNGNN.js.map} +0 -0
  922. /package/dist/{issue-Y6UVIR43.js.map → issue-UB6AA5M6.js.map} +0 -0
  923. /package/dist/{kernel → lazy}/index.js.map +0 -0
  924. /package/dist/{ledger-RYI35CDS.js.map → ledger-FU6GH5EH.js.map} +0 -0
  925. /package/dist/{liberate-CRPZEV7O.js.map → liberate-YUN7W5QG.js.map} +0 -0
  926. /package/dist/{noydb-367AM4HT.js.map → link-set-MNADSH5M.js.map} +0 -0
  927. /package/dist/{policy-IXK4FVXP.js.map → noydb-6JLBZU4U.js.map} +0 -0
  928. /package/dist/{public-envelope-JHDQCPSX.js.map → policy-JTFOPPUU.js.map} +0 -0
  929. /package/dist/{read-only-facade-5ADRJVTM.js.map → public-envelope-NJVB7LPA.js.map} +0 -0
  930. /package/dist/{registry-45RJNWGU.js.map → read-only-facade-CHCKSEPD.js.map} +0 -0
  931. /package/dist/{registry-5GRV5VXI.js.map → register-VCKOBWKT.js.map} +0 -0
  932. /package/dist/{registry-WEUCHBO4.js.map → registry-72UKJ2L4.js.map} +0 -0
  933. /package/dist/{request-withdrawal-GBPH2FDY.js.map → registry-BZFLJNEH.js.map} +0 -0
  934. /package/dist/{revoke-TUFRGI6S.js.map → registry-YJEYSYI5.js.map} +0 -0
  935. /package/dist/{signer-PNKTBVF7.js.map → request-withdrawal-6MJRMFHF.js.map} +0 -0
  936. /package/dist/{stale-3JWHNDIY.js.map → revoke-4KUNSVJC.js.map} +0 -0
  937. /package/dist/{withdraw-accessible-FFS46EOD.js.map → satellites/index.js.map} +0 -0
  938. /package/dist/{store-coordination-provider-3I7XWZZK.js.map → store-coordination-provider-HPYVFJCV.js.map} +0 -0
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Hierarchical access — the collection-level tier operations
3
+ * (`putAtTier` / `getAtTier` / `listAtTier` / `elevate` / `demote`).
4
+ *
5
+ * A collection opted into `{ tiers: [...] }` stamps `_tier: N` on each envelope
6
+ * and encrypts its body under the tier-N DEK. These helpers are the read/write
7
+ * surface for that scheme: write at a tier, read with tier-aware visibility
8
+ * (invisibility vs. ghost), and move a record up (`elevate`) or down (`demote`)
9
+ * the tier ladder by re-wrapping its body key.
10
+ *
11
+ * Each function takes a small {@link TiersContext} (the exact `this.*` the
12
+ * moving methods touched) instead of `this`, mirroring the `record-keys/`
13
+ * siblings. Behaviour is byte-identical to the inline code it replaced.
14
+ *
15
+ * The crux is `cekCache`: `elevate`/`demote`/`getAtTier` write the SAME `Lru`
16
+ * reference `Collection` owns (never a copy) so a per-record CEK re-wrap stays
17
+ * synchronous with the cache the kernel's write/read path also mutates. The
18
+ * cross-tier event sink stays collection-resident and is reached via the
19
+ * `emitCrossTierEvent` callback.
20
+ *
21
+ * Internal service — not exported as a `@noy-db/hub/*` subpath.
22
+ */
23
+ export { withTiers } from './active.js';
24
+ export { NO_TIERS, type TiersStrategy } from './strategy.js';
25
+ export { TiersNotEnabledError } from '../../kernel/errors.js';
26
+ import { type RecordCodec, type EnclaveKey, type SealedShredSlot } from '../../kernel/enclave/index.js';
27
+ import type { UnlockedKeyring } from '../../with-party/team/keyring.js';
28
+ import type { Lru } from '../../kernel/cache/index.js';
29
+ import { type NoydbStore, type EncryptedEnvelope, type GhostRecord, type TierMode, type CrossTierAccessEvent } from '../../kernel/types.js';
30
+ /** Everything the moving tier methods touched on `this.*`, as a flat context. */
31
+ export interface TiersContext<T> {
32
+ /** Collection name — the crypto AAD scope and tier-DEK key prefix. */
33
+ readonly name: string;
34
+ /** Vault namespace the records live under. */
35
+ readonly vault: string;
36
+ /** The ciphertext store. */
37
+ readonly adapter: NoydbStore;
38
+ /** The caller's unlocked keyring (tier-DEK holdings + role + userId). */
39
+ readonly keyring: UnlockedKeyring;
40
+ /** The record codec — decrypts a tier-0 envelope to T. */
41
+ readonly codec: RecordCodec<T>;
42
+ /**
43
+ * The collection's per-record CEK cache (SHARED reference, not a copy).
44
+ * `elevate`/`demote`/`getAtTier` re-wrap a record's CEK and `set` it here so
45
+ * the move stays synchronous with the cache the kernel's read/write path
46
+ * owns. `null` → no caching.
47
+ */
48
+ readonly cekCache: Lru<string, EnclaveKey> | null;
49
+ /** Emit `_source`/`_sourceTs` provenance fields when a source is supplied. */
50
+ readonly provenance: boolean;
51
+ /** Declared tiers, or null when the feature is off. */
52
+ readonly tiers: ReadonlySet<number> | null;
53
+ /** Above-tier read visibility mode (`'invisibility'` | `'ghost'`). */
54
+ readonly tierMode: TierMode;
55
+ /** Resolve a tier DEK by its `dekKey(name, tier)`. */
56
+ getDEK(key: string): Promise<EnclaveKey>;
57
+ /** Fire a cross-tier access event (sink stays collection-resident). */
58
+ emitCrossTierEvent(event: CrossTierAccessEvent): void;
59
+ }
60
+ export declare function assertTiersEnabled<T>(ctx: TiersContext<T>): void;
61
+ export declare function assertDeclaredTier<T>(ctx: TiersContext<T>, tier: number): void;
62
+ /**
63
+ * tier-aware put. Encrypts the record with the collection's tier-N DEK and
64
+ * stamps `_tier: N` on the envelope. The caller's keyring must hold the tier-N
65
+ * DEK (directly, by delegation, or by virtue of being the grantor); otherwise
66
+ * throws `TierNotGrantedError`.
67
+ *
68
+ * accepts an optional `elevation` context. When present, the emitted cross-tier
69
+ * event is stamped with `authorization: 'elevation'`, the elevation's reason,
70
+ * and the caller's pre-elevation tier. `vault.elevate(...).collection().put`
71
+ * threads this through; direct `putAtTier` calls leave it undefined and fall
72
+ * back to the inherent-write event shape.
73
+ */
74
+ export declare function putAtTier<T>(ctx: TiersContext<T>, id: string, record: T, tier: number, opts?: {
75
+ elevation?: {
76
+ reason: string;
77
+ fromTier: number;
78
+ };
79
+ source?: string;
80
+ sourceTs?: string;
81
+ }): Promise<void>;
82
+ /**
83
+ * tier-aware get. When the stored record is at a tier the caller cannot
84
+ * decrypt:
85
+ * - `'invisibility'` mode (default) → returns `null`.
86
+ * - `'ghost'` mode → returns a `GhostRecord` placeholder with the tier and
87
+ * the record id (the record exists but contents are withheld).
88
+ *
89
+ * Fully-cleared reads return the plaintext record and fire a cross-tier event
90
+ * when `_tier > 0`.
91
+ */
92
+ export declare function getAtTier<T>(ctx: TiersContext<T>, id: string): Promise<T | GhostRecord | null>;
93
+ /**
94
+ * list ids grouped by the caller's readability. Returns only ids whose tier the
95
+ * caller can read. Above-tier ids are omitted in `'invisibility'` mode and
96
+ * included (with tier metadata) in `'ghost'` mode.
97
+ */
98
+ export declare function listAtTier<T>(ctx: TiersContext<T>): Promise<Array<{
99
+ id: string;
100
+ tier: number;
101
+ readable: boolean;
102
+ }>>;
103
+ /**
104
+ * elevate a record to a higher tier. Re-encrypts with the target tier's DEK.
105
+ * The caller must hold DEKs for both the current tier (to decrypt) and the
106
+ * target tier (to re-encrypt). Stamps `_elevatedBy` with the caller id so
107
+ * `demote()` can check the reverse operation.
108
+ */
109
+ export declare function elevate<T>(ctx: TiersContext<T>, id: string, toTier: number): Promise<void>;
110
+ /**
111
+ * demote a record to a lower tier. Allowed only for the user who performed the
112
+ * last elevation or an owner.
113
+ */
114
+ export declare function demote<T>(ctx: TiersContext<T>, id: string, toTier: number): Promise<void>;
115
+ /**
116
+ * Classify a live envelope's `_sealed` slots for crypto-shred completeness
117
+ * (#M-1). Thin delegate to {@link RecordCodec.classifySealedShred}; surfaced
118
+ * here because `vault.ts` forget() reaches in via `collection._classifySealedShred`.
119
+ */
120
+ export declare function classifySealedShred<T>(ctx: TiersContext<T>, live: EncryptedEnvelope): Promise<{
121
+ readonly slots: readonly SealedShredSlot[];
122
+ }>;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Tiers capability strategy — the five on-demand collection-level tier
3
+ * operations the `Collection` routes through. The active engine
4
+ * ({@link withTiers}) dynamically imports the tier cores (keeping them out of
5
+ * the floor bundle); {@link NO_TIERS} throws. Collection always builds its
6
+ * per-call {@link TiersContext} and delegates here, so an un-opted-in caller
7
+ * hits `NO_TIERS`'s throw.
8
+ * @internal
9
+ */
10
+ import type { GhostRecord } from '../../kernel/types.js';
11
+ import type { TiersContext } from './index.js';
12
+ export interface TiersStrategy {
13
+ putAtTier<T>(ctx: TiersContext<T>, id: string, record: T, tier: number, opts?: {
14
+ elevation?: {
15
+ reason: string;
16
+ fromTier: number;
17
+ };
18
+ source?: string;
19
+ sourceTs?: string;
20
+ }): Promise<void>;
21
+ getAtTier<T>(ctx: TiersContext<T>, id: string): Promise<T | GhostRecord | null>;
22
+ listAtTier<T>(ctx: TiersContext<T>): Promise<Array<{
23
+ id: string;
24
+ tier: number;
25
+ readable: boolean;
26
+ }>>;
27
+ elevate<T>(ctx: TiersContext<T>, id: string, toTier: number): Promise<void>;
28
+ demote<T>(ctx: TiersContext<T>, id: string, toTier: number): Promise<void>;
29
+ }
30
+ /**
31
+ * No-op stub — the floor default. Every capability method throws
32
+ * {@link TiersNotEnabledError}; opt in with `tiersStrategy: withTiers()` in
33
+ * createNoydb. @internal
34
+ */
35
+ export declare const NO_TIERS: TiersStrategy;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Enable the cargo (partition extraction) capability.
3
+ * Pass to `createNoydb({ cargoStrategy: withCargo() })` to make the source-side
4
+ * `extractPartition(vault, ...)` free function live. The extraction crypto
5
+ * engine is dynamically imported here, so it stays out of the floor bundle
6
+ * until opted in. The recipient-side `adoptPartition` /
7
+ * `decryptExtractedPartition` free functions — and `diffVault` (shared
8
+ * import/merge infra) — are ungated and unaffected.
9
+ */
10
+ import type { CargoStrategy } from './strategy.js';
11
+ export declare function withCargo(): CargoStrategy;
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Partition adoption. Recipient side: verify an extracted bundle,
3
+ * validate the transfer key, import the re-keyed collections into a
4
+ * destination store, and record an `_meta/adoption` marker. The bundle
5
+ * stays UNOWNED after adoption — `createOwnerOnAdoptedPartition`
6
+ * mints the owner; the transfer seal is then destroyed.
7
+ *
8
+ * @module
9
+ */
10
+ import { type EnclaveKey } from '../kernel/enclave/index.js';
11
+ import type { NoydbStore } from '../kernel/types.js';
12
+ import type { SealingKeyProvider } from '../with-party/team/managed-passphrase.js';
13
+ import type { ShamirRecoveryProvider } from '../with-party/team/shamir-recovery-provider.js';
14
+ import type { RecoveryEnrollmentInput } from '../with-party/team/rotate-recover.js';
15
+ import type { TransferSealPayload } from '../with-pod/bundle.js';
16
+ /**
17
+ * Reverse of `sealDeks`. Imports the transfer key, decrypts the
18
+ * sealed `{ collection: base64(rawDEK) }` map (layout iv(12)‖ct‖tag), and
19
+ * re-imports each DEK as an AES-GCM key. Throws `TransferSealError` on a
20
+ * wrong key (AES-GCM auth-tag failure) or malformed payload.
21
+ */
22
+ export declare function unsealDeks(seal: TransferSealPayload, transferKey: Uint8Array): Promise<Map<string, EnclaveKey>>;
23
+ export interface AdoptPartitionOptions {
24
+ readonly transferKey: Uint8Array;
25
+ readonly destinationStore: NoydbStore;
26
+ readonly vaultName: string;
27
+ }
28
+ export interface AdoptPartitionResult {
29
+ readonly vaultName: string;
30
+ readonly needsOwner: true;
31
+ readonly sealId: string;
32
+ }
33
+ export declare function adoptPartition(bundleBytes: Uint8Array, opts: AdoptPartitionOptions): Promise<AdoptPartitionResult>;
34
+ export interface CreateOwnerResult {
35
+ readonly vaultName: string;
36
+ readonly userId: string;
37
+ }
38
+ /** Standard-mode owner: recipient supplies the passphrase. */
39
+ export interface CreateOwnerStandardOptions {
40
+ readonly userId: string;
41
+ readonly passphrase: string;
42
+ readonly transferKey: Uint8Array;
43
+ }
44
+ /**
45
+ * Managed-mode owner: the passphrase is minted + sealed under
46
+ * a `SealingKeyProvider` (e.g. an `at-*` OS keychain) so the partition
47
+ * auto-unlocks on the recipient's device. Managed mode mandates a strong
48
+ * (Shamir) recovery profile at creation, which needs the
49
+ * `shamirRecovery` provider injected.
50
+ */
51
+ export interface CreateOwnerManagedOptions {
52
+ readonly userId: string;
53
+ readonly passphraseMode: 'managed';
54
+ readonly sealingKey: SealingKeyProvider;
55
+ readonly recovery: ReadonlyArray<RecoveryEnrollmentInput>;
56
+ readonly shamirRecovery: ShamirRecoveryProvider;
57
+ readonly transferKey: Uint8Array;
58
+ }
59
+ export type CreateOwnerOptions = CreateOwnerStandardOptions | CreateOwnerManagedOptions;
60
+ /**
61
+ * Mint the first owner keyring on an adopted-but-unowned partition,
62
+ * then destroy the transfer seal.
63
+ *
64
+ * Standard mode: the recipient supplies a passphrase. Managed mode: the
65
+ * passphrase is minted + sealed under a `SealingKeyProvider` and a strong
66
+ * (Shamir) recovery profile is enrolled — orchestrated via the existing
67
+ * `openVaultAndEnrollRecovery` ceremony.
68
+ *
69
+ * Either way, reuses `createOwnerKeyring` to derive the KEK + write the base
70
+ * keyring, then wraps the partition's DEKs (recovered from the seal) under that
71
+ * KEK and re-persists the merged keyring file.
72
+ *
73
+ * Idempotent under retry: the seal is destroyed LAST (Stage D), after the
74
+ * keyring (Stage A), the ledger transition (Stage B), and — in managed mode —
75
+ * strong-recovery enrollment (Stage C). A failure in the fallible enrollment
76
+ * step leaves the seal intact, and re-running with the same `userId` +
77
+ * `transferKey` resumes from the first incomplete stage. (Multi-profile recovery
78
+ * arrays may re-enroll an already-enrolled profile on retry; managed mode's
79
+ * mandated single Shamir profile does not.)
80
+ */
81
+ export declare function createOwnerOnAdoptedPartition(store: NoydbStore, vaultName: string, opts: CreateOwnerOptions): Promise<CreateOwnerResult>;
@@ -0,0 +1,19 @@
1
+ /** One decrypted record from an extracted-partition compartment. */
2
+ export interface DecryptedRecord {
3
+ readonly id: string;
4
+ readonly record: Record<string, unknown>;
5
+ /** Source envelope write timestamp (ISO) — for last-write-wins merges. */
6
+ readonly ts: string;
7
+ /** Source envelope version. */
8
+ readonly version: number;
9
+ /** Provenance source id (FR-5). Present only when the source collection had provenance:true and a source was supplied on put. */
10
+ readonly source?: string;
11
+ /** ISO-8601 timestamp the provenance source was recorded (FR-5). */
12
+ readonly sourceTs?: string;
13
+ }
14
+ /**
15
+ * Decrypt every record of an extracted-partition bundle to plaintext,
16
+ * grouped by collection. Throws if the bundle isn't an
17
+ * extracted-partition or the transfer key is wrong.
18
+ */
19
+ export declare function decryptExtractedPartition(bundleBytes: Uint8Array, transferKey: Uint8Array): Promise<Record<string, DecryptedRecord[]>>;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Partition-extraction dry-run. Read-only preview of what an
3
+ * `extractPartition` would move: record counts, byte totals, and the
4
+ * timestamp span per collection — computed from raw encrypted
5
+ * envelopes WITHOUT decrypting them. Writes nothing, mutates nothing.
6
+ *
7
+ * @module
8
+ */
9
+ import type { Vault } from '../kernel/vault.js';
10
+ import { type WalkClosureOptions } from './walk-closure.js';
11
+ export interface ExtractionPreview {
12
+ readonly totalRecords: number;
13
+ /** Sum of serialized encrypted-envelope sizes (bytes). */
14
+ readonly totalBytes: number;
15
+ readonly byCollection: ReadonlyArray<{
16
+ readonly name: string;
17
+ readonly recordCount: number;
18
+ readonly bytes: number;
19
+ /** Earliest envelope `_ts` in this collection (lexicographic). */
20
+ readonly oldestTs?: string;
21
+ readonly newestTs?: string;
22
+ }>;
23
+ readonly graph: {
24
+ readonly depth: number;
25
+ readonly cyclesDetected: boolean;
26
+ };
27
+ /** Records the walk reached but whose envelope couldn't be read. */
28
+ readonly inaccessible: ReadonlyArray<{
29
+ readonly collection: string;
30
+ readonly id: string;
31
+ }>;
32
+ }
33
+ export declare function describeExtraction(vault: Vault, opts: WalkClosureOptions): Promise<ExtractionPreview>;
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Partition extraction. Walks the FK closure, re-encrypts
3
+ * the selected records under fresh per-collection DEKs, seals those DEKs
4
+ * under a one-time transfer key, and serializes an unowned
5
+ * `extracted-partition` bundle.
6
+ *
7
+ * @module
8
+ */
9
+ import type { Vault } from '../kernel/vault.js';
10
+ import type { EncryptedEnvelope } from '../kernel/types.js';
11
+ import { type EnclaveKey } from '../kernel/enclave/index.js';
12
+ import { type WalkClosureOptions } from './walk-closure.js';
13
+ import { type TransferSealPayload } from '../with-pod/bundle.js';
14
+ /** Re-keyed collections snapshot + the fresh DEKs used. */
15
+ export interface ReKeyResult {
16
+ readonly collections: Record<string, Record<string, EncryptedEnvelope>>;
17
+ readonly deks: Map<string, EnclaveKey>;
18
+ }
19
+ /**
20
+ * Re-encrypt every record in `closure` under a fresh per-collection DEK.
21
+ * Reads raw source envelopes, decrypts under the source DEK, re-encrypts
22
+ * under the new DEK. Plaintext-pipeline: requires an unlocked vault.
23
+ */
24
+ export declare function reKeyClosure(vault: Vault, closure: Map<string, Set<string>>, fieldProjection?: Record<string, readonly string[]>): Promise<ReKeyResult>;
25
+ /**
26
+ * Re-key the persisted JSON Schemas (`_schemas/<collection>`) for the
27
+ * closure collections under the destination DEKs. Returns a
28
+ * `{ collection: envelope }` map for the carried collections that actually
29
+ * have a schema; collections without one are omitted.
30
+ */
31
+ export declare function reKeySchemas(vault: Vault, closure: Map<string, Set<string>>, destDeks: Map<string, EnclaveKey>, fieldProjection?: Record<string, readonly string[]>): Promise<Record<string, EncryptedEnvelope>>;
32
+ export interface ReKeyLedgerResult {
33
+ /** { paddedIndex: re-encrypted entry envelope } for backup._internal._ledger. */
34
+ readonly entries: Record<string, EncryptedEnvelope>;
35
+ /** Recomputed ledgerHead for the carried chain (index -1 when empty). */
36
+ readonly head: {
37
+ hash: string;
38
+ index: number;
39
+ ts: string;
40
+ };
41
+ }
42
+ /**
43
+ * Build the carried `_ledger` chain for an extracted partition.
44
+ * Filters source entries to the closure, RE-CHAINS them (fresh index + prevHash),
45
+ * and re-encrypts under `ledgerDek`. The `payloadHash` is recomputed against the
46
+ * re-keyed envelope ONLY for the latest `put` per (collection,id) — the entry
47
+ * `verifyBackupIntegrity` cross-checks; earlier puts + deletes keep their source
48
+ * `payloadHash` verbatim (recomputing an intermediate put would assert a false
49
+ * hash for an older version). Amendments + out-of-closure entries are dropped;
50
+ * `_ledger_deltas`/`_history` are deferred to slice 2.
51
+ */
52
+ export declare function reKeyLedger(vault: Vault, closure: Map<string, Set<string>>, reKeyedCollections: Record<string, Record<string, EncryptedEnvelope>>, ledgerDek: EnclaveKey): Promise<ReKeyLedgerResult>;
53
+ /** Carried blob internals + the fresh transfer `_blob` DEK (present only when
54
+ * the closure references at least one chunk-based blob). */
55
+ export interface ReKeyBlobsResult {
56
+ /** `_blob_slots_<C>` / `_blob_versions_<C>` / `_blob_index` / `_blob_chunks`
57
+ * envelopes for the bundle's `_internal` map. */
58
+ readonly internal: Record<string, Record<string, EncryptedEnvelope>>;
59
+ /** Fresh transfer `_blob` DEK — seal it so owner-creation wraps it under the
60
+ * recipient KEK. Undefined when no blob travels (source keyring untouched). */
61
+ readonly blobDek?: EnclaveKey;
62
+ }
63
+ /**
64
+ * Carry the FK-closed slice's blobs — HARDENED key handling (no master-key leak).
65
+ *
66
+ * The source vault's shared `_blob` DEK decrypts (or unwraps the content CEK of)
67
+ * EVERY blob in the source. Sealing it into the transfer would hand the recipient
68
+ * a key to blobs far outside their slice. Instead we mint a **fresh transfer
69
+ * `_blob` DEK** and arrange every carried blob into per-blob-CEK mode under it:
70
+ *
71
+ * - **erasable blob** (`_cek` present): unwrap the per-blob content CEK under the
72
+ * SOURCE `_blob` DEK, re-wrap it under the FRESH transfer DEK. Chunks travel
73
+ * **verbatim** (still ciphertext under that same content CEK — passthrough).
74
+ * - **legacy blob** (no `_cek`, chunks under the shared `_blob` DEK): promote it
75
+ * IN-BUNDLE — mint a fresh content CEK, decrypt each chunk under the source
76
+ * `_blob` DEK and re-encrypt under the content CEK (same AAD, so the eTag-bound
77
+ * integrity holds), then wrap the content CEK under the transfer DEK. The
78
+ * SOURCE is never mutated (non-destructive), and the bundle never holds
79
+ * plaintext blob bytes (zero-knowledge preserved).
80
+ *
81
+ * **eTag identity is preserved** (not re-HMAC'd). eTags are HMAC-keyed off the
82
+ * `_blob` DEK, but they are stored as OPAQUE keys (`_blob_index/<eTag>`,
83
+ * `_blob_chunks/<eTag>_<i>`) and never recomputed on read — only on a `put()`
84
+ * for dedup. Keeping them verbatim keeps every slot/version/index/chunk key and
85
+ * the chunk AAD coherent with zero chunk-key churn. The only consequence: a
86
+ * future `put()` of identical bytes in the adopted vault computes a different
87
+ * eTag (HMAC under the fresh DEK) and will NOT dedup against the carried blob —
88
+ * an accepted, documented trade for hardened key isolation.
89
+ *
90
+ * Slots/versions are re-keyed under their parent collection's destination DEK
91
+ * (honoring `fieldProjection` — projected-out blob fields' slots never travel);
92
+ * `BlobObject.refCount` is recomputed from carried references only.
93
+ *
94
+ * `external` slots reference an unencrypted shared-bucket object that is not in
95
+ * the bundle — their slot metadata travels (so the catalog entry survives) but
96
+ * the bytes do not (a documented v1 limitation; their eTag is `''`).
97
+ */
98
+ export declare function reKeyBlobs(vault: Vault, closure: Map<string, Set<string>>, destDeks: Map<string, EnclaveKey>, fieldProjection?: Record<string, readonly string[]>): Promise<ReKeyBlobsResult>;
99
+ /** A minted transfer key (raw 32 bytes) + the seal carrying the DEK set. */
100
+ export interface SealResult {
101
+ readonly seal: TransferSealPayload;
102
+ readonly transferKey: Uint8Array;
103
+ }
104
+ /**
105
+ * Mint a random 32-byte transfer key, export each DEK to raw bytes, and
106
+ * AES-256-GCM-seal the `{ collection: base64(rawDEK) }` map under the
107
+ * transfer key. The transfer key is returned to the caller out-of-band;
108
+ * only the sealed bytes travel in the bundle. Layout: iv(12) ‖ ct ‖ tag.
109
+ */
110
+ export declare function sealDeks(deks: Map<string, EnclaveKey>): Promise<SealResult>;
111
+ export interface ExtractPartitionResult {
112
+ readonly bundleBytes: Uint8Array;
113
+ /** Raw 32-byte transfer key — deliver out-of-band; required to adopt. */
114
+ readonly transferKey: Uint8Array;
115
+ readonly sealId: string;
116
+ }
117
+ /**
118
+ * Extract a re-keyed, transfer-sealed partition. Owner-only
119
+ * (invariant 5): producing a standalone re-keyed vault is an
120
+ * ownership operation. Non-destructive on the source.
121
+ */
122
+ export type ExtractPartitionOptions = WalkClosureOptions & {
123
+ readonly compression?: 'auto' | 'brotli' | 'gzip' | 'none';
124
+ readonly carrySchemas?: boolean;
125
+ readonly carryLedger?: boolean;
126
+ /**
127
+ * FR-7 structural field projection: per-collection allow-list of fields
128
+ * to keep. Non-listed fields are dropped from each record BEFORE
129
+ * re-encryption (so they never travel in the bundle); `id` is always
130
+ * preserved. A projected collection's persisted schema is NOT carried.
131
+ * Absent/empty → un-projected behavior (byte-identical to today).
132
+ */
133
+ readonly fieldProjection?: Record<string, readonly string[]>;
134
+ };
135
+ /**
136
+ * Public extract-partition entry — gated behind `cargoStrategy: withCargo()`
137
+ * (S4). Routes through the source vault's cargo strategy so an un-opted-in
138
+ * caller hits `NO_CARGO`'s throw; `withCargo()` dynamically imports and runs
139
+ * {@link extractPartitionCore} (the crypto engine, kept out of the floor).
140
+ */
141
+ export declare function extractPartition(vault: Vault, opts: ExtractPartitionOptions): Promise<ExtractPartitionResult>;
142
+ /**
143
+ * The extract-partition crypto engine — reached only when `withCargo()` is
144
+ * opted in (via the lazy `with-cargo/active.ts` chunk). Body unchanged from the
145
+ * hardened implementation; only the public gate wraps it.
146
+ */
147
+ export declare function extractPartitionCore(vault: Vault, opts: ExtractPartitionOptions): Promise<ExtractPartitionResult>;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * **@noy-db/hub/cargo** — the orchestration seam klum binds. Canonical
3
+ * successor to `/kernel` (the published `/kernel` subpath alias has been
4
+ * retired — coordinated removal, consumers migrated).
5
+ *
6
+ * `cargo` is the layer of services + interfaces required to **manage pods** —
7
+ * the multi-vault management plane klum-db binds: custody, deed, diff,
8
+ * distributed query, addressing, and change-observation. It consolidates the
9
+ * runtime floor formerly published as `/kernel` plus the orchestration delta.
10
+ *
11
+ * See docs/superpowers/specs/2026-07-01-noydb-architecture-lexicon.md.
12
+ *
13
+ * @packageDocumentation
14
+ */
15
+ export * from '../legacy/kernel.js';
16
+ export { CustodyApi } from '../with-party/custody/index.js';
17
+ export type { GrantCustodianOptions } from '../with-party/custody/index.js';
18
+ export { liberateVault } from '../with-party/custody/liberate.js';
19
+ export type { LiberateOptions, LiberateResult } from '../with-party/custody/liberate.js';
20
+ export { createDeedOwner, loadDeedMarker, isDeedVault } from '../with-party/team/deed.js';
21
+ export type { DeedMarker } from '../with-party/team/deed.js';
22
+ export type { SealingKeyProvider } from '../with-party/team/managed-passphrase.js';
23
+ export { diffVault } from './vault-diff.js';
24
+ export { STATE_VAULT_NAME } from '../kernel/constants.js';
25
+ export { withCargo } from './active.js';
26
+ export { NO_CARGO } from './strategy.js';
27
+ export type { CargoStrategy } from './strategy.js';
28
+ export { CargoNotEnabledError } from '../kernel/errors.js';
29
+ export type { WriteHook } from '../port/with/write-hooks.js';
30
+ export type { WriteQueue } from '../kernel/write-queue.js';
31
+ export type { WriteConflict } from '../kernel/types.js';
32
+ export type { AccessibleVault } from '../kernel/types.js';
33
+ export type { Unsubscribe } from '../kernel/types.js';
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Cargo capability strategy (FR-6/FR-7) — the source-side, owner-level
3
+ * partition operation that requires a live {@link Vault}: extracting a re-keyed
4
+ * transfer-sealed partition ({@link extractPartitionCore}). The active engine
5
+ * ({@link withCargo}) dynamically imports that engine (keeping the extraction
6
+ * crypto out of the floor bundle); {@link NO_CARGO} throws.
7
+ *
8
+ * The public free function `extractPartition` (which takes a `Vault`) delegates
9
+ * here via `vault.cargoStrategy`, so an un-opted-in caller hits `NO_CARGO`'s
10
+ * throw.
11
+ *
12
+ * Carve-out (mirrors `openSealedRecord` / `liberateVault`): the recipient-side
13
+ * free functions `adoptPartition` and `decryptExtractedPartition` operate on
14
+ * raw bundle bytes + a destination store — they carry NO source instance to
15
+ * gate against, so they stay ungated host-side tooling. `diffVault` is likewise
16
+ * ungated: it's shared import/merge infrastructure the `as-*` exporters call
17
+ * internally, not a gated cargo capability.
18
+ * @internal
19
+ */
20
+ import type { Vault } from '../kernel/vault.js';
21
+ import type { ExtractPartitionResult, ExtractPartitionOptions } from './extract-partition.js';
22
+ export interface CargoStrategy {
23
+ extractPartition(vault: Vault, opts: ExtractPartitionOptions): Promise<ExtractPartitionResult>;
24
+ }
25
+ /**
26
+ * No-op stub — the floor default. The source-side cargo op throws
27
+ * {@link CargoNotEnabledError}; opt in with `cargoStrategy: withCargo()` in
28
+ * createNoydb. @internal
29
+ */
30
+ export declare const NO_CARGO: CargoStrategy;
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Vault-level diff orchestrator.
3
+ *
4
+ * Compares a live `Vault`'s plaintext state against a candidate state
5
+ * (another vault, a plain `{ collection: records[] }` map, or a vault
6
+ * dump JSON) and returns a structured `VaultDiff` plan listing the
7
+ * records that would be added, modified, or deleted to bring the live
8
+ * vault into the candidate's shape.
9
+ *
10
+ * Builds on two existing record-level helpers:
11
+ *
12
+ * 1. `diff(a, b)` from `./history/diff.ts` — emits dot-pathed
13
+ * `DiffEntry[]` with `type: 'added' | 'removed' | 'changed'` for
14
+ * each changed field of two records. Used here for the
15
+ * `fieldDiffs` of every `modified` entry, and (with empty result)
16
+ * as the default deep-equal check.
17
+ *
18
+ * 2. `Vault.exportStream()` from `./vault.ts` — the canonical
19
+ * decrypt-and-stream-records iterator. Used to walk both sides
20
+ * when the candidate is itself a `Vault`. ACL-scoped: collections
21
+ * the caller can't read silently drop out, the same way every
22
+ * other plaintext-emitting export pipeline filters them.
23
+ *
24
+ * The new orchestration is the **vault-level** enumeration: bucket
25
+ * each record id into added (only in candidate), deleted (only in
26
+ * vault), or modified (in both with field changes); leave the
27
+ * field-level granularity to the existing `diff()`.
28
+ *
29
+ * Use cases:
30
+ *
31
+ * - Import preview (`@noy-db/as-*` `fromString` returns a plan
32
+ * whose body is a `VaultDiff`).
33
+ * - Backup verification ("does this `.noydb` bundle from yesterday
34
+ * match the current vault?").
35
+ * - Two-vault reconciliation ("what's different between Office A
36
+ * and Office B before we sync?").
37
+ * - Test assertions (golden-file testing with one-liner
38
+ * `expect(plan.summary).toEqual(...)`).
39
+ *
40
+ * @module
41
+ */
42
+ import type { Vault } from '../kernel/vault.js';
43
+ import { type DiffEntry as FieldDiffEntry } from '../with-commit/history/diff.js';
44
+ /** Per-record entry shape — added and deleted records carry only the record value. */
45
+ export interface VaultDiffEntry<T = unknown> {
46
+ readonly collection: string;
47
+ readonly id: string;
48
+ readonly record: T;
49
+ /**
50
+ * Unencrypted envelope metadata for the RECEIVER-side record.
51
+ * Populated only when `diffVault` is called with `{includeMetadata: true}`.
52
+ * Default: `undefined` (zero extra reads, no behavior change).
53
+ *
54
+ * Populated for `modified` (the CURRENT receiver state, before the candidate
55
+ * is applied) and `deleted` (the receiver envelope of the record being
56
+ * removed). `added` entries have no receiver envelope at diff time, so their
57
+ * `metadata` is always absent.
58
+ */
59
+ readonly metadata?: {
60
+ readonly version: number;
61
+ readonly timestamp: string;
62
+ readonly by?: string;
63
+ readonly source?: string;
64
+ readonly sourceTs?: string;
65
+ };
66
+ }
67
+ /** Modified records carry both halves of the diff plus the field-level breakdown. */
68
+ export interface VaultDiffModifiedEntry<T = unknown> extends VaultDiffEntry<T> {
69
+ /** The record as it stands in the live vault. */
70
+ readonly before: T;
71
+ /** Top-level keys whose values differ between `before` and `record`. */
72
+ readonly fieldsChanged: readonly string[];
73
+ /**
74
+ * Field-level diff entries from `diff(before, record)`. Reuses the
75
+ * existing per-record diff helper so consumers can render git-style
76
+ * `path: from → to` rows without re-walking the records.
77
+ */
78
+ readonly fieldDiffs: readonly FieldDiffEntry[];
79
+ }
80
+ export interface VaultDiff<T = unknown> {
81
+ readonly added: readonly VaultDiffEntry<T>[];
82
+ readonly modified: readonly VaultDiffModifiedEntry<T>[];
83
+ readonly deleted: readonly VaultDiffEntry<T>[];
84
+ /** Only populated when `options.includeUnchanged: true`. */
85
+ readonly unchanged: readonly VaultDiffEntry<T>[] | undefined;
86
+ readonly summary: {
87
+ readonly add: number;
88
+ readonly modify: number;
89
+ readonly delete: number;
90
+ readonly total: number;
91
+ };
92
+ /**
93
+ * Format the diff as a human-readable string.
94
+ *
95
+ * - `'count'` — one line, just the numbers (`12 added · 3 modified · 0 deleted`)
96
+ * - `'one-line'` — count plus a single overview line
97
+ * - `'full'` — count + one row per added/modified/deleted record (default)
98
+ */
99
+ format(opts?: {
100
+ detail?: 'count' | 'one-line' | 'full';
101
+ }): string;
102
+ }
103
+ export interface DiffOptions {
104
+ /** Restrict the diff to a subset of collections. */
105
+ readonly collections?: readonly string[];
106
+ /** Field on each record that carries its id. Defaults to `'id'`. */
107
+ readonly idKey?: string;
108
+ /** Override the default deep-equal check for "modified vs unchanged". */
109
+ readonly compareFn?: (a: unknown, b: unknown) => boolean;
110
+ /** If true, include unchanged records in the diff (off by default to save memory). */
111
+ readonly includeUnchanged?: boolean;
112
+ /**
113
+ * When `true`, each entry in `added`, `modified`, and `deleted` will carry a
114
+ * `metadata` field with the RECEIVER-side envelope metadata
115
+ * (`version`, `timestamp`, `by?`, `source?`, `sourceTs?`).
116
+ *
117
+ * Off by default — no extra adapter reads, no behavior change for existing callers.
118
+ */
119
+ readonly includeMetadata?: boolean;
120
+ }
121
+ /**
122
+ * Candidate state to diff the vault against:
123
+ *
124
+ * - A `Vault` instance — both sides are walked via `exportStream()`.
125
+ * - A `Record<collection, records[]>` map — same shape `as-json.toObject()`
126
+ * produces. Useful for diffing parsed file content against the live vault.
127
+ * - A `VaultDump` (output of `vault.dump()`) — a JSON string carrying the
128
+ * full vault state. Parsed and reduced to the map shape above.
129
+ */
130
+ export type DiffCandidate<T = unknown> = Vault | Record<string, readonly T[]> | string;
131
+ /**
132
+ * Compute the diff between a live vault and a candidate state.
133
+ *
134
+ * Ungated shared import/merge infrastructure: the `as-*` exporters call this
135
+ * internally from their `fromString`/import merge logic, so it is always
136
+ * available (not behind `withCargo()`). Only `extractPartition` is a gated
137
+ * cargo capability.
138
+ *
139
+ * Returns a fully buffered `VaultDiff` — no streaming. Memory cost is
140
+ * O(n + m) in the row count of vault + candidate. For documented
141
+ * 1K-50K-record vaults this is fine; a streaming variant lands as a
142
+ * follow-up if a > 100K-record consumer arrives.
143
+ */
144
+ export declare function diffVault<T = unknown>(vault: Vault, candidate: DiffCandidate<T>, options?: DiffOptions): Promise<VaultDiff<T>>;