@noy-db/hub 0.8.0-pre.0 → 0.8.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 (624) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/dist/api-OS747DS4.js +18 -0
  3. package/dist/as/index.js +11 -12
  4. package/dist/as/index.js.map +1 -1
  5. package/dist/at/index.js +9 -10
  6. package/dist/attestation/index.js +39 -28
  7. package/dist/attestation/index.js.map +1 -1
  8. package/dist/{backup-7TFRVFLH.js → backup-YE2VQ26S.js} +15 -16
  9. package/dist/backup-YE2VQ26S.js.map +1 -0
  10. package/dist/blobs/index.js +13 -14
  11. package/dist/blobs/index.js.map +1 -1
  12. package/dist/broker/index.js +12 -13
  13. package/dist/broker/index.js.map +1 -1
  14. package/dist/by/index.js +2 -2
  15. package/dist/capsule/contract.d.ts +159 -0
  16. package/dist/capsule/contract.js +95 -0
  17. package/dist/capsule/enclave-aes/bound.d.ts +52 -0
  18. package/dist/capsule/enclave-aes/capabilities.d.ts +2 -0
  19. package/dist/capsule/enclave-aes/classify/compare.d.ts +20 -0
  20. package/dist/{kernel/enclave → capsule/enclave-aes}/classify/find.d.ts +1 -1
  21. package/dist/{kernel/enclave → capsule/enclave-aes}/classify/reveal.d.ts +1 -1
  22. package/dist/{kernel/enclave → capsule/enclave-aes}/classify/verify.d.ts +2 -2
  23. package/dist/{kernel/enclave → capsule/enclave-aes}/classify/write.d.ts +1 -1
  24. package/dist/{kernel/enclave → capsule/enclave-aes}/crypto.d.ts +33 -129
  25. package/dist/capsule/enclave-aes/index.d.ts +113 -0
  26. package/dist/capsule/enclave-aes/index.js +335 -0
  27. package/dist/capsule/enclave-aes/index.js.map +1 -0
  28. package/dist/capsule/enclave-aes/primitives.d.ts +29 -0
  29. package/dist/capsule/index.d.ts +27 -0
  30. package/dist/capsule/plumbing/ct-equal.d.ts +11 -0
  31. package/dist/{kernel/enclave/record-keys → capsule/plumbing}/deterministic.d.ts +8 -21
  32. package/dist/capsule/plumbing/digest.d.ts +122 -0
  33. package/dist/{kernel/enclave/record-keys → capsule/plumbing}/envelope-body.d.ts +44 -48
  34. package/dist/capsule/plumbing/index.d.ts +100 -0
  35. package/dist/capsule/plumbing/lifecycle.d.ts +50 -0
  36. package/dist/{kernel/enclave/record-keys → capsule/plumbing}/record-codec.d.ts +55 -20
  37. package/dist/{kernel/enclave → capsule/plumbing}/record-envelope.d.ts +1 -1
  38. package/dist/capsule/plumbing/rekey-blob.d.ts +33 -0
  39. package/dist/capsule/plumbing/rekey.d.ts +44 -0
  40. package/dist/capsule/plumbing/sealed-slot.d.ts +22 -0
  41. package/dist/capsule/plumbing/sealed-slots.d.ts +37 -0
  42. package/dist/capsule/plumbing/sealing.d.ts +29 -0
  43. package/dist/capsule/plumbing/sign.d.ts +9 -0
  44. package/dist/{kernel/enclave/record-keys → capsule/plumbing}/tombstone.d.ts +2 -2
  45. package/dist/capsule-VOLX3QRQ.js +209 -0
  46. package/dist/cargo/index.js +36 -36
  47. package/dist/{chunk-DF73H4UN.js → chunk-23D6M6VM.js} +5 -5
  48. package/dist/chunk-23D6M6VM.js.map +1 -0
  49. package/dist/{chunk-FH2L2E34.js → chunk-244QBK7Z.js} +4 -4
  50. package/dist/{chunk-FH2L2E34.js.map → chunk-244QBK7Z.js.map} +1 -1
  51. package/dist/{chunk-YSK2CU2Q.js → chunk-2AFX33YA.js} +2 -2
  52. package/dist/{chunk-TKUOEU2F.js → chunk-2GHDLTPE.js} +2 -2
  53. package/dist/{chunk-GYGLAVCX.js → chunk-2MG3SW7Q.js} +6 -2
  54. package/dist/chunk-2MG3SW7Q.js.map +1 -0
  55. package/dist/{chunk-6OWXYZK2.js → chunk-2ODVB6LZ.js} +2 -2
  56. package/dist/{chunk-X25NWUZB.js → chunk-2PVXF5CS.js} +3 -3
  57. package/dist/{chunk-IEX7NK2K.js → chunk-2RH777HH.js} +21 -20
  58. package/dist/{chunk-IEX7NK2K.js.map → chunk-2RH777HH.js.map} +1 -1
  59. package/dist/{chunk-244VXYPG.js → chunk-37EPTBBR.js} +14 -1
  60. package/dist/chunk-37EPTBBR.js.map +1 -0
  61. package/dist/{chunk-NRT6QZQB.js → chunk-3A5DUZ56.js} +6 -6
  62. package/dist/chunk-3A5DUZ56.js.map +1 -0
  63. package/dist/{chunk-ORDURZBU.js → chunk-3EWS67C7.js} +2 -2
  64. package/dist/{chunk-3H5KLDZN.js → chunk-3L2NBKDR.js} +4 -8
  65. package/dist/chunk-3L2NBKDR.js.map +1 -0
  66. package/dist/{chunk-ENAG3IY7.js → chunk-3XJQBBZD.js} +26 -28
  67. package/dist/chunk-3XJQBBZD.js.map +1 -0
  68. package/dist/{chunk-KJFW62P4.js → chunk-42ALPZ2B.js} +652 -662
  69. package/dist/chunk-42ALPZ2B.js.map +1 -0
  70. package/dist/{chunk-FXQBGFOX.js → chunk-4CIQDWRB.js} +8 -8
  71. package/dist/{chunk-HT2AHGQI.js → chunk-4JPMZTJY.js} +2 -2
  72. package/dist/{chunk-FQ5VRHIB.js → chunk-4T3SE27M.js} +5 -9
  73. package/dist/chunk-4T3SE27M.js.map +1 -0
  74. package/dist/{chunk-MKXXMNJH.js → chunk-4V3Q35WG.js} +2 -2
  75. package/dist/{chunk-A6IJU4TK.js → chunk-52MGURXO.js} +2 -2
  76. package/dist/{chunk-IUWCVHQ7.js → chunk-5A4345TG.js} +4 -4
  77. package/dist/{chunk-IUWCVHQ7.js.map → chunk-5A4345TG.js.map} +1 -1
  78. package/dist/{chunk-ISZQJBML.js → chunk-5FE75J4S.js} +6 -6
  79. package/dist/chunk-5FE75J4S.js.map +1 -0
  80. package/dist/chunk-5KC7QYEC.js +565 -0
  81. package/dist/chunk-5KC7QYEC.js.map +1 -0
  82. package/dist/{chunk-NNARWO72.js → chunk-5UMK7GRI.js} +13 -12
  83. package/dist/chunk-5UMK7GRI.js.map +1 -0
  84. package/dist/{chunk-HLEK5VAN.js → chunk-5WWDGFOS.js} +2 -2
  85. package/dist/{chunk-CKNGS5MH.js → chunk-6QVKPHBF.js} +3 -5
  86. package/dist/chunk-6QVKPHBF.js.map +1 -0
  87. package/dist/{chunk-PSIV7CJV.js → chunk-747G6CT3.js} +2 -2
  88. package/dist/chunk-747G6CT3.js.map +1 -0
  89. package/dist/{chunk-LGRLME4M.js → chunk-7R2Q7CPL.js} +16 -16
  90. package/dist/chunk-7R2Q7CPL.js.map +1 -0
  91. package/dist/{chunk-SOIQ4MM4.js → chunk-7XMHMVTS.js} +3 -3
  92. package/dist/{chunk-BUDAGWL5.js → chunk-A4XMIZT3.js} +6 -6
  93. package/dist/{chunk-BUDAGWL5.js.map → chunk-A4XMIZT3.js.map} +1 -1
  94. package/dist/{chunk-4MXI3ODD.js → chunk-AEQGFRU4.js} +3 -3
  95. package/dist/{chunk-7JE7BDYJ.js → chunk-AL6ML4LA.js} +5 -5
  96. package/dist/{chunk-ZUVBC32X.js → chunk-AUKKUPVB.js} +2 -2
  97. package/dist/chunk-BNWA3WG5.js +22 -0
  98. package/dist/chunk-BNWA3WG5.js.map +1 -0
  99. package/dist/{chunk-WY2XXTET.js → chunk-BPWYQ25R.js} +4 -4
  100. package/dist/{chunk-EOVMT6TB.js → chunk-BVCUTXE3.js} +2 -2
  101. package/dist/{chunk-UPD5NWI5.js → chunk-DHHGL42E.js} +13 -16
  102. package/dist/chunk-DHHGL42E.js.map +1 -0
  103. package/dist/{chunk-3JWHAR6E.js → chunk-DIZLQVAA.js} +2 -2
  104. package/dist/{chunk-QWFHIOD2.js → chunk-DLD5LGDS.js} +11 -12
  105. package/dist/chunk-DLD5LGDS.js.map +1 -0
  106. package/dist/{chunk-ZE4CHIED.js → chunk-DQESF6RP.js} +17 -28
  107. package/dist/chunk-DQESF6RP.js.map +1 -0
  108. package/dist/{chunk-IT22PWKV.js → chunk-E2N2T5ZO.js} +2 -2
  109. package/dist/{chunk-3ELRMVJK.js → chunk-EGVJ7TM4.js} +31 -34
  110. package/dist/chunk-EGVJ7TM4.js.map +1 -0
  111. package/dist/{chunk-WNJ4AVGE.js → chunk-EJLV62NI.js} +2 -2
  112. package/dist/{chunk-QBBUZ3I3.js → chunk-EYG2CY2X.js} +11 -11
  113. package/dist/{enclave-27SMF6GF.js → chunk-EZGV6F47.js} +83 -56
  114. package/dist/chunk-EZGV6F47.js.map +1 -0
  115. package/dist/{chunk-LQ4ZHOKP.js → chunk-EZOAKKTB.js} +36 -27
  116. package/dist/chunk-EZOAKKTB.js.map +1 -0
  117. package/dist/{chunk-BJ2IXQ5Q.js → chunk-FFJFE4T7.js} +2 -2
  118. package/dist/{chunk-JCN44NCY.js → chunk-FLPCETP6.js} +2 -2
  119. package/dist/{chunk-5O7D6ZTW.js → chunk-FOEDQATO.js} +2 -2
  120. package/dist/{chunk-VNNRUGMM.js → chunk-FVH5QYY2.js} +2 -2
  121. package/dist/{chunk-ANWPSTZU.js → chunk-G2MVBDFP.js} +23 -26
  122. package/dist/chunk-G2MVBDFP.js.map +1 -0
  123. package/dist/chunk-GMKGGY7V.js +234 -0
  124. package/dist/chunk-GMKGGY7V.js.map +1 -0
  125. package/dist/{chunk-EIPVYUEP.js → chunk-GQ4MF3CM.js} +3 -3
  126. package/dist/chunk-GQ4MF3CM.js.map +1 -0
  127. package/dist/{chunk-PEOZ34EM.js → chunk-GSAK56VF.js} +1 -1
  128. package/dist/chunk-GSAK56VF.js.map +1 -0
  129. package/dist/{chunk-QOOUUR4A.js → chunk-GUZET4SG.js} +10 -4
  130. package/dist/chunk-GUZET4SG.js.map +1 -0
  131. package/dist/{chunk-4AF3TUMP.js → chunk-GZT3NQRA.js} +2 -2
  132. package/dist/{chunk-N5DNADLQ.js → chunk-H23XHRTT.js} +19 -34
  133. package/dist/chunk-H23XHRTT.js.map +1 -0
  134. package/dist/{chunk-MVZ2TPVP.js → chunk-H427H63K.js} +2 -2
  135. package/dist/{chunk-6B3VNR4P.js → chunk-H7JBY4P7.js} +23 -32
  136. package/dist/chunk-H7JBY4P7.js.map +1 -0
  137. package/dist/{chunk-MLPHLJIQ.js → chunk-HS554XAF.js} +2 -2
  138. package/dist/{chunk-HK67PX4J.js → chunk-HW7CMKUG.js} +1 -1
  139. package/dist/chunk-HW7CMKUG.js.map +1 -0
  140. package/dist/{chunk-S57HTZ6X.js → chunk-IMQKWR46.js} +5 -7
  141. package/dist/chunk-IMQKWR46.js.map +1 -0
  142. package/dist/{chunk-FCKWQE2H.js → chunk-IUBMZPHM.js} +7 -7
  143. package/dist/chunk-IUBMZPHM.js.map +1 -0
  144. package/dist/{chunk-UD5EVGZ7.js → chunk-IUT3GWP3.js} +49 -13
  145. package/dist/chunk-IUT3GWP3.js.map +1 -0
  146. package/dist/{chunk-J6UOHJY5.js → chunk-JDEYF3PJ.js} +4 -8
  147. package/dist/{chunk-J6UOHJY5.js.map → chunk-JDEYF3PJ.js.map} +1 -1
  148. package/dist/{chunk-NWHBJQAL.js → chunk-JIBUPZHA.js} +4 -4
  149. package/dist/chunk-JIBUPZHA.js.map +1 -0
  150. package/dist/{chunk-TROR3ALR.js → chunk-JOSPH3E5.js} +2 -2
  151. package/dist/{chunk-F24ZZTHQ.js → chunk-JQYKPKG6.js} +4 -4
  152. package/dist/{chunk-GF5BZ7D4.js → chunk-JSMTXZR3.js} +8 -12
  153. package/dist/chunk-JSMTXZR3.js.map +1 -0
  154. package/dist/chunk-JWWYRR4Q.js +12 -0
  155. package/dist/chunk-JWWYRR4Q.js.map +1 -0
  156. package/dist/{chunk-HBPPGWUM.js → chunk-KZXDLBY6.js} +14 -9
  157. package/dist/chunk-KZXDLBY6.js.map +1 -0
  158. package/dist/{chunk-7VCXZDA4.js → chunk-LIOVX5TJ.js} +7 -11
  159. package/dist/chunk-LIOVX5TJ.js.map +1 -0
  160. package/dist/{chunk-QWGU66MP.js → chunk-LNSVGRHO.js} +5 -7
  161. package/dist/chunk-LNSVGRHO.js.map +1 -0
  162. package/dist/{chunk-MDWKM2XC.js → chunk-M5B2W6YY.js} +3 -3
  163. package/dist/{chunk-F2TDU7MQ.js → chunk-MBMTND6D.js} +2 -2
  164. package/dist/{chunk-K6W7BVZ6.js → chunk-MILI22XQ.js} +3 -3
  165. package/dist/{chunk-YNIUIERI.js → chunk-MXKI4ABF.js} +18 -59
  166. package/dist/chunk-MXKI4ABF.js.map +1 -0
  167. package/dist/{chunk-T2LBQ5DV.js → chunk-MXOQ5JCG.js} +252 -214
  168. package/dist/chunk-MXOQ5JCG.js.map +1 -0
  169. package/dist/{chunk-ZXABPVM6.js → chunk-N7EVQD5S.js} +9 -13
  170. package/dist/chunk-N7EVQD5S.js.map +1 -0
  171. package/dist/{chunk-CF5UU4S7.js → chunk-N7UDP5VU.js} +7 -7
  172. package/dist/{chunk-FQ54DWUQ.js → chunk-NBQ3KK6X.js} +4 -4
  173. package/dist/{chunk-4I522ERM.js → chunk-NCO25JZO.js} +4 -4
  174. package/dist/chunk-NH2UOV3B.js +18 -0
  175. package/dist/chunk-NH2UOV3B.js.map +1 -0
  176. package/dist/{chunk-SI3V7D4G.js → chunk-O2IMQSNA.js} +2 -2
  177. package/dist/{chunk-T52GX4SA.js → chunk-O46CHQT7.js} +4 -4
  178. package/dist/chunk-OIEO4WDL.js +27 -0
  179. package/dist/chunk-OIEO4WDL.js.map +1 -0
  180. package/dist/{chunk-GHLTDZRS.js → chunk-OKSTSITU.js} +25 -4
  181. package/dist/chunk-OKSTSITU.js.map +1 -0
  182. package/dist/{chunk-TOPYQ6GA.js → chunk-OYW3I5M4.js} +6 -6
  183. package/dist/{chunk-X4773RBR.js → chunk-PD64727P.js} +2 -2
  184. package/dist/chunk-PD64727P.js.map +1 -0
  185. package/dist/{chunk-BP6DARYA.js → chunk-PP3K67AJ.js} +4 -4
  186. package/dist/chunk-PP3K67AJ.js.map +1 -0
  187. package/dist/chunk-Q2XRFWOI.js +40 -0
  188. package/dist/chunk-Q2XRFWOI.js.map +1 -0
  189. package/dist/{chunk-AOWGXU6D.js → chunk-Q4UHJ5SN.js} +2 -2
  190. package/dist/{chunk-FW22ZCXT.js → chunk-QBLT6POL.js} +2 -2
  191. package/dist/chunk-QMWY2FDS.js +157 -0
  192. package/dist/chunk-QMWY2FDS.js.map +1 -0
  193. package/dist/{chunk-I3JDRCMW.js → chunk-RB4DOPGZ.js} +10 -10
  194. package/dist/{chunk-32YV3TJT.js → chunk-SMV2HRDU.js} +2 -2
  195. package/dist/{chunk-ODVPTDPK.js → chunk-SV2PM2OY.js} +1 -1
  196. package/dist/chunk-SV2PM2OY.js.map +1 -0
  197. package/dist/{chunk-Z5HTYMMQ.js → chunk-SYNY3VB5.js} +2 -2
  198. package/dist/{chunk-SYVZW77S.js → chunk-TEHHROZL.js} +6 -8
  199. package/dist/chunk-TEHHROZL.js.map +1 -0
  200. package/dist/{chunk-ZSX4S5XB.js → chunk-TKVUE4JF.js} +9 -9
  201. package/dist/{chunk-B57AFBY2.js → chunk-TZZBXPZK.js} +2 -2
  202. package/dist/{chunk-VNPEWFPD.js → chunk-U2FZNEWJ.js} +4 -4
  203. package/dist/chunk-U2FZNEWJ.js.map +1 -0
  204. package/dist/{chunk-5FDLC6G7.js → chunk-UA372JHH.js} +3 -3
  205. package/dist/{chunk-PDCG6PR5.js → chunk-UEFOQH74.js} +2 -2
  206. package/dist/chunk-UEFOQH74.js.map +1 -0
  207. package/dist/{chunk-HVSCEIYL.js → chunk-UIYESRD6.js} +9 -11
  208. package/dist/chunk-UIYESRD6.js.map +1 -0
  209. package/dist/{chunk-B6SJIBQK.js → chunk-V3RWOOSO.js} +4 -4
  210. package/dist/{chunk-HBRLNOHL.js → chunk-V7ADQF5O.js} +4 -4
  211. package/dist/{chunk-L7DOS3TE.js → chunk-VAORSCSU.js} +3 -3
  212. package/dist/chunk-VAORSCSU.js.map +1 -0
  213. package/dist/{chunk-M522UYZ2.js → chunk-VFHCKG5M.js} +6 -10
  214. package/dist/chunk-VFHCKG5M.js.map +1 -0
  215. package/dist/{chunk-DC5QVPV7.js → chunk-VHBKYN2J.js} +3 -3
  216. package/dist/chunk-VHBKYN2J.js.map +1 -0
  217. package/dist/{chunk-WX5ADGTZ.js → chunk-VKI2EB3N.js} +3 -3
  218. package/dist/chunk-VKI2EB3N.js.map +1 -0
  219. package/dist/{chunk-MTL7MXGR.js → chunk-VMV5SBE4.js} +16 -17
  220. package/dist/chunk-VMV5SBE4.js.map +1 -0
  221. package/dist/{chunk-F7XGHL5O.js → chunk-VQDZYB2B.js} +3 -3
  222. package/dist/{chunk-BK2HHQGN.js → chunk-VVOLDVIR.js} +2 -2
  223. package/dist/{chunk-6LMQ5R26.js → chunk-WPOYWFSE.js} +7 -7
  224. package/dist/{chunk-6LMQ5R26.js.map → chunk-WPOYWFSE.js.map} +1 -1
  225. package/dist/{chunk-3F7GLNAE.js → chunk-WXE4W2U6.js} +7 -11
  226. package/dist/chunk-WXE4W2U6.js.map +1 -0
  227. package/dist/{chunk-6K7DPM7D.js → chunk-XQRFSKYM.js} +2 -2
  228. package/dist/{chunk-M7NI3IWE.js → chunk-XSPFDUDG.js} +22 -50
  229. package/dist/chunk-XSPFDUDG.js.map +1 -0
  230. package/dist/{chunk-ID6Z6E66.js → chunk-Y2RKVFKR.js} +2 -2
  231. package/dist/{chunk-6LNL42F5.js → chunk-Y3LPTBG7.js} +12 -12
  232. package/dist/chunk-Y3LPTBG7.js.map +1 -0
  233. package/dist/{chunk-FN5EBVTQ.js → chunk-YRXFFWG4.js} +2 -2
  234. package/dist/classified/index.js +5 -5
  235. package/dist/{classified-marker-W3USLL5M.js → classified-marker-SIYKUU5L.js} +3 -3
  236. package/dist/classified-marker-SIYKUU5L.js.map +1 -0
  237. package/dist/collection-facade-CS7CA2XO.js +47 -0
  238. package/dist/{computed-TPFBX7U4.js → computed-FAD7SED4.js} +3 -3
  239. package/dist/consent/index.js +10 -11
  240. package/dist/consent/index.js.map +1 -1
  241. package/dist/cover/index.js +9 -10
  242. package/dist/custody/index.js +12 -13
  243. package/dist/{dead-filter-U2UYKSZL.js → dead-filter-4F3LWYKH.js} +11 -3
  244. package/dist/dead-filter-4F3LWYKH.js.map +1 -0
  245. package/dist/debug/index.js +11 -2
  246. package/dist/debug/index.js.map +1 -1
  247. package/dist/{delegation-S3AEPW2T.js → delegation-NANZDG4N.js} +13 -16
  248. package/dist/delegation-NANZDG4N.js.map +1 -0
  249. package/dist/derivations/index.js +23 -24
  250. package/dist/derive-XLOJVXPU.js +20 -0
  251. package/dist/directory/index.js +10 -11
  252. package/dist/{dispatch-3CQDJV5Q.js → dispatch-H4HV32AM.js} +5 -5
  253. package/dist/{dispatch-RH4LHKBH.js → dispatch-JDZNGEB3.js} +21 -22
  254. package/dist/dispatch-JDZNGEB3.js.map +1 -0
  255. package/dist/executor-FMPVN6DT.js +35 -0
  256. package/dist/executor-LBBBRTN5.js +8 -0
  257. package/dist/executor-OSRZST2U.js +8 -0
  258. package/dist/export-accessible-RAOJAAU5.js +22 -0
  259. package/dist/extract-partition-JD5CUSTG.js +37 -0
  260. package/dist/{fanout-sidecar-OT6RYLOL.js → fanout-sidecar-L7NHPIOC.js} +13 -15
  261. package/dist/fanout-sidecar-L7NHPIOC.js.map +1 -0
  262. package/dist/find-JRN4RNQ5.js +10 -0
  263. package/dist/forget/index.js +9 -10
  264. package/dist/forget/index.js.map +1 -1
  265. package/dist/guards/index.js +4 -4
  266. package/dist/history/index.js +13 -14
  267. package/dist/history/index.js.map +1 -1
  268. package/dist/i18n/index.js +14 -15
  269. package/dist/i18n/index.js.map +1 -1
  270. package/dist/index.d.ts +8 -8
  271. package/dist/index.js +183 -184
  272. package/dist/index.js.map +1 -1
  273. package/dist/indexing/index.js +5 -5
  274. package/dist/introspection/index.js +11 -12
  275. package/dist/issue-YIVBZUTH.js +19 -0
  276. package/dist/kernel/attestation-types.d.ts +62 -0
  277. package/dist/kernel/collection-config.d.ts +1 -48
  278. package/dist/kernel/collection.d.ts +1 -1
  279. package/dist/kernel/cutover-transform.d.ts +1 -1
  280. package/dist/kernel/errors.d.ts +30 -2
  281. package/dist/kernel/merge-authority.d.ts +1 -1
  282. package/dist/kernel/paths.d.ts +29 -5
  283. package/dist/kernel/prepared-write.d.ts +1 -1
  284. package/dist/kernel/secret-mode.d.ts +1 -1
  285. package/dist/kernel/types.d.ts +42 -5
  286. package/dist/kernel/vault.d.ts +2 -2
  287. package/dist/kernel/write-queue.d.ts +17 -0
  288. package/dist/{ledger-KZPCMVZY.js → ledger-5ZMGE44K.js} +11 -12
  289. package/dist/liberate-WZSZM2W6.js +24 -0
  290. package/dist/link-set-MFXC24VK.js +29 -0
  291. package/dist/{managed-secret-S3MQ6SH6.js → managed-secret-MFTFT22X.js} +10 -11
  292. package/dist/materialized-views/index.js +26 -27
  293. package/dist/{migrate-cek-V7GKJZ7O.js → migrate-cek-DZRFFOHW.js} +2 -2
  294. package/dist/money/index.js +5 -5
  295. package/dist/noydb-ITIGNKUF.js +96 -0
  296. package/dist/overlay-views/index.js +4 -4
  297. package/dist/periods/index.js +12 -13
  298. package/dist/pod/index.js +72 -72
  299. package/dist/{pod-handle-WGDFB4C2.js → pod-handle-A3LET7NO.js} +10 -11
  300. package/dist/pod-handle-A3LET7NO.js.map +1 -0
  301. package/dist/policy/index.js +10 -11
  302. package/dist/port/on/index.d.ts +1 -1
  303. package/dist/port/to/index.d.ts +1 -1
  304. package/dist/port/with/blob-strategy.d.ts +1 -1
  305. package/dist/port/with/classified-strategy.d.ts +1 -1
  306. package/dist/port/with/collection-options.d.ts +1 -1
  307. package/dist/port/with/collection-registries.d.ts +1 -1
  308. package/dist/port/with/lookup-strategy.d.ts +2 -2
  309. package/dist/portability/index.js +8 -8
  310. package/dist/{post-register-SLSXIPBV.js → post-register-7ND27CF2.js} +6 -6
  311. package/dist/post-register-7ND27CF2.js.map +1 -0
  312. package/dist/query/all/index.js +15 -15
  313. package/dist/query/index.js +7 -7
  314. package/dist/query/live/index.js +7 -7
  315. package/dist/query/reduce/index.js +10 -10
  316. package/dist/query/relate/index.js +9 -9
  317. package/dist/reduce/index.js +8 -8
  318. package/dist/register-DT5HZ2LZ.js +30 -0
  319. package/dist/registry-BHRZGZHF.js +8 -0
  320. package/dist/registry-ET6ZFFWA.js +34 -0
  321. package/dist/registry-HXFGLGTG.js +8 -0
  322. package/dist/registry-THCPDEOD.js +23 -0
  323. package/dist/request-withdrawal-AV2MJJKY.js +30 -0
  324. package/dist/{reveal-4BCKPEC2.js → reveal-B2TLP4JQ.js} +10 -9
  325. package/dist/reveal-B2TLP4JQ.js.map +1 -0
  326. package/dist/revoke-6DWIEOCV.js +24 -0
  327. package/dist/satellites/index.js +1 -1
  328. package/dist/schema-update/index.js +2 -2
  329. package/dist/sealed-record/index.js +16 -18
  330. package/dist/sealed-record/index.js.map +1 -1
  331. package/dist/search/index.js +4 -4
  332. package/dist/{seed-4JS2RJ4A.js → seed-XNSE4U3S.js} +15 -18
  333. package/dist/seed-XNSE4U3S.js.map +1 -0
  334. package/dist/sequence/index.js +9 -10
  335. package/dist/session/index.js +9 -10
  336. package/dist/session/index.js.map +1 -1
  337. package/dist/shadow/index.js +2 -2
  338. package/dist/signer-MHGW3OIL.js +23 -0
  339. package/dist/snapshots/index.js +11 -11
  340. package/dist/stale-6GCFMOOR.js +28 -0
  341. package/dist/storage-BYN5LO6Z.js +21 -0
  342. package/dist/store/index.js +1 -1
  343. package/dist/{store-coordination-provider-2O2VUHKW.js → store-coordination-provider-C4BPT5XF.js} +11 -12
  344. package/dist/store-coordination-provider-C4BPT5XF.js.map +1 -0
  345. package/dist/sync/index.js +10 -11
  346. package/dist/sync/index.js.map +1 -1
  347. package/dist/team/index.js +15 -16
  348. package/dist/tiers/index.js +11 -12
  349. package/dist/to/index.js +2 -2
  350. package/dist/transactions/index.js +3 -3
  351. package/dist/util/index.js +1 -1
  352. package/dist/vault-head/index.js +11 -14
  353. package/dist/vault-head/index.js.map +1 -1
  354. package/dist/{verify-RVT67IMH.js → verify-UKALW7C2.js} +14 -12
  355. package/dist/verify-UKALW7C2.js.map +1 -0
  356. package/dist/via/classified/binding.d.ts +2 -2
  357. package/dist/via/classified/config-drift.d.ts +2 -2
  358. package/dist/via/classified/errors.d.ts +1 -1
  359. package/dist/via/lookup/handle.d.ts +4 -4
  360. package/dist/walk-4VPK7AS4.js +20 -0
  361. package/dist/with-audit/attestation/index.d.ts +2 -1
  362. package/dist/with-audit/attestation/issue.d.ts +2 -2
  363. package/dist/with-audit/attestation/revoke.d.ts +2 -2
  364. package/dist/with-audit/attestation/scheme.d.ts +7 -0
  365. package/dist/with-audit/attestation/signer.d.ts +1 -1
  366. package/dist/with-audit/attestation/strategy.d.ts +2 -2
  367. package/dist/with-audit/attestation/types.d.ts +10 -0
  368. package/dist/with-audit/attestation/vault-facade.d.ts +2 -2
  369. package/dist/with-audit/attestation/verifier.d.ts +6 -0
  370. package/dist/with-audit/consent/consent.d.ts +1 -1
  371. package/dist/with-audit/consent/strategy.d.ts +1 -1
  372. package/dist/with-audit/forget/subject-index.d.ts +1 -1
  373. package/dist/with-audit/periods/vault-facade.d.ts +1 -1
  374. package/dist/with-audit/sealed-record/index.d.ts +2 -2
  375. package/dist/with-audit/sealed-record/strategy.d.ts +1 -1
  376. package/dist/with-audit/tiers/index.d.ts +2 -2
  377. package/dist/with-cargo/adopt-partition.d.ts +1 -1
  378. package/dist/with-cargo/extract-partition.d.ts +1 -1
  379. package/dist/with-cargo/floor.d.ts +1 -1
  380. package/dist/with-commit/history/history.d.ts +2 -2
  381. package/dist/with-commit/history/index.d.ts +1 -1
  382. package/dist/with-commit/history/ledger/store.d.ts +1 -1
  383. package/dist/with-commit/history/strategy.d.ts +1 -1
  384. package/dist/with-commit/history/time-machine.d.ts +1 -1
  385. package/dist/with-commit/numbering/index.d.ts +1 -1
  386. package/dist/with-commit/sequence/index.d.ts +1 -1
  387. package/dist/with-commit/vault-head/head.d.ts +1 -1
  388. package/dist/with-commit/vault-head/index.d.ts +1 -1
  389. package/dist/with-commit/vault-head/strategy.d.ts +1 -1
  390. package/dist/with-commit/vault-head/verify.d.ts +1 -1
  391. package/dist/with-formula/derivations/dispatch.d.ts +1 -1
  392. package/dist/with-formula/derivations/fanout-sidecar.d.ts +1 -1
  393. package/dist/with-lookup/indexing/collection-facade.d.ts +1 -1
  394. package/dist/with-lookup/search/collection-facade.d.ts +1 -1
  395. package/dist/with-party/broker/index.d.ts +3 -3
  396. package/dist/with-party/directory/user-envelope/storage.d.ts +1 -1
  397. package/dist/with-party/team/delegation.d.ts +1 -1
  398. package/dist/with-party/team/echo-secret.d.ts +2 -2
  399. package/dist/with-party/team/index.d.ts +1 -1
  400. package/dist/with-party/team/keyring.d.ts +1 -1
  401. package/dist/with-party/team/magic-link-grant.d.ts +1 -1
  402. package/dist/with-party/team/recovery.d.ts +1 -1
  403. package/dist/with-party/team/roster-tag.d.ts +1 -1
  404. package/dist/with-party/team/rotate-recover.d.ts +1 -1
  405. package/dist/with-party/team/wrapped-deks.d.ts +1 -1
  406. package/dist/with-pod/index.d.ts +1 -1
  407. package/dist/with-shape/blobs/blob-compaction.d.ts +1 -1
  408. package/dist/with-shape/blobs/blob-intent.d.ts +1 -1
  409. package/dist/with-shape/blobs/blob-set.d.ts +2 -2
  410. package/dist/with-shape/blobs/legacy-sweep.d.ts +1 -1
  411. package/dist/with-shape/introspection/describe.d.ts +1 -1
  412. package/dist/with-shape/introspection/walk.d.ts +1 -1
  413. package/dist/with-shape/links/lazy-handle.d.ts +1 -1
  414. package/dist/with-shape/links/link-set.d.ts +1 -1
  415. package/dist/with-shape/manifest/derive.d.ts +1 -1
  416. package/dist/with-shape/manifest/storage.d.ts +1 -1
  417. package/dist/with-shape/persisted-schemas/register.d.ts +1 -1
  418. package/dist/with-shape/persisted-schemas/storage.d.ts +1 -1
  419. package/dist/with-shape/satellites/dead-filter.d.ts +1 -1
  420. package/dist/with-shape/satellites/declare.d.ts +1 -1
  421. package/dist/with-shape/satellites/marker.d.ts +1 -1
  422. package/dist/with-shape/satellites/post-register.d.ts +1 -1
  423. package/dist/with-sync/presence.d.ts +5 -10
  424. package/dist/withdraw-accessible-HL7GACUE.js +27 -0
  425. package/dist/withdraw-accessible-HL7GACUE.js.map +1 -0
  426. package/package.json +14 -5
  427. package/dist/api-GVYEKSJE.js +0 -19
  428. package/dist/backup-7TFRVFLH.js.map +0 -1
  429. package/dist/chunk-244VXYPG.js.map +0 -1
  430. package/dist/chunk-3ELRMVJK.js.map +0 -1
  431. package/dist/chunk-3F7GLNAE.js.map +0 -1
  432. package/dist/chunk-3H5KLDZN.js.map +0 -1
  433. package/dist/chunk-6B3VNR4P.js.map +0 -1
  434. package/dist/chunk-6LNL42F5.js.map +0 -1
  435. package/dist/chunk-6QSQQLSE.js +0 -95
  436. package/dist/chunk-6QSQQLSE.js.map +0 -1
  437. package/dist/chunk-7VCXZDA4.js.map +0 -1
  438. package/dist/chunk-ANWPSTZU.js.map +0 -1
  439. package/dist/chunk-BP6DARYA.js.map +0 -1
  440. package/dist/chunk-CKNGS5MH.js.map +0 -1
  441. package/dist/chunk-DC5QVPV7.js.map +0 -1
  442. package/dist/chunk-DE4DH2RZ.js +0 -29
  443. package/dist/chunk-DE4DH2RZ.js.map +0 -1
  444. package/dist/chunk-DF73H4UN.js.map +0 -1
  445. package/dist/chunk-EIPVYUEP.js.map +0 -1
  446. package/dist/chunk-ENAG3IY7.js.map +0 -1
  447. package/dist/chunk-FCKWQE2H.js.map +0 -1
  448. package/dist/chunk-FQ5VRHIB.js.map +0 -1
  449. package/dist/chunk-GF5BZ7D4.js.map +0 -1
  450. package/dist/chunk-GHLTDZRS.js.map +0 -1
  451. package/dist/chunk-GYGLAVCX.js.map +0 -1
  452. package/dist/chunk-HBPPGWUM.js.map +0 -1
  453. package/dist/chunk-HK67PX4J.js.map +0 -1
  454. package/dist/chunk-HVSCEIYL.js.map +0 -1
  455. package/dist/chunk-ISZQJBML.js.map +0 -1
  456. package/dist/chunk-KJFW62P4.js.map +0 -1
  457. package/dist/chunk-L7DOS3TE.js.map +0 -1
  458. package/dist/chunk-LGRLME4M.js.map +0 -1
  459. package/dist/chunk-LP7BEXCT.js +0 -32
  460. package/dist/chunk-LP7BEXCT.js.map +0 -1
  461. package/dist/chunk-LQ4ZHOKP.js.map +0 -1
  462. package/dist/chunk-M522UYZ2.js.map +0 -1
  463. package/dist/chunk-M7NI3IWE.js.map +0 -1
  464. package/dist/chunk-MTL7MXGR.js.map +0 -1
  465. package/dist/chunk-N5DNADLQ.js.map +0 -1
  466. package/dist/chunk-NNARWO72.js.map +0 -1
  467. package/dist/chunk-NRT6QZQB.js.map +0 -1
  468. package/dist/chunk-NWHBJQAL.js.map +0 -1
  469. package/dist/chunk-ODVPTDPK.js.map +0 -1
  470. package/dist/chunk-PDCG6PR5.js.map +0 -1
  471. package/dist/chunk-PEOZ34EM.js.map +0 -1
  472. package/dist/chunk-PSIV7CJV.js.map +0 -1
  473. package/dist/chunk-QOOUUR4A.js.map +0 -1
  474. package/dist/chunk-QWFHIOD2.js.map +0 -1
  475. package/dist/chunk-QWGU66MP.js.map +0 -1
  476. package/dist/chunk-S57HTZ6X.js.map +0 -1
  477. package/dist/chunk-SEE332EV.js +0 -66
  478. package/dist/chunk-SEE332EV.js.map +0 -1
  479. package/dist/chunk-SYVZW77S.js.map +0 -1
  480. package/dist/chunk-T2LBQ5DV.js.map +0 -1
  481. package/dist/chunk-UD5EVGZ7.js.map +0 -1
  482. package/dist/chunk-UPD5NWI5.js.map +0 -1
  483. package/dist/chunk-UYB234ZR.js +0 -479
  484. package/dist/chunk-UYB234ZR.js.map +0 -1
  485. package/dist/chunk-VNPEWFPD.js.map +0 -1
  486. package/dist/chunk-WX5ADGTZ.js.map +0 -1
  487. package/dist/chunk-X4773RBR.js.map +0 -1
  488. package/dist/chunk-YNIUIERI.js.map +0 -1
  489. package/dist/chunk-ZE4CHIED.js.map +0 -1
  490. package/dist/chunk-ZXABPVM6.js.map +0 -1
  491. package/dist/classified-marker-W3USLL5M.js.map +0 -1
  492. package/dist/collection-facade-QU6IJBN3.js +0 -48
  493. package/dist/dead-filter-U2UYKSZL.js.map +0 -1
  494. package/dist/delegation-S3AEPW2T.js.map +0 -1
  495. package/dist/derive-OX7F6TGG.js +0 -21
  496. package/dist/dispatch-RH4LHKBH.js.map +0 -1
  497. package/dist/executor-B6SRO2QS.js +0 -36
  498. package/dist/executor-BI5CHWRY.js +0 -8
  499. package/dist/executor-RBKM5W5K.js +0 -8
  500. package/dist/export-accessible-VMA3YM5V.js +0 -22
  501. package/dist/extract-partition-NF7PXGPP.js +0 -37
  502. package/dist/fanout-sidecar-OT6RYLOL.js.map +0 -1
  503. package/dist/find-LZMP26KF.js +0 -10
  504. package/dist/issue-IHARXWW5.js +0 -18
  505. package/dist/kernel/enclave/classify/compare.d.ts +0 -10
  506. package/dist/kernel/enclave/index.d.ts +0 -87
  507. package/dist/kernel/enclave/record-keys/lifecycle.d.ts +0 -124
  508. package/dist/kernel/enclave/record-keys/rekey-blob.d.ts +0 -88
  509. package/dist/kernel/enclave/record-keys/rekey.d.ts +0 -91
  510. package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +0 -14
  511. package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +0 -123
  512. package/dist/kernel/enclave/record-keys/sealing.d.ts +0 -70
  513. package/dist/liberate-GRLCZMW4.js +0 -24
  514. package/dist/link-set-JCMJ7ULP.js +0 -30
  515. package/dist/noydb-SWQJ3MZS.js +0 -97
  516. package/dist/pod-handle-WGDFB4C2.js.map +0 -1
  517. package/dist/post-register-SLSXIPBV.js.map +0 -1
  518. package/dist/register-F3OYE7MJ.js +0 -31
  519. package/dist/registry-CILQFXFK.js +0 -8
  520. package/dist/registry-XNNYQVKV.js +0 -8
  521. package/dist/registry-YCDZV3VW.js +0 -35
  522. package/dist/registry-ZGYS33TE.js +0 -24
  523. package/dist/request-withdrawal-Z5NC6TXT.js +0 -30
  524. package/dist/reveal-4BCKPEC2.js.map +0 -1
  525. package/dist/revoke-ZL62WC2D.js +0 -23
  526. package/dist/seed-4JS2RJ4A.js.map +0 -1
  527. package/dist/signer-MBZZMXTC.js +0 -24
  528. package/dist/stale-TJ3DYZMQ.js +0 -29
  529. package/dist/storage-SVMKRGCW.js +0 -22
  530. package/dist/store-coordination-provider-2O2VUHKW.js.map +0 -1
  531. package/dist/verify-RVT67IMH.js.map +0 -1
  532. package/dist/walk-HJ42EISE.js +0 -21
  533. package/dist/withdraw-accessible-5NZUPAVA.js +0 -27
  534. /package/dist/{api-GVYEKSJE.js.map → api-OS747DS4.js.map} +0 -0
  535. /package/dist/{computed-TPFBX7U4.js.map → capsule/contract.js.map} +0 -0
  536. /package/dist/{kernel/enclave → capsule/enclave-aes}/broker/proof.d.ts +0 -0
  537. /package/dist/{kernel/enclave → capsule/enclave-aes}/classify/bidx.d.ts +0 -0
  538. /package/dist/{kernel/enclave → capsule/enclave-aes}/classify/digest.d.ts +0 -0
  539. /package/dist/{kernel/enclave → capsule/enclave-aes}/classify/vdig.d.ts +0 -0
  540. /package/dist/{kernel/enclave/classify → capsule/plumbing}/kofn.d.ts +0 -0
  541. /package/dist/{kernel/enclave/classify → capsule/plumbing}/normalize.d.ts +0 -0
  542. /package/dist/{kernel/enclave → capsule/plumbing}/record-aad.d.ts +0 -0
  543. /package/dist/{collection-facade-QU6IJBN3.js.map → capsule-VOLX3QRQ.js.map} +0 -0
  544. /package/dist/{chunk-YSK2CU2Q.js.map → chunk-2AFX33YA.js.map} +0 -0
  545. /package/dist/{chunk-TKUOEU2F.js.map → chunk-2GHDLTPE.js.map} +0 -0
  546. /package/dist/{chunk-6OWXYZK2.js.map → chunk-2ODVB6LZ.js.map} +0 -0
  547. /package/dist/{chunk-X25NWUZB.js.map → chunk-2PVXF5CS.js.map} +0 -0
  548. /package/dist/{chunk-ORDURZBU.js.map → chunk-3EWS67C7.js.map} +0 -0
  549. /package/dist/{chunk-FXQBGFOX.js.map → chunk-4CIQDWRB.js.map} +0 -0
  550. /package/dist/{chunk-HT2AHGQI.js.map → chunk-4JPMZTJY.js.map} +0 -0
  551. /package/dist/{chunk-MKXXMNJH.js.map → chunk-4V3Q35WG.js.map} +0 -0
  552. /package/dist/{chunk-A6IJU4TK.js.map → chunk-52MGURXO.js.map} +0 -0
  553. /package/dist/{chunk-HLEK5VAN.js.map → chunk-5WWDGFOS.js.map} +0 -0
  554. /package/dist/{chunk-SOIQ4MM4.js.map → chunk-7XMHMVTS.js.map} +0 -0
  555. /package/dist/{chunk-4MXI3ODD.js.map → chunk-AEQGFRU4.js.map} +0 -0
  556. /package/dist/{chunk-7JE7BDYJ.js.map → chunk-AL6ML4LA.js.map} +0 -0
  557. /package/dist/{chunk-ZUVBC32X.js.map → chunk-AUKKUPVB.js.map} +0 -0
  558. /package/dist/{chunk-WY2XXTET.js.map → chunk-BPWYQ25R.js.map} +0 -0
  559. /package/dist/{chunk-EOVMT6TB.js.map → chunk-BVCUTXE3.js.map} +0 -0
  560. /package/dist/{chunk-3JWHAR6E.js.map → chunk-DIZLQVAA.js.map} +0 -0
  561. /package/dist/{chunk-IT22PWKV.js.map → chunk-E2N2T5ZO.js.map} +0 -0
  562. /package/dist/{chunk-WNJ4AVGE.js.map → chunk-EJLV62NI.js.map} +0 -0
  563. /package/dist/{chunk-QBBUZ3I3.js.map → chunk-EYG2CY2X.js.map} +0 -0
  564. /package/dist/{chunk-BJ2IXQ5Q.js.map → chunk-FFJFE4T7.js.map} +0 -0
  565. /package/dist/{chunk-JCN44NCY.js.map → chunk-FLPCETP6.js.map} +0 -0
  566. /package/dist/{chunk-5O7D6ZTW.js.map → chunk-FOEDQATO.js.map} +0 -0
  567. /package/dist/{chunk-VNNRUGMM.js.map → chunk-FVH5QYY2.js.map} +0 -0
  568. /package/dist/{chunk-4AF3TUMP.js.map → chunk-GZT3NQRA.js.map} +0 -0
  569. /package/dist/{chunk-MVZ2TPVP.js.map → chunk-H427H63K.js.map} +0 -0
  570. /package/dist/{chunk-MLPHLJIQ.js.map → chunk-HS554XAF.js.map} +0 -0
  571. /package/dist/{chunk-TROR3ALR.js.map → chunk-JOSPH3E5.js.map} +0 -0
  572. /package/dist/{chunk-F24ZZTHQ.js.map → chunk-JQYKPKG6.js.map} +0 -0
  573. /package/dist/{chunk-MDWKM2XC.js.map → chunk-M5B2W6YY.js.map} +0 -0
  574. /package/dist/{chunk-F2TDU7MQ.js.map → chunk-MBMTND6D.js.map} +0 -0
  575. /package/dist/{chunk-K6W7BVZ6.js.map → chunk-MILI22XQ.js.map} +0 -0
  576. /package/dist/{chunk-CF5UU4S7.js.map → chunk-N7UDP5VU.js.map} +0 -0
  577. /package/dist/{chunk-FQ54DWUQ.js.map → chunk-NBQ3KK6X.js.map} +0 -0
  578. /package/dist/{chunk-4I522ERM.js.map → chunk-NCO25JZO.js.map} +0 -0
  579. /package/dist/{chunk-SI3V7D4G.js.map → chunk-O2IMQSNA.js.map} +0 -0
  580. /package/dist/{chunk-T52GX4SA.js.map → chunk-O46CHQT7.js.map} +0 -0
  581. /package/dist/{chunk-TOPYQ6GA.js.map → chunk-OYW3I5M4.js.map} +0 -0
  582. /package/dist/{chunk-AOWGXU6D.js.map → chunk-Q4UHJ5SN.js.map} +0 -0
  583. /package/dist/{chunk-FW22ZCXT.js.map → chunk-QBLT6POL.js.map} +0 -0
  584. /package/dist/{chunk-I3JDRCMW.js.map → chunk-RB4DOPGZ.js.map} +0 -0
  585. /package/dist/{chunk-32YV3TJT.js.map → chunk-SMV2HRDU.js.map} +0 -0
  586. /package/dist/{chunk-Z5HTYMMQ.js.map → chunk-SYNY3VB5.js.map} +0 -0
  587. /package/dist/{chunk-ZSX4S5XB.js.map → chunk-TKVUE4JF.js.map} +0 -0
  588. /package/dist/{chunk-B57AFBY2.js.map → chunk-TZZBXPZK.js.map} +0 -0
  589. /package/dist/{chunk-5FDLC6G7.js.map → chunk-UA372JHH.js.map} +0 -0
  590. /package/dist/{chunk-B6SJIBQK.js.map → chunk-V3RWOOSO.js.map} +0 -0
  591. /package/dist/{chunk-HBRLNOHL.js.map → chunk-V7ADQF5O.js.map} +0 -0
  592. /package/dist/{chunk-F7XGHL5O.js.map → chunk-VQDZYB2B.js.map} +0 -0
  593. /package/dist/{chunk-BK2HHQGN.js.map → chunk-VVOLDVIR.js.map} +0 -0
  594. /package/dist/{chunk-6K7DPM7D.js.map → chunk-XQRFSKYM.js.map} +0 -0
  595. /package/dist/{chunk-ID6Z6E66.js.map → chunk-Y2RKVFKR.js.map} +0 -0
  596. /package/dist/{chunk-FN5EBVTQ.js.map → chunk-YRXFFWG4.js.map} +0 -0
  597. /package/dist/{derive-OX7F6TGG.js.map → collection-facade-CS7CA2XO.js.map} +0 -0
  598. /package/dist/{enclave-27SMF6GF.js.map → computed-FAD7SED4.js.map} +0 -0
  599. /package/dist/{executor-B6SRO2QS.js.map → derive-XLOJVXPU.js.map} +0 -0
  600. /package/dist/{dispatch-3CQDJV5Q.js.map → dispatch-H4HV32AM.js.map} +0 -0
  601. /package/dist/{executor-BI5CHWRY.js.map → executor-FMPVN6DT.js.map} +0 -0
  602. /package/dist/{executor-RBKM5W5K.js.map → executor-LBBBRTN5.js.map} +0 -0
  603. /package/dist/{export-accessible-VMA3YM5V.js.map → executor-OSRZST2U.js.map} +0 -0
  604. /package/dist/{extract-partition-NF7PXGPP.js.map → export-accessible-RAOJAAU5.js.map} +0 -0
  605. /package/dist/{find-LZMP26KF.js.map → extract-partition-JD5CUSTG.js.map} +0 -0
  606. /package/dist/{issue-IHARXWW5.js.map → find-JRN4RNQ5.js.map} +0 -0
  607. /package/dist/{ledger-KZPCMVZY.js.map → issue-YIVBZUTH.js.map} +0 -0
  608. /package/dist/{liberate-GRLCZMW4.js.map → ledger-5ZMGE44K.js.map} +0 -0
  609. /package/dist/{link-set-JCMJ7ULP.js.map → liberate-WZSZM2W6.js.map} +0 -0
  610. /package/dist/{managed-secret-S3MQ6SH6.js.map → link-set-MFXC24VK.js.map} +0 -0
  611. /package/dist/{noydb-SWQJ3MZS.js.map → managed-secret-MFTFT22X.js.map} +0 -0
  612. /package/dist/{migrate-cek-V7GKJZ7O.js.map → migrate-cek-DZRFFOHW.js.map} +0 -0
  613. /package/dist/{register-F3OYE7MJ.js.map → noydb-ITIGNKUF.js.map} +0 -0
  614. /package/dist/{registry-CILQFXFK.js.map → register-DT5HZ2LZ.js.map} +0 -0
  615. /package/dist/{registry-XNNYQVKV.js.map → registry-BHRZGZHF.js.map} +0 -0
  616. /package/dist/{registry-YCDZV3VW.js.map → registry-ET6ZFFWA.js.map} +0 -0
  617. /package/dist/{registry-ZGYS33TE.js.map → registry-HXFGLGTG.js.map} +0 -0
  618. /package/dist/{request-withdrawal-Z5NC6TXT.js.map → registry-THCPDEOD.js.map} +0 -0
  619. /package/dist/{revoke-ZL62WC2D.js.map → request-withdrawal-AV2MJJKY.js.map} +0 -0
  620. /package/dist/{signer-MBZZMXTC.js.map → revoke-6DWIEOCV.js.map} +0 -0
  621. /package/dist/{stale-TJ3DYZMQ.js.map → signer-MHGW3OIL.js.map} +0 -0
  622. /package/dist/{storage-SVMKRGCW.js.map → stale-6GCFMOOR.js.map} +0 -0
  623. /package/dist/{walk-HJ42EISE.js.map → storage-BYN5LO6Z.js.map} +0 -0
  624. /package/dist/{withdraw-accessible-5NZUPAVA.js.map → walk-4VPK7AS4.js.map} +0 -0
@@ -35,42 +35,28 @@
35
35
  *
36
36
  * @module
37
37
  */
38
+ import { type EchoSecretParts } from '../plumbing/digest.js';
38
39
  /**
39
40
  * **EnclaveKey** — the opaque key type at the enclave seam.
40
41
  *
41
42
  * In noy-db's reference enclave this is `CryptoKey` (the Web Crypto API's
42
43
  * key handle). A fork's enclave redefines this alias to its own key
43
44
  * representation (e.g. `type EnclaveKey = null` for a keyless HSM-backed
44
- * fork) — outside `kernel/enclave/**`, every consumer must treat it as
45
+ * fork) — outside `capsule/enclave-aes/**`, every consumer must treat it as
45
46
  * opaque: never construct, inspect, or serialize it directly, only pass it
46
47
  * between barrel functions (`encrypt`/`decrypt`/`wrapKey`/`unwrapKey`/…).
47
48
  */
48
49
  export type EnclaveKey = CryptoKey;
50
+ /** Opaque asymmetric pair at the enclave seam — `CryptoKeyPair` in the reference enclave. */
51
+ export type EnclaveKeyPair = CryptoKeyPair;
49
52
  /** Derive a KEK from a secret and salt using PBKDF2-SHA256. */
50
53
  export declare function deriveKey(secret: string, salt: Uint8Array): Promise<CryptoKey>;
51
54
  /** One three-part echo secret: prompt (typed) → echo (revealed) → key (typed). */
52
- export interface EchoSecretParts {
53
- readonly prompt: string;
54
- readonly echo: string;
55
- readonly key: string;
56
- }
57
55
  /**
58
- * AG-1 encoding: domain context + 4-byte big-endian length prefix per
59
- * part. Two independent guarantees make a single typed string unable to
60
- * derive an echo vault's KEK (spec AG-1):
61
- *
62
- * 1. The `0xFF` context prefix — UTF-8 never produces that byte, so the
63
- * encoding is provably not the encoding of ANY string (not merely of
64
- * no separator-joined form).
65
- * 2. Structural length prefixes — part boundaries are key material, so
66
- * re-splitting the same characters changes the derived KEK.
67
- *
68
- * @throws ValidationError when any part is not a string — the single
69
- * chokepoint every echo KEK derivation and block mint passes through, so a
70
- * malformed parts object cannot be `TextEncoder`-coerced into key material.
56
+ * Domain context for the AG-1 encoding. The leading `0xFF` is the load-bearing
57
+ * byte: it is not a legal UTF-8 lead byte, so `TextEncoder` can never emit it —
58
+ * no string's UTF-8 encoding can equal an AG-1 encoding, whatever the string.
71
59
  */
72
- export declare function encodeEchoParts(parts: EchoSecretParts): Uint8Array;
73
- /** Derive the tier-1 KEK from a 3-part echo secret (spec: KEK from ALL parts). */
74
60
  export declare function deriveEchoKey(parts: EchoSecretParts, salt: Uint8Array): Promise<CryptoKey>;
75
61
  /**
76
62
  * Which AES algorithm/usage a {@link deriveSecretKey} result is for:
@@ -93,6 +79,13 @@ export declare function deriveSecretKey(secret: string, salt: Uint8Array, params
93
79
  }): Promise<CryptoKey>;
94
80
  /** Generate a random AES-256-GCM data encryption key. */
95
81
  export declare function generateDEK(): Promise<CryptoKey>;
82
+ /**
83
+ * Generate a NON-extractable AES-256-GCM key for in-memory-only use — a
84
+ * session key, a device seal. Unlike {@link generateDEK} it can never be
85
+ * wrapped or exported: WebCrypto enforces that, and it is the tab-scope
86
+ * invariant `with-party/session` and `device-seal` rely on.
87
+ */
88
+ export declare function generateEphemeralKey(): Promise<CryptoKey>;
96
89
  /** Serialize a DEK set to `{ collection: base64(rawKey) }`. */
97
90
  export declare function exportDekSet(deks: Map<string, CryptoKey>): Promise<Record<string, string>>;
98
91
  /**
@@ -104,6 +97,10 @@ export declare function importDekSet(exported: Record<string, string>): Promise<
104
97
  export declare function wrapKey(dek: CryptoKey, kek: CryptoKey): Promise<string>;
105
98
  /** Unwrap (decrypt) a DEK from base64 string using a KEK. */
106
99
  export declare function unwrapKey(wrappedBase64: string, kek: CryptoKey): Promise<CryptoKey>;
100
+ /** Wrap the constant AES-GCM key built from `plaintext` under `kek`. */
101
+ export declare function mintCanary(kek: CryptoKey, plaintext: Uint8Array): Promise<string>;
102
+ /** True iff `wrapped` unwraps under `kek` — the KEK is right AND the bytes are intact. */
103
+ export declare function checkCanary(wrapped: string, kek: CryptoKey): Promise<boolean>;
107
104
  /**
108
105
  * AES-KW-wrap a per-record CEK under a collection/tier DEK. Returns base64.
109
106
  * Deterministic over `(cek, dek)`.
@@ -120,6 +117,13 @@ export declare function unwrapCek(wrappedBase64: string, dek: CryptoKey): Promis
120
117
  * used solely to open the record's `_iv`/`_data` body under `decrypt()`.
121
118
  */
122
119
  export declare function importCek(rawKey: Uint8Array): Promise<CryptoKey>;
120
+ /**
121
+ * Import a raw 32-byte pre-shared key as a NON-extractable AES-256-GCM key
122
+ * (encrypt + decrypt). The transfer seal (`with-cargo`) and the RSA-OAEP
123
+ * TLV's per-blob CEK (`managed-secret`) both hand raw bytes to the enclave
124
+ * here; the bytes never become a key anywhere else.
125
+ */
126
+ export declare function importTransferKey(raw: Uint8Array): Promise<CryptoKey>;
123
127
  export interface EncryptResult {
124
128
  iv: string;
125
129
  data: string;
@@ -160,66 +164,6 @@ export declare function encryptBytes(data: Uint8Array, dek: CryptoKey): Promise<
160
164
  * Counterpart to `encryptBytes`. Throws `TamperedError` on auth-tag failure.
161
165
  */
162
166
  export declare function decryptBytes(ivBase64: string, dataBase64: string, dek: CryptoKey): Promise<Uint8Array>;
163
- /**
164
- * SHA-256 hex digest of raw bytes. Used to derive content-addressed
165
- * eTags for blob deduplication. Computed on plaintext bytes
166
- * before compression and encryption so the eTag identifies content, not
167
- * ciphertext, and survives re-encryption (key rotation, re-upload).
168
- */
169
- export declare function sha256Hex(data: Uint8Array): Promise<string>;
170
- /**
171
- * Compute HMAC-SHA-256(key, data) and return hex string.
172
- *
173
- * Used to derive content-addressed eTags that are opaque to the store:
174
- * ```
175
- * eTag = hmacSha256Hex(blobDEK, plaintext)
176
- * ```
177
- *
178
- * Unlike a plain SHA-256, the HMAC is keyed by the vault-shared `_blob` DEK,
179
- * so an attacker with store access cannot pre-compute eTags for known files.
180
- * Deduplication still works within a vault (same key + same content = same eTag).
181
- */
182
- /**
183
- * Derive the blob CONTENT-ADDRESSING key for one tier (#1126).
184
- *
185
- * The blob eTag is an HMAC over the plaintext. It used to be keyed by the
186
- * `_blob` DEK — the very key `rotateKeys` replaces — so after any rotation
187
- * `HMAC(live DEK, plaintext) !== storedETag` for every blob written before it,
188
- * permanently. `decryptResponse()` checks that unconditionally, so the
189
- * presigned-URL read path raised `TamperedError` on legitimate data forever;
190
- * dedup also split, minting a second address for identical bytes.
191
- *
192
- * The fix is a `root` that rotation never touches (`_blob_addr`, refused by
193
- * `rotateKeys` exactly as `_roster` is). Rotation then re-keys chunk BODIES
194
- * while every address stays stable, which is what makes the AAD
195
- * `{eTag}:{i}:{count}` and every `_blob_index` / `_blob_slots_*` /
196
- * `_blob_versions_*` row survive it untouched.
197
- *
198
- * **Derived PER TIER, deliberately.** A single vault-wide address would make an
199
- * elevated blob and a tier-0 blob with identical content share an eTag,
200
- * leaking equality across a boundary the tier system exists to enforce — and
201
- * `rehomeForTier` re-addresses on a tier move precisely because the address is
202
- * tier-scoped today. Domain separation keeps that property while removing the
203
- * rotation coupling: the two are independent axes, and only one of them was
204
- * ever meant to change the address.
205
- *
206
- * Same HKDF idiom as `asKwKey`, with its own salt so the addressing key can
207
- * never coincide with a wrapping or encryption key.
208
- */
209
- export declare function deriveBlobAddressKey(root: CryptoKey, tier: number): Promise<CryptoKey>;
210
- export declare function hmacSha256Hex(key: CryptoKey, data: Uint8Array): Promise<string>;
211
- /**
212
- * Encrypt raw bytes with AES-256-GCM using Additional Authenticated Data.
213
- *
214
- * The AAD binds each chunk to its parent blob and position, preventing
215
- * chunk reorder, substitution, and truncation attacks:
216
- * ```
217
- * AAD = UTF-8("{eTag}:{chunkIndex}:{chunkCount}")
218
- * ```
219
- *
220
- * The AAD is NOT stored — the reader reconstructs it from `BlobObject`
221
- * metadata and passes it to `decryptBytesWithAAD`.
222
- */
223
167
  export declare function encryptBytesWithAAD(data: Uint8Array, dek: CryptoKey, aad: Uint8Array): Promise<EncryptResult>;
224
168
  /**
225
169
  * Decrypt AES-256-GCM ciphertext with AAD verification.
@@ -229,41 +173,6 @@ export declare function encryptBytesWithAAD(data: Uint8Array, dek: CryptoKey, aa
229
173
  * tag fails and this throws `TamperedError`.
230
174
  */
231
175
  export declare function decryptBytesWithAAD(ivBase64: string, dataBase64: string, dek: CryptoKey, aad: Uint8Array): Promise<Uint8Array>;
232
- /**
233
- * Derive an AES-256-GCM presence key from a collection DEK using HKDF-SHA256.
234
- *
235
- * The presence key is domain-separated from the data DEK by the fixed salt
236
- * `'noydb-presence'` and the `info` = collection name. This means:
237
- * - The adapter never sees the presence key.
238
- * - Presence payloads rotate automatically when the collection DEK is rotated.
239
- * - Revoked users cannot derive the new presence key after a DEK rotation.
240
- *
241
- * @param dek The collection's AES-256-GCM DEK (extractable).
242
- * @param collectionName Used as the HKDF `info` parameter for domain separation.
243
- * @returns A non-extractable AES-256-GCM key suitable for presence payload encryption.
244
- */
245
- export declare function derivePresenceKey(dek: CryptoKey, collectionName: string): Promise<CryptoKey>;
246
- /**
247
- * Derive a **per-field** AES-256-GCM key from a collection DEK using
248
- * HKDF-SHA256, used to encrypt a single sensitive field into its own
249
- * `_sealed[field]` envelope slot (structural group-encryption).
250
- *
251
- * Domain-separated from the data DEK (and from the presence/deterministic
252
- * channels) by the fixed salt `'noydb-sealed'` and an `info` of
253
- * `JSON.stringify(['noydb-sealed', collectionName, field])`. The JSON-array
254
- * encoding is injective — each element is separately quoted/escaped — so
255
- * collection `a/sealed/b` + field `c` cannot collide with collection `a` +
256
- * field `b/sealed/c`. Each sensitive field gets a **distinct** key, so a
257
- * `_sealed[a]` ciphertext does not authenticate under field `b`'s key —
258
- * sealed fields are cryptographically isolated from one another. The
259
- * collection name keeps the same field name in two collections from sharing a
260
- * key, mirroring how `derivePresenceKey` / `encryptDeterministic` domain-separate.
261
- *
262
- * @param dek The collection's AES-256-GCM DEK (extractable).
263
- * @param collectionName Part of the HKDF `info` for domain separation.
264
- * @param field Sensitive field name — the rest of the `info`.
265
- * @returns A non-extractable AES-256-GCM key for that field's sealed slot.
266
- */
267
176
  export declare function deriveSealedFieldKey(dek: CryptoKey, collectionName: string, field: string): Promise<CryptoKey>;
268
177
  /**
269
178
  * Derive a per-record sealed-field key from the record's **per-record CEK**
@@ -334,18 +243,13 @@ export declare function encryptDeterministic(plaintext: string, dek: CryptoKey,
334
243
  * ciphertext throws `TamperedError` just like randomized AES-GCM.
335
244
  */
336
245
  export declare function decryptDeterministic(ivBase64: string, dataBase64: string, dek: CryptoKey): Promise<string>;
337
- /** Generate a random 12-byte IV for AES-GCM. */
338
- export declare function generateIV(): Uint8Array;
339
- /** Generate a random 32-byte salt for PBKDF2. */
340
- export declare function generateSalt(): Uint8Array;
246
+ export declare function generateRecipientKeyPair(): Promise<CryptoKeyPair>;
247
+ export declare function exportRecipientPublicKeySpki(pair: CryptoKeyPair): Promise<Uint8Array>;
248
+ export declare function importRecipientPublicKeySpki(spki: Uint8Array): Promise<CryptoKey>;
249
+ /** RSA-OAEP-encrypt `bytes` (a 32-byte CEK) to the recipient's public key. */
250
+ export declare function recipientWrap(pub: CryptoKey, bytes: Uint8Array): Promise<Uint8Array>;
341
251
  /**
342
- * Mint a fresh recovery secret the high-entropy value a recovery profile
343
- * wraps the DEK set under and then hands out (Shamir splits it into shares;
344
- * paper prints it). Not a salt: a salt is public, this is not, and a fork
345
- * may size them differently. The reference enclave returns 32 bytes.
346
- *
347
- * Callers must zero the buffer once it has been wrapped and split.
252
+ * RSA-OAEP-decrypt with the pair's private key. Propagates WebCrypto's own
253
+ * error on failure callers that need a typed error map it themselves.
348
254
  */
349
- export declare function generateRecoverySecret(): Uint8Array;
350
- export declare function bufferToBase64(buffer: ArrayBuffer | Uint8Array): string;
351
- export declare function base64ToBuffer(base64: string): Uint8Array<ArrayBuffer>;
255
+ export declare function recipientUnwrap(pair: CryptoKeyPair, wrapped: Uint8Array): Promise<Uint8Array>;
@@ -0,0 +1,113 @@
1
+ /**
2
+ * **capsule/enclave-aes** — the hub's crypto interior, behind one door.
3
+ *
4
+ * This barrel is **the fork-swap contract**: a sister project that wants a
5
+ * different crypto engine (a different KDF, a hardware-backed keystore, a
6
+ * post-quantum wrap algorithm, …) replaces the entire `capsule/enclave-aes/`
7
+ * folder wholesale and only has to honor the exports below. Nothing outside
8
+ * `capsule/enclave-aes/**` may deep-import `crypto.js` or `record-keys/*` directly
9
+ * — `scripts/check-architecture.mjs`'s `enclave-barrel-only` check enforces
10
+ * that mechanically. Import sites inside `capsule/enclave-aes/**` keep their
11
+ * existing relative imports; this door is for everyone else.
12
+ *
13
+ * The export list is the OBSERVED contract — exactly the symbols consumed
14
+ * from outside this folder today — grouped by the module that defines them:
15
+ *
16
+ * - key type — `crypto.ts`: `EnclaveKey`, the opaque key type every
17
+ * barrel-facing signature traffics in (`= CryptoKey` in
18
+ * noy-db's reference enclave; a fork redefines it to its
19
+ * own key representation — see the type's own doc for
20
+ * the fork contract).
21
+ * - crypto ops — `crypto.ts`: AES-256-GCM encrypt/decrypt (+ bytes, AAD,
22
+ * deterministic variants), SHA-256 / HMAC-SHA-256 hashing.
23
+ * - key lifecycle — `crypto.ts` + `record-keys/lifecycle.ts`: KEK/DEK
24
+ * derivation, AES-KW wrap/unwrap, per-record CEK
25
+ * wrap/unwrap/import + resolution/re-wrap, HKDF-derived
26
+ * presence/sealed-field keys, base64 helpers.
27
+ * - record codec — `record-keys/record-codec.ts`: the per-record
28
+ * encode/decode engine.
29
+ * - sealing — `record-keys/sealing.ts`: the sealed-record grantor
30
+ * primitives (seal/revoke/rotate to an `at-*` host).
31
+ * - deterministic — `record-keys/deterministic.ts`: blind-equality lookup
32
+ * over deterministically-encrypted fields.
33
+ * - tombstone — `record-keys/tombstone.ts`: the erased-record residue.
34
+ * - envelope body — `record-keys/envelope-body.ts`: the C1 protected-body
35
+ * access contract (`openEnvelopeJson`,
36
+ * `writeEnvelopeBody`, `hasPerRecordKey`,
37
+ * `hasSealedBody`, `envelopeBodyForHash`) — the
38
+ * sanctioned door onto
39
+ * `_iv`/`_data`/`_cek`/`_sealed` for everyone outside
40
+ * this folder.
41
+ * - reserved envelopes — `plumbing/sealed-slots.ts`: `makeReservedEnvelopes`,
42
+ * the whole-envelope encrypt/decrypt door scoped to a
43
+ * declared collection-name prefix (e.g. `_dict_`) —
44
+ * `kernel/vault.ts` binds it for `DictionaryHandle`
45
+ * (#629 Task 4).
46
+ *
47
+ * Additive changes only — removing or renaming an export here is breaking
48
+ * for any fork. Frozen by `__tests__/enclave-surface-golden.test.ts`.
49
+ *
50
+ * **Refusal contract:** the barrel above is frozen — every symbol must
51
+ * exist in any fork — but the optional groups (sealing, deterministic,
52
+ * per-record-key lifecycle) MAY throw `EnclaveNotSupportedError` instead
53
+ * of implementing the reference behavior. The core groups (crypto ops,
54
+ * record codec, tombstone) MUST NOT throw it — they are load-bearing for
55
+ * every consumer regardless of which enclave is wired in. noy-db's own
56
+ * enclave supports every group, so it never throws this error.
57
+ */
58
+ export type { EnclaveKey, EncryptResult } from './crypto.js';
59
+ export { encrypt, decrypt, encryptBytes, decryptBytes, encryptBytesWithAAD, decryptBytesWithAAD, encryptDeterministic, decryptDeterministic, } from './crypto.js';
60
+ export { deriveKey, deriveSecretKey, generateDEK, generateEphemeralKey, importTransferKey, exportDekSet, importDekSet, wrapKey, unwrapKey, mintCanary, checkCanary, deriveDeterministicKey, deriveSealedFieldKey, deriveSealedFieldKeyFromCek, wrapCek, unwrapCek, importCek, deriveEchoKey, } from './crypto.js';
61
+ export type { SecretKeyUsage } from './crypto.js';
62
+ export { buildRecordAad, recordAadFor, buildRecordEnvelope, isTombstone, isTombstoneShape, buildTombstone, isDeleteMarker, buildDeleteMarker, requireSealedBody, sealedBodyArgs, envelopeBodySize, hasPerRecordKey, envelopeBodyForHash, hasSealedBody, } from '../plumbing/index.js';
63
+ export { sha256Hex, sha256Bytes, hmacSha256Hex, hmacSignHex, hkdfAesGcmKey, deriveBlobAddressKey, derivePresenceKey, derivePresenceTagKey, generateIV, generateSalt, generateRecoverySecret, bufferToBase64, base64ToBuffer, encodeEchoParts, } from '../plumbing/digest.js';
64
+ export type { EchoSecretParts } from '../plumbing/digest.js';
65
+ export type { RecordIdentity, RecordRef } from '../plumbing/index.js';
66
+ import type { RecordCodecBase } from '../plumbing/record-codec.js';
67
+ /**
68
+ * `RecordCodec` is a VALUE (the capsule-bound subclass, destructured below) and
69
+ * a TYPE (the module-level generic base). A type ALIAS can coexist with a value
70
+ * of the same name; a `export type { RecordCodec }` RE-EXPORT cannot, which is
71
+ * what `TS2323: Cannot redeclare exported variable` was saying.
72
+ */
73
+ export type RecordCodec<T = Record<string, unknown>> = RecordCodecBase<T>;
74
+ export { buildSealedRecordEnvelope } from '../plumbing/record-envelope.js';
75
+ export type { RecordEnvelopeBody } from '../plumbing/record-envelope.js';
76
+ export type { RewrappedBody } from '../plumbing/lifecycle.js';
77
+ export type { SealedShredSlot } from '../plumbing/record-codec.js';
78
+ export type { SealingContext } from '../plumbing/sealing.js';
79
+ export type { DeterministicContext } from '../plumbing/deterministic.js';
80
+ export declare const openEnvelopeJson: (ref: import("./index.js").RecordRef, env: import("../../index.js").EncryptedEnvelope, key: import("../contract.js").CapsuleKey, opts?: {
81
+ encrypted?: boolean;
82
+ }) => Promise<string>, writeEnvelopeBody: (identity: import("./index.js").RecordIdentity, json: string, key: import("../contract.js").CapsuleKey, opts?: {
83
+ encrypted?: boolean;
84
+ perRecordKey?: boolean;
85
+ }) => Promise<Pick<import("../../index.js").EncryptedEnvelope, "_iv" | "_data" | "_cek">>, verifyRecordIdentity: (ref: import("./index.js").RecordRef, env: import("../../index.js").EncryptedEnvelope, key: import("../contract.js").CapsuleKey) => Promise<boolean>, resolveStableCek: (deps: import("../plumbing/lifecycle.js").StableCekDeps, id: string) => Promise<import("../contract.js").CapsuleKey>, rewrapBodyToDek: (from: import("./index.js").RecordIdentity, to: import("./index.js").RecordIdentity, envelope: Pick<import("../../index.js").EncryptedEnvelope, "_iv" | "_data" | "_cek" | "_tier" | "_by">, fromDek: import("../contract.js").CapsuleKey, toDek: import("../contract.js").CapsuleKey) => Promise<import("./index.js").RewrappedBody>, rewrapEnvelope: (identity: import("./index.js").RecordIdentity, envelope: import("../../index.js").EncryptedEnvelope, fromDek: import("../contract.js").CapsuleKey, toDek: import("../contract.js").CapsuleKey) => Promise<import("../../index.js").EncryptedEnvelope>, applyRewrappedBody: (envelope: import("../../index.js").EncryptedEnvelope, body: import("./index.js").RewrappedBody) => import("../../index.js").EncryptedEnvelope, isRewrappedUnder: (identity: import("./index.js").RecordIdentity, envelope: Pick<import("../../index.js").EncryptedEnvelope, "_iv" | "_data" | "_cek">, dek: import("../contract.js").CapsuleKey) => Promise<boolean>, rekeyEnvelopeToDek: (ref: {
86
+ readonly collection: string;
87
+ readonly id: string;
88
+ }, envelope: import("../../index.js").EncryptedEnvelope, oldDek: import("../contract.js").CapsuleKey, newDek: import("../contract.js").CapsuleKey) => Promise<import("../../index.js").EncryptedEnvelope>, rekeyEnvelopeIfNeeded: (ref: {
89
+ readonly collection: string;
90
+ readonly id: string;
91
+ }, envelope: import("../../index.js").EncryptedEnvelope, oldDek: import("../contract.js").CapsuleKey, newDek: import("../contract.js").CapsuleKey) => Promise<import("../../index.js").EncryptedEnvelope | null>, envelopeOpensUnderAny: (ref: {
92
+ readonly collection: string;
93
+ readonly id: string;
94
+ }, envelope: import("../../index.js").EncryptedEnvelope, keys: readonly import("../contract.js").CapsuleKey[]) => Promise<boolean>, rekeyBlobSet: (adapter: import("../../index.js").NoydbStore, vault: string, oldDek: import("../contract.js").CapsuleKey, newDek: import("../contract.js").CapsuleKey, otherDeks?: readonly import("../contract.js").CapsuleKey[]) => Promise<import("../plumbing/rekey-blob.js").BlobRekeyReport>, RecordCodec: import("../plumbing/record-codec.js").BoundRecordCodec, makeReservedEnvelopes: (dekResolver: import("../plumbing/sealed-slots.js").ReservedEnvelopeDekResolver, declaredPrefixes: readonly string[]) => import("../../kernel/via/index.js").ViaCryptoCtx["reservedEnvelopes"], SEALED_CEK_NS: string, sealRecordToHost: (ctx: import("./index.js").SealingContext, collection: string, id: string, hostSealer: import("../../index.js").RecipientSealer, opts: {
95
+ expiresAt: string;
96
+ }) => Promise<{
97
+ pid: string;
98
+ envelopeKey: string;
99
+ }>, revokeSealedRecord: (ctx: import("./index.js").SealingContext, collection: string, id: string, pid: string, opts?: {
100
+ hard?: boolean;
101
+ }) => Promise<void>, rotateRecordCek: (ctx: import("./index.js").SealingContext, collection: string, id: string) => Promise<void>, findByDet: <T>(ctx: import("./index.js").DeterministicContext<T>, field: string, value: unknown) => Promise<T | null>, queryByDet: <T>(ctx: import("./index.js").DeterministicContext<T>, field: string, value: unknown) => Promise<T[]>;
102
+ export { deriveVdigSlotKey } from './classify/vdig.js';
103
+ export { pbkdf2VerifyDigest } from './classify/digest.js';
104
+ export { ctEqualTags } from '../plumbing/ct-equal.js';
105
+ export { evaluateKofN } from '../plumbing/kofn.js';
106
+ export { deriveClassifyIndexKey, deriveClassifyIndexSalt, mintBidxTag } from './classify/bidx.js';
107
+ export { computeBidxTarget } from './classify/find.js';
108
+ export { deriveBrokerProofBits, deriveBrokerProofKey, computeBrokerProof, issueChallenge, verifyBrokerProof, } from './broker/proof.js';
109
+ export type { BrokerProofCanonicalParts, VerifyBrokerProofArgs, IssuedChallenge } from './broker/proof.js';
110
+ export { generateSigningKeyPair, signBytes, verifyBytes } from '../plumbing/sign.js';
111
+ export type { EnclaveKeyPair } from './crypto.js';
112
+ export { generateRecipientKeyPair, exportRecipientPublicKeySpki, importRecipientPublicKeySpki, recipientWrap, recipientUnwrap, } from './crypto.js';
113
+ export { capabilities } from './capabilities.js';
@@ -0,0 +1,335 @@
1
+ import {
2
+ computeBidxTarget
3
+ } from "../../chunk-BNWA3WG5.js";
4
+ import {
5
+ aesCapsule,
6
+ checkCanary,
7
+ decrypt,
8
+ decryptBytes,
9
+ decryptBytesWithAAD,
10
+ decryptDeterministic,
11
+ deriveDeterministicKey,
12
+ deriveEchoKey,
13
+ deriveKey,
14
+ deriveSealedFieldKey,
15
+ deriveSealedFieldKeyFromCek,
16
+ deriveSecretKey,
17
+ deriveVdigSlotKey,
18
+ encrypt,
19
+ encryptBytes,
20
+ encryptBytesWithAAD,
21
+ encryptDeterministic,
22
+ exportDekSet,
23
+ exportRecipientPublicKeySpki,
24
+ generateDEK,
25
+ generateEphemeralKey,
26
+ generateRecipientKeyPair,
27
+ importCek,
28
+ importDekSet,
29
+ importRecipientPublicKeySpki,
30
+ importTransferKey,
31
+ mintCanary,
32
+ recipientUnwrap,
33
+ recipientWrap,
34
+ unwrapCek,
35
+ unwrapKey,
36
+ wrapCek,
37
+ wrapKey
38
+ } from "../../chunk-5KC7QYEC.js";
39
+ import {
40
+ deriveClassifyIndexKey,
41
+ deriveClassifyIndexSalt,
42
+ mintBidxTag,
43
+ pbkdf2VerifyDigest
44
+ } from "../../chunk-EZOAKKTB.js";
45
+ import {
46
+ generateSigningKeyPair,
47
+ signBytes,
48
+ verifyBytes
49
+ } from "../../chunk-Q2XRFWOI.js";
50
+ import {
51
+ evaluateKofN
52
+ } from "../../chunk-NH2UOV3B.js";
53
+ import {
54
+ buildDeleteMarker,
55
+ buildRecordAad,
56
+ buildRecordEnvelope,
57
+ buildSealedRecordEnvelope,
58
+ buildTombstone,
59
+ ctEqualTags,
60
+ envelopeBodyForHash,
61
+ envelopeBodySize,
62
+ hasPerRecordKey,
63
+ hasSealedBody,
64
+ isDeleteMarker,
65
+ isTombstone,
66
+ isTombstoneShape,
67
+ recordAadFor,
68
+ requireSealedBody,
69
+ sealedBodyArgs
70
+ } from "../../chunk-42ALPZ2B.js";
71
+ import {
72
+ base64ToBuffer,
73
+ bufferToBase64,
74
+ deriveBlobAddressKey,
75
+ derivePresenceKey,
76
+ derivePresenceTagKey,
77
+ encodeEchoParts,
78
+ generateIV,
79
+ generateRecoverySecret,
80
+ generateSalt,
81
+ hkdfAesGcmKey,
82
+ hmacSha256Hex,
83
+ hmacSignHex,
84
+ sha256Bytes,
85
+ sha256Hex
86
+ } from "../../chunk-QMWY2FDS.js";
87
+ import "../../chunk-SV2PM2OY.js";
88
+ import {
89
+ ValidationError
90
+ } from "../../chunk-37EPTBBR.js";
91
+
92
+ // src/capsule/enclave-aes/broker/proof.ts
93
+ var subtle = globalThis.crypto.subtle;
94
+ var BROKER_PROOF_DOMAIN = "noydb-broker-proof";
95
+ var BROKER_PROOF_VERSION = "noydb-broker-proof-v1";
96
+ var DEFAULT_CHALLENGE_TTL_MS = 6e4;
97
+ function buildCanonical(vaultId, brokerId, parts) {
98
+ return JSON.stringify([
99
+ BROKER_PROOF_VERSION,
100
+ vaultId,
101
+ parts.endpointOrigin,
102
+ brokerId,
103
+ parts.profile ?? "",
104
+ parts.instancePid ?? "",
105
+ parts.challenge,
106
+ parts.expiresAt
107
+ ]);
108
+ }
109
+ async function deriveBrokerProofBits(seed, vaultId, brokerId) {
110
+ const hkdfKey = await subtle.importKey("raw", seed, "HKDF", false, ["deriveBits"]);
111
+ const salt = new TextEncoder().encode(BROKER_PROOF_DOMAIN);
112
+ const info = new TextEncoder().encode(JSON.stringify([BROKER_PROOF_DOMAIN, vaultId, brokerId]));
113
+ const bits = await subtle.deriveBits({ name: "HKDF", hash: "SHA-256", salt, info }, hkdfKey, 256);
114
+ return new Uint8Array(bits);
115
+ }
116
+ async function deriveBrokerProofKey(seed, vaultId, brokerId) {
117
+ const proofBits = await deriveBrokerProofBits(seed, vaultId, brokerId);
118
+ try {
119
+ return await subtle.importKey("raw", proofBits, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
120
+ } finally {
121
+ proofBits.fill(0);
122
+ }
123
+ }
124
+ async function computeBrokerProof(seed, vaultId, brokerId, canonicalParts) {
125
+ try {
126
+ if (canonicalParts.instancePid === "") {
127
+ throw new ValidationError(
128
+ "computeBrokerProof: instancePid must not be an empty string \u2014 omit the field entirely for 'no instance' (F7); '' would alias onto a registered instance."
129
+ );
130
+ }
131
+ const canonical = buildCanonical(vaultId, brokerId, canonicalParts);
132
+ const key = await deriveBrokerProofKey(seed, vaultId, brokerId);
133
+ const mac = await subtle.sign("HMAC", key, new TextEncoder().encode(canonical));
134
+ return bufferToBase64(new Uint8Array(mac));
135
+ } finally {
136
+ seed.fill(0);
137
+ }
138
+ }
139
+ function issueChallenge(opts) {
140
+ const ttlMs = opts?.ttlMs ?? DEFAULT_CHALLENGE_TTL_MS;
141
+ const bytes = globalThis.crypto.getRandomValues(new Uint8Array(32));
142
+ return {
143
+ challenge: bufferToBase64(bytes),
144
+ expiresAt: new Date(Date.now() + ttlMs).toISOString()
145
+ };
146
+ }
147
+ async function verifyBrokerProof(args) {
148
+ const fresh = await args.consumeChallenge(args.challenge);
149
+ if (!fresh) return false;
150
+ if (args.instancePid === "") return false;
151
+ const canonical = buildCanonical(args.vaultId, args.brokerId, {
152
+ endpointOrigin: args.endpointOrigin,
153
+ profile: args.profile,
154
+ instancePid: args.instancePid,
155
+ challenge: args.challenge,
156
+ expiresAt: args.expiresAt
157
+ });
158
+ const key = await subtle.importKey(
159
+ "raw",
160
+ args.registeredProofKey,
161
+ { name: "HMAC", hash: "SHA-256" },
162
+ false,
163
+ ["verify"]
164
+ );
165
+ const ok = await subtle.verify(
166
+ "HMAC",
167
+ key,
168
+ base64ToBuffer(args.proof),
169
+ new TextEncoder().encode(canonical)
170
+ );
171
+ if (!ok) return false;
172
+ return Date.now() < Date.parse(args.expiresAt);
173
+ }
174
+
175
+ // src/capsule/enclave-aes/capabilities.ts
176
+ function sealedSet(items) {
177
+ const set = new Set(items);
178
+ const refuse = () => {
179
+ throw new TypeError(
180
+ "capabilities() is immutable \u2014 a capsule's declared groups cannot be edited by a caller"
181
+ );
182
+ };
183
+ set.add = refuse;
184
+ set.delete = refuse;
185
+ set.clear = refuse;
186
+ return Object.freeze(set);
187
+ }
188
+ var ALL = sealedSet([
189
+ "authenticate",
190
+ "seal",
191
+ "cipher",
192
+ "digest",
193
+ "sign",
194
+ "codec",
195
+ "sealing",
196
+ "deterministic",
197
+ "classify"
198
+ ]);
199
+ function capabilities() {
200
+ return ALL;
201
+ }
202
+
203
+ // src/capsule/enclave-aes/index.ts
204
+ var {
205
+ // envelope body
206
+ openEnvelopeJson,
207
+ writeEnvelopeBody,
208
+ verifyRecordIdentity,
209
+ // key lifecycle
210
+ resolveStableCek,
211
+ rewrapBodyToDek,
212
+ rewrapEnvelope,
213
+ applyRewrappedBody,
214
+ isRewrappedUnder,
215
+ // rekey
216
+ rekeyEnvelopeToDek,
217
+ rekeyEnvelopeIfNeeded,
218
+ envelopeOpensUnderAny,
219
+ rekeyBlobSet,
220
+ // record codec
221
+ RecordCodec,
222
+ // sealed slots — ONLY `makeReservedEnvelopes` is part of the frozen surface.
223
+ // The other seven are capsule-internal; destructuring the whole capsule here
224
+ // leaked them and widened the golden by 8 names. A surface is a contract, so
225
+ // the fix is to narrow the barrel, not to re-baseline the golden.
226
+ makeReservedEnvelopes,
227
+ // sealing
228
+ SEALED_CEK_NS,
229
+ sealRecordToHost,
230
+ revokeSealedRecord,
231
+ rotateRecordCek,
232
+ // deterministic
233
+ findByDet,
234
+ queryByDet
235
+ } = aesCapsule;
236
+ export {
237
+ RecordCodec,
238
+ SEALED_CEK_NS,
239
+ applyRewrappedBody,
240
+ base64ToBuffer,
241
+ bufferToBase64,
242
+ buildDeleteMarker,
243
+ buildRecordAad,
244
+ buildRecordEnvelope,
245
+ buildSealedRecordEnvelope,
246
+ buildTombstone,
247
+ capabilities,
248
+ checkCanary,
249
+ computeBidxTarget,
250
+ computeBrokerProof,
251
+ ctEqualTags,
252
+ decrypt,
253
+ decryptBytes,
254
+ decryptBytesWithAAD,
255
+ decryptDeterministic,
256
+ deriveBlobAddressKey,
257
+ deriveBrokerProofBits,
258
+ deriveBrokerProofKey,
259
+ deriveClassifyIndexKey,
260
+ deriveClassifyIndexSalt,
261
+ deriveDeterministicKey,
262
+ deriveEchoKey,
263
+ deriveKey,
264
+ derivePresenceKey,
265
+ derivePresenceTagKey,
266
+ deriveSealedFieldKey,
267
+ deriveSealedFieldKeyFromCek,
268
+ deriveSecretKey,
269
+ deriveVdigSlotKey,
270
+ encodeEchoParts,
271
+ encrypt,
272
+ encryptBytes,
273
+ encryptBytesWithAAD,
274
+ encryptDeterministic,
275
+ envelopeBodyForHash,
276
+ envelopeBodySize,
277
+ envelopeOpensUnderAny,
278
+ evaluateKofN,
279
+ exportDekSet,
280
+ exportRecipientPublicKeySpki,
281
+ findByDet,
282
+ generateDEK,
283
+ generateEphemeralKey,
284
+ generateIV,
285
+ generateRecipientKeyPair,
286
+ generateRecoverySecret,
287
+ generateSalt,
288
+ generateSigningKeyPair,
289
+ hasPerRecordKey,
290
+ hasSealedBody,
291
+ hkdfAesGcmKey,
292
+ hmacSha256Hex,
293
+ hmacSignHex,
294
+ importCek,
295
+ importDekSet,
296
+ importRecipientPublicKeySpki,
297
+ importTransferKey,
298
+ isDeleteMarker,
299
+ isRewrappedUnder,
300
+ isTombstone,
301
+ isTombstoneShape,
302
+ issueChallenge,
303
+ makeReservedEnvelopes,
304
+ mintBidxTag,
305
+ mintCanary,
306
+ openEnvelopeJson,
307
+ pbkdf2VerifyDigest,
308
+ queryByDet,
309
+ recipientUnwrap,
310
+ recipientWrap,
311
+ recordAadFor,
312
+ rekeyBlobSet,
313
+ rekeyEnvelopeIfNeeded,
314
+ rekeyEnvelopeToDek,
315
+ requireSealedBody,
316
+ resolveStableCek,
317
+ revokeSealedRecord,
318
+ rewrapBodyToDek,
319
+ rewrapEnvelope,
320
+ rotateRecordCek,
321
+ sealRecordToHost,
322
+ sealedBodyArgs,
323
+ sha256Bytes,
324
+ sha256Hex,
325
+ signBytes,
326
+ unwrapCek,
327
+ unwrapKey,
328
+ verifyBrokerProof,
329
+ verifyBytes,
330
+ verifyRecordIdentity,
331
+ wrapCek,
332
+ wrapKey,
333
+ writeEnvelopeBody
334
+ };
335
+ //# sourceMappingURL=index.js.map