@noy-db/hub 0.8.0-pre.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 (706) hide show
  1. package/CHANGELOG.md +78 -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 +34 -25
  7. package/dist/as/index.js.map +1 -1
  8. package/dist/at/index.js +9 -10
  9. package/dist/attestation/index.js +39 -28
  10. package/dist/attestation/index.js.map +1 -1
  11. package/dist/{backup-7TFRVFLH.js → backup-7RKNZMQO.js} +15 -16
  12. package/dist/backup-7RKNZMQO.js.map +1 -0
  13. package/dist/blobs/index.js +13 -14
  14. package/dist/blobs/index.js.map +1 -1
  15. package/dist/broker/index.js +20 -13
  16. package/dist/broker/index.js.map +1 -1
  17. package/dist/by/index.js +2 -2
  18. package/dist/capsule/contract.d.ts +159 -0
  19. package/dist/capsule/contract.js +95 -0
  20. package/dist/capsule/enclave-aes/bound.d.ts +52 -0
  21. package/dist/{kernel/enclave → capsule/enclave-aes}/broker/proof.d.ts +12 -3
  22. package/dist/capsule/enclave-aes/capabilities.d.ts +2 -0
  23. package/dist/capsule/enclave-aes/classify/compare.d.ts +20 -0
  24. package/dist/{kernel/enclave → capsule/enclave-aes}/classify/find.d.ts +1 -1
  25. package/dist/{kernel/enclave → capsule/enclave-aes}/classify/reveal.d.ts +1 -1
  26. package/dist/{kernel/enclave → capsule/enclave-aes}/classify/verify.d.ts +2 -2
  27. package/dist/{kernel/enclave → capsule/enclave-aes}/classify/write.d.ts +1 -1
  28. package/dist/{kernel/enclave → capsule/enclave-aes}/crypto.d.ts +33 -129
  29. package/dist/capsule/enclave-aes/index.d.ts +113 -0
  30. package/dist/capsule/enclave-aes/index.js +361 -0
  31. package/dist/capsule/enclave-aes/index.js.map +1 -0
  32. package/dist/capsule/enclave-aes/primitives.d.ts +29 -0
  33. package/dist/capsule/index.d.ts +27 -0
  34. package/dist/capsule/plumbing/ct-equal.d.ts +11 -0
  35. package/dist/{kernel/enclave/record-keys → capsule/plumbing}/deterministic.d.ts +8 -21
  36. package/dist/capsule/plumbing/digest.d.ts +122 -0
  37. package/dist/{kernel/enclave/record-keys → capsule/plumbing}/envelope-body.d.ts +44 -48
  38. package/dist/capsule/plumbing/index.d.ts +100 -0
  39. package/dist/capsule/plumbing/lifecycle.d.ts +50 -0
  40. package/dist/{kernel/enclave/record-keys → capsule/plumbing}/record-codec.d.ts +62 -20
  41. package/dist/{kernel/enclave → capsule/plumbing}/record-envelope.d.ts +1 -1
  42. package/dist/capsule/plumbing/rekey-blob.d.ts +33 -0
  43. package/dist/capsule/plumbing/rekey.d.ts +44 -0
  44. package/dist/capsule/plumbing/sealed-slot.d.ts +22 -0
  45. package/dist/capsule/plumbing/sealed-slots.d.ts +37 -0
  46. package/dist/capsule/plumbing/sealing.d.ts +29 -0
  47. package/dist/capsule/plumbing/sign.d.ts +9 -0
  48. package/dist/{kernel/enclave/record-keys → capsule/plumbing}/tombstone.d.ts +2 -2
  49. package/dist/capsule-57BDK7LG.js +209 -0
  50. package/dist/cargo/index.js +36 -36
  51. package/dist/{chunk-BUDAGWL5.js → chunk-226V6XXJ.js} +41 -6
  52. package/dist/chunk-226V6XXJ.js.map +1 -0
  53. package/dist/{chunk-QWGU66MP.js → chunk-2A56DSRI.js} +5 -7
  54. package/dist/chunk-2A56DSRI.js.map +1 -0
  55. package/dist/chunk-2DX4JCRI.js +1 -0
  56. package/dist/{chunk-ODVPTDPK.js → chunk-2ELOCEXE.js} +1 -1
  57. package/dist/chunk-2ELOCEXE.js.map +1 -0
  58. package/dist/{chunk-CKNGS5MH.js → chunk-2WJKJZSO.js} +3 -5
  59. package/dist/chunk-2WJKJZSO.js.map +1 -0
  60. package/dist/{chunk-ZSX4S5XB.js → chunk-2ZFD2UJC.js} +9 -9
  61. package/dist/{chunk-YSK2CU2Q.js → chunk-3V6LZHUO.js} +3 -3
  62. package/dist/chunk-3V6LZHUO.js.map +1 -0
  63. package/dist/{chunk-HT2AHGQI.js → chunk-3Y5JLSXS.js} +2 -2
  64. package/dist/{chunk-M7NI3IWE.js → chunk-45VHWE4C.js} +67 -60
  65. package/dist/chunk-45VHWE4C.js.map +1 -0
  66. package/dist/{chunk-LGNDFRYC.js → chunk-4CFHL5RY.js} +1 -1
  67. package/dist/chunk-4CFHL5RY.js.map +1 -0
  68. package/dist/{enclave-27SMF6GF.js → chunk-4J3MNVVX.js} +83 -56
  69. package/dist/chunk-4J3MNVVX.js.map +1 -0
  70. package/dist/{chunk-SI3V7D4G.js → chunk-4UIP3QNW.js} +2 -2
  71. package/dist/{chunk-WNJ4AVGE.js → chunk-55P6OBB7.js} +2 -2
  72. package/dist/{chunk-6LNL42F5.js → chunk-5HNW4ZTA.js} +12 -15
  73. package/dist/chunk-5HNW4ZTA.js.map +1 -0
  74. package/dist/{chunk-SYVZW77S.js → chunk-5LMCVBMY.js} +6 -8
  75. package/dist/chunk-5LMCVBMY.js.map +1 -0
  76. package/dist/{chunk-MKXXMNJH.js → chunk-5UUJE4FP.js} +3 -3
  77. package/dist/chunk-5XONHAFD.js +12 -0
  78. package/dist/chunk-5XONHAFD.js.map +1 -0
  79. package/dist/{chunk-X4773RBR.js → chunk-6QLCS7ET.js} +2 -2
  80. package/dist/chunk-6QLCS7ET.js.map +1 -0
  81. package/dist/{chunk-FW22ZCXT.js → chunk-6WS35E6X.js} +2 -2
  82. package/dist/{chunk-FCKWQE2H.js → chunk-6Y5E4SJU.js} +7 -8
  83. package/dist/chunk-6Y5E4SJU.js.map +1 -0
  84. package/dist/{chunk-4AF3TUMP.js → chunk-72XBVN4J.js} +8 -2
  85. package/dist/{chunk-4AF3TUMP.js.map → chunk-72XBVN4J.js.map} +1 -1
  86. package/dist/{chunk-QBBUZ3I3.js → chunk-7BMOS4JQ.js} +11 -11
  87. package/dist/chunk-7BMOS4JQ.js.map +1 -0
  88. package/dist/{chunk-5FDLC6G7.js → chunk-7CT6SX4M.js} +3 -3
  89. package/dist/chunk-7CT6SX4M.js.map +1 -0
  90. package/dist/{chunk-LQ4ZHOKP.js → chunk-ABU6A4Z5.js} +36 -27
  91. package/dist/chunk-ABU6A4Z5.js.map +1 -0
  92. package/dist/{chunk-WX5ADGTZ.js → chunk-AJFPAHMW.js} +3 -3
  93. package/dist/chunk-AJFPAHMW.js.map +1 -0
  94. package/dist/{chunk-ZE4CHIED.js → chunk-APFFJN5T.js} +39 -37
  95. package/dist/chunk-APFFJN5T.js.map +1 -0
  96. package/dist/{chunk-6OWXYZK2.js → chunk-B65CC6Z6.js} +2 -2
  97. package/dist/{chunk-F2TDU7MQ.js → chunk-BJH77UY2.js} +2 -2
  98. package/dist/{chunk-L7DOS3TE.js → chunk-BMHQHH7Q.js} +3 -3
  99. package/dist/chunk-BMHQHH7Q.js.map +1 -0
  100. package/dist/{chunk-BJ2IXQ5Q.js → chunk-BNFNQNEP.js} +2 -2
  101. package/dist/chunk-BU2ABHFW.js +74 -0
  102. package/dist/chunk-BU2ABHFW.js.map +1 -0
  103. package/dist/{chunk-HLEK5VAN.js → chunk-BUE7R3B5.js} +2 -2
  104. package/dist/{chunk-ISZQJBML.js → chunk-BVF3SXD7.js} +6 -6
  105. package/dist/chunk-BVF3SXD7.js.map +1 -0
  106. package/dist/{chunk-M522UYZ2.js → chunk-BYHCKX73.js} +6 -10
  107. package/dist/chunk-BYHCKX73.js.map +1 -0
  108. package/dist/{chunk-EOVMT6TB.js → chunk-C53ER7AG.js} +2 -2
  109. package/dist/{chunk-K6W7BVZ6.js → chunk-CAD7N6HQ.js} +3 -3
  110. package/dist/chunk-CB4467G3.js +565 -0
  111. package/dist/chunk-CB4467G3.js.map +1 -0
  112. package/dist/{chunk-NWHBJQAL.js → chunk-D4V5JJAK.js} +4 -4
  113. package/dist/chunk-D4V5JJAK.js.map +1 -0
  114. package/dist/{chunk-QWFHIOD2.js → chunk-D5A3GCZ4.js} +11 -12
  115. package/dist/chunk-D5A3GCZ4.js.map +1 -0
  116. package/dist/{chunk-5O7D6ZTW.js → chunk-DHU2AQ6T.js} +2 -2
  117. package/dist/{chunk-DC5QVPV7.js → chunk-DL6BZKP3.js} +3 -3
  118. package/dist/chunk-DL6BZKP3.js.map +1 -0
  119. package/dist/{chunk-FQ54DWUQ.js → chunk-EA4VDI5D.js} +4 -4
  120. package/dist/chunk-EA4VDI5D.js.map +1 -0
  121. package/dist/{chunk-IT22PWKV.js → chunk-ECGXA4LT.js} +2 -2
  122. package/dist/{chunk-BP6DARYA.js → chunk-EMAWOGVH.js} +4 -4
  123. package/dist/chunk-EMAWOGVH.js.map +1 -0
  124. package/dist/{chunk-3F7GLNAE.js → chunk-EUD3HQM4.js} +7 -11
  125. package/dist/chunk-EUD3HQM4.js.map +1 -0
  126. package/dist/{chunk-T2LBQ5DV.js → chunk-FSQNGPHH.js} +335 -250
  127. package/dist/chunk-FSQNGPHH.js.map +1 -0
  128. package/dist/{chunk-7VCXZDA4.js → chunk-FZXRLNJO.js} +7 -11
  129. package/dist/chunk-FZXRLNJO.js.map +1 -0
  130. package/dist/{chunk-6LMQ5R26.js → chunk-G46JSSVX.js} +7 -7
  131. package/dist/{chunk-6LMQ5R26.js.map → chunk-G46JSSVX.js.map} +1 -1
  132. package/dist/{chunk-GF5BZ7D4.js → chunk-G5EDYVSE.js} +11 -13
  133. package/dist/chunk-G5EDYVSE.js.map +1 -0
  134. package/dist/chunk-G66YXUTY.js +60 -0
  135. package/dist/chunk-G66YXUTY.js.map +1 -0
  136. package/dist/{chunk-FFWI7UH7.js → chunk-GAGT3YZN.js} +1 -1
  137. package/dist/chunk-GAGT3YZN.js.map +1 -0
  138. package/dist/{chunk-4MXI3ODD.js → chunk-GCUMOKTN.js} +3 -3
  139. package/dist/{chunk-FH2L2E34.js → chunk-GETUTTZU.js} +4 -4
  140. package/dist/{chunk-FH2L2E34.js.map → chunk-GETUTTZU.js.map} +1 -1
  141. package/dist/chunk-GMKGGY7V.js +234 -0
  142. package/dist/chunk-GMKGGY7V.js.map +1 -0
  143. package/dist/{chunk-B6SJIBQK.js → chunk-GOJQ5DZA.js} +4 -4
  144. package/dist/{chunk-EIPVYUEP.js → chunk-GQ4MF3CM.js} +3 -3
  145. package/dist/chunk-GQ4MF3CM.js.map +1 -0
  146. package/dist/{chunk-PDCG6PR5.js → chunk-GRS2HIV6.js} +2 -2
  147. package/dist/chunk-GRS2HIV6.js.map +1 -0
  148. package/dist/{chunk-PEOZ34EM.js → chunk-GSAK56VF.js} +1 -1
  149. package/dist/chunk-GSAK56VF.js.map +1 -0
  150. package/dist/{chunk-3H5KLDZN.js → chunk-H3YM66EI.js} +4 -8
  151. package/dist/chunk-H3YM66EI.js.map +1 -0
  152. package/dist/{chunk-NRT6QZQB.js → chunk-IVMFIKNA.js} +6 -6
  153. package/dist/chunk-IVMFIKNA.js.map +1 -0
  154. package/dist/{chunk-PSIV7CJV.js → chunk-J4KAPKBJ.js} +2 -2
  155. package/dist/chunk-J4KAPKBJ.js.map +1 -0
  156. package/dist/{chunk-N5DNADLQ.js → chunk-JA25QG5M.js} +224 -34
  157. package/dist/chunk-JA25QG5M.js.map +1 -0
  158. package/dist/{chunk-T7IR4N2S.js → chunk-JBMMWYOH.js} +3 -1
  159. package/dist/{chunk-T7IR4N2S.js.map → chunk-JBMMWYOH.js.map} +1 -1
  160. package/dist/{chunk-YNIUIERI.js → chunk-JPSL5GIZ.js} +18 -59
  161. package/dist/chunk-JPSL5GIZ.js.map +1 -0
  162. package/dist/{chunk-TKUOEU2F.js → chunk-JSWKVZCR.js} +2 -2
  163. package/dist/chunk-JZ4EDEIP.js +22 -0
  164. package/dist/chunk-JZ4EDEIP.js.map +1 -0
  165. package/dist/{chunk-QOOUUR4A.js → chunk-K673OO6B.js} +10 -4
  166. package/dist/chunk-K673OO6B.js.map +1 -0
  167. package/dist/{chunk-NNARWO72.js → chunk-K7RW7FI4.js} +13 -12
  168. package/dist/chunk-K7RW7FI4.js.map +1 -0
  169. package/dist/{chunk-ZXABPVM6.js → chunk-L2F3CFCH.js} +9 -13
  170. package/dist/chunk-L2F3CFCH.js.map +1 -0
  171. package/dist/{chunk-X25NWUZB.js → chunk-L5A3KR7R.js} +3 -3
  172. package/dist/{chunk-T52GX4SA.js → chunk-LGGIFKJP.js} +4 -4
  173. package/dist/{chunk-ID6Z6E66.js → chunk-MQ7YWBQ5.js} +2 -2
  174. package/dist/{chunk-FXQBGFOX.js → chunk-MRJDLXI3.js} +14 -8
  175. package/dist/{chunk-FXQBGFOX.js.map → chunk-MRJDLXI3.js.map} +1 -1
  176. package/dist/chunk-NH2UOV3B.js +18 -0
  177. package/dist/chunk-NH2UOV3B.js.map +1 -0
  178. package/dist/{chunk-FN5EBVTQ.js → chunk-NIXRB5BP.js} +2 -2
  179. package/dist/{chunk-RHVMZSUU.js → chunk-NV4OESHC.js} +1 -1
  180. package/dist/chunk-NV4OESHC.js.map +1 -0
  181. package/dist/{chunk-HBRLNOHL.js → chunk-NYJBYVBG.js} +4 -4
  182. package/dist/{chunk-DF73H4UN.js → chunk-NZULV7LK.js} +5 -5
  183. package/dist/chunk-NZULV7LK.js.map +1 -0
  184. package/dist/{chunk-HK67PX4J.js → chunk-OFD2HD6F.js} +1 -1
  185. package/dist/chunk-OFD2HD6F.js.map +1 -0
  186. package/dist/{chunk-WY2XXTET.js → chunk-OJU67C23.js} +4 -4
  187. package/dist/{chunk-WY2XXTET.js.map → chunk-OJU67C23.js.map} +1 -1
  188. package/dist/{chunk-ZUVBC32X.js → chunk-OK57EATL.js} +2 -2
  189. package/dist/{chunk-KJFW62P4.js → chunk-OM3SEDI4.js} +652 -662
  190. package/dist/chunk-OM3SEDI4.js.map +1 -0
  191. package/dist/{chunk-TOPYQ6GA.js → chunk-PCYPXLEX.js} +6 -6
  192. package/dist/{chunk-GYGLAVCX.js → chunk-PFCTSXHU.js} +6 -2
  193. package/dist/chunk-PFCTSXHU.js.map +1 -0
  194. package/dist/{chunk-VNNRUGMM.js → chunk-PGC35KXE.js} +2 -2
  195. package/dist/{chunk-4I522ERM.js → chunk-PT2YCQVK.js} +4 -4
  196. package/dist/{chunk-Z5HTYMMQ.js → chunk-PTJY5R3O.js} +2 -2
  197. package/dist/chunk-PUBI455O.js +157 -0
  198. package/dist/chunk-PUBI455O.js.map +1 -0
  199. package/dist/{chunk-MTL7MXGR.js → chunk-QDHHHI5Q.js} +16 -17
  200. package/dist/chunk-QDHHHI5Q.js.map +1 -0
  201. package/dist/{chunk-F24ZZTHQ.js → chunk-QGFEBNHO.js} +4 -4
  202. package/dist/{chunk-A6IJU4TK.js → chunk-QGSNJD3B.js} +2 -2
  203. package/dist/chunk-QJNAHPVT.js +91 -0
  204. package/dist/chunk-QJNAHPVT.js.map +1 -0
  205. package/dist/{chunk-BK2HHQGN.js → chunk-QSHATAXJ.js} +2 -2
  206. package/dist/{chunk-ANWPSTZU.js → chunk-QXJXG7DN.js} +57 -30
  207. package/dist/chunk-QXJXG7DN.js.map +1 -0
  208. package/dist/{chunk-HBPPGWUM.js → chunk-RDOEOPOI.js} +14 -9
  209. package/dist/chunk-RDOEOPOI.js.map +1 -0
  210. package/dist/{chunk-JCN44NCY.js → chunk-RIZTZJX6.js} +2 -2
  211. package/dist/{chunk-MVZ2TPVP.js → chunk-RNACRT5H.js} +2 -2
  212. package/dist/chunk-RWFQVNXR.js +24 -0
  213. package/dist/chunk-RWFQVNXR.js.map +1 -0
  214. package/dist/{chunk-TROR3ALR.js → chunk-SFCD6OU7.js} +2 -2
  215. package/dist/{chunk-S57HTZ6X.js → chunk-SNM7LSYG.js} +5 -8
  216. package/dist/chunk-SNM7LSYG.js.map +1 -0
  217. package/dist/chunk-SPPOUJLN.js +40 -0
  218. package/dist/chunk-SPPOUJLN.js.map +1 -0
  219. package/dist/{chunk-3ELRMVJK.js → chunk-SWXLZ4HX.js} +31 -35
  220. package/dist/chunk-SWXLZ4HX.js.map +1 -0
  221. package/dist/{chunk-6B3VNR4P.js → chunk-TFWFPZRU.js} +26 -35
  222. package/dist/chunk-TFWFPZRU.js.map +1 -0
  223. package/dist/{chunk-F7XGHL5O.js → chunk-TMIJAR2X.js} +3 -3
  224. package/dist/{chunk-F7XGHL5O.js.map → chunk-TMIJAR2X.js.map} +1 -1
  225. package/dist/{chunk-I3JDRCMW.js → chunk-TZYTMZZY.js} +10 -10
  226. package/dist/{chunk-AOWGXU6D.js → chunk-UAKY6E4N.js} +2 -2
  227. package/dist/chunk-UHFGK6YA.js +40 -0
  228. package/dist/chunk-UHFGK6YA.js.map +1 -0
  229. package/dist/{chunk-3JWHAR6E.js → chunk-UNSQZSZP.js} +2 -2
  230. package/dist/{chunk-FQ5VRHIB.js → chunk-UOZOWN73.js} +5 -9
  231. package/dist/chunk-UOZOWN73.js.map +1 -0
  232. package/dist/{chunk-GHLTDZRS.js → chunk-V55JASXO.js} +25 -4
  233. package/dist/chunk-V55JASXO.js.map +1 -0
  234. package/dist/{chunk-244VXYPG.js → chunk-VSUQI5Q6.js} +45 -4
  235. package/dist/chunk-VSUQI5Q6.js.map +1 -0
  236. package/dist/{chunk-6K7DPM7D.js → chunk-WFWFXDNS.js} +2 -2
  237. package/dist/{chunk-CF5UU4S7.js → chunk-WHOKGHJ3.js} +7 -7
  238. package/dist/{chunk-LGRLME4M.js → chunk-X2RP4TO5.js} +16 -16
  239. package/dist/chunk-X2RP4TO5.js.map +1 -0
  240. package/dist/{chunk-VNPEWFPD.js → chunk-XA34THLF.js} +8 -6
  241. package/dist/chunk-XA34THLF.js.map +1 -0
  242. package/dist/{chunk-HVSCEIYL.js → chunk-XITHENBI.js} +12 -14
  243. package/dist/chunk-XITHENBI.js.map +1 -0
  244. package/dist/{chunk-ENAG3IY7.js → chunk-XKBTJGFP.js} +26 -28
  245. package/dist/chunk-XKBTJGFP.js.map +1 -0
  246. package/dist/{chunk-32YV3TJT.js → chunk-XXNWU5QZ.js} +2 -2
  247. package/dist/{chunk-B57AFBY2.js → chunk-XXQ5XIYY.js} +2 -2
  248. package/dist/{chunk-ORDURZBU.js → chunk-YFFMPZPY.js} +2 -2
  249. package/dist/{chunk-MDWKM2XC.js → chunk-YKGJ44Z7.js} +3 -3
  250. package/dist/{chunk-IUWCVHQ7.js → chunk-YQFBH5ZJ.js} +4 -4
  251. package/dist/{chunk-IUWCVHQ7.js.map → chunk-YQFBH5ZJ.js.map} +1 -1
  252. package/dist/{chunk-UPD5NWI5.js → chunk-Z3ZXVB2Y.js} +29 -16
  253. package/dist/chunk-Z3ZXVB2Y.js.map +1 -0
  254. package/dist/chunk-ZBUAX4EF.js +27 -0
  255. package/dist/chunk-ZBUAX4EF.js.map +1 -0
  256. package/dist/{chunk-MLPHLJIQ.js → chunk-ZHQJAV6D.js} +2 -2
  257. package/dist/{chunk-UD5EVGZ7.js → chunk-ZMVSKYTJ.js} +56 -96
  258. package/dist/chunk-ZMVSKYTJ.js.map +1 -0
  259. package/dist/{chunk-7JE7BDYJ.js → chunk-ZVSKSUGI.js} +5 -5
  260. package/dist/{chunk-J6UOHJY5.js → chunk-ZWF3EWZA.js} +4 -8
  261. package/dist/chunk-ZWF3EWZA.js.map +1 -0
  262. package/dist/classified/index.js +5 -5
  263. package/dist/{classified-marker-W3USLL5M.js → classified-marker-KHDOYIJB.js} +3 -3
  264. package/dist/classified-marker-KHDOYIJB.js.map +1 -0
  265. package/dist/collection-facade-LZIF7GWD.js +41 -0
  266. package/dist/{computed-TPFBX7U4.js → computed-XMFTHAXV.js} +3 -3
  267. package/dist/consent/index.js +10 -11
  268. package/dist/consent/index.js.map +1 -1
  269. package/dist/cover/index.js +9 -10
  270. package/dist/coverage/index.js +1 -1
  271. package/dist/custody/index.js +13 -13
  272. package/dist/{dead-filter-U2UYKSZL.js → dead-filter-CXV5NS67.js} +11 -3
  273. package/dist/dead-filter-CXV5NS67.js.map +1 -0
  274. package/dist/debug/index.js +11 -2
  275. package/dist/debug/index.js.map +1 -1
  276. package/dist/{delegation-S3AEPW2T.js → delegation-ONLM4JFI.js} +52 -31
  277. package/dist/delegation-ONLM4JFI.js.map +1 -0
  278. package/dist/derivations/index.js +25 -25
  279. package/dist/derive-3YSIS36W.js +20 -0
  280. package/dist/directory/index.js +10 -11
  281. package/dist/{dispatch-RH4LHKBH.js → dispatch-2MQFMEGY.js} +22 -23
  282. package/dist/dispatch-2MQFMEGY.js.map +1 -0
  283. package/dist/{dispatch-3CQDJV5Q.js → dispatch-OFDA4WQV.js} +5 -5
  284. package/dist/executor-E6YDJ7YA.js +8 -0
  285. package/dist/executor-NJX3YQQ4.js +35 -0
  286. package/dist/executor-WWM3DD4P.js +8 -0
  287. package/dist/export-accessible-RLHU5G4W.js +22 -0
  288. package/dist/extract-partition-QII2EDCS.js +35 -0
  289. package/dist/{fanout-sidecar-OT6RYLOL.js → fanout-sidecar-BO67PCPO.js} +13 -15
  290. package/dist/fanout-sidecar-BO67PCPO.js.map +1 -0
  291. package/dist/find-6M7GYDUZ.js +10 -0
  292. package/dist/forget/index.js +26 -10
  293. package/dist/forget/index.js.map +1 -1
  294. package/dist/guards/index.js +4 -4
  295. package/dist/history/index.js +13 -14
  296. package/dist/history/index.js.map +1 -1
  297. package/dist/i18n/index.js +14 -15
  298. package/dist/i18n/index.js.map +1 -1
  299. package/dist/index.d.ts +15 -13
  300. package/dist/index.js +198 -187
  301. package/dist/index.js.map +1 -1
  302. package/dist/indexing/index.js +6 -6
  303. package/dist/introspection/index.js +16 -13
  304. package/dist/issue-LPEEEMPP.js +19 -0
  305. package/dist/kernel/attestation-types.d.ts +62 -0
  306. package/dist/kernel/cache/index.d.ts +1 -1
  307. package/dist/kernel/collection-config.d.ts +1 -48
  308. package/dist/kernel/collection.d.ts +2 -1
  309. package/dist/kernel/cutover-transform.d.ts +1 -1
  310. package/dist/kernel/errors.d.ts +63 -6
  311. package/dist/kernel/export-scope.d.ts +40 -0
  312. package/dist/kernel/merge-authority.d.ts +1 -1
  313. package/dist/kernel/noydb.d.ts +3 -1
  314. package/dist/kernel/paths.d.ts +29 -5
  315. package/dist/kernel/prepared-write.d.ts +1 -1
  316. package/dist/kernel/put-many-atomic.d.ts +1 -1
  317. package/dist/kernel/query/live/live.d.ts +2 -1
  318. package/dist/kernel/query/sort-key.d.ts +0 -2
  319. package/dist/kernel/secret-mode.d.ts +1 -1
  320. package/dist/kernel/tx-write-gate.d.ts +2 -4
  321. package/dist/kernel/types.d.ts +135 -11
  322. package/dist/kernel/validation.d.ts +0 -10
  323. package/dist/kernel/vault.d.ts +6 -2
  324. package/dist/kernel/via/reconcile.d.ts +1 -42
  325. package/dist/kernel/write-queue.d.ts +17 -0
  326. package/dist/{ledger-KZPCMVZY.js → ledger-MSJGWKGW.js} +11 -12
  327. package/dist/liberate-LEKDYKTC.js +25 -0
  328. package/dist/link-set-QXXSPPHL.js +29 -0
  329. package/dist/{managed-secret-S3MQ6SH6.js → managed-secret-VSK7ANQI.js} +10 -11
  330. package/dist/materialized-views/index.js +27 -28
  331. package/dist/{migrate-cek-V7GKJZ7O.js → migrate-cek-GEBFYBDC.js} +2 -2
  332. package/dist/money/index.js +5 -5
  333. package/dist/noydb-F2AUF6KL.js +98 -0
  334. package/dist/on/index.js +25 -0
  335. package/dist/overlay-views/index.js +4 -4
  336. package/dist/periods/index.js +12 -13
  337. package/dist/pod/index.js +76 -74
  338. package/dist/{pod-handle-WGDFB4C2.js → pod-handle-YE7CT66T.js} +10 -11
  339. package/dist/pod-handle-YE7CT66T.js.map +1 -0
  340. package/dist/policy/index.js +10 -11
  341. package/dist/port/as/active.d.ts +4 -0
  342. package/dist/port/as/index.d.ts +1 -0
  343. package/dist/port/by/index.d.ts +14 -5
  344. package/dist/port/on/index.d.ts +27 -1
  345. package/dist/port/to/index.d.ts +1 -1
  346. package/dist/port/with/blob-strategy.d.ts +1 -1
  347. package/dist/port/with/broker-strategy.d.ts +14 -0
  348. package/dist/port/with/classified-strategy.d.ts +1 -1
  349. package/dist/port/with/collection-options.d.ts +1 -1
  350. package/dist/port/with/collection-registries.d.ts +1 -1
  351. package/dist/port/with/coverage-strategy.d.ts +17 -1
  352. package/dist/port/with/formats-strategy.d.ts +34 -1
  353. package/dist/port/with/lookup-strategy.d.ts +87 -6
  354. package/dist/port/with/service-bus.d.ts +2 -1
  355. package/dist/portability/index.js +8 -8
  356. package/dist/{post-register-SLSXIPBV.js → post-register-QC5TEAW3.js} +6 -6
  357. package/dist/post-register-QC5TEAW3.js.map +1 -0
  358. package/dist/query/all/index.js +16 -16
  359. package/dist/query/index.js +8 -8
  360. package/dist/query/live/index.js +7 -7
  361. package/dist/query/reduce/index.js +10 -10
  362. package/dist/query/relate/index.js +10 -10
  363. package/dist/reduce/index.js +8 -8
  364. package/dist/register-SN72QALV.js +30 -0
  365. package/dist/registry-253FF7C6.js +35 -0
  366. package/dist/registry-3AZWQTDT.js +23 -0
  367. package/dist/registry-7UEBTHWG.js +8 -0
  368. package/dist/registry-IVJ67NFQ.js +8 -0
  369. package/dist/request-withdrawal-UKVJZKX2.js +28 -0
  370. package/dist/{reveal-4BCKPEC2.js → reveal-YQTRNQFH.js} +10 -9
  371. package/dist/reveal-YQTRNQFH.js.map +1 -0
  372. package/dist/revoke-G2KXJQA5.js +24 -0
  373. package/dist/satellites/index.js +1 -1
  374. package/dist/schema-update/index.js +2 -2
  375. package/dist/sealed-record/index.js +16 -18
  376. package/dist/sealed-record/index.js.map +1 -1
  377. package/dist/search/index.js +4 -4
  378. package/dist/{seed-4JS2RJ4A.js → seed-JMQTRKRE.js} +125 -34
  379. package/dist/seed-JMQTRKRE.js.map +1 -0
  380. package/dist/sequence/index.js +9 -10
  381. package/dist/session/index.js +9 -10
  382. package/dist/session/index.js.map +1 -1
  383. package/dist/shadow/index.js +2 -2
  384. package/dist/signer-IUIYR3CX.js +23 -0
  385. package/dist/snapshots/index.js +11 -11
  386. package/dist/stale-SKV33PBU.js +28 -0
  387. package/dist/storage-NPBYP2SM.js +21 -0
  388. package/dist/store/index.js +1 -1
  389. package/dist/{store-coordination-provider-2O2VUHKW.js → store-coordination-provider-Z6HKPOGM.js} +11 -12
  390. package/dist/store-coordination-provider-Z6HKPOGM.js.map +1 -0
  391. package/dist/sync/index.js +18 -13
  392. package/dist/sync/index.js.map +1 -1
  393. package/dist/team/index.js +18 -17
  394. package/dist/tiers/index.js +11 -12
  395. package/dist/to/index.js +2 -2
  396. package/dist/transactions/index.js +3 -3
  397. package/dist/util/index.js +1 -1
  398. package/dist/vault-head/index.js +11 -14
  399. package/dist/vault-head/index.js.map +1 -1
  400. package/dist/{verify-RVT67IMH.js → verify-KWQIWLGH.js} +14 -12
  401. package/dist/verify-KWQIWLGH.js.map +1 -0
  402. package/dist/via/classified/binding.d.ts +2 -2
  403. package/dist/via/classified/config-drift.d.ts +2 -2
  404. package/dist/via/classified/errors.d.ts +1 -1
  405. package/dist/via/classified/presets.d.ts +29 -0
  406. package/dist/via/classified/resolve.d.ts +7 -0
  407. package/dist/via/geo/binding.d.ts +0 -4
  408. package/dist/via/lookup/handle.d.ts +4 -4
  409. package/dist/via/lookup/index.d.ts +32 -0
  410. package/dist/via/money/binding.d.ts +0 -9
  411. package/dist/walk-F4OLXI5H.js +20 -0
  412. package/dist/with-audit/attestation/index.d.ts +2 -1
  413. package/dist/with-audit/attestation/issue.d.ts +2 -2
  414. package/dist/with-audit/attestation/revoke.d.ts +2 -2
  415. package/dist/with-audit/attestation/scheme.d.ts +7 -0
  416. package/dist/with-audit/attestation/signer.d.ts +1 -1
  417. package/dist/with-audit/attestation/strategy.d.ts +4 -3
  418. package/dist/with-audit/attestation/types.d.ts +10 -0
  419. package/dist/with-audit/attestation/vault-facade.d.ts +9 -2
  420. package/dist/with-audit/attestation/verifier.d.ts +6 -0
  421. package/dist/with-audit/consent/consent.d.ts +1 -1
  422. package/dist/with-audit/consent/strategy.d.ts +1 -1
  423. package/dist/with-audit/forget/completeness.d.ts +66 -0
  424. package/dist/with-audit/forget/index.d.ts +2 -0
  425. package/dist/with-audit/forget/strategy.d.ts +65 -0
  426. package/dist/with-audit/forget/subject-index.d.ts +1 -1
  427. package/dist/with-audit/periods/periods.d.ts +0 -9
  428. package/dist/with-audit/periods/reserved-collections.d.ts +7 -0
  429. package/dist/with-audit/periods/vault-facade.d.ts +1 -1
  430. package/dist/with-audit/portability/request-withdrawal.d.ts +0 -1
  431. package/dist/with-audit/portability/withdraw-accessible.d.ts +0 -1
  432. package/dist/with-audit/sealed-record/index.d.ts +2 -2
  433. package/dist/with-audit/sealed-record/strategy.d.ts +1 -1
  434. package/dist/with-audit/tiers/index.d.ts +3 -3
  435. package/dist/with-audit/tiers/strategy.d.ts +19 -0
  436. package/dist/with-cargo/adopt-partition.d.ts +1 -1
  437. package/dist/with-cargo/extract-partition.d.ts +1 -47
  438. package/dist/with-cargo/floor.d.ts +1 -1
  439. package/dist/with-commit/history/history.d.ts +2 -2
  440. package/dist/with-commit/history/index.d.ts +1 -1
  441. package/dist/with-commit/history/ledger/store.d.ts +1 -1
  442. package/dist/with-commit/history/strategy.d.ts +1 -1
  443. package/dist/with-commit/history/time-machine.d.ts +1 -1
  444. package/dist/with-commit/numbering/index.d.ts +1 -3
  445. package/dist/with-commit/sequence/index.d.ts +1 -1
  446. package/dist/with-commit/tx/transaction.d.ts +2 -24
  447. package/dist/with-commit/vault-head/head.d.ts +1 -1
  448. package/dist/with-commit/vault-head/index.d.ts +1 -1
  449. package/dist/with-commit/vault-head/strategy.d.ts +8 -1
  450. package/dist/with-commit/vault-head/verify.d.ts +1 -1
  451. package/dist/with-fork/snapshots/noydb-facade.d.ts +7 -0
  452. package/dist/with-formula/derivations/dispatch.d.ts +1 -1
  453. package/dist/with-formula/derivations/fanout-sidecar.d.ts +1 -1
  454. package/dist/with-formula/derivations/trigger-match.d.ts +8 -5
  455. package/dist/with-formula/materialized-views/emit-memo.d.ts +0 -2
  456. package/dist/with-lookup/embeddings/index.d.ts +1 -2
  457. package/dist/with-lookup/indexing/collection-facade.d.ts +2 -16
  458. package/dist/with-lookup/indexing/eager-indexes.d.ts +2 -1
  459. package/dist/with-lookup/search/collection-facade.d.ts +1 -13
  460. package/dist/with-party/broker/index.d.ts +4 -4
  461. package/dist/with-party/broker/seed.d.ts +25 -10
  462. package/dist/with-party/directory/user-envelope/storage.d.ts +1 -1
  463. package/dist/with-party/policy/noydb-facade.d.ts +1 -31
  464. package/dist/with-party/team/delegation.d.ts +59 -3
  465. package/dist/with-party/team/echo-secret.d.ts +2 -4
  466. package/dist/with-party/team/index.d.ts +1 -1
  467. package/dist/with-party/team/keyring.d.ts +2 -22
  468. package/dist/with-party/team/magic-link-grant.d.ts +12 -2
  469. package/dist/with-party/team/noydb-facade.d.ts +5 -0
  470. package/dist/with-party/team/recovery.d.ts +1 -1
  471. package/dist/with-party/team/reserved-secret-collections.d.ts +10 -8
  472. package/dist/with-party/team/roster-tag.d.ts +43 -2
  473. package/dist/with-party/team/rotate-recover.d.ts +1 -1
  474. package/dist/with-party/team/tiers.d.ts +36 -5
  475. package/dist/with-party/team/wrapped-deks.d.ts +1 -1
  476. package/dist/with-pod/index.d.ts +1 -1
  477. package/dist/with-shape/blobs/blob-compaction.d.ts +1 -1
  478. package/dist/with-shape/blobs/blob-intent.d.ts +1 -1
  479. package/dist/with-shape/blobs/blob-set.d.ts +25 -2
  480. package/dist/with-shape/blobs/legacy-sweep.d.ts +17 -1
  481. package/dist/with-shape/introspection/describe.d.ts +2 -3
  482. package/dist/with-shape/introspection/index.d.ts +1 -0
  483. package/dist/with-shape/introspection/types.d.ts +2 -1
  484. package/dist/with-shape/introspection/walk.d.ts +1 -1
  485. package/dist/with-shape/links/lazy-handle.d.ts +1 -1
  486. package/dist/with-shape/links/link-set.d.ts +1 -1
  487. package/dist/with-shape/manifest/derive.d.ts +1 -1
  488. package/dist/with-shape/manifest/storage.d.ts +1 -1
  489. package/dist/with-shape/persisted-schemas/register.d.ts +1 -1
  490. package/dist/with-shape/persisted-schemas/storage.d.ts +1 -1
  491. package/dist/with-shape/satellites/dead-filter.d.ts +1 -1
  492. package/dist/with-shape/satellites/declare.d.ts +1 -1
  493. package/dist/with-shape/satellites/marker.d.ts +1 -1
  494. package/dist/with-shape/satellites/post-register.d.ts +1 -1
  495. package/dist/with-shape/schema-update/fence.d.ts +7 -0
  496. package/dist/with-sync/engine.d.ts +30 -1
  497. package/dist/with-sync/presence.d.ts +5 -10
  498. package/dist/with-sync/reserved-mirror.d.ts +89 -0
  499. package/dist/with-sync/strategy.d.ts +7 -0
  500. package/dist/with-sync/tab-write-relay.d.ts +0 -10
  501. package/dist/withdraw-accessible-ZKPLZ66E.js +25 -0
  502. package/dist/withdraw-accessible-ZKPLZ66E.js.map +1 -0
  503. package/package.json +14 -5
  504. package/dist/api-GVYEKSJE.js +0 -19
  505. package/dist/backup-7TFRVFLH.js.map +0 -1
  506. package/dist/chunk-244VXYPG.js.map +0 -1
  507. package/dist/chunk-3ELRMVJK.js.map +0 -1
  508. package/dist/chunk-3F7GLNAE.js.map +0 -1
  509. package/dist/chunk-3H5KLDZN.js.map +0 -1
  510. package/dist/chunk-5FDLC6G7.js.map +0 -1
  511. package/dist/chunk-6B3VNR4P.js.map +0 -1
  512. package/dist/chunk-6LNL42F5.js.map +0 -1
  513. package/dist/chunk-6QSQQLSE.js +0 -95
  514. package/dist/chunk-6QSQQLSE.js.map +0 -1
  515. package/dist/chunk-7VCXZDA4.js.map +0 -1
  516. package/dist/chunk-ANWPSTZU.js.map +0 -1
  517. package/dist/chunk-BP6DARYA.js.map +0 -1
  518. package/dist/chunk-BUDAGWL5.js.map +0 -1
  519. package/dist/chunk-CKNGS5MH.js.map +0 -1
  520. package/dist/chunk-DC5QVPV7.js.map +0 -1
  521. package/dist/chunk-DE4DH2RZ.js +0 -29
  522. package/dist/chunk-DE4DH2RZ.js.map +0 -1
  523. package/dist/chunk-DF73H4UN.js.map +0 -1
  524. package/dist/chunk-EIPVYUEP.js.map +0 -1
  525. package/dist/chunk-ENAG3IY7.js.map +0 -1
  526. package/dist/chunk-FCKWQE2H.js.map +0 -1
  527. package/dist/chunk-FFWI7UH7.js.map +0 -1
  528. package/dist/chunk-FQ54DWUQ.js.map +0 -1
  529. package/dist/chunk-FQ5VRHIB.js.map +0 -1
  530. package/dist/chunk-GF5BZ7D4.js.map +0 -1
  531. package/dist/chunk-GHLTDZRS.js.map +0 -1
  532. package/dist/chunk-GYGLAVCX.js.map +0 -1
  533. package/dist/chunk-HBPPGWUM.js.map +0 -1
  534. package/dist/chunk-HK67PX4J.js.map +0 -1
  535. package/dist/chunk-HVSCEIYL.js.map +0 -1
  536. package/dist/chunk-IEX7NK2K.js +0 -125
  537. package/dist/chunk-IEX7NK2K.js.map +0 -1
  538. package/dist/chunk-ISZQJBML.js.map +0 -1
  539. package/dist/chunk-J6UOHJY5.js.map +0 -1
  540. package/dist/chunk-KJFW62P4.js.map +0 -1
  541. package/dist/chunk-L7DOS3TE.js.map +0 -1
  542. package/dist/chunk-LGNDFRYC.js.map +0 -1
  543. package/dist/chunk-LGRLME4M.js.map +0 -1
  544. package/dist/chunk-LP7BEXCT.js +0 -32
  545. package/dist/chunk-LP7BEXCT.js.map +0 -1
  546. package/dist/chunk-LQ4ZHOKP.js.map +0 -1
  547. package/dist/chunk-M522UYZ2.js.map +0 -1
  548. package/dist/chunk-M7NI3IWE.js.map +0 -1
  549. package/dist/chunk-MTL7MXGR.js.map +0 -1
  550. package/dist/chunk-N5DNADLQ.js.map +0 -1
  551. package/dist/chunk-NNARWO72.js.map +0 -1
  552. package/dist/chunk-NRT6QZQB.js.map +0 -1
  553. package/dist/chunk-NWHBJQAL.js.map +0 -1
  554. package/dist/chunk-ODVPTDPK.js.map +0 -1
  555. package/dist/chunk-PDCG6PR5.js.map +0 -1
  556. package/dist/chunk-PEOZ34EM.js.map +0 -1
  557. package/dist/chunk-PSIV7CJV.js.map +0 -1
  558. package/dist/chunk-QBBUZ3I3.js.map +0 -1
  559. package/dist/chunk-QOOUUR4A.js.map +0 -1
  560. package/dist/chunk-QWFHIOD2.js.map +0 -1
  561. package/dist/chunk-QWGU66MP.js.map +0 -1
  562. package/dist/chunk-RHVMZSUU.js.map +0 -1
  563. package/dist/chunk-S57HTZ6X.js.map +0 -1
  564. package/dist/chunk-SEE332EV.js +0 -66
  565. package/dist/chunk-SEE332EV.js.map +0 -1
  566. package/dist/chunk-SOIQ4MM4.js +0 -20
  567. package/dist/chunk-SOIQ4MM4.js.map +0 -1
  568. package/dist/chunk-SYVZW77S.js.map +0 -1
  569. package/dist/chunk-T2LBQ5DV.js.map +0 -1
  570. package/dist/chunk-UBSFPGVJ.js +0 -1
  571. package/dist/chunk-UD5EVGZ7.js.map +0 -1
  572. package/dist/chunk-UPD5NWI5.js.map +0 -1
  573. package/dist/chunk-UYB234ZR.js +0 -479
  574. package/dist/chunk-UYB234ZR.js.map +0 -1
  575. package/dist/chunk-VNPEWFPD.js.map +0 -1
  576. package/dist/chunk-WX5ADGTZ.js.map +0 -1
  577. package/dist/chunk-X4773RBR.js.map +0 -1
  578. package/dist/chunk-YNIUIERI.js.map +0 -1
  579. package/dist/chunk-YSK2CU2Q.js.map +0 -1
  580. package/dist/chunk-ZE4CHIED.js.map +0 -1
  581. package/dist/chunk-ZXABPVM6.js.map +0 -1
  582. package/dist/classified-marker-W3USLL5M.js.map +0 -1
  583. package/dist/collection-facade-QU6IJBN3.js +0 -48
  584. package/dist/dead-filter-U2UYKSZL.js.map +0 -1
  585. package/dist/delegation-S3AEPW2T.js.map +0 -1
  586. package/dist/derive-OX7F6TGG.js +0 -21
  587. package/dist/dispatch-RH4LHKBH.js.map +0 -1
  588. package/dist/executor-B6SRO2QS.js +0 -36
  589. package/dist/executor-BI5CHWRY.js +0 -8
  590. package/dist/executor-RBKM5W5K.js +0 -8
  591. package/dist/export-accessible-VMA3YM5V.js +0 -22
  592. package/dist/extract-partition-NF7PXGPP.js +0 -37
  593. package/dist/fanout-sidecar-OT6RYLOL.js.map +0 -1
  594. package/dist/find-LZMP26KF.js +0 -10
  595. package/dist/issue-IHARXWW5.js +0 -18
  596. package/dist/kernel/enclave/classify/compare.d.ts +0 -10
  597. package/dist/kernel/enclave/index.d.ts +0 -87
  598. package/dist/kernel/enclave/record-keys/lifecycle.d.ts +0 -124
  599. package/dist/kernel/enclave/record-keys/rekey-blob.d.ts +0 -88
  600. package/dist/kernel/enclave/record-keys/rekey.d.ts +0 -91
  601. package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +0 -14
  602. package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +0 -123
  603. package/dist/kernel/enclave/record-keys/sealing.d.ts +0 -70
  604. package/dist/liberate-GRLCZMW4.js +0 -24
  605. package/dist/link-set-JCMJ7ULP.js +0 -30
  606. package/dist/noydb-SWQJ3MZS.js +0 -97
  607. package/dist/pod-handle-WGDFB4C2.js.map +0 -1
  608. package/dist/post-register-SLSXIPBV.js.map +0 -1
  609. package/dist/register-F3OYE7MJ.js +0 -31
  610. package/dist/registry-CILQFXFK.js +0 -8
  611. package/dist/registry-XNNYQVKV.js +0 -8
  612. package/dist/registry-YCDZV3VW.js +0 -35
  613. package/dist/registry-ZGYS33TE.js +0 -24
  614. package/dist/request-withdrawal-Z5NC6TXT.js +0 -30
  615. package/dist/reveal-4BCKPEC2.js.map +0 -1
  616. package/dist/revoke-ZL62WC2D.js +0 -23
  617. package/dist/seed-4JS2RJ4A.js.map +0 -1
  618. package/dist/signer-MBZZMXTC.js +0 -24
  619. package/dist/stale-TJ3DYZMQ.js +0 -29
  620. package/dist/storage-SVMKRGCW.js +0 -22
  621. package/dist/store-coordination-provider-2O2VUHKW.js.map +0 -1
  622. package/dist/verify-RVT67IMH.js.map +0 -1
  623. package/dist/walk-HJ42EISE.js +0 -21
  624. package/dist/withdraw-accessible-5NZUPAVA.js +0 -27
  625. /package/dist/{api-GVYEKSJE.js.map → api-MSJXVYQG.js.map} +0 -0
  626. /package/dist/{collection-facade-QU6IJBN3.js.map → capsule/contract.js.map} +0 -0
  627. /package/dist/{kernel/enclave → capsule/enclave-aes}/classify/bidx.d.ts +0 -0
  628. /package/dist/{kernel/enclave → capsule/enclave-aes}/classify/digest.d.ts +0 -0
  629. /package/dist/{kernel/enclave → capsule/enclave-aes}/classify/vdig.d.ts +0 -0
  630. /package/dist/{kernel/enclave/classify → capsule/plumbing}/kofn.d.ts +0 -0
  631. /package/dist/{kernel/enclave/classify → capsule/plumbing}/normalize.d.ts +0 -0
  632. /package/dist/{kernel/enclave → capsule/plumbing}/record-aad.d.ts +0 -0
  633. /package/dist/{chunk-UBSFPGVJ.js.map → capsule-57BDK7LG.js.map} +0 -0
  634. /package/dist/{computed-TPFBX7U4.js.map → chunk-2DX4JCRI.js.map} +0 -0
  635. /package/dist/{chunk-ZSX4S5XB.js.map → chunk-2ZFD2UJC.js.map} +0 -0
  636. /package/dist/{chunk-HT2AHGQI.js.map → chunk-3Y5JLSXS.js.map} +0 -0
  637. /package/dist/{chunk-SI3V7D4G.js.map → chunk-4UIP3QNW.js.map} +0 -0
  638. /package/dist/{chunk-WNJ4AVGE.js.map → chunk-55P6OBB7.js.map} +0 -0
  639. /package/dist/{chunk-MKXXMNJH.js.map → chunk-5UUJE4FP.js.map} +0 -0
  640. /package/dist/{chunk-FW22ZCXT.js.map → chunk-6WS35E6X.js.map} +0 -0
  641. /package/dist/{chunk-6OWXYZK2.js.map → chunk-B65CC6Z6.js.map} +0 -0
  642. /package/dist/{chunk-F2TDU7MQ.js.map → chunk-BJH77UY2.js.map} +0 -0
  643. /package/dist/{chunk-BJ2IXQ5Q.js.map → chunk-BNFNQNEP.js.map} +0 -0
  644. /package/dist/{chunk-HLEK5VAN.js.map → chunk-BUE7R3B5.js.map} +0 -0
  645. /package/dist/{chunk-EOVMT6TB.js.map → chunk-C53ER7AG.js.map} +0 -0
  646. /package/dist/{chunk-K6W7BVZ6.js.map → chunk-CAD7N6HQ.js.map} +0 -0
  647. /package/dist/{chunk-5O7D6ZTW.js.map → chunk-DHU2AQ6T.js.map} +0 -0
  648. /package/dist/{chunk-IT22PWKV.js.map → chunk-ECGXA4LT.js.map} +0 -0
  649. /package/dist/{chunk-4MXI3ODD.js.map → chunk-GCUMOKTN.js.map} +0 -0
  650. /package/dist/{chunk-B6SJIBQK.js.map → chunk-GOJQ5DZA.js.map} +0 -0
  651. /package/dist/{chunk-TKUOEU2F.js.map → chunk-JSWKVZCR.js.map} +0 -0
  652. /package/dist/{chunk-X25NWUZB.js.map → chunk-L5A3KR7R.js.map} +0 -0
  653. /package/dist/{chunk-T52GX4SA.js.map → chunk-LGGIFKJP.js.map} +0 -0
  654. /package/dist/{chunk-ID6Z6E66.js.map → chunk-MQ7YWBQ5.js.map} +0 -0
  655. /package/dist/{chunk-FN5EBVTQ.js.map → chunk-NIXRB5BP.js.map} +0 -0
  656. /package/dist/{chunk-HBRLNOHL.js.map → chunk-NYJBYVBG.js.map} +0 -0
  657. /package/dist/{chunk-ZUVBC32X.js.map → chunk-OK57EATL.js.map} +0 -0
  658. /package/dist/{chunk-TOPYQ6GA.js.map → chunk-PCYPXLEX.js.map} +0 -0
  659. /package/dist/{chunk-VNNRUGMM.js.map → chunk-PGC35KXE.js.map} +0 -0
  660. /package/dist/{chunk-4I522ERM.js.map → chunk-PT2YCQVK.js.map} +0 -0
  661. /package/dist/{chunk-Z5HTYMMQ.js.map → chunk-PTJY5R3O.js.map} +0 -0
  662. /package/dist/{chunk-F24ZZTHQ.js.map → chunk-QGFEBNHO.js.map} +0 -0
  663. /package/dist/{chunk-A6IJU4TK.js.map → chunk-QGSNJD3B.js.map} +0 -0
  664. /package/dist/{chunk-BK2HHQGN.js.map → chunk-QSHATAXJ.js.map} +0 -0
  665. /package/dist/{chunk-JCN44NCY.js.map → chunk-RIZTZJX6.js.map} +0 -0
  666. /package/dist/{chunk-MVZ2TPVP.js.map → chunk-RNACRT5H.js.map} +0 -0
  667. /package/dist/{chunk-TROR3ALR.js.map → chunk-SFCD6OU7.js.map} +0 -0
  668. /package/dist/{chunk-I3JDRCMW.js.map → chunk-TZYTMZZY.js.map} +0 -0
  669. /package/dist/{chunk-AOWGXU6D.js.map → chunk-UAKY6E4N.js.map} +0 -0
  670. /package/dist/{chunk-3JWHAR6E.js.map → chunk-UNSQZSZP.js.map} +0 -0
  671. /package/dist/{chunk-6K7DPM7D.js.map → chunk-WFWFXDNS.js.map} +0 -0
  672. /package/dist/{chunk-CF5UU4S7.js.map → chunk-WHOKGHJ3.js.map} +0 -0
  673. /package/dist/{chunk-32YV3TJT.js.map → chunk-XXNWU5QZ.js.map} +0 -0
  674. /package/dist/{chunk-B57AFBY2.js.map → chunk-XXQ5XIYY.js.map} +0 -0
  675. /package/dist/{chunk-ORDURZBU.js.map → chunk-YFFMPZPY.js.map} +0 -0
  676. /package/dist/{chunk-MDWKM2XC.js.map → chunk-YKGJ44Z7.js.map} +0 -0
  677. /package/dist/{chunk-MLPHLJIQ.js.map → chunk-ZHQJAV6D.js.map} +0 -0
  678. /package/dist/{chunk-7JE7BDYJ.js.map → chunk-ZVSKSUGI.js.map} +0 -0
  679. /package/dist/{derive-OX7F6TGG.js.map → collection-facade-LZIF7GWD.js.map} +0 -0
  680. /package/dist/{enclave-27SMF6GF.js.map → computed-XMFTHAXV.js.map} +0 -0
  681. /package/dist/{executor-B6SRO2QS.js.map → derive-3YSIS36W.js.map} +0 -0
  682. /package/dist/{dispatch-3CQDJV5Q.js.map → dispatch-OFDA4WQV.js.map} +0 -0
  683. /package/dist/{executor-BI5CHWRY.js.map → executor-E6YDJ7YA.js.map} +0 -0
  684. /package/dist/{executor-RBKM5W5K.js.map → executor-NJX3YQQ4.js.map} +0 -0
  685. /package/dist/{export-accessible-VMA3YM5V.js.map → executor-WWM3DD4P.js.map} +0 -0
  686. /package/dist/{extract-partition-NF7PXGPP.js.map → export-accessible-RLHU5G4W.js.map} +0 -0
  687. /package/dist/{find-LZMP26KF.js.map → extract-partition-QII2EDCS.js.map} +0 -0
  688. /package/dist/{issue-IHARXWW5.js.map → find-6M7GYDUZ.js.map} +0 -0
  689. /package/dist/{ledger-KZPCMVZY.js.map → issue-LPEEEMPP.js.map} +0 -0
  690. /package/dist/{liberate-GRLCZMW4.js.map → ledger-MSJGWKGW.js.map} +0 -0
  691. /package/dist/{link-set-JCMJ7ULP.js.map → liberate-LEKDYKTC.js.map} +0 -0
  692. /package/dist/{managed-secret-S3MQ6SH6.js.map → link-set-QXXSPPHL.js.map} +0 -0
  693. /package/dist/{noydb-SWQJ3MZS.js.map → managed-secret-VSK7ANQI.js.map} +0 -0
  694. /package/dist/{migrate-cek-V7GKJZ7O.js.map → migrate-cek-GEBFYBDC.js.map} +0 -0
  695. /package/dist/{register-F3OYE7MJ.js.map → noydb-F2AUF6KL.js.map} +0 -0
  696. /package/dist/{registry-CILQFXFK.js.map → register-SN72QALV.js.map} +0 -0
  697. /package/dist/{registry-XNNYQVKV.js.map → registry-253FF7C6.js.map} +0 -0
  698. /package/dist/{registry-YCDZV3VW.js.map → registry-3AZWQTDT.js.map} +0 -0
  699. /package/dist/{registry-ZGYS33TE.js.map → registry-7UEBTHWG.js.map} +0 -0
  700. /package/dist/{request-withdrawal-Z5NC6TXT.js.map → registry-IVJ67NFQ.js.map} +0 -0
  701. /package/dist/{revoke-ZL62WC2D.js.map → request-withdrawal-UKVJZKX2.js.map} +0 -0
  702. /package/dist/{signer-MBZZMXTC.js.map → revoke-G2KXJQA5.js.map} +0 -0
  703. /package/dist/{stale-TJ3DYZMQ.js.map → signer-IUIYR3CX.js.map} +0 -0
  704. /package/dist/{storage-SVMKRGCW.js.map → stale-SKV33PBU.js.map} +0 -0
  705. /package/dist/{walk-HJ42EISE.js.map → storage-NPBYP2SM.js.map} +0 -0
  706. /package/dist/{withdraw-accessible-5NZUPAVA.js.map → walk-F4OLXI5H.js.map} +0 -0
@@ -39,6 +39,6 @@ export { beginEchoUnlock } from './echo-ceremony.js';
39
39
  export type { BeginEchoUnlockOptions, EchoCeremony } from './echo-ceremony.js';
40
40
  export { MemoryDeviceSeal } from './device-seal.js';
41
41
  export type { NoydbDeviceSeal } from './device-seal.js';
42
- export type { EchoSecretParts } from '../../kernel/enclave/index.js';
42
+ export type { EchoSecretParts } from '../../capsule/index.js';
43
43
  export type { KeyringEchoBlock, NoydbStore } from '../../kernel/types.js';
44
44
  export { describeAuthConfig, diagramAuthConfig, describeUserAuth, describeAllUsersAuth, } from '../auth-introspection/index.js';
@@ -1,5 +1,5 @@
1
1
  import type { NoydbStore, KeyringFile, KeyringAuthenticator, Role, Permissions, GrantOptions, RevokeOptions, UpdateUserOptions, UserInfo, EncryptedEnvelope, ExportCapability, ExportFormat, ImportCapability, VaultPolicyOnDisk, UserEnvelope } from '../../kernel/types.js';
2
- import { type EnclaveKey, type EchoSecretParts } from '../../kernel/enclave/index.js';
2
+ import { type EnclaveKey, type EchoSecretParts } from '../../capsule/index.js';
3
3
  import type { KeyringTamperedReason } from '../../kernel/errors.js';
4
4
  import { type SecretPolicy, type EchoSecretPolicy } from '../../kernel/validation.js';
5
5
  import type { NoydbDeviceSeal } from './device-seal.js';
@@ -85,17 +85,6 @@ export interface UnlockedKeyring {
85
85
  }
86
86
  /** Mint a fresh wrapped-canary string. Deterministic for a given KEK. */
87
87
  export declare function mintKeyringCanary(kek: EnclaveKey): Promise<string>;
88
- /**
89
- * The vault roster key held by this keyring, or `null` when the keyring
90
- * carries none.
91
- *
92
- * Null is expected on the resume-style paths (`kek: null` sessions, tier-3
93
- * PIN resume, plaintext mode) — none of which may write a keyring file.
94
- * Every stamping site null-guards this exactly as it guards `kek`: minting a
95
- * file without a verifiable `roster_tag` would be worse than refusing, since
96
- * it is indistinguishable on the next load from a store having stripped it.
97
- */
98
- export declare function rosterKeyOf(keyring: UnlockedKeyring): EnclaveKey | null;
99
88
  /**
100
89
  * Shared wording for the stamping-site guards — mirrors the `kek` guard's shape.
101
90
  * Exported so every roster-stamping site in the hub raises ONE error with one
@@ -120,6 +109,7 @@ export interface LoadKeyringOptions {
120
109
  */
121
110
  export declare function deriveKekForKeyring(file: KeyringFile, secret: string | EchoSecretParts, salt: Uint8Array): Promise<EnclaveKey>;
122
111
  /** Parse a raw keyring envelope. Single sanctioned reader of `_data` for keyring files. */
112
+ /** Parse a keyring envelope's body. Exported for `keyring-mirror.ts` (core#75) — the one non-crypto reader. */
123
113
  export declare function parseKeyringEnvelope(envelope: EncryptedEnvelope): KeyringFile;
124
114
  /** Fetch + parse a user's keyring file; undefined when the row is missing. */
125
115
  export declare function readKeyringFile(store: NoydbStore, vault: string, userId: string): Promise<{
@@ -513,16 +503,6 @@ export declare function listUsersWithEnvelopes<T = unknown>(store: NoydbStore, v
513
503
  envelope: UserEnvelope<T> | null;
514
504
  }>>;
515
505
  export declare function ensureCollectionDEK(store: NoydbStore, vault: string, keyring: UnlockedKeyring): Promise<(collectionName: string) => Promise<EnclaveKey>>;
516
- /**
517
- * The `Permissions` catch-all key (#1010). `Permissions` has always documented
518
- * `'*'` as "the wildcard collection matching all collections in the vault", but
519
- * nothing expanded it — a grantee handed the documented catch-all got no keys
520
- * at all. It is honoured in three places, and they must agree: the DEK wrapping
521
- * in `grant()`, and both permission checks below.
522
- */
523
- export declare const PERMISSION_WILDCARD = "*";
524
- /** Does this permission map hand over the whole vault? */
525
- export declare function permissionsAreWildcard(permissions: Permissions | undefined): boolean;
526
506
  /** Check if a user has write permission for a collection. */
527
507
  export declare function hasWritePermission(keyring: UnlockedKeyring, collectionName: string): boolean;
528
508
  /** Check if a user has any access to a collection. */
@@ -49,12 +49,22 @@
49
49
  */
50
50
  import type { NoydbStore } from '../../kernel/types.js';
51
51
  import type { UnlockedKeyring } from './keyring.js';
52
- import { type EnclaveKey } from '../../kernel/enclave/index.js';
52
+ import { type EnclaveKey } from '../../capsule/index.js';
53
53
  /** Reserved collection holding magic-link grant envelopes. */
54
54
  export declare const MAGIC_LINK_GRANTS_COLLECTION = "_magic_link_grants";
55
55
  /** HKDF `info` for the AES-GCM content key. Version-namespaced. */
56
56
  export declare const MAGIC_LINK_CONTENT_INFO_PREFIX = "noydb-magic-link-content-v1:";
57
- /** HKDF `info` for the AES-KW KEK. Matches `@noy-db/on-magic-link`. */
57
+ /**
58
+ * HKDF `info` for the AES-KW KEK. Matches `@noy-db/on-magic-link`.
59
+ *
60
+ * No importer inside hub, and that is not a defect: this is one half of a
61
+ * CROSS-PACKAGE protocol constant. The satellite derives the same KEK from
62
+ * the same string, so the value has to be stated here to be reviewable
63
+ * against it. Deleting it would leave the wire format pinned in one repo
64
+ * only (#55).
65
+ *
66
+ * @seam
67
+ */
58
68
  export declare const MAGIC_LINK_KEK_INFO_PREFIX = "noydb-magic-link-v1:";
59
69
  /**
60
70
  * Decrypted payload of a magic-link grant record. Mirrors
@@ -53,6 +53,11 @@ export interface TeamFacadeDeps {
53
53
  getKeyringInternal(vault: string, opts?: {
54
54
  create: boolean;
55
55
  }): Promise<UnlockedKeyring>;
56
+ /** core#73 — re-enrol a recovered member with the broker host (kernel-resident; no-op without a broker). */
57
+ enrolBrokerMember(vault: string, member: {
58
+ readonly userId: string;
59
+ readonly secret: string;
60
+ }): Promise<void>;
56
61
  /** Managed-recovery enrolment check (kernel-resident). */
57
62
  assertRecoveryEnrolled(vault: string, policy: VaultPolicy, opts?: {
58
63
  skipManagedCheck?: boolean;
@@ -23,7 +23,7 @@
23
23
  * @module
24
24
  */
25
25
  import type { NoydbStore } from '../../kernel/types.js';
26
- import type { EnclaveKey } from '../../kernel/enclave/index.js';
26
+ import type { EnclaveKey } from '../../capsule/index.js';
27
27
  import { type WrappedDeksBlob } from './wrapped-deks.js';
28
28
  import type { NoydbShamir } from './noydb-shamir.js';
29
29
  /**
@@ -25,17 +25,19 @@
25
25
  /** Reserved collection holding per-adapter sync transport secrets. */
26
26
  export declare const SYNC_CREDENTIALS_COLLECTION = "_sync_credentials";
27
27
  /**
28
- * Reserved (pre-allocated) name for the future credential broker (#479).
29
- * Not yet implemented — reserved now so that neither the public collection
30
- * handle nor grant propagation can ever expose it before its dedicated,
31
- * role-gated API lands.
28
+ * Reserved collection holding the credential broker's SHARED seed (#479):
29
+ * one record per `brokerId`, owner/admin only.
32
30
  */
33
31
  export declare const BROKER_COLLECTION = "_broker";
34
32
  /**
35
- * The set of reserved collection names whose record contents are
36
- * directly-usable secrets. Membership here means: never served via
37
- * `vault.collection()`, never propagated to sub-admin grantees.
33
+ * Reserved collection holding each MEMBER's own broker seed (core#73): one
34
+ * record per `userId`, each encrypted under a DEK minted for that grantee
35
+ * alone at `grant()` time. Secret-bearing like `_broker`, with one twist the
36
+ * propagation loops must honour: the grantor never HOLDS this DEK (it is
37
+ * per-grantee, minted and wrapped in one step), so there is nothing to
38
+ * withhold — the guard exists so the name can never be served by
39
+ * `vault.collection()`.
38
40
  */
39
- export declare const SECRET_BEARING_RESERVED_COLLECTIONS: ReadonlySet<string>;
41
+ export declare const BROKER_MEMBER_COLLECTION = "_broker_member";
40
42
  /** True when `name` is a secret-bearing reserved collection. */
41
43
  export declare function isSecretBearingReservedCollection(name: string): boolean;
@@ -39,12 +39,12 @@
39
39
  * PR) — it is not written there yet.
40
40
  */
41
41
  import type { KeyringFile } from '../../kernel/types.js';
42
- import type { EnclaveKey } from '../../kernel/enclave/index.js';
42
+ import type { EnclaveKey } from '../../capsule/index.js';
43
43
  export interface RosterTag {
44
44
  readonly iv: string;
45
45
  readonly data: string;
46
46
  }
47
- export type RosterAuthorityFields = Pick<KeyringFile, 'user_id' | 'role' | 'permissions' | 'granted_by' | 'expires_at' | 'export_capability' | 'import_capability' | 'deks' | 'pending_deks' | 'roster_epoch'>;
47
+ export type RosterAuthorityFields = Pick<KeyringFile, 'user_id' | 'role' | 'permissions' | 'granted_by' | 'expires_at' | 'export_capability' | 'import_capability' | 'deks' | 'pending_deks' | 'roster_epoch' | 'clearance'>;
48
48
  export declare function rosterCanonical(file: RosterAuthorityFields): string;
49
49
  export declare function mintRosterTag(file: RosterAuthorityFields, rosterKey: EnclaveKey): Promise<RosterTag>;
50
50
  /**
@@ -99,3 +99,44 @@ export declare function assertRosterAuthenticated(file: KeyringFile, deks: Reado
99
99
  * the point of the mechanism.
100
100
  */
101
101
  export declare function assertRosterTagValid(file: KeyringFile, rosterKey: EnclaveKey, userId: string): Promise<void>;
102
+ /**
103
+ * ⚠️ MOVED HERE from `roster-epoch.ts` (core#58), and the move is the point.
104
+ *
105
+ * That module carries an output-domain invariant — every function it exports
106
+ * must reach a published entry point — because its CALLER API
107
+ * (`assertRosterEpochCurrent`) once shipped reachable from nowhere (#1097).
108
+ * `stampAuthority` is writer-side plumbing and has no business on the published
109
+ * surface, so satisfying that invariant by exporting it would have been the
110
+ * wrong repair.
111
+ *
112
+ * It belongs here regardless: it stamps the derived fields that
113
+ * `rosterCanonical` below BINDS, and the two must change together. Adding a
114
+ * derived field means editing both functions in this one file.
115
+ */
116
+ /**
117
+ * Stamp a keyring's authority half with BOTH derived fields at once — the next
118
+ * roster epoch and the advisory clearance (core#58).
119
+ *
120
+ * ## Why one helper and not two call sites
121
+ *
122
+ * There are thirteen places that build a `KeyringFile`'s authority half, across
123
+ * `keyring.ts`, `rotate-recover.ts`, `peer-recover.ts`, `custody/liberate.ts`
124
+ * and `with-cargo/adopt-partition.ts`. Every one of them must stamp every
125
+ * derived field, or the field FLICKERS: present after a grant, absent after the
126
+ * next rotate or partition adopt, with no error anywhere.
127
+ *
128
+ * ⛔ That is not a hypothetical — it is the exact failure `clearance` already
129
+ * had in a weaker form, and adding a fourteenth call site is how it would come
130
+ * back. **Adding a derived field means adding it HERE**, which makes covering
131
+ * all thirteen sites the default rather than a thing to remember.
132
+ *
133
+ * `clearance` is derived from the DEK slot names in the very object being
134
+ * stamped, so it cannot disagree with them; see `keyringClearance` for why it
135
+ * is advisory and must stay so.
136
+ */
137
+ export declare function stampAuthority<T extends {
138
+ readonly deks?: Record<string, string>;
139
+ }>(authority: T, previousEpoch: number | undefined): T & {
140
+ roster_epoch: number;
141
+ clearance: number;
142
+ };
@@ -17,7 +17,7 @@
17
17
  * @module
18
18
  */
19
19
  import type { NoydbStore } from '../../kernel/types.js';
20
- import { type EnclaveKey, type EchoSecretParts } from '../../kernel/enclave/index.js';
20
+ import { type EnclaveKey, type EchoSecretParts } from '../../capsule/index.js';
21
21
  import { type PaperRecoveryEntry } from './recovery.js';
22
22
  import type { NoydbShamir } from './noydb-shamir.js';
23
23
  import { type SecretPolicy, type EchoSecretPolicy } from '../../kernel/validation.js';
@@ -21,12 +21,43 @@ import type { UnlockedKeyring } from './keyring.js';
21
21
  import { dekKey } from '../../kernel/tier-visibility.js';
22
22
  export { dekKey };
23
23
  /**
24
- * Returns the user's effective clearance for a given collection: the
25
- * maximum tier for which their keyring holds a DEK. Falls back to 0
26
- * when the user has only the tier-0 DEK (or none — the getDEK caller
27
- * will raise separately).
24
+ * The user's effective clearance for ONE collection: the maximum tier for which
25
+ * their keyring holds a DEK. `0` when only the tier-0 DEK is held (or none —
26
+ * the `getDEK` caller raises separately).
27
+ *
28
+ * Takes DEK SLOT NAMES rather than an `UnlockedKeyring` (core#58), because the
29
+ * callers that need this are the ones BUILDING a `KeyringFile`, where the slot
30
+ * names exist and an unlocked keyring may not. Not published from any entry, so
31
+ * the signature is free to say what it means.
32
+ *
33
+ * ⚠️ `kernel/vault.ts`'s `elevate()` scan is NOT this predicate: that asks
34
+ * whether ANY collection has a DEK at ONE tier (`#N` suffix match); this asks
35
+ * the MAXIMUM tier for ONE collection (`name#` prefix match).
36
+ */
37
+ export declare function effectiveClearance(dekSlots: Iterable<string>, collection: string): number;
38
+ /**
39
+ * The whole keyring's clearance: the highest tier held for ANY collection.
40
+ *
41
+ * ## What this is, and the one thing it must never become (core#58)
42
+ *
43
+ * This is the value persisted as `KeyringFile.clearance`. It is **derived**,
44
+ * not independent — a pure function of the DEK slot names written into the same
45
+ * file — and that is deliberate on two counts:
46
+ *
47
+ * 1. `dek_slots` is already bound into the roster tag (#1115), so a clearance
48
+ * computed from it carries no authority the tag does not already cover. A
49
+ * store that forges one contradicts data it cannot forge.
50
+ * 2. Being derived at every write is what stops it drifting. A value computed
51
+ * once at grant time and carried forward goes stale the moment a tier DEK
52
+ * is added or revoked.
53
+ *
54
+ * ⛔ **It is ADVISORY and must stay advisory.** The real check is whether the
55
+ * DEK map carries a `collection#tier` entry — `assertTierAccess` is the gate,
56
+ * and access in this system IS the key. Never branch a privilege decision on
57
+ * this number: it would be a second, weaker representation of access sitting
58
+ * beside the authoritative one, which is how the two come to disagree.
28
59
  */
29
- export declare function effectiveClearance(keyring: UnlockedKeyring, collection: string): number;
60
+ export declare function keyringClearance(dekSlots: Iterable<string>): number;
30
61
  /**
31
62
  * Assert the caller is cleared for the requested tier. Owners and
32
63
  * admins always pass (they can mint any new tier DEK on demand);
@@ -33,7 +33,7 @@
33
33
  *
34
34
  * @module
35
35
  */
36
- import { type EnclaveKey } from '../../kernel/enclave/index.js';
36
+ import { type EnclaveKey } from '../../capsule/index.js';
37
37
  /**
38
38
  * The wrap-DEKs primitive — a serialized + AES-GCM-encrypted DEK set
39
39
  * keyed under a credential-derived key.
@@ -40,4 +40,4 @@ export { ManifestConflictError, MigrationRequiredError, PodHeaderVerificationErr
40
40
  export type { Noydb } from '../kernel/noydb.js';
41
41
  export type { Vault } from '../kernel/vault.js';
42
42
  export type { NoydbOptions, NoydbStore } from '../kernel/types.js';
43
- export type { EchoSecretParts } from '../kernel/enclave/index.js';
43
+ export type { EchoSecretParts } from '../capsule/index.js';
@@ -29,7 +29,7 @@
29
29
  * @module
30
30
  */
31
31
  import type { NoydbStore, SlotInfo } from '../../kernel/types.js';
32
- import { type EnclaveKey } from '../../kernel/enclave/index.js';
32
+ import { type EnclaveKey } from '../../capsule/index.js';
33
33
  import { type OrphanChunkReport } from './orphan-report.js';
34
34
  import { type UnreferencedLegacyBlobReport } from './legacy-sweep.js';
35
35
  export interface BlobFieldPolicy<T = unknown> {
@@ -38,7 +38,7 @@
38
38
  * 2, rehome — mint/resume/consume for `op:'rehome'` markers).
39
39
  */
40
40
  import type { NoydbStore } from '../../kernel/types.js';
41
- import { type EnclaveKey } from '../../kernel/enclave/index.js';
41
+ import { type EnclaveKey } from '../../capsule/index.js';
42
42
  /** Reserved collection holding `_blob_intent` marker rows. */
43
43
  export declare const BLOB_INTENT_COLLECTION = "_blob_intent";
44
44
  /**
@@ -1,7 +1,7 @@
1
1
  import type { NoydbStore, BlobObject, SlotInfo, VersionRecord, BlobPutOptions, BlobResponseOptions } from '../../kernel/types.js';
2
2
  import type { ObjectProjection } from './object-projection.js';
3
3
  import type { BlobFieldsConfig } from './blob-compaction.js';
4
- import { type EnclaveKey } from '../../kernel/enclave/index.js';
4
+ import { type EnclaveKey } from '../../capsule/index.js';
5
5
  import { type BlobPinCache } from './blob-pinning.js';
6
6
  import type { UnlockedKeyring } from '../../with-party/team/keyring.js';
7
7
  /**
@@ -495,7 +495,7 @@ export declare class BlobSet {
495
495
  * covered by rotation.
496
496
  *
497
497
  * This also makes one ordering rule true across the blob subsystem rather
498
- * than two opposite ones: `kernel/enclave/record-keys/rekey-blob.ts` already
498
+ * than two opposite ones: `capsule/plumbing/rekey-blob.ts` already
499
499
  * re-encrypts chunks before re-sealing their index entry, and documents that
500
500
  * order as its resume property.
501
501
  *
@@ -608,6 +608,8 @@ export declare class BlobSet {
608
608
  shredded: string[];
609
609
  retainedShared: string[];
610
610
  residue: string[];
611
+ /** #28 — the eTag half of `residue` alone: the join key to `compact()`'s sweep. */
612
+ residueETags: string[];
611
613
  }>;
612
614
  /**
613
615
  * Resolve a SHRED `BlobIntent` for this record, or `null` when the entry
@@ -1294,6 +1296,27 @@ export declare class BlobSet {
1294
1296
  * and "its attachments are released" are one operation. Ungated: the record
1295
1297
  * delete itself already passed the gate bus. Ref-counted like any release —
1296
1298
  * content another record still holds survives.
1299
+ *
1300
+ * ⛔ RELEASE IS NOT ERASURE, AND THE API CANNOT TELL YOU WHICH YOU GOT
1301
+ * (noy-db/core#28). Releasing the slot is unconditional; when the BYTES
1302
+ * leave the store depends on the collection's key mode:
1303
+ *
1304
+ * - `perRecordKeys: true` — crypto-shredded on the spot at refCount 0.
1305
+ * - legacy (shared DEK) — chunks RETAINED under the collection DEK until
1306
+ * `vault.compact({ reclaimLegacyBlobs: true })` runs (#1453).
1307
+ *
1308
+ * Both give the caller the same `null` from `blob(id).get(slot)`, and the
1309
+ * record, the slot list and the store listing all agree it is gone — so
1310
+ * every signal a consumer has says "erased" while the ciphertext is still
1311
+ * on disk, recoverable by anyone holding the DEK. pilot-1 measured exactly
1312
+ * this (chunks 2 → 2 on delete) and reasonably read the deferral as a
1313
+ * broken cascade.
1314
+ *
1315
+ * ⭐ So: if a delete is meant to ERASE — a subject-access request, a
1316
+ * retention policy — either put the blobs on a `perRecordKeys` collection
1317
+ * or run the reclaim pass, and assert on `compact()`'s
1318
+ * `unreferencedLegacyBlobs.reclaimed`, never on the null read. The seam is
1319
+ * pinned in `__tests__/1451-delete-releases-blobs.test.ts`.
1297
1320
  */
1298
1321
  releaseAll(): Promise<void>;
1299
1322
  /** The body of {@link delete}, minus the owner gate. */
@@ -17,7 +17,7 @@
17
17
  * are skipped, not counted: this is a tier-0 pass.
18
18
  */
19
19
  import type { NoydbStore } from '../../kernel/types.js';
20
- import { type EnclaveKey } from '../../kernel/enclave/index.js';
20
+ import { type EnclaveKey } from '../../capsule/index.js';
21
21
  /** What `vault.compact()` reports (and, on request, reclaims) about legacy blobs. */
22
22
  export interface UnreferencedLegacyBlobReport {
23
23
  /** `_blob_index` rows with no `_cek` (legacy) and `refCount <= 0`. */
@@ -26,6 +26,22 @@ export interface UnreferencedLegacyBlobReport {
26
26
  readonly chunks: number;
27
27
  /** How many of those blobs this run deleted (chunks first, then the index row). */
28
28
  readonly reclaimed: number;
29
+ /**
30
+ * #28 — the eTags this run actually deleted, so a deferred erasure set can be
31
+ * reconciled against the reclaim that finished it:
32
+ *
33
+ * ```ts
34
+ * const still = before.blobResidueETags.filter((e) => !report.reclaimedETags.includes(e))
35
+ * ```
36
+ *
37
+ * ⛔ DO NOT PERSIST. An eTag is a content hash — see
38
+ * `ForgetResult.blobResidueETags` for why a stored receipt of them is a
39
+ * re-identification oracle. Reconcile in memory, persist the verdict.
40
+ *
41
+ * Empty on a `dryRun` (nothing was deleted), even though `blobs`/`chunks`
42
+ * still count what WOULD be.
43
+ */
44
+ readonly reclaimedETags: readonly string[];
29
45
  }
30
46
  export declare function sweepUnreferencedLegacyBlobs(ctx: {
31
47
  adapter: NoydbStore;
@@ -11,7 +11,7 @@
11
11
  * @module
12
12
  */
13
13
  import type { FieldMeta } from './field-meta.js';
14
- import { FieldMetaUnknownFieldError, schemaFieldKeys } from './field-meta.js';
14
+ import { schemaFieldKeys } from './field-meta.js';
15
15
  export { schemaFieldKeys };
16
16
  import type { CollectionMeta } from './meta.js';
17
17
  import type { ViaDescriptor, ViaPosture } from '../../kernel/via/index.js';
@@ -22,7 +22,7 @@ import type { ComputedFields } from '../../with-formula/computed/index.js';
22
22
  import type { RefDescriptor } from '../../kernel/refs.js';
23
23
  import type { ClassifiedFieldSpec } from '../../via/classified/descriptor.js';
24
24
  import type { NoydbStore } from '../../kernel/types.js';
25
- import type { EnclaveKey } from '../../kernel/enclave/index.js';
25
+ import type { EnclaveKey } from '../../capsule/index.js';
26
26
  export interface DescribedField {
27
27
  readonly key: string;
28
28
  /**
@@ -275,7 +275,6 @@ export interface BuildDescriptionInput {
275
275
  */
276
276
  readonly fieldIds?: Record<string, string> | undefined;
277
277
  }
278
- export { FieldMetaUnknownFieldError };
279
278
  /**
280
279
  * Pure assembler: no I/O, no side effects.
281
280
  * Builds a {@link CollectionDescription} from the collection's in-memory config.
@@ -13,6 +13,7 @@ export type { VaultIntrospectState } from './walk.js';
13
13
  export { jsonSchemaToFields } from './fields.js';
14
14
  export type { SchemaIntrospection } from './types.js';
15
15
  export type { FieldMeta, SemanticType } from './field-meta.js';
16
+ export { FieldMetaUnknownFieldError } from './field-meta.js';
16
17
  export type { CollectionDescription, DescribedField, DescribeOptions } from './describe.js';
17
18
  export type { StandardSchemaV1Issue } from '../../kernel/schema.js';
18
19
  export { applyListProjection } from './projection.js';
@@ -174,7 +174,7 @@ export interface InternalCollectionStats {
174
174
  * documentation gate switching to the live report passes VACUOUSLY on a hub
175
175
  * too old to answer. Measured by a consumer attempting that adoption.
176
176
  */
177
- export type SnapshotReport = 'via' | 'stats';
177
+ type SnapshotReport = 'via' | 'stats';
178
178
  export interface VaultSchemaSnapshot {
179
179
  readonly _noydb_snapshot: 2;
180
180
  /**
@@ -209,3 +209,4 @@ export interface DumpSchemaOptions {
209
209
  /** Sample N records per collection lacking a persisted/live schema. Default 50. `0` disables sampling. */
210
210
  readonly sampleSize?: number;
211
211
  }
212
+ export {};
@@ -10,7 +10,7 @@ import type { NoydbStore } from '../../kernel/types.js';
10
10
  import type { UnlockedKeyring } from '../../with-party/team/keyring.js';
11
11
  import type { RefRegistry } from '../../kernel/refs.js';
12
12
  import type { VaultMeta } from './meta.js';
13
- import type { EnclaveKey } from '../../kernel/enclave/index.js';
13
+ import type { EnclaveKey } from '../../capsule/index.js';
14
14
  /**
15
15
  * The minimal slice of Vault internal state the walker needs.
16
16
  * Exposed via `vault._introspectState()` to keep the public Vault
@@ -14,7 +14,7 @@
14
14
  import { type LinkRow, type LinkSpec, type LinkSetHandle } from './names.js';
15
15
  import type { NoydbStore } from '../../kernel/types.js';
16
16
  import type { NoydbEventEmitter } from '../../kernel/events.js';
17
- import type { EnclaveKey } from '../../kernel/enclave/index.js';
17
+ import type { EnclaveKey } from '../../capsule/index.js';
18
18
  /** @internal The lazy handle: public surface + facade cascade internals. */
19
19
  export type LazyLinkSetHandle = LinkSetHandle & {
20
20
  readonly _collectionName: string;
@@ -19,7 +19,7 @@
19
19
  */
20
20
  import type { NoydbStore } from '../../kernel/types.js';
21
21
  import type { NoydbEventEmitter } from '../../kernel/events.js';
22
- import { type EnclaveKey } from '../../kernel/enclave/index.js';
22
+ import { type EnclaveKey } from '../../capsule/index.js';
23
23
  import { NoydbError } from '../../kernel/errors.js';
24
24
  export { LINK_COLLECTION_PREFIX, linkCollectionName, isLinkCollectionName, linkRowKey, LinkIntegrityError, } from './names.js';
25
25
  export type { LinkOnDelete, LinkSpec, LinkRow, LinkSetHandle } from './names.js';
@@ -42,7 +42,7 @@
42
42
  *
43
43
  * @module
44
44
  */
45
- import type { EnclaveKey } from '../../kernel/enclave/index.js';
45
+ import type { EnclaveKey } from '../../capsule/index.js';
46
46
  import type { NoydbStore } from '../../kernel/types.js';
47
47
  import type { SchemaManifest } from './types.js';
48
48
  /**
@@ -20,7 +20,7 @@
20
20
  *
21
21
  * @module
22
22
  */
23
- import { type EnclaveKey } from '../../kernel/enclave/index.js';
23
+ import { type EnclaveKey } from '../../capsule/index.js';
24
24
  import type { NoydbStore } from '../../kernel/types.js';
25
25
  import { type SchemaManifest, type SchemaManifestEntry } from './types.js';
26
26
  /** A resolver for a collection's DEK — the same shape as `Vault`'s internal `getDEK`. */
@@ -18,7 +18,7 @@ import type { SchemaUpdateStrategy, UpdateDecision } from '../schema-update/type
18
18
  import type { NoydbStore, ClassifiedMarker } from '../../kernel/types.js';
19
19
  import type { PersistedSchemaEnvelope } from './types.js';
20
20
  import type { PairingMarker } from '../satellites/types.js';
21
- import type { EnclaveKey } from '../../kernel/enclave/index.js';
21
+ import type { EnclaveKey } from '../../capsule/index.js';
22
22
  export interface PersistSchemaResult {
23
23
  /** True when a fresh envelope was written to storage. */
24
24
  readonly written: boolean;
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * @module
16
16
  */
17
- import { type EnclaveKey } from '../../kernel/enclave/index.js';
17
+ import { type EnclaveKey } from '../../capsule/index.js';
18
18
  import type { NoydbStore } from '../../kernel/types.js';
19
19
  import type { PersistedSchemaEnvelope } from './types.js';
20
20
  /** Reserved collection name where persisted schemas live. */
@@ -1,5 +1,5 @@
1
1
  import type { NoydbStore } from '../../kernel/types.js';
2
- import type { EnclaveKey } from '../../kernel/enclave/index.js';
2
+ import type { EnclaveKey } from '../../capsule/index.js';
3
3
  /**
4
4
  * Build a live-base id set for every satellite collection detectable from
5
5
  * its persisted `_schemas/<name>` pairing marker (#591 Task 10).
@@ -8,7 +8,7 @@
8
8
  * `Vault` import — the kernel supplies a {@link SatelliteDeclareContext}.
9
9
  */
10
10
  import type { NoydbStore } from '../../kernel/types.js';
11
- import type { EnclaveKey } from '../../kernel/enclave/index.js';
11
+ import type { EnclaveKey } from '../../capsule/index.js';
12
12
  import { SatelliteRegistry } from './registry.js';
13
13
  /** The narrow slice of Vault that declaration wiring needs. */
14
14
  export interface SatelliteDeclareContext {
@@ -1,5 +1,5 @@
1
1
  import type { NoydbStore } from '../../kernel/types.js';
2
- import type { EnclaveKey } from '../../kernel/enclave/index.js';
2
+ import type { EnclaveKey } from '../../capsule/index.js';
3
3
  import type { SatelliteSpec } from './types.js';
4
4
  /**
5
5
  * Persist-or-reconcile the pairing marker in `_schemas/<satellite>`.
@@ -1,5 +1,5 @@
1
1
  import type { NoydbStore } from '../../kernel/types.js';
2
- import type { EnclaveKey } from '../../kernel/enclave/index.js';
2
+ import type { EnclaveKey } from '../../capsule/index.js';
3
3
  import type { SatelliteSpec } from './types.js';
4
4
  import type { SatelliteRegistry } from './registry.js';
5
5
  /** Async post-registration: R-S9 marker reconcile + R-S1/R-S5 derivable-schema cross-check. Failures poison, never throw. */
@@ -18,6 +18,13 @@ export interface FenceDoc {
18
18
  */
19
19
  readonly schemaHash?: string;
20
20
  }
21
+ /**
22
+ * `FENCE_RECORD_ID` — PUBLISHED API, reachable from @noy-db/hub, @noy-db/hub/cover. Flagged as unused because
23
+ * nothing inside hub imports it from this module; a consumer does. Do not narrow
24
+ * or delete without a seam change (#55).
25
+ *
26
+ * @public
27
+ */
21
28
  export declare const FENCE_RECORD_ID = "schema-fence";
22
29
  export declare const DEFAULT_FENCE: FenceDoc;
23
30
  export declare function loadFence(store: NoydbStore, vault: string): Promise<FenceDoc>;
@@ -1,4 +1,4 @@
1
- import type { NoydbStore, DirtyEntry, ConflictStrategy, CollectionConflictResolver, PushOptions, PullOptions, PushResult, PullResult, SyncStatus, SyncTargetRole } from '../kernel/types.js';
1
+ import type { NoydbStore, DirtyEntry, ConflictStrategy, CollectionConflictResolver, PushOptions, PullOptions, PushResult, PullResult, SyncStatus, SyncTargetRole, RealignResult } from '../kernel/types.js';
2
2
  import type { MergeAuthority } from '../port/with/merge-authority.js';
3
3
  import { type PeriodPullSource } from './period-scope.js';
4
4
  import type { NoydbEventEmitter } from '../kernel/events.js';
@@ -89,11 +89,27 @@ export declare class SyncEngine {
89
89
  private periodPullSource?;
90
90
  /** Wire the period-window source (#807). Same injection pattern as `setReservedLookupSource`. */
91
91
  setPeriodPullSource(source: PeriodPullSource): void;
92
+ /** core#82 — when a pull replaces the caller's OWN keyring file, the vault reloads it in place. */
93
+ private rosterReload?;
94
+ /** Wire the roster-reload seam (core#82). Same injection pattern as `setCacheInvalidator`. */
95
+ setRosterReload(seam: {
96
+ userId: string;
97
+ reload: () => Promise<void>;
98
+ }): void;
99
+ /** core#81 — the running sync's latest progress sample; `null` when idle. Read by `status()`. */
100
+ private inFlight;
101
+ private progressLastEmit;
102
+ private progressLastRecords;
103
+ /** Emit `sync:progress` no more than every 25 records or ~250 ms; `force` for the final sample. */
104
+ private progress;
105
+ private progressDone;
92
106
  /** #807: KPI accumulator `applyRemote` feeds during a period-scoped `pull()` — pointed at the
93
107
  * active phase's counters (summaries → records) and cleared before pull returns. Approximate
94
108
  * by design: a push interleaved mid-pull on the same engine would attribute its converge
95
109
  * applies to the open phase; the counters are a download-budget KPI, not an audit source. */
96
110
  private pullByteSink;
111
+ /** core#81 — ciphertext bytes applied by the running pull, for `sync:progress`. */
112
+ private pullBytes;
97
113
  constructor(opts: {
98
114
  local: NoydbStore;
99
115
  remote: NoydbStore;
@@ -181,6 +197,19 @@ export declare class SyncEngine {
181
197
  */
182
198
  private recordOutcome;
183
199
  /** Get current sync status. */
200
+ /**
201
+ * core#82 — re-align a CORRUPTED local from the target. An ordinary pull
202
+ * cannot repair a damaged local envelope: it keeps its `_v`, so it wins
203
+ * (or ties) against the target's healthy copy. Here every local
204
+ * user-collection envelope is verified with the same `MergeAuthority`
205
+ * check pull runs on remote envelopes; one that fails is replaced by the
206
+ * target's copy when THAT verifies, and the dirty log is dropped (a dirty
207
+ * entry over a damaged record would push the damage). Records at a tier
208
+ * the caller holds no key for pass unverified, as in pull — this repairs
209
+ * what the caller can read. Requires a `MergeAuthority` (a vault-attached
210
+ * engine on an encrypted vault).
211
+ */
212
+ realign(): Promise<RealignResult>;
184
213
  status(): SyncStatus;
185
214
  /** Start auto-sync: listen for online/offline events, optional periodic sync. */
186
215
  startAutoSync(intervalMs?: number): void;