@noy-db/hub 0.8.0 → 0.9.0-pre.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 (533) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +8 -8
  3. package/codemods/0.4.0-pre.json +1 -1
  4. package/codemods/0.8.0-pre.json +1 -1
  5. package/dist/api-MSJXVYQG.js +18 -0
  6. package/dist/as/index.js +33 -23
  7. package/dist/as/index.js.map +1 -1
  8. package/dist/at/index.js +8 -8
  9. package/dist/attestation/index.js +18 -18
  10. package/dist/{backup-YE2VQ26S.js → backup-7RKNZMQO.js} +11 -11
  11. package/dist/blobs/index.js +12 -12
  12. package/dist/broker/index.js +19 -11
  13. package/dist/broker/index.js.map +1 -1
  14. package/dist/by/index.js +2 -2
  15. package/dist/capsule/contract.d.ts +1 -1
  16. package/dist/capsule/contract.js +6 -6
  17. package/dist/capsule/enclave-aes/broker/proof.d.ts +12 -3
  18. package/dist/capsule/enclave-aes/index.d.ts +1 -1
  19. package/dist/capsule/enclave-aes/index.js +40 -14
  20. package/dist/capsule/enclave-aes/index.js.map +1 -1
  21. package/dist/capsule/index.d.ts +1 -1
  22. package/dist/capsule/plumbing/record-codec.d.ts +7 -0
  23. package/dist/{capsule-VOLX3QRQ.js → capsule-57BDK7LG.js} +8 -8
  24. package/dist/cargo/index.js +32 -32
  25. package/dist/{chunk-A4XMIZT3.js → chunk-226V6XXJ.js} +41 -6
  26. package/dist/chunk-226V6XXJ.js.map +1 -0
  27. package/dist/{chunk-LNSVGRHO.js → chunk-2A56DSRI.js} +2 -2
  28. package/dist/chunk-2DX4JCRI.js +1 -0
  29. package/dist/{chunk-SV2PM2OY.js → chunk-2ELOCEXE.js} +1 -1
  30. package/dist/chunk-2ELOCEXE.js.map +1 -0
  31. package/dist/{chunk-6QVKPHBF.js → chunk-2WJKJZSO.js} +2 -2
  32. package/dist/{chunk-TKVUE4JF.js → chunk-2ZFD2UJC.js} +9 -9
  33. package/dist/{chunk-2AFX33YA.js → chunk-3V6LZHUO.js} +3 -3
  34. package/dist/chunk-3V6LZHUO.js.map +1 -0
  35. package/dist/{chunk-4JPMZTJY.js → chunk-3Y5JLSXS.js} +2 -2
  36. package/dist/{chunk-XSPFDUDG.js → chunk-45VHWE4C.js} +51 -16
  37. package/dist/chunk-45VHWE4C.js.map +1 -0
  38. package/dist/{chunk-LGNDFRYC.js → chunk-4CFHL5RY.js} +1 -1
  39. package/dist/chunk-4CFHL5RY.js.map +1 -0
  40. package/dist/{chunk-EZGV6F47.js → chunk-4J3MNVVX.js} +1 -1
  41. package/dist/{chunk-EZGV6F47.js.map → chunk-4J3MNVVX.js.map} +1 -1
  42. package/dist/{chunk-O2IMQSNA.js → chunk-4UIP3QNW.js} +2 -2
  43. package/dist/{chunk-EJLV62NI.js → chunk-55P6OBB7.js} +2 -2
  44. package/dist/{chunk-Y3LPTBG7.js → chunk-5HNW4ZTA.js} +6 -9
  45. package/dist/chunk-5HNW4ZTA.js.map +1 -0
  46. package/dist/{chunk-TEHHROZL.js → chunk-5LMCVBMY.js} +5 -5
  47. package/dist/{chunk-4V3Q35WG.js → chunk-5UUJE4FP.js} +3 -3
  48. package/dist/{chunk-JWWYRR4Q.js → chunk-5XONHAFD.js} +2 -2
  49. package/dist/{chunk-PD64727P.js → chunk-6QLCS7ET.js} +2 -2
  50. package/dist/chunk-6QLCS7ET.js.map +1 -0
  51. package/dist/{chunk-QBLT6POL.js → chunk-6WS35E6X.js} +2 -2
  52. package/dist/{chunk-IUBMZPHM.js → chunk-6Y5E4SJU.js} +5 -6
  53. package/dist/chunk-6Y5E4SJU.js.map +1 -0
  54. package/dist/{chunk-GZT3NQRA.js → chunk-72XBVN4J.js} +8 -2
  55. package/dist/{chunk-GZT3NQRA.js.map → chunk-72XBVN4J.js.map} +1 -1
  56. package/dist/{chunk-EYG2CY2X.js → chunk-7BMOS4JQ.js} +11 -11
  57. package/dist/chunk-7BMOS4JQ.js.map +1 -0
  58. package/dist/{chunk-UA372JHH.js → chunk-7CT6SX4M.js} +3 -3
  59. package/dist/chunk-7CT6SX4M.js.map +1 -0
  60. package/dist/{chunk-EZOAKKTB.js → chunk-ABU6A4Z5.js} +2 -2
  61. package/dist/{chunk-VKI2EB3N.js → chunk-AJFPAHMW.js} +3 -3
  62. package/dist/{chunk-DQESF6RP.js → chunk-APFFJN5T.js} +29 -16
  63. package/dist/chunk-APFFJN5T.js.map +1 -0
  64. package/dist/{chunk-2ODVB6LZ.js → chunk-B65CC6Z6.js} +2 -2
  65. package/dist/{chunk-MBMTND6D.js → chunk-BJH77UY2.js} +2 -2
  66. package/dist/{chunk-VAORSCSU.js → chunk-BMHQHH7Q.js} +2 -2
  67. package/dist/chunk-BMHQHH7Q.js.map +1 -0
  68. package/dist/{chunk-FFJFE4T7.js → chunk-BNFNQNEP.js} +2 -2
  69. package/dist/chunk-BU2ABHFW.js +74 -0
  70. package/dist/chunk-BU2ABHFW.js.map +1 -0
  71. package/dist/{chunk-5WWDGFOS.js → chunk-BUE7R3B5.js} +2 -2
  72. package/dist/{chunk-5FE75J4S.js → chunk-BVF3SXD7.js} +5 -5
  73. package/dist/{chunk-VFHCKG5M.js → chunk-BYHCKX73.js} +3 -3
  74. package/dist/{chunk-BVCUTXE3.js → chunk-C53ER7AG.js} +2 -2
  75. package/dist/{chunk-MILI22XQ.js → chunk-CAD7N6HQ.js} +3 -3
  76. package/dist/{chunk-5KC7QYEC.js → chunk-CB4467G3.js} +5 -5
  77. package/dist/{chunk-JIBUPZHA.js → chunk-D4V5JJAK.js} +4 -4
  78. package/dist/{chunk-DLD5LGDS.js → chunk-D5A3GCZ4.js} +3 -3
  79. package/dist/{chunk-FOEDQATO.js → chunk-DHU2AQ6T.js} +2 -2
  80. package/dist/{chunk-VHBKYN2J.js → chunk-DL6BZKP3.js} +2 -2
  81. package/dist/{chunk-NBQ3KK6X.js → chunk-EA4VDI5D.js} +4 -4
  82. package/dist/chunk-EA4VDI5D.js.map +1 -0
  83. package/dist/{chunk-E2N2T5ZO.js → chunk-ECGXA4LT.js} +2 -2
  84. package/dist/{chunk-PP3K67AJ.js → chunk-EMAWOGVH.js} +3 -3
  85. package/dist/{chunk-WXE4W2U6.js → chunk-EUD3HQM4.js} +4 -4
  86. package/dist/{chunk-MXOQ5JCG.js → chunk-FSQNGPHH.js} +171 -124
  87. package/dist/chunk-FSQNGPHH.js.map +1 -0
  88. package/dist/{chunk-LIOVX5TJ.js → chunk-FZXRLNJO.js} +3 -3
  89. package/dist/{chunk-WPOYWFSE.js → chunk-G46JSSVX.js} +7 -7
  90. package/dist/{chunk-JSMTXZR3.js → chunk-G5EDYVSE.js} +8 -6
  91. package/dist/chunk-G5EDYVSE.js.map +1 -0
  92. package/dist/chunk-G66YXUTY.js +60 -0
  93. package/dist/chunk-G66YXUTY.js.map +1 -0
  94. package/dist/{chunk-FFWI7UH7.js → chunk-GAGT3YZN.js} +1 -1
  95. package/dist/chunk-GAGT3YZN.js.map +1 -0
  96. package/dist/{chunk-AEQGFRU4.js → chunk-GCUMOKTN.js} +3 -3
  97. package/dist/{chunk-244QBK7Z.js → chunk-GETUTTZU.js} +4 -4
  98. package/dist/{chunk-244QBK7Z.js.map → chunk-GETUTTZU.js.map} +1 -1
  99. package/dist/{chunk-V3RWOOSO.js → chunk-GOJQ5DZA.js} +4 -4
  100. package/dist/{chunk-UEFOQH74.js → chunk-GRS2HIV6.js} +2 -2
  101. package/dist/{chunk-3L2NBKDR.js → chunk-H3YM66EI.js} +2 -2
  102. package/dist/{chunk-3A5DUZ56.js → chunk-IVMFIKNA.js} +6 -6
  103. package/dist/{chunk-3A5DUZ56.js.map → chunk-IVMFIKNA.js.map} +1 -1
  104. package/dist/{chunk-747G6CT3.js → chunk-J4KAPKBJ.js} +2 -2
  105. package/dist/{chunk-H23XHRTT.js → chunk-JA25QG5M.js} +211 -6
  106. package/dist/chunk-JA25QG5M.js.map +1 -0
  107. package/dist/{chunk-T7IR4N2S.js → chunk-JBMMWYOH.js} +3 -1
  108. package/dist/{chunk-T7IR4N2S.js.map → chunk-JBMMWYOH.js.map} +1 -1
  109. package/dist/{chunk-MXKI4ABF.js → chunk-JPSL5GIZ.js} +3 -3
  110. package/dist/{chunk-2GHDLTPE.js → chunk-JSWKVZCR.js} +2 -2
  111. package/dist/{chunk-BNWA3WG5.js → chunk-JZ4EDEIP.js} +3 -3
  112. package/dist/{chunk-GUZET4SG.js → chunk-K673OO6B.js} +4 -4
  113. package/dist/chunk-K673OO6B.js.map +1 -0
  114. package/dist/{chunk-5UMK7GRI.js → chunk-K7RW7FI4.js} +5 -5
  115. package/dist/{chunk-N7EVQD5S.js → chunk-L2F3CFCH.js} +4 -4
  116. package/dist/{chunk-2PVXF5CS.js → chunk-L5A3KR7R.js} +3 -3
  117. package/dist/{chunk-O46CHQT7.js → chunk-LGGIFKJP.js} +4 -4
  118. package/dist/{chunk-Y2RKVFKR.js → chunk-MQ7YWBQ5.js} +2 -2
  119. package/dist/{chunk-4CIQDWRB.js → chunk-MRJDLXI3.js} +14 -8
  120. package/dist/{chunk-4CIQDWRB.js.map → chunk-MRJDLXI3.js.map} +1 -1
  121. package/dist/{chunk-YRXFFWG4.js → chunk-NIXRB5BP.js} +2 -2
  122. package/dist/{chunk-RHVMZSUU.js → chunk-NV4OESHC.js} +1 -1
  123. package/dist/chunk-NV4OESHC.js.map +1 -0
  124. package/dist/{chunk-V7ADQF5O.js → chunk-NYJBYVBG.js} +4 -4
  125. package/dist/{chunk-23D6M6VM.js → chunk-NZULV7LK.js} +4 -4
  126. package/dist/{chunk-HW7CMKUG.js → chunk-OFD2HD6F.js} +1 -1
  127. package/dist/{chunk-HW7CMKUG.js.map → chunk-OFD2HD6F.js.map} +1 -1
  128. package/dist/{chunk-BPWYQ25R.js → chunk-OJU67C23.js} +4 -4
  129. package/dist/{chunk-BPWYQ25R.js.map → chunk-OJU67C23.js.map} +1 -1
  130. package/dist/{chunk-AUKKUPVB.js → chunk-OK57EATL.js} +2 -2
  131. package/dist/{chunk-42ALPZ2B.js → chunk-OM3SEDI4.js} +4 -4
  132. package/dist/{chunk-42ALPZ2B.js.map → chunk-OM3SEDI4.js.map} +1 -1
  133. package/dist/{chunk-OYW3I5M4.js → chunk-PCYPXLEX.js} +6 -6
  134. package/dist/{chunk-2MG3SW7Q.js → chunk-PFCTSXHU.js} +2 -2
  135. package/dist/{chunk-FVH5QYY2.js → chunk-PGC35KXE.js} +2 -2
  136. package/dist/{chunk-NCO25JZO.js → chunk-PT2YCQVK.js} +4 -4
  137. package/dist/{chunk-SYNY3VB5.js → chunk-PTJY5R3O.js} +2 -2
  138. package/dist/{chunk-QMWY2FDS.js → chunk-PUBI455O.js} +2 -2
  139. package/dist/{chunk-VMV5SBE4.js → chunk-QDHHHI5Q.js} +5 -5
  140. package/dist/{chunk-JQYKPKG6.js → chunk-QGFEBNHO.js} +4 -4
  141. package/dist/{chunk-52MGURXO.js → chunk-QGSNJD3B.js} +2 -2
  142. package/dist/chunk-QJNAHPVT.js +91 -0
  143. package/dist/chunk-QJNAHPVT.js.map +1 -0
  144. package/dist/{chunk-VVOLDVIR.js → chunk-QSHATAXJ.js} +2 -2
  145. package/dist/{chunk-G2MVBDFP.js → chunk-QXJXG7DN.js} +39 -9
  146. package/dist/chunk-QXJXG7DN.js.map +1 -0
  147. package/dist/{chunk-KZXDLBY6.js → chunk-RDOEOPOI.js} +5 -5
  148. package/dist/{chunk-FLPCETP6.js → chunk-RIZTZJX6.js} +2 -2
  149. package/dist/{chunk-H427H63K.js → chunk-RNACRT5H.js} +2 -2
  150. package/dist/chunk-RWFQVNXR.js +24 -0
  151. package/dist/chunk-RWFQVNXR.js.map +1 -0
  152. package/dist/{chunk-JOSPH3E5.js → chunk-SFCD6OU7.js} +2 -2
  153. package/dist/{chunk-IMQKWR46.js → chunk-SNM7LSYG.js} +4 -5
  154. package/dist/chunk-SNM7LSYG.js.map +1 -0
  155. package/dist/{chunk-Q2XRFWOI.js → chunk-SPPOUJLN.js} +2 -2
  156. package/dist/{chunk-EGVJ7TM4.js → chunk-SWXLZ4HX.js} +8 -9
  157. package/dist/chunk-SWXLZ4HX.js.map +1 -0
  158. package/dist/{chunk-H7JBY4P7.js → chunk-TFWFPZRU.js} +13 -13
  159. package/dist/chunk-TFWFPZRU.js.map +1 -0
  160. package/dist/{chunk-VQDZYB2B.js → chunk-TMIJAR2X.js} +3 -3
  161. package/dist/{chunk-VQDZYB2B.js.map → chunk-TMIJAR2X.js.map} +1 -1
  162. package/dist/{chunk-RB4DOPGZ.js → chunk-TZYTMZZY.js} +10 -10
  163. package/dist/{chunk-Q4UHJ5SN.js → chunk-UAKY6E4N.js} +2 -2
  164. package/dist/chunk-UHFGK6YA.js +40 -0
  165. package/dist/chunk-UHFGK6YA.js.map +1 -0
  166. package/dist/{chunk-DIZLQVAA.js → chunk-UNSQZSZP.js} +2 -2
  167. package/dist/{chunk-4T3SE27M.js → chunk-UOZOWN73.js} +2 -2
  168. package/dist/{chunk-OKSTSITU.js → chunk-V55JASXO.js} +3 -3
  169. package/dist/{chunk-37EPTBBR.js → chunk-VSUQI5Q6.js} +32 -4
  170. package/dist/chunk-VSUQI5Q6.js.map +1 -0
  171. package/dist/{chunk-XQRFSKYM.js → chunk-WFWFXDNS.js} +2 -2
  172. package/dist/{chunk-N7UDP5VU.js → chunk-WHOKGHJ3.js} +7 -7
  173. package/dist/{chunk-7R2Q7CPL.js → chunk-X2RP4TO5.js} +7 -7
  174. package/dist/{chunk-U2FZNEWJ.js → chunk-XA34THLF.js} +8 -6
  175. package/dist/{chunk-U2FZNEWJ.js.map → chunk-XA34THLF.js.map} +1 -1
  176. package/dist/{chunk-UIYESRD6.js → chunk-XITHENBI.js} +9 -9
  177. package/dist/{chunk-UIYESRD6.js.map → chunk-XITHENBI.js.map} +1 -1
  178. package/dist/{chunk-3XJQBBZD.js → chunk-XKBTJGFP.js} +2 -2
  179. package/dist/{chunk-SMV2HRDU.js → chunk-XXNWU5QZ.js} +2 -2
  180. package/dist/{chunk-TZZBXPZK.js → chunk-XXQ5XIYY.js} +2 -2
  181. package/dist/{chunk-3EWS67C7.js → chunk-YFFMPZPY.js} +2 -2
  182. package/dist/{chunk-M5B2W6YY.js → chunk-YKGJ44Z7.js} +3 -3
  183. package/dist/{chunk-5A4345TG.js → chunk-YQFBH5ZJ.js} +3 -3
  184. package/dist/{chunk-DHHGL42E.js → chunk-Z3ZXVB2Y.js} +22 -6
  185. package/dist/chunk-Z3ZXVB2Y.js.map +1 -0
  186. package/dist/{chunk-OIEO4WDL.js → chunk-ZBUAX4EF.js} +2 -2
  187. package/dist/chunk-ZBUAX4EF.js.map +1 -0
  188. package/dist/{chunk-HS554XAF.js → chunk-ZHQJAV6D.js} +2 -2
  189. package/dist/{chunk-IUT3GWP3.js → chunk-ZMVSKYTJ.js} +17 -93
  190. package/dist/chunk-ZMVSKYTJ.js.map +1 -0
  191. package/dist/{chunk-AL6ML4LA.js → chunk-ZVSKSUGI.js} +5 -5
  192. package/dist/{chunk-JDEYF3PJ.js → chunk-ZWF3EWZA.js} +2 -2
  193. package/dist/chunk-ZWF3EWZA.js.map +1 -0
  194. package/dist/classified/index.js +5 -5
  195. package/dist/{classified-marker-SIYKUU5L.js → classified-marker-KHDOYIJB.js} +3 -3
  196. package/dist/collection-facade-LZIF7GWD.js +41 -0
  197. package/dist/{computed-FAD7SED4.js → computed-XMFTHAXV.js} +3 -3
  198. package/dist/consent/index.js +8 -8
  199. package/dist/cover/index.js +8 -8
  200. package/dist/coverage/index.js +1 -1
  201. package/dist/custody/index.js +12 -11
  202. package/dist/{dead-filter-4F3LWYKH.js → dead-filter-CXV5NS67.js} +10 -10
  203. package/dist/debug/index.js +7 -7
  204. package/dist/{delegation-NANZDG4N.js → delegation-ONLM4JFI.js} +49 -25
  205. package/dist/delegation-ONLM4JFI.js.map +1 -0
  206. package/dist/derivations/index.js +24 -23
  207. package/dist/derive-3YSIS36W.js +20 -0
  208. package/dist/directory/index.js +9 -9
  209. package/dist/{dispatch-JDZNGEB3.js → dispatch-2MQFMEGY.js} +20 -20
  210. package/dist/{dispatch-H4HV32AM.js → dispatch-OFDA4WQV.js} +5 -5
  211. package/dist/executor-E6YDJ7YA.js +8 -0
  212. package/dist/executor-NJX3YQQ4.js +35 -0
  213. package/dist/executor-WWM3DD4P.js +8 -0
  214. package/dist/export-accessible-RLHU5G4W.js +22 -0
  215. package/dist/extract-partition-QII2EDCS.js +35 -0
  216. package/dist/{fanout-sidecar-L7NHPIOC.js → fanout-sidecar-BO67PCPO.js} +8 -8
  217. package/dist/find-6M7GYDUZ.js +10 -0
  218. package/dist/forget/index.js +25 -8
  219. package/dist/forget/index.js.map +1 -1
  220. package/dist/guards/index.js +4 -4
  221. package/dist/history/index.js +12 -12
  222. package/dist/i18n/index.js +13 -13
  223. package/dist/index.d.ts +8 -6
  224. package/dist/index.js +122 -110
  225. package/dist/index.js.map +1 -1
  226. package/dist/indexing/index.js +6 -6
  227. package/dist/introspection/index.js +15 -11
  228. package/dist/issue-LPEEEMPP.js +19 -0
  229. package/dist/kernel/cache/index.d.ts +1 -1
  230. package/dist/kernel/collection.d.ts +1 -0
  231. package/dist/kernel/errors.d.ts +33 -4
  232. package/dist/kernel/export-scope.d.ts +40 -0
  233. package/dist/kernel/noydb.d.ts +3 -1
  234. package/dist/kernel/put-many-atomic.d.ts +1 -1
  235. package/dist/kernel/query/live/live.d.ts +2 -1
  236. package/dist/kernel/query/sort-key.d.ts +0 -2
  237. package/dist/kernel/tx-write-gate.d.ts +2 -4
  238. package/dist/kernel/types.d.ts +93 -6
  239. package/dist/kernel/validation.d.ts +0 -10
  240. package/dist/kernel/vault.d.ts +4 -0
  241. package/dist/kernel/via/reconcile.d.ts +1 -42
  242. package/dist/{ledger-5ZMGE44K.js → ledger-MSJGWKGW.js} +10 -10
  243. package/dist/liberate-LEKDYKTC.js +25 -0
  244. package/dist/{link-set-MFXC24VK.js → link-set-QXXSPPHL.js} +10 -10
  245. package/dist/{managed-secret-MFTFT22X.js → managed-secret-VSK7ANQI.js} +9 -9
  246. package/dist/materialized-views/index.js +26 -26
  247. package/dist/{migrate-cek-DZRFFOHW.js → migrate-cek-GEBFYBDC.js} +2 -2
  248. package/dist/money/index.js +5 -5
  249. package/dist/noydb-F2AUF6KL.js +98 -0
  250. package/dist/on/index.js +25 -0
  251. package/dist/overlay-views/index.js +4 -4
  252. package/dist/periods/index.js +11 -11
  253. package/dist/pod/index.js +69 -67
  254. package/dist/{pod-handle-A3LET7NO.js → pod-handle-YE7CT66T.js} +8 -8
  255. package/dist/policy/index.js +9 -9
  256. package/dist/port/as/active.d.ts +4 -0
  257. package/dist/port/as/index.d.ts +1 -0
  258. package/dist/port/by/index.d.ts +14 -5
  259. package/dist/port/on/index.d.ts +26 -0
  260. package/dist/port/to/index.d.ts +1 -1
  261. package/dist/port/with/broker-strategy.d.ts +14 -0
  262. package/dist/port/with/coverage-strategy.d.ts +17 -1
  263. package/dist/port/with/formats-strategy.d.ts +34 -1
  264. package/dist/port/with/lookup-strategy.d.ts +85 -4
  265. package/dist/port/with/service-bus.d.ts +2 -1
  266. package/dist/portability/index.js +8 -8
  267. package/dist/{post-register-7ND27CF2.js → post-register-QC5TEAW3.js} +6 -6
  268. package/dist/query/all/index.js +16 -16
  269. package/dist/query/index.js +8 -8
  270. package/dist/query/live/index.js +7 -7
  271. package/dist/query/reduce/index.js +10 -10
  272. package/dist/query/relate/index.js +10 -10
  273. package/dist/reduce/index.js +8 -8
  274. package/dist/register-SN72QALV.js +30 -0
  275. package/dist/registry-253FF7C6.js +35 -0
  276. package/dist/registry-3AZWQTDT.js +23 -0
  277. package/dist/registry-7UEBTHWG.js +8 -0
  278. package/dist/registry-IVJ67NFQ.js +8 -0
  279. package/dist/request-withdrawal-UKVJZKX2.js +28 -0
  280. package/dist/{reveal-B2TLP4JQ.js → reveal-YQTRNQFH.js} +7 -7
  281. package/dist/revoke-G2KXJQA5.js +24 -0
  282. package/dist/satellites/index.js +1 -1
  283. package/dist/schema-update/index.js +2 -2
  284. package/dist/sealed-record/index.js +11 -11
  285. package/dist/search/index.js +4 -4
  286. package/dist/{seed-XNSE4U3S.js → seed-JMQTRKRE.js} +121 -27
  287. package/dist/seed-JMQTRKRE.js.map +1 -0
  288. package/dist/sequence/index.js +8 -8
  289. package/dist/session/index.js +8 -8
  290. package/dist/shadow/index.js +2 -2
  291. package/dist/signer-IUIYR3CX.js +23 -0
  292. package/dist/snapshots/index.js +9 -9
  293. package/dist/{stale-6GCFMOOR.js → stale-SKV33PBU.js} +9 -9
  294. package/dist/storage-NPBYP2SM.js +21 -0
  295. package/dist/{store-coordination-provider-C4BPT5XF.js → store-coordination-provider-Z6HKPOGM.js} +9 -9
  296. package/dist/sync/index.js +17 -11
  297. package/dist/sync/index.js.map +1 -1
  298. package/dist/team/index.js +17 -15
  299. package/dist/tiers/index.js +10 -10
  300. package/dist/to/index.js +2 -2
  301. package/dist/transactions/index.js +3 -3
  302. package/dist/util/index.js +1 -1
  303. package/dist/vault-head/index.js +8 -8
  304. package/dist/{verify-UKALW7C2.js → verify-KWQIWLGH.js} +7 -7
  305. package/dist/via/classified/presets.d.ts +29 -0
  306. package/dist/via/classified/resolve.d.ts +7 -0
  307. package/dist/via/geo/binding.d.ts +0 -4
  308. package/dist/via/lookup/index.d.ts +32 -0
  309. package/dist/via/money/binding.d.ts +0 -9
  310. package/dist/walk-F4OLXI5H.js +20 -0
  311. package/dist/with-audit/attestation/strategy.d.ts +2 -1
  312. package/dist/with-audit/attestation/vault-facade.d.ts +7 -0
  313. package/dist/with-audit/forget/completeness.d.ts +66 -0
  314. package/dist/with-audit/forget/index.d.ts +2 -0
  315. package/dist/with-audit/forget/strategy.d.ts +65 -0
  316. package/dist/with-audit/periods/periods.d.ts +0 -9
  317. package/dist/with-audit/periods/reserved-collections.d.ts +7 -0
  318. package/dist/with-audit/portability/request-withdrawal.d.ts +0 -1
  319. package/dist/with-audit/portability/withdraw-accessible.d.ts +0 -1
  320. package/dist/with-audit/tiers/index.d.ts +1 -1
  321. package/dist/with-audit/tiers/strategy.d.ts +19 -0
  322. package/dist/with-cargo/extract-partition.d.ts +0 -46
  323. package/dist/with-commit/numbering/index.d.ts +0 -2
  324. package/dist/with-commit/tx/transaction.d.ts +2 -24
  325. package/dist/with-commit/vault-head/strategy.d.ts +7 -0
  326. package/dist/with-fork/snapshots/noydb-facade.d.ts +7 -0
  327. package/dist/with-formula/derivations/trigger-match.d.ts +8 -5
  328. package/dist/with-formula/materialized-views/emit-memo.d.ts +0 -2
  329. package/dist/with-lookup/embeddings/index.d.ts +1 -2
  330. package/dist/with-lookup/indexing/collection-facade.d.ts +1 -15
  331. package/dist/with-lookup/indexing/eager-indexes.d.ts +2 -1
  332. package/dist/with-lookup/search/collection-facade.d.ts +0 -12
  333. package/dist/with-party/broker/index.d.ts +2 -2
  334. package/dist/with-party/broker/seed.d.ts +25 -10
  335. package/dist/with-party/policy/noydb-facade.d.ts +1 -31
  336. package/dist/with-party/team/delegation.d.ts +58 -2
  337. package/dist/with-party/team/echo-secret.d.ts +0 -2
  338. package/dist/with-party/team/keyring.d.ts +1 -21
  339. package/dist/with-party/team/magic-link-grant.d.ts +11 -1
  340. package/dist/with-party/team/noydb-facade.d.ts +5 -0
  341. package/dist/with-party/team/reserved-secret-collections.d.ts +10 -8
  342. package/dist/with-party/team/roster-tag.d.ts +42 -1
  343. package/dist/with-party/team/tiers.d.ts +36 -5
  344. package/dist/with-shape/blobs/blob-set.d.ts +23 -0
  345. package/dist/with-shape/blobs/legacy-sweep.d.ts +16 -0
  346. package/dist/with-shape/introspection/describe.d.ts +1 -2
  347. package/dist/with-shape/introspection/index.d.ts +1 -0
  348. package/dist/with-shape/introspection/types.d.ts +2 -1
  349. package/dist/with-shape/schema-update/fence.d.ts +7 -0
  350. package/dist/with-sync/engine.d.ts +30 -1
  351. package/dist/with-sync/reserved-mirror.d.ts +89 -0
  352. package/dist/with-sync/strategy.d.ts +7 -0
  353. package/dist/with-sync/tab-write-relay.d.ts +0 -10
  354. package/dist/withdraw-accessible-ZKPLZ66E.js +25 -0
  355. package/package.json +3 -3
  356. package/dist/api-OS747DS4.js +0 -18
  357. package/dist/chunk-2AFX33YA.js.map +0 -1
  358. package/dist/chunk-2RH777HH.js +0 -126
  359. package/dist/chunk-2RH777HH.js.map +0 -1
  360. package/dist/chunk-37EPTBBR.js.map +0 -1
  361. package/dist/chunk-7XMHMVTS.js +0 -20
  362. package/dist/chunk-7XMHMVTS.js.map +0 -1
  363. package/dist/chunk-A4XMIZT3.js.map +0 -1
  364. package/dist/chunk-DHHGL42E.js.map +0 -1
  365. package/dist/chunk-DQESF6RP.js.map +0 -1
  366. package/dist/chunk-EGVJ7TM4.js.map +0 -1
  367. package/dist/chunk-EYG2CY2X.js.map +0 -1
  368. package/dist/chunk-FFWI7UH7.js.map +0 -1
  369. package/dist/chunk-G2MVBDFP.js.map +0 -1
  370. package/dist/chunk-GUZET4SG.js.map +0 -1
  371. package/dist/chunk-H23XHRTT.js.map +0 -1
  372. package/dist/chunk-H7JBY4P7.js.map +0 -1
  373. package/dist/chunk-IMQKWR46.js.map +0 -1
  374. package/dist/chunk-IUBMZPHM.js.map +0 -1
  375. package/dist/chunk-IUT3GWP3.js.map +0 -1
  376. package/dist/chunk-JDEYF3PJ.js.map +0 -1
  377. package/dist/chunk-JSMTXZR3.js.map +0 -1
  378. package/dist/chunk-LGNDFRYC.js.map +0 -1
  379. package/dist/chunk-MXOQ5JCG.js.map +0 -1
  380. package/dist/chunk-NBQ3KK6X.js.map +0 -1
  381. package/dist/chunk-OIEO4WDL.js.map +0 -1
  382. package/dist/chunk-PD64727P.js.map +0 -1
  383. package/dist/chunk-RHVMZSUU.js.map +0 -1
  384. package/dist/chunk-SV2PM2OY.js.map +0 -1
  385. package/dist/chunk-UA372JHH.js.map +0 -1
  386. package/dist/chunk-UBSFPGVJ.js +0 -1
  387. package/dist/chunk-VAORSCSU.js.map +0 -1
  388. package/dist/chunk-XSPFDUDG.js.map +0 -1
  389. package/dist/chunk-Y3LPTBG7.js.map +0 -1
  390. package/dist/collection-facade-CS7CA2XO.js +0 -47
  391. package/dist/delegation-NANZDG4N.js.map +0 -1
  392. package/dist/derive-XLOJVXPU.js +0 -20
  393. package/dist/executor-FMPVN6DT.js +0 -35
  394. package/dist/executor-LBBBRTN5.js +0 -8
  395. package/dist/executor-OSRZST2U.js +0 -8
  396. package/dist/export-accessible-RAOJAAU5.js +0 -22
  397. package/dist/extract-partition-JD5CUSTG.js +0 -37
  398. package/dist/find-JRN4RNQ5.js +0 -10
  399. package/dist/issue-YIVBZUTH.js +0 -19
  400. package/dist/liberate-WZSZM2W6.js +0 -24
  401. package/dist/noydb-ITIGNKUF.js +0 -96
  402. package/dist/register-DT5HZ2LZ.js +0 -30
  403. package/dist/registry-BHRZGZHF.js +0 -8
  404. package/dist/registry-ET6ZFFWA.js +0 -34
  405. package/dist/registry-HXFGLGTG.js +0 -8
  406. package/dist/registry-THCPDEOD.js +0 -23
  407. package/dist/request-withdrawal-AV2MJJKY.js +0 -30
  408. package/dist/revoke-6DWIEOCV.js +0 -24
  409. package/dist/seed-XNSE4U3S.js.map +0 -1
  410. package/dist/signer-MHGW3OIL.js +0 -23
  411. package/dist/storage-BYN5LO6Z.js +0 -21
  412. package/dist/walk-4VPK7AS4.js +0 -20
  413. package/dist/withdraw-accessible-HL7GACUE.js +0 -27
  414. /package/dist/{api-OS747DS4.js.map → api-MSJXVYQG.js.map} +0 -0
  415. /package/dist/{backup-YE2VQ26S.js.map → backup-7RKNZMQO.js.map} +0 -0
  416. /package/dist/{capsule-VOLX3QRQ.js.map → capsule-57BDK7LG.js.map} +0 -0
  417. /package/dist/{chunk-LNSVGRHO.js.map → chunk-2A56DSRI.js.map} +0 -0
  418. /package/dist/{chunk-UBSFPGVJ.js.map → chunk-2DX4JCRI.js.map} +0 -0
  419. /package/dist/{chunk-6QVKPHBF.js.map → chunk-2WJKJZSO.js.map} +0 -0
  420. /package/dist/{chunk-TKVUE4JF.js.map → chunk-2ZFD2UJC.js.map} +0 -0
  421. /package/dist/{chunk-4JPMZTJY.js.map → chunk-3Y5JLSXS.js.map} +0 -0
  422. /package/dist/{chunk-O2IMQSNA.js.map → chunk-4UIP3QNW.js.map} +0 -0
  423. /package/dist/{chunk-EJLV62NI.js.map → chunk-55P6OBB7.js.map} +0 -0
  424. /package/dist/{chunk-TEHHROZL.js.map → chunk-5LMCVBMY.js.map} +0 -0
  425. /package/dist/{chunk-4V3Q35WG.js.map → chunk-5UUJE4FP.js.map} +0 -0
  426. /package/dist/{chunk-JWWYRR4Q.js.map → chunk-5XONHAFD.js.map} +0 -0
  427. /package/dist/{chunk-QBLT6POL.js.map → chunk-6WS35E6X.js.map} +0 -0
  428. /package/dist/{chunk-EZOAKKTB.js.map → chunk-ABU6A4Z5.js.map} +0 -0
  429. /package/dist/{chunk-VKI2EB3N.js.map → chunk-AJFPAHMW.js.map} +0 -0
  430. /package/dist/{chunk-2ODVB6LZ.js.map → chunk-B65CC6Z6.js.map} +0 -0
  431. /package/dist/{chunk-MBMTND6D.js.map → chunk-BJH77UY2.js.map} +0 -0
  432. /package/dist/{chunk-FFJFE4T7.js.map → chunk-BNFNQNEP.js.map} +0 -0
  433. /package/dist/{chunk-5WWDGFOS.js.map → chunk-BUE7R3B5.js.map} +0 -0
  434. /package/dist/{chunk-5FE75J4S.js.map → chunk-BVF3SXD7.js.map} +0 -0
  435. /package/dist/{chunk-VFHCKG5M.js.map → chunk-BYHCKX73.js.map} +0 -0
  436. /package/dist/{chunk-BVCUTXE3.js.map → chunk-C53ER7AG.js.map} +0 -0
  437. /package/dist/{chunk-MILI22XQ.js.map → chunk-CAD7N6HQ.js.map} +0 -0
  438. /package/dist/{chunk-5KC7QYEC.js.map → chunk-CB4467G3.js.map} +0 -0
  439. /package/dist/{chunk-JIBUPZHA.js.map → chunk-D4V5JJAK.js.map} +0 -0
  440. /package/dist/{chunk-DLD5LGDS.js.map → chunk-D5A3GCZ4.js.map} +0 -0
  441. /package/dist/{chunk-FOEDQATO.js.map → chunk-DHU2AQ6T.js.map} +0 -0
  442. /package/dist/{chunk-VHBKYN2J.js.map → chunk-DL6BZKP3.js.map} +0 -0
  443. /package/dist/{chunk-E2N2T5ZO.js.map → chunk-ECGXA4LT.js.map} +0 -0
  444. /package/dist/{chunk-PP3K67AJ.js.map → chunk-EMAWOGVH.js.map} +0 -0
  445. /package/dist/{chunk-WXE4W2U6.js.map → chunk-EUD3HQM4.js.map} +0 -0
  446. /package/dist/{chunk-LIOVX5TJ.js.map → chunk-FZXRLNJO.js.map} +0 -0
  447. /package/dist/{chunk-WPOYWFSE.js.map → chunk-G46JSSVX.js.map} +0 -0
  448. /package/dist/{chunk-AEQGFRU4.js.map → chunk-GCUMOKTN.js.map} +0 -0
  449. /package/dist/{chunk-V3RWOOSO.js.map → chunk-GOJQ5DZA.js.map} +0 -0
  450. /package/dist/{chunk-UEFOQH74.js.map → chunk-GRS2HIV6.js.map} +0 -0
  451. /package/dist/{chunk-3L2NBKDR.js.map → chunk-H3YM66EI.js.map} +0 -0
  452. /package/dist/{chunk-747G6CT3.js.map → chunk-J4KAPKBJ.js.map} +0 -0
  453. /package/dist/{chunk-MXKI4ABF.js.map → chunk-JPSL5GIZ.js.map} +0 -0
  454. /package/dist/{chunk-2GHDLTPE.js.map → chunk-JSWKVZCR.js.map} +0 -0
  455. /package/dist/{chunk-BNWA3WG5.js.map → chunk-JZ4EDEIP.js.map} +0 -0
  456. /package/dist/{chunk-5UMK7GRI.js.map → chunk-K7RW7FI4.js.map} +0 -0
  457. /package/dist/{chunk-N7EVQD5S.js.map → chunk-L2F3CFCH.js.map} +0 -0
  458. /package/dist/{chunk-2PVXF5CS.js.map → chunk-L5A3KR7R.js.map} +0 -0
  459. /package/dist/{chunk-O46CHQT7.js.map → chunk-LGGIFKJP.js.map} +0 -0
  460. /package/dist/{chunk-Y2RKVFKR.js.map → chunk-MQ7YWBQ5.js.map} +0 -0
  461. /package/dist/{chunk-YRXFFWG4.js.map → chunk-NIXRB5BP.js.map} +0 -0
  462. /package/dist/{chunk-V7ADQF5O.js.map → chunk-NYJBYVBG.js.map} +0 -0
  463. /package/dist/{chunk-23D6M6VM.js.map → chunk-NZULV7LK.js.map} +0 -0
  464. /package/dist/{chunk-AUKKUPVB.js.map → chunk-OK57EATL.js.map} +0 -0
  465. /package/dist/{chunk-OYW3I5M4.js.map → chunk-PCYPXLEX.js.map} +0 -0
  466. /package/dist/{chunk-2MG3SW7Q.js.map → chunk-PFCTSXHU.js.map} +0 -0
  467. /package/dist/{chunk-FVH5QYY2.js.map → chunk-PGC35KXE.js.map} +0 -0
  468. /package/dist/{chunk-NCO25JZO.js.map → chunk-PT2YCQVK.js.map} +0 -0
  469. /package/dist/{chunk-SYNY3VB5.js.map → chunk-PTJY5R3O.js.map} +0 -0
  470. /package/dist/{chunk-QMWY2FDS.js.map → chunk-PUBI455O.js.map} +0 -0
  471. /package/dist/{chunk-VMV5SBE4.js.map → chunk-QDHHHI5Q.js.map} +0 -0
  472. /package/dist/{chunk-JQYKPKG6.js.map → chunk-QGFEBNHO.js.map} +0 -0
  473. /package/dist/{chunk-52MGURXO.js.map → chunk-QGSNJD3B.js.map} +0 -0
  474. /package/dist/{chunk-VVOLDVIR.js.map → chunk-QSHATAXJ.js.map} +0 -0
  475. /package/dist/{chunk-KZXDLBY6.js.map → chunk-RDOEOPOI.js.map} +0 -0
  476. /package/dist/{chunk-FLPCETP6.js.map → chunk-RIZTZJX6.js.map} +0 -0
  477. /package/dist/{chunk-H427H63K.js.map → chunk-RNACRT5H.js.map} +0 -0
  478. /package/dist/{chunk-JOSPH3E5.js.map → chunk-SFCD6OU7.js.map} +0 -0
  479. /package/dist/{chunk-Q2XRFWOI.js.map → chunk-SPPOUJLN.js.map} +0 -0
  480. /package/dist/{chunk-RB4DOPGZ.js.map → chunk-TZYTMZZY.js.map} +0 -0
  481. /package/dist/{chunk-Q4UHJ5SN.js.map → chunk-UAKY6E4N.js.map} +0 -0
  482. /package/dist/{chunk-DIZLQVAA.js.map → chunk-UNSQZSZP.js.map} +0 -0
  483. /package/dist/{chunk-4T3SE27M.js.map → chunk-UOZOWN73.js.map} +0 -0
  484. /package/dist/{chunk-OKSTSITU.js.map → chunk-V55JASXO.js.map} +0 -0
  485. /package/dist/{chunk-XQRFSKYM.js.map → chunk-WFWFXDNS.js.map} +0 -0
  486. /package/dist/{chunk-N7UDP5VU.js.map → chunk-WHOKGHJ3.js.map} +0 -0
  487. /package/dist/{chunk-7R2Q7CPL.js.map → chunk-X2RP4TO5.js.map} +0 -0
  488. /package/dist/{chunk-3XJQBBZD.js.map → chunk-XKBTJGFP.js.map} +0 -0
  489. /package/dist/{chunk-SMV2HRDU.js.map → chunk-XXNWU5QZ.js.map} +0 -0
  490. /package/dist/{chunk-TZZBXPZK.js.map → chunk-XXQ5XIYY.js.map} +0 -0
  491. /package/dist/{chunk-3EWS67C7.js.map → chunk-YFFMPZPY.js.map} +0 -0
  492. /package/dist/{chunk-M5B2W6YY.js.map → chunk-YKGJ44Z7.js.map} +0 -0
  493. /package/dist/{chunk-5A4345TG.js.map → chunk-YQFBH5ZJ.js.map} +0 -0
  494. /package/dist/{chunk-HS554XAF.js.map → chunk-ZHQJAV6D.js.map} +0 -0
  495. /package/dist/{chunk-AL6ML4LA.js.map → chunk-ZVSKSUGI.js.map} +0 -0
  496. /package/dist/{classified-marker-SIYKUU5L.js.map → classified-marker-KHDOYIJB.js.map} +0 -0
  497. /package/dist/{collection-facade-CS7CA2XO.js.map → collection-facade-LZIF7GWD.js.map} +0 -0
  498. /package/dist/{computed-FAD7SED4.js.map → computed-XMFTHAXV.js.map} +0 -0
  499. /package/dist/{dead-filter-4F3LWYKH.js.map → dead-filter-CXV5NS67.js.map} +0 -0
  500. /package/dist/{derive-XLOJVXPU.js.map → derive-3YSIS36W.js.map} +0 -0
  501. /package/dist/{dispatch-JDZNGEB3.js.map → dispatch-2MQFMEGY.js.map} +0 -0
  502. /package/dist/{dispatch-H4HV32AM.js.map → dispatch-OFDA4WQV.js.map} +0 -0
  503. /package/dist/{executor-FMPVN6DT.js.map → executor-E6YDJ7YA.js.map} +0 -0
  504. /package/dist/{executor-LBBBRTN5.js.map → executor-NJX3YQQ4.js.map} +0 -0
  505. /package/dist/{executor-OSRZST2U.js.map → executor-WWM3DD4P.js.map} +0 -0
  506. /package/dist/{export-accessible-RAOJAAU5.js.map → export-accessible-RLHU5G4W.js.map} +0 -0
  507. /package/dist/{extract-partition-JD5CUSTG.js.map → extract-partition-QII2EDCS.js.map} +0 -0
  508. /package/dist/{fanout-sidecar-L7NHPIOC.js.map → fanout-sidecar-BO67PCPO.js.map} +0 -0
  509. /package/dist/{find-JRN4RNQ5.js.map → find-6M7GYDUZ.js.map} +0 -0
  510. /package/dist/{issue-YIVBZUTH.js.map → issue-LPEEEMPP.js.map} +0 -0
  511. /package/dist/{ledger-5ZMGE44K.js.map → ledger-MSJGWKGW.js.map} +0 -0
  512. /package/dist/{liberate-WZSZM2W6.js.map → liberate-LEKDYKTC.js.map} +0 -0
  513. /package/dist/{link-set-MFXC24VK.js.map → link-set-QXXSPPHL.js.map} +0 -0
  514. /package/dist/{managed-secret-MFTFT22X.js.map → managed-secret-VSK7ANQI.js.map} +0 -0
  515. /package/dist/{migrate-cek-DZRFFOHW.js.map → migrate-cek-GEBFYBDC.js.map} +0 -0
  516. /package/dist/{noydb-ITIGNKUF.js.map → noydb-F2AUF6KL.js.map} +0 -0
  517. /package/dist/{pod-handle-A3LET7NO.js.map → pod-handle-YE7CT66T.js.map} +0 -0
  518. /package/dist/{post-register-7ND27CF2.js.map → post-register-QC5TEAW3.js.map} +0 -0
  519. /package/dist/{register-DT5HZ2LZ.js.map → register-SN72QALV.js.map} +0 -0
  520. /package/dist/{registry-BHRZGZHF.js.map → registry-253FF7C6.js.map} +0 -0
  521. /package/dist/{registry-ET6ZFFWA.js.map → registry-3AZWQTDT.js.map} +0 -0
  522. /package/dist/{registry-HXFGLGTG.js.map → registry-7UEBTHWG.js.map} +0 -0
  523. /package/dist/{registry-THCPDEOD.js.map → registry-IVJ67NFQ.js.map} +0 -0
  524. /package/dist/{request-withdrawal-AV2MJJKY.js.map → request-withdrawal-UKVJZKX2.js.map} +0 -0
  525. /package/dist/{reveal-B2TLP4JQ.js.map → reveal-YQTRNQFH.js.map} +0 -0
  526. /package/dist/{revoke-6DWIEOCV.js.map → revoke-G2KXJQA5.js.map} +0 -0
  527. /package/dist/{signer-MHGW3OIL.js.map → signer-IUIYR3CX.js.map} +0 -0
  528. /package/dist/{stale-6GCFMOOR.js.map → stale-SKV33PBU.js.map} +0 -0
  529. /package/dist/{storage-BYN5LO6Z.js.map → storage-NPBYP2SM.js.map} +0 -0
  530. /package/dist/{store-coordination-provider-C4BPT5XF.js.map → store-coordination-provider-Z6HKPOGM.js.map} +0 -0
  531. /package/dist/{verify-UKALW7C2.js.map → verify-KWQIWLGH.js.map} +0 -0
  532. /package/dist/{walk-4VPK7AS4.js.map → walk-F4OLXI5H.js.map} +0 -0
  533. /package/dist/{withdraw-accessible-HL7GACUE.js.map → withdraw-accessible-ZKPLZ66E.js.map} +0 -0
@@ -7,25 +7,25 @@ import {
7
7
  isLinkCollectionName,
8
8
  linkCollectionName,
9
9
  linkRowKey
10
- } from "./chunk-Q4UHJ5SN.js";
10
+ } from "./chunk-UAKY6E4N.js";
11
11
  import {
12
12
  hashFields,
13
13
  validateSatelliteDeclaration
14
- } from "./chunk-XQRFSKYM.js";
14
+ } from "./chunk-WFWFXDNS.js";
15
15
  import {
16
16
  resolveStaleOnRead
17
- } from "./chunk-JOSPH3E5.js";
17
+ } from "./chunk-SFCD6OU7.js";
18
18
  import {
19
19
  loadFence
20
- } from "./chunk-VAORSCSU.js";
20
+ } from "./chunk-BMHQHH7Q.js";
21
21
  import {
22
22
  buildPersistedIndexCallbacks,
23
23
  syncTierSearch
24
- } from "./chunk-Y3LPTBG7.js";
24
+ } from "./chunk-5HNW4ZTA.js";
25
25
  import {
26
26
  isBaseLive,
27
27
  liveBaseIdSet
28
- } from "./chunk-2MG3SW7Q.js";
28
+ } from "./chunk-PFCTSXHU.js";
29
29
  import {
30
30
  SchemaUpdateGate
31
31
  } from "./chunk-6LJY7X5A.js";
@@ -33,26 +33,29 @@ import {
33
33
  NO_TIERS,
34
34
  classifySealedShred,
35
35
  syncDerivedOutputs
36
- } from "./chunk-DHHGL42E.js";
36
+ } from "./chunk-Z3ZXVB2Y.js";
37
37
  import {
38
38
  NO_PORTABILITY
39
- } from "./chunk-AUKKUPVB.js";
39
+ } from "./chunk-OK57EATL.js";
40
40
  import {
41
41
  NO_CARGO
42
- } from "./chunk-52MGURXO.js";
42
+ } from "./chunk-QGSNJD3B.js";
43
43
  import {
44
44
  saveSealedSecret
45
- } from "./chunk-3XJQBBZD.js";
45
+ } from "./chunk-XKBTJGFP.js";
46
46
  import {
47
47
  runDrainBarrier
48
- } from "./chunk-DIZLQVAA.js";
48
+ } from "./chunk-UNSQZSZP.js";
49
+ import {
50
+ NO_FORMATS
51
+ } from "./chunk-RWFQVNXR.js";
49
52
  import {
50
53
  fallbackDerivationName
51
54
  } from "./chunk-RXLYKVTF.js";
52
55
  import {
53
56
  CustodyApi,
54
57
  NO_CUSTODY
55
- } from "./chunk-V3RWOOSO.js";
58
+ } from "./chunk-GOJQ5DZA.js";
56
59
  import {
57
60
  DEFAULT_POSTURE,
58
61
  ViaGraph,
@@ -66,21 +69,21 @@ import {
66
69
  resolveComputedEdges,
67
70
  resolveDescribeFieldIds,
68
71
  resolveVirtualMoneyFields
69
- } from "./chunk-IUT3GWP3.js";
72
+ } from "./chunk-ZMVSKYTJ.js";
70
73
  import {
71
74
  findMatchingIdsByPairs
72
75
  } from "./chunk-TFMM5DBB.js";
73
76
  import {
74
77
  encodeVecId
75
- } from "./chunk-M5B2W6YY.js";
78
+ } from "./chunk-YKGJ44Z7.js";
76
79
  import {
77
80
  NO_CLASSIFIED,
78
81
  guardClassifiedCompat,
79
82
  resolveClassifiedFields
80
- } from "./chunk-GUZET4SG.js";
83
+ } from "./chunk-K673OO6B.js";
81
84
  import {
82
85
  derivePersistedSchema
83
- } from "./chunk-747G6CT3.js";
86
+ } from "./chunk-J4KAPKBJ.js";
84
87
  import {
85
88
  findRollupSpecForIntent,
86
89
  forgetDerivedFanout,
@@ -90,7 +93,7 @@ import {
90
93
  runGraphDispatchWave,
91
94
  selfWriteFieldEqual,
92
95
  touchFor
93
- } from "./chunk-MILI22XQ.js";
96
+ } from "./chunk-CAD7N6HQ.js";
94
97
  import {
95
98
  buildLookupAltIndex,
96
99
  buildLookupSnapshotRows,
@@ -105,20 +108,20 @@ import {
105
108
  resolveDictSource,
106
109
  resolveLabelFromMap,
107
110
  updateReferencingRecords
108
- } from "./chunk-244QBK7Z.js";
111
+ } from "./chunk-GETUTTZU.js";
109
112
  import {
110
113
  OverlayedCollection
111
- } from "./chunk-HS554XAF.js";
114
+ } from "./chunk-ZHQJAV6D.js";
112
115
  import {
113
116
  INDEXED_STORE_POLICY,
114
117
  NO_SYNC
115
- } from "./chunk-T7IR4N2S.js";
118
+ } from "./chunk-JBMMWYOH.js";
116
119
  import {
117
120
  NO_ATTESTATION
118
- } from "./chunk-PD64727P.js";
121
+ } from "./chunk-6QLCS7ET.js";
119
122
  import {
120
123
  NO_COVERAGE
121
- } from "./chunk-RHVMZSUU.js";
124
+ } from "./chunk-NV4OESHC.js";
122
125
  import {
123
126
  NO_PERIODS,
124
127
  isEffectivelyReopened,
@@ -128,7 +131,7 @@ import {
128
131
  resolvePeriodKey,
129
132
  resolveReopenState,
130
133
  samePartition
131
- } from "./chunk-3A5DUZ56.js";
134
+ } from "./chunk-IVMFIKNA.js";
132
135
  import {
133
136
  PERIODS_COLLECTION,
134
137
  PERIOD_ARCHIVES_COLLECTION,
@@ -136,7 +139,7 @@ import {
136
139
  PERIOD_REOPENS_COLLECTION,
137
140
  PERIOD_TARGET_PURGES_COLLECTION,
138
141
  periodExclusiveUpperBound
139
- } from "./chunk-QBLT6POL.js";
142
+ } from "./chunk-6WS35E6X.js";
140
143
  import {
141
144
  NO_SHADOW
142
145
  } from "./chunk-SMY5X46Z.js";
@@ -147,7 +150,7 @@ import {
147
150
  TxContext,
148
151
  bestEffortRevert,
149
152
  trackKeyedWrite
150
- } from "./chunk-UA372JHH.js";
153
+ } from "./chunk-7CT6SX4M.js";
151
154
  import {
152
155
  lazy
153
156
  } from "./chunk-5D2ALSM5.js";
@@ -156,26 +159,26 @@ import {
156
159
  InvertedIndex,
157
160
  MemoryIndexStore,
158
161
  NO_SEARCH
159
- } from "./chunk-RB4DOPGZ.js";
162
+ } from "./chunk-TZYTMZZY.js";
160
163
  import {
161
164
  NO_SEQUENCE,
162
165
  SEQUENCE_COLLECTION,
163
166
  compileSequenceFormat,
164
167
  resolveSequenceKey
165
- } from "./chunk-VFHCKG5M.js";
168
+ } from "./chunk-BYHCKX73.js";
166
169
  import {
167
170
  EXPORT_AUDIT_COLLECTION,
168
171
  NO_BLOBS,
169
172
  createExportBlobsHandle,
170
173
  runCompaction
171
- } from "./chunk-JSMTXZR3.js";
174
+ } from "./chunk-G5EDYVSE.js";
172
175
  import {
173
176
  LazyQuery,
174
177
  NO_INDEXING,
175
178
  compositeKey,
176
179
  decodeIdxId,
177
180
  encodeIdxId
178
- } from "./chunk-V7ADQF5O.js";
181
+ } from "./chunk-NYJBYVBG.js";
179
182
  import {
180
183
  IMPLICIT_LAZY
181
184
  } from "./chunk-66TQOPFM.js";
@@ -193,41 +196,41 @@ import {
193
196
  } from "./chunk-GSAK56VF.js";
194
197
  import {
195
198
  NO_SEALED_RECORD
196
- } from "./chunk-UEFOQH74.js";
199
+ } from "./chunk-GRS2HIV6.js";
197
200
  import {
198
201
  normalizeIndexDefs,
199
202
  parseFieldIndexSnapshot
200
- } from "./chunk-2AFX33YA.js";
203
+ } from "./chunk-3V6LZHUO.js";
201
204
  import {
202
205
  EXPORT_REDACTION_MARKER,
203
206
  ViaPipeline,
204
207
  exportRedact
205
- } from "./chunk-3EWS67C7.js";
208
+ } from "./chunk-YFFMPZPY.js";
206
209
  import {
207
210
  ScanBuilder
208
- } from "./chunk-JQYKPKG6.js";
211
+ } from "./chunk-QGFEBNHO.js";
209
212
  import {
210
213
  Query
211
- } from "./chunk-AL6ML4LA.js";
214
+ } from "./chunk-ZVSKSUGI.js";
212
215
  import {
213
216
  NO_REDUCE
214
217
  } from "./chunk-3TDUWVWB.js";
215
218
  import {
216
219
  readPath
217
- } from "./chunk-5WWDGFOS.js";
220
+ } from "./chunk-BUE7R3B5.js";
218
221
  import {
219
222
  dictCollectionName
220
- } from "./chunk-23D6M6VM.js";
223
+ } from "./chunk-NZULV7LK.js";
221
224
  import {
222
225
  NO_I18N,
223
226
  getAtPath,
224
227
  isDictCollectionName,
225
228
  isStaticDictDescriptor
226
- } from "./chunk-OKSTSITU.js";
229
+ } from "./chunk-V55JASXO.js";
227
230
  import {
228
231
  isViaInstalled,
229
232
  viaBinder
230
- } from "./chunk-SYNY3VB5.js";
233
+ } from "./chunk-PTJY5R3O.js";
231
234
  import {
232
235
  NO_TEAM,
233
236
  describeAllUsersAuth,
@@ -250,7 +253,7 @@ import {
250
253
  saveShamirRecoveryEntries,
251
254
  updateAuthenticator,
252
255
  writeMagicLinkGrant
253
- } from "./chunk-DQESF6RP.js";
256
+ } from "./chunk-APFFJN5T.js";
254
257
  import {
255
258
  assertKeyringOpenAllowed,
256
259
  buildRecipientKeyringFile,
@@ -265,15 +268,15 @@ import {
265
268
  listUsers,
266
269
  loadKeyring,
267
270
  updateKeyringIdentity
268
- } from "./chunk-XSPFDUDG.js";
271
+ } from "./chunk-45VHWE4C.js";
269
272
  import {
270
273
  persistDirectoryConfig,
271
274
  readDirectoryConfig
272
- } from "./chunk-LIOVX5TJ.js";
275
+ } from "./chunk-FZXRLNJO.js";
273
276
  import {
274
277
  NO_BROKER,
275
278
  buildCredentialBrokerHandle
276
- } from "./chunk-GZT3NQRA.js";
279
+ } from "./chunk-72XBVN4J.js";
277
280
  import {
278
281
  NO_SESSION
279
282
  } from "./chunk-VKQCVU2Z.js";
@@ -282,19 +285,19 @@ import {
282
285
  } from "./chunk-4AOERLTV.js";
283
286
  import {
284
287
  NO_HISTORY
285
- } from "./chunk-LNSVGRHO.js";
288
+ } from "./chunk-2A56DSRI.js";
286
289
  import {
287
290
  sha256Hex
288
- } from "./chunk-6QVKPHBF.js";
291
+ } from "./chunk-2WJKJZSO.js";
289
292
  import {
290
293
  assertCutoverTierSafe,
291
294
  assertTierWritable,
292
295
  dekKey,
293
296
  liveRecordIsElevated
294
- } from "./chunk-FLPCETP6.js";
297
+ } from "./chunk-RIZTZJX6.js";
295
298
  import {
296
299
  NO_VAULT_HEAD
297
- } from "./chunk-HW7CMKUG.js";
300
+ } from "./chunk-OFD2HD6F.js";
298
301
  import {
299
302
  NO_FORGET,
300
303
  addSubjectRef,
@@ -303,7 +306,7 @@ import {
303
306
  readDottedPath,
304
307
  rebuildSubjectIndex,
305
308
  removeSubjectRef
306
- } from "./chunk-JDEYF3PJ.js";
309
+ } from "./chunk-ZWF3EWZA.js";
307
310
  import {
308
311
  RecordCodec,
309
312
  SEALED_CEK_NS,
@@ -324,13 +327,13 @@ import {
324
327
  resolveStableCek,
325
328
  rewrapBodyToDek,
326
329
  verifyRecordIdentity
327
- } from "./chunk-EZGV6F47.js";
330
+ } from "./chunk-4J3MNVVX.js";
328
331
  import {
329
332
  validateSchemaInput
330
- } from "./chunk-42ALPZ2B.js";
333
+ } from "./chunk-OM3SEDI4.js";
331
334
  import {
332
335
  SealedHandle
333
- } from "./chunk-SV2PM2OY.js";
336
+ } from "./chunk-2ELOCEXE.js";
334
337
  import {
335
338
  AlreadyElevatedError,
336
339
  AttestationError,
@@ -370,7 +373,7 @@ import {
370
373
  UniqueConstraintError,
371
374
  ValidationError,
372
375
  isConflictError
373
- } from "./chunk-37EPTBBR.js";
376
+ } from "./chunk-VSUQI5Q6.js";
374
377
 
375
378
  // src/kernel/merge-authority.ts
376
379
  function buildMergeAuthority(keyring) {
@@ -401,25 +404,6 @@ function buildMergeAuthority(keyring) {
401
404
  };
402
405
  }
403
406
 
404
- // src/port/with/formats-strategy.ts
405
- var FormatsNotEnabledError = class extends Error {
406
- constructor(op) {
407
- super(
408
- `vault.${op}() requires the formats service. Import { withFormats } from "@noy-db/hub/as" and pass formatsStrategy: withFormats() to createNoydb().`
409
- );
410
- this.name = "FormatsNotEnabledError";
411
- }
412
- };
413
- var NO_FORMATS = {
414
- enabled: false,
415
- exportWith() {
416
- throw new FormatsNotEnabledError("export");
417
- },
418
- importWith() {
419
- throw new FormatsNotEnabledError("import");
420
- }
421
- };
422
-
423
407
  // src/with-commit/tx/strategy.ts
424
408
  var NOT_ENABLED = new Error(
425
409
  'Multi-record transactions require the tx strategy. Import `{ withTransactions }` from "@noy-db/hub/transactions" and pass it to `createNoydb({ transactionsStrategy: withTransactions() })`.'
@@ -551,7 +535,7 @@ function validateSecretModeOptions(options) {
551
535
  }
552
536
  async function resolveEffectiveSecret(options, store, vault) {
553
537
  if (options.secretMode === "managed") {
554
- const { resolveManagedSecret } = await import("./managed-secret-MFTFT22X.js");
538
+ const { resolveManagedSecret } = await import("./managed-secret-VSK7ANQI.js");
555
539
  return resolveManagedSecret(store, vault, options.sealingKey);
556
540
  }
557
541
  return options.secret;
@@ -569,7 +553,7 @@ function ownerKeyringOptions(options, secret) {
569
553
 
570
554
  // src/port/by/default-provider.ts
571
555
  async function createDefaultMesh(store) {
572
- const { StoreMesh } = await import("./store-coordination-provider-C4BPT5XF.js");
556
+ const { StoreMesh } = await import("./store-coordination-provider-Z6HKPOGM.js");
573
557
  return new StoreMesh(store);
574
558
  }
575
559
 
@@ -624,6 +608,28 @@ function populateCollectionRegistries(r, collectionName, options, effectiveViaFi
624
608
  }
625
609
  }
626
610
 
611
+ // src/kernel/export-scope.ts
612
+ async function resolveExportSource(adapter, vault, opts) {
613
+ const scope = opts.collections ? [...new Set(opts.collections)].filter((n) => !n.startsWith("_")).sort() : null;
614
+ if (scope) {
615
+ return {
616
+ collections: scope,
617
+ scoped: true,
618
+ // One `list` per requested collection. Calling `loadAll` here would pull
619
+ // every collection's envelopes out of the store before declining to
620
+ // decrypt most of them — the fetch would already have happened, which is
621
+ // precisely the half that makes "scoping" a word rather than a property.
622
+ ids: async (collection) => await adapter.list(vault, collection)
623
+ };
624
+ }
625
+ const snapshot = await adapter.loadAll(vault);
626
+ return {
627
+ collections: Object.keys(snapshot).sort(),
628
+ scoped: false,
629
+ ids: async (collection) => Object.keys(snapshot[collection] ?? {})
630
+ };
631
+ }
632
+
627
633
  // src/kernel/generation-map.ts
628
634
  var tick = 0;
629
635
  var GenerationMap = class extends Map {
@@ -1723,7 +1729,7 @@ async function commitSequentially(ctx, entries, priors) {
1723
1729
  }
1724
1730
 
1725
1731
  // src/with-formula/computed/lazy.ts
1726
- var loadComputed = lazy(() => import("./computed-FAD7SED4.js"));
1732
+ var loadComputed = lazy(() => import("./computed-XMFTHAXV.js"));
1727
1733
  async function loadEvalComputedFields() {
1728
1734
  return (await loadComputed()).evalComputedFields;
1729
1735
  }
@@ -2532,7 +2538,7 @@ var Collection = class {
2532
2538
  }
2533
2539
  await this.onAccess?.("find", "*");
2534
2540
  if (hits.length === 0) return [];
2535
- const { verifyDigestField } = await import("./verify-UKALW7C2.js");
2541
+ const { verifyDigestField } = await import("./verify-KWQIWLGH.js");
2536
2542
  const policy = {
2537
2543
  normalize: spec.verifyNormalize ?? "password",
2538
2544
  notLastN: spec.notLastN ?? 0,
@@ -2744,7 +2750,7 @@ var Collection = class {
2744
2750
  }
2745
2751
  }
2746
2752
  if (this.materializedViewSource !== void 0) {
2747
- const { resolveStaleMVOnRead } = await import("./stale-6GCFMOOR.js");
2753
+ const { resolveStaleMVOnRead } = await import("./stale-SKV33PBU.js");
2748
2754
  await resolveStaleMVOnRead(this.materializedViewSource, this.name, this.#dispatchCtx({ collection: this.name, id: "resolve-on-read" }));
2749
2755
  }
2750
2756
  let record;
@@ -3286,7 +3292,7 @@ var Collection = class {
3286
3292
  */
3287
3293
  async dispatchMaterializedViews(id, record, wave) {
3288
3294
  if (this.materializedViewSource === void 0) return;
3289
- const { dispatchMaterializedViews } = await import("./dispatch-H4HV32AM.js");
3295
+ const { dispatchMaterializedViews } = await import("./dispatch-OFDA4WQV.js");
3290
3296
  return dispatchMaterializedViews(this.#mvDispatchCtx(this.materializedViewSource), id, record, wave);
3291
3297
  }
3292
3298
  /**
@@ -3452,18 +3458,19 @@ var Collection = class {
3452
3458
  * dispatch wave's per-target dedup; `undefined` on the local-write path (byte-identical). */
3453
3459
  async dispatchDerivations(id, record, version, wave, prior) {
3454
3460
  if (this.derivationSource === void 0) return;
3455
- const { dispatchDerivations } = await import("./dispatch-JDZNGEB3.js");
3461
+ const { dispatchDerivations } = await import("./dispatch-2MQFMEGY.js");
3456
3462
  return dispatchDerivations(this.#derivationDispatchCtx(), id, record, version, wave, prior);
3457
3463
  }
3458
3464
  /** @internal — trigger fan-out for a deleted parent (#1249); see dispatch.ts. */
3459
3465
  async dispatchTriggerDerivationsOnDelete(id, deleted) {
3460
3466
  if (this.derivationSource === void 0) return;
3461
- const { dispatchTriggerDerivationsOnDelete } = await import("./dispatch-JDZNGEB3.js");
3467
+ const { dispatchTriggerDerivationsOnDelete } = await import("./dispatch-2MQFMEGY.js");
3462
3468
  return dispatchTriggerDerivationsOnDelete(this.#derivationDispatchCtx(), id, deleted);
3463
3469
  }
3464
3470
  /**
3465
3471
  * Delete a record by ID. Runs inside the hub's write-queue tracker
3466
3472
  * so `hub.writeQueue.pending` reflects this write.
3473
+ * ⚠️ Blobs are released (#1451) but a legacy collection defers the erase — a `null` blob read is NOT proof the bytes are gone; see {@link BlobSet.releaseAll} (noy-db/core#28).
3467
3474
  */
3468
3475
  async delete(id) {
3469
3476
  return trackKeyedWrite(this.adapter, this.vault, this.name, id, () => this.#deleteGated(id));
@@ -3780,7 +3787,7 @@ var Collection = class {
3780
3787
  */
3781
3788
  async dispatchArrayDerivationsOnDelete(id, eraseRecordShapeToo = false) {
3782
3789
  if (this.derivationSource === void 0) return 0;
3783
- const { dispatchArrayDerivationsOnDelete } = await import("./dispatch-JDZNGEB3.js");
3790
+ const { dispatchArrayDerivationsOnDelete } = await import("./dispatch-2MQFMEGY.js");
3784
3791
  return dispatchArrayDerivationsOnDelete(this.#derivationDeleteCtx(this.derivationSource), id, eraseRecordShapeToo);
3785
3792
  }
3786
3793
  /**
@@ -3794,7 +3801,7 @@ var Collection = class {
3794
3801
  */
3795
3802
  async dispatchMaterializedViewsOnDelete(id) {
3796
3803
  if (this.materializedViewSource === void 0) return { deleted: 0, residueUndecodable: [], residueDeclined: [] };
3797
- const { dispatchMaterializedViewsOnDelete } = await import("./dispatch-H4HV32AM.js");
3804
+ const { dispatchMaterializedViewsOnDelete } = await import("./dispatch-OFDA4WQV.js");
3798
3805
  return dispatchMaterializedViewsOnDelete(this.#mvDispatchCtx(this.materializedViewSource), id);
3799
3806
  }
3800
3807
  /**
@@ -3814,7 +3821,7 @@ var Collection = class {
3814
3821
  );
3815
3822
  }
3816
3823
  if (this.materializedViewSource !== void 0) {
3817
- const { resolveStaleMVOnRead } = await import("./stale-6GCFMOOR.js");
3824
+ const { resolveStaleMVOnRead } = await import("./stale-SKV33PBU.js");
3818
3825
  await resolveStaleMVOnRead(this.materializedViewSource, this.name, this.#dispatchCtx({ collection: this.name, id: "resolve-on-read" }));
3819
3826
  }
3820
3827
  await this.ensureHydrated();
@@ -4979,14 +4986,14 @@ var Collection = class {
4979
4986
  /** C-A/R10: persist the classified marker once per classified handle (store I/O in config-drift.ts). */
4980
4987
  async _ensureClassifiedMarker() {
4981
4988
  if (this._markerPersisted || this.vdigFields === null) return;
4982
- const { persistClassifiedMarkerForFields } = await import("./classified-marker-SIYKUU5L.js");
4989
+ const { persistClassifiedMarkerForFields } = await import("./classified-marker-KHDOYIJB.js");
4983
4990
  await persistClassifiedMarkerForFields(this.adapter, this.vault, this.name, this.vdigFields, await this.getDEK(this.name));
4984
4991
  this._markerPersisted = true;
4985
4992
  }
4986
4993
  /** C-A/R10 drift signal — the marker's declared digest-only set, memoized to one store read per handle (see config-drift.ts). */
4987
4994
  async _classifiedMarkerDigestOnly() {
4988
4995
  if (this._markerDigestOnlyCache !== void 0) return this._markerDigestOnlyCache;
4989
- const { readClassifiedMarkerDigestOnly } = await import("./classified-marker-SIYKUU5L.js");
4996
+ const { readClassifiedMarkerDigestOnly } = await import("./classified-marker-KHDOYIJB.js");
4990
4997
  this._markerDigestOnlyCache = await readClassifiedMarkerDigestOnly(this.adapter, this.vault, this.name, await this.getDEK(this.name));
4991
4998
  return this._markerDigestOnlyCache;
4992
4999
  }
@@ -6654,7 +6661,7 @@ var VaultLinks = class {
6654
6661
  // src/with-shape/links/lazy-handle.ts
6655
6662
  function makeLazyLinkSetHandle(d) {
6656
6663
  let engine = null;
6657
- const load = () => engine ??= import("./link-set-MFXC24VK.js").then(
6664
+ const load = () => engine ??= import("./link-set-QXXSPPHL.js").then(
6658
6665
  ({ LinkSet }) => new LinkSet(d.adapter, d.vault, d.name, d.spec, d.encrypted, d.getDEK, d.actor, d.emitter, d.endpointExists)
6659
6666
  );
6660
6667
  return {
@@ -7037,6 +7044,8 @@ function reconcileCollectionReadState(coll, vaultCtx, plan, hadI18n, hadLookup)
7037
7044
  });
7038
7045
  }
7039
7046
  function reconcileViaAttach(coll, graph, name, vaultCtx, plan) {
7047
+ const allComputed = { ...plan.computed ?? {}, ...plan.effectiveViaFields.computedFields ?? {} };
7048
+ const hasComputed = Object.keys(allComputed).length > 0;
7040
7049
  guardReconcileCollisions(coll._via, {
7041
7050
  moneyFields: plan.effectiveViaFields.moneyFields,
7042
7051
  i18nFields: plan.effectiveViaFields.i18nFields,
@@ -7044,12 +7053,12 @@ function reconcileViaAttach(coll, graph, name, vaultCtx, plan) {
7044
7053
  lookupFields: plan.effectiveViaFields.lookupFields,
7045
7054
  classifiedFields: plan.classifiedFields !== void 0 ? resolveClassifiedFields(name, plan.classifiedFields).byField : void 0,
7046
7055
  blobFields: plan.blobFields,
7047
- computed: { ...plan.computed ?? {}, ...plan.effectiveViaFields.computedFields ?? {} }
7056
+ computed: allComputed
7048
7057
  });
7049
7058
  if (plan.effectiveViaFields.lookupFields !== void 0 && !hasLookupBinding(coll)) {
7050
7059
  refuseUnattachableMatrixLookupFields(vaultCtx, plan.effectiveViaFields.lookupFields);
7051
7060
  }
7052
- const reconcilePlan = plan.computed || plan.classifiedFields ? validateReconcileGraphEdges(graph, name, {
7061
+ const reconcilePlan = hasComputed || plan.classifiedFields ? validateReconcileGraphEdges(graph, name, {
7053
7062
  // `moneyFields` here is the MERGED view (`plan.effectiveViaFields.moneyFields`), not the
7054
7063
  // raw incoming `moneyFields` option — intentional (controller ruling, #664a review): a
7055
7064
  // via()-spelled money field must count in this call's `knownFields` for computed `deps`
@@ -7058,14 +7067,14 @@ function reconcileViaAttach(coll, graph, name, vaultCtx, plan) {
7058
7067
  // silently read the RAW option instead — never intentional, just uncovered before now.
7059
7068
  moneyFields: plan.effectiveViaFields.moneyFields,
7060
7069
  classifiedFields: plan.classifiedFields,
7061
- computed: plan.computed
7070
+ computed: allComputed
7062
7071
  }) : void 0;
7063
7072
  if (plan.refs !== void 0) {
7064
7073
  vaultCtx.refRegistry.register(name, plan.refs);
7065
7074
  coll._attachDeclaredRefs(vaultCtx.refRegistry.getOutbound(name));
7066
7075
  }
7067
7076
  if (plan.effectiveViaFields.moneyFields) coll._applyMoneyFields(plan.effectiveViaFields.moneyFields);
7068
- if (plan.computed) coll._applyComputed(plan.computed);
7077
+ if (hasComputed) coll._applyComputed(allComputed);
7069
7078
  if (plan.fieldMeta) coll._applyFieldMeta(plan.fieldMeta);
7070
7079
  if (plan.meta) coll._applyMeta(plan.meta);
7071
7080
  if (plan.classifiedFields) coll._applyClassifiedFields(plan.classifiedFields);
@@ -7305,7 +7314,7 @@ function declareSatellite(ctx, collectionName, options, existingRegistry) {
7305
7314
  ctx.forEachSyncEngine((e) => e.remirrorPairResolvers([spec.base, spec.satellite]));
7306
7315
  const registry = reg;
7307
7316
  const baseSchema = ctx.getBaseSchema(spec.base);
7308
- void import("./post-register-7ND27CF2.js").then((m) => m.postRegister(ctx.adapter, ctx.vaultName, spec, ctx.getDEK, baseSchema, registry)).catch(() => {
7317
+ void import("./post-register-QC5TEAW3.js").then((m) => m.postRegister(ctx.adapter, ctx.vaultName, spec, ctx.getDEK, baseSchema, registry)).catch(() => {
7309
7318
  });
7310
7319
  return reg;
7311
7320
  }
@@ -8282,7 +8291,7 @@ var Vault = class {
8282
8291
  const strategies = options.schemaUpdate ?? [];
8283
8292
  const work = (async () => {
8284
8293
  const dek = await this.getDEK(collectionName);
8285
- const { persistSchemaIfNeeded } = await import("./register-DT5HZ2LZ.js");
8294
+ const { persistSchemaIfNeeded } = await import("./register-SN72QALV.js");
8286
8295
  const result = await persistSchemaIfNeeded({
8287
8296
  store: this.adapter,
8288
8297
  vault: this.name,
@@ -8432,7 +8441,7 @@ var Vault = class {
8432
8441
  const work = (async () => {
8433
8442
  try {
8434
8443
  const dek = await this.getDEK(collectionName);
8435
- await (await import("./register-DT5HZ2LZ.js")).persistSchemaIfNeeded({
8444
+ await (await import("./register-SN72QALV.js")).persistSchemaIfNeeded({
8436
8445
  store: this.adapter,
8437
8446
  vault: this.name,
8438
8447
  collectionName,
@@ -8478,7 +8487,7 @@ var Vault = class {
8478
8487
  * writes (unfenced walk — see `with-shape/satellites/migrate-cek.ts`); resumable.
8479
8488
  */
8480
8489
  async migrateSatellitePerRecordKeys(satelliteName) {
8481
- const { migrateSatelliteCek } = await import("./migrate-cek-DZRFFOHW.js");
8490
+ const { migrateSatelliteCek } = await import("./migrate-cek-GEBFYBDC.js");
8482
8491
  return migrateSatelliteCek(satelliteName, this.collection(satelliteName, { perRecordKeys: true }));
8483
8492
  }
8484
8493
  /**
@@ -9113,7 +9122,7 @@ var Vault = class {
9113
9122
  */
9114
9123
  // eslint-disable-next-line @typescript-eslint/consistent-type-imports
9115
9124
  async _loadPodSigner() {
9116
- const { loadSigner } = await import("./signer-MHGW3OIL.js");
9125
+ const { loadSigner } = await import("./signer-IUIYR3CX.js");
9117
9126
  return loadSigner(this.adapter, this.name, this.getDEK);
9118
9127
  }
9119
9128
  async writeExportAudit(entry) {
@@ -9329,6 +9338,8 @@ var Vault = class {
9329
9338
  const collections = /* @__PURE__ */ new Set();
9330
9339
  const unmigratedRecords = [];
9331
9340
  const blobResidueCollections = /* @__PURE__ */ new Set();
9341
+ const blobResidueRecords = /* @__PURE__ */ new Set();
9342
+ const blobResidueETags = /* @__PURE__ */ new Set();
9332
9343
  let blobsShredded = 0;
9333
9344
  let blobsRetainedShared = 0;
9334
9345
  let indexPostingsPurged = 0;
@@ -9391,6 +9402,7 @@ var Vault = class {
9391
9402
  await coll.blob(ref2.id).mintShredIntent(live?._tier ?? 0);
9392
9403
  } catch {
9393
9404
  blobResidueCollections.add(ref2.collection);
9405
+ blobResidueRecords.add(`${ref2.collection}:${ref2.id}`);
9394
9406
  }
9395
9407
  }
9396
9408
  let shred;
@@ -9436,11 +9448,18 @@ var Vault = class {
9436
9448
  const r = await this.collection(ref2.collection).blob(ref2.id).shredAllForRecord(live?._tier ?? 0);
9437
9449
  blobsShredded += r.shredded.length;
9438
9450
  blobsRetainedShared += r.retainedShared.length;
9439
- if (r.residue.length > 0) blobResidueCollections.add(ref2.collection);
9451
+ if (r.residue.length > 0) {
9452
+ blobResidueCollections.add(ref2.collection);
9453
+ blobResidueRecords.add(`${ref2.collection}:${ref2.id}`);
9454
+ for (const e of r.residueETags) blobResidueETags.add(e);
9455
+ }
9440
9456
  } else {
9441
9457
  try {
9442
9458
  const [slotIds, verKeys] = await Promise.all([this.adapter.list(this.name, `_blob_slots_${ref2.collection}`), this.adapter.list(this.name, `_blob_versions_${ref2.collection}`)]);
9443
- if (slotIds.includes(ref2.id) || verKeys.some((k) => k.startsWith(`${ref2.id}::`))) blobResidueCollections.add(ref2.collection);
9459
+ if (slotIds.includes(ref2.id) || verKeys.some((k) => k.startsWith(`${ref2.id}::`))) {
9460
+ blobResidueCollections.add(ref2.collection);
9461
+ blobResidueRecords.add(`${ref2.collection}:${ref2.id}`);
9462
+ }
9444
9463
  } catch {
9445
9464
  }
9446
9465
  }
@@ -9489,6 +9508,8 @@ var Vault = class {
9489
9508
  blobsShredded,
9490
9509
  blobsRetainedShared,
9491
9510
  blobResidueCollections: [...blobResidueCollections],
9511
+ blobResidueRecords: [...blobResidueRecords],
9512
+ blobResidueETags: [...blobResidueETags],
9492
9513
  indexPostingsPurged,
9493
9514
  indexResidue,
9494
9515
  sealedFieldsShredded,
@@ -9603,7 +9624,7 @@ var Vault = class {
9603
9624
  async _initGuards(handles) {
9604
9625
  if (handles.length === 0) return;
9605
9626
  const [{ GuardRegistry }, { ReadOnlyVaultFacade }] = await Promise.all([
9606
- import("./registry-BHRZGZHF.js"),
9627
+ import("./registry-IVJ67NFQ.js"),
9607
9628
  import("./read-only-facade-BIGO37U3.js")
9608
9629
  ]);
9609
9630
  const registry = new GuardRegistry();
@@ -9631,7 +9652,7 @@ var Vault = class {
9631
9652
  async _initDerivations(handles) {
9632
9653
  if (handles.length === 0) return;
9633
9654
  const [{ DerivationRegistry }, { ReadOnlyVaultFacade }] = await Promise.all([
9634
- import("./registry-ET6ZFFWA.js"),
9655
+ import("./registry-253FF7C6.js"),
9635
9656
  import("./read-only-facade-BIGO37U3.js")
9636
9657
  ]);
9637
9658
  const registry = new DerivationRegistry();
@@ -9663,7 +9684,7 @@ var Vault = class {
9663
9684
  */
9664
9685
  async _initMaterializedViews(handles) {
9665
9686
  if (handles.length === 0) return;
9666
- const { MaterializedViewRegistry } = await import("./registry-THCPDEOD.js");
9687
+ const { MaterializedViewRegistry } = await import("./registry-3AZWQTDT.js");
9667
9688
  const registry = new MaterializedViewRegistry();
9668
9689
  this.materializedViewRegistry = registry;
9669
9690
  const db = this;
@@ -9688,7 +9709,7 @@ var Vault = class {
9688
9709
  */
9689
9710
  async _initOverlayedViews(handles) {
9690
9711
  if (handles.length === 0) return;
9691
- const { OverlayedViewRegistry } = await import("./registry-HXFGLGTG.js");
9712
+ const { OverlayedViewRegistry } = await import("./registry-7UEBTHWG.js");
9692
9713
  const registry = new OverlayedViewRegistry();
9693
9714
  const mvRegistry = this.materializedViewRegistry;
9694
9715
  const overlayNames = /* @__PURE__ */ new Set();
@@ -9751,14 +9772,14 @@ var Vault = class {
9751
9772
  if (!reg) {
9752
9773
  throw new Error(`refreshView: no MV registered with name "${name}"`);
9753
9774
  }
9754
- const { MaterializedViewExecutor } = await import("./executor-FMPVN6DT.js");
9775
+ const { MaterializedViewExecutor } = await import("./executor-NJX3YQQ4.js");
9755
9776
  const result = await MaterializedViewExecutor.refresh(reg, {
9756
9777
  getCollection: (n) => this.collection(n),
9757
9778
  getActiveTxContext: () => this.noydb._activeTxContextOrNull,
9758
9779
  getQueryContext: () => this,
9759
9780
  dispatchCtx: this._dispatchCtx({ collection: name, id: "refreshView" })
9760
9781
  });
9761
- const { clearMVStaleFully } = await import("./stale-6GCFMOOR.js");
9782
+ const { clearMVStaleFully } = await import("./stale-SKV33PBU.js");
9762
9783
  await clearMVStaleFully(this.adapter, this.name, registry, name);
9763
9784
  return result;
9764
9785
  }
@@ -9771,7 +9792,7 @@ var Vault = class {
9771
9792
  if (registry === null) return { derived: 0, failed: 0, skippedFrozen: 0 };
9772
9793
  const strategies = registry.strategiesForSource(sourceCollection);
9773
9794
  if (strategies.length === 0) return { derived: 0, failed: 0, skippedFrozen: 0 };
9774
- const { DerivationExecutor } = await import("./executor-OSRZST2U.js");
9795
+ const { DerivationExecutor } = await import("./executor-E6YDJ7YA.js");
9775
9796
  const sourceColl = this.collection(sourceCollection);
9776
9797
  const records = await sourceColl.list();
9777
9798
  const ctx = { vault: this.derivationFacade ?? new (await import("./read-only-facade-BIGO37U3.js")).ReadOnlyVaultFacade(this, "derivation") };
@@ -9798,7 +9819,7 @@ var Vault = class {
9798
9819
  if (!outSpec) continue;
9799
9820
  const outputColl = this.collection(outSpec.collection);
9800
9821
  if (out.kind === "array") {
9801
- const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-L7NHPIOC.js");
9822
+ const { loadFanoutSidecar, saveFanoutSidecar } = await import("./fanout-sidecar-BO67PCPO.js");
9802
9823
  const prior = await loadFanoutSidecar(this.adapter, this.name, spec.source, id, key, this.getDEK, this.encrypted);
9803
9824
  const prevKeys = new Set(prior?.keys ?? []);
9804
9825
  const newKeysList = out.entries.map((e) => e.key);
@@ -10025,7 +10046,7 @@ var Vault = class {
10025
10046
  * collection.
10026
10047
  */
10027
10048
  async delegate(opts) {
10028
- const { issueDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-NANZDG4N.js");
10049
+ const { issueDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-ONLM4JFI.js");
10029
10050
  if (!this.keyring.kek) {
10030
10051
  throw new ValidationError(
10031
10052
  "issueDelegation: keyring.kek is null \u2014 issuing a delegation requires a tier-1 unlock. Re-authenticate at tier 1 (secret) first."
@@ -10042,14 +10063,18 @@ var Vault = class {
10042
10063
  opts
10043
10064
  );
10044
10065
  }
10066
+ /** Merge live delegations into the keyring — core#56's read half. Explicit, not automatic; cross-user delegation does not work yet. Both reasons: `with-party/team/delegation.ts`. */
10067
+ async refreshDelegations(now) {
10068
+ return this.strategies.tiers.refreshDelegations({ vault: this.name, adapter: this.adapter, keyring: this.keyring }, now);
10069
+ }
10045
10070
  /**
10046
10071
  * revoke an issued delegation by id. Safe to call even
10047
10072
  * if the id does not exist.
10048
10073
  */
10049
10074
  async revokeDelegation(id) {
10050
- const { revokeDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-NANZDG4N.js");
10075
+ const { revokeDelegation, DELEGATIONS_COLLECTION } = await import("./delegation-ONLM4JFI.js");
10051
10076
  await revokeDelegation(this.adapter, this.name, id);
10052
- void DELEGATIONS_COLLECTION;
10077
+ await this.onDirty?.(DELEGATIONS_COLLECTION, id, "delete", 1);
10053
10078
  }
10054
10079
  // ─── Scoped tier elevation ───────────────────────────
10055
10080
  /**
@@ -10304,7 +10329,7 @@ var Vault = class {
10304
10329
  * @see design-history/2026-05-22-schema-dump-design.md
10305
10330
  */
10306
10331
  async dumpSchema(opts = {}) {
10307
- const { dumpVaultSchema } = await import("./walk-4VPK7AS4.js");
10332
+ const { dumpVaultSchema } = await import("./walk-F4OLXI5H.js");
10308
10333
  return dumpVaultSchema(this, opts);
10309
10334
  }
10310
10335
  /**
@@ -10400,7 +10425,7 @@ var Vault = class {
10400
10425
  * separate vault instances now.
10401
10426
  */
10402
10427
  async getPodHandle() {
10403
- const { buildPodHandle } = await import("./pod-handle-A3LET7NO.js");
10428
+ const { buildPodHandle } = await import("./pod-handle-YE7CT66T.js");
10404
10429
  return buildPodHandle(this.adapter, this.name);
10405
10430
  }
10406
10431
  /**
@@ -10432,7 +10457,7 @@ var Vault = class {
10432
10457
  * both modes round-trip cleanly.
10433
10458
  */
10434
10459
  async dump() {
10435
- const { dumpVault } = await import("./backup-YE2VQ26S.js");
10460
+ const { dumpVault } = await import("./backup-7RKNZMQO.js");
10436
10461
  return dumpVault(this.backupContext());
10437
10462
  }
10438
10463
  /**
@@ -10441,6 +10466,11 @@ var Vault = class {
10441
10466
  * collection-cache clear, ledger-store reset) that `load()` performs on this
10442
10467
  * Vault's private state.
10443
10468
  */
10469
+ /** core#82 — sync pulled a newer copy of THIS user's keyring file: reload it in place, rebuild the DEK resolver, drop cached collections. */
10470
+ async _reloadKeyringAfterSync() {
10471
+ await this.backupContext().reloadKeyringAndRebuildDEK();
10472
+ this.collectionCache.clear();
10473
+ }
10444
10474
  backupContext() {
10445
10475
  return {
10446
10476
  adapter: this.adapter,
@@ -10484,7 +10514,7 @@ var Vault = class {
10484
10514
  * — there's no chain to verify against.
10485
10515
  */
10486
10516
  async load(backupJson) {
10487
- const { loadVault } = await import("./backup-YE2VQ26S.js");
10517
+ const { loadVault } = await import("./backup-7RKNZMQO.js");
10488
10518
  return loadVault(this.backupContext(), backupJson);
10489
10519
  }
10490
10520
  /**
@@ -10516,7 +10546,7 @@ var Vault = class {
10516
10546
  * way to detect tampering of an in-place vault.
10517
10547
  */
10518
10548
  async verifyBackupIntegrity() {
10519
- const { verifyBackupIntegrity } = await import("./backup-YE2VQ26S.js");
10549
+ const { verifyBackupIntegrity } = await import("./backup-7RKNZMQO.js");
10520
10550
  return verifyBackupIntegrity(this.backupContext());
10521
10551
  }
10522
10552
  /**
@@ -10597,8 +10627,7 @@ var Vault = class {
10597
10627
  const granularity = opts.granularity ?? "collection";
10598
10628
  const exportLocale = opts.resolveLabels;
10599
10629
  const localeOpts = exportLocale !== void 0 ? { locale: exportLocale, _layer: "export" } : void 0;
10600
- const snapshot = await this.adapter.loadAll(this.name);
10601
- const collectionNames = Object.keys(snapshot).sort();
10630
+ const source = await resolveExportSource(this.adapter, this.name, opts);
10602
10631
  const ledgerHead = opts.withLedgerHead ? await (async () => {
10603
10632
  const ledger = this.getLedgerOrNull();
10604
10633
  if (!ledger) return void 0;
@@ -10607,7 +10636,7 @@ var Vault = class {
10607
10636
  })() : void 0;
10608
10637
  const dictSnapshotCache = /* @__PURE__ */ new Map();
10609
10638
  if (exportLocale === void 0) {
10610
- for (const collectionName of collectionNames) {
10639
+ for (const collectionName of source.collections) {
10611
10640
  const dictFields = this.dictKeyFieldRegistry.get(collectionName);
10612
10641
  if (dictFields && Object.keys(dictFields).length > 0) {
10613
10642
  const snap = {};
@@ -10623,12 +10652,13 @@ var Vault = class {
10623
10652
  }
10624
10653
  }
10625
10654
  }
10626
- for (const collectionName of collectionNames) {
10655
+ for (const collectionName of source.collections) {
10627
10656
  if (!hasAccess(this.keyring, collectionName)) continue;
10628
10657
  const coll = this.collection(collectionName);
10629
10658
  const schema = coll.getSchema() ?? null;
10630
10659
  const refs = this.refRegistry.getOutbound(collectionName);
10631
- const ids = Object.keys(snapshot[collectionName] ?? {});
10660
+ const ids = await source.ids(collectionName);
10661
+ if (source.scoped && ids.length === 0) continue;
10632
10662
  const dictionaries = dictSnapshotCache.get(collectionName);
10633
10663
  if (granularity === "collection") {
10634
10664
  const records = [];
@@ -10746,7 +10776,7 @@ var Vault = class {
10746
10776
  * is the live validator object, not a serialization of it).
10747
10777
  */
10748
10778
  async exportJSON(opts = {}) {
10749
- const { exportVaultJSON } = await import("./backup-YE2VQ26S.js");
10779
+ const { exportVaultJSON } = await import("./backup-7RKNZMQO.js");
10750
10780
  return exportVaultJSON(this.backupContext(), opts);
10751
10781
  }
10752
10782
  };
@@ -12349,6 +12379,7 @@ var TeamFacade = class {
12349
12379
  await this.deps.checkGate(vault, "peer-recover-user", factors);
12350
12380
  const callerKeyring = await this.deps.getKeyringInternal(vault);
12351
12381
  await recoverUser(this.deps.options.store, vault, callerKeyring, options);
12382
+ await this.deps.enrolBrokerMember(vault, { userId: options.userId, secret: options.secret });
12352
12383
  if (options.userId === this.deps.options.user) {
12353
12384
  this.deps.keyringCache.delete(vault);
12354
12385
  }
@@ -12693,6 +12724,7 @@ var Noydb = class {
12693
12724
  checkGate: (vault, gate, factors) => this.checkGate(vault, gate, factors),
12694
12725
  checkPolicyOperation: (vault, op) => this.checkPolicyOperation(vault, op),
12695
12726
  getKeyringInternal: (vault, opts) => this._getKeyringInternal(vault, opts),
12727
+ enrolBrokerMember: (vault, member) => this.#enrolBrokerMember(vault, member),
12696
12728
  assertRecoveryEnrolled: (vault, policy, opts) => this.assertRecoveryEnrolled(vault, policy, opts),
12697
12729
  openVault: (vault, opts) => this.openVault(vault, opts),
12698
12730
  setSkipNextManagedRecoveryCheck: (value) => {
@@ -12803,7 +12835,7 @@ var Noydb = class {
12803
12835
  if (!facade) return;
12804
12836
  const ctx = { existing, vault: facade, userId: e.userId, role: e.role };
12805
12837
  await registry.runChecks(e.collection, incoming, ctx);
12806
- const { GuardExecutor } = await import("./executor-LBBBRTN5.js");
12838
+ const { GuardExecutor } = await import("./executor-WWM3DD4P.js");
12807
12839
  for (const g of guards) {
12808
12840
  await GuardExecutor.checkFrozenFields(g, e.docId, existing, incoming, e.computedFieldNames);
12809
12841
  }
@@ -13021,6 +13053,7 @@ var Noydb = class {
13021
13053
  engine.setReservedLookupSource({ collections: () => comp._reservedLookupCollectionNames() });
13022
13054
  engine.setReservedDictExpander((names) => comp._reservedDictDepsOf(names));
13023
13055
  engine.setPeriodPullSource({ periods: () => comp.listPeriods() });
13056
+ engine.setRosterReload({ userId: this.options.user, reload: () => comp._reloadKeyringAfterSync() });
13024
13057
  });
13025
13058
  await comp._initGuards(this.options.guardStrategies ?? []);
13026
13059
  await comp._initDerivations(this.options.derivationStrategies ?? []);
@@ -13062,7 +13095,12 @@ var Noydb = class {
13062
13095
  * Opt-in (#267): throws {@link TeamNotEnabledError} without `withTeam()`.
13063
13096
  */
13064
13097
  async grant(vault, options, factors) {
13065
- return this.strategies.team.grant(this.team, vault, options, factors);
13098
+ await this.strategies.team.grant(this.team, vault, options, factors);
13099
+ await this.#enrolBrokerMember(vault, { userId: options.userId, secret: options.secret });
13100
+ }
13101
+ /** core#73 — register a (re-)granted or recovered sub-admin member with the broker host; a no-op without a broker. */
13102
+ async #enrolBrokerMember(vault, member) {
13103
+ await this.strategies.broker.enrolMember({ store: this.options.store, vault, keyring: await this._getKeyringInternal(vault) }, member);
13066
13104
  }
13067
13105
  /**
13068
13106
  * Revoke a user's access to a vault.
@@ -13075,7 +13113,11 @@ var Noydb = class {
13075
13113
  * Opt-in (#267): throws {@link TeamNotEnabledError} without `withTeam()`.
13076
13114
  */
13077
13115
  async revoke(vault, options, factors) {
13078
- return this.strategies.team.revoke(this.team, vault, options, factors);
13116
+ await this.strategies.team.revoke(this.team, vault, options, factors);
13117
+ for (const [key, engine] of this.syncEngines) {
13118
+ if (key === vault || key.startsWith(`${vault}::`)) await engine.trackChange("_keyring", options.userId, "delete", 1);
13119
+ }
13120
+ await this.strategies.broker.revokeMember({ store: this.options.store, vault, keyring: await this._getKeyringInternal(vault) }, options.userId);
13079
13121
  }
13080
13122
  /**
13081
13123
  * Grant the FR-6 `custodian` role to a user (owner-only custody API).
@@ -13477,6 +13519,10 @@ var Noydb = class {
13477
13519
  if (engine.role !== "sync-peer") return emptyPullResult();
13478
13520
  return engine.pull(options);
13479
13521
  }
13522
+ /** core#82 — replace every local envelope that fails to authenticate with the primary target's healthy copy; see `SyncEngine.realign`. */
13523
+ async realign(vault) {
13524
+ return this.getSyncEngine(vault).realign();
13525
+ }
13480
13526
  /**
13481
13527
  * Bidirectional sync: pull then push for all targets.
13482
13528
  * `sync-peer` targets do pull+push; `backup`/`archive` targets do push-only.
@@ -13621,9 +13667,9 @@ var Noydb = class {
13621
13667
  const targets = [];
13622
13668
  for (const [key, engine] of this.syncEngines) {
13623
13669
  if (key !== vault && !key.startsWith(`${vault}::`)) continue;
13624
- const { dirty, lastPush, lastPull } = engine.status();
13670
+ const { dirty, lastPush, lastPull, inFlight } = engine.status();
13625
13671
  const { label, role } = engine;
13626
- targets.push({ label, role, dirty, lastPush, lastPull, caughtUp: dirty === 0 });
13672
+ targets.push({ label, role, dirty, lastPush, lastPull, caughtUp: dirty === 0, ...inFlight ? { inFlight } : {} });
13627
13673
  }
13628
13674
  return targets;
13629
13675
  }
@@ -14141,6 +14187,7 @@ var Noydb = class {
14141
14187
  this.keyringCache.set(vault, keyring2);
14142
14188
  return keyring2;
14143
14189
  }
14190
+ await this.strategies.sync.bootstrapKeyrings(this.options.store, normalizeSyncTargets(this.options.sync).find((t) => t.role === "sync-peer")?.store, vault);
14144
14191
  await assertKeyringOpenAllowed(this.options.store, vault, this.options.user, opts.create);
14145
14192
  const effectiveSecret = await resolveEffectiveSecret(this.options, this.options.store, vault);
14146
14193
  if (!effectiveSecret) {
@@ -14191,7 +14238,7 @@ async function createNoydb(options) {
14191
14238
  if (!options.store) options = { ...options, store: memoryStore() };
14192
14239
  validateSecretModeOptions(options);
14193
14240
  if (!options.mesh) options = { ...options, mesh: await createDefaultMesh(options.store) };
14194
- if (!options.userApiFactory) options = { ...options, userApiFactory: (await import("./api-OS747DS4.js")).createUserApi };
14241
+ if (!options.userApiFactory) options = { ...options, userApiFactory: (await import("./api-MSJXVYQG.js")).createUserApi };
14195
14242
  if (!options.policyFactory) {
14196
14243
  const policyModule = await import("./policy/index.js");
14197
14244
  options = { ...options, policyFactory: policyModule.createNoydbPolicy, policyCheckGateFn: policyModule.checkGate };
@@ -14224,4 +14271,4 @@ export {
14224
14271
  Noydb,
14225
14272
  createNoydb
14226
14273
  };
14227
- //# sourceMappingURL=chunk-MXOQ5JCG.js.map
14274
+ //# sourceMappingURL=chunk-FSQNGPHH.js.map