@noy-db/hub 0.8.0 → 0.9.0-pre.1

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 (567) hide show
  1. package/CHANGELOG.md +49 -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-6EFD43KN.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-RJBFQSHE.js} +92 -31
  11. package/dist/backup-RJBFQSHE.js.map +1 -0
  12. package/dist/blobs/index.js +12 -12
  13. package/dist/broker/index.js +19 -11
  14. package/dist/broker/index.js.map +1 -1
  15. package/dist/by/index.js +2 -2
  16. package/dist/capsule/contract.d.ts +1 -1
  17. package/dist/capsule/contract.js +6 -6
  18. package/dist/capsule/enclave-aes/broker/proof.d.ts +12 -3
  19. package/dist/capsule/enclave-aes/crypto.d.ts +18 -0
  20. package/dist/capsule/enclave-aes/index.d.ts +3 -3
  21. package/dist/capsule/enclave-aes/index.js +46 -14
  22. package/dist/capsule/enclave-aes/index.js.map +1 -1
  23. package/dist/capsule/index.d.ts +2 -2
  24. package/dist/capsule/plumbing/record-codec.d.ts +7 -0
  25. package/dist/{capsule-VOLX3QRQ.js → capsule-6LJAVQNM.js} +14 -8
  26. package/dist/cargo/index.js +35 -35
  27. package/dist/{chunk-GZT3NQRA.js → chunk-25FXU6WS.js} +8 -2
  28. package/dist/chunk-25FXU6WS.js.map +1 -0
  29. package/dist/{chunk-OYW3I5M4.js → chunk-2DOCDOPL.js} +6 -6
  30. package/dist/chunk-2DX4JCRI.js +1 -0
  31. package/dist/{chunk-FLPCETP6.js → chunk-2LBS62AC.js} +2 -2
  32. package/dist/{chunk-WXE4W2U6.js → chunk-2ST3WA3C.js} +4 -4
  33. package/dist/{chunk-DQESF6RP.js → chunk-3G3GOGZZ.js} +50 -40
  34. package/dist/chunk-3G3GOGZZ.js.map +1 -0
  35. package/dist/{chunk-O2IMQSNA.js → chunk-3YBIVLTC.js} +2 -2
  36. package/dist/{chunk-LGNDFRYC.js → chunk-4CFHL5RY.js} +1 -1
  37. package/dist/chunk-4CFHL5RY.js.map +1 -0
  38. package/dist/{chunk-DIZLQVAA.js → chunk-4CHM2TRS.js} +2 -2
  39. package/dist/{chunk-V7ADQF5O.js → chunk-4CUJLEOA.js} +4 -4
  40. package/dist/{chunk-3EWS67C7.js → chunk-4TG2ITRW.js} +2 -2
  41. package/dist/{chunk-HS554XAF.js → chunk-5HQFROZS.js} +2 -2
  42. package/dist/{chunk-IUBMZPHM.js → chunk-5ZVE3N5C.js} +5 -6
  43. package/dist/chunk-5ZVE3N5C.js.map +1 -0
  44. package/dist/{chunk-PP3K67AJ.js → chunk-654RE5YC.js} +3 -3
  45. package/dist/{chunk-FOEDQATO.js → chunk-66GD7XXU.js} +2 -2
  46. package/dist/{chunk-BNWA3WG5.js → chunk-72FQ46VW.js} +3 -3
  47. package/dist/{chunk-EYG2CY2X.js → chunk-7JPA3LIH.js} +11 -11
  48. package/dist/chunk-7JPA3LIH.js.map +1 -0
  49. package/dist/{chunk-JQYKPKG6.js → chunk-7K42TSCY.js} +4 -4
  50. package/dist/{chunk-BPWYQ25R.js → chunk-7Q6IU3R7.js} +4 -4
  51. package/dist/{chunk-BPWYQ25R.js.map → chunk-7Q6IU3R7.js.map} +1 -1
  52. package/dist/{chunk-T7IR4N2S.js → chunk-7UHLO4ZN.js} +37 -2
  53. package/dist/chunk-7UHLO4ZN.js.map +1 -0
  54. package/dist/{chunk-UEFOQH74.js → chunk-ADCXTW7L.js} +2 -2
  55. package/dist/{chunk-MBMTND6D.js → chunk-AGGPT4UE.js} +2 -2
  56. package/dist/{chunk-RB4DOPGZ.js → chunk-AKIEBFIJ.js} +10 -10
  57. package/dist/{chunk-VHBKYN2J.js → chunk-B3B6HV5S.js} +2 -2
  58. package/dist/{chunk-JWWYRR4Q.js → chunk-B6EWMGFX.js} +2 -2
  59. package/dist/{chunk-H7JBY4P7.js → chunk-B7Y2BRQA.js} +14 -14
  60. package/dist/chunk-B7Y2BRQA.js.map +1 -0
  61. package/dist/{chunk-4CIQDWRB.js → chunk-BFJE2GPP.js} +14 -8
  62. package/dist/{chunk-4CIQDWRB.js.map → chunk-BFJE2GPP.js.map} +1 -1
  63. package/dist/{chunk-WPOYWFSE.js → chunk-BJRKXNFP.js} +7 -7
  64. package/dist/{chunk-H427H63K.js → chunk-BPQ5CRJF.js} +2 -2
  65. package/dist/{chunk-VFHCKG5M.js → chunk-BVRJYMFZ.js} +3 -3
  66. package/dist/{chunk-244QBK7Z.js → chunk-C4XV3PSJ.js} +4 -4
  67. package/dist/{chunk-244QBK7Z.js.map → chunk-C4XV3PSJ.js.map} +1 -1
  68. package/dist/{chunk-SMV2HRDU.js → chunk-DFC4WTJW.js} +2 -2
  69. package/dist/{chunk-5A4345TG.js → chunk-DMIEKD24.js} +3 -3
  70. package/dist/{chunk-TKVUE4JF.js → chunk-DQAXA2GK.js} +9 -9
  71. package/dist/{chunk-AL6ML4LA.js → chunk-DWCFGF2K.js} +5 -5
  72. package/dist/{chunk-Y3LPTBG7.js → chunk-E2C6FFSI.js} +6 -9
  73. package/dist/chunk-E2C6FFSI.js.map +1 -0
  74. package/dist/{chunk-LNSVGRHO.js → chunk-EQ6C2ZPT.js} +17 -51
  75. package/dist/chunk-EQ6C2ZPT.js.map +1 -0
  76. package/dist/chunk-EZOFTI4K.js +60 -0
  77. package/dist/chunk-EZOFTI4K.js.map +1 -0
  78. package/dist/{chunk-PD64727P.js → chunk-FMINS2B6.js} +2 -2
  79. package/dist/chunk-FMINS2B6.js.map +1 -0
  80. package/dist/{chunk-QBLT6POL.js → chunk-FPF5HRBE.js} +2 -2
  81. package/dist/{chunk-UA372JHH.js → chunk-FZVCZEVI.js} +3 -3
  82. package/dist/chunk-FZVCZEVI.js.map +1 -0
  83. package/dist/{chunk-FFWI7UH7.js → chunk-GAGT3YZN.js} +1 -1
  84. package/dist/chunk-GAGT3YZN.js.map +1 -0
  85. package/dist/{chunk-5WWDGFOS.js → chunk-GIQJGXV7.js} +2 -2
  86. package/dist/{chunk-V3RWOOSO.js → chunk-GYZICGRU.js} +4 -4
  87. package/dist/chunk-GYZICGRU.js.map +1 -0
  88. package/dist/{chunk-BVCUTXE3.js → chunk-H334G6KU.js} +2 -2
  89. package/dist/{chunk-AEQGFRU4.js → chunk-HE7EAHGS.js} +3 -3
  90. package/dist/chunk-HKB4HZDU.js +74 -0
  91. package/dist/chunk-HKB4HZDU.js.map +1 -0
  92. package/dist/{chunk-4V3Q35WG.js → chunk-ICF3TIGY.js} +3 -3
  93. package/dist/{chunk-3L2NBKDR.js → chunk-IF2M43G4.js} +2 -2
  94. package/dist/{chunk-37EPTBBR.js → chunk-IKPQ2GGB.js} +46 -4
  95. package/dist/chunk-IKPQ2GGB.js.map +1 -0
  96. package/dist/{chunk-DHHGL42E.js → chunk-IKS2CPAG.js} +27 -11
  97. package/dist/chunk-IKS2CPAG.js.map +1 -0
  98. package/dist/{chunk-3A5DUZ56.js → chunk-IMIQAGR7.js} +6 -6
  99. package/dist/{chunk-3A5DUZ56.js.map → chunk-IMIQAGR7.js.map} +1 -1
  100. package/dist/{chunk-A4XMIZT3.js → chunk-IQAJ4OR6.js} +41 -6
  101. package/dist/chunk-IQAJ4OR6.js.map +1 -0
  102. package/dist/{chunk-IUT3GWP3.js → chunk-IUD7WU67.js} +17 -93
  103. package/dist/chunk-IUD7WU67.js.map +1 -0
  104. package/dist/{chunk-AUKKUPVB.js → chunk-IVLRPRXM.js} +2 -2
  105. package/dist/{chunk-GUZET4SG.js → chunk-JAQHWHUN.js} +4 -4
  106. package/dist/chunk-JAQHWHUN.js.map +1 -0
  107. package/dist/{chunk-Y2RKVFKR.js → chunk-K4JSTGXT.js} +2 -2
  108. package/dist/{chunk-EJLV62NI.js → chunk-KN4LUMH6.js} +2 -2
  109. package/dist/{chunk-23D6M6VM.js → chunk-KZA3DITX.js} +4 -4
  110. package/dist/{chunk-E2N2T5ZO.js → chunk-L2VM64HK.js} +2 -2
  111. package/dist/chunk-L4UL4IAR.js +55 -0
  112. package/dist/chunk-L4UL4IAR.js.map +1 -0
  113. package/dist/{chunk-UIYESRD6.js → chunk-LUCQY3OM.js} +10 -10
  114. package/dist/{chunk-UIYESRD6.js.map → chunk-LUCQY3OM.js.map} +1 -1
  115. package/dist/{chunk-O46CHQT7.js → chunk-MAQBYBUX.js} +4 -4
  116. package/dist/{chunk-EZOAKKTB.js → chunk-MBPZMZVB.js} +2 -2
  117. package/dist/{chunk-XQRFSKYM.js → chunk-MCNNZBG7.js} +2 -2
  118. package/dist/{chunk-YRXFFWG4.js → chunk-MLVPMDOZ.js} +2 -2
  119. package/dist/{chunk-5FE75J4S.js → chunk-MMCN7TLK.js} +5 -5
  120. package/dist/{chunk-MXOQ5JCG.js → chunk-MRCR7ZMC.js} +686 -202
  121. package/dist/chunk-MRCR7ZMC.js.map +1 -0
  122. package/dist/{chunk-SYNY3VB5.js → chunk-NCTN2FW4.js} +2 -2
  123. package/dist/{chunk-4T3SE27M.js → chunk-ND6S2DKC.js} +2 -2
  124. package/dist/{chunk-3XJQBBZD.js → chunk-NTVKHQ3L.js} +2 -2
  125. package/dist/{chunk-RHVMZSUU.js → chunk-NV4OESHC.js} +1 -1
  126. package/dist/chunk-NV4OESHC.js.map +1 -0
  127. package/dist/chunk-NXQEOC3X.js +40 -0
  128. package/dist/chunk-NXQEOC3X.js.map +1 -0
  129. package/dist/{chunk-Q4UHJ5SN.js → chunk-O2VQ3K36.js} +2 -2
  130. package/dist/{chunk-HW7CMKUG.js → chunk-OFD2HD6F.js} +1 -1
  131. package/dist/{chunk-HW7CMKUG.js.map → chunk-OFD2HD6F.js.map} +1 -1
  132. package/dist/{chunk-2GHDLTPE.js → chunk-OGKMRIIJ.js} +2 -2
  133. package/dist/{chunk-N7EVQD5S.js → chunk-ONZ3B5EW.js} +4 -4
  134. package/dist/{chunk-VKI2EB3N.js → chunk-OOPSMQX5.js} +3 -3
  135. package/dist/{chunk-VMV5SBE4.js → chunk-OYEBSWLE.js} +5 -5
  136. package/dist/{chunk-JDEYF3PJ.js → chunk-P6FATPXQ.js} +2 -2
  137. package/dist/chunk-P6FATPXQ.js.map +1 -0
  138. package/dist/{chunk-VVOLDVIR.js → chunk-PLTIJDQN.js} +2 -2
  139. package/dist/{chunk-OKSTSITU.js → chunk-PR7ILCIH.js} +3 -3
  140. package/dist/{chunk-7R2Q7CPL.js → chunk-QE3TLZ6Z.js} +7 -7
  141. package/dist/{chunk-G2MVBDFP.js → chunk-QFW4MYGN.js} +39 -9
  142. package/dist/chunk-QFW4MYGN.js.map +1 -0
  143. package/dist/{chunk-6QVKPHBF.js → chunk-QHG7GQKM.js} +2 -2
  144. package/dist/chunk-QJNAHPVT.js +91 -0
  145. package/dist/chunk-QJNAHPVT.js.map +1 -0
  146. package/dist/{chunk-LIOVX5TJ.js → chunk-QT5ITL25.js} +3 -3
  147. package/dist/{chunk-IMQKWR46.js → chunk-R2ZULFXU.js} +4 -5
  148. package/dist/chunk-R2ZULFXU.js.map +1 -0
  149. package/dist/{chunk-Q2XRFWOI.js → chunk-RRTQAQ3N.js} +2 -2
  150. package/dist/{chunk-H23XHRTT.js → chunk-RUE6TCES.js} +809 -101
  151. package/dist/chunk-RUE6TCES.js.map +1 -0
  152. package/dist/chunk-RWFQVNXR.js +24 -0
  153. package/dist/chunk-RWFQVNXR.js.map +1 -0
  154. package/dist/{chunk-2PVXF5CS.js → chunk-SALY3LIJ.js} +3 -3
  155. package/dist/{chunk-JOSPH3E5.js → chunk-SBAR5JQ6.js} +2 -2
  156. package/dist/{chunk-N7UDP5VU.js → chunk-SCH2F7R2.js} +7 -7
  157. package/dist/{chunk-MXKI4ABF.js → chunk-SOOAW6HK.js} +3 -3
  158. package/dist/{chunk-VQDZYB2B.js → chunk-T4VTRKCY.js} +3 -3
  159. package/dist/{chunk-VQDZYB2B.js.map → chunk-T4VTRKCY.js.map} +1 -1
  160. package/dist/{chunk-TEHHROZL.js → chunk-T5EXREMW.js} +5 -5
  161. package/dist/{chunk-M5B2W6YY.js → chunk-TDJVQTXD.js} +3 -3
  162. package/dist/{chunk-QMWY2FDS.js → chunk-THQ3BHLM.js} +2 -2
  163. package/dist/{chunk-VAORSCSU.js → chunk-TLIFNRU5.js} +2 -2
  164. package/dist/chunk-TLIFNRU5.js.map +1 -0
  165. package/dist/{chunk-FVH5QYY2.js → chunk-TRHUNPXP.js} +2 -2
  166. package/dist/{chunk-EGVJ7TM4.js → chunk-UL6MTRMJ.js} +8 -9
  167. package/dist/chunk-UL6MTRMJ.js.map +1 -0
  168. package/dist/chunk-UNL6YGL5.js +169 -0
  169. package/dist/chunk-UNL6YGL5.js.map +1 -0
  170. package/dist/{chunk-747G6CT3.js → chunk-UORWAG7K.js} +2 -2
  171. package/dist/{chunk-XSPFDUDG.js → chunk-V7AKGAXY.js} +314 -77
  172. package/dist/chunk-V7AKGAXY.js.map +1 -0
  173. package/dist/{chunk-TZZBXPZK.js → chunk-VLQ6KT7F.js} +2 -2
  174. package/dist/{chunk-NCO25JZO.js → chunk-VP37VUKQ.js} +4 -4
  175. package/dist/{chunk-52MGURXO.js → chunk-WBUHHMLN.js} +2 -2
  176. package/dist/{chunk-EZGV6F47.js → chunk-WRLWEYHY.js} +7 -1
  177. package/dist/chunk-WRLWEYHY.js.map +1 -0
  178. package/dist/{chunk-2MG3SW7Q.js → chunk-X6Z2SIRF.js} +2 -2
  179. package/dist/{chunk-U2FZNEWJ.js → chunk-XLKWF3L4.js} +8 -6
  180. package/dist/{chunk-U2FZNEWJ.js.map → chunk-XLKWF3L4.js.map} +1 -1
  181. package/dist/{chunk-5UMK7GRI.js → chunk-XPNJH7GN.js} +5 -5
  182. package/dist/{chunk-KZXDLBY6.js → chunk-XPW7T2GN.js} +5 -5
  183. package/dist/{chunk-SV2PM2OY.js → chunk-XX4R7TUB.js} +1 -1
  184. package/dist/chunk-XX4R7TUB.js.map +1 -0
  185. package/dist/{chunk-NBQ3KK6X.js → chunk-Y55XHMQB.js} +4 -4
  186. package/dist/chunk-Y55XHMQB.js.map +1 -0
  187. package/dist/{chunk-5KC7QYEC.js → chunk-YH4OUOSI.js} +33 -7
  188. package/dist/chunk-YH4OUOSI.js.map +1 -0
  189. package/dist/{chunk-FFJFE4T7.js → chunk-YJGKOSQD.js} +2 -2
  190. package/dist/{chunk-2AFX33YA.js → chunk-Z3STG43F.js} +3 -3
  191. package/dist/chunk-Z3STG43F.js.map +1 -0
  192. package/dist/{chunk-OIEO4WDL.js → chunk-ZD7WFMV2.js} +2 -2
  193. package/dist/chunk-ZD7WFMV2.js.map +1 -0
  194. package/dist/{chunk-42ALPZ2B.js → chunk-ZF6JECDT.js} +4 -4
  195. package/dist/{chunk-42ALPZ2B.js.map → chunk-ZF6JECDT.js.map} +1 -1
  196. package/dist/{chunk-4JPMZTJY.js → chunk-ZF7KNSLU.js} +2 -2
  197. package/dist/{chunk-2ODVB6LZ.js → chunk-ZGKODRGB.js} +2 -2
  198. package/dist/{chunk-JIBUPZHA.js → chunk-ZNEKQFGF.js} +4 -4
  199. package/dist/{chunk-DLD5LGDS.js → chunk-ZUTUNVFD.js} +3 -3
  200. package/dist/{chunk-JSMTXZR3.js → chunk-ZWMOHANW.js} +8 -6
  201. package/dist/chunk-ZWMOHANW.js.map +1 -0
  202. package/dist/{chunk-MILI22XQ.js → chunk-ZZZ4VCY2.js} +10 -10
  203. package/dist/chunk-ZZZ4VCY2.js.map +1 -0
  204. package/dist/classified/index.js +5 -5
  205. package/dist/{classified-marker-SIYKUU5L.js → classified-marker-WKP33U2R.js} +3 -3
  206. package/dist/collection-facade-COSGZKLC.js +41 -0
  207. package/dist/{computed-FAD7SED4.js → computed-WN6V53ZV.js} +3 -3
  208. package/dist/consent/index.js +8 -8
  209. package/dist/cover/index.js +8 -8
  210. package/dist/coverage/index.js +1 -1
  211. package/dist/custody/index.js +12 -11
  212. package/dist/{dead-filter-4F3LWYKH.js → dead-filter-43WL3Y5H.js} +10 -10
  213. package/dist/debug/index.js +7 -7
  214. package/dist/delegation-5UWT4JGT.js +26 -0
  215. package/dist/derivations/index.js +24 -23
  216. package/dist/derive-IL5JNLEE.js +20 -0
  217. package/dist/directory/index.js +9 -9
  218. package/dist/{dispatch-JDZNGEB3.js → dispatch-LOQQD5JK.js} +20 -20
  219. package/dist/{dispatch-H4HV32AM.js → dispatch-SHKTG57L.js} +5 -5
  220. package/dist/executor-6PQ7WAGV.js +35 -0
  221. package/dist/executor-6ZPQA6HS.js +8 -0
  222. package/dist/executor-OXRA64TY.js +8 -0
  223. package/dist/export-accessible-XG3FKJWW.js +22 -0
  224. package/dist/extract-partition-33747NY5.js +35 -0
  225. package/dist/{fanout-sidecar-L7NHPIOC.js → fanout-sidecar-NEB6IYV7.js} +8 -8
  226. package/dist/find-VW543G3J.js +10 -0
  227. package/dist/forget/index.js +25 -8
  228. package/dist/forget/index.js.map +1 -1
  229. package/dist/guards/index.js +4 -4
  230. package/dist/history/index.js +15 -13
  231. package/dist/history/index.js.map +1 -1
  232. package/dist/i18n/index.js +13 -13
  233. package/dist/index.d.ts +9 -6
  234. package/dist/index.js +126 -110
  235. package/dist/index.js.map +1 -1
  236. package/dist/indexing/index.js +6 -6
  237. package/dist/introspection/index.js +15 -11
  238. package/dist/issue-4ZPSY44M.js +19 -0
  239. package/dist/kernel/cache/index.d.ts +1 -1
  240. package/dist/kernel/collection.d.ts +86 -6
  241. package/dist/kernel/constants.d.ts +7 -0
  242. package/dist/kernel/errors.d.ts +42 -4
  243. package/dist/kernel/export-scope.d.ts +40 -0
  244. package/dist/kernel/merge-authority.d.ts +5 -1
  245. package/dist/kernel/noydb.d.ts +118 -21
  246. package/dist/kernel/put-many-atomic.d.ts +1 -1
  247. package/dist/kernel/query/live/live.d.ts +2 -1
  248. package/dist/kernel/query/sort-key.d.ts +0 -2
  249. package/dist/kernel/rejection-seal.d.ts +13 -0
  250. package/dist/kernel/sync-wiring.d.ts +55 -0
  251. package/dist/kernel/tx-write-gate.d.ts +2 -4
  252. package/dist/kernel/types.d.ts +463 -14
  253. package/dist/kernel/validation.d.ts +0 -10
  254. package/dist/kernel/vault.d.ts +42 -4
  255. package/dist/kernel/via/reconcile.d.ts +1 -42
  256. package/dist/{ledger-5ZMGE44K.js → ledger-MZ25UFT2.js} +10 -10
  257. package/dist/liberate-OJIP2ZFX.js +25 -0
  258. package/dist/{link-set-MFXC24VK.js → link-set-4FRRAVTH.js} +10 -10
  259. package/dist/{managed-secret-MFTFT22X.js → managed-secret-SQWO2EUR.js} +9 -9
  260. package/dist/materialized-views/index.js +26 -26
  261. package/dist/{migrate-cek-DZRFFOHW.js → migrate-cek-JWEM4RP6.js} +2 -2
  262. package/dist/money/index.js +5 -5
  263. package/dist/noydb-U62OVKXB.js +100 -0
  264. package/dist/on/index.js +25 -0
  265. package/dist/overlay-views/index.js +4 -4
  266. package/dist/periods/index.js +11 -11
  267. package/dist/pod/index.js +71 -67
  268. package/dist/{pod-handle-A3LET7NO.js → pod-handle-R6Y4MILX.js} +8 -8
  269. package/dist/policy/index.js +9 -9
  270. package/dist/port/as/active.d.ts +4 -0
  271. package/dist/port/as/index.d.ts +1 -0
  272. package/dist/port/by/index.d.ts +14 -5
  273. package/dist/port/on/index.d.ts +26 -0
  274. package/dist/port/to/index.d.ts +1 -1
  275. package/dist/port/with/admission-authority.d.ts +34 -0
  276. package/dist/port/with/broker-strategy.d.ts +24 -0
  277. package/dist/port/with/coverage-strategy.d.ts +17 -1
  278. package/dist/port/with/formats-strategy.d.ts +34 -1
  279. package/dist/port/with/lookup-strategy.d.ts +85 -4
  280. package/dist/port/with/rejection-courier.d.ts +37 -0
  281. package/dist/port/with/restore-host.d.ts +33 -0
  282. package/dist/port/with/service-bus.d.ts +20 -1
  283. package/dist/port/with/team-strategy.d.ts +2 -2
  284. package/dist/port/with/write-hooks.d.ts +2 -0
  285. package/dist/portability/index.js +8 -8
  286. package/dist/{post-register-7ND27CF2.js → post-register-GRVQHBOH.js} +6 -6
  287. package/dist/query/all/index.js +16 -16
  288. package/dist/query/index.js +8 -8
  289. package/dist/query/live/index.js +7 -7
  290. package/dist/query/reduce/index.js +10 -10
  291. package/dist/query/relate/index.js +10 -10
  292. package/dist/reduce/index.js +8 -8
  293. package/dist/register-YJ5YLQ36.js +30 -0
  294. package/dist/registry-ICOHBQFD.js +8 -0
  295. package/dist/registry-MJ7MWCSW.js +35 -0
  296. package/dist/registry-MVEKKGWL.js +23 -0
  297. package/dist/registry-XP744FAP.js +8 -0
  298. package/dist/request-withdrawal-LSU4G6W3.js +28 -0
  299. package/dist/restore-to-DVBHAQAA.js +66 -0
  300. package/dist/restore-to-DVBHAQAA.js.map +1 -0
  301. package/dist/{reveal-B2TLP4JQ.js → reveal-AIHOIK2N.js} +7 -7
  302. package/dist/revoke-QUT7WWG3.js +24 -0
  303. package/dist/satellites/index.js +1 -1
  304. package/dist/schema-update/index.js +2 -2
  305. package/dist/sealed-record/index.js +11 -11
  306. package/dist/search/index.js +4 -4
  307. package/dist/{seed-XNSE4U3S.js → seed-GFLA4FCK.js} +136 -27
  308. package/dist/seed-GFLA4FCK.js.map +1 -0
  309. package/dist/sequence/index.js +8 -8
  310. package/dist/session/index.js +8 -8
  311. package/dist/shadow/index.js +2 -2
  312. package/dist/signer-NYR4I3FO.js +23 -0
  313. package/dist/snapshots/index.js +9 -9
  314. package/dist/{stale-6GCFMOOR.js → stale-PIJPAL5T.js} +9 -9
  315. package/dist/storage-VH6SPXHC.js +21 -0
  316. package/dist/{store-coordination-provider-C4BPT5XF.js → store-coordination-provider-2KSHCOPU.js} +9 -9
  317. package/dist/sync/index.js +19 -13
  318. package/dist/sync/index.js.map +1 -1
  319. package/dist/team/index.js +17 -15
  320. package/dist/tiers/index.js +10 -10
  321. package/dist/to/index.js +2 -2
  322. package/dist/transactions/index.js +3 -3
  323. package/dist/util/index.js +1 -1
  324. package/dist/vault-head/index.js +8 -8
  325. package/dist/{verify-UKALW7C2.js → verify-PCFS4PNS.js} +7 -7
  326. package/dist/via/classified/presets.d.ts +29 -0
  327. package/dist/via/classified/resolve.d.ts +7 -0
  328. package/dist/via/geo/binding.d.ts +0 -4
  329. package/dist/via/lookup/index.d.ts +32 -0
  330. package/dist/via/money/binding.d.ts +0 -9
  331. package/dist/walk-OZCN6LJS.js +20 -0
  332. package/dist/with-audit/attestation/strategy.d.ts +2 -1
  333. package/dist/with-audit/attestation/vault-facade.d.ts +7 -0
  334. package/dist/with-audit/forget/completeness.d.ts +66 -0
  335. package/dist/with-audit/forget/index.d.ts +2 -0
  336. package/dist/with-audit/forget/strategy.d.ts +65 -0
  337. package/dist/with-audit/guards/types.d.ts +2 -0
  338. package/dist/with-audit/periods/periods.d.ts +0 -9
  339. package/dist/with-audit/periods/reserved-collections.d.ts +7 -0
  340. package/dist/with-audit/portability/request-withdrawal.d.ts +0 -1
  341. package/dist/with-audit/portability/withdraw-accessible.d.ts +0 -1
  342. package/dist/with-audit/tiers/index.d.ts +6 -6
  343. package/dist/with-audit/tiers/strategy.d.ts +19 -0
  344. package/dist/with-cargo/extract-partition.d.ts +0 -46
  345. package/dist/with-commit/history/history.d.ts +16 -0
  346. package/dist/with-commit/history/restore-to.d.ts +40 -0
  347. package/dist/with-commit/numbering/index.d.ts +0 -2
  348. package/dist/with-commit/tx/transaction.d.ts +2 -24
  349. package/dist/with-commit/vault-head/strategy.d.ts +7 -0
  350. package/dist/with-fork/snapshots/noydb-facade.d.ts +7 -0
  351. package/dist/with-formula/derivations/trigger-match.d.ts +8 -5
  352. package/dist/with-formula/materialized-views/emit-memo.d.ts +0 -2
  353. package/dist/with-lookup/embeddings/index.d.ts +1 -2
  354. package/dist/with-lookup/indexing/collection-facade.d.ts +1 -15
  355. package/dist/with-lookup/indexing/eager-indexes.d.ts +2 -1
  356. package/dist/with-lookup/search/collection-facade.d.ts +0 -12
  357. package/dist/with-party/broker/index.d.ts +2 -2
  358. package/dist/with-party/broker/seed.d.ts +29 -10
  359. package/dist/with-party/custody/strategy.d.ts +2 -2
  360. package/dist/with-party/policy/noydb-facade.d.ts +1 -31
  361. package/dist/with-party/team/delegation.d.ts +93 -7
  362. package/dist/with-party/team/echo-secret.d.ts +0 -2
  363. package/dist/with-party/team/index.d.ts +2 -0
  364. package/dist/with-party/team/keyring.d.ts +133 -24
  365. package/dist/with-party/team/magic-link-grant.d.ts +11 -1
  366. package/dist/with-party/team/noydb-facade.d.ts +19 -2
  367. package/dist/with-party/team/reserved-secret-collections.d.ts +10 -8
  368. package/dist/with-party/team/roster-tag.d.ts +42 -1
  369. package/dist/with-party/team/tiers.d.ts +36 -5
  370. package/dist/with-pod/backup.d.ts +9 -17
  371. package/dist/with-shape/blobs/blob-set.d.ts +23 -0
  372. package/dist/with-shape/blobs/legacy-sweep.d.ts +16 -0
  373. package/dist/with-shape/introspection/describe.d.ts +1 -2
  374. package/dist/with-shape/introspection/index.d.ts +1 -0
  375. package/dist/with-shape/introspection/types.d.ts +2 -1
  376. package/dist/with-shape/schema-update/fence.d.ts +7 -0
  377. package/dist/with-sync/active.d.ts +28 -1
  378. package/dist/with-sync/engine.d.ts +88 -2
  379. package/dist/with-sync/index.d.ts +1 -0
  380. package/dist/with-sync/reserved-mirror.d.ts +112 -0
  381. package/dist/with-sync/strategy.d.ts +9 -0
  382. package/dist/with-sync/tab-write-relay.d.ts +0 -10
  383. package/dist/withdraw-accessible-MTFP7OIB.js +25 -0
  384. package/dist/withdraw-accessible-MTFP7OIB.js.map +1 -0
  385. package/package.json +3 -3
  386. package/dist/api-OS747DS4.js +0 -18
  387. package/dist/backup-YE2VQ26S.js.map +0 -1
  388. package/dist/chunk-2AFX33YA.js.map +0 -1
  389. package/dist/chunk-2RH777HH.js +0 -126
  390. package/dist/chunk-2RH777HH.js.map +0 -1
  391. package/dist/chunk-37EPTBBR.js.map +0 -1
  392. package/dist/chunk-5KC7QYEC.js.map +0 -1
  393. package/dist/chunk-7XMHMVTS.js +0 -20
  394. package/dist/chunk-7XMHMVTS.js.map +0 -1
  395. package/dist/chunk-A4XMIZT3.js.map +0 -1
  396. package/dist/chunk-DHHGL42E.js.map +0 -1
  397. package/dist/chunk-DQESF6RP.js.map +0 -1
  398. package/dist/chunk-EGVJ7TM4.js.map +0 -1
  399. package/dist/chunk-EYG2CY2X.js.map +0 -1
  400. package/dist/chunk-EZGV6F47.js.map +0 -1
  401. package/dist/chunk-FFWI7UH7.js.map +0 -1
  402. package/dist/chunk-G2MVBDFP.js.map +0 -1
  403. package/dist/chunk-GUZET4SG.js.map +0 -1
  404. package/dist/chunk-GZT3NQRA.js.map +0 -1
  405. package/dist/chunk-H23XHRTT.js.map +0 -1
  406. package/dist/chunk-H7JBY4P7.js.map +0 -1
  407. package/dist/chunk-IMQKWR46.js.map +0 -1
  408. package/dist/chunk-IUBMZPHM.js.map +0 -1
  409. package/dist/chunk-IUT3GWP3.js.map +0 -1
  410. package/dist/chunk-JDEYF3PJ.js.map +0 -1
  411. package/dist/chunk-JSMTXZR3.js.map +0 -1
  412. package/dist/chunk-LGNDFRYC.js.map +0 -1
  413. package/dist/chunk-LNSVGRHO.js.map +0 -1
  414. package/dist/chunk-MILI22XQ.js.map +0 -1
  415. package/dist/chunk-MXOQ5JCG.js.map +0 -1
  416. package/dist/chunk-NBQ3KK6X.js.map +0 -1
  417. package/dist/chunk-OIEO4WDL.js.map +0 -1
  418. package/dist/chunk-PD64727P.js.map +0 -1
  419. package/dist/chunk-RHVMZSUU.js.map +0 -1
  420. package/dist/chunk-SV2PM2OY.js.map +0 -1
  421. package/dist/chunk-T7IR4N2S.js.map +0 -1
  422. package/dist/chunk-UA372JHH.js.map +0 -1
  423. package/dist/chunk-UBSFPGVJ.js +0 -1
  424. package/dist/chunk-V3RWOOSO.js.map +0 -1
  425. package/dist/chunk-VAORSCSU.js.map +0 -1
  426. package/dist/chunk-XSPFDUDG.js.map +0 -1
  427. package/dist/chunk-Y3LPTBG7.js.map +0 -1
  428. package/dist/collection-facade-CS7CA2XO.js +0 -47
  429. package/dist/delegation-NANZDG4N.js +0 -102
  430. package/dist/delegation-NANZDG4N.js.map +0 -1
  431. package/dist/derive-XLOJVXPU.js +0 -20
  432. package/dist/executor-FMPVN6DT.js +0 -35
  433. package/dist/executor-LBBBRTN5.js +0 -8
  434. package/dist/executor-OSRZST2U.js +0 -8
  435. package/dist/export-accessible-RAOJAAU5.js +0 -22
  436. package/dist/extract-partition-JD5CUSTG.js +0 -37
  437. package/dist/find-JRN4RNQ5.js +0 -10
  438. package/dist/issue-YIVBZUTH.js +0 -19
  439. package/dist/liberate-WZSZM2W6.js +0 -24
  440. package/dist/noydb-ITIGNKUF.js +0 -96
  441. package/dist/register-DT5HZ2LZ.js +0 -30
  442. package/dist/registry-BHRZGZHF.js +0 -8
  443. package/dist/registry-ET6ZFFWA.js +0 -34
  444. package/dist/registry-HXFGLGTG.js +0 -8
  445. package/dist/registry-THCPDEOD.js +0 -23
  446. package/dist/request-withdrawal-AV2MJJKY.js +0 -30
  447. package/dist/revoke-6DWIEOCV.js +0 -24
  448. package/dist/seed-XNSE4U3S.js.map +0 -1
  449. package/dist/signer-MHGW3OIL.js +0 -23
  450. package/dist/storage-BYN5LO6Z.js +0 -21
  451. package/dist/walk-4VPK7AS4.js +0 -20
  452. package/dist/withdraw-accessible-HL7GACUE.js +0 -27
  453. /package/dist/{api-OS747DS4.js.map → api-6EFD43KN.js.map} +0 -0
  454. /package/dist/{capsule-VOLX3QRQ.js.map → capsule-6LJAVQNM.js.map} +0 -0
  455. /package/dist/{chunk-OYW3I5M4.js.map → chunk-2DOCDOPL.js.map} +0 -0
  456. /package/dist/{chunk-UBSFPGVJ.js.map → chunk-2DX4JCRI.js.map} +0 -0
  457. /package/dist/{chunk-FLPCETP6.js.map → chunk-2LBS62AC.js.map} +0 -0
  458. /package/dist/{chunk-WXE4W2U6.js.map → chunk-2ST3WA3C.js.map} +0 -0
  459. /package/dist/{chunk-O2IMQSNA.js.map → chunk-3YBIVLTC.js.map} +0 -0
  460. /package/dist/{chunk-DIZLQVAA.js.map → chunk-4CHM2TRS.js.map} +0 -0
  461. /package/dist/{chunk-V7ADQF5O.js.map → chunk-4CUJLEOA.js.map} +0 -0
  462. /package/dist/{chunk-3EWS67C7.js.map → chunk-4TG2ITRW.js.map} +0 -0
  463. /package/dist/{chunk-HS554XAF.js.map → chunk-5HQFROZS.js.map} +0 -0
  464. /package/dist/{chunk-PP3K67AJ.js.map → chunk-654RE5YC.js.map} +0 -0
  465. /package/dist/{chunk-FOEDQATO.js.map → chunk-66GD7XXU.js.map} +0 -0
  466. /package/dist/{chunk-BNWA3WG5.js.map → chunk-72FQ46VW.js.map} +0 -0
  467. /package/dist/{chunk-JQYKPKG6.js.map → chunk-7K42TSCY.js.map} +0 -0
  468. /package/dist/{chunk-UEFOQH74.js.map → chunk-ADCXTW7L.js.map} +0 -0
  469. /package/dist/{chunk-MBMTND6D.js.map → chunk-AGGPT4UE.js.map} +0 -0
  470. /package/dist/{chunk-RB4DOPGZ.js.map → chunk-AKIEBFIJ.js.map} +0 -0
  471. /package/dist/{chunk-VHBKYN2J.js.map → chunk-B3B6HV5S.js.map} +0 -0
  472. /package/dist/{chunk-JWWYRR4Q.js.map → chunk-B6EWMGFX.js.map} +0 -0
  473. /package/dist/{chunk-WPOYWFSE.js.map → chunk-BJRKXNFP.js.map} +0 -0
  474. /package/dist/{chunk-H427H63K.js.map → chunk-BPQ5CRJF.js.map} +0 -0
  475. /package/dist/{chunk-VFHCKG5M.js.map → chunk-BVRJYMFZ.js.map} +0 -0
  476. /package/dist/{chunk-SMV2HRDU.js.map → chunk-DFC4WTJW.js.map} +0 -0
  477. /package/dist/{chunk-5A4345TG.js.map → chunk-DMIEKD24.js.map} +0 -0
  478. /package/dist/{chunk-TKVUE4JF.js.map → chunk-DQAXA2GK.js.map} +0 -0
  479. /package/dist/{chunk-AL6ML4LA.js.map → chunk-DWCFGF2K.js.map} +0 -0
  480. /package/dist/{chunk-QBLT6POL.js.map → chunk-FPF5HRBE.js.map} +0 -0
  481. /package/dist/{chunk-5WWDGFOS.js.map → chunk-GIQJGXV7.js.map} +0 -0
  482. /package/dist/{chunk-BVCUTXE3.js.map → chunk-H334G6KU.js.map} +0 -0
  483. /package/dist/{chunk-AEQGFRU4.js.map → chunk-HE7EAHGS.js.map} +0 -0
  484. /package/dist/{chunk-4V3Q35WG.js.map → chunk-ICF3TIGY.js.map} +0 -0
  485. /package/dist/{chunk-3L2NBKDR.js.map → chunk-IF2M43G4.js.map} +0 -0
  486. /package/dist/{chunk-AUKKUPVB.js.map → chunk-IVLRPRXM.js.map} +0 -0
  487. /package/dist/{chunk-Y2RKVFKR.js.map → chunk-K4JSTGXT.js.map} +0 -0
  488. /package/dist/{chunk-EJLV62NI.js.map → chunk-KN4LUMH6.js.map} +0 -0
  489. /package/dist/{chunk-23D6M6VM.js.map → chunk-KZA3DITX.js.map} +0 -0
  490. /package/dist/{chunk-E2N2T5ZO.js.map → chunk-L2VM64HK.js.map} +0 -0
  491. /package/dist/{chunk-O46CHQT7.js.map → chunk-MAQBYBUX.js.map} +0 -0
  492. /package/dist/{chunk-EZOAKKTB.js.map → chunk-MBPZMZVB.js.map} +0 -0
  493. /package/dist/{chunk-XQRFSKYM.js.map → chunk-MCNNZBG7.js.map} +0 -0
  494. /package/dist/{chunk-YRXFFWG4.js.map → chunk-MLVPMDOZ.js.map} +0 -0
  495. /package/dist/{chunk-5FE75J4S.js.map → chunk-MMCN7TLK.js.map} +0 -0
  496. /package/dist/{chunk-SYNY3VB5.js.map → chunk-NCTN2FW4.js.map} +0 -0
  497. /package/dist/{chunk-4T3SE27M.js.map → chunk-ND6S2DKC.js.map} +0 -0
  498. /package/dist/{chunk-3XJQBBZD.js.map → chunk-NTVKHQ3L.js.map} +0 -0
  499. /package/dist/{chunk-Q4UHJ5SN.js.map → chunk-O2VQ3K36.js.map} +0 -0
  500. /package/dist/{chunk-2GHDLTPE.js.map → chunk-OGKMRIIJ.js.map} +0 -0
  501. /package/dist/{chunk-N7EVQD5S.js.map → chunk-ONZ3B5EW.js.map} +0 -0
  502. /package/dist/{chunk-VKI2EB3N.js.map → chunk-OOPSMQX5.js.map} +0 -0
  503. /package/dist/{chunk-VMV5SBE4.js.map → chunk-OYEBSWLE.js.map} +0 -0
  504. /package/dist/{chunk-VVOLDVIR.js.map → chunk-PLTIJDQN.js.map} +0 -0
  505. /package/dist/{chunk-OKSTSITU.js.map → chunk-PR7ILCIH.js.map} +0 -0
  506. /package/dist/{chunk-7R2Q7CPL.js.map → chunk-QE3TLZ6Z.js.map} +0 -0
  507. /package/dist/{chunk-6QVKPHBF.js.map → chunk-QHG7GQKM.js.map} +0 -0
  508. /package/dist/{chunk-LIOVX5TJ.js.map → chunk-QT5ITL25.js.map} +0 -0
  509. /package/dist/{chunk-Q2XRFWOI.js.map → chunk-RRTQAQ3N.js.map} +0 -0
  510. /package/dist/{chunk-2PVXF5CS.js.map → chunk-SALY3LIJ.js.map} +0 -0
  511. /package/dist/{chunk-JOSPH3E5.js.map → chunk-SBAR5JQ6.js.map} +0 -0
  512. /package/dist/{chunk-N7UDP5VU.js.map → chunk-SCH2F7R2.js.map} +0 -0
  513. /package/dist/{chunk-MXKI4ABF.js.map → chunk-SOOAW6HK.js.map} +0 -0
  514. /package/dist/{chunk-TEHHROZL.js.map → chunk-T5EXREMW.js.map} +0 -0
  515. /package/dist/{chunk-M5B2W6YY.js.map → chunk-TDJVQTXD.js.map} +0 -0
  516. /package/dist/{chunk-QMWY2FDS.js.map → chunk-THQ3BHLM.js.map} +0 -0
  517. /package/dist/{chunk-FVH5QYY2.js.map → chunk-TRHUNPXP.js.map} +0 -0
  518. /package/dist/{chunk-747G6CT3.js.map → chunk-UORWAG7K.js.map} +0 -0
  519. /package/dist/{chunk-TZZBXPZK.js.map → chunk-VLQ6KT7F.js.map} +0 -0
  520. /package/dist/{chunk-NCO25JZO.js.map → chunk-VP37VUKQ.js.map} +0 -0
  521. /package/dist/{chunk-52MGURXO.js.map → chunk-WBUHHMLN.js.map} +0 -0
  522. /package/dist/{chunk-2MG3SW7Q.js.map → chunk-X6Z2SIRF.js.map} +0 -0
  523. /package/dist/{chunk-5UMK7GRI.js.map → chunk-XPNJH7GN.js.map} +0 -0
  524. /package/dist/{chunk-KZXDLBY6.js.map → chunk-XPW7T2GN.js.map} +0 -0
  525. /package/dist/{chunk-FFJFE4T7.js.map → chunk-YJGKOSQD.js.map} +0 -0
  526. /package/dist/{chunk-4JPMZTJY.js.map → chunk-ZF7KNSLU.js.map} +0 -0
  527. /package/dist/{chunk-2ODVB6LZ.js.map → chunk-ZGKODRGB.js.map} +0 -0
  528. /package/dist/{chunk-JIBUPZHA.js.map → chunk-ZNEKQFGF.js.map} +0 -0
  529. /package/dist/{chunk-DLD5LGDS.js.map → chunk-ZUTUNVFD.js.map} +0 -0
  530. /package/dist/{classified-marker-SIYKUU5L.js.map → classified-marker-WKP33U2R.js.map} +0 -0
  531. /package/dist/{collection-facade-CS7CA2XO.js.map → collection-facade-COSGZKLC.js.map} +0 -0
  532. /package/dist/{computed-FAD7SED4.js.map → computed-WN6V53ZV.js.map} +0 -0
  533. /package/dist/{dead-filter-4F3LWYKH.js.map → dead-filter-43WL3Y5H.js.map} +0 -0
  534. /package/dist/{derive-XLOJVXPU.js.map → delegation-5UWT4JGT.js.map} +0 -0
  535. /package/dist/{executor-FMPVN6DT.js.map → derive-IL5JNLEE.js.map} +0 -0
  536. /package/dist/{dispatch-JDZNGEB3.js.map → dispatch-LOQQD5JK.js.map} +0 -0
  537. /package/dist/{dispatch-H4HV32AM.js.map → dispatch-SHKTG57L.js.map} +0 -0
  538. /package/dist/{executor-LBBBRTN5.js.map → executor-6PQ7WAGV.js.map} +0 -0
  539. /package/dist/{executor-OSRZST2U.js.map → executor-6ZPQA6HS.js.map} +0 -0
  540. /package/dist/{export-accessible-RAOJAAU5.js.map → executor-OXRA64TY.js.map} +0 -0
  541. /package/dist/{extract-partition-JD5CUSTG.js.map → export-accessible-XG3FKJWW.js.map} +0 -0
  542. /package/dist/{find-JRN4RNQ5.js.map → extract-partition-33747NY5.js.map} +0 -0
  543. /package/dist/{fanout-sidecar-L7NHPIOC.js.map → fanout-sidecar-NEB6IYV7.js.map} +0 -0
  544. /package/dist/{issue-YIVBZUTH.js.map → find-VW543G3J.js.map} +0 -0
  545. /package/dist/{ledger-5ZMGE44K.js.map → issue-4ZPSY44M.js.map} +0 -0
  546. /package/dist/{liberate-WZSZM2W6.js.map → ledger-MZ25UFT2.js.map} +0 -0
  547. /package/dist/{link-set-MFXC24VK.js.map → liberate-OJIP2ZFX.js.map} +0 -0
  548. /package/dist/{managed-secret-MFTFT22X.js.map → link-set-4FRRAVTH.js.map} +0 -0
  549. /package/dist/{noydb-ITIGNKUF.js.map → managed-secret-SQWO2EUR.js.map} +0 -0
  550. /package/dist/{migrate-cek-DZRFFOHW.js.map → migrate-cek-JWEM4RP6.js.map} +0 -0
  551. /package/dist/{register-DT5HZ2LZ.js.map → noydb-U62OVKXB.js.map} +0 -0
  552. /package/dist/{pod-handle-A3LET7NO.js.map → pod-handle-R6Y4MILX.js.map} +0 -0
  553. /package/dist/{post-register-7ND27CF2.js.map → post-register-GRVQHBOH.js.map} +0 -0
  554. /package/dist/{registry-BHRZGZHF.js.map → register-YJ5YLQ36.js.map} +0 -0
  555. /package/dist/{registry-ET6ZFFWA.js.map → registry-ICOHBQFD.js.map} +0 -0
  556. /package/dist/{registry-HXFGLGTG.js.map → registry-MJ7MWCSW.js.map} +0 -0
  557. /package/dist/{registry-THCPDEOD.js.map → registry-MVEKKGWL.js.map} +0 -0
  558. /package/dist/{request-withdrawal-AV2MJJKY.js.map → registry-XP744FAP.js.map} +0 -0
  559. /package/dist/{revoke-6DWIEOCV.js.map → request-withdrawal-LSU4G6W3.js.map} +0 -0
  560. /package/dist/{reveal-B2TLP4JQ.js.map → reveal-AIHOIK2N.js.map} +0 -0
  561. /package/dist/{signer-MHGW3OIL.js.map → revoke-QUT7WWG3.js.map} +0 -0
  562. /package/dist/{stale-6GCFMOOR.js.map → signer-NYR4I3FO.js.map} +0 -0
  563. /package/dist/{storage-BYN5LO6Z.js.map → stale-PIJPAL5T.js.map} +0 -0
  564. /package/dist/{walk-4VPK7AS4.js.map → storage-VH6SPXHC.js.map} +0 -0
  565. /package/dist/{store-coordination-provider-C4BPT5XF.js.map → store-coordination-provider-2KSHCOPU.js.map} +0 -0
  566. /package/dist/{verify-UKALW7C2.js.map → verify-PCFS4PNS.js.map} +0 -0
  567. /package/dist/{withdraw-accessible-HL7GACUE.js.map → walk-OZCN6LJS.js.map} +0 -0
@@ -8,15 +8,15 @@ import {
8
8
  decodeIdxId,
9
9
  encodeIdxId,
10
10
  isIdxId
11
- } from "../chunk-V7ADQF5O.js";
11
+ } from "../chunk-4CUJLEOA.js";
12
12
  import {
13
13
  CollectionIndexes
14
- } from "../chunk-2AFX33YA.js";
14
+ } from "../chunk-Z3STG43F.js";
15
15
  import "../chunk-SUZKW6UR.js";
16
- import "../chunk-LGNDFRYC.js";
17
- import "../chunk-5WWDGFOS.js";
18
- import "../chunk-SYNY3VB5.js";
19
- import "../chunk-37EPTBBR.js";
16
+ import "../chunk-4CFHL5RY.js";
17
+ import "../chunk-GIQJGXV7.js";
18
+ import "../chunk-NCTN2FW4.js";
19
+ import "../chunk-IKPQ2GGB.js";
20
20
 
21
21
  // src/with-lookup/indexing/active.ts
22
22
  function withIndexing() {
@@ -1,26 +1,30 @@
1
- import "../chunk-UBSFPGVJ.js";
1
+ import "../chunk-2DX4JCRI.js";
2
2
  import {
3
3
  dumpVaultSchema
4
- } from "../chunk-PP3K67AJ.js";
4
+ } from "../chunk-654RE5YC.js";
5
5
  import {
6
6
  applyListProjection
7
7
  } from "../chunk-VG2ZSFYD.js";
8
8
  import "../chunk-RXLYKVTF.js";
9
+ import {
10
+ FieldMetaUnknownFieldError
11
+ } from "../chunk-QJNAHPVT.js";
9
12
  import {
10
13
  jsonSchemaToFields
11
14
  } from "../chunk-VYYM3MEN.js";
12
- import "../chunk-747G6CT3.js";
15
+ import "../chunk-UORWAG7K.js";
13
16
  import "../chunk-Y2NBBT6K.js";
14
- import "../chunk-3L2NBKDR.js";
15
- import "../chunk-EZGV6F47.js";
16
- import "../chunk-OIEO4WDL.js";
17
- import "../chunk-Q2XRFWOI.js";
17
+ import "../chunk-IF2M43G4.js";
18
+ import "../chunk-WRLWEYHY.js";
19
+ import "../chunk-ZD7WFMV2.js";
20
+ import "../chunk-RRTQAQ3N.js";
18
21
  import "../chunk-NH2UOV3B.js";
19
- import "../chunk-42ALPZ2B.js";
20
- import "../chunk-QMWY2FDS.js";
21
- import "../chunk-SV2PM2OY.js";
22
- import "../chunk-37EPTBBR.js";
22
+ import "../chunk-ZF6JECDT.js";
23
+ import "../chunk-THQ3BHLM.js";
24
+ import "../chunk-XX4R7TUB.js";
25
+ import "../chunk-IKPQ2GGB.js";
23
26
  export {
27
+ FieldMetaUnknownFieldError,
24
28
  applyListProjection,
25
29
  dumpVaultSchema,
26
30
  jsonSchemaToFields
@@ -0,0 +1,19 @@
1
+ import {
2
+ issueAttestationCore
3
+ } from "./chunk-OYEBSWLE.js";
4
+ import "./chunk-B6EWMGFX.js";
5
+ import "./chunk-ZUTUNVFD.js";
6
+ import "./chunk-GMKGGY7V.js";
7
+ import "./chunk-4AOERLTV.js";
8
+ import "./chunk-WRLWEYHY.js";
9
+ import "./chunk-ZD7WFMV2.js";
10
+ import "./chunk-RRTQAQ3N.js";
11
+ import "./chunk-NH2UOV3B.js";
12
+ import "./chunk-ZF6JECDT.js";
13
+ import "./chunk-THQ3BHLM.js";
14
+ import "./chunk-XX4R7TUB.js";
15
+ import "./chunk-IKPQ2GGB.js";
16
+ export {
17
+ issueAttestationCore
18
+ };
19
+ //# sourceMappingURL=issue-4ZPSY44M.js.map
@@ -6,5 +6,5 @@
6
6
  * entry point.
7
7
  */
8
8
  export { Lru } from './lru.js';
9
- export type { LruEntry, LruOptions, LruStats } from './lru.js';
9
+ export type { LruOptions, LruStats } from './lru.js';
10
10
  export { parseBytes, estimateRecordBytes } from './policy.js';
@@ -666,6 +666,38 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
666
666
  * never half-writes the receiver.
667
667
  */
668
668
  validateInput(record: T): Promise<T>;
669
+ /**
670
+ * core#74 — ADMISSION of a record arriving by sync. Runs the same
671
+ * `beforePut` gate bus (guards, periods) and `db.onBeforeWrite` hooks a
672
+ * local `put` runs, on the DECRYPTED incoming record against this device's
673
+ * current state, with `origin: 'sync-apply'`. A throw is a refusal; the
674
+ * engine parks the envelope and leaves the local copy untouched.
675
+ *
676
+ * Not gated, deliberately: tombstones and delete markers (erasure wins, as
677
+ * on every other path), elevated envelopes (#707 — invisible to gate
678
+ * handlers), and a record this session holds no key for (it cannot judge;
679
+ * the merge authority's stated residue, #1042). Schema validation does not
680
+ * run — the writer validated. Zero cost when nothing is registered.
681
+ * @internal
682
+ */
683
+ /**
684
+ * @internal core#74 — judge a record against THIS device's gates and hooks.
685
+ *
686
+ * ⚠️ core#108: under `'push-recheck'` the record is already in the local
687
+ * store, so `resolveGatePrior` returns the record itself and `existing`
688
+ * equals `incoming` — the state it was written over is gone and cannot be
689
+ * reconstructed. That makes the re-check sound for rules that read AMBIENT
690
+ * state (a closed period, a revoked clearance) and degenerate for rules
691
+ * that compare against a prior, which see a no-op diff and pass. Widening
692
+ * it would need the pre-write snapshot kept in the dirty log, which is a
693
+ * different feature; do not "fix" it by synthesising a prior here.
694
+ */
695
+ _admitRemote(id: string, envelope: EncryptedEnvelope, origin?: 'sync-apply' | 'push-recheck'): Promise<{
696
+ admitted: true;
697
+ } | {
698
+ admitted: false;
699
+ reason: string;
700
+ }>;
669
701
  /**
670
702
  * Resolve the prior record as REAL VALUES for the eager write/delete paths
671
703
  * (history snapshot, ledger patch, index upkeep). The eager cache holds
@@ -739,7 +771,7 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
739
771
  * @internal `wave` (#638 Task 4): when present (the sync/cutover/restore dispatch wave),
740
772
  * an eager MV already refreshed this wave is skipped (per-target dedup, keyed on spec name).
741
773
  */
742
- dispatchMaterializedViews(id: string, record: T, wave?: WaveContext): Promise<void>;
774
+ _dispatchMaterializedViews(id: string, record: T, wave?: WaveContext): Promise<void>;
743
775
  /**
744
776
  * Fire registered derivation strategies for this source collection.
745
777
  * Eager mode runs `derive` inline and writes each output via the
@@ -784,7 +816,7 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
784
816
  * and from `forgetDerivedFanout` (#638 Task 6), which needs the per-target outcome to fill
785
817
  * `ForgetResult.derivedAggregatesRecomputed`/`derivedResidueFrozen`). `wave` (#640): per-target dedup for the sync-apply path; `undefined` on local-delete (byte-identical).
786
818
  */
787
- dispatchRollupsOnDelete(id: string, deleted: T, wave?: WaveContext): Promise<ReadonlyArray<{
819
+ _dispatchRollupsOnDelete(id: string, deleted: T, wave?: WaveContext): Promise<ReadonlyArray<{
788
820
  readonly into: string;
789
821
  readonly parentId: string;
790
822
  readonly outcome: RollupOutcome;
@@ -793,12 +825,13 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
793
825
  _recomputeDeletedRollups(intents: readonly RollupDeleteIntent[], wave: WaveContext): Promise<void>;
794
826
  /** @internal `wave` (#638 Task 4) — threaded to `recomputeRollup` for the sync/cutover/restore
795
827
  * dispatch wave's per-target dedup; `undefined` on the local-write path (byte-identical). */
796
- dispatchDerivations(id: string, record: T, version: number, wave?: WaveContext, prior?: Record<string, unknown> | null): Promise<void>;
828
+ _dispatchDerivations(id: string, record: T, version: number, wave?: WaveContext, prior?: Record<string, unknown> | null): Promise<void>;
797
829
  /** @internal — trigger fan-out for a deleted parent (#1249); see dispatch.ts. */
798
- dispatchTriggerDerivationsOnDelete(id: string, deleted: T): Promise<void>;
830
+ _dispatchTriggerDerivationsOnDelete(id: string, deleted: T): Promise<void>;
799
831
  /**
800
832
  * Delete a record by ID. Runs inside the hub's write-queue tracker
801
833
  * so `hub.writeQueue.pending` reflects this write.
834
+ * ⚠️ 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).
802
835
  */
803
836
  delete(id: string): Promise<void>;
804
837
  /**
@@ -935,7 +968,7 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
935
968
  * erasure too — forget()'s fanout, GDPR residue. A delete-of-absent contributes 0 either way.
936
969
  * @internal
937
970
  */
938
- dispatchArrayDerivationsOnDelete(id: string, eraseRecordShapeToo?: boolean): Promise<number>;
971
+ _dispatchArrayDerivationsOnDelete(id: string, eraseRecordShapeToo?: boolean): Promise<number>;
939
972
  /**
940
973
  * Mirror of {@link dispatchMaterializedViews} for the delete/forget path — no `_materializedFrom`
941
974
  * skip (record's gone); the `internal` gate at `_doDelete` is the recursion guard. Returns the
@@ -945,7 +978,7 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
945
978
  * manual serves empty until `refreshView()`. `residueUndecodable`/`residueDeclined` (#776/#785) carry `outputCollection:id` entries whose ownership stamp `invalidateMVAtRest` could not decode, resp. decoded+stamp-matched but declined erasure — surfaced, not erased.
946
979
  * @internal
947
980
  */
948
- dispatchMaterializedViewsOnDelete(id: string): Promise<{
981
+ _dispatchMaterializedViewsOnDelete(id: string): Promise<{
949
982
  deleted: number;
950
983
  residueUndecodable: string[];
951
984
  residueDeclined: string[];
@@ -961,6 +994,35 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
961
994
  * each record is locale-resolved before being returned.
962
995
  */
963
996
  list(locale?: LocaleReadOptions): Promise<T[]>;
997
+ /**
998
+ * @internal core#122 — forget everything read from the store, so the next
999
+ * read re-hydrates.
1000
+ *
1001
+ * ⭐ Why this is needed even though the vault drops its collection cache on
1002
+ * restore: `vault.collection(name)` hands back the instance FROM that cache,
1003
+ * so a handle the caller is already holding IS one of the objects in it.
1004
+ * Dropping the map makes the NEXT `vault.collection()` build a fresh
1005
+ * instance and leaves the caller's handle answering from its own pre-restore
1006
+ * cache — correct for the next caller, invisible to the current one, and the
1007
+ * natural shape of restore code holds the handle across the load.
1008
+ *
1009
+ * ⛔ Not a general "refresh": it deliberately does NOT re-read here. The
1010
+ * next read pays for it, so a restore that touches fifty collections does
1011
+ * not hydrate fifty times for a caller who will look at one.
1012
+ */
1013
+ _invalidateAfterRestore(): void;
1014
+ /**
1015
+ * core#103 — `list()` with the hub-assigned id alongside each record.
1016
+ *
1017
+ * ⭐ The id is not derivable from a record, so a caller keyed on it
1018
+ * previously had to `get()` per row after `list()`. Tuple order mirrors
1019
+ * `putMany`: `[id, record]` reads the same going in and coming out.
1020
+ *
1021
+ * Same eager-mode requirement and the same locale/Via pipeline as `list()`
1022
+ * — deliberately, so the two cannot drift into answering differently about
1023
+ * the same collection. `list()` is unchanged.
1024
+ */
1025
+ listEntries(locale?: LocaleReadOptions): Promise<Array<readonly [id: string, record: T]>>;
964
1026
  /**
965
1027
  * Scan-mode full-text search over a plain-text `field`. Decrypts the
966
1028
  * collection in memory and ranks records by BM25 against the tokenized query.
@@ -1199,6 +1261,24 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
1199
1261
  items: T[];
1200
1262
  nextCursor: string | null;
1201
1263
  }>;
1264
+ /**
1265
+ * core#103 — `listPage()` with the hub-assigned id alongside each record.
1266
+ *
1267
+ * ⭐ The id is not derivable from the record. An app that stores its own key
1268
+ * in a field is fine; one that relies on the id hub assigned had no bulk
1269
+ * read that returned it and had to `get()` per row to find out — which is
1270
+ * the shape pilot-1 hit writing a rule keyed on the record id.
1271
+ *
1272
+ * Tuple order mirrors `putMany`, so `[id, record]` reads the same way going
1273
+ * in and coming out. `listPage()` is unchanged and delegates here.
1274
+ */
1275
+ listPageEntries(opts?: {
1276
+ cursor?: string;
1277
+ limit?: number;
1278
+ }): Promise<{
1279
+ items: Array<readonly [id: string, record: T]>;
1280
+ nextCursor: string | null;
1281
+ }>;
1202
1282
  /**
1203
1283
  * Stream every record in the collection page-by-page as an async
1204
1284
  * iterable, with chainable `.where()` / `.filter()` clauses and a
@@ -52,3 +52,10 @@ export declare const ROSTER_KEY_ID = "_roster";
52
52
  * of rewriting every chunk and index row on every revocation.
53
53
  */
54
54
  export declare const BLOB_ADDRESS_KEY_ID = "_blob_addr";
55
+ /**
56
+ * core#96 — the DEK-map slot holding a member's INBOX KEY: the AES key that
57
+ * seals the private half of their inbox key pair (`KeyringFile.inbox_key`).
58
+ * A reserved key, not a collection — never propagated to a grantee (it is
59
+ * per member), never rotated, stripped by `revoke` the way `_roster` is.
60
+ */
61
+ export declare const INBOX_KEY_ID = "_inbox_key";
@@ -92,6 +92,7 @@
92
92
  * @module
93
93
  */
94
94
  import type { GateName, GatePolicy } from './types.js';
95
+ import type { CapsuleGroup } from '../capsule/contract.js';
95
96
  /**
96
97
  * Base class for all NOYDB errors.
97
98
  *
@@ -621,6 +622,15 @@ export declare class DuplicateStoreKindError extends NoydbError {
621
622
  readonly kind: string;
622
623
  constructor(kind: string);
623
624
  }
625
+ /**
626
+ * core#96 — `updateUser` needs to deliver a DEK to a member whose keyring has
627
+ * no inbox key pair (written before inboxes existed), or the caller is not
628
+ * cleared to amend. The member can still be re-granted with a fresh secret.
629
+ */
630
+ export declare class MemberInboxMissingError extends NoydbError {
631
+ readonly userId: string;
632
+ constructor(userId: string, message?: string);
633
+ }
624
634
  export declare class PrivilegeEscalationError extends NoydbError {
625
635
  readonly offendingCollection: string;
626
636
  constructor(offendingCollection: string, message?: string);
@@ -890,7 +900,19 @@ export declare class TierDemoteDeniedError extends NoydbError {
890
900
  */
891
901
  export declare class DelegationTargetMissingError extends NoydbError {
892
902
  readonly toUser: string;
893
- constructor(toUser: string);
903
+ /**
904
+ * ⚠️ `reason` exists because two call sites were passing a SENTENCE as
905
+ * `toUser` (core#56), rendering as:
906
+ *
907
+ * Delegation target user "grantor cannot find tier 1 DEK for (any)"
908
+ * has no keyring in this vault
909
+ *
910
+ * — which names a target user that is not a user, and states a cause that is
911
+ * not the cause. A grantor-side failure is not a missing target; the class is
912
+ * kept for both only because it is PUBLISHED and consumers catch it. Pass the
913
+ * real `toUser` and put the explanation in `reason`.
914
+ */
915
+ constructor(toUser: string, reason?: string);
894
916
  }
895
917
  /**
896
918
  * Thrown when a `put()` detects an optimistic concurrency conflict.
@@ -2411,9 +2433,25 @@ export declare class RecoveryProfileNotImplementedError extends NoydbError {
2411
2433
  * stable, catchable code instead of an ad hoc throw.
2412
2434
  */
2413
2435
  export declare class EnclaveNotSupportedError extends NoydbError {
2414
- /** The optional group that is not supported by this enclave. */
2415
- readonly group: 'sealing' | 'deterministic' | 'per-record-keys';
2416
- constructor(group: 'sealing' | 'deterministic' | 'per-record-keys', detail?: string);
2436
+ /**
2437
+ * The group that is not supported by this enclave.
2438
+ *
2439
+ * ⭐ WIDENED to the full {@link CapsuleGroup} 2026-09-16 (core#42). It used
2440
+ * to be `'sealing' | 'deterministic' | 'per-record-keys'` — three of ten,
2441
+ * and not a subset: it could not name `classify`, which `capsule/contract.ts`
2442
+ * explicitly documents a capsule refusing, nor the six core groups.
2443
+ *
2444
+ * ⚠️ The narrowness was invisible because **hub never constructs this error**
2445
+ * — it exists for a fork to throw (see the note above), so the union is a
2446
+ * contract for THIRD-PARTY capsule authors, and hub's own test only ever
2447
+ * built it with `'sealing'`. Found only when the conformance kit's tests
2448
+ * were finally typechecked against hub's source.
2449
+ *
2450
+ * ⛔ This is a widened published READ: a consumer switching exhaustively on
2451
+ * `err.group` gains cases. Release-noted by name for that reason.
2452
+ */
2453
+ readonly group: CapsuleGroup;
2454
+ constructor(group: CapsuleGroup, detail?: string);
2417
2455
  }
2418
2456
  /**
2419
2457
  * Raised when a collection's `classifiedFields` configuration is invalid
@@ -0,0 +1,40 @@
1
+ /**
2
+ * How `Vault.exportStream()` decides WHAT to read (core#45b).
3
+ *
4
+ * Extracted from `vault.ts` rather than inlined there: the kernel-surface
5
+ * ratchet had that file at its exact ceiling, and this is the kind of thing
6
+ * the ceiling exists to push out — a self-contained decision with its own
7
+ * reasoning, reachable from one call site.
8
+ *
9
+ * ## The property this file owns
10
+ *
11
+ * A scoped export must not FETCH or DECRYPT the collections it excludes.
12
+ * Until 0.8 the scope was a filter applied to chunks after `exportStream` had
13
+ * already decrypted the whole vault, so a caller narrowing an export to limit
14
+ * what a compromised process could observe got no such limit. Choosing the
15
+ * enumeration strategy — bulk snapshot vs per-collection `list` — is what
16
+ * makes the difference real, and it is invisible to every chunk-level
17
+ * assertion (`__tests__/45-export-scope-narrows-read.test.ts` observes the
18
+ * store instead, which is the only layer that can tell them apart).
19
+ *
20
+ * @module
21
+ */
22
+ import type { NoydbStore, ExportStreamOptions } from './types.js';
23
+ /** Where an export's collection names and record ids come from. */
24
+ export interface ExportSource {
25
+ /** Collection names to export, sorted. */
26
+ readonly collections: readonly string[];
27
+ /** True when the caller supplied a scope. */
28
+ readonly scoped: boolean;
29
+ /** Record ids in one collection. */
30
+ ids(collection: string): Promise<readonly string[]>;
31
+ }
32
+ /**
33
+ * Resolve the read strategy for one export.
34
+ *
35
+ * ⛔ THE UNDERSCORE FILTER IS APPLIED ON BOTH PATHS. `loadAll` drops
36
+ * underscore-prefixed internal collections for free; `list` does not, so a
37
+ * caller naming `_keyring` would export the keyring. A rule that holds only on
38
+ * the route that happens to be taken is a rule waiting to be lost.
39
+ */
40
+ export declare function resolveExportSource(adapter: NoydbStore, vault: string, opts: ExportStreamOptions): Promise<ExportSource>;
@@ -15,11 +15,15 @@ import type { EnclaveKey } from '../capsule/index.js';
15
15
  */
16
16
  export declare function buildMergeAuthority(
17
17
  /**
18
+ * A GETTER for the DEK map (core#100): the vault reloads its keyring in
19
+ * place after a pull that replaced its file (core#82) — a delivered DEK, a
20
+ * rotation — and an authority that captured the object at wiring kept
21
+ * verifying with the map that no longer opened the records.
18
22
  * Just the DEK map, not the whole keyring. `port-layering` refused a type
19
23
  * import of `UnlockedKeyring` from `with-party` — correctly, and the narrower
20
24
  * shape is better anyway: this needs to look up keys, not to know what a
21
25
  * keyring is.
22
26
  */
23
- keyring: {
27
+ keyring: () => {
24
28
  readonly deks: ReadonlyMap<string, EnclaveKey>;
25
29
  }): MergeAuthority;
@@ -1,5 +1,5 @@
1
- import type { RotateResult, RosterVerifyResult, QuarantineResult } from '../with-party/team/keyring.js';
2
- import type { NoydbOptions, NoydbEventMap, GrantOptions, RevokeOptions, UpdateUserOptions, UserInfo, PushResult, PullResult, PushOptions, PullOptions, SyncStatus, SyncTargetInfo, SyncTargetStatus, NoydbStore, AccessibleVault, ListAccessibleVaultsOptions, QueryAcrossOptions, QueryAcrossResult, TranslatorAuditEntry, WriteConflict, UserApiFactory, ActiveTier, FactorProofBundle, GateName, VaultPolicy } from './types.js';
1
+ import type { RotateResult, RevokeResult, RosterVerifyResult, QuarantineResult } from '../with-party/team/keyring.js';
2
+ import type { NoydbOptions, NoydbEventMap, GrantOptions, RevokeOptions, UpdateUserOptions, UserInfo, PushResult, PullResult, RealignResult, PushOptions, PullOptions, SyncStatus, SyncTarget, SyncTargetInfo, SyncTargetStatus, NoydbStore, AccessibleVault, ListAccessibleVaultsOptions, QueryAcrossOptions, QueryAcrossResult, TranslatorAuditEntry, WriteConflict, UserApiFactory, ActiveTier, FactorProofBundle, GateName, VaultPolicy, SyncRejectedApi, ReplaceRemoteResult } from './types.js';
3
3
  import type { SecretPolicy } from './validation.js';
4
4
  import { type NoydbMesh } from '../port/by/default-provider.js';
5
5
  import type { Cover } from '../with-party/directory/cover/types.js';
@@ -51,6 +51,8 @@ export declare class Noydb {
51
51
  private readonly vaultOpening;
52
52
  private readonly keyringCache;
53
53
  private readonly syncEngines;
54
+ /** core#90 — conflict resolvers registered per vault, replayed onto a target attached after open. */
55
+ private readonly conflictResolvers;
54
56
  /**
55
57
  * Per-vault active session tier — defaults to `1` after a secret
56
58
  * unlock; tier-2 / tier-3 unlocks downgrade it. Used by
@@ -90,10 +92,10 @@ export declare class Noydb {
90
92
  /**
91
93
  * Opt-in sovereign-custody (FR-6) strategy — `NO_CUSTODY` (throwing) unless
92
94
  * `withCustody()` was passed. Kept as a public accessor because `Vault`
93
- * routes `vault.custody.liberate` through `this.noydb.custodyStrategy`.
95
+ * routes `vault.custody.liberate` through `this.noydb._custodyStrategy`.
94
96
  * @internal
95
97
  */
96
- get custodyStrategy(): CustodyStrategy;
98
+ get _custodyStrategy(): CustodyStrategy;
97
99
  private readonly snapshots;
98
100
  private readonly policyManager;
99
101
  /** Pre-resolved policy-gate engine function (mirrors `meshPort`/`userApiFactory` above). */
@@ -176,6 +178,13 @@ export declare class Noydb {
176
178
  /**
177
179
  * Grant access to a user for a vault.
178
180
  *
181
+ * ⚠️ On an EXISTING user this RE-KEYS them: a new KEK from `secret`,
182
+ * authenticator slots dropped, the file overwritten. So it needs the
183
+ * member's CURRENT secret — after `acceptInvite` or `rotateSecret` an
184
+ * owner never holds it, and a re-grant with a stale one locks the member
185
+ * out. To change what an existing member may do, use `updateUser`
186
+ * (core#96); re-grant only to re-key, with a fresh temporary secret.
187
+ *
179
188
  * Gated by `enroll-user`. `STRICT_POLICY` requires a TOTP / email-OTP
180
189
  * factor proof so the operator affirmatively re-asserts identity at
181
190
  * the moment of grant; `PERSONAL_POLICY` accepts a tier-1 unlock alone.
@@ -220,23 +229,37 @@ export declare class Noydb {
220
229
  revokeCustodian(vault: string, options: RevokeOptions, factors?: FactorProofBundle): Promise<void>;
221
230
  /** @internal — revoke-custodian engine, reached only via withCustody().
222
231
  * Mirrors `_grantCustodianImpl` (#267: engine passed in). */
223
- _revokeCustodianImpl(engine: (adapter: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, options: RevokeOptions) => Promise<void>, vault: string, options: RevokeOptions, factors?: FactorProofBundle): Promise<void>;
224
- /**
225
- * Mutate post-grant identity fields on an existing keyring — `role`,
226
- * `displayName`, and/or `permissions`. Pure plaintext-header rewrite:
227
- * no DEK rewrap, no KEK required, no authenticator slots touched.
228
- * Tier-2 enrollments and recovery codes survive.
232
+ _revokeCustodianImpl(engine: (adapter: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, options: RevokeOptions) => Promise<RevokeResult>, vault: string, options: RevokeOptions, factors?: FactorProofBundle): Promise<void>;
233
+ /**
234
+ * Change what an EXISTING member may do — `role`, `displayName`, and/or
235
+ * `permissions` — without holding their secret. The member's KEK, salt
236
+ * and authenticator slots are untouched; tier-2 enrollments and recovery
237
+ * codes survive.
238
+ *
239
+ * core#96 — the keys follow the header. A change that widens access
240
+ * delivers the DEKs the member lacks through their keyring INBOX
241
+ * (sealed to a per-member key pair only their KEK opens; drained at
242
+ * their next tier-1 unlock, or at the next pull of an open session). A
243
+ * change that narrows access drops the DEKs and rotates those
244
+ * collections, as a narrowing `grant` does (#1097). A role change
245
+ * re-registers the member with a configured broker host under a fresh
246
+ * `_broker_member` key. This is the widening path: `db.grant` on an
247
+ * existing user RE-KEYS them from `secret`, so it needs their CURRENT
248
+ * secret — after `acceptInvite` or `rotateSecret` an owner never holds it.
229
249
  *
230
250
  * Different from `db.revoke + db.grant`:
231
251
  *
232
- * - Same `userId`, same DEK wrappings, same `granted_by`, same
233
- * `_users/<keyringId>` envelope. Only the specified header
234
- * fields move. Last-write-wins via the standard keyring put.
252
+ * - Same `userId`, same KEK, same `granted_by`, same
253
+ * `_users/<keyringId>` envelope. Last-write-wins via the standard
254
+ * keyring put.
235
255
  * - No cascade on role demotion (admins demoted to operator keep
236
256
  * the keyrings they previously granted; the cascade rules are
237
257
  * a `db.revoke` concern, not `db.updateUser`).
238
258
  * - Tier-2 slots NOT dropped — the wrapping is unaffected.
239
259
  *
260
+ * @throws `MemberInboxMissingError` when a DEK must be delivered to a
261
+ * member whose keyring predates inboxes — re-grant them once.
262
+ *
240
263
  * Role-elevation guard: BOTH the old and new role must satisfy
241
264
  * `db.grant`'s hierarchy. Owner can do anything; admin manages
242
265
  * admin/operator/viewer/client laterally; admin cannot promote to
@@ -257,6 +280,46 @@ export declare class Noydb {
257
280
  * }, { factors: [{ kind: 'totp' }] })
258
281
  * ```
259
282
  *
283
+ * ## ⚠️ A NARROWING DOES NOT REACH A SESSION THAT IS ALREADY OPEN
284
+ *
285
+ * This writes the target's keyring. It cannot reach into a `Noydb` the
286
+ * target already has open: an eager collection holds the records it
287
+ * hydrated, and nothing polls the keyring, so that session keeps serving
288
+ * rows it read while it still had the key. A FRESH open throws
289
+ * `NoAccessError` correctly (core#101), and so does that session for any
290
+ * collection it had not already hydrated.
291
+ *
292
+ * ⭐ A long-lived admin console — one holding a vault open while changing
293
+ * somebody's permissions — must RE-OPEN the affected session rather than
294
+ * expect its next read to start failing.
295
+ *
296
+ * ## What the window is, MEASURED — it is narrower than it sounds
297
+ *
298
+ * The consumer building that console asked the two questions a security
299
+ * reviewer asks, and reasoning would have got both wrong in the cautious
300
+ * direction. Measured on a synced vault, after `updateUser` narrowed the
301
+ * member away and `rotate()` re-keyed:
302
+ *
303
+ * 1. **Records arriving AFTER the narrowing are not readable.** A `pull()`
304
+ * into the open session brings the new roster, the session reloads its
305
+ * keyring, and reads then throw `NoAccessError` — including for rows it
306
+ * had already cached. ⭐ So with sync on, the window CLOSES at the next
307
+ * pull; it is not open until re-open.
308
+ * 2. **Writes are refused locally.** `put()` throws `ReadOnlyError` on the
309
+ * narrowed collection — the record is never encrypted, never queued, and
310
+ * `push()` carries nothing. Nothing reaches the remote to be judged, so
311
+ * this does not even rest on the admission gate (core#74).
312
+ *
313
+ * ⛔ So it is not a confidentiality hole and not a write hole: no access is
314
+ * gained, nothing new becomes readable, and nothing can be written. What
315
+ * survives is a read of rows the session ALREADY HELD, on a device with no
316
+ * sync or one that has not pulled since.
317
+ *
318
+ * ⚠️ Which is still the window that matters when a narrowing is
319
+ * security-motivated rather than administrative — a departing member, a
320
+ * suspected device. `rotate()` is the answer there and a console should
321
+ * REQUIRE it for that case rather than offer it.
322
+ *
260
323
  * @throws `NoAccessError` when no keyring exists for the target.
261
324
  * @throws `PermissionDeniedError` when the role hierarchy rejects.
262
325
  * @throws `ValidationError` when no field is provided.
@@ -291,6 +354,14 @@ export declare class Noydb {
291
354
  * reaching into internals. See `noy-db rotate` for the CLI wrapper.
292
355
  * Opt-in (#267): throws {@link TeamNotEnabledError} without `withTeam()`.
293
356
  */
357
+ /**
358
+ * core#74 — the records this device's admission gate refused on pull
359
+ * (`PullResult.rejected`, `sync:rejected`), parked under `_sync_rejected`
360
+ * with the envelope intact. `list()` them; `readmit()` applies one after all
361
+ * (bypassing the gate); `discard()` drops the parking record. Per device:
362
+ * a refusal is local to the device that judged it.
363
+ */
364
+ rejected(vault: string): SyncRejectedApi;
294
365
  rotate(vault: string, collections: string[]): Promise<RotateResult>;
295
366
  /**
296
367
  * Verify every `_keyring` file in the vault. Read-only (#1121).
@@ -423,9 +494,13 @@ export declare class Noydb {
423
494
  */
424
495
  queryAcross<T>(vaultIds: string[], fn: (vault: Vault) => Promise<T>, options?: QueryAcrossOptions): Promise<QueryAcrossResult<T>[]>;
425
496
  /**
426
- * @internal True once `close()` has been called. Read by outward
427
- * orchestration frameworks whose entry points can't see the private
428
- * `closed` field.
497
+ * True once `close()` has been called.
498
+ *
499
+ * ⭐ NOT `@internal`, and core#128 removed that tag rather than `_`-prefixing
500
+ * this: the doc's own reason — "read by outward orchestration frameworks
501
+ * whose entry points can't see the private `closed` field" — IS a public
502
+ * contract. Prefixing it would have broken the readers it exists for. The
503
+ * tag was the defect, not the name.
429
504
  */
430
505
  get isClosed(): boolean;
431
506
  /**
@@ -458,6 +533,20 @@ export declare class Noydb {
458
533
  * push-only sink and is never pulled from (#616) — returns an empty result.
459
534
  */
460
535
  pull(vault: string, options?: PullOptions): Promise<PullResult>;
536
+ /** core#82 — replace every local envelope that fails to authenticate with the primary target's healthy copy; see `SyncEngine.realign`. */
537
+ realign(vault: string): Promise<RealignResult>;
538
+ /**
539
+ * core#72 — make THIS device's vault authoritative on its primary target:
540
+ * every local record is written unconditionally (re-versioned above the
541
+ * target's copy where the target moved on), every id the target holds that
542
+ * the local vault does not gets a delete marker, the reserved collections
543
+ * are mirrored, and a new restore EPOCH is written on the target. Every
544
+ * other device's next pull crosses that epoch: its unpushed edits are parked
545
+ * (`db.rejected(vault)`, reason `restore-epoch`), its dirty log dropped, the
546
+ * target adopted wholesale. The act of a restore (`vault.load` then this), or
547
+ * of declaring one replica the truth. Owner/admin, ledgered by the pushes.
548
+ */
549
+ replaceRemote(vault: string): Promise<ReplaceRemoteResult>;
461
550
  /**
462
551
  * Bidirectional sync: pull then push for all targets.
463
552
  * `sync-peer` targets do pull+push; `backup`/`archive` targets do push-only.
@@ -523,7 +612,7 @@ export declare class Noydb {
523
612
  get store(): NoydbStore;
524
613
  /**
525
614
  * Currently-running multi-record transaction, or `null` outside
526
- * Phase 2. `Collection.dispatchDerivations` consults this so a
615
+ * Phase 2. `Collection._dispatchDerivations` consults this so a
527
616
  * recursive derived-output write inside `Collection.put` can register
528
617
  * its envelope onto `ctx._executed` and roll back with the main
529
618
  * staged ops on mid-batch failure.
@@ -580,6 +669,8 @@ export declare class Noydb {
580
669
  */
581
670
  listSyncTargets(vault: string): SyncTargetInfo[];
582
671
  private getSyncEngine;
672
+ /** core#90 — attach a sync target to an OPEN vault (primary when it had none, else keyed by position); records written before it are sent by `push({ full: true })`. Rationale in `kernel/sync-wiring.ts`. */
673
+ attachSyncTarget(vault: string, target: NoydbStore | SyncTarget): Promise<void>;
583
674
  _forEachSyncEngine(vault: string, fn: (engine: SyncEngine) => void): void;
584
675
  on<K extends keyof NoydbEventMap>(event: K, handler: (data: NoydbEventMap[K]) => void): void;
585
676
  off<K extends keyof NoydbEventMap>(event: K, handler: (data: NoydbEventMap[K]) => void): void;
@@ -639,9 +730,15 @@ export declare class Noydb {
639
730
  /** @internal Session that owns this instance's writers. */
640
731
  get _sessionId(): string;
641
732
  /**
642
- * @internal Drain-barrier coordination transport for the schema fence.
643
- * The default store-backed provider reproduces today's fence behavior; a
644
- * `by-*` real-time transport is injected via `mesh`.
733
+ * Drain-barrier coordination transport for the schema fence. The default
734
+ * store-backed provider reproduces today's fence behavior; a `by-*`
735
+ * real-time transport is injected via the `mesh` option.
736
+ *
737
+ * ⭐ NOT `@internal`, and core#128 removed that tag rather than
738
+ * `_`-prefixing this. `db.mesh` is documented as a public handle in
739
+ * `port/by/index.ts` — "a `Noydb` handle (`db.mesh`) without ever naming a
740
+ * `by-*` pack" — and `createNoydb({ mesh })` is a public option. The tag
741
+ * contradicted both; prefixing would have broken the documented handle.
645
742
  */
646
743
  get mesh(): NoydbMesh;
647
744
  /**
@@ -687,7 +784,7 @@ export declare class Noydb {
687
784
  *
688
785
  * @internal — not part of the public API surface
689
786
  */
690
- invokeTranslator(text: string, from: string, to: string, field: string, collection: string): Promise<string>;
787
+ _invokeTranslator(text: string, from: string, to: string, field: string, collection: string): Promise<string>;
691
788
  /**
692
789
  * Read the active policy for a vault. Loads from `_meta/policy` on
693
790
  * first call; subsequent calls hit the in-memory cache. Throws
@@ -15,7 +15,7 @@ interface BulkTxContext {
15
15
  readonly _executed: BulkExecutedOp[];
16
16
  }
17
17
  /** @internal The slice of `Collection` both branches drive. */
18
- export interface PutManyAtomicHost<T> {
18
+ interface PutManyAtomicHost<T> {
19
19
  put(id: string, record: T): Promise<void>;
20
20
  _preparePut(id: string, record: T): Promise<PreparedPut<T>>;
21
21
  _finalizePut(prepared: PreparedPut<T>): Promise<void>;
@@ -7,7 +7,8 @@
7
7
  * mutates.
8
8
  *
9
9
  * Framework-agnostic by design — core never depends on a UI
10
- * framework. The binding that wraps a `LiveQuery` is
10
+ * framework. The framework bindings live in the `noy-db/in` repo
11
+ * (extracted 2026-09-21). The one that wraps a `LiveQuery` is
11
12
  * `@noy-db/in-vue`'s `useLiveQuery(live)`: it subscribes once,
12
13
  * mirrors `value` into a `ShallowRef`, re-reads `error` on every
13
14
  * notification, and disposes via `onScopeDispose`.