@noy-db/hub 0.3.0-pre.9 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (958) hide show
  1. package/dist/aggregate/index.js +5 -5
  2. package/dist/api-ZGS6LCOF.js +20 -0
  3. package/dist/as/index.js +11 -11
  4. package/dist/attestation/index.js +18 -18
  5. package/dist/backup-BJ57IKAO.js +242 -0
  6. package/dist/backup-BJ57IKAO.js.map +1 -0
  7. package/dist/blobs/index.js +13 -11
  8. package/dist/blobs/index.js.map +1 -1
  9. package/dist/broker/index.js +92 -0
  10. package/dist/broker/index.js.map +1 -0
  11. package/dist/bundle/index.js +25 -22
  12. package/dist/bundle/index.js.map +1 -1
  13. package/dist/by/index.js +2 -2
  14. package/dist/cargo/index.js +31 -32
  15. package/dist/chunk-2NVOWNI3.js +167 -0
  16. package/dist/chunk-2NVOWNI3.js.map +1 -0
  17. package/dist/chunk-3B5VVCNY.js +71 -0
  18. package/dist/chunk-3LQ2YKO4.js +230 -0
  19. package/dist/chunk-3QCRBHCY.js +54 -0
  20. package/dist/chunk-454JXE57.js +1697 -0
  21. package/dist/chunk-454JXE57.js.map +1 -0
  22. package/dist/chunk-4CTHCN4J.js +480 -0
  23. package/dist/chunk-4CTHCN4J.js.map +1 -0
  24. package/dist/chunk-4GPE63GU.js +111 -0
  25. package/dist/chunk-4GPE63GU.js.map +1 -0
  26. package/dist/chunk-4JBYV75E.js +150 -0
  27. package/dist/chunk-4NXKCLLQ.js +97 -0
  28. package/dist/chunk-4VNQOLML.js +29 -0
  29. package/dist/chunk-4VNQOLML.js.map +1 -0
  30. package/dist/chunk-5M5DVGV7.js +69 -0
  31. package/dist/chunk-5O3XF4DV.js +150 -0
  32. package/dist/chunk-5O3XF4DV.js.map +1 -0
  33. package/dist/chunk-5YOLBEQ6.js +30 -0
  34. package/dist/chunk-6CRIV7DE.js +129 -0
  35. package/dist/chunk-6JTIAGHD.js +621 -0
  36. package/dist/chunk-6JTIAGHD.js.map +1 -0
  37. package/dist/chunk-6QTNZJBS.js +255 -0
  38. package/dist/chunk-6T2SCQRU.js +86 -0
  39. package/dist/chunk-7DSTRQIJ.js +45 -0
  40. package/dist/chunk-AUSTCW2X.js +589 -0
  41. package/dist/chunk-B3HJYUOF.js +209 -0
  42. package/dist/chunk-BDVFPG6Y.js +164 -0
  43. package/dist/chunk-BIOUI4HL.js +1554 -0
  44. package/dist/chunk-BIOUI4HL.js.map +1 -0
  45. package/dist/chunk-CAF6WOK7.js +36 -0
  46. package/dist/chunk-CDUQTA3Z.js +381 -0
  47. package/dist/chunk-CDUQTA3Z.js.map +1 -0
  48. package/dist/chunk-CIE2BASH.js +404 -0
  49. package/dist/chunk-CRI4OUV4.js +42 -0
  50. package/dist/chunk-DLG74CNB.js +91 -0
  51. package/dist/chunk-E5ZQT5KX.js +30 -0
  52. package/dist/chunk-E5ZQT5KX.js.map +1 -0
  53. package/dist/chunk-EQO2UVP4.js +247 -0
  54. package/dist/chunk-EQO2UVP4.js.map +1 -0
  55. package/dist/chunk-ERJ7FU55.js +367 -0
  56. package/dist/chunk-EVVGJDRQ.js +205 -0
  57. package/dist/chunk-EVX47VBM.js +74 -0
  58. package/dist/chunk-EVX47VBM.js.map +1 -0
  59. package/dist/chunk-EXK7QRWF.js +59 -0
  60. package/dist/chunk-EYZ6IQ6X.js +202 -0
  61. package/dist/chunk-F64IRYG3.js +45 -0
  62. package/dist/chunk-FHS2HQSH.js +823 -0
  63. package/dist/chunk-FM3G3NOY.js +206 -0
  64. package/dist/chunk-FM3G3NOY.js.map +1 -0
  65. package/dist/chunk-FUG4SFN3.js +36 -0
  66. package/dist/chunk-FUG4SFN3.js.map +1 -0
  67. package/dist/chunk-GKEWXIV5.js +80 -0
  68. package/dist/chunk-GTGPO5KW.js +59 -0
  69. package/dist/chunk-HB3RFQSC.js +95 -0
  70. package/dist/chunk-HDMEGAQE.js +957 -0
  71. package/dist/chunk-HDMEGAQE.js.map +1 -0
  72. package/dist/chunk-HDQIIUPH.js +135 -0
  73. package/dist/chunk-HDQIIUPH.js.map +1 -0
  74. package/dist/chunk-HTJQYHZP.js +344 -0
  75. package/dist/chunk-HTJQYHZP.js.map +1 -0
  76. package/dist/chunk-I6GALP6E.js +99 -0
  77. package/dist/chunk-IGJCYUT5.js +99 -0
  78. package/dist/chunk-IGJCYUT5.js.map +1 -0
  79. package/dist/chunk-IL6POWCW.js +130 -0
  80. package/dist/chunk-IU6SNYX6.js +117 -0
  81. package/dist/chunk-J2ZX2XUV.js +778 -0
  82. package/dist/chunk-JIF24JPM.js +495 -0
  83. package/dist/chunk-JIF24JPM.js.map +1 -0
  84. package/dist/chunk-JK733I5V.js +23 -0
  85. package/dist/chunk-JK733I5V.js.map +1 -0
  86. package/dist/chunk-JKJOGPZN.js +29 -0
  87. package/dist/chunk-JNAI2HN2.js +32 -0
  88. package/dist/chunk-JNAI2HN2.js.map +1 -0
  89. package/dist/chunk-JZUV47FZ.js +41 -0
  90. package/dist/chunk-K5IMOGHB.js +30 -0
  91. package/dist/chunk-KPZS5QAQ.js +151 -0
  92. package/dist/chunk-KPZS5QAQ.js.map +1 -0
  93. package/dist/chunk-KSKBRKGJ.js +291 -0
  94. package/dist/chunk-KSKBRKGJ.js.map +1 -0
  95. package/dist/chunk-LASZKVMO.js +382 -0
  96. package/dist/chunk-LXEXBTKL.js +515 -0
  97. package/dist/chunk-LXEXBTKL.js.map +1 -0
  98. package/dist/chunk-M4CV6BRT.js +524 -0
  99. package/dist/chunk-M4CV6BRT.js.map +1 -0
  100. package/dist/chunk-MEFJPTZ4.js +371 -0
  101. package/dist/chunk-MEFJPTZ4.js.map +1 -0
  102. package/dist/chunk-MV43JSJF.js +265 -0
  103. package/dist/chunk-MV43JSJF.js.map +1 -0
  104. package/dist/chunk-NJ4EOKMB.js +392 -0
  105. package/dist/chunk-NJ4EOKMB.js.map +1 -0
  106. package/dist/chunk-NR5LT5RY.js +135 -0
  107. package/dist/chunk-NWSGI5C7.js +261 -0
  108. package/dist/chunk-OSDB5WW3.js +739 -0
  109. package/dist/chunk-OSDB5WW3.js.map +1 -0
  110. package/dist/chunk-PN2XMATY.js +37 -0
  111. package/dist/chunk-PN2XMATY.js.map +1 -0
  112. package/dist/chunk-Q5VNKNE5.js +70 -0
  113. package/dist/chunk-QLWMEXCT.js +21 -0
  114. package/dist/chunk-QRB7NAOJ.js +123 -0
  115. package/dist/chunk-R4ROFEYC.js +74 -0
  116. package/dist/chunk-RCVJZMFE.js +164 -0
  117. package/dist/chunk-RCVJZMFE.js.map +1 -0
  118. package/dist/chunk-RIX4V2TB.js +367 -0
  119. package/dist/chunk-RYCTDFUX.js +40 -0
  120. package/dist/chunk-RZ5SVOYR.js +155 -0
  121. package/dist/chunk-SLFHQTTW.js +99 -0
  122. package/dist/chunk-SNZ6URZZ.js +2782 -0
  123. package/dist/chunk-SNZ6URZZ.js.map +1 -0
  124. package/dist/chunk-T2FFWNPK.js +75 -0
  125. package/dist/chunk-UNFPPVNI.js +23 -0
  126. package/dist/chunk-VFUPHI2Z.js +333 -0
  127. package/dist/chunk-VFUPHI2Z.js.map +1 -0
  128. package/dist/chunk-VLFCJYTL.js +235 -0
  129. package/dist/chunk-VN3DBQAU.js +124 -0
  130. package/dist/chunk-VYYM3MEN.js +98 -0
  131. package/dist/chunk-VYYM3MEN.js.map +1 -0
  132. package/dist/chunk-VZRODIM3.js +49 -0
  133. package/dist/chunk-W22IKJE2.js +94 -0
  134. package/dist/chunk-X3YYQWOQ.js +155 -0
  135. package/dist/chunk-X7QBD67R.js +14405 -0
  136. package/dist/chunk-X7QBD67R.js.map +1 -0
  137. package/dist/chunk-XDYREZWE.js +1128 -0
  138. package/dist/chunk-XDYREZWE.js.map +1 -0
  139. package/dist/chunk-XWZVFISC.js +720 -0
  140. package/dist/chunk-XWZVFISC.js.map +1 -0
  141. package/dist/chunk-YFXZEAYK.js +85 -0
  142. package/dist/chunk-ZAJAVEXY.js +50 -0
  143. package/dist/chunk-ZICD77GM.js +34 -0
  144. package/dist/chunk-ZJ2AK4V7.js +38 -0
  145. package/dist/chunk-ZUODRVHY.js +14 -0
  146. package/dist/classified/index.js +5 -5
  147. package/dist/classified-marker-CZKA6ITE.js +28 -0
  148. package/dist/classified-marker-CZKA6ITE.js.map +1 -0
  149. package/dist/collection-facade-TLWIPI76.js +44 -0
  150. package/dist/computed-ZIQTYTDI.js +11 -0
  151. package/dist/consent/index.js +9 -9
  152. package/dist/crdt/index.js +1 -1
  153. package/dist/dead-filter-ESOBZZP5.js +28 -0
  154. package/dist/delegation-W7ZV2322.js +25 -0
  155. package/dist/derivations/index.js +12 -12
  156. package/dist/derive-H2BJTLUI.js +21 -0
  157. package/dist/enclave-AP3I5W7O.js +141 -0
  158. package/dist/executor-KGWTNEQD.js +9 -0
  159. package/dist/executor-OVEXR6RT.js +9 -0
  160. package/dist/executor-UNEH5ZYH.js +25 -0
  161. package/dist/export-accessible-PCMXSUZS.js +23 -0
  162. package/dist/extract-partition-SWHFSYJO.js +38 -0
  163. package/dist/fanout-sidecar-A765THMX.js +74 -0
  164. package/dist/find-N6345CNT.js +11 -0
  165. package/dist/forget/index.js +10 -10
  166. package/dist/forget/index.js.map +1 -1
  167. package/dist/guards/index.js +6 -6
  168. package/dist/history/index.js +14 -11
  169. package/dist/history/index.js.map +1 -1
  170. package/dist/i18n/index.js +21 -19
  171. package/dist/i18n/index.js.map +1 -1
  172. package/dist/index.d.ts +307 -1493
  173. package/dist/index.js +309 -190
  174. package/dist/index.js.map +1 -1
  175. package/dist/indexing/index.js +7 -7
  176. package/dist/indexing/index.js.map +1 -1
  177. package/dist/issue-5OKB6I2R.js +19 -0
  178. package/dist/kernel/best-effort-revert.d.ts +52 -0
  179. package/dist/kernel/cache/index.d.ts +10 -0
  180. package/dist/kernel/cache/lru.d.ts +97 -0
  181. package/dist/kernel/cache/policy.d.ts +32 -0
  182. package/dist/kernel/collection-config.d.ts +809 -0
  183. package/dist/kernel/collection.d.ts +1522 -0
  184. package/dist/kernel/constants.d.ts +18 -0
  185. package/dist/kernel/debug.d.ts +25 -0
  186. package/dist/kernel/enclave/broker/proof.d.ts +154 -0
  187. package/dist/kernel/enclave/classify/bidx.d.ts +77 -0
  188. package/dist/kernel/enclave/classify/compare.d.ts +10 -0
  189. package/dist/kernel/enclave/classify/digest.d.ts +8 -0
  190. package/dist/kernel/enclave/classify/find.d.ts +36 -0
  191. package/dist/kernel/enclave/classify/kofn.d.ts +7 -0
  192. package/dist/kernel/enclave/classify/normalize.d.ts +7 -0
  193. package/dist/kernel/enclave/classify/reveal.d.ts +10 -0
  194. package/dist/kernel/enclave/classify/vdig.d.ts +39 -0
  195. package/dist/kernel/enclave/classify/verify.d.ts +36 -0
  196. package/dist/kernel/enclave/classify/write.d.ts +8 -0
  197. package/dist/kernel/enclave/crypto.d.ts +263 -0
  198. package/dist/kernel/enclave/index.d.ts +79 -0
  199. package/dist/kernel/enclave/record-keys/deterministic.d.ts +55 -0
  200. package/dist/kernel/enclave/record-keys/envelope-body.d.ts +79 -0
  201. package/dist/kernel/enclave/record-keys/lifecycle.d.ts +107 -0
  202. package/dist/kernel/enclave/record-keys/record-codec.d.ts +328 -0
  203. package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +14 -0
  204. package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +123 -0
  205. package/dist/kernel/enclave/record-keys/sealing.d.ts +70 -0
  206. package/dist/kernel/enclave/record-keys/tombstone.d.ts +57 -0
  207. package/dist/kernel/env-check.d.ts +1 -0
  208. package/dist/kernel/errors.d.ts +1922 -0
  209. package/dist/kernel/events.d.ts +11 -0
  210. package/dist/kernel/lazy-count.d.ts +13 -0
  211. package/dist/kernel/memory-store.d.ts +17 -0
  212. package/dist/kernel/mutation.d.ts +14 -0
  213. package/dist/kernel/noydb.d.ts +826 -0
  214. package/dist/kernel/paths.d.ts +25 -0
  215. package/dist/kernel/query/builder.d.ts +520 -0
  216. package/dist/kernel/query/index.d.ts +31 -0
  217. package/dist/kernel/query/join.d.ts +205 -0
  218. package/dist/kernel/query/live.d.ts +111 -0
  219. package/dist/kernel/query/predicate.d.ts +139 -0
  220. package/dist/kernel/query/scan-builder.d.ts +334 -0
  221. package/dist/kernel/refs.d.ts +205 -0
  222. package/dist/kernel/schema.d.ts +134 -0
  223. package/dist/kernel/sync-policy.d.ts +188 -0
  224. package/dist/kernel/tier-visibility.d.ts +54 -0
  225. package/dist/kernel/types.d.ts +3239 -0
  226. package/dist/kernel/util/discriminant.d.ts +58 -0
  227. package/dist/kernel/util/index.d.ts +14 -0
  228. package/dist/kernel/util/sanitize-filename.d.ts +75 -0
  229. package/dist/kernel/validation.d.ts +130 -0
  230. package/dist/kernel/vault.d.ts +1740 -0
  231. package/dist/kernel/via/compose.d.ts +144 -0
  232. package/dist/kernel/via/dispatch.d.ts +195 -0
  233. package/dist/kernel/via/graph-wiring.d.ts +145 -0
  234. package/dist/kernel/via/graph.d.ts +166 -0
  235. package/dist/kernel/via/index.d.ts +200 -0
  236. package/dist/kernel/via/pipeline.d.ts +266 -0
  237. package/dist/kernel/via/reconcile.d.ts +153 -0
  238. package/dist/kernel/via/taint-binding.d.ts +66 -0
  239. package/dist/kernel/write-queue.d.ts +46 -0
  240. package/dist/ledger-GFBKVPV4.js +42 -0
  241. package/dist/legacy/bundle.d.ts +30 -0
  242. package/dist/legacy/kernel.d.ts +33 -0
  243. package/dist/liberate-3VDOT4KO.js +24 -0
  244. package/dist/link-set-Z7Q2ASFX.js +31 -0
  245. package/dist/materialized-views/index.js +19 -17
  246. package/dist/noydb-ZCJOYBDI.js +68 -0
  247. package/dist/on/index.js +9 -9
  248. package/dist/overlay-views/index.js +4 -4
  249. package/dist/periods/index.js +12 -12
  250. package/dist/pod/index.js +11 -11
  251. package/dist/policy-Z3RUAIY2.js +41 -0
  252. package/dist/port/as/index.d.ts +26 -0
  253. package/dist/port/at/index.d.ts +18 -0
  254. package/dist/port/by/default-provider.d.ts +9 -0
  255. package/dist/port/by/index.d.ts +17 -0
  256. package/dist/port/by/types.d.ts +86 -0
  257. package/dist/port/in/index.d.ts +21 -0
  258. package/dist/port/on/index.d.ts +27 -0
  259. package/dist/port/to/index.d.ts +19 -0
  260. package/dist/port/ui/index.d.ts +21 -0
  261. package/dist/port/with/blob-strategy.d.ts +98 -0
  262. package/dist/port/with/broker-strategy.d.ts +84 -0
  263. package/dist/port/with/capabilities.d.ts +31 -0
  264. package/dist/port/with/classified-marker.d.ts +9 -0
  265. package/dist/port/with/classified-strategy.d.ts +62 -0
  266. package/dist/port/with/computed-strategy.d.ts +19 -0
  267. package/dist/port/with/i18n-strategy.d.ts +175 -0
  268. package/dist/port/with/index.d.ts +18 -0
  269. package/dist/port/with/lazy-strategy.d.ts +48 -0
  270. package/dist/port/with/lookup-strategy.d.ts +129 -0
  271. package/dist/port/with/service-bus.d.ts +156 -0
  272. package/dist/port/with/team-strategy.d.ts +36 -0
  273. package/dist/port/with/write-hooks.d.ts +34 -0
  274. package/dist/portability/index.js +8 -8
  275. package/dist/post-register-JTH76BLY.js +60 -0
  276. package/dist/post-register-JTH76BLY.js.map +1 -0
  277. package/dist/public-envelope-B4KNWVUA.js +32 -0
  278. package/dist/purge-scope-FGNNLWHD.js +24 -0
  279. package/dist/purge-scope-FGNNLWHD.js.map +1 -0
  280. package/dist/query/index.js +7 -7
  281. package/dist/read-only-facade-CHCKSEPD.js +8 -0
  282. package/dist/register-VAHONCID.js +23 -0
  283. package/dist/registry-7MLVD3VO.js +19 -0
  284. package/dist/registry-EPKPD5SM.js +18 -0
  285. package/dist/registry-P5T7PS2U.js +9 -0
  286. package/dist/request-withdrawal-TI3A5WPS.js +31 -0
  287. package/dist/reveal-DIBHLUZX.js +38 -0
  288. package/dist/reveal-DIBHLUZX.js.map +1 -0
  289. package/dist/revoke-FDRD6GRW.js +24 -0
  290. package/dist/satellites/index.js +1 -1
  291. package/dist/sealed-record/index.js +12 -12
  292. package/dist/seed-Q6M2IZFL.js +231 -0
  293. package/dist/seed-Q6M2IZFL.js.map +1 -0
  294. package/dist/session/index.js +9 -9
  295. package/dist/shadow/index.js +2 -2
  296. package/dist/signer-MUWEIUI6.js +25 -0
  297. package/dist/snapshots/index.js +10 -10
  298. package/dist/stale-OSQ7J3AA.js +29 -0
  299. package/dist/storage-MVFCGEQE.js +23 -0
  300. package/dist/store-coordination-provider-64OEZFGS.js +142 -0
  301. package/dist/sync/index.js +9 -9
  302. package/dist/team/index.js +15 -15
  303. package/dist/tiers/index.js +14 -10
  304. package/dist/to/index.js +1 -2
  305. package/dist/tx/index.js +3 -3
  306. package/dist/util/index.js +1 -1
  307. package/dist/verify-ZASTRNPR.js +140 -0
  308. package/dist/verify-ZASTRNPR.js.map +1 -0
  309. package/dist/via/blob/active.d.ts +34 -0
  310. package/dist/via/blob/binding.d.ts +86 -0
  311. package/dist/via/blob/index.d.ts +34 -0
  312. package/dist/via/classified/active.d.ts +3 -0
  313. package/dist/via/classified/binding.d.ts +83 -0
  314. package/dist/via/classified/config-drift.d.ts +34 -0
  315. package/dist/via/classified/descriptor.d.ts +66 -0
  316. package/dist/via/classified/errors.d.ts +19 -0
  317. package/dist/via/classified/guards.d.ts +23 -0
  318. package/dist/via/classified/index.d.ts +11 -0
  319. package/dist/via/classified/presets.d.ts +65 -0
  320. package/dist/via/classified/resolve.d.ts +9 -0
  321. package/dist/via/classified/strategy.d.ts +11 -0
  322. package/dist/via/classified/validators.d.ts +3 -0
  323. package/dist/via/classified/write.d.ts +4 -0
  324. package/dist/via/computed/binding.d.ts +34 -0
  325. package/dist/via/computed/descriptor.d.ts +35 -0
  326. package/dist/via/i18n/active.d.ts +28 -0
  327. package/dist/via/i18n/binding.d.ts +36 -0
  328. package/dist/via/i18n/core.d.ts +267 -0
  329. package/dist/via/i18n/densify.d.ts +24 -0
  330. package/dist/via/i18n/dictionary.d.ts +200 -0
  331. package/dist/via/i18n/index.d.ts +21 -0
  332. package/dist/via/i18n/policy.d.ts +44 -0
  333. package/dist/via/i18n/script.d.ts +26 -0
  334. package/dist/via/i18n/strategy.d.ts +13 -0
  335. package/dist/via/lookup/active.d.ts +19 -0
  336. package/dist/via/lookup/binding.d.ts +99 -0
  337. package/dist/via/lookup/descriptor.d.ts +123 -0
  338. package/dist/via/lookup/handle.d.ts +220 -0
  339. package/dist/via/lookup/index.d.ts +17 -0
  340. package/dist/via/lookup/registry.d.ts +228 -0
  341. package/dist/via/lookup/snapshot.d.ts +67 -0
  342. package/dist/via/money/arith.d.ts +68 -0
  343. package/dist/via/money/binding.d.ts +21 -0
  344. package/dist/via/money/branded.d.ts +61 -0
  345. package/dist/via/money/descriptor.d.ts +73 -0
  346. package/dist/via/money/fixed-point.d.ts +51 -0
  347. package/dist/via/money/index.d.ts +15 -0
  348. package/dist/via/money/iso4217.d.ts +6 -0
  349. package/dist/via/money/money-reducer.d.ts +33 -0
  350. package/dist/via/money/normalize.d.ts +105 -0
  351. package/dist/via/money/paths.d.ts +61 -0
  352. package/dist/via/money/where.d.ts +127 -0
  353. package/dist/walk-SVNDIZ62.js +241 -0
  354. package/dist/with/index.js +11 -11
  355. package/dist/with-audit/attestation/active.d.ts +10 -0
  356. package/dist/with-audit/attestation/index.d.ts +16 -0
  357. package/dist/with-audit/attestation/issue.d.ts +29 -0
  358. package/dist/with-audit/attestation/revoke.d.ts +15 -0
  359. package/dist/with-audit/attestation/signer.d.ts +33 -0
  360. package/dist/with-audit/attestation/strategy.d.ts +44 -0
  361. package/dist/with-audit/attestation/vault-facade.d.ts +62 -0
  362. package/dist/with-audit/consent/active.d.ts +14 -0
  363. package/dist/with-audit/consent/consent.d.ts +114 -0
  364. package/dist/with-audit/consent/index.d.ts +14 -0
  365. package/dist/with-audit/consent/strategy.d.ts +36 -0
  366. package/dist/with-audit/forget/active.d.ts +31 -0
  367. package/dist/with-audit/forget/index.d.ts +28 -0
  368. package/dist/with-audit/forget/purge-scope.d.ts +54 -0
  369. package/dist/with-audit/forget/strategy.d.ts +199 -0
  370. package/dist/with-audit/forget/subject-index.d.ts +83 -0
  371. package/dist/with-audit/guards/executor.d.ts +26 -0
  372. package/dist/with-audit/guards/immutable-guard.d.ts +63 -0
  373. package/dist/with-audit/guards/index.d.ts +10 -0
  374. package/dist/with-audit/guards/read-only-facade.d.ts +31 -0
  375. package/dist/with-audit/guards/registry.d.ts +83 -0
  376. package/dist/with-audit/guards/transition-guard.d.ts +82 -0
  377. package/dist/with-audit/guards/types.d.ts +134 -0
  378. package/dist/with-audit/guards/with-guard.d.ts +15 -0
  379. package/dist/with-audit/periods/active.d.ts +11 -0
  380. package/dist/with-audit/periods/index.d.ts +18 -0
  381. package/dist/with-audit/periods/periods.d.ts +417 -0
  382. package/dist/with-audit/periods/strategy.d.ts +32 -0
  383. package/dist/with-audit/periods/vault-facade.d.ts +95 -0
  384. package/dist/with-audit/portability/active.d.ts +11 -0
  385. package/dist/with-audit/portability/export-accessible.d.ts +46 -0
  386. package/dist/with-audit/portability/index.d.ts +18 -0
  387. package/dist/with-audit/portability/request-withdrawal.d.ts +85 -0
  388. package/dist/with-audit/portability/strategy.d.ts +31 -0
  389. package/dist/with-audit/portability/withdraw-accessible.d.ts +82 -0
  390. package/dist/with-audit/sealed-record/active.d.ts +9 -0
  391. package/dist/with-audit/sealed-record/index.d.ts +55 -0
  392. package/dist/with-audit/sealed-record/strategy.d.ts +34 -0
  393. package/dist/with-audit/sealed-record/types.d.ts +27 -0
  394. package/dist/with-audit/tiers/active.d.ts +9 -0
  395. package/dist/with-audit/tiers/index.d.ts +394 -0
  396. package/dist/with-audit/tiers/strategy.d.ts +36 -0
  397. package/dist/with-cargo/active.d.ts +11 -0
  398. package/dist/with-cargo/adopt-partition.d.ts +81 -0
  399. package/dist/with-cargo/decrypt-partition.d.ts +19 -0
  400. package/dist/with-cargo/describe-extraction.d.ts +41 -0
  401. package/dist/with-cargo/extract-partition.d.ts +155 -0
  402. package/dist/with-cargo/index.d.ts +33 -0
  403. package/dist/with-cargo/strategy.d.ts +30 -0
  404. package/dist/with-cargo/vault-diff.d.ts +144 -0
  405. package/dist/with-cargo/walk-closure.d.ts +67 -0
  406. package/dist/with-commit/crdt/active.d.ts +25 -0
  407. package/dist/with-commit/crdt/crdt.d.ts +42 -0
  408. package/dist/with-commit/crdt/index.d.ts +16 -0
  409. package/dist/with-commit/crdt/strategy.d.ts +25 -0
  410. package/dist/with-commit/history/active.d.ts +40 -0
  411. package/dist/with-commit/history/diff.d.ts +23 -0
  412. package/dist/with-commit/history/history.d.ts +73 -0
  413. package/dist/with-commit/history/index.d.ts +30 -0
  414. package/dist/with-commit/history/ledger/constants.d.ts +37 -0
  415. package/dist/with-commit/history/ledger/entry.d.ts +195 -0
  416. package/dist/with-commit/history/ledger/hash.d.ts +30 -0
  417. package/dist/with-commit/history/ledger/index.d.ts +19 -0
  418. package/dist/with-commit/history/ledger/patch.d.ts +99 -0
  419. package/dist/with-commit/history/ledger/store.d.ts +356 -0
  420. package/dist/with-commit/history/strategy.d.ts +136 -0
  421. package/dist/with-commit/history/time-machine.d.ts +202 -0
  422. package/dist/with-commit/numbering/descriptor.d.ts +27 -0
  423. package/dist/with-commit/numbering/index.d.ts +69 -0
  424. package/dist/with-commit/sequence/active.d.ts +10 -0
  425. package/dist/with-commit/sequence/index.d.ts +150 -0
  426. package/dist/with-commit/sequence/strategy.d.ts +26 -0
  427. package/dist/with-commit/tx/active.d.ts +27 -0
  428. package/dist/with-commit/tx/dry-run.d.ts +29 -0
  429. package/dist/with-commit/tx/elevated-handle.d.ts +59 -0
  430. package/dist/with-commit/tx/index.d.ts +13 -0
  431. package/dist/with-commit/tx/invariants.d.ts +68 -0
  432. package/dist/with-commit/tx/strategy.d.ts +23 -0
  433. package/dist/with-commit/tx/transaction.d.ts +212 -0
  434. package/dist/with-fork/archive/engine.d.ts +71 -0
  435. package/dist/with-fork/archive/index.d.ts +23 -0
  436. package/dist/with-fork/shadow/active.d.ts +6 -0
  437. package/dist/with-fork/shadow/index.d.ts +14 -0
  438. package/dist/with-fork/shadow/strategy.d.ts +28 -0
  439. package/dist/with-fork/shadow/vault-frame.d.ts +93 -0
  440. package/dist/with-fork/snapshots/active.d.ts +20 -0
  441. package/dist/with-fork/snapshots/engine.d.ts +36 -0
  442. package/dist/with-fork/snapshots/index.d.ts +5 -0
  443. package/dist/with-fork/snapshots/noydb-facade.d.ts +64 -0
  444. package/dist/with-fork/snapshots/policy.d.ts +23 -0
  445. package/dist/with-fork/snapshots/scheduler.d.ts +34 -0
  446. package/dist/with-fork/snapshots/strategy.d.ts +48 -0
  447. package/dist/with-formula/computed/index.d.ts +48 -0
  448. package/dist/with-formula/computed/lazy.d.ts +13 -0
  449. package/dist/with-formula/derivations/executor.d.ts +61 -0
  450. package/dist/with-formula/derivations/fanout-sidecar.d.ts +75 -0
  451. package/dist/with-formula/derivations/index.d.ts +6 -0
  452. package/dist/with-formula/derivations/registry.d.ts +67 -0
  453. package/dist/with-formula/derivations/stale.d.ts +39 -0
  454. package/dist/with-formula/derivations/strategy-hash.d.ts +1 -0
  455. package/dist/with-formula/derivations/types.d.ts +248 -0
  456. package/dist/with-formula/derivations/with-derivation.d.ts +10 -0
  457. package/dist/with-formula/derivations/with-rollup.d.ts +34 -0
  458. package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +58 -0
  459. package/dist/with-formula/materialized-views/executor.d.ts +80 -0
  460. package/dist/with-formula/materialized-views/index.d.ts +11 -0
  461. package/dist/with-formula/materialized-views/query-hash.d.ts +23 -0
  462. package/dist/with-formula/materialized-views/registry.d.ts +99 -0
  463. package/dist/with-formula/materialized-views/stale.d.ts +113 -0
  464. package/dist/with-formula/materialized-views/types.d.ts +318 -0
  465. package/dist/with-formula/materialized-views/with-materialized-view.d.ts +24 -0
  466. package/dist/with-formula/overlay-views/index.d.ts +5 -0
  467. package/dist/with-formula/overlay-views/registry.d.ts +42 -0
  468. package/dist/with-formula/overlay-views/types.d.ts +97 -0
  469. package/dist/with-formula/overlay-views/virtual-collection.d.ts +90 -0
  470. package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +9 -0
  471. package/dist/with-lookup/aggregate/active.d.ts +33 -0
  472. package/dist/with-lookup/aggregate/aggregation.d.ts +166 -0
  473. package/dist/with-lookup/aggregate/canonical-key.d.ts +16 -0
  474. package/dist/with-lookup/aggregate/groupby.d.ts +280 -0
  475. package/dist/with-lookup/aggregate/index.d.ts +23 -0
  476. package/dist/with-lookup/aggregate/reducers.d.ts +257 -0
  477. package/dist/with-lookup/aggregate/strategy.d.ts +59 -0
  478. package/dist/with-lookup/embeddings/cosine.d.ts +2 -0
  479. package/dist/with-lookup/embeddings/descriptor.d.ts +8 -0
  480. package/dist/with-lookup/embeddings/index.d.ts +4 -0
  481. package/dist/with-lookup/embeddings/vec-id.d.ts +47 -0
  482. package/dist/with-lookup/embeddings/vector-set.d.ts +19 -0
  483. package/dist/with-lookup/indexing/active.d.ts +30 -0
  484. package/dist/with-lookup/indexing/collection-facade.d.ts +157 -0
  485. package/dist/with-lookup/indexing/eager-indexes.d.ts +122 -0
  486. package/dist/with-lookup/indexing/index.d.ts +27 -0
  487. package/dist/with-lookup/indexing/lazy-builder.d.ts +102 -0
  488. package/dist/with-lookup/indexing/persisted-indexes.d.ts +229 -0
  489. package/dist/with-lookup/indexing/strategy.d.ts +56 -0
  490. package/dist/with-lookup/indexing/unique-constraints.d.ts +74 -0
  491. package/dist/with-lookup/search/active.d.ts +10 -0
  492. package/dist/with-lookup/search/build-docs.d.ts +15 -0
  493. package/dist/with-lookup/search/collection-facade.d.ts +163 -0
  494. package/dist/with-lookup/search/fuse.d.ts +22 -0
  495. package/dist/with-lookup/search/index-store.d.ts +19 -0
  496. package/dist/with-lookup/search/index.d.ts +19 -0
  497. package/dist/with-lookup/search/inverted-index.d.ts +47 -0
  498. package/dist/with-lookup/search/persisted-index-store.d.ts +121 -0
  499. package/dist/with-lookup/search/retrieve-types.d.ts +29 -0
  500. package/dist/with-lookup/search/scan.d.ts +28 -0
  501. package/dist/with-lookup/search/segment.d.ts +15 -0
  502. package/dist/with-lookup/search/serialize.d.ts +4 -0
  503. package/dist/with-lookup/search/snippet.d.ts +5 -0
  504. package/dist/with-lookup/search/strategy.d.ts +41 -0
  505. package/dist/with-lookup/search/tokenize.d.ts +12 -0
  506. package/dist/with-party/auth-introspection/index.d.ts +44 -0
  507. package/dist/with-party/broker/active.d.ts +23 -0
  508. package/dist/with-party/broker/index.d.ts +28 -0
  509. package/dist/with-party/broker/seed.d.ts +77 -0
  510. package/dist/with-party/custody/active.d.ts +10 -0
  511. package/dist/with-party/custody/index.d.ts +69 -0
  512. package/dist/with-party/custody/liberate.d.ts +64 -0
  513. package/dist/with-party/custody/strategy.d.ts +48 -0
  514. package/dist/with-party/directory/index.d.ts +11 -0
  515. package/dist/with-party/directory/public-envelope/index.d.ts +12 -0
  516. package/dist/with-party/directory/public-envelope/schema.d.ts +24 -0
  517. package/dist/with-party/directory/public-envelope/storage.d.ts +59 -0
  518. package/dist/with-party/directory/public-envelope/types.d.ts +80 -0
  519. package/dist/with-party/directory/storage.d.ts +33 -0
  520. package/dist/with-party/directory/types.d.ts +43 -0
  521. package/dist/with-party/directory/user-envelope/api.d.ts +201 -0
  522. package/dist/with-party/directory/user-envelope/index.d.ts +12 -0
  523. package/dist/with-party/directory/user-envelope/storage.d.ts +54 -0
  524. package/dist/with-party/directory/visibility.d.ts +47 -0
  525. package/dist/with-party/policy/engine.d.ts +60 -0
  526. package/dist/with-party/policy/index.d.ts +15 -0
  527. package/dist/with-party/policy/noydb-facade.d.ts +39 -0
  528. package/dist/with-party/policy/presets.d.ts +38 -0
  529. package/dist/with-party/policy/storage.d.ts +31 -0
  530. package/dist/with-party/session/active.d.ts +34 -0
  531. package/dist/with-party/session/dev-unlock.d.ts +128 -0
  532. package/dist/with-party/session/index.d.ts +23 -0
  533. package/dist/with-party/session/session-policy.d.ts +92 -0
  534. package/dist/with-party/session/session.d.ts +131 -0
  535. package/dist/with-party/session/strategy.d.ts +42 -0
  536. package/dist/with-party/session/unlock-state.d.ts +47 -0
  537. package/dist/with-party/sync/index.d.ts +31 -0
  538. package/dist/with-party/tab-coordination.d.ts +73 -0
  539. package/dist/with-party/tab-write-relay.d.ts +39 -0
  540. package/dist/with-party/team/active.d.ts +13 -0
  541. package/dist/with-party/team/authenticators.d.ts +95 -0
  542. package/dist/with-party/team/deed.d.ts +97 -0
  543. package/dist/with-party/team/delegation.d.ts +88 -0
  544. package/dist/with-party/team/index.d.ts +38 -0
  545. package/dist/with-party/team/keyring.d.ts +318 -0
  546. package/dist/with-party/team/magic-link-grant.d.ts +152 -0
  547. package/dist/with-party/team/managed-passphrase.d.ts +280 -0
  548. package/dist/with-party/team/noydb-facade.d.ts +484 -0
  549. package/dist/with-party/team/peer-recover.d.ts +81 -0
  550. package/dist/with-party/team/presence.d.ts +81 -0
  551. package/dist/with-party/team/recovery.d.ts +191 -0
  552. package/dist/with-party/team/reserved-secret-collections.d.ts +41 -0
  553. package/dist/with-party/team/rotate-recover.d.ts +275 -0
  554. package/dist/with-party/team/shamir-recovery-provider.d.ts +15 -0
  555. package/dist/with-party/team/strategy.d.ts +9 -0
  556. package/dist/with-party/team/sync-active.d.ts +33 -0
  557. package/dist/with-party/team/sync-credentials.d.ts +113 -0
  558. package/dist/with-party/team/sync-strategy.d.ts +67 -0
  559. package/dist/with-party/team/sync-transaction.d.ts +39 -0
  560. package/dist/with-party/team/sync.d.ts +174 -0
  561. package/dist/with-party/team/tiers.d.ts +39 -0
  562. package/dist/with-party/team/wrapped-deks.d.ts +86 -0
  563. package/dist/with-pod/backup.d.ts +74 -0
  564. package/dist/with-pod/bundle.d.ts +414 -0
  565. package/dist/with-pod/format.d.ts +203 -0
  566. package/dist/with-pod/index.d.ts +20 -0
  567. package/dist/with-pod/pod-store.d.ts +54 -0
  568. package/dist/with-pod/ulid.d.ts +64 -0
  569. package/dist/with-shape/blobs/blob-compaction.d.ts +170 -0
  570. package/dist/with-shape/blobs/blob-intent.d.ts +153 -0
  571. package/dist/with-shape/blobs/blob-set.d.ts +1286 -0
  572. package/dist/with-shape/blobs/export-blobs.d.ts +110 -0
  573. package/dist/with-shape/blobs/import-external.d.ts +50 -0
  574. package/dist/with-shape/blobs/mime-magic.d.ts +48 -0
  575. package/dist/with-shape/blobs/object-projection.d.ts +70 -0
  576. package/dist/with-shape/introspection/describe.d.ts +237 -0
  577. package/dist/with-shape/introspection/field-meta.d.ts +61 -0
  578. package/dist/with-shape/introspection/fields.d.ts +14 -0
  579. package/dist/with-shape/introspection/index.d.ts +12 -0
  580. package/dist/with-shape/introspection/json-schema.d.ts +13 -0
  581. package/dist/with-shape/introspection/meta.d.ts +22 -0
  582. package/dist/with-shape/introspection/projection.d.ts +13 -0
  583. package/dist/with-shape/introspection/types.d.ts +154 -0
  584. package/dist/with-shape/introspection/walk.d.ts +50 -0
  585. package/dist/with-shape/links/lazy-handle.d.ts +36 -0
  586. package/dist/with-shape/links/link-set.d.ts +67 -0
  587. package/dist/with-shape/links/names.d.ts +65 -0
  588. package/dist/with-shape/links/vault-facade.d.ts +211 -0
  589. package/dist/with-shape/persisted-schemas/canonicalize.d.ts +11 -0
  590. package/dist/with-shape/persisted-schemas/derive.d.ts +29 -0
  591. package/dist/with-shape/persisted-schemas/index.d.ts +21 -0
  592. package/dist/with-shape/persisted-schemas/register.d.ts +66 -0
  593. package/dist/with-shape/persisted-schemas/storage.d.ts +61 -0
  594. package/dist/with-shape/persisted-schemas/types.d.ts +54 -0
  595. package/dist/with-shape/satellites/dead-filter.d.ts +21 -0
  596. package/dist/with-shape/satellites/declare.d.ts +60 -0
  597. package/dist/with-shape/satellites/existence.d.ts +5 -0
  598. package/dist/with-shape/satellites/fanout.d.ts +38 -0
  599. package/dist/with-shape/satellites/forget.d.ts +47 -0
  600. package/dist/with-shape/satellites/index.d.ts +3 -0
  601. package/dist/with-shape/satellites/joined.d.ts +19 -0
  602. package/dist/with-shape/satellites/marker.d.ts +10 -0
  603. package/dist/with-shape/satellites/migrate-cek.d.ts +26 -0
  604. package/dist/with-shape/satellites/post-register.d.ts +6 -0
  605. package/dist/with-shape/satellites/proxy.d.ts +37 -0
  606. package/dist/with-shape/satellites/raw-target.d.ts +14 -0
  607. package/dist/with-shape/satellites/registry.d.ts +19 -0
  608. package/dist/with-shape/satellites/types.d.ts +37 -0
  609. package/dist/with-shape/satellites/validate.d.ts +17 -0
  610. package/dist/with-shape/schema-update/client-registry.d.ts +35 -0
  611. package/dist/with-shape/schema-update/cutover.d.ts +5 -0
  612. package/dist/with-shape/schema-update/delta.d.ts +2 -0
  613. package/dist/with-shape/schema-update/dispatch.d.ts +3 -0
  614. package/dist/with-shape/schema-update/fence-controller.d.ts +62 -0
  615. package/dist/with-shape/schema-update/fence-watcher.d.ts +37 -0
  616. package/dist/with-shape/schema-update/fence.d.ts +15 -0
  617. package/dist/with-shape/schema-update/gate.d.ts +16 -0
  618. package/dist/with-shape/schema-update/index.d.ts +6 -0
  619. package/dist/with-shape/schema-update/store-coordination-provider.d.ts +29 -0
  620. package/dist/with-shape/schema-update/strategies.d.ts +12 -0
  621. package/dist/with-shape/schema-update/types.d.ts +53 -0
  622. package/dist/with-store/index.d.ts +15 -0
  623. package/dist/with-store/lazy/active.d.ts +12 -0
  624. package/dist/with-store/lazy/index.d.ts +14 -0
  625. package/dist/with-store/lazy/strategy.d.ts +9 -0
  626. package/dist/with-store/route-store.d.ts +259 -0
  627. package/dist/with-store/store-middleware.d.ts +189 -0
  628. package/dist/withdraw-accessible-WZIEVWSR.js +28 -0
  629. package/package.json +47 -55
  630. package/dist/adapter/index.d.ts +0 -4
  631. package/dist/adapter/index.js +0 -15
  632. package/dist/aggregate/index.d.ts +0 -41
  633. package/dist/api-HV4PDUWF.js +0 -20
  634. package/dist/as/index.d.ts +0 -6
  635. package/dist/at/index.d.ts +0 -4
  636. package/dist/attestation/index.d.ts +0 -19
  637. package/dist/backup-ODXO7OGA.js +0 -225
  638. package/dist/backup-ODXO7OGA.js.map +0 -1
  639. package/dist/blobs/index.d.ts +0 -43
  640. package/dist/bundle/index.d.ts +0 -121
  641. package/dist/bundle-DlSxo31R.d.ts +0 -548
  642. package/dist/by/index.d.ts +0 -1
  643. package/dist/cargo/index.d.ts +0 -8
  644. package/dist/chunk-2644KEGW.js +0 -247
  645. package/dist/chunk-2644KEGW.js.map +0 -1
  646. package/dist/chunk-2HVUKRNE.js +0 -21
  647. package/dist/chunk-2KOSJTMU.js +0 -69
  648. package/dist/chunk-2UQ4RMHV.js +0 -167
  649. package/dist/chunk-2UQ4RMHV.js.map +0 -1
  650. package/dist/chunk-2XE6LIXT.js +0 -515
  651. package/dist/chunk-2XE6LIXT.js.map +0 -1
  652. package/dist/chunk-34RRRIC3.js +0 -71
  653. package/dist/chunk-3C5CKXFI.js +0 -621
  654. package/dist/chunk-3C5CKXFI.js.map +0 -1
  655. package/dist/chunk-3I4KYWNP.js +0 -30
  656. package/dist/chunk-42KVY3OC.js +0 -86
  657. package/dist/chunk-4C4WBS4V.js +0 -13822
  658. package/dist/chunk-4C4WBS4V.js.map +0 -1
  659. package/dist/chunk-4G3IT7J7.js +0 -280
  660. package/dist/chunk-4G3IT7J7.js.map +0 -1
  661. package/dist/chunk-4RQ62VSR.js +0 -53
  662. package/dist/chunk-4RQ62VSR.js.map +0 -1
  663. package/dist/chunk-4ZSGSRBI.js +0 -1221
  664. package/dist/chunk-4ZSGSRBI.js.map +0 -1
  665. package/dist/chunk-5GAX2QOH.js +0 -132
  666. package/dist/chunk-5GAX2QOH.js.map +0 -1
  667. package/dist/chunk-5SAZMBW7.js +0 -202
  668. package/dist/chunk-5TZZUL5X.js +0 -30
  669. package/dist/chunk-6CU3FN74.js +0 -777
  670. package/dist/chunk-6G2SCQYS.js +0 -29
  671. package/dist/chunk-6G2SCQYS.js.map +0 -1
  672. package/dist/chunk-6MWUANRF.js +0 -29
  673. package/dist/chunk-6S7T6WC4.js +0 -111
  674. package/dist/chunk-6S7T6WC4.js.map +0 -1
  675. package/dist/chunk-6ULCYCMU.js +0 -74
  676. package/dist/chunk-7HAPHVRJ.js +0 -1695
  677. package/dist/chunk-7HAPHVRJ.js.map +0 -1
  678. package/dist/chunk-7IZQTCTR.js +0 -382
  679. package/dist/chunk-7ZANJ6JZ.js +0 -265
  680. package/dist/chunk-7ZANJ6JZ.js.map +0 -1
  681. package/dist/chunk-A2APWS32.js +0 -150
  682. package/dist/chunk-A2APWS32.js.map +0 -1
  683. package/dist/chunk-A4MAD6PO.js +0 -99
  684. package/dist/chunk-ANDBBA2P.js +0 -36
  685. package/dist/chunk-ANDBBA2P.js.map +0 -1
  686. package/dist/chunk-AUR7MRHA.js +0 -404
  687. package/dist/chunk-AYGZMQP5.js +0 -75
  688. package/dist/chunk-BGIZAFY7.js +0 -1
  689. package/dist/chunk-CJEMA2Z6.js +0 -230
  690. package/dist/chunk-CTSFKDGA.js +0 -40
  691. package/dist/chunk-CU62BBRB.js +0 -1465
  692. package/dist/chunk-CU62BBRB.js.map +0 -1
  693. package/dist/chunk-CWCCYH34.js +0 -23
  694. package/dist/chunk-DEYAO3N6.js +0 -589
  695. package/dist/chunk-DFIBOSOQ.js +0 -85
  696. package/dist/chunk-E5AHO65E.js +0 -150
  697. package/dist/chunk-FC3XK5JT.js +0 -99
  698. package/dist/chunk-FGOGS7CE.js +0 -662
  699. package/dist/chunk-FGOGS7CE.js.map +0 -1
  700. package/dist/chunk-GX2BYNCT.js +0 -117
  701. package/dist/chunk-GZ2MOPVX.js +0 -291
  702. package/dist/chunk-GZ2MOPVX.js.map +0 -1
  703. package/dist/chunk-H57P2SJB.js +0 -126
  704. package/dist/chunk-H57P2SJB.js.map +0 -1
  705. package/dist/chunk-HBTT7YQX.js +0 -94
  706. package/dist/chunk-HOCEGVGQ.js +0 -36
  707. package/dist/chunk-ICV32FPK.js +0 -50
  708. package/dist/chunk-IIP5WFVT.js +0 -462
  709. package/dist/chunk-IIP5WFVT.js.map +0 -1
  710. package/dist/chunk-IUKGIB2Q.js +0 -91
  711. package/dist/chunk-IWTYFS3D.js +0 -129
  712. package/dist/chunk-JC5R7P44.js +0 -355
  713. package/dist/chunk-JC5R7P44.js.map +0 -1
  714. package/dist/chunk-K2WCO3NX.js +0 -1
  715. package/dist/chunk-KBBWY46Y.js +0 -14
  716. package/dist/chunk-KBF5GSGX.js +0 -367
  717. package/dist/chunk-KCG3BHFG.js +0 -99
  718. package/dist/chunk-KCG3BHFG.js.map +0 -1
  719. package/dist/chunk-KNXN47MO.js +0 -155
  720. package/dist/chunk-KWLD2D75.js +0 -38
  721. package/dist/chunk-KXKLKJW4.js +0 -49
  722. package/dist/chunk-KYC4LIEU.js +0 -123
  723. package/dist/chunk-LEOXZY36.js +0 -130
  724. package/dist/chunk-M5I354EE.js +0 -235
  725. package/dist/chunk-MK2BSS44.js +0 -34
  726. package/dist/chunk-MSVY7ULZ.js +0 -70
  727. package/dist/chunk-NNWK3PSY.js +0 -135
  728. package/dist/chunk-NSZ6J5DF.js +0 -59
  729. package/dist/chunk-NUEFXLZU.js +0 -59
  730. package/dist/chunk-NYVQCZ54.js +0 -261
  731. package/dist/chunk-OQAODTYR.js +0 -45
  732. package/dist/chunk-OV4CMJGR.js +0 -164
  733. package/dist/chunk-PEDZFFKW.js +0 -41
  734. package/dist/chunk-PF3FQCCF.js +0 -164
  735. package/dist/chunk-PF3FQCCF.js.map +0 -1
  736. package/dist/chunk-Q2KVKTC2.js +0 -823
  737. package/dist/chunk-QJR3W3MF.js +0 -23
  738. package/dist/chunk-QJR3W3MF.js.map +0 -1
  739. package/dist/chunk-QTXQ6RNZ.js +0 -255
  740. package/dist/chunk-RJ5522XX.js +0 -453
  741. package/dist/chunk-RJ5522XX.js.map +0 -1
  742. package/dist/chunk-RMUXPHIH.js +0 -930
  743. package/dist/chunk-RMUXPHIH.js.map +0 -1
  744. package/dist/chunk-S6AQXDN4.js +0 -155
  745. package/dist/chunk-SSFC3IYA.js +0 -275
  746. package/dist/chunk-SSFC3IYA.js.map +0 -1
  747. package/dist/chunk-SZCHEDML.js +0 -209
  748. package/dist/chunk-TDPEJINP.js +0 -188
  749. package/dist/chunk-TDPEJINP.js.map +0 -1
  750. package/dist/chunk-TQ3REHVF.js +0 -95
  751. package/dist/chunk-TQ3REHVF.js.map +0 -1
  752. package/dist/chunk-UNJU345Q.js +0 -32
  753. package/dist/chunk-UNJU345Q.js.map +0 -1
  754. package/dist/chunk-V7RNIND6.js +0 -265
  755. package/dist/chunk-V7RNIND6.js.map +0 -1
  756. package/dist/chunk-VJ3NQK4K.js +0 -205
  757. package/dist/chunk-WNA6T3MA.js +0 -686
  758. package/dist/chunk-WNA6T3MA.js.map +0 -1
  759. package/dist/chunk-WVCQ75OK.js +0 -124
  760. package/dist/chunk-X66MXMR5.js +0 -42
  761. package/dist/chunk-XHD3L3JO.js +0 -930
  762. package/dist/chunk-XHD3L3JO.js.map +0 -1
  763. package/dist/chunk-XJK2WIYN.js +0 -430
  764. package/dist/chunk-XJK2WIYN.js.map +0 -1
  765. package/dist/chunk-XQ7UYPVN.js +0 -95
  766. package/dist/chunk-Y2OCKFZ3.js +0 -80
  767. package/dist/chunk-YBFOBRTO.js +0 -367
  768. package/dist/chunk-YLN33ADH.js +0 -97
  769. package/dist/chunk-Z5YFRMG5.js +0 -45
  770. package/dist/chunk-ZWQFOXBR.js +0 -54
  771. package/dist/classified/index.d.ts +0 -16
  772. package/dist/classified-marker-IO5EBW7Q.js +0 -24
  773. package/dist/classified-marker-IO5EBW7Q.js.map +0 -1
  774. package/dist/collection-facade-3RAXG2OU.js +0 -38
  775. package/dist/computed-R62HGCO4.js +0 -11
  776. package/dist/consent/index.d.ts +0 -22
  777. package/dist/crdt/index.d.ts +0 -33
  778. package/dist/dead-filter-VNA4M3GP.js +0 -28
  779. package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
  780. package/dist/delegation-ZKII5UBI.js +0 -25
  781. package/dist/derivations/index.d.ts +0 -69
  782. package/dist/derive-5D2C3WG4.js +0 -21
  783. package/dist/describe/index.d.ts +0 -4
  784. package/dist/describe/index.js +0 -1
  785. package/dist/dev-unlock-DDTafVO6.d.ts +0 -263
  786. package/dist/discriminant-BN9REW3o.d.ts +0 -60
  787. package/dist/enclave-EUBEJGPG.js +0 -125
  788. package/dist/executor-IL7SRNUZ.js +0 -23
  789. package/dist/executor-OUA2Y6YC.js +0 -9
  790. package/dist/executor-WAEI6PDV.js +0 -9
  791. package/dist/export-accessible-O55RKAGC.js +0 -23
  792. package/dist/extract-partition-VBGCBA6Q.js +0 -36
  793. package/dist/fanout-sidecar-CI5BCMQM.js +0 -74
  794. package/dist/find-FISGUWSK.js +0 -11
  795. package/dist/forget/index.d.ts +0 -36
  796. package/dist/guards/index.d.ts +0 -34
  797. package/dist/hash-DBkZfIBW.d.ts +0 -72
  798. package/dist/history/index.d.ts +0 -60
  799. package/dist/i18n/index.d.ts +0 -56
  800. package/dist/in/index.d.ts +0 -4
  801. package/dist/index-B9QdHytu.d.ts +0 -123
  802. package/dist/index-CyclmyDr.d.ts +0 -122
  803. package/dist/index-DzhNI2vE.d.ts +0 -23260
  804. package/dist/indexing/index.d.ts +0 -38
  805. package/dist/issue-EQAWIYFQ.js +0 -19
  806. package/dist/kernel/index.d.ts +0 -31
  807. package/dist/kernel/index.js +0 -60
  808. package/dist/lazy/index.d.ts +0 -20
  809. package/dist/ledger-AJA2SR3C.js +0 -42
  810. package/dist/liberate-SEGR4JLY.js +0 -24
  811. package/dist/link-set-YBAC2DQT.js +0 -31
  812. package/dist/materialized-views/index.d.ts +0 -182
  813. package/dist/mime-magic-CbV1quyp.d.ts +0 -103
  814. package/dist/noydb-AMEOU456.js +0 -65
  815. package/dist/on/index.d.ts +0 -4
  816. package/dist/overlay-views/index.d.ts +0 -97
  817. package/dist/periods/index.d.ts +0 -19
  818. package/dist/pod/index.d.ts +0 -62
  819. package/dist/policy-SDGRWVIL.js +0 -41
  820. package/dist/portability/index.d.ts +0 -19
  821. package/dist/post-register-MROIUA5O.js +0 -55
  822. package/dist/post-register-MROIUA5O.js.map +0 -1
  823. package/dist/public-envelope-J5PLQOW2.js +0 -32
  824. package/dist/query/index.d.ts +0 -4
  825. package/dist/read-only-facade-UCYNRE56.js +0 -8
  826. package/dist/register-OVJKW7BS.js +0 -23
  827. package/dist/registry-5RJSK5AJ.js +0 -9
  828. package/dist/registry-DQRNTWRL.js +0 -18
  829. package/dist/registry-LTGLERS7.js +0 -19
  830. package/dist/request-withdrawal-27O77D2V.js +0 -31
  831. package/dist/reveal-LT3I2K4P.js +0 -38
  832. package/dist/reveal-LT3I2K4P.js.map +0 -1
  833. package/dist/revoke-4N45G7D2.js +0 -24
  834. package/dist/revoke-4N45G7D2.js.map +0 -1
  835. package/dist/satellites/index.d.ts +0 -4
  836. package/dist/sealed-record/index.d.ts +0 -68
  837. package/dist/session/index.d.ts +0 -43
  838. package/dist/shadow/index.d.ts +0 -14
  839. package/dist/signer-XJCOV7JD.js +0 -25
  840. package/dist/signer-XJCOV7JD.js.map +0 -1
  841. package/dist/snapshots/index.d.ts +0 -25
  842. package/dist/stale-IYYXEH3U.js +0 -14
  843. package/dist/stale-IYYXEH3U.js.map +0 -1
  844. package/dist/storage-Y44CAPE6.js +0 -23
  845. package/dist/storage-Y44CAPE6.js.map +0 -1
  846. package/dist/store-coordination-provider-WKGAE2WI.js +0 -142
  847. package/dist/subject-index-CyOgGMJL.d.ts +0 -380
  848. package/dist/sync/index.d.ts +0 -40
  849. package/dist/team/index.d.ts +0 -154
  850. package/dist/tiers/index.d.ts +0 -4
  851. package/dist/to/index.d.ts +0 -4
  852. package/dist/transition-guard-BOUkzQU4.d.ts +0 -165
  853. package/dist/tx/index.d.ts +0 -34
  854. package/dist/ui/index.d.ts +0 -4
  855. package/dist/ulid-DRH25k3y.d.ts +0 -66
  856. package/dist/util/index.d.ts +0 -79
  857. package/dist/validators-B3SalxlJ.d.ts +0 -101
  858. package/dist/vault-diff-Dt9NkLzw.d.ts +0 -147
  859. package/dist/verify-GH6CWVSW.js +0 -139
  860. package/dist/verify-GH6CWVSW.js.map +0 -1
  861. package/dist/walk-76UCFXYV.js +0 -241
  862. package/dist/with/index.d.ts +0 -37
  863. package/dist/with-materialized-view-BP33v1Z6.d.ts +0 -27
  864. package/dist/with-overlayed-view-DntFpOKN.d.ts +0 -12
  865. package/dist/with-rollup-ClCHO6-4.d.ts +0 -47
  866. package/dist/withdraw-accessible-6J2UH3IN.js +0 -28
  867. package/dist/withdraw-accessible-6J2UH3IN.js.map +0 -1
  868. /package/dist/{adapter/index.js.map → api-ZGS6LCOF.js.map} +0 -0
  869. /package/dist/{chunk-34RRRIC3.js.map → chunk-3B5VVCNY.js.map} +0 -0
  870. /package/dist/{chunk-CJEMA2Z6.js.map → chunk-3LQ2YKO4.js.map} +0 -0
  871. /package/dist/{chunk-ZWQFOXBR.js.map → chunk-3QCRBHCY.js.map} +0 -0
  872. /package/dist/{chunk-E5AHO65E.js.map → chunk-4JBYV75E.js.map} +0 -0
  873. /package/dist/{chunk-YLN33ADH.js.map → chunk-4NXKCLLQ.js.map} +0 -0
  874. /package/dist/{chunk-2KOSJTMU.js.map → chunk-5M5DVGV7.js.map} +0 -0
  875. /package/dist/{chunk-3I4KYWNP.js.map → chunk-5YOLBEQ6.js.map} +0 -0
  876. /package/dist/{chunk-IWTYFS3D.js.map → chunk-6CRIV7DE.js.map} +0 -0
  877. /package/dist/{chunk-QTXQ6RNZ.js.map → chunk-6QTNZJBS.js.map} +0 -0
  878. /package/dist/{chunk-42KVY3OC.js.map → chunk-6T2SCQRU.js.map} +0 -0
  879. /package/dist/{chunk-Z5YFRMG5.js.map → chunk-7DSTRQIJ.js.map} +0 -0
  880. /package/dist/{chunk-DEYAO3N6.js.map → chunk-AUSTCW2X.js.map} +0 -0
  881. /package/dist/{chunk-SZCHEDML.js.map → chunk-B3HJYUOF.js.map} +0 -0
  882. /package/dist/{chunk-OV4CMJGR.js.map → chunk-BDVFPG6Y.js.map} +0 -0
  883. /package/dist/{chunk-HOCEGVGQ.js.map → chunk-CAF6WOK7.js.map} +0 -0
  884. /package/dist/{chunk-AUR7MRHA.js.map → chunk-CIE2BASH.js.map} +0 -0
  885. /package/dist/{chunk-X66MXMR5.js.map → chunk-CRI4OUV4.js.map} +0 -0
  886. /package/dist/{chunk-IUKGIB2Q.js.map → chunk-DLG74CNB.js.map} +0 -0
  887. /package/dist/{chunk-YBFOBRTO.js.map → chunk-ERJ7FU55.js.map} +0 -0
  888. /package/dist/{chunk-VJ3NQK4K.js.map → chunk-EVVGJDRQ.js.map} +0 -0
  889. /package/dist/{chunk-NSZ6J5DF.js.map → chunk-EXK7QRWF.js.map} +0 -0
  890. /package/dist/{chunk-5SAZMBW7.js.map → chunk-EYZ6IQ6X.js.map} +0 -0
  891. /package/dist/{chunk-OQAODTYR.js.map → chunk-F64IRYG3.js.map} +0 -0
  892. /package/dist/{chunk-Q2KVKTC2.js.map → chunk-FHS2HQSH.js.map} +0 -0
  893. /package/dist/{chunk-Y2OCKFZ3.js.map → chunk-GKEWXIV5.js.map} +0 -0
  894. /package/dist/{chunk-NUEFXLZU.js.map → chunk-GTGPO5KW.js.map} +0 -0
  895. /package/dist/{chunk-XQ7UYPVN.js.map → chunk-HB3RFQSC.js.map} +0 -0
  896. /package/dist/{chunk-FC3XK5JT.js.map → chunk-I6GALP6E.js.map} +0 -0
  897. /package/dist/{chunk-LEOXZY36.js.map → chunk-IL6POWCW.js.map} +0 -0
  898. /package/dist/{chunk-GX2BYNCT.js.map → chunk-IU6SNYX6.js.map} +0 -0
  899. /package/dist/{chunk-6CU3FN74.js.map → chunk-J2ZX2XUV.js.map} +0 -0
  900. /package/dist/{chunk-6MWUANRF.js.map → chunk-JKJOGPZN.js.map} +0 -0
  901. /package/dist/{chunk-PEDZFFKW.js.map → chunk-JZUV47FZ.js.map} +0 -0
  902. /package/dist/{chunk-5TZZUL5X.js.map → chunk-K5IMOGHB.js.map} +0 -0
  903. /package/dist/{chunk-7IZQTCTR.js.map → chunk-LASZKVMO.js.map} +0 -0
  904. /package/dist/{chunk-NNWK3PSY.js.map → chunk-NR5LT5RY.js.map} +0 -0
  905. /package/dist/{chunk-NYVQCZ54.js.map → chunk-NWSGI5C7.js.map} +0 -0
  906. /package/dist/{chunk-MSVY7ULZ.js.map → chunk-Q5VNKNE5.js.map} +0 -0
  907. /package/dist/{chunk-2HVUKRNE.js.map → chunk-QLWMEXCT.js.map} +0 -0
  908. /package/dist/{chunk-KYC4LIEU.js.map → chunk-QRB7NAOJ.js.map} +0 -0
  909. /package/dist/{chunk-6ULCYCMU.js.map → chunk-R4ROFEYC.js.map} +0 -0
  910. /package/dist/{chunk-KBF5GSGX.js.map → chunk-RIX4V2TB.js.map} +0 -0
  911. /package/dist/{chunk-CTSFKDGA.js.map → chunk-RYCTDFUX.js.map} +0 -0
  912. /package/dist/{chunk-S6AQXDN4.js.map → chunk-RZ5SVOYR.js.map} +0 -0
  913. /package/dist/{chunk-A4MAD6PO.js.map → chunk-SLFHQTTW.js.map} +0 -0
  914. /package/dist/{chunk-AYGZMQP5.js.map → chunk-T2FFWNPK.js.map} +0 -0
  915. /package/dist/{chunk-CWCCYH34.js.map → chunk-UNFPPVNI.js.map} +0 -0
  916. /package/dist/{chunk-M5I354EE.js.map → chunk-VLFCJYTL.js.map} +0 -0
  917. /package/dist/{chunk-WVCQ75OK.js.map → chunk-VN3DBQAU.js.map} +0 -0
  918. /package/dist/{chunk-KXKLKJW4.js.map → chunk-VZRODIM3.js.map} +0 -0
  919. /package/dist/{chunk-HBTT7YQX.js.map → chunk-W22IKJE2.js.map} +0 -0
  920. /package/dist/{chunk-KNXN47MO.js.map → chunk-X3YYQWOQ.js.map} +0 -0
  921. /package/dist/{chunk-DFIBOSOQ.js.map → chunk-YFXZEAYK.js.map} +0 -0
  922. /package/dist/{chunk-ICV32FPK.js.map → chunk-ZAJAVEXY.js.map} +0 -0
  923. /package/dist/{chunk-MK2BSS44.js.map → chunk-ZICD77GM.js.map} +0 -0
  924. /package/dist/{chunk-KWLD2D75.js.map → chunk-ZJ2AK4V7.js.map} +0 -0
  925. /package/dist/{chunk-KBBWY46Y.js.map → chunk-ZUODRVHY.js.map} +0 -0
  926. /package/dist/{api-HV4PDUWF.js.map → collection-facade-TLWIPI76.js.map} +0 -0
  927. /package/dist/{chunk-BGIZAFY7.js.map → computed-ZIQTYTDI.js.map} +0 -0
  928. /package/dist/{dead-filter-VNA4M3GP.js.map → dead-filter-ESOBZZP5.js.map} +0 -0
  929. /package/dist/{chunk-K2WCO3NX.js.map → delegation-W7ZV2322.js.map} +0 -0
  930. /package/dist/{collection-facade-3RAXG2OU.js.map → derive-H2BJTLUI.js.map} +0 -0
  931. /package/dist/{computed-R62HGCO4.js.map → enclave-AP3I5W7O.js.map} +0 -0
  932. /package/dist/{delegation-ZKII5UBI.js.map → executor-KGWTNEQD.js.map} +0 -0
  933. /package/dist/{derive-5D2C3WG4.js.map → executor-OVEXR6RT.js.map} +0 -0
  934. /package/dist/{describe/index.js.map → executor-UNEH5ZYH.js.map} +0 -0
  935. /package/dist/{enclave-EUBEJGPG.js.map → export-accessible-PCMXSUZS.js.map} +0 -0
  936. /package/dist/{executor-IL7SRNUZ.js.map → extract-partition-SWHFSYJO.js.map} +0 -0
  937. /package/dist/{fanout-sidecar-CI5BCMQM.js.map → fanout-sidecar-A765THMX.js.map} +0 -0
  938. /package/dist/{executor-OUA2Y6YC.js.map → find-N6345CNT.js.map} +0 -0
  939. /package/dist/{executor-WAEI6PDV.js.map → issue-5OKB6I2R.js.map} +0 -0
  940. /package/dist/{export-accessible-O55RKAGC.js.map → ledger-GFBKVPV4.js.map} +0 -0
  941. /package/dist/{extract-partition-VBGCBA6Q.js.map → liberate-3VDOT4KO.js.map} +0 -0
  942. /package/dist/{find-FISGUWSK.js.map → link-set-Z7Q2ASFX.js.map} +0 -0
  943. /package/dist/{issue-EQAWIYFQ.js.map → noydb-ZCJOYBDI.js.map} +0 -0
  944. /package/dist/{kernel/index.js.map → policy-Z3RUAIY2.js.map} +0 -0
  945. /package/dist/{ledger-AJA2SR3C.js.map → public-envelope-B4KNWVUA.js.map} +0 -0
  946. /package/dist/{liberate-SEGR4JLY.js.map → read-only-facade-CHCKSEPD.js.map} +0 -0
  947. /package/dist/{link-set-YBAC2DQT.js.map → register-VAHONCID.js.map} +0 -0
  948. /package/dist/{noydb-AMEOU456.js.map → registry-7MLVD3VO.js.map} +0 -0
  949. /package/dist/{policy-SDGRWVIL.js.map → registry-EPKPD5SM.js.map} +0 -0
  950. /package/dist/{public-envelope-J5PLQOW2.js.map → registry-P5T7PS2U.js.map} +0 -0
  951. /package/dist/{read-only-facade-UCYNRE56.js.map → request-withdrawal-TI3A5WPS.js.map} +0 -0
  952. /package/dist/{register-OVJKW7BS.js.map → revoke-FDRD6GRW.js.map} +0 -0
  953. /package/dist/{registry-5RJSK5AJ.js.map → signer-MUWEIUI6.js.map} +0 -0
  954. /package/dist/{registry-DQRNTWRL.js.map → stale-OSQ7J3AA.js.map} +0 -0
  955. /package/dist/{registry-LTGLERS7.js.map → storage-MVFCGEQE.js.map} +0 -0
  956. /package/dist/{store-coordination-provider-WKGAE2WI.js.map → store-coordination-provider-64OEZFGS.js.map} +0 -0
  957. /package/dist/{walk-76UCFXYV.js.map → walk-SVNDIZ62.js.map} +0 -0
  958. /package/dist/{request-withdrawal-27O77D2V.js.map → withdraw-accessible-WZIEVWSR.js.map} +0 -0
@@ -0,0 +1,417 @@
1
+ /**
2
+ * Accounting-period closure + opening.
3
+ *
4
+ * A closed period seals every record whose envelope `_ts` is at or
5
+ * before the period's `endDate`: further writes (`put` / `delete`)
6
+ * against such records throw {@link PeriodClosedError}. The period
7
+ * itself is stored as a record in the reserved `_periods` collection
8
+ * and written through the normal ledger-instrumented path, so every
9
+ * closure appends a tamper-evident entry to the vault's hash chain.
10
+ *
11
+ * ## Closure model
12
+ *
13
+ * ```
14
+ * vault.closePeriod({ name: 'FY2026-Q1', endDate: '2026-03-31' })
15
+ * └─► PeriodRecord written to _periods/<name>
16
+ * ├─ priorPeriodName / priorPeriodHash — chain to last close
17
+ * ├─ closedAt / closedBy — provenance
18
+ * └─ normal ledger append fires (LedgerStore.append)
19
+ * ```
20
+ *
21
+ * Enforcement (`assertTsWritable`) is vault-local: the Vault caches
22
+ * the list of closed periods on first read and consults that cache in
23
+ * the `Collection.put` / `.delete` path via the `periodGuard` hook.
24
+ *
25
+ * ## Opening model
26
+ *
27
+ * ```
28
+ * vault.openPeriod({
29
+ * name: 'FY2026-Q2',
30
+ * startDate: '2026-04-01',
31
+ * fromPeriod: 'FY2026-Q1',
32
+ * carryForward: async (priorView) => Record<string, Record<string, unknown>>,
33
+ * })
34
+ * ```
35
+ *
36
+ * `carryForward` receives a read-only `VaultInstant` anchored at the
37
+ * prior period's `endDate` (built via `vault.at(endDate)`) so the
38
+ * callback can compute closing aggregates from the sealed state. The
39
+ * returned `{ [collectionName]: { [id]: record } }` map is written
40
+ * before the new `PeriodRecord` lands — opening balances materialise
41
+ * as normal records with fresh timestamps that fall outside every
42
+ * closed period.
43
+ *
44
+ * ## Freeze
45
+ *
46
+ * ```
47
+ * vault.freezePeriod('FY2026-Q1')
48
+ * └─► physically purges delete markers whose write-time falls inside
49
+ * the closed period's window (via the #589 `_purgeDeleteMarkers`
50
+ * seam), then records the fact:
51
+ * ├─ PeriodFreezeRecord written to _period_freezes/<name>
52
+ * └─ normal ledger append fires (LedgerStore.append)
53
+ * ```
54
+ *
55
+ * The chained `_periods/<name>` record is never mutated — `frozenAt` /
56
+ * `frozenBy` / `purgedMarkerCount` are merged onto the returned
57
+ * `PeriodRecord` at read time from the companion, so a tamper with the
58
+ * freeze can never break the inter-period hash chain. Freezing is
59
+ * terminal (a closed period, once frozen, stays frozen) and idempotent
60
+ * (a second call is a no-op that returns the same merged record without
61
+ * re-purging or re-appending a ledger entry). Freeze does NOT purge
62
+ * forget-tombstones (GDPR crypto-shred erasure evidence), `_history`
63
+ * versions, or live records — the delete-markers-only seam leaves all
64
+ * three untouched by construction.
65
+ *
66
+ * Freeze purges the LOCAL adapter only. On a synced vault, markers already
67
+ * pushed to sync targets survive there, and a later pull re-imports them
68
+ * (benign — they still read deleted, but the space isn't reclaimed). A
69
+ * re-imported marker keeps its original `_ts` (inside the already-frozen
70
+ * period's window), so — like any late-booked delete — it is reclaimed by
71
+ * the NEXT period's freeze, whose window covers it; freeze stays terminal
72
+ * and does NOT re-purge an already-frozen period (#611). Sweeping the sync
73
+ * targets themselves is a cross-target-purge concern deferred to the
74
+ * cold-archival spec. Purging re-opens the #589 resurrection window for a
75
+ * peer offline since before the cutoff, which is why the closed period is
76
+ * the operator-asserted safe-point that gates the call.
77
+ *
78
+ * A period whose purge window has not fully elapsed cannot be frozen —
79
+ * `freezePeriod` throws rather than purge markers for deletes that may not
80
+ * have converged yet (#610).
81
+ *
82
+ * ## Archive
83
+ *
84
+ * ```
85
+ * vault.archivePeriod('FY2026-Q1')
86
+ * └─► relocates the closed period's in-window records (those with
87
+ * `_ts < periodExclusiveUpperBound(endDate)`) from the hot store to
88
+ * the configured cold tier (routeStore's `cold` route), then records:
89
+ * ├─ PeriodArchiveRecord written to _period_archives/<name>
90
+ * └─ a ledger entry attributed to _period_archives
91
+ * ```
92
+ *
93
+ * Archival is NON-DESTRUCTIVE: routeStore reads fall through to the cold
94
+ * tier on a hot miss, so an archived record still reads normally. It is
95
+ * therefore gated only on `closed` (not `frozen`) — it does not re-open the
96
+ * #589 resurrection window and needs no convergence safe-point. Freeze
97
+ * (purge markers) and archive (relocate records) are independent and compose
98
+ * in either order. Like freeze, archival keeps the chained `_periods/<name>`
99
+ * record byte-immutable (state lives in the companion) and is idempotent.
100
+ *
101
+ * Bounds by write-time `_ts`, NOT business date: the store tier sees only
102
+ * encrypted envelopes. A record with an in-period business date but a later
103
+ * `_ts` (late-booked) archives at the NEXT period's archive — the same rule
104
+ * freeze uses for late-booked delete markers. Requires a `routeStore` with a
105
+ * cold route (`age: { cold }`); throws otherwise.
106
+ *
107
+ * Read cost: with `withLazy()` (per-id reads) archived records are truly
108
+ * cold — fetched from cold only on access. In the default hydrated mode,
109
+ * `loadAll` merges the cold store, so archived records still load into RAM
110
+ * on vault open (hot-tier STORAGE is reclaimed; RAM is not). Summaries
111
+ * (`_`-prefixed) always stay hot.
112
+ *
113
+ * ## Target-purge
114
+ *
115
+ * ```
116
+ * vault.purgePeriodTargets('FY2026-Q1')
117
+ * └─► sweeps delete markers (`_ts < periodExclusiveUpperBound(endDate)`) off
118
+ * the vault's PUSH-ONLY sync targets (backup/archive roles), then records:
119
+ * ├─ PeriodTargetPurgeRecord written to _period_target_purges/<name>
120
+ * └─ a ledger entry attributed to _period_target_purges
121
+ * ```
122
+ *
123
+ * Extends freeze's local marker purge to the vault's own remote sinks.
124
+ * `sync-peer` (bidirectional) targets are SKIPPED: purging a marker there
125
+ * re-opens the #589 resurrection window for a client offline before the
126
+ * cutoff, an assertion no single vault can verify. Backup/archive targets are
127
+ * push-only — never pulled from into convergence — so sweeping their markers
128
+ * is safe. Requires the period be frozen first (closed → frozen →
129
+ * target-purged) so the local safe-point is already established. Idempotent
130
+ * once run; a vault with no push-only targets writes no companion and is
131
+ * re-runnable (so a target added later is still swept). Single-vault only —
132
+ * fleet-wide purge across sovereign vaults is klum's concern over
133
+ * `@noy-db/hub/cargo`.
134
+ *
135
+ * ## Not covered
136
+ *
137
+ * - Partial re-opening of a closed period. If an auditor needs to
138
+ * make a correction inside a sealed period, the sanctioned path is
139
+ * a compensating entry in the NEW period, not an unlock of the
140
+ * old one.
141
+ * - Automatic period rollover. `closePeriod` / `openPeriod` are
142
+ * deliberately explicit operator calls so the caller decides when
143
+ * the boundary lands.
144
+ *
145
+ * @module
146
+ */
147
+ import type { NoydbStore, EncryptedEnvelope } from '../../kernel/types.js';
148
+ import type { LedgerStore } from '../../with-commit/history/ledger/index.js';
149
+ /** The reserved collection name holding closed-period metadata. */
150
+ export declare const PERIODS_COLLECTION = "_periods";
151
+ /** Sibling of {@link PERIODS_COLLECTION} holding freeze companions (#604). */
152
+ export declare const PERIOD_FREEZES_COLLECTION = "_period_freezes";
153
+ /** Sibling of {@link PERIODS_COLLECTION} holding archive companions (#613). */
154
+ export declare const PERIOD_ARCHIVES_COLLECTION = "_period_archives";
155
+ /** Sibling of {@link PERIODS_COLLECTION} holding target-purge companions (#615). */
156
+ export declare const PERIOD_TARGET_PURGES_COLLECTION = "_period_target_purges";
157
+ /**
158
+ * Companion record recording that a closed period was frozen (its delete
159
+ * markers physically purged). Stored in {@link PERIOD_FREEZES_COLLECTION},
160
+ * keyed by period name — kept OFF the hash-chained `_periods/<name>` record so
161
+ * freeze never alters the inter-period chain.
162
+ */
163
+ export interface PeriodFreezeRecord {
164
+ readonly period: string;
165
+ readonly frozenAt: string;
166
+ readonly frozenBy: string;
167
+ readonly purgedMarkerCount: number;
168
+ }
169
+ /**
170
+ * Companion record noting that a closed period was cold-archived (its
171
+ * in-window records physically relocated hot → cold). Stored in
172
+ * {@link PERIOD_ARCHIVES_COLLECTION}, keyed by period name — kept OFF the
173
+ * hash-chained `_periods/<name>` record so archive never alters the chain.
174
+ */
175
+ export interface PeriodArchiveRecord {
176
+ readonly period: string;
177
+ readonly archivedAt: string;
178
+ readonly archivedBy: string;
179
+ readonly archivedRecordCount: number;
180
+ }
181
+ /** Per-target count of delete markers purged off one push-only sync target (#615). */
182
+ export interface TargetPurgeCount {
183
+ readonly label?: string;
184
+ readonly role: 'backup' | 'archive';
185
+ readonly purgedCount: number;
186
+ }
187
+ /**
188
+ * Companion record noting that a closed+frozen period's delete markers were
189
+ * swept off the vault's push-only sync targets (#615). Stored in
190
+ * {@link PERIOD_TARGET_PURGES_COLLECTION}, keyed by period name — kept OFF the
191
+ * hash-chained `_periods/<name>` record so target-purge never alters the chain.
192
+ */
193
+ export interface PeriodTargetPurgeRecord {
194
+ readonly period: string;
195
+ readonly purgedAt: string;
196
+ readonly purgedBy: string;
197
+ readonly targets: readonly TargetPurgeCount[];
198
+ }
199
+ /**
200
+ * Exclusive upper bound for a period's delete-marker purge window (#604).
201
+ * Markers carry no business date (empty body), only write-time `_ts`, so freeze
202
+ * purges markers with `_ts < bound`, `bound` being the instant just after the
203
+ * period's inclusive `endDate`: a date-only `endDate` seals through end-of-day
204
+ * → next midnight; a full-timestamp `endDate` seals through that instant → +1ms.
205
+ */
206
+ export declare function periodExclusiveUpperBound(endDate: string): string;
207
+ /**
208
+ * Stored record for one closed or opened accounting period. One entry
209
+ * per period, keyed by `name` in the reserved `_periods` collection.
210
+ *
211
+ * The hash chain between periods is computed at read time by
212
+ * `loadPeriods()` — each record carries the name + hash of its
213
+ * predecessor so a tamper with any period's record breaks the chain
214
+ * into the next one, the same way the ledger's `prevHash` works.
215
+ */
216
+ export interface PeriodRecord {
217
+ /** Human-readable name (e.g., `'FY2026-Q1'`). Unique per vault. */
218
+ readonly name: string;
219
+ /**
220
+ * Role discriminator. A period is `'closed'` from the moment its
221
+ * `closedAt` is recorded; `'opened'` marks a period whose opening
222
+ * entries have been carried forward via {@link openPeriod}. Many
223
+ * workflows will produce one opened period per closed period (the
224
+ * opened one is the SUCCESSOR — its `startDate` equals the prior
225
+ * `endDate + 1 day`).
226
+ */
227
+ readonly kind: 'closed' | 'opened';
228
+ /** ISO date — inclusive upper bound for records belonging to this period. */
229
+ readonly endDate: string;
230
+ /** ISO date — lower bound (present on opened periods only). */
231
+ readonly startDate?: string;
232
+ /**
233
+ * Record field carrying the business date (e.g. `'date'` on an
234
+ * invoice, `'paidAt'` on a payment). The guard compares
235
+ * `record[dateField]` against `endDate` — NOT the envelope `_ts`.
236
+ * Accounting entries booked late (business date `2026-01-15`,
237
+ * write-time `2026-04-22`) still get sealed when Q1 closes at
238
+ * `2026-03-31` because the comparison uses the business date.
239
+ *
240
+ * Optional for backwards compat. When absent, the guard falls back
241
+ * to envelope `_ts` — that's a write-time seal, appropriate for
242
+ * content that doesn't carry a logical business date (e.g. system
243
+ * settings) but almost never right for accounting ledgers.
244
+ */
245
+ readonly dateField?: string;
246
+ /** ISO timestamp recorded at `closePeriod()` / `openPeriod()` call time. */
247
+ readonly closedAt: string;
248
+ /** userId of the keyring that invoked the close/open. */
249
+ readonly closedBy: string;
250
+ /** Name of the prior period this one chains to, if any. */
251
+ readonly priorPeriodName?: string;
252
+ /** sha256(canonicalJson(priorPeriod)) — empty for the first period. */
253
+ readonly priorPeriodHash: string;
254
+ /**
255
+ * Opened periods only — the names of the collections whose
256
+ * carry-forward aggregates were written by {@link openPeriod}.
257
+ * Recorded for auditability so a future `verifyPeriodChain()` can
258
+ * cross-check the opening balances against the closing snapshot.
259
+ */
260
+ readonly openingCollections?: readonly string[];
261
+ /** #604 return-only — merged from the `_period_freezes/<name>` companion on
262
+ * read; NEVER written into the stored `_periods/<name>` record (would break
263
+ * the hash chain). Absent = not yet frozen. */
264
+ readonly frozenAt?: string;
265
+ readonly frozenBy?: string;
266
+ readonly purgedMarkerCount?: number;
267
+ /** #613 return-only — merged from the `_period_archives/<name>` companion on
268
+ * read; NEVER written into the stored `_periods/<name>` record. Absent = not
269
+ * yet archived. */
270
+ readonly archivedAt?: string;
271
+ readonly archivedBy?: string;
272
+ readonly archivedRecordCount?: number;
273
+ /** #615 return-only — merged from the `_period_target_purges/<name>` companion
274
+ * on read; NEVER written into the stored `_periods/<name>` record. Absent =
275
+ * target-purge not yet run (or the vault has no push-only targets). */
276
+ readonly targetsPurgedAt?: string;
277
+ readonly targetsPurgedBy?: string;
278
+ readonly targetsPurged?: readonly TargetPurgeCount[];
279
+ }
280
+ /** Options for `vault.closePeriod()`. */
281
+ export interface ClosePeriodOptions {
282
+ /** Human-readable name. Must not collide with an existing period. */
283
+ readonly name: string;
284
+ /**
285
+ * Inclusive upper cutoff. A record is sealed when its
286
+ * `record[dateField]` (or, if absent, the envelope `_ts`) is at or
287
+ * before this ISO timestamp.
288
+ */
289
+ readonly endDate: string;
290
+ /**
291
+ * Record field carrying the business date used for period
292
+ * membership. Recommended for accounting workflows — e.g. an
293
+ * invoice booked late (write-time after close) is still sealed
294
+ * when its `invoice.date` falls inside the closed period.
295
+ *
296
+ * Omit to use envelope `_ts` (write-time seal). This fallback
297
+ * rarely matches real-world accounting semantics; prefer passing
298
+ * an explicit `dateField`.
299
+ */
300
+ readonly dateField?: string;
301
+ }
302
+ /** Options for `vault.openPeriod()`. */
303
+ export interface OpenPeriodOptions<TCollections = Record<string, Record<string, unknown>>> {
304
+ /** Human-readable name for the new period. Must be unique. */
305
+ readonly name: string;
306
+ /** ISO lower bound of the new period (usually prior `endDate + 1 day`). */
307
+ readonly startDate: string;
308
+ /**
309
+ * Name of the prior CLOSED period this one chains from. The prior
310
+ * period's record is verified to exist and to be `kind: 'closed'`;
311
+ * its `endDate` is made available to the `carryForward` callback.
312
+ */
313
+ readonly fromPeriod: string;
314
+ /**
315
+ * Receives a read-only facade over the vault's CURRENT state,
316
+ * plus the prior period's `endDate`. Accounting semantics: after
317
+ * a period closes, records with `record[dateField] <= endDate`
318
+ * are frozen — current state equals closing state, so a caller
319
+ * can compute closing balances by querying the live collection
320
+ * with a `where('date', '<=', priorEndDate)` filter.
321
+ *
322
+ * Returns opening-balance records keyed by collection name.
323
+ * Example:
324
+ *
325
+ * ```ts
326
+ * carryForward: async (ctx) => {
327
+ * const closing = await ctx.collection<Journal>('journal')
328
+ * .query().where('date', '<=', ctx.priorEndDate).toArray()
329
+ * const opening: Record<string, Journal> = {}
330
+ * for (const entry of closing) {
331
+ * opening[`OB-${entry.id}`] = { ...entry, date: '2026-04-01' }
332
+ * }
333
+ * return { journal: opening }
334
+ * }
335
+ * ```
336
+ */
337
+ readonly carryForward: (ctx: CarryForwardContext) => Promise<TCollections> | TCollections;
338
+ }
339
+ /**
340
+ * Context passed to `OpenPeriodOptions.carryForward`. Exposes a
341
+ * read-only subset of the live vault (`collection(name).get/list`)
342
+ * plus the prior period's `endDate` so business-date filters can
343
+ * be built by the caller.
344
+ *
345
+ * Writes go via the return value, not via the facade — the
346
+ * `collection()` here is deliberately restricted to reads.
347
+ */
348
+ export interface CarryForwardContext {
349
+ /** The prior period's `endDate` — the boundary of the closing snapshot. */
350
+ readonly priorEndDate: string;
351
+ /** Read-only collection facade over current vault state. */
352
+ collection<T = unknown>(name: string): ReadOnlyCollection<T>;
353
+ }
354
+ /** Minimum read surface exposed to `carryForward`. */
355
+ export interface ReadOnlyCollection<T> {
356
+ get(id: string): Promise<T | null>;
357
+ list(): Promise<T[]>;
358
+ }
359
+ /**
360
+ * Load every period record currently stored on the adapter.
361
+ * Decrypting is the caller's responsibility (we return plain records
362
+ * so the vault can use its own `_periods` DEK).
363
+ *
364
+ * @internal — called by Vault methods that need the closed-period
365
+ * cache. Not part of the public API surface.
366
+ */
367
+ export declare function loadPeriods(adapter: NoydbStore, vault: string, decrypt: (envelope: EncryptedEnvelope) => Promise<PeriodRecord>): Promise<PeriodRecord[]>;
368
+ /**
369
+ * Given the current ordered period list, pick the last entry that
370
+ * belongs to the hash chain — used as the `priorPeriodHash` anchor
371
+ * for the next closure/opening.
372
+ *
373
+ * @internal
374
+ */
375
+ export declare function chainAnchor(records: readonly PeriodRecord[]): Promise<{
376
+ priorPeriodName?: string;
377
+ priorPeriodHash: string;
378
+ }>;
379
+ /**
380
+ * Throw `PeriodClosedError` if the record being touched falls within
381
+ * any closed period.
382
+ *
383
+ * Three signals, evaluated per period:
384
+ *
385
+ * 1. If the period declares a `dateField`, the guard reads
386
+ * `record[dateField]` on BOTH the existing (prior) record AND the
387
+ * incoming (new) record. Either comparing `<= endDate` triggers
388
+ * the error — callers cannot slide a record into a closed period
389
+ * by editing its date field.
390
+ * 2. If the period has no `dateField`, the guard falls back to the
391
+ * envelope `_ts` of the existing record. Fresh inserts (no
392
+ * existing envelope) pass.
393
+ * 3. For a delete, only the existing side is checked.
394
+ *
395
+ * @internal
396
+ */
397
+ export declare function assertTsWritable(existing: {
398
+ ts: string | null;
399
+ record: Record<string, unknown> | null;
400
+ } | null, incomingRecord: Record<string, unknown> | null, closedPeriods: readonly PeriodRecord[]): void;
401
+ /**
402
+ * Sanity-check a proposed period name + endDate against existing
403
+ * records. Shared by closePeriod / openPeriod so the two pathways
404
+ * produce identical diagnostics.
405
+ *
406
+ * @internal
407
+ */
408
+ export declare function validatePeriodName(name: string, existing: readonly PeriodRecord[]): void;
409
+ /**
410
+ * Wire a reserved-collection ledger append for a period record. The
411
+ * period itself is stored via the adapter as an encrypted envelope;
412
+ * the ledger entry is a normal `put` with the period's payloadHash,
413
+ * so period closures inherit the chain's tamper-evidence.
414
+ *
415
+ * @internal
416
+ */
417
+ export declare function appendPeriodLedgerEntry(ledger: LedgerStore | null, actor: string, envelope: EncryptedEnvelope, name: string, collection?: string): Promise<void>;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Strategy seam for the optional accounting-periods service. Core
3
+ * imports `PeriodsStrategy` type-only + `NO_PERIODS` stub; the real
4
+ * `loadPeriods` / `chainAnchor` / `assertTsWritable` /
5
+ * `validatePeriodName` / `appendPeriodLedgerEntry` functions are
6
+ * only reachable via `withPeriods()` in `./active.ts`.
7
+ *
8
+ * Applications that never call `vault.closePeriod()` /
9
+ * `vault.openPeriod()` ship none of the ~363 LOC.
10
+ *
11
+ * @internal
12
+ */
13
+ import type { EncryptedEnvelope, NoydbStore } from '../../kernel/types.js';
14
+ import type { LedgerStore } from '../../with-commit/history/ledger/store.js';
15
+ import type { PeriodRecord } from './periods.js';
16
+ /**
17
+ * @internal
18
+ */
19
+ export interface PeriodsStrategy {
20
+ loadPeriods(adapter: NoydbStore, vault: string, decrypt: (envelope: EncryptedEnvelope) => Promise<PeriodRecord>): Promise<PeriodRecord[]>;
21
+ chainAnchor(records: readonly PeriodRecord[]): Promise<{
22
+ priorPeriodName?: string;
23
+ priorPeriodHash: string;
24
+ }>;
25
+ assertTsWritable(existing: {
26
+ ts: string | null;
27
+ record: Record<string, unknown> | null;
28
+ } | null, incoming: Record<string, unknown> | null, periods: readonly PeriodRecord[]): void;
29
+ validatePeriodName(name: string, existing: readonly PeriodRecord[]): void;
30
+ appendPeriodLedgerEntry(ledger: LedgerStore | null, actor: string, envelope: EncryptedEnvelope, periodName: string, collection?: string): Promise<void>;
31
+ }
32
+ export declare const NO_PERIODS: PeriodsStrategy;
@@ -0,0 +1,95 @@
1
+ import { type EnclaveKey } from '../../kernel/enclave/index.js';
2
+ import type { NoydbStore } from '../../kernel/types.js';
3
+ import type { LedgerStore } from '../../with-commit/history/ledger/store.js';
4
+ import type { Collection } from '../../kernel/collection.js';
5
+ import type { PeriodsStrategy } from './strategy.js';
6
+ import { type PeriodRecord, type TargetPurgeCount, type ClosePeriodOptions, type OpenPeriodOptions } from './periods.js';
7
+ /** Everything the moving period methods touched on the vault's `this.*`. */
8
+ export interface VaultPeriodsDeps {
9
+ /** Resolved periods strategy (NO_PERIODS when not configured). */
10
+ readonly strategy: PeriodsStrategy;
11
+ /** The ciphertext store. */
12
+ readonly adapter: NoydbStore;
13
+ /** Vault namespace name. */
14
+ readonly vault: string;
15
+ /** Whether records are encrypted (vs debug-plaintext). */
16
+ readonly encrypted: boolean;
17
+ /** The invoking keyring's user id (read fresh per call). */
18
+ userId(): string;
19
+ /** Per-collection DEK resolver (bound `vault.getDEK`). */
20
+ getDEK(collection: string): Promise<EnclaveKey>;
21
+ /** The vault's ledger store, or null when history is off. */
22
+ getLedgerOrNull(): LedgerStore | null;
23
+ /** Collection accessor (used by `openPeriod`'s carry-forward writes). */
24
+ collection<T = unknown>(name: string): Collection<T>;
25
+ /** #604: physically purge delete markers with `_ts < before`. Bound to `vault._purgeDeleteMarkers`. */
26
+ purgeDeleteMarkers(before: string): Promise<number>;
27
+ /** #613: relocate a closed period's in-window records hot → cold. Bound to `vault._archiveClosedPeriod`. */
28
+ archiveRecords(before: string): Promise<number>;
29
+ /** #615: sweep delete markers off the vault's push-only sync targets. Bound to `vault._purgePeriodTargets`. */
30
+ purgeTargets(before: string): Promise<readonly TargetPurgeCount[]>;
31
+ }
32
+ export declare class VaultPeriods {
33
+ private readonly deps;
34
+ /**
35
+ * Loaded period records, lazily populated on first close/open/list/get/guard
36
+ * and kept in sync by the write paths. `null` until first touched — the
37
+ * write-guard fast-path avoids a full adapter scan for vaults that never use
38
+ * periods.
39
+ */
40
+ private periodCache;
41
+ constructor(deps: VaultPeriodsDeps);
42
+ closePeriod(options: ClosePeriodOptions): Promise<PeriodRecord>;
43
+ openPeriod<TCollections extends Record<string, Record<string, unknown>>>(options: OpenPeriodOptions<TCollections>): Promise<PeriodRecord>;
44
+ /**
45
+ * Freeze a closed period: physically purges delete markers whose `_ts`
46
+ * falls inside the period's window (#604) and records the fact in a
47
+ * companion `_period_freezes/<name>` record. NEVER mutates the
48
+ * hash-chained `_periods/<name>` record's stored bytes — `frozenAt` /
49
+ * `frozenBy` / `purgedMarkerCount` are merged into `PeriodRecord`s on
50
+ * read only. Idempotent: a second call is a no-op that returns the
51
+ * same merged record without re-purging or re-appending a ledger entry.
52
+ */
53
+ freezePeriod(name: string): Promise<PeriodRecord>;
54
+ /**
55
+ * Archive a closed period (#613): physically relocates its in-window
56
+ * records (those with `_ts < periodExclusiveUpperBound(endDate)`) from the
57
+ * hot store to the configured cold tier via `archiveRecords`, and records
58
+ * the fact in a companion `_period_archives/<name>` record. NEVER mutates
59
+ * the hash-chained `_periods/<name>` record. Non-destructive (reads fall
60
+ * through to cold) and idempotent: a second call is a no-op returning the
61
+ * same merged record.
62
+ */
63
+ archivePeriod(name: string): Promise<PeriodRecord>;
64
+ /**
65
+ * Target-purge a closed period (#615): sweeps delete markers off the vault's
66
+ * PUSH-ONLY sync targets (`backup`/`archive`) via `purgeTargets`, recording a
67
+ * companion `_period_target_purges/<name>` record. `sync-peer` targets are
68
+ * skipped (resurrection risk). NEVER mutates the chained `_periods/<name>`
69
+ * record. Requires the period be frozen first (closed → frozen → target-purged).
70
+ * Idempotent once run; with no push-only targets it writes no companion and
71
+ * is re-runnable.
72
+ */
73
+ purgePeriodTargets(name: string): Promise<PeriodRecord>;
74
+ /** Merge target-purge companion fields into a fresh `PeriodRecord` copy — never mutates `periodCache`. */
75
+ private mergeTargetPurge;
76
+ /** Merge archive companion fields into a fresh `PeriodRecord` copy — never mutates `periodCache`. */
77
+ private mergeArchive;
78
+ /** Merge freeze companion fields into a fresh `PeriodRecord` copy — never mutates `periodCache`. */
79
+ private mergeFreeze;
80
+ /** Return every closed / opened period in `closedAt` order, merged with any freeze + archive companions. */
81
+ listPeriods(): Promise<readonly PeriodRecord[]>;
82
+ /** Look up a single period by name, merged with its freeze + archive + target-purge companions if any. Returns `null` if not found. */
83
+ getPeriod(name: string): Promise<PeriodRecord | null>;
84
+ /** Called by the gate bus before put/delete. */
85
+ assertTsWritable(existing: {
86
+ ts: string | null;
87
+ record: Record<string, unknown> | null;
88
+ } | null, incoming: Record<string, unknown> | null): Promise<void>;
89
+ private loadPeriodsCache;
90
+ /** Generic reserved-collection writer — serves `_periods` and `_period_freezes` alike. */
91
+ private writeReserved;
92
+ /** Generic reserved-collection reader — serves `_period_freezes` companion reads. */
93
+ private readReserved;
94
+ private decryptPeriodRecord;
95
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Enable the portability capability.
3
+ * Pass to `createNoydb({ portabilityStrategy: withPortability() })` to make a
4
+ * vault's `user.exportMyAccessibleData` / `user.unilateralWithdrawal` /
5
+ * `user.requestWithdrawal` / `user.listWithdrawalRequests` /
6
+ * `user.approveWithdrawal` / `user.rejectWithdrawal` methods live. The
7
+ * export/withdraw/request engines are dynamically imported here, so they stay
8
+ * reachable only via opt-in.
9
+ */
10
+ import type { PortabilityStrategy } from './strategy.js';
11
+ export declare function withPortability(): PortabilityStrategy;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * `exportMyAccessibleData`: a non-owner user exports the scope they
3
+ * can decrypt as a portable, re-keyed `.noydb` bundle. Non-destructive and
4
+ * **always allowed** (the "data sovereignty by construction" property of
5
+ * sealing-at-dimension — the firm cannot deny it) but **audited**.
6
+ *
7
+ * Reuses the existing bundle machinery: the access boundary is the caller's DEK
8
+ * set (operator/client → `keyring.permissions`; owner/admin/viewer → all), so a
9
+ * record outside the caller's keys can never enter the bundle. Re-keying to a
10
+ * new owner reuses `writePod`'s `exportPassphrase` shorthand.
11
+ */
12
+ import type { Vault } from '../../kernel/vault.js';
13
+ import type { UnlockedKeyring } from '../../with-party/team/keyring.js';
14
+ /**
15
+ * Resolve the collections a caller may export/withdraw: operator/client are
16
+ * scoped to their granted collections; owner/admin/viewer see everything
17
+ * (`undefined` = no allowlist). A `scope.collections` sub-scope intersects the
18
+ * granted set. `writableOnly` keeps only `rw` grants (for destructive ops).
19
+ */
20
+ export declare function resolveAccessibleCollections(keyring: UnlockedKeyring, scope: {
21
+ collections?: readonly string[];
22
+ } | undefined, writableOnly?: boolean): string[] | undefined;
23
+ /** Produce a (optionally re-keyed, scoped) `.noydb` bundle — no audit. */
24
+ export declare function buildAccessibleBundle(vault: Vault, collections: string[] | undefined, reKey: {
25
+ passphrase: string;
26
+ } | undefined, compression?: 'auto' | 'brotli' | 'gzip' | 'none'): Promise<Uint8Array>;
27
+ export interface ExportAccessibleOptions {
28
+ /**
29
+ * Re-key the bundle so it is independently openable by a new owner with this
30
+ * passphrase (the receiving firm / the client themselves). Omit to inherit
31
+ * the source keyring (personal backup).
32
+ */
33
+ readonly reKey?: {
34
+ readonly passphrase: string;
35
+ };
36
+ /** Narrow the export to a subset of the caller's accessible collections. */
37
+ readonly scope?: {
38
+ readonly collections?: readonly string[];
39
+ };
40
+ readonly compression?: 'auto' | 'brotli' | 'gzip' | 'none';
41
+ }
42
+ /**
43
+ * Produce a re-keyed, access-scoped `.noydb` bundle of the caller's accessible
44
+ * data. Appends a tamper-evident audit entry (`reason: 'user-export:<userId>'`).
45
+ */
46
+ export declare function exportAccessibleData(vault: Vault, opts?: ExportAccessibleOptions): Promise<Uint8Array>;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * `@noy-db/hub/portability` — data-sovereignty (export + withdrawal) capability.
3
+ *
4
+ * Opt in with `createNoydb({ portabilityStrategy: withPortability() })` to
5
+ * enable the `vault.user.*` portability surface: `exportMyAccessibleData`,
6
+ * `unilateralWithdrawal`, `requestWithdrawal`, `listWithdrawalRequests`,
7
+ * `approveWithdrawal`, `rejectWithdrawal`. Without it every one throws
8
+ * `PortabilityNotEnabledError` and the export/withdraw/request engines stay out
9
+ * of the floor bundle.
10
+ *
11
+ * @module
12
+ */
13
+ export { withPortability } from './active.js';
14
+ export { NO_PORTABILITY, type PortabilityStrategy } from './strategy.js';
15
+ export { PortabilityNotEnabledError } from '../../kernel/errors.js';
16
+ export type { ExportAccessibleOptions } from './export-accessible.js';
17
+ export type { WithdrawAccessibleOptions, WithdrawResult } from './withdraw-accessible.js';
18
+ export type { RequestWithdrawalOptions, RequestWithdrawalResult, WithdrawalRequest, WithdrawalRequestStatus, ApproveWithdrawalOptions, RejectWithdrawalOptions, } from './request-withdrawal.js';