@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,66 @@
1
+ /**
2
+ * Orchestrate the derive → hash → skip-or-write cycle for a collection's
3
+ * persisted JSON Schema. Called by the Vault at collection-registration
4
+ * time when the developer opts in via `collection({ persistJsonSchema:
5
+ * true })`.
6
+ *
7
+ * Skip semantics:
8
+ *
9
+ * - Zod validators: skip when the new hash equals the stored hash.
10
+ * - Non-Zod (stub envelopes have hash=null): skip when the stored
11
+ * envelope's `kind` matches the freshly-detected kind (since there's
12
+ * no body to compare yet — a kind change is the only signal).
13
+ *
14
+ * @module
15
+ */
16
+ import type { SchemaUpdateStrategy, UpdateDecision } from '../schema-update/types.js';
17
+ import type { NoydbStore, ClassifiedMarker } from '../../kernel/types.js';
18
+ import type { PersistedSchemaEnvelope } from './types.js';
19
+ import type { PairingMarker } from '../satellites/types.js';
20
+ import type { EnclaveKey } from '../../kernel/enclave/index.js';
21
+ export interface PersistSchemaResult {
22
+ /** True when a fresh envelope was written to storage. */
23
+ readonly written: boolean;
24
+ /** True when an existing envelope matched and the write was skipped. */
25
+ readonly skipped: boolean;
26
+ /** The envelope that was either written or matched. */
27
+ readonly envelope: PersistedSchemaEnvelope;
28
+ /** The update-strategy decision, present when strategies ran. */
29
+ readonly decision?: UpdateDecision;
30
+ }
31
+ export declare function persistSchemaIfNeeded(opts: {
32
+ readonly store: NoydbStore;
33
+ readonly vault: string;
34
+ readonly collectionName: string;
35
+ readonly validator: unknown;
36
+ readonly dek: EnclaveKey;
37
+ readonly strategies?: readonly SchemaUpdateStrategy[];
38
+ }): Promise<PersistSchemaResult>;
39
+ /**
40
+ * Persist (or refresh) the C-A / R10 classified marker into the collection's
41
+ * `_schemas/<collection>` record, preserving any existing derived JSON-Schema
42
+ * body. Idempotent — a no-op when an equivalent marker is already stored.
43
+ * Independent of `persistJsonSchema`: called on the first classified write so a
44
+ * later naive handle can detect the drift cross-session.
45
+ */
46
+ export declare function persistClassifiedMarker(opts: {
47
+ readonly store: NoydbStore;
48
+ readonly vault: string;
49
+ readonly collectionName: string;
50
+ readonly dek: EnclaveKey;
51
+ readonly marker: ClassifiedMarker;
52
+ }): Promise<void>;
53
+ /**
54
+ * Persist (or refresh) the R-S9 satellite pairing marker into the collection's
55
+ * `_schemas/<collection>` record, preserving any existing derived JSON-Schema
56
+ * body. Idempotent — a no-op when an equivalent marker is already stored.
57
+ * Independent of `persistJsonSchema`: called on satellite declaration so a
58
+ * later divergent re-declaration can be detected cross-session.
59
+ */
60
+ export declare function persistSatelliteMarker(opts: {
61
+ readonly store: NoydbStore;
62
+ readonly vault: string;
63
+ readonly collectionName: string;
64
+ readonly dek: EnclaveKey;
65
+ readonly marker: PairingMarker;
66
+ }): Promise<void>;
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Read / write the per-collection persisted-schema envelope. Mirrors the
3
+ * standard noy-db record envelope shape and is **AES-GCM encrypted with
4
+ * the collection's DEK** — the schema body (field names, enum values,
5
+ * constraints) is sensitive metadata, so it gets the same encryption
6
+ * envelope as the records it describes.
7
+ *
8
+ * Storage layout:
9
+ *
10
+ * <vault>/_schemas/<collection> → EncryptedEnvelope
11
+ *
12
+ * The DEK passed to {@link savePersistedSchema} / {@link loadPersistedSchema}
13
+ * is the same key the collection uses for its records.
14
+ *
15
+ * @module
16
+ */
17
+ import { type EnclaveKey } from '../../kernel/enclave/index.js';
18
+ import type { NoydbStore } from '../../kernel/types.js';
19
+ import type { PersistedSchemaEnvelope } from './types.js';
20
+ /** Reserved collection name where persisted schemas live. */
21
+ export declare const SCHEMAS_COLLECTION: "_schemas";
22
+ /**
23
+ * A decrypted persisted-schema read paired with the wrapping envelope's
24
+ * `_v`. The version is the optimistic-concurrency token: pass it back to
25
+ * {@link savePersistedSchema} as `expectedVersion` to make the write a CAS
26
+ * that rejects a stale put (see #583 — the `_schemas` record is shared by
27
+ * the JSON-Schema writer and the classified-marker writer).
28
+ */
29
+ export interface PersistedSchemaEntry {
30
+ /** Wrapping envelope `_v` (0 when no record exists yet). */
31
+ readonly version: number;
32
+ /** Decrypted payload, or `undefined` when absent/corrupt/wrong-DEK. */
33
+ readonly payload: PersistedSchemaEnvelope | undefined;
34
+ }
35
+ /**
36
+ * Read the persisted-schema envelope for one collection together with its
37
+ * wrapping `_v`. The version reflects the raw stored envelope even when the
38
+ * payload cannot be decrypted/parsed (so a CAS still guards a corrupt record
39
+ * rather than silently clobbering it).
40
+ */
41
+ export declare function loadPersistedSchemaEntry(store: NoydbStore, vault: string, collection: string, dek: EnclaveKey): Promise<PersistedSchemaEntry>;
42
+ /**
43
+ * Read and decrypt the persisted-schema envelope for one collection.
44
+ * Returns `undefined` when no envelope has been written or when decryption
45
+ * fails (e.g. wrong DEK passed). Tolerates corrupted records — JSON parse
46
+ * failures surface as `undefined`, mirroring `_meta/handle`'s contract.
47
+ */
48
+ export declare function loadPersistedSchema(store: NoydbStore, vault: string, collection: string, dek: EnclaveKey): Promise<PersistedSchemaEnvelope | undefined>;
49
+ /**
50
+ * Encrypt and persist a schema envelope for one collection. Always
51
+ * overwrites any prior write (callers gate on hash equality before calling
52
+ * to avoid no-op writes).
53
+ *
54
+ * Pass `expectedVersion` — the `version` from {@link loadPersistedSchemaEntry}
55
+ * captured at load time — to make the write an optimistic CAS: on a store with
56
+ * `casAtomic`, `store.put` throws {@link ConflictError} when the record was
57
+ * bumped concurrently, so a lost update on the shared `_schemas` record is
58
+ * rejected instead of silently clobbering the other writer's field (#583).
59
+ * When omitted, keeps the legacy unconditional last-writer-wins behaviour.
60
+ */
61
+ export declare function savePersistedSchema(store: NoydbStore, vault: string, collection: string, dek: EnclaveKey, payload: PersistedSchemaEnvelope, expectedVersion?: number): Promise<void>;
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Persisted-schema envelope shape.
3
+ *
4
+ * Stored encrypted under `_schemas/<collection>` with the same DEK as the
5
+ * collection's records. Auditors who can unlock the collection's data can
6
+ * also read its schema; nothing more.
7
+ *
8
+ * @see docs/superpowers/specs/2026-05-22-schema-dump-design.md
9
+ *
10
+ * @module
11
+ */
12
+ import type { ClassifiedMarker } from '../../kernel/types.js';
13
+ import type { PairingMarker } from '../satellites/types.js';
14
+ /** Family of Standard Schema v1 validator the persisted snapshot was derived from. */
15
+ export type PersistedSchemaKind = 'Zod' | 'Valibot' | 'ArkType' | 'Effect' | 'Unknown';
16
+ /**
17
+ * Plaintext payload encrypted into the `_data` field of the
18
+ * `_schemas/<collection>` envelope. The wrapper `EncryptedEnvelope` adds
19
+ * `_noydb`, `_v`, `_ts`, `_iv`, `_data` per the standard noy-db record
20
+ * format.
21
+ */
22
+ export interface PersistedSchemaEnvelope {
23
+ readonly _noydb_schema: 1;
24
+ /** Detected validator family. */
25
+ readonly kind: PersistedSchemaKind;
26
+ /**
27
+ * JSON Schema (Draft 2020-12) derived from the validator. Null when
28
+ * derivation isn't yet supported for `kind`; in that case `reason` is
29
+ * populated.
30
+ */
31
+ readonly jsonSchema: object | null;
32
+ /** SHA-256 (hex) of the canonicalised JSON Schema, or null when unavailable. */
33
+ readonly hash: string | null;
34
+ /** Human-readable reason when `jsonSchema` is null. */
35
+ readonly reason?: string;
36
+ /** ISO-8601 timestamp of the most recent derivation write. */
37
+ readonly derivedAt: string;
38
+ /**
39
+ * C-A / R10 config-drift marker. Present when the collection declares
40
+ * classified digest-only fields. A handle opened WITHOUT `classifiedFields`
41
+ * (a naive handle, whose codec has `vdigFields === null`) reads this back and
42
+ * refuses to write — a silent plaintext/tag-drop write would corrupt the
43
+ * classified record. Independent of `persistJsonSchema`: a classified
44
+ * collection that never opts into schema persistence still writes this marker.
45
+ */
46
+ readonly classified?: ClassifiedMarker;
47
+ /**
48
+ * R-S9 satellite pairing marker. Present when this collection is declared
49
+ * as a satellite (`satelliteOf`). A later re-declaration of the same
50
+ * satellite must match `(base, fieldsHash, joined)` exactly or is refused —
51
+ * the satellite-pair analogue of {@link classified}'s config-drift guard.
52
+ */
53
+ readonly satellite?: PairingMarker;
54
+ }
@@ -0,0 +1,21 @@
1
+ import type { NoydbStore } from '../../kernel/types.js';
2
+ import type { EnclaveKey } from '../../kernel/enclave/index.js';
3
+ /**
4
+ * Build a live-base id set for every satellite collection detectable from
5
+ * its persisted `_schemas/<name>` pairing marker (#591 Task 10).
6
+ *
7
+ * The bundle-export path (`with-pod/bundle.ts`) has no reachable
8
+ * `SatelliteRegistry` — that registry is private to `Vault` and adding an
9
+ * accessor would grow a kernel file past its line-ceiling ratchet. The
10
+ * marker persisted by `ensureSatelliteMarker` (`_schemas/<satellite>`,
11
+ * decrypted with the satellite collection's own DEK — see
12
+ * `with-shape/persisted-schemas/storage.ts`) is the fallback pairing-info
13
+ * source that's always reachable from just a raw store + a per-collection
14
+ * DEK accessor, so export uses that instead of the in-memory registry.
15
+ *
16
+ * Returns a `Map` from satellite collection name to its base's live id set
17
+ * (existence.ts rule 1: absent or tombstoned base ⇒ not live). Only
18
+ * satellite collections are present as keys — callers should treat a
19
+ * missing key as "not a satellite, don't filter."
20
+ */
21
+ export declare function liveBaseIdSetsForBundle(store: NoydbStore, vaultName: string, collectionNames: readonly string[], getDEK: (collectionName: string) => Promise<EnclaveKey>): Promise<Map<string, Set<string>>>;
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Satellite declaration wiring (#591, archetype-③) — the full body behind
3
+ * `Vault.collection()`'s thin call-site: in-session reconcile (idempotent
4
+ * identical redeclare / R-S9 divergent refusal), sync validation
5
+ * (R-S3/R-S5/R-S8), the R-S7 forget-coverage gate, lazy registry + poison
6
+ * write-gate creation, registration, and the fire-and-forget postRegister
7
+ * (marker persistence + R-S1 cross-check). Kept dependency-narrow: no
8
+ * `Vault` import — the kernel supplies a {@link SatelliteDeclareContext}.
9
+ */
10
+ import type { NoydbStore } from '../../kernel/types.js';
11
+ import type { EnclaveKey } from '../../kernel/enclave/index.js';
12
+ import { SatelliteRegistry } from './registry.js';
13
+ /** The narrow slice of Vault that declaration wiring needs. */
14
+ export interface SatelliteDeclareContext {
15
+ readonly adapter: NoydbStore;
16
+ readonly vaultName: string;
17
+ /** `forgetStrategy.subjects` — collection → subject field (R-S7 gate input). */
18
+ readonly forgetSubjects: Record<string, string>;
19
+ readonly getDEK: (collectionName: string) => Promise<EnclaveKey>;
20
+ /** The base collection's attached Standard Schema validator, if constructed. */
21
+ readonly getBaseSchema: (base: string) => unknown;
22
+ /** The base collection's constructed crdt mode, if any (R-S8 direction i). */
23
+ readonly getBaseCrdt: (base: string) => unknown;
24
+ /** True when `name` is an already-constructed collection (R-S5 joined-name guard). */
25
+ readonly collectionExists: (name: string) => boolean;
26
+ /** Registers the vault-wide poison write-gate; invoked at most once per vault. */
27
+ readonly registerPoisonHook: (hook: (e: {
28
+ readonly vault: string;
29
+ readonly collection: string;
30
+ }) => void) => void;
31
+ /**
32
+ * Iterates the vault's SyncEngine(s) (#591 Task 11) — used to wire the
33
+ * live pair-expander (once per vault, alongside `registerPoisonHook`; the
34
+ * closure captures the registry itself, not a snapshot, so pairs declared
35
+ * later are still picked up by push/pull filters) and to retroactively
36
+ * re-mirror conflict resolvers on every successful pair registration.
37
+ * No-op when sync is not configured.
38
+ */
39
+ readonly forEachSyncEngine: (fn: (engine: PairSyncEngine) => void) => void;
40
+ }
41
+ /** The narrow slice of SyncEngine that satellite declaration wiring drives (#591 Task 11). */
42
+ interface PairSyncEngine {
43
+ setPairExpander(expander: (names: readonly string[]) => readonly string[]): void;
44
+ remirrorPairResolvers(names: readonly string[]): void;
45
+ }
46
+ export interface SatelliteDeclarationOptions {
47
+ readonly satelliteOf: string;
48
+ readonly fields?: readonly string[] | undefined;
49
+ readonly joined?: string | undefined;
50
+ readonly perRecordKeys?: boolean | undefined;
51
+ readonly crdt?: unknown;
52
+ }
53
+ /**
54
+ * Register `collectionName` as a satellite per `options`. Returns the
55
+ * (possibly newly created) registry — the caller stores it back on the vault.
56
+ * A refused declaration throws {@link SatelliteConfigError} and leaves NO
57
+ * side effect (no registry created, no hook registered).
58
+ */
59
+ export declare function declareSatellite(ctx: SatelliteDeclareContext, collectionName: string, options: SatelliteDeclarationOptions, existingRegistry: SatelliteRegistry | null): SatelliteRegistry;
60
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { NoydbStore } from '../../kernel/types.js';
2
+ /** One undecrypted adapter `get` on the base — the store-shape the spec pins (zero extra crypto). */
3
+ export declare function isBaseLive(adapter: NoydbStore, vault: string, base: string, id: string): Promise<boolean>;
4
+ /** The set of base ids that are currently live — used to id-filter satellite `list()` results. */
5
+ export declare function liveBaseIdSet(adapter: NoydbStore, vault: string, base: string): Promise<Set<string>>;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Fan-out writes for a base↔satellite pair (#591, Task 6): a joined `put`
3
+ * splits the record across both collections and writes base-then-satellite;
4
+ * a pair `delete` removes satellite-then-base. Either function reverts every
5
+ * already-executed leg (best-effort, raw adapter writes) and compensates
6
+ * each reverted collection's cache/dirty-tracking/change-stream on failure.
7
+ *
8
+ * Both legs are driven through `Collection.put`/`.delete` (encryption,
9
+ * ledger, history, cache, sync-dirty, change-emit all fire normally); only
10
+ * the REVERT writes go straight to the raw adapter, via the shared
11
+ * `bestEffortRevert` helper (`kernel/best-effort-revert.ts`) also used by
12
+ * `revertExecuted` (`with-commit/tx/transaction.ts`) — a neutral kernel-level
13
+ * home so this always-on satellite path can share the revert shape without
14
+ * depending on with-commit, a gated service.
15
+ *
16
+ * `deps.base()`/`deps.satellite()` may return either a raw `Collection` or
17
+ * one of this package's proxies (`makeSatelliteProxy` / `makeBaseProxy`) —
18
+ * every handle is unwrapped via `RAW_TARGET` before use so fan-out never
19
+ * re-enters a proxy's own `put`/`delete` override. Re-entering would either
20
+ * deadlock (the satellite proxy's `put` takes the same non-reentrant
21
+ * `registry.withPairLock` this module already holds) or recurse forever
22
+ * (the base proxy's `delete` calls straight back into `pairDelete`).
23
+ */
24
+ import type { NoydbStore } from '../../kernel/types.js';
25
+ import type { SatelliteSpec } from './types.js';
26
+ import type { SatelliteRegistry } from './registry.js';
27
+ export interface FanoutDeps {
28
+ readonly spec: SatelliteSpec;
29
+ readonly base: () => unknown;
30
+ readonly satellite: () => unknown;
31
+ readonly adapter: NoydbStore;
32
+ readonly vaultName: string;
33
+ readonly registry: SatelliteRegistry;
34
+ }
35
+ /** Split `record` across the pair by `spec.fields`, base leg first, satellite leg second. */
36
+ export declare function joinedPut(deps: FanoutDeps, id: string, record: Record<string, unknown>): Promise<void>;
37
+ /** Remove both legs of the pair, satellite first, base second. */
38
+ export declare function pairDelete(deps: FanoutDeps, id: string): Promise<void>;
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Forget fan-out (#591, Task 8): expands the base refs resolved from the
3
+ * encrypted subject index with a synthesized same-id ref for every base ref
4
+ * whose collection has a declared satellite.
5
+ *
6
+ * A satellite record is NEVER itself indexed in `_subject_index` (its writes
7
+ * only ever go through `joinedPut`, which never touches the subject-field
8
+ * write hook — see `noydb.ts#registerForgetHooks`), so `lookupSubject` alone
9
+ * would leave the satellite half of a pair permanently un-erasable. The
10
+ * synthesized ref carries `satelliteOf` (the base collection name) so:
11
+ * - `vault.forget()`'s classification line can inherit `perRecordKeys`
12
+ * from the BASE's forget-strategy entry (the satellite itself is never a
13
+ * `subjects` key), and
14
+ * - the synthesized ref's tombstone write can be held to R-S4 fail-loud
15
+ * semantics distinct from a base ref's existing resilient handling.
16
+ *
17
+ * The synthesized ref is INTERLEAVED into the SAME list the caller iterates —
18
+ * immediately BEFORE its base ref, not appended after the whole list — so it
19
+ * traverses every purge stage below the tombstone (history, `_idx`/`_ftindex`,
20
+ * blobs, `_sealed`/`_sealed_cek`, vectors) identically to a base ref — there
21
+ * is no separate satellite-only code path.
22
+ *
23
+ * Ordering is load-bearing (retry black hole, #591 review C1): `vault.forget()`'s
24
+ * per-ref loop removes each ref's subject-index entry (the retry anchor) only
25
+ * at the END of that ref's own iteration. If the satellite ref instead ran
26
+ * AFTER its base ref (as a simple append), an R-S4 abort mid-satellite-ref (or
27
+ * a crash) would leave the base ref already fully processed — including its
28
+ * subject-index entry already removed — so a retried `forget(subjectId)` finds
29
+ * nothing to resolve and returns a clean, empty result while the satellite's
30
+ * heavy data stays un-shredded forever. Interleaving the satellite ref BEFORE
31
+ * its base ref means any R-S4 abort happens before the base's subject-index
32
+ * anchor is touched, so a retry re-discovers the same base ref (and
33
+ * re-synthesizes its satellite ref) until both actually shred.
34
+ */
35
+ import type { SubjectRef } from '../../with-audit/forget/subject-index.js';
36
+ import type { SatelliteRegistry } from './registry.js';
37
+ /** A subject ref synthesized from a base ref via a declared satellite pairing. */
38
+ export interface SatelliteSubjectRef extends SubjectRef {
39
+ readonly satelliteOf: string;
40
+ }
41
+ /**
42
+ * Expand `refs` (as resolved by `lookupSubject`) with one synthesized ref per
43
+ * base ref whose collection has a registered satellite. `registry` may be
44
+ * `null` (no satellite ever declared in this vault) — returns `refs`
45
+ * unchanged, byte-identical to pre-#591 behaviour.
46
+ */
47
+ export declare function expandRefsWithSatellites(refs: readonly SubjectRef[], registry: SatelliteRegistry | null): ReadonlyArray<SubjectRef | SatelliteSubjectRef>;
@@ -0,0 +1,3 @@
1
+ /** Satellite collections barrel — spec/schema types + config error (#591). @module */
2
+ export type { SatelliteSpec, PairingMarker, JoinedHandle } from './types.js';
3
+ export { SatelliteConfigError } from '../../kernel/errors.js';
@@ -0,0 +1,19 @@
1
+ /**
2
+ * JoinedHandle — the full-record access point for a base↔satellite pair
3
+ * declared with `joined:` (#591, Task 7). Deliberately narrow (spec § The
4
+ * model): get/put/delete/list/describe only, never a `Collection<T>` cast —
5
+ * reactive members (`subscribe`, `live`, …) are simply absent from the
6
+ * returned object, not stubbed.
7
+ *
8
+ * Reads compose under existence authority (spec § Convergence & existence
9
+ * authority, rule 1): the base row alone decides whether a record exists at
10
+ * all — `get`/`list` check it via an undecrypted adapter read
11
+ * (`isBaseLive`/`liveBaseIdSet`) before merging in the satellite side, so a
12
+ * base-absent-or-tombstoned id reads as fully gone even if a satellite
13
+ * envelope still lingers. Writes/deletes delegate wholesale to the Task 6
14
+ * fan-out (`joinedPut`/`pairDelete`), which already holds the pair lock and
15
+ * reverts on partial failure — this module adds no write logic of its own.
16
+ */
17
+ import type { JoinedHandle, SatelliteSpec } from './types.js';
18
+ import type { FanoutDeps } from './fanout.js';
19
+ export declare function makeJoinedHandle<T extends Record<string, unknown>>(spec: SatelliteSpec, deps: FanoutDeps): JoinedHandle<T>;
@@ -0,0 +1,10 @@
1
+ import type { NoydbStore } from '../../kernel/types.js';
2
+ import type { EnclaveKey } from '../../kernel/enclave/index.js';
3
+ import type { SatelliteSpec } from './types.js';
4
+ /**
5
+ * Persist-or-reconcile the pairing marker in `_schemas/<satellite>`.
6
+ * First declaration writes { base, fieldsHash, joined }; later declarations
7
+ * must match exactly or are refused (R-S9). Lazy imports keep the satellite
8
+ * spine tree-shakeable (config-drift.ts pattern).
9
+ */
10
+ export declare function ensureSatelliteMarker(store: NoydbStore, vaultName: string, spec: SatelliteSpec, dek: EnclaveKey): Promise<void>;
@@ -0,0 +1,26 @@
1
+ /** The narrow slice of `Collection` the migration pass needs (mirrors `fanout.ts`'s `CollectionHandle` narrowing). */
2
+ export interface SatelliteCekMigrationTarget {
3
+ /** Public config snapshot (`Collection.getConfig()`) — used to confirm the handle is genuinely in per-record-CEK mode before walking. */
4
+ getConfig(): {
5
+ readonly perRecordKeys?: boolean;
6
+ } | undefined;
7
+ _applyCutoverTransform(transform: (doc: Record<string, unknown>) => Record<string, unknown>): Promise<number>;
8
+ }
9
+ export interface SatelliteCekMigrationResult {
10
+ /** Records touched by this call (both freshly minted and already-migrated re-touches on a resumed run). */
11
+ readonly migrated: number;
12
+ }
13
+ /**
14
+ * Re-encrypt every record in `coll` under a per-record CEK. `coll` must be
15
+ * a collection handle already opened with `perRecordKeys: true` — see the
16
+ * file header for how the caller gets one past R-S7. Throws
17
+ * `SatelliteConfigError` (does NOT proceed) if `coll` is not genuinely in
18
+ * per-record-CEK mode — see the file header's mode-assertion note.
19
+ * Idempotent/resumable: safe to call again after a partial failure. NOT
20
+ * fenced against concurrent writers — see the file header's no-quiesce
21
+ * precondition; run this before the collection serves traffic.
22
+ *
23
+ * @param name The satellite collection's name — used only for the error
24
+ * message below; identical to what the caller passed to `vault.collection()`.
25
+ */
26
+ export declare function migrateSatelliteCek(name: string, coll: SatelliteCekMigrationTarget): Promise<SatelliteCekMigrationResult>;
@@ -0,0 +1,6 @@
1
+ import type { NoydbStore } from '../../kernel/types.js';
2
+ import type { EnclaveKey } from '../../kernel/enclave/index.js';
3
+ import type { SatelliteSpec } from './types.js';
4
+ import type { SatelliteRegistry } from './registry.js';
5
+ /** Async post-registration: R-S9 marker reconcile + R-S1/R-S5 derivable-schema cross-check. Failures poison, never throw. */
6
+ export declare function postRegister(store: NoydbStore, vaultName: string, spec: SatelliteSpec, getDEK: (collectionName: string) => Promise<EnclaveKey>, baseSchema: unknown, registry: SatelliteRegistry): Promise<void>;
@@ -0,0 +1,37 @@
1
+ import { RAW_TARGET } from './raw-target.js';
2
+ import type { SatelliteSpec } from './types.js';
3
+ import type { SatelliteRegistry } from './registry.js';
4
+ export { RAW_TARGET };
5
+ /**
6
+ * Correlates a collection handle's `list()` output with the ids implied by
7
+ * cache-insertion order — `list()` returns bare records (no `id` field
8
+ * unless the caller put one), so ids are recovered positionally against the
9
+ * cache's own key order instead. Read AFTER `target.list()` resolves, so a
10
+ * not-yet-hydrated cache on the first read doesn't race a still-empty key
11
+ * snapshot. Invariant: `list()` must preserve cache-insertion order
12
+ * (collection.ts `list()` maps `[...cache.values()]`) — positional
13
+ * correlation depends on it. Drops any record whose position has no
14
+ * corresponding cache key (should not happen in practice; defensive only).
15
+ * Exported so `joined.ts` (#591, Task 7) can get the same [id, record]
16
+ * correlation for the base side without duplicating this logic.
17
+ */
18
+ export declare function listWithIds(target: any): Promise<Array<[string, unknown]>>;
19
+ /**
20
+ * Wraps a satellite's real `Collection<T>` in a `Proxy` that enforces
21
+ * existence authority (spec § Convergence & existence authority, rule 1)
22
+ * and R-S6 on top of it. Every member not explicitly overridden below
23
+ * falls through to the real collection unchanged — this is why the full
24
+ * ~50-member surface (describe, count, putMany, …) survives without
25
+ * hand-stubbing. Caches nothing: every call re-checks live base state.
26
+ */
27
+ export declare function makeSatelliteProxy(target: any, spec: SatelliteSpec, registry: SatelliteRegistry): any;
28
+ /**
29
+ * Wraps a satellite's BASE collection in a `Proxy` whose overrides are
30
+ * `delete` and `deleteMany` — both routed through `pairDelete` (this task) so
31
+ * removing a base record also removes its satellite row, in order, with
32
+ * revert-on-failure. `satellite()` is a thunk, not a resolved handle: at the
33
+ * moment a base is first requested the paired satellite may not exist yet in
34
+ * some call orders, and `fanout.ts` re-resolves + unwraps it lazily per call
35
+ * anyway.
36
+ */
37
+ export declare function makeBaseProxy(target: any, spec: SatelliteSpec, registry: SatelliteRegistry, satellite: () => unknown): any;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Escape hatch: `proxied[RAW_TARGET]` returns the unwrapped collection — no
3
+ * existence check, no pair lock, no fan-out. Needed by callers (`fanout.ts`,
4
+ * a proxy's own internals) that already hold the pair mutex themselves;
5
+ * going back through a proxy's `put`/`delete` would re-enter
6
+ * `registry.withPairLock` on the same base and deadlock (non-reentrant —
7
+ * see `registry.ts:withPairLock`) or recurse forever (the base proxy's
8
+ * `delete` calls `pairDelete`, which must not call back into it).
9
+ *
10
+ * Lives in its own module (not `proxy.ts`) so `fanout.ts` can import it
11
+ * without creating a `proxy.ts` ⇄ `fanout.ts` import cycle — `proxy.ts`
12
+ * imports `pairDelete` from `fanout.ts` for `makeBaseProxy`.
13
+ */
14
+ export declare const RAW_TARGET: unique symbol;
@@ -0,0 +1,19 @@
1
+ import type { SatelliteSpec } from './types.js';
2
+ export declare class SatelliteRegistry {
3
+ private readonly byBase;
4
+ private readonly bySat;
5
+ private readonly byJoin;
6
+ private readonly poisoned;
7
+ private readonly locks;
8
+ register(spec: SatelliteSpec): void;
9
+ satelliteOf(base: string): SatelliteSpec | null;
10
+ bySatellite(name: string): SatelliteSpec | null;
11
+ byJoined(name: string): SatelliteSpec | null;
12
+ isPairMember(name: string): boolean;
13
+ allSpecs(): readonly SatelliteSpec[];
14
+ expandNames(names: readonly string[]): string[];
15
+ poison(satellite: string, reason: string): void;
16
+ assertNotPoisoned(satellite: string): void;
17
+ /** Per-base async mutex: chains sections on a stored promise tail. */
18
+ withPairLock<R>(base: string, fn: () => Promise<R>): Promise<R>;
19
+ }
@@ -0,0 +1,37 @@
1
+ import type { CollectionDescription } from '../introspection/describe.js';
2
+ /** One base↔satellite pair. v1: exactly one satellite per base. */
3
+ export interface SatelliteSpec {
4
+ readonly base: string;
5
+ readonly satellite: string;
6
+ readonly fields: readonly string[];
7
+ readonly joined?: string | undefined;
8
+ }
9
+ /** Persisted into `_schemas/<satellite>` under `x-satellite` (R-S9 drift guard). */
10
+ export interface PairingMarker {
11
+ readonly base: string;
12
+ readonly fieldsHash: string;
13
+ readonly joined?: string | undefined;
14
+ /**
15
+ * Lifetime epoch (#597) — an opaque, stable-per-collection-lifetime stamp
16
+ * minted the first time this marker is persisted and carried forward
17
+ * unchanged by every later re-declare of the SAME collection. Optional:
18
+ * markers persisted before this field existed have none. Deliberately
19
+ * excluded from `satelliteMarkersEqual` — see that function's comment.
20
+ * ADDITIVE ONLY today: there is no delete-collection API, so a stale
21
+ * marker on a reused name is unreachable; the epoch-MISMATCH rejection
22
+ * this would enable is a deferred follow-up once name reuse is possible.
23
+ */
24
+ readonly epoch?: string;
25
+ }
26
+ /**
27
+ * The full-record handle — deliberately NARROW (spec § The model): never a
28
+ * `Collection<T>` cast. `describe()` works (the @noy-db/ui contract);
29
+ * reactive APIs are absent from the type entirely.
30
+ */
31
+ export interface JoinedHandle<T extends Record<string, unknown> = Record<string, unknown>> {
32
+ get(id: string): Promise<T | null>;
33
+ put(id: string, record: T): Promise<void>;
34
+ delete(id: string): Promise<void>;
35
+ list(): Promise<T[]>;
36
+ describe(): Promise<CollectionDescription>;
37
+ }
@@ -0,0 +1,17 @@
1
+ import type { SatelliteSpec } from './types.js';
2
+ export interface SatelliteDeclarationInput {
3
+ readonly satellite: string;
4
+ readonly satelliteOf: string;
5
+ readonly fields: readonly string[] | undefined;
6
+ readonly joined?: string | undefined;
7
+ /** True when the named base is itself registered as a satellite (R-S3). */
8
+ readonly baseIsSatellite: boolean;
9
+ /** True when the declaring collection (or its base) sets crdtMode (R-S8). */
10
+ readonly crdtMode: boolean;
11
+ /** True when `joined` names an already-declared plain (non-pair) collection (R-S5). */
12
+ readonly joinedCollidesWithCollection: boolean;
13
+ }
14
+ /** Sync declaration refusals R-S3/R-S5/R-S8. Async cross-checks live in registry.ts. */
15
+ export declare function validateSatelliteDeclaration(input: SatelliteDeclarationInput): SatelliteSpec;
16
+ /** Order-insensitive stable hash of the fields list (FNV-1a over the sorted, joined names). */
17
+ export declare function hashFields(fields: readonly string[]): string;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Schema-cutover client registry. Each client keeps a
3
+ * heartbeat doc at `_meta/schema-fence:client:<clientId>` carrying its
4
+ * liveness (`lastSeen`) and the fence generation it has quiesced for
5
+ * (`quiescedAtVersion`). Plaintext envelope, like the fence doc.
6
+ */
7
+ import type { NoydbStore } from '../../kernel/types.js';
8
+ export interface ClientDoc {
9
+ readonly clientId: string;
10
+ readonly lastSeen: number;
11
+ readonly quiescedAtVersion: number | null;
12
+ /**
13
+ * Session that owns this writer (one user's writers across vaults). Additive
14
+ * and optional so legacy client docs (written without it) keep parsing;
15
+ * readers default it.
16
+ */
17
+ readonly sessionId?: string;
18
+ }
19
+ export declare function writeClientDoc(store: NoydbStore, vault: string, clientId: string, doc: {
20
+ lastSeen: number;
21
+ quiescedAtVersion: number | null;
22
+ sessionId?: string;
23
+ }): Promise<void>;
24
+ export declare function listClientDocs(store: NoydbStore, vault: string): Promise<ClientDoc[]>;
25
+ /**
26
+ * True when every *active* client (lastSeen within staleMs of now) has
27
+ * `quiescedAtVersion === generation`. Stale clients are ignored. An empty
28
+ * active set is vacuously quiesced.
29
+ */
30
+ export declare function activeQuiesced(store: NoydbStore, vault: string, opts: {
31
+ generation: number;
32
+ now: number;
33
+ staleMs: number;
34
+ excludeClientId?: string;
35
+ }): Promise<boolean>;
@@ -0,0 +1,5 @@
1
+ /** The coordinatedCutover update strategy (single-step — no from/to). */
2
+ import type { SchemaUpdateStrategy, TransformFn } from './types.js';
3
+ export declare function coordinatedCutover(opts: {
4
+ readonly transform: TransformFn;
5
+ }): SchemaUpdateStrategy;
@@ -0,0 +1,2 @@
1
+ import type { SchemaDelta } from './types.js';
2
+ export declare function computeSchemaDelta(stored: object, fresh: object, collection: string): SchemaDelta;
@@ -0,0 +1,3 @@
1
+ /** Ordered strategy evaluation: first non-`allow` decision wins. */
2
+ import type { SchemaDelta, SchemaUpdateStrategy, UpdateContext, UpdateDecision } from './types.js';
3
+ export declare function evaluateStrategies(delta: SchemaDelta, strategies: readonly SchemaUpdateStrategy[], ctx: UpdateContext): Promise<UpdateDecision>;