@noy-db/hub 0.10.0-pre.1 → 0.10.0-pre.2

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 (482) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/dist/api-QSEKT4KS.js +15 -0
  3. package/dist/as/index.js +19 -12
  4. package/dist/as/index.js.map +1 -1
  5. package/dist/at/index.js +6 -9
  6. package/dist/attestation/index.js +16 -19
  7. package/dist/attestation/index.js.map +1 -1
  8. package/dist/{backup-6EKBNC67.js → backup-BHKVK5SD.js} +9 -12
  9. package/dist/{backup-6EKBNC67.js.map → backup-BHKVK5SD.js.map} +1 -1
  10. package/dist/blobs/index.js +10 -13
  11. package/dist/blobs/index.js.map +1 -1
  12. package/dist/broker/index.js +11 -14
  13. package/dist/broker/index.js.map +1 -1
  14. package/dist/by/index.js +2 -2
  15. package/dist/capsule/contract.d.ts +176 -16
  16. package/dist/capsule/contract.js +35 -30
  17. package/dist/capsule/enclave-aes/bound.d.ts +11 -1
  18. package/dist/capsule/enclave-aes/classify/digest.d.ts +4 -2
  19. package/dist/capsule/enclave-aes/index.d.ts +9 -0
  20. package/dist/capsule/enclave-aes/index.js +643 -78
  21. package/dist/capsule/enclave-aes/index.js.map +1 -1
  22. package/dist/capsule/enclave-aes/primitives.d.ts +2 -2
  23. package/dist/capsule/index.d.ts +1 -1
  24. package/dist/capsule/plumbing/classify-reveal.d.ts +29 -0
  25. package/dist/capsule/plumbing/classify-verify.d.ts +53 -0
  26. package/dist/capsule/plumbing/index.d.ts +17 -0
  27. package/dist/{capsule-QJJFUUSH.js → capsule-YAITMH77.js} +16 -9
  28. package/dist/cargo/index.js +34 -36
  29. package/dist/{chunk-J57OMNJ4.js → chunk-23A4SBRR.js} +3 -4
  30. package/dist/{chunk-J57OMNJ4.js.map → chunk-23A4SBRR.js.map} +1 -1
  31. package/dist/{chunk-E3CUGBGW.js → chunk-24AGG4PP.js} +3 -3
  32. package/dist/{chunk-M2VLXPRU.js → chunk-24IJZA4M.js} +14 -8
  33. package/dist/chunk-24IJZA4M.js.map +1 -0
  34. package/dist/{chunk-BCJAUHSG.js → chunk-2NVQ5SEA.js} +15 -5
  35. package/dist/chunk-2NVQ5SEA.js.map +1 -0
  36. package/dist/{chunk-MRVQKRXI.js → chunk-2SIREKBR.js} +2 -2
  37. package/dist/{chunk-CE443VXM.js → chunk-37FOG6AE.js} +14 -7
  38. package/dist/chunk-37FOG6AE.js.map +1 -0
  39. package/dist/{chunk-ZZZVNHN2.js → chunk-3M2KK7O7.js} +3 -3
  40. package/dist/{chunk-P6FATPXQ.js → chunk-3ZCVY3T6.js} +2 -2
  41. package/dist/{chunk-I7NDTNHK.js → chunk-4CGWLHPQ.js} +6 -6
  42. package/dist/{chunk-PVQIME6P.js → chunk-56Z4NOC6.js} +3 -3
  43. package/dist/{chunk-XBG6YJPK.js → chunk-5AVIUJP4.js} +11 -9
  44. package/dist/{chunk-XBG6YJPK.js.map → chunk-5AVIUJP4.js.map} +1 -1
  45. package/dist/{chunk-HQFTE3DX.js → chunk-5BGHAVBN.js} +2 -2
  46. package/dist/{chunk-QHG7GQKM.js → chunk-5JNEDW7I.js} +2 -2
  47. package/dist/{chunk-NC6CF37L.js → chunk-5OWJSDTO.js} +4 -4
  48. package/dist/{chunk-NC6CF37L.js.map → chunk-5OWJSDTO.js.map} +1 -1
  49. package/dist/{chunk-YAYDDYRU.js → chunk-5Y4MO7UQ.js} +4 -4
  50. package/dist/{chunk-TLIFNRU5.js → chunk-63LZLRWG.js} +2 -2
  51. package/dist/{chunk-BUFFPAR2.js → chunk-74W56QPY.js} +4 -4
  52. package/dist/{chunk-VPG2UJYR.js → chunk-7KNYLHVX.js} +3 -3
  53. package/dist/chunk-7KNYLHVX.js.map +1 -0
  54. package/dist/{chunk-LFUID7OW.js → chunk-7VJ2SIEI.js} +42 -22
  55. package/dist/chunk-7VJ2SIEI.js.map +1 -0
  56. package/dist/{chunk-U2N7DH4S.js → chunk-AHA7UALU.js} +4 -4
  57. package/dist/{chunk-NB2DYYZL.js → chunk-AIHBYQHF.js} +254 -118
  58. package/dist/chunk-AIHBYQHF.js.map +1 -0
  59. package/dist/{chunk-RNQ7V4LH.js → chunk-ANYX2M6P.js} +3 -3
  60. package/dist/{chunk-VFGLMRO2.js → chunk-ATKYMRBC.js} +4 -4
  61. package/dist/{chunk-7UHLO4ZN.js → chunk-B2HU55QD.js} +2 -2
  62. package/dist/{chunk-RKOXA5GZ.js → chunk-BEKMLYQ4.js} +4 -4
  63. package/dist/{chunk-AYUMAPOS.js → chunk-BPFXD4EX.js} +23 -3
  64. package/dist/chunk-BPFXD4EX.js.map +1 -0
  65. package/dist/{chunk-R4PDYYK5.js → chunk-C2NXAR3D.js} +5 -5
  66. package/dist/{chunk-XBOGGTUJ.js → chunk-CJBWJO5P.js} +6 -6
  67. package/dist/{chunk-XBOGGTUJ.js.map → chunk-CJBWJO5P.js.map} +1 -1
  68. package/dist/{chunk-44CU4N7N.js → chunk-CQLMRCKX.js} +2 -2
  69. package/dist/{chunk-VUBRHJ4H.js → chunk-CR5UPYIJ.js} +1 -1
  70. package/dist/chunk-CR5UPYIJ.js.map +1 -0
  71. package/dist/{chunk-4XXRPSPS.js → chunk-DS2JXSUA.js} +6 -6
  72. package/dist/{chunk-X6Z2SIRF.js → chunk-E2JIE4S3.js} +2 -2
  73. package/dist/{chunk-EQ6C2ZPT.js → chunk-E7Y4J4GL.js} +2 -2
  74. package/dist/{chunk-ZMDSBTFT.js → chunk-ECDM6YRX.js} +2 -2
  75. package/dist/{chunk-WRLWEYHY.js → chunk-EFINFZIF.js} +11 -1
  76. package/dist/chunk-EFINFZIF.js.map +1 -0
  77. package/dist/{chunk-JM72WDAY.js → chunk-EM56MHN5.js} +6 -6
  78. package/dist/{chunk-YWJMM2WY.js → chunk-EQXOJH6O.js} +4 -4
  79. package/dist/{chunk-ME6LY5UG.js → chunk-ET3U2C3A.js} +2 -2
  80. package/dist/{chunk-G2KLVCKO.js → chunk-EU4G7PQH.js} +2 -2
  81. package/dist/{chunk-WJXLTO43.js → chunk-EUCUYK5E.js} +10 -10
  82. package/dist/{chunk-EPMX3SCC.js → chunk-EWSIJDWO.js} +4 -4
  83. package/dist/{chunk-KFYUQMF5.js → chunk-F2FD4LSB.js} +2 -2
  84. package/dist/{chunk-L4UL4IAR.js → chunk-F7ENMZYJ.js} +2 -2
  85. package/dist/{chunk-5OG7YQX5.js → chunk-FIIVYQOW.js} +5 -5
  86. package/dist/{chunk-4RF7DVH2.js → chunk-FPK2LPLR.js} +8 -8
  87. package/dist/chunk-FPK2LPLR.js.map +1 -0
  88. package/dist/{chunk-2EF2Z4UN.js → chunk-FQEUJGBV.js} +2 -2
  89. package/dist/{chunk-UORWAG7K.js → chunk-FY4FFNKK.js} +2 -2
  90. package/dist/{chunk-WA4ZPMKP.js → chunk-GDCYZGPB.js} +2 -2
  91. package/dist/{chunk-3HDBDUX2.js → chunk-H6Q7GKLI.js} +2 -2
  92. package/dist/{chunk-654RE5YC.js → chunk-HDAPQF6Q.js} +3 -3
  93. package/dist/{chunk-B5PWQMZN.js → chunk-HRLMUZLI.js} +5 -5
  94. package/dist/{chunk-QWC2PRUR.js → chunk-HRNQYGLQ.js} +2 -2
  95. package/dist/{chunk-YIVAKBCW.js → chunk-I4S7IZSS.js} +321 -235
  96. package/dist/chunk-I4S7IZSS.js.map +1 -0
  97. package/dist/{chunk-7DWAYY45.js → chunk-IN4XZJYD.js} +4 -3
  98. package/dist/{chunk-7DWAYY45.js.map → chunk-IN4XZJYD.js.map} +1 -1
  99. package/dist/{chunk-JGYCKX56.js → chunk-ISIXU45J.js} +1 -1
  100. package/dist/{chunk-JGYCKX56.js.map → chunk-ISIXU45J.js.map} +1 -1
  101. package/dist/{chunk-7PFOKQOJ.js → chunk-J4L4AS2W.js} +2 -2
  102. package/dist/{chunk-PZZWAHEJ.js → chunk-JPSOFWJR.js} +2 -2
  103. package/dist/{chunk-B24ODIKE.js → chunk-JRCO67NG.js} +2 -2
  104. package/dist/{chunk-PNEBCVXP.js → chunk-JW3I3NNZ.js} +2 -2
  105. package/dist/{chunk-MXNYMFHE.js → chunk-JZMPSQBH.js} +4 -4
  106. package/dist/{chunk-IIQMNZXT.js → chunk-K5TVSOPQ.js} +5 -5
  107. package/dist/{chunk-ZPXCQNXJ.js → chunk-K75SL74I.js} +2 -2
  108. package/dist/{chunk-TA5VTIC4.js → chunk-KA4AAUST.js} +2 -2
  109. package/dist/chunk-KHSBMLQE.js +161 -0
  110. package/dist/chunk-KHSBMLQE.js.map +1 -0
  111. package/dist/{chunk-JWLVBYP4.js → chunk-KUGUML7H.js} +3 -3
  112. package/dist/{chunk-GWYZEPBY.js → chunk-L4J5NC2Q.js} +2 -2
  113. package/dist/{chunk-PIF3TNU2.js → chunk-LIX4QPMM.js} +2 -2
  114. package/dist/{chunk-LCY6ANV2.js → chunk-LWQFGR34.js} +3 -3
  115. package/dist/{chunk-HQPS27BT.js → chunk-MMSSHMHW.js} +2 -2
  116. package/dist/{chunk-T5EXREMW.js → chunk-N25Z6PR4.js} +6 -5
  117. package/dist/chunk-N25Z6PR4.js.map +1 -0
  118. package/dist/{chunk-ND6S2DKC.js → chunk-N5S2BCW3.js} +2 -2
  119. package/dist/{chunk-63INIVE4.js → chunk-NIZH2TYZ.js} +2 -2
  120. package/dist/{chunk-WQHEEYQA.js → chunk-NLDBQHDV.js} +2 -2
  121. package/dist/{chunk-SKSHWV3E.js → chunk-NQQ4MOPC.js} +4 -4
  122. package/dist/{chunk-B6EWMGFX.js → chunk-NUBI6PYH.js} +2 -2
  123. package/dist/{chunk-VWUSOPBF.js → chunk-NYEXUZDW.js} +4 -4
  124. package/dist/{chunk-GU6QXHPZ.js → chunk-OIBFIWVJ.js} +4 -4
  125. package/dist/chunk-OIBFIWVJ.js.map +1 -0
  126. package/dist/{chunk-PIEX7WSG.js → chunk-OOLF5FU2.js} +2 -2
  127. package/dist/{chunk-HOK5KGBO.js → chunk-OQA7UF2Q.js} +3 -3
  128. package/dist/{chunk-JMMG7UWR.js → chunk-ORJPICJI.js} +2 -2
  129. package/dist/{chunk-IF2M43G4.js → chunk-PBRD75JF.js} +2 -2
  130. package/dist/{chunk-X7Q2XL5U.js → chunk-PDCBL23X.js} +39 -17
  131. package/dist/chunk-PDCBL23X.js.map +1 -0
  132. package/dist/{chunk-PR2R57YF.js → chunk-PR36DD2X.js} +7 -7
  133. package/dist/{chunk-LFCX2JAV.js → chunk-PV4HIC4E.js} +2 -2
  134. package/dist/{chunk-SKF3DF7M.js → chunk-PZNK4HTV.js} +3 -3
  135. package/dist/{chunk-5F3KYRG6.js → chunk-QBLPLNPE.js} +3 -3
  136. package/dist/{chunk-4ZRNXWF6.js → chunk-QZXUISRF.js} +5 -5
  137. package/dist/{chunk-7Q72NTBE.js → chunk-RBXYO7MD.js} +5 -5
  138. package/dist/{chunk-S2BQV6HM.js → chunk-RIACRFWA.js} +4 -4
  139. package/dist/{chunk-DO33YCSZ.js → chunk-RL6RNDJQ.js} +8 -8
  140. package/dist/{chunk-2SPWVX6W.js → chunk-SJ2P7UXD.js} +7 -7
  141. package/dist/{chunk-26FMWFAW.js → chunk-SWXS4LV3.js} +11 -11
  142. package/dist/{chunk-J3ECXFU7.js → chunk-TOTCZFRF.js} +2 -2
  143. package/dist/{chunk-AN4GUUQM.js → chunk-TT4D52EK.js} +6 -6
  144. package/dist/{chunk-KOJHCSGS.js → chunk-U7CMJY5P.js} +10 -10
  145. package/dist/{chunk-DDR6SCG7.js → chunk-UNKTZDA2.js} +11 -11
  146. package/dist/{chunk-DDR6SCG7.js.map → chunk-UNKTZDA2.js.map} +1 -1
  147. package/dist/{chunk-WVML7HUZ.js → chunk-UXH4AKH3.js} +95 -151
  148. package/dist/chunk-UXH4AKH3.js.map +1 -0
  149. package/dist/{chunk-MKQHIYUY.js → chunk-UZVHSYIF.js} +2 -2
  150. package/dist/{chunk-FDGE56FS.js → chunk-VHKAW5OI.js} +29 -5
  151. package/dist/chunk-VHKAW5OI.js.map +1 -0
  152. package/dist/{chunk-OCSKQUNE.js → chunk-VKZ3TDET.js} +3 -3
  153. package/dist/{chunk-ESDYDGPH.js → chunk-VLZPUG5A.js} +4 -4
  154. package/dist/{chunk-PCYIDPFM.js → chunk-VSN5FLMI.js} +2 -2
  155. package/dist/{chunk-S4QDN4IQ.js → chunk-VYBBE7RN.js} +5 -5
  156. package/dist/{chunk-XBFJRCRW.js → chunk-WHK4JVKF.js} +8 -8
  157. package/dist/{chunk-CZEWEOOV.js → chunk-X4LDBALX.js} +2 -2
  158. package/dist/{chunk-YWEPWJRG.js → chunk-X67E7NIJ.js} +3 -3
  159. package/dist/{chunk-RRI3JBD6.js → chunk-XMARKBUC.js} +3 -3
  160. package/dist/{chunk-B3B6HV5S.js → chunk-XMBBTETD.js} +2 -2
  161. package/dist/{chunk-GQ4MF3CM.js → chunk-XMBTAN5E.js} +28 -14
  162. package/dist/chunk-XMBTAN5E.js.map +1 -0
  163. package/dist/{chunk-GEICXZCQ.js → chunk-XROQP6IQ.js} +4 -4
  164. package/dist/chunk-XWWDZKLS.js +196 -0
  165. package/dist/chunk-XWWDZKLS.js.map +1 -0
  166. package/dist/{chunk-VX72USUQ.js → chunk-Y2RYUWSQ.js} +10 -10
  167. package/dist/{chunk-6I5RRBPP.js → chunk-YCTSQV7K.js} +5 -5
  168. package/dist/{chunk-7WV6R7RG.js → chunk-YF7P2DG7.js} +2 -2
  169. package/dist/{chunk-ZZLIFVZG.js → chunk-ZG7DBIVX.js} +2 -2
  170. package/dist/{chunk-Y6WJJRVV.js → chunk-ZGJ775X7.js} +2 -2
  171. package/dist/{chunk-PQGCWTTI.js → chunk-ZQQLOEWN.js} +3 -3
  172. package/dist/classified/index.js +5 -5
  173. package/dist/{classified-marker-LY7KQFPH.js → classified-marker-HKMRC7SC.js} +3 -3
  174. package/dist/{reveal-LK3GX4L6.js → classify-reveal-YSJKJEIR.js} +7 -12
  175. package/dist/classify-reveal-YSJKJEIR.js.map +1 -0
  176. package/dist/{verify-FT5COLP2.js → classify-verify-ZCTKYQ43.js} +31 -41
  177. package/dist/classify-verify-ZCTKYQ43.js.map +1 -0
  178. package/dist/collection-facade-PPKNUR2J.js +38 -0
  179. package/dist/{computed-XG7LFB7A.js → computed-UCYVPMZA.js} +3 -3
  180. package/dist/consent/index.js +6 -9
  181. package/dist/consent/index.js.map +1 -1
  182. package/dist/cover/index.js +6 -9
  183. package/dist/custody/index.js +11 -13
  184. package/dist/{dead-filter-F4EKHDQY.js → dead-filter-YOBWRG4O.js} +8 -11
  185. package/dist/{dead-filter-F4EKHDQY.js.map → dead-filter-YOBWRG4O.js.map} +1 -1
  186. package/dist/debug/index.js +5 -8
  187. package/dist/debug/index.js.map +1 -1
  188. package/dist/delegation-SNALWRMO.js +24 -0
  189. package/dist/derivations/index.js +20 -23
  190. package/dist/derive-4GNU4E4I.js +17 -0
  191. package/dist/directory/index.js +7 -10
  192. package/dist/{dispatch-YNHZLB72.js → dispatch-QW32QBLW.js} +17 -20
  193. package/dist/{dispatch-YNHZLB72.js.map → dispatch-QW32QBLW.js.map} +1 -1
  194. package/dist/{dispatch-URNW4Q2T.js → dispatch-V5WLDTVX.js} +5 -5
  195. package/dist/executor-7QN22OKI.js +8 -0
  196. package/dist/executor-BJZJNVBB.js +8 -0
  197. package/dist/executor-JEAAEJUM.js +32 -0
  198. package/dist/export-accessible-TVO2KQPG.js +20 -0
  199. package/dist/extract-partition-43CLDRN4.js +33 -0
  200. package/dist/{fanout-sidecar-6CSMTIVB.js → fanout-sidecar-DDONAFJT.js} +6 -9
  201. package/dist/{fanout-sidecar-6CSMTIVB.js.map → fanout-sidecar-DDONAFJT.js.map} +1 -1
  202. package/dist/forget/index.js +6 -9
  203. package/dist/forget/index.js.map +1 -1
  204. package/dist/guards/index.js +4 -4
  205. package/dist/history/index.js +11 -14
  206. package/dist/history/index.js.map +1 -1
  207. package/dist/i18n/index.js +11 -14
  208. package/dist/i18n/index.js.map +1 -1
  209. package/dist/index.d.ts +2 -2
  210. package/dist/index.js +122 -123
  211. package/dist/index.js.map +1 -1
  212. package/dist/indexing/index.js +5 -5
  213. package/dist/introspection/index.js +8 -11
  214. package/dist/issue-EIHEDAXM.js +16 -0
  215. package/dist/kernel/capsule-requirements.d.ts +84 -0
  216. package/dist/kernel/errors.d.ts +15 -0
  217. package/dist/kernel/export-scope.d.ts +28 -1
  218. package/dist/kernel/store-segment-guard.d.ts +29 -0
  219. package/dist/kernel/types.d.ts +164 -8
  220. package/dist/kernel/validation.d.ts +32 -0
  221. package/dist/kernel/vault.d.ts +3 -3
  222. package/dist/{ledger-FV6NFTOR.js → ledger-BMVUFQ3R.js} +8 -11
  223. package/dist/liberate-7KHXCLNJ.js +23 -0
  224. package/dist/link-set-PC2EJRKL.js +26 -0
  225. package/dist/{managed-secret-PBJZHPQO.js → managed-secret-RPRVEYZA.js} +7 -10
  226. package/dist/materialized-views/index.js +23 -26
  227. package/dist/{migrate-cek-J634S4NU.js → migrate-cek-DTSCWGEF.js} +2 -2
  228. package/dist/money/index.js +5 -5
  229. package/dist/noydb-AYDNOXAX.js +98 -0
  230. package/dist/on/index.js +11 -13
  231. package/dist/overlay-views/index.js +4 -4
  232. package/dist/periods/index.js +9 -12
  233. package/dist/pod/index.js +65 -67
  234. package/dist/{pod-handle-IOEYUDCA.js → pod-handle-KBPQRN6Q.js} +6 -9
  235. package/dist/{pod-handle-IOEYUDCA.js.map → pod-handle-KBPQRN6Q.js.map} +1 -1
  236. package/dist/policy/index.js +7 -10
  237. package/dist/port/at/index.d.ts +1 -0
  238. package/dist/port/with/collection-registries.d.ts +37 -0
  239. package/dist/portability/index.js +8 -8
  240. package/dist/{post-register-L42VXYFB.js → post-register-RITSNASO.js} +6 -6
  241. package/dist/query/all/index.js +15 -15
  242. package/dist/query/index.js +7 -7
  243. package/dist/query/live/index.js +7 -7
  244. package/dist/query/reduce/index.js +10 -10
  245. package/dist/query/relate/index.js +9 -9
  246. package/dist/reduce/index.js +8 -8
  247. package/dist/register-BB34SK7E.js +27 -0
  248. package/dist/registry-65L6V5TO.js +20 -0
  249. package/dist/registry-HU62GPWA.js +32 -0
  250. package/dist/registry-SMNK6UM4.js +8 -0
  251. package/dist/registry-X5VPBKCO.js +8 -0
  252. package/dist/request-withdrawal-4SKAH46W.js +26 -0
  253. package/dist/{restore-to-ZQ2MXOFO.js → restore-to-VQHT67OH.js} +7 -10
  254. package/dist/{restore-to-ZQ2MXOFO.js.map → restore-to-VQHT67OH.js.map} +1 -1
  255. package/dist/revoke-IF5PX2JY.js +21 -0
  256. package/dist/satellites/index.js +1 -1
  257. package/dist/schema-update/index.js +2 -2
  258. package/dist/sealed-record/index.js +9 -12
  259. package/dist/sealed-record/index.js.map +1 -1
  260. package/dist/search/index.js +4 -4
  261. package/dist/{seed-XHQQF6LJ.js → seed-F2OSDZJR.js} +11 -13
  262. package/dist/{seed-XHQQF6LJ.js.map → seed-F2OSDZJR.js.map} +1 -1
  263. package/dist/sequence/index.js +6 -9
  264. package/dist/session/index.js +6 -9
  265. package/dist/session/index.js.map +1 -1
  266. package/dist/shadow/index.js +2 -2
  267. package/dist/signer-5P7IZC2K.js +20 -0
  268. package/dist/snapshots/index.js +8 -10
  269. package/dist/snapshots/index.js.map +1 -1
  270. package/dist/{stale-XY2QUSGU.js → stale-PUCZH5GJ.js} +7 -10
  271. package/dist/storage-5EGY5OYE.js +18 -0
  272. package/dist/store/index.js +1 -1
  273. package/dist/{store-coordination-provider-F7YG22D3.js → store-coordination-provider-SEQM7SHJ.js} +7 -10
  274. package/dist/{store-coordination-provider-F7YG22D3.js.map → store-coordination-provider-SEQM7SHJ.js.map} +1 -1
  275. package/dist/sync/index.js +13 -15
  276. package/dist/sync/index.js.map +1 -1
  277. package/dist/team/index.js +14 -16
  278. package/dist/tiers/index.js +8 -11
  279. package/dist/to/index.js +2 -2
  280. package/dist/transactions/index.js +3 -3
  281. package/dist/util/index.js +1 -1
  282. package/dist/vault-diff-H7LT5ZBJ.js +8 -0
  283. package/dist/vault-head/index.js +5 -8
  284. package/dist/vault-head/index.js.map +1 -1
  285. package/dist/walk-Z4N7PCZ2.js +17 -0
  286. package/dist/with-audit/portability/export-accessible.d.ts +3 -1
  287. package/dist/with-cargo/vault-diff.d.ts +28 -0
  288. package/dist/with-commit/sequence/index.d.ts +22 -0
  289. package/dist/with-party/team/keyring.d.ts +77 -0
  290. package/dist/with-party/team/managed-secret.d.ts +40 -3
  291. package/dist/with-shape/manifest/storage.d.ts +2 -2
  292. package/dist/with-shape/manifest/writer.d.ts +2 -2
  293. package/dist/with-store/store-middleware.d.ts +18 -5
  294. package/dist/withdraw-accessible-CRCIQSTL.js +23 -0
  295. package/package.json +3 -3
  296. package/dist/api-ARU35MCC.js +0 -18
  297. package/dist/capsule/enclave-aes/classify/reveal.d.ts +0 -10
  298. package/dist/capsule/enclave-aes/classify/verify.d.ts +0 -36
  299. package/dist/chunk-4RF7DVH2.js.map +0 -1
  300. package/dist/chunk-6B4X447I.js +0 -40
  301. package/dist/chunk-6B4X447I.js.map +0 -1
  302. package/dist/chunk-6Y3UJT5H.js +0 -157
  303. package/dist/chunk-6Y3UJT5H.js.map +0 -1
  304. package/dist/chunk-AYUMAPOS.js.map +0 -1
  305. package/dist/chunk-BCJAUHSG.js.map +0 -1
  306. package/dist/chunk-CE443VXM.js.map +0 -1
  307. package/dist/chunk-FDGE56FS.js.map +0 -1
  308. package/dist/chunk-GLSRKIU3.js +0 -591
  309. package/dist/chunk-GLSRKIU3.js.map +0 -1
  310. package/dist/chunk-GQ4MF3CM.js.map +0 -1
  311. package/dist/chunk-GU6QXHPZ.js.map +0 -1
  312. package/dist/chunk-LFUID7OW.js.map +0 -1
  313. package/dist/chunk-M2VLXPRU.js.map +0 -1
  314. package/dist/chunk-NB2DYYZL.js.map +0 -1
  315. package/dist/chunk-NH2UOV3B.js +0 -18
  316. package/dist/chunk-NH2UOV3B.js.map +0 -1
  317. package/dist/chunk-OJAFKGI7.js +0 -27
  318. package/dist/chunk-OJAFKGI7.js.map +0 -1
  319. package/dist/chunk-PVBKEBJU.js +0 -22
  320. package/dist/chunk-PVBKEBJU.js.map +0 -1
  321. package/dist/chunk-RQLCOSEJ.js +0 -78
  322. package/dist/chunk-RQLCOSEJ.js.map +0 -1
  323. package/dist/chunk-T5EXREMW.js.map +0 -1
  324. package/dist/chunk-VPG2UJYR.js.map +0 -1
  325. package/dist/chunk-VUBRHJ4H.js.map +0 -1
  326. package/dist/chunk-WRLWEYHY.js.map +0 -1
  327. package/dist/chunk-WVML7HUZ.js.map +0 -1
  328. package/dist/chunk-X7Q2XL5U.js.map +0 -1
  329. package/dist/chunk-YIVAKBCW.js.map +0 -1
  330. package/dist/collection-facade-SETOHJ3R.js +0 -41
  331. package/dist/delegation-JIQCMKW6.js +0 -26
  332. package/dist/derive-45KCFFOS.js +0 -20
  333. package/dist/executor-BVVZ5UHG.js +0 -8
  334. package/dist/executor-R25UN3FA.js +0 -8
  335. package/dist/executor-SIYBLT3P.js +0 -35
  336. package/dist/export-accessible-P672FZEJ.js +0 -22
  337. package/dist/extract-partition-DQ3FVL6H.js +0 -35
  338. package/dist/find-HHF2HBAC.js +0 -10
  339. package/dist/issue-NPLQHB3S.js +0 -19
  340. package/dist/liberate-A7WASOCG.js +0 -25
  341. package/dist/link-set-UMRSGMQ5.js +0 -29
  342. package/dist/noydb-V23UJKHT.js +0 -100
  343. package/dist/register-2VINJWYJ.js +0 -30
  344. package/dist/registry-3VLHDUID.js +0 -8
  345. package/dist/registry-6HVHDR3P.js +0 -35
  346. package/dist/registry-V4FQUMYP.js +0 -23
  347. package/dist/registry-Z2E6ZCPM.js +0 -8
  348. package/dist/request-withdrawal-PSIHKQP4.js +0 -28
  349. package/dist/reveal-LK3GX4L6.js.map +0 -1
  350. package/dist/revoke-2NYMID63.js +0 -24
  351. package/dist/signer-CP6XZLE3.js +0 -23
  352. package/dist/storage-QTM6JYQF.js +0 -21
  353. package/dist/vault-diff-C6WUJFNP.js +0 -8
  354. package/dist/verify-FT5COLP2.js.map +0 -1
  355. package/dist/walk-52FW6EKP.js +0 -20
  356. package/dist/withdraw-accessible-IVMKJGEN.js +0 -25
  357. package/dist/withdraw-accessible-IVMKJGEN.js.map +0 -1
  358. /package/dist/{api-ARU35MCC.js.map → api-QSEKT4KS.js.map} +0 -0
  359. /package/dist/{capsule-QJJFUUSH.js.map → capsule-YAITMH77.js.map} +0 -0
  360. /package/dist/{chunk-E3CUGBGW.js.map → chunk-24AGG4PP.js.map} +0 -0
  361. /package/dist/{chunk-MRVQKRXI.js.map → chunk-2SIREKBR.js.map} +0 -0
  362. /package/dist/{chunk-ZZZVNHN2.js.map → chunk-3M2KK7O7.js.map} +0 -0
  363. /package/dist/{chunk-P6FATPXQ.js.map → chunk-3ZCVY3T6.js.map} +0 -0
  364. /package/dist/{chunk-I7NDTNHK.js.map → chunk-4CGWLHPQ.js.map} +0 -0
  365. /package/dist/{chunk-PVQIME6P.js.map → chunk-56Z4NOC6.js.map} +0 -0
  366. /package/dist/{chunk-HQFTE3DX.js.map → chunk-5BGHAVBN.js.map} +0 -0
  367. /package/dist/{chunk-QHG7GQKM.js.map → chunk-5JNEDW7I.js.map} +0 -0
  368. /package/dist/{chunk-YAYDDYRU.js.map → chunk-5Y4MO7UQ.js.map} +0 -0
  369. /package/dist/{chunk-TLIFNRU5.js.map → chunk-63LZLRWG.js.map} +0 -0
  370. /package/dist/{chunk-BUFFPAR2.js.map → chunk-74W56QPY.js.map} +0 -0
  371. /package/dist/{chunk-U2N7DH4S.js.map → chunk-AHA7UALU.js.map} +0 -0
  372. /package/dist/{chunk-RNQ7V4LH.js.map → chunk-ANYX2M6P.js.map} +0 -0
  373. /package/dist/{chunk-VFGLMRO2.js.map → chunk-ATKYMRBC.js.map} +0 -0
  374. /package/dist/{chunk-7UHLO4ZN.js.map → chunk-B2HU55QD.js.map} +0 -0
  375. /package/dist/{chunk-RKOXA5GZ.js.map → chunk-BEKMLYQ4.js.map} +0 -0
  376. /package/dist/{chunk-R4PDYYK5.js.map → chunk-C2NXAR3D.js.map} +0 -0
  377. /package/dist/{chunk-44CU4N7N.js.map → chunk-CQLMRCKX.js.map} +0 -0
  378. /package/dist/{chunk-4XXRPSPS.js.map → chunk-DS2JXSUA.js.map} +0 -0
  379. /package/dist/{chunk-X6Z2SIRF.js.map → chunk-E2JIE4S3.js.map} +0 -0
  380. /package/dist/{chunk-EQ6C2ZPT.js.map → chunk-E7Y4J4GL.js.map} +0 -0
  381. /package/dist/{chunk-ZMDSBTFT.js.map → chunk-ECDM6YRX.js.map} +0 -0
  382. /package/dist/{chunk-JM72WDAY.js.map → chunk-EM56MHN5.js.map} +0 -0
  383. /package/dist/{chunk-YWJMM2WY.js.map → chunk-EQXOJH6O.js.map} +0 -0
  384. /package/dist/{chunk-ME6LY5UG.js.map → chunk-ET3U2C3A.js.map} +0 -0
  385. /package/dist/{chunk-G2KLVCKO.js.map → chunk-EU4G7PQH.js.map} +0 -0
  386. /package/dist/{chunk-WJXLTO43.js.map → chunk-EUCUYK5E.js.map} +0 -0
  387. /package/dist/{chunk-EPMX3SCC.js.map → chunk-EWSIJDWO.js.map} +0 -0
  388. /package/dist/{chunk-KFYUQMF5.js.map → chunk-F2FD4LSB.js.map} +0 -0
  389. /package/dist/{chunk-L4UL4IAR.js.map → chunk-F7ENMZYJ.js.map} +0 -0
  390. /package/dist/{chunk-5OG7YQX5.js.map → chunk-FIIVYQOW.js.map} +0 -0
  391. /package/dist/{chunk-2EF2Z4UN.js.map → chunk-FQEUJGBV.js.map} +0 -0
  392. /package/dist/{chunk-UORWAG7K.js.map → chunk-FY4FFNKK.js.map} +0 -0
  393. /package/dist/{chunk-WA4ZPMKP.js.map → chunk-GDCYZGPB.js.map} +0 -0
  394. /package/dist/{chunk-3HDBDUX2.js.map → chunk-H6Q7GKLI.js.map} +0 -0
  395. /package/dist/{chunk-654RE5YC.js.map → chunk-HDAPQF6Q.js.map} +0 -0
  396. /package/dist/{chunk-B5PWQMZN.js.map → chunk-HRLMUZLI.js.map} +0 -0
  397. /package/dist/{chunk-QWC2PRUR.js.map → chunk-HRNQYGLQ.js.map} +0 -0
  398. /package/dist/{chunk-7PFOKQOJ.js.map → chunk-J4L4AS2W.js.map} +0 -0
  399. /package/dist/{chunk-PZZWAHEJ.js.map → chunk-JPSOFWJR.js.map} +0 -0
  400. /package/dist/{chunk-B24ODIKE.js.map → chunk-JRCO67NG.js.map} +0 -0
  401. /package/dist/{chunk-PNEBCVXP.js.map → chunk-JW3I3NNZ.js.map} +0 -0
  402. /package/dist/{chunk-MXNYMFHE.js.map → chunk-JZMPSQBH.js.map} +0 -0
  403. /package/dist/{chunk-IIQMNZXT.js.map → chunk-K5TVSOPQ.js.map} +0 -0
  404. /package/dist/{chunk-ZPXCQNXJ.js.map → chunk-K75SL74I.js.map} +0 -0
  405. /package/dist/{chunk-TA5VTIC4.js.map → chunk-KA4AAUST.js.map} +0 -0
  406. /package/dist/{chunk-JWLVBYP4.js.map → chunk-KUGUML7H.js.map} +0 -0
  407. /package/dist/{chunk-GWYZEPBY.js.map → chunk-L4J5NC2Q.js.map} +0 -0
  408. /package/dist/{chunk-PIF3TNU2.js.map → chunk-LIX4QPMM.js.map} +0 -0
  409. /package/dist/{chunk-LCY6ANV2.js.map → chunk-LWQFGR34.js.map} +0 -0
  410. /package/dist/{chunk-HQPS27BT.js.map → chunk-MMSSHMHW.js.map} +0 -0
  411. /package/dist/{chunk-ND6S2DKC.js.map → chunk-N5S2BCW3.js.map} +0 -0
  412. /package/dist/{chunk-63INIVE4.js.map → chunk-NIZH2TYZ.js.map} +0 -0
  413. /package/dist/{chunk-WQHEEYQA.js.map → chunk-NLDBQHDV.js.map} +0 -0
  414. /package/dist/{chunk-SKSHWV3E.js.map → chunk-NQQ4MOPC.js.map} +0 -0
  415. /package/dist/{chunk-B6EWMGFX.js.map → chunk-NUBI6PYH.js.map} +0 -0
  416. /package/dist/{chunk-VWUSOPBF.js.map → chunk-NYEXUZDW.js.map} +0 -0
  417. /package/dist/{chunk-PIEX7WSG.js.map → chunk-OOLF5FU2.js.map} +0 -0
  418. /package/dist/{chunk-HOK5KGBO.js.map → chunk-OQA7UF2Q.js.map} +0 -0
  419. /package/dist/{chunk-JMMG7UWR.js.map → chunk-ORJPICJI.js.map} +0 -0
  420. /package/dist/{chunk-IF2M43G4.js.map → chunk-PBRD75JF.js.map} +0 -0
  421. /package/dist/{chunk-PR2R57YF.js.map → chunk-PR36DD2X.js.map} +0 -0
  422. /package/dist/{chunk-LFCX2JAV.js.map → chunk-PV4HIC4E.js.map} +0 -0
  423. /package/dist/{chunk-SKF3DF7M.js.map → chunk-PZNK4HTV.js.map} +0 -0
  424. /package/dist/{chunk-5F3KYRG6.js.map → chunk-QBLPLNPE.js.map} +0 -0
  425. /package/dist/{chunk-4ZRNXWF6.js.map → chunk-QZXUISRF.js.map} +0 -0
  426. /package/dist/{chunk-7Q72NTBE.js.map → chunk-RBXYO7MD.js.map} +0 -0
  427. /package/dist/{chunk-S2BQV6HM.js.map → chunk-RIACRFWA.js.map} +0 -0
  428. /package/dist/{chunk-DO33YCSZ.js.map → chunk-RL6RNDJQ.js.map} +0 -0
  429. /package/dist/{chunk-2SPWVX6W.js.map → chunk-SJ2P7UXD.js.map} +0 -0
  430. /package/dist/{chunk-26FMWFAW.js.map → chunk-SWXS4LV3.js.map} +0 -0
  431. /package/dist/{chunk-J3ECXFU7.js.map → chunk-TOTCZFRF.js.map} +0 -0
  432. /package/dist/{chunk-AN4GUUQM.js.map → chunk-TT4D52EK.js.map} +0 -0
  433. /package/dist/{chunk-KOJHCSGS.js.map → chunk-U7CMJY5P.js.map} +0 -0
  434. /package/dist/{chunk-MKQHIYUY.js.map → chunk-UZVHSYIF.js.map} +0 -0
  435. /package/dist/{chunk-OCSKQUNE.js.map → chunk-VKZ3TDET.js.map} +0 -0
  436. /package/dist/{chunk-ESDYDGPH.js.map → chunk-VLZPUG5A.js.map} +0 -0
  437. /package/dist/{chunk-PCYIDPFM.js.map → chunk-VSN5FLMI.js.map} +0 -0
  438. /package/dist/{chunk-S4QDN4IQ.js.map → chunk-VYBBE7RN.js.map} +0 -0
  439. /package/dist/{chunk-XBFJRCRW.js.map → chunk-WHK4JVKF.js.map} +0 -0
  440. /package/dist/{chunk-CZEWEOOV.js.map → chunk-X4LDBALX.js.map} +0 -0
  441. /package/dist/{chunk-YWEPWJRG.js.map → chunk-X67E7NIJ.js.map} +0 -0
  442. /package/dist/{chunk-RRI3JBD6.js.map → chunk-XMARKBUC.js.map} +0 -0
  443. /package/dist/{chunk-B3B6HV5S.js.map → chunk-XMBBTETD.js.map} +0 -0
  444. /package/dist/{chunk-GEICXZCQ.js.map → chunk-XROQP6IQ.js.map} +0 -0
  445. /package/dist/{chunk-VX72USUQ.js.map → chunk-Y2RYUWSQ.js.map} +0 -0
  446. /package/dist/{chunk-6I5RRBPP.js.map → chunk-YCTSQV7K.js.map} +0 -0
  447. /package/dist/{chunk-7WV6R7RG.js.map → chunk-YF7P2DG7.js.map} +0 -0
  448. /package/dist/{chunk-ZZLIFVZG.js.map → chunk-ZG7DBIVX.js.map} +0 -0
  449. /package/dist/{chunk-Y6WJJRVV.js.map → chunk-ZGJ775X7.js.map} +0 -0
  450. /package/dist/{chunk-PQGCWTTI.js.map → chunk-ZQQLOEWN.js.map} +0 -0
  451. /package/dist/{classified-marker-LY7KQFPH.js.map → classified-marker-HKMRC7SC.js.map} +0 -0
  452. /package/dist/{collection-facade-SETOHJ3R.js.map → collection-facade-PPKNUR2J.js.map} +0 -0
  453. /package/dist/{computed-XG7LFB7A.js.map → computed-UCYVPMZA.js.map} +0 -0
  454. /package/dist/{delegation-JIQCMKW6.js.map → delegation-SNALWRMO.js.map} +0 -0
  455. /package/dist/{derive-45KCFFOS.js.map → derive-4GNU4E4I.js.map} +0 -0
  456. /package/dist/{dispatch-URNW4Q2T.js.map → dispatch-V5WLDTVX.js.map} +0 -0
  457. /package/dist/{executor-BVVZ5UHG.js.map → executor-7QN22OKI.js.map} +0 -0
  458. /package/dist/{executor-R25UN3FA.js.map → executor-BJZJNVBB.js.map} +0 -0
  459. /package/dist/{executor-SIYBLT3P.js.map → executor-JEAAEJUM.js.map} +0 -0
  460. /package/dist/{export-accessible-P672FZEJ.js.map → export-accessible-TVO2KQPG.js.map} +0 -0
  461. /package/dist/{extract-partition-DQ3FVL6H.js.map → extract-partition-43CLDRN4.js.map} +0 -0
  462. /package/dist/{find-HHF2HBAC.js.map → issue-EIHEDAXM.js.map} +0 -0
  463. /package/dist/{issue-NPLQHB3S.js.map → ledger-BMVUFQ3R.js.map} +0 -0
  464. /package/dist/{ledger-FV6NFTOR.js.map → liberate-7KHXCLNJ.js.map} +0 -0
  465. /package/dist/{liberate-A7WASOCG.js.map → link-set-PC2EJRKL.js.map} +0 -0
  466. /package/dist/{link-set-UMRSGMQ5.js.map → managed-secret-RPRVEYZA.js.map} +0 -0
  467. /package/dist/{migrate-cek-J634S4NU.js.map → migrate-cek-DTSCWGEF.js.map} +0 -0
  468. /package/dist/{managed-secret-PBJZHPQO.js.map → noydb-AYDNOXAX.js.map} +0 -0
  469. /package/dist/{post-register-L42VXYFB.js.map → post-register-RITSNASO.js.map} +0 -0
  470. /package/dist/{noydb-V23UJKHT.js.map → register-BB34SK7E.js.map} +0 -0
  471. /package/dist/{register-2VINJWYJ.js.map → registry-65L6V5TO.js.map} +0 -0
  472. /package/dist/{registry-3VLHDUID.js.map → registry-HU62GPWA.js.map} +0 -0
  473. /package/dist/{registry-6HVHDR3P.js.map → registry-SMNK6UM4.js.map} +0 -0
  474. /package/dist/{registry-V4FQUMYP.js.map → registry-X5VPBKCO.js.map} +0 -0
  475. /package/dist/{registry-Z2E6ZCPM.js.map → request-withdrawal-4SKAH46W.js.map} +0 -0
  476. /package/dist/{request-withdrawal-PSIHKQP4.js.map → revoke-IF5PX2JY.js.map} +0 -0
  477. /package/dist/{revoke-2NYMID63.js.map → signer-5P7IZC2K.js.map} +0 -0
  478. /package/dist/{signer-CP6XZLE3.js.map → stale-PUCZH5GJ.js.map} +0 -0
  479. /package/dist/{stale-XY2QUSGU.js.map → storage-5EGY5OYE.js.map} +0 -0
  480. /package/dist/{storage-QTM6JYQF.js.map → vault-diff-H7LT5ZBJ.js.map} +0 -0
  481. /package/dist/{vault-diff-C6WUJFNP.js.map → walk-Z4N7PCZ2.js.map} +0 -0
  482. /package/dist/{walk-52FW6EKP.js.map → withdraw-accessible-CRCIQSTL.js.map} +0 -0
@@ -8,15 +8,15 @@ import {
8
8
  decodeIdxId,
9
9
  encodeIdxId,
10
10
  isIdxId
11
- } from "../chunk-EPMX3SCC.js";
11
+ } from "../chunk-EWSIJDWO.js";
12
12
  import {
13
13
  CollectionIndexes
14
- } from "../chunk-PIF3TNU2.js";
14
+ } from "../chunk-LIX4QPMM.js";
15
15
  import "../chunk-SUZKW6UR.js";
16
16
  import "../chunk-4CFHL5RY.js";
17
- import "../chunk-WQHEEYQA.js";
18
- import "../chunk-ZZLIFVZG.js";
19
- import "../chunk-JGYCKX56.js";
17
+ import "../chunk-NLDBQHDV.js";
18
+ import "../chunk-ZG7DBIVX.js";
19
+ import "../chunk-ISIXU45J.js";
20
20
 
21
21
  // src/with-lookup/indexing/active.ts
22
22
  function withIndexing() {
@@ -1,7 +1,7 @@
1
1
  import "../chunk-2DX4JCRI.js";
2
2
  import {
3
3
  dumpVaultSchema
4
- } from "../chunk-654RE5YC.js";
4
+ } from "../chunk-HDAPQF6Q.js";
5
5
  import {
6
6
  applyListProjection
7
7
  } from "../chunk-VG2ZSFYD.js";
@@ -12,17 +12,14 @@ import {
12
12
  import {
13
13
  jsonSchemaToFields
14
14
  } from "../chunk-VYYM3MEN.js";
15
- import "../chunk-UORWAG7K.js";
15
+ import "../chunk-FY4FFNKK.js";
16
16
  import "../chunk-Y2NBBT6K.js";
17
- import "../chunk-IF2M43G4.js";
18
- import "../chunk-WRLWEYHY.js";
19
- import "../chunk-OJAFKGI7.js";
20
- import "../chunk-6B4X447I.js";
21
- import "../chunk-NH2UOV3B.js";
22
- import "../chunk-YIVAKBCW.js";
23
- import "../chunk-6Y3UJT5H.js";
24
- import "../chunk-VUBRHJ4H.js";
25
- import "../chunk-JGYCKX56.js";
17
+ import "../chunk-PBRD75JF.js";
18
+ import "../chunk-EFINFZIF.js";
19
+ import "../chunk-I4S7IZSS.js";
20
+ import "../chunk-XWWDZKLS.js";
21
+ import "../chunk-CR5UPYIJ.js";
22
+ import "../chunk-ISIXU45J.js";
26
23
  export {
27
24
  FieldMetaUnknownFieldError,
28
25
  applyListProjection,
@@ -0,0 +1,16 @@
1
+ import {
2
+ issueAttestationCore
3
+ } from "./chunk-HRLMUZLI.js";
4
+ import "./chunk-NUBI6PYH.js";
5
+ import "./chunk-XMARKBUC.js";
6
+ import "./chunk-GMKGGY7V.js";
7
+ import "./chunk-4AOERLTV.js";
8
+ import "./chunk-EFINFZIF.js";
9
+ import "./chunk-I4S7IZSS.js";
10
+ import "./chunk-XWWDZKLS.js";
11
+ import "./chunk-CR5UPYIJ.js";
12
+ import "./chunk-ISIXU45J.js";
13
+ export {
14
+ issueAttestationCore
15
+ };
16
+ //# sourceMappingURL=issue-EIHEDAXM.js.map
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Which hub features need which capsule group, and the two refusal points
3
+ * (family#156).
4
+ *
5
+ * ⛔ AT STARTUP OR NOT AT ALL. A capability discovered on first write is a
6
+ * half-built vault: some records sealed, a service silently inert, and a
7
+ * consumer who cannot tell a missing capability from a bug. So this refuses at
8
+ * `createNoydb()` for a SERVICE, and at `vault.collection()` for a declared
9
+ * FIELD — the two places a requirement becomes known.
10
+ *
11
+ * ⭐ TWO POINTS, BECAUSE A DECLARATION IS NOT A STRATEGY. A `classifiedFields`
12
+ * declaration writes `_vdig`/`_sealed` with no `classifiedStrategy` at all: the
13
+ * strategy is the READ side (reveal/verify/matchGroup), while the codec's
14
+ * `vdigFields` map comes straight from the declaration at construction.
15
+ * Measured before wiring — a single check at `createNoydb()` would have left
16
+ * every write-side requirement unenforced while looking complete.
17
+ *
18
+ * ⚠️ `authenticate` and `seal` ARE DELIBERATELY ABSENT from both tables, and
19
+ * that is a measurement, not an omission. `deriveKey` (secret → KEK) and
20
+ * `wrapKey`/`unwrapKey` (KEK wraps DEK) are called only from the keyring unlock
21
+ * chain — `with-party/team/keyring.ts` and the DEK-rewrapping paths in
22
+ * `with-cargo`/`custody`/`delegation` — never from a field form. Mapping
23
+ * `storage:'recoverable'` to `seal` or `digest-only` to `authenticate` would
24
+ * have been plausible and invented: those two are the POSTURE groups
25
+ * (`PRIMITIVE_GROUPS` has no primitive for either), and what actually implies
26
+ * them is opening a vault with a secret. That is a THIRD refusal point this
27
+ * ruling did not name, so it is reported rather than added here.
28
+ * @module
29
+ */
30
+ import { type CapsuleGroup } from '../capsule/contract.js';
31
+ /** The declaration shape the field check reads — a slice of the collection options. */
32
+ export interface DeclaredFieldGroups {
33
+ readonly sensitiveFields?: ReadonlySet<string> | readonly string[] | null;
34
+ readonly deterministicFields?: ReadonlySet<string> | readonly string[] | null;
35
+ readonly perRecordKeys?: boolean;
36
+ /** Classified members by field, with the storage form that decides the group. */
37
+ readonly classifiedByField?: Readonly<Record<string, {
38
+ readonly storage: string;
39
+ readonly equatable?: boolean;
40
+ }>> | null;
41
+ }
42
+ /**
43
+ * Every (group, requirer) a set of declared fields needs — the pure half.
44
+ *
45
+ * ⭐ SEPARATED FROM THE THROW on purpose (the family#172 lesson applied to this
46
+ * wiring): the reference capsule supports every group, so no integration test
47
+ * can reach a refusal, and a predicate that only ever runs against a capsule
48
+ * which never refuses is exactly the shape family#172 had to fix. The decision
49
+ * is testable against a stub set; what still needs its own test is that
50
+ * anything CALLS it.
51
+ */
52
+ export declare function fieldGroupRequirements(collection: string, decl: DeclaredFieldGroups): ReadonlyArray<readonly [CapsuleGroup, string]>;
53
+ /** Every (group, requirer) a set of enabled services needs — the pure half. */
54
+ export declare function serviceGroupRequirements(options: Readonly<Record<string, unknown>>): ReadonlyArray<readonly [CapsuleGroup, string]>;
55
+ /**
56
+ * The POSTURE groups an encrypted vault needs, and the third refusal point
57
+ * (family#156, ruled 2026-10-12).
58
+ *
59
+ * ⭐ IT IS THE KEYRING, NOT A FIELD OR A SERVICE, and that is what the earlier
60
+ * measurement found: `deriveKey` (secret → KEK) is `authenticate` and
61
+ * `wrapKey`/`unwrapKey` (KEK wraps DEK) are `seal`, called only from the
62
+ * keyring's unlock chain. So nothing in {@link SERVICE_GROUPS} or
63
+ * {@link fieldGroupRequirements} can imply them — what implies them is opening
64
+ * a vault that HAS a keyring.
65
+ *
66
+ * ⛔ A PLAINTEXT VAULT MUST STILL OPEN, and the gate for that is STRUCTURAL
67
+ * rather than a condition written here. `createNoydb({ encrypt: false })`
68
+ * short-circuits in `_getKeyringInternal` to `createPlaintextKeyring()` and
69
+ * never reaches `loadKeyring`/`createOwnerKeyring` — so calling this at those
70
+ * two entries means it cannot fire for a vault that has no keyring. An
71
+ * `encrypted` parameter would have been a condition I maintain and that can
72
+ * drift; an unreachable path cannot. Refusing unconditionally would make
73
+ * `exclave-plain` unable to open any vault at all, which is its entire purpose.
74
+ *
75
+ * ⚠️ Called at the KEYRING ENTRY rather than in `openVault`: the ruling says
76
+ * "before any keyring is read or written", and the entry is literally that. It
77
+ * also covers the creation paths `openVault` does not go through — `grant`,
78
+ * `rotateSecret`, recovery — which a guard at the open call site would miss.
79
+ */
80
+ export declare function assertVaultPostureSupported(caps: ReadonlySet<CapsuleGroup>, requirer: string): void;
81
+ /** Refuse at `createNoydb()` — one assertion per enabled service. */
82
+ export declare function assertServicesSupported(options: Readonly<Record<string, unknown>>, caps: ReadonlySet<CapsuleGroup>): void;
83
+ /** Refuse at `vault.collection()` — one assertion per declared field form. */
84
+ export declare function assertFieldsSupported(collection: string, decl: DeclaredFieldGroups, caps: ReadonlySet<CapsuleGroup>): void;
@@ -2419,6 +2419,21 @@ export declare class RecoveryProfileNotImplementedError extends NoydbError {
2419
2419
  constructor(profile: string, tracking: string);
2420
2420
  }
2421
2421
  /**
2422
+ * @deprecated Since family#168 (2026-10-12). Throw
2423
+ * `CapsuleNotSupportedError` from `@noy-db/hub/capsule` instead; this class is
2424
+ * removed at a later breaking cut.
2425
+ *
2426
+ * ⛔ WHY IT IS GOING. Two not-supported classes shipped side by side with two
2427
+ * DIFFERENT codes — this one (`ENCLAVE_NOT_SUPPORTED`) and
2428
+ * `CapsuleNotSupportedError` (`CAPSULE_NOT_SUPPORTED`). Hub never threw this
2429
+ * one; `exclave-plain` threw the other; and the published conformance kit
2430
+ * matched only this code. So a capsule refusing a group EXACTLY AS THE CONTRACT
2431
+ * SAYS was reported by the kit as not refusing at all. Nothing failed anywhere,
2432
+ * because the one capsule that supports every group never takes the branch.
2433
+ *
2434
+ * ⚠️ The kit now accepts BOTH codes, so a fork already throwing this keeps
2435
+ * passing. That is the only reason this class still exists.
2436
+ *
2422
2437
  * Thrown by a `capsule/enclave-aes` fork's **optional groups** — sealing,
2423
2438
  * deterministic, per-record-key lifecycle — when that fork's crypto
2424
2439
  * engine does not implement the requested behavior.
@@ -19,7 +19,7 @@
19
19
  *
20
20
  * @module
21
21
  */
22
- import type { NoydbStore, ExportStreamOptions } from './types.js';
22
+ import type { NoydbStore, ExportStreamOptions, EncryptedEnvelope } from './types.js';
23
23
  /** Where an export's collection names and record ids come from. */
24
24
  export interface ExportSource {
25
25
  /** Collection names to export, sorted. */
@@ -28,6 +28,18 @@ export interface ExportSource {
28
28
  readonly scoped: boolean;
29
29
  /** Record ids in one collection. */
30
30
  ids(collection: string): Promise<readonly string[]>;
31
+ /**
32
+ * The raw envelope for one record, for `withEnvelopeMeta` (family#166).
33
+ *
34
+ * ⚠️ THE TWO SOURCES ANSWER THIS AT DIFFERENT PRICES, and the caller must
35
+ * only ask when the option was set. The bulk source already holds the whole
36
+ * snapshot, so this is a map lookup; the scoped source enumerated with `list`
37
+ * and has no envelopes, so this is a store `get` per record. Making it part
38
+ * of the source interface rather than reaching for `adapter` at the call site
39
+ * is what keeps that difference in ONE place — the same reason core#45b put
40
+ * the enumeration strategy here.
41
+ */
42
+ envelope(collection: string, id: string): Promise<EncryptedEnvelope | null>;
31
43
  }
32
44
  /**
33
45
  * Resolve the read strategy for one export.
@@ -38,3 +50,18 @@ export interface ExportSource {
38
50
  * the route that happens to be taken is a rule waiting to be lost.
39
51
  */
40
52
  export declare function resolveExportSource(adapter: NoydbStore, vault: string, opts: ExportStreamOptions): Promise<ExportSource>;
53
+ /**
54
+ * `_v`/`_ts` for one exported record (family#166).
55
+ *
56
+ * ⚠️ A NULL ENVELOPE YIELDS VERSION 0, not a gap. The record was readable a
57
+ * moment ago (the caller only asks after a non-null `get`), so null here means
58
+ * it was deleted mid-export — and family#147 ruled that absence IS version 0
59
+ * at the store contract, so reporting 0 is the same answer the CAS gives rather
60
+ * than a new sentinel. Returning `undefined` instead would break the
61
+ * positional alignment that `ExportChunk.envelopeMeta` is built on, which is
62
+ * the one property a consumer cannot recover.
63
+ */
64
+ export declare function readEnvelopeMeta(source: ExportSource, collection: string, id: string): Promise<{
65
+ version: number;
66
+ ts: string;
67
+ }>;
@@ -0,0 +1,29 @@
1
+ import type { NoydbStore } from './types.js';
2
+ /**
3
+ * Wrap `store` so every segment it is handed is checked first.
4
+ *
5
+ * ⛔ A PROXY, NOT `{ ...store, get() {…} }`, and the spread is a real defect
6
+ * rather than a style preference: it copies OWN ENUMERABLE properties only, so
7
+ * a store implemented as a CLASS loses every prototype method the wrapper does
8
+ * not itself redeclare — `listPage`, `tx`, `getStoreTime`, `listSince`, `ping`
9
+ * all vanish silently, and hub then takes its fallback paths as though the
10
+ * store never offered them. (`with-store`'s `wrapStore` middleware still has
11
+ * that shape; it is family#173, not fixed here.)
12
+ *
13
+ * ⚠️ `Reflect.apply(fn, target, args)` binds `this` to the TARGET, not the
14
+ * proxy. That is load-bearing for a class store with `#private` fields: called
15
+ * through the proxy as the receiver, a method touching `#field` throws
16
+ * "Cannot read private member" — a failure that looks nothing like a wrapper
17
+ * bug. Everything unguarded is forwarded the same way, so `name`,
18
+ * `capabilities` and any vendor extension survive untouched.
19
+ */
20
+ /**
21
+ * The raw store behind a guard, or `store` itself if it is not guarded.
22
+ *
23
+ * ⚠️ Exists for `Noydb.store`, the published accessor whose whole purpose is
24
+ * handing back what the caller mounted — `===` against their own argument. A
25
+ * proxy satisfies every behavioural assertion and fails that one, which is how
26
+ * `introspection/store-and-sync-targets.test.ts` found it.
27
+ */
28
+ export declare function unguardedStore(store: NoydbStore): NoydbStore;
29
+ export declare function guardStoreSegments(store: NoydbStore): NoydbStore;
@@ -640,6 +640,63 @@ export interface ListPageResult {
640
640
  /** Opaque cursor for the next page, or `null` if this was the last page. */
641
641
  nextCursor: string | null;
642
642
  }
643
+ /**
644
+ * ## Segment shape — part of the contract (family#133)
645
+ *
646
+ * `vault` and `collection` are single names: never empty, never `.` or `..`,
647
+ * and they carry no path separator. A record `id` **may** contain `/` — hub
648
+ * materialises persisted index side-cars as `_idx/<field>/<recordId>` — but no
649
+ * slash-separated component of it may be empty, `.` or `..`.
650
+ *
651
+ * ⛔ **ABSENCE AND FAILURE ARE DIFFERENT ANSWERS** (family#162). `get` returns
652
+ * `null`, `list` returns `[]` and `loadAll` returns `{}` for something that is
653
+ * **not there**. A read that FAILED — a permission error, an I/O error, a
654
+ * corrupt body — must **throw**, and must never be reported as absence.
655
+ *
656
+ * Hub cannot tell the two apart, and it has a fail-closed gate that depends on
657
+ * doing so: `assertKeyringOpenAllowed` refuses to self-provision into a vault
658
+ * held by other principals by checking `list(vault, '_keyring')` for emptiness.
659
+ * A store that answered an EACCES with `[]` made that gate read "a
660
+ * genuinely-new vault" and hub provisioned a second owner into a vault that
661
+ * already had one. `@noy-db/to-file` did exactly that until family#162.
662
+ *
663
+ * ⚠️ Not kit-enforceable: a conformance suite cannot inject a read failure into
664
+ * an arbitrary store, so this is a contract a store author honours rather than
665
+ * one the kit can check. That is why it is stated here, in the authority.
666
+ *
667
+ * ⛔ **A NUL (`\x00`) is legal in an id too, and hub emits one** (family#174).
668
+ * `resolveSequenceKey` and `resolvePeriodKey` join a partition as
669
+ * `${name}\x00${parts}`, chosen precisely because a NUL cannot occur in a plain
670
+ * series name — so a partitioned key can never collide with an unpartitioned
671
+ * one. A store that refuses the byte cannot hold a partitioned sequence or
672
+ * period at all. A FILESYSTEM-backed store must therefore **encode** id
673
+ * components (at least NUL and `%`, which the encoding itself needs) and
674
+ * **decode on `list`** — an encoding without a matching decode reports an id
675
+ * that no `get` resolves. `@noy-db/ports/to` has the round-trip case.
676
+ *
677
+ * ⛔ A store must therefore **accept** `/` in an id. Refusing the separator
678
+ * breaks hub's own writes, which is a real measured failure rather than a
679
+ * hypothetical: `to-file` created only the collection directory, so every
680
+ * side-car write failed with `ENOENT` on its atomic-write leaf and persisted
681
+ * indexing never worked on that store.
682
+ *
683
+ * ✅ **Hub validates this centrally since family#133's second half.**
684
+ * `createNoydb()` wraps the mounted store in `guardStoreSegments()`
685
+ * (`kernel/store-segment-guard.ts`), so a malformed vault, collection or id is
686
+ * refused before any store sees it. The sentence here used to say the opposite,
687
+ * which was honest and is now wrong.
688
+ *
689
+ * ⚠️ A store's own guard is still required, and is not redundant: an
690
+ * out-of-tree caller can hold a `NoydbStore` reference and never pass through
691
+ * hub. `@noy-db/ports/to`'s `broken-escapes-namespace` control tests the store
692
+ * side precisely because hub's check cannot reach it.
693
+ *
694
+ * What a store MUST guarantee either way is **containment**: if a malformed id
695
+ * reaches it, the record must not become readable under a different
696
+ * `(vault, collection)` pair. A store may also reject outright —
697
+ * `@noy-db/ports/to` accepts either, and its `broken-escapes-namespace` control
698
+ * is a store that collapses `..` and lets an id climb out of its vault.
699
+ */
643
700
  export interface NoydbStore {
644
701
  /**
645
702
  * Optional human-readable store name (e.g. 'memory', 'file', 'dynamo').
@@ -657,13 +714,23 @@ export interface NoydbStore {
657
714
  /** Get a single record. Returns null if not found. */
658
715
  get(vault: string, collection: string, id: string): Promise<EncryptedEnvelope | null>;
659
716
  /**
660
- * Put a record. Throws ConflictError if `expectedVersion` doesn't match an
661
- * EXISTING record's `_v`.
717
+ * Put a record. Throws ConflictError if `expectedVersion` doesn't match the
718
+ * record's current `_v`, **where an absent id counts as version 0** — so the
719
+ * comparison always happens and the two halves fall out of one rule:
720
+ *
721
+ * - `expectedVersion: 0` against an absent id → `0 === 0`, the write lands;
722
+ * - `expectedVersion: N > 0` against an absent id → mismatch, and the
723
+ * `ConflictError` carries `version: 0` (family#147).
724
+ *
725
+ * ⚠️ The second half is a TIGHTENING, ruled on family#147. The natural
726
+ * read-then-compare shape guarded the comparison with `&& existing`, so a
727
+ * writer saying "I expect version 5" against nothing silently UPSERTED. Absence
728
+ * satisfies "I expect no record" and contradicts "I expect the record I read",
729
+ * which is why the halves differ. Both are asserted by `@noy-db/ports/to`
730
+ * (core#134, core#138, family#147).
662
731
  *
663
- * ⚠️ **Against an ABSENT id the comparison does not happen and the write
664
- * lands.** That is not an implementation detail of the reference store — it is
665
- * the contract, asserted by `@noy-db/ports/to` (core#134, core#138) and run
666
- * green across all 19 `to-*` adapters.
732
+ * ⛔ Implement it as `(existing?._v ?? 0) !== expectedVersion`, never
733
+ * `existing && existing._v !== expectedVersion`.
667
734
  *
668
735
  * ⭐ **So `expectedVersion: 0` is an exact "write only if absent."** hub never
669
736
  * stores a version below 1, so the first create is let through and every
@@ -686,7 +753,30 @@ export interface NoydbStore {
686
753
  list(vault: string, collection: string): Promise<string[]>;
687
754
  /** Load all records for a vault (initial hydration). */
688
755
  loadAll(vault: string): Promise<VaultSnapshot>;
689
- /** Save all records for a vault (bulk write / restore). */
756
+ /**
757
+ * Save all records for a vault (bulk write / restore).
758
+ *
759
+ * ⭐ **This REPLACES, it does not merge** (family#147). Every non-underscore
760
+ * collection in the vault is dropped and the snapshot written over the top, so
761
+ * a collection absent from `data` is GONE afterwards, and a collection present
762
+ * with an EMPTY record set is EMPTIED. `saveAll` is the restore half of
763
+ * `loadAll`, and a merging restore cannot express "this collection is gone" —
764
+ * omitting a key and passing `{}` would mean the same thing, so a backup would
765
+ * silently resurrect what the snapshot was taken to exclude.
766
+ *
767
+ * ⚠️ **Reserved (`_`-prefixed) collections are asymmetric, deliberately.** They
768
+ * are never DROPPED — a partial snapshot must not strand `_keyring` and leave
769
+ * the vault unopenable — but they ARE overwritten when `data` carries them,
770
+ * which is what makes a full restore possible.
771
+ *
772
+ * ⛔ The consequence worth stating rather than leaving to be discovered: a
773
+ * snapshot carrying `_keyring` **replaces the live keyring without passing
774
+ * through any keyring code path** — no epoch check, no roster validation, no
775
+ * grant. Treat a `saveAll` payload as exactly as trusted as the vault itself.
776
+ *
777
+ * Note `loadAll` SKIPS reserved collections, so `loadAll` → `saveAll` does not
778
+ * round-trip them; a restore that needs the keyring must carry it explicitly.
779
+ */
690
780
  saveAll(vault: string, data: VaultSnapshot): Promise<void>;
691
781
  /** Optional connectivity check for sync engine. */
692
782
  ping?(): Promise<boolean>;
@@ -1359,6 +1449,23 @@ export interface ExportStreamOptions {
1359
1449
  * per-partition. Default: `false`.
1360
1450
  */
1361
1451
  readonly withLedgerHead?: boolean;
1452
+ /**
1453
+ * When `true`, every chunk carries {@link ExportChunk.envelopeMeta} — the
1454
+ * store-level `_v` and `_ts` of each exported record, positionally aligned
1455
+ * with `records` (family#166).
1456
+ *
1457
+ * ⚠️ OPT-IN BECAUSE THE COST IS ASYMMETRIC, and the asymmetry is the whole
1458
+ * reason this is a flag rather than always-on. An unscoped export already
1459
+ * holds every envelope — `resolveExportSource` does ONE `loadAll` — so the
1460
+ * metadata is free. A SCOPED export deliberately enumerates with `list` and
1461
+ * never pulls the envelopes (core#45b: that avoidance is what makes
1462
+ * "scoping" a property rather than a word), so it costs one `get` per
1463
+ * exported record. Default `false` keeps a scoped export's read as narrow as
1464
+ * core#45b made it.
1465
+ *
1466
+ * Default: `false`.
1467
+ */
1468
+ readonly withEnvelopeMeta?: boolean;
1362
1469
  /**
1363
1470
  * Export locale (BCP 47, e.g. `'th'`). When set, records are read at this
1364
1471
  * locale through the **`export` layer**: `i18nText` fields collapse to
@@ -1458,6 +1565,54 @@ export interface ExportChunk<T = unknown> {
1458
1565
  readonly index: number;
1459
1566
  readonly ts: string;
1460
1567
  };
1568
+ /**
1569
+ * Store-level version and write timestamp of each exported record
1570
+ * (family#166). Present only when `exportStream({ withEnvelopeMeta: true })`
1571
+ * was called.
1572
+ *
1573
+ * ⛔ POSITIONALLY ALIGNED WITH `records`, NOT KEYED BY ID, and that is
1574
+ * deliberate. A record need not carry an `id` field at all — hub's id is the
1575
+ * store key, not a property of the plaintext — so a `{ [id]: meta }` map
1576
+ * would silently drop every id-less record and quietly mis-key any record
1577
+ * whose own `id` field disagrees with its store key. That is family#151's
1578
+ * defect in `diffVault` exactly, and repeating it here would put it on a
1579
+ * PUBLISHED type.
1580
+ *
1581
+ * ⚠️ So `envelopeMeta[i]` describes `records[i]`, and the two always have the
1582
+ * same length. A record the caller cannot read is skipped from BOTH, which is
1583
+ * the alignment hazard this shape has to get right: `records` already drops a
1584
+ * null `get()`, so the metadata must be appended in that same branch and
1585
+ * never in a second loop over `ids`.
1586
+ *
1587
+ * `version` is the envelope's `_v` — monotonic per record, what a CAS
1588
+ * `expectedVersion` compares against. `ts` is its `_ts`, the store-visible
1589
+ * write time, which is NOT the same as any business timestamp inside the
1590
+ * record.
1591
+ */
1592
+ readonly envelopeMeta?: ReadonlyArray<{
1593
+ readonly version: number;
1594
+ readonly ts: string;
1595
+ }>;
1596
+ /**
1597
+ * The HUB ID of each exported record, positionally aligned with `records`
1598
+ * (family#151).
1599
+ *
1600
+ * ⭐ ALWAYS POPULATED BY `exportStream`, and not behind a flag. Unlike
1601
+ * {@link ExportChunk.envelopeMeta} it costs nothing — both yield paths
1602
+ * already iterate the id list — and a flag is a way to forget it. The id is
1603
+ * NOT derivable from a record: hub's id is the store key, and a record need
1604
+ * not carry an `id` field at all, which is why `diffVault` keyed by a FIELD
1605
+ * and silently dropped every record that had none.
1606
+ *
1607
+ * ⚠️ Optional in the TYPE so a consumer constructing an `ExportChunk` — an
1608
+ * `as-*` format fixture, say — stays valid. Hub never omits it.
1609
+ *
1610
+ * ⛔ Positionally aligned, like `envelopeMeta`, and for the same reason: a
1611
+ * `{ [id]: record }` map cannot represent a record whose own `id` field
1612
+ * disagrees with its store key, and that disagreement is the bug this field
1613
+ * exists to make visible.
1614
+ */
1615
+ readonly ids?: readonly string[];
1461
1616
  }
1462
1617
  export interface DirtyEntry {
1463
1618
  readonly vault: string;
@@ -1620,7 +1775,8 @@ export type ConflictStrategy = 'local-wins' | 'remote-wins' | 'version' | ((conf
1620
1775
  * Overrides the db-level `conflict` option for the specific collection.
1621
1776
  *
1622
1777
  * - `'last-writer-wins'` — higher `_ts` wins (timestamp LWW).
1623
- * - `'first-writer-wins'` — lower `_v` wins (earlier version is preserved).
1778
+ * - `'first-writer-wins'` — lower `_v` wins (earlier version is preserved); on a
1779
+ * tie the copy already on the remote wins, since it reached the remote first.
1624
1780
  * - `'manual'` — emits `sync:conflict` with a `resolve` callback. Call
1625
1781
  * `resolve(winner)` synchronously to commit or `resolve(null)` to defer.
1626
1782
  * - Custom fn — synchronous `(local: T, remote: T) => T`. Must be pure.
@@ -117,6 +117,38 @@ export declare class WeakSecretError extends NoydbError {
117
117
  readonly suggestion: string;
118
118
  constructor(reason: WeakSecretReason, suggestion?: string);
119
119
  }
120
+ /**
121
+ * The bar an EXPORT secret must clear (family#177).
122
+ *
123
+ * ⭐ DELIBERATELY NOT THE OWNER BAR, and the difference is not laxity. The
124
+ * owner default is phrase-shaped — six lowercase words, each ≥3 characters,
125
+ * `/^[a-z]+( [a-z]+)*$/` — because it is a thing a human memorises and types
126
+ * daily, and because that is the shape the EFF generator emits. An export
127
+ * secret is typed once into a dialog or produced by a password manager, so the
128
+ * phrase rules refuse the strongest things a caller is likely to use:
129
+ * `8f3a9c2b1d4e7f0a` fails on `invalid-chars`, and `Tax-Returns-2026!` fails
130
+ * twice over.
131
+ *
132
+ * ⛔ SO THE BAR IS LENGTH, 12 CHARACTERS, AND NOTHING ELSE. Measured against
133
+ * the real secrets in this repo and the shapes a consumer actually passes:
134
+ *
135
+ * BLOCKED p · pw · pw1 · r-pw · aud-pw · bob-pw · new-pw · alice-pw · hunter2
136
+ * ALLOWED Tax-Returns-2026! · 8f3a9c2b1d4e7f0a · source-pw-2026 ·
137
+ * client-takeaway · correct horse battery staple
138
+ *
139
+ * That is the whole claim: it refuses what a human picks when they are not
140
+ * thinking, and refuses nothing a human or a generator picks when they are.
141
+ *
142
+ * ⚠️ A single repeated character is refused too, because `aaaaaaaaaaaa` clears
143
+ * any length floor and clears no attacker's wordlist.
144
+ *
145
+ * ⚠️ 12 characters is a FLOOR, not a claim about entropy — roughly 40-50 bits
146
+ * for a human-chosen password, well under the owner phrase's ~77. It is sized
147
+ * to stop the hazard (a one-character export secret on a file built to travel)
148
+ * without blocking ordinary use, and the PBKDF2 600K derivation still sits
149
+ * underneath it. A consumer who wants more passes a longer secret.
150
+ */
151
+ export declare const EXPORT_SECRET_POLICY: SecretPolicy;
120
152
  /**
121
153
  * Inspect a phrase against the format rules and return a structured
122
154
  * verdict. Never throws — callers either branch on `ok` or pass the
@@ -670,9 +670,9 @@ export declare class Vault {
670
670
  */
671
671
  /**
672
672
  * Atomic, gap-free numbering. `vault.sequence('invoice-2026').next()`
673
- * returns 1, 2, 3, … with no gaps or duplicates under concurrency, via
674
- * an optimistic-CAS counter at `_sequences/<name>`. Each name is an
675
- * independent sequence.
673
+ * returns 1, 2, 3, … with no duplicates under concurrency ON THIS DEVICE
674
+ * — ⛔ counters never sync; two devices issue the SAME numbers (family#206).
675
+ * Optimistic-CAS counter at `_sequences/<name>`; each name is independent.
676
676
  *
677
677
  * **Online-only:** `next()` throws `SequenceOfflineError` unless the
678
678
  * store advertises `capabilities.casAtomic` — gap-free numbering cannot
@@ -3,7 +3,7 @@ import {
3
3
  LedgerStore,
4
4
  applyPatch,
5
5
  computePatch
6
- } from "./chunk-RKOXA5GZ.js";
6
+ } from "./chunk-BEKMLYQ4.js";
7
7
  import {
8
8
  LEDGER_COLLECTION,
9
9
  LEDGER_DELTAS_COLLECTION
@@ -15,15 +15,12 @@ import {
15
15
  paddedIndex,
16
16
  parseIndex,
17
17
  sha256Hex
18
- } from "./chunk-QHG7GQKM.js";
19
- import "./chunk-WRLWEYHY.js";
20
- import "./chunk-OJAFKGI7.js";
21
- import "./chunk-6B4X447I.js";
22
- import "./chunk-NH2UOV3B.js";
23
- import "./chunk-YIVAKBCW.js";
24
- import "./chunk-6Y3UJT5H.js";
25
- import "./chunk-VUBRHJ4H.js";
26
- import "./chunk-JGYCKX56.js";
18
+ } from "./chunk-5JNEDW7I.js";
19
+ import "./chunk-EFINFZIF.js";
20
+ import "./chunk-I4S7IZSS.js";
21
+ import "./chunk-XWWDZKLS.js";
22
+ import "./chunk-CR5UPYIJ.js";
23
+ import "./chunk-ISIXU45J.js";
27
24
  export {
28
25
  LEDGER_COLLECTION,
29
26
  LEDGER_DELTAS_COLLECTION,
@@ -37,4 +34,4 @@ export {
37
34
  parseIndex,
38
35
  sha256Hex
39
36
  };
40
- //# sourceMappingURL=ledger-FV6NFTOR.js.map
37
+ //# sourceMappingURL=ledger-BMVUFQ3R.js.map
@@ -0,0 +1,23 @@
1
+ import {
2
+ liberateVault
3
+ } from "./chunk-DS2JXSUA.js";
4
+ import "./chunk-XROQP6IQ.js";
5
+ import "./chunk-23A4SBRR.js";
6
+ import "./chunk-OIBFIWVJ.js";
7
+ import "./chunk-2NVQ5SEA.js";
8
+ import "./chunk-OQA7UF2Q.js";
9
+ import "./chunk-GMKGGY7V.js";
10
+ import "./chunk-UXH4AKH3.js";
11
+ import "./chunk-ZQQLOEWN.js";
12
+ import "./chunk-KHSBMLQE.js";
13
+ import "./chunk-VKZ3TDET.js";
14
+ import "./chunk-F2FD4LSB.js";
15
+ import "./chunk-EFINFZIF.js";
16
+ import "./chunk-I4S7IZSS.js";
17
+ import "./chunk-XWWDZKLS.js";
18
+ import "./chunk-CR5UPYIJ.js";
19
+ import "./chunk-ISIXU45J.js";
20
+ export {
21
+ liberateVault
22
+ };
23
+ //# sourceMappingURL=liberate-7KHXCLNJ.js.map
@@ -0,0 +1,26 @@
1
+ import {
2
+ LinkEndpointError,
3
+ LinkSet
4
+ } from "./chunk-ATKYMRBC.js";
5
+ import {
6
+ LINK_COLLECTION_PREFIX,
7
+ LinkIntegrityError,
8
+ isLinkCollectionName,
9
+ linkCollectionName,
10
+ linkRowKey
11
+ } from "./chunk-MMSSHMHW.js";
12
+ import "./chunk-EFINFZIF.js";
13
+ import "./chunk-I4S7IZSS.js";
14
+ import "./chunk-XWWDZKLS.js";
15
+ import "./chunk-CR5UPYIJ.js";
16
+ import "./chunk-ISIXU45J.js";
17
+ export {
18
+ LINK_COLLECTION_PREFIX,
19
+ LinkEndpointError,
20
+ LinkIntegrityError,
21
+ LinkSet,
22
+ isLinkCollectionName,
23
+ linkCollectionName,
24
+ linkRowKey
25
+ };
26
+ //# sourceMappingURL=link-set-PC2EJRKL.js.map
@@ -9,15 +9,12 @@ import {
9
9
  resolveManagedSecret,
10
10
  saveSealedSecret,
11
11
  sealRsaOaepTlv
12
- } from "./chunk-GU6QXHPZ.js";
13
- import "./chunk-WRLWEYHY.js";
14
- import "./chunk-OJAFKGI7.js";
15
- import "./chunk-6B4X447I.js";
16
- import "./chunk-NH2UOV3B.js";
17
- import "./chunk-YIVAKBCW.js";
18
- import "./chunk-6Y3UJT5H.js";
19
- import "./chunk-VUBRHJ4H.js";
20
- import "./chunk-JGYCKX56.js";
12
+ } from "./chunk-OIBFIWVJ.js";
13
+ import "./chunk-EFINFZIF.js";
14
+ import "./chunk-I4S7IZSS.js";
15
+ import "./chunk-XWWDZKLS.js";
16
+ import "./chunk-CR5UPYIJ.js";
17
+ import "./chunk-ISIXU45J.js";
21
18
  export {
22
19
  MemoryRecipientSealer,
23
20
  MemorySealer,
@@ -30,4 +27,4 @@ export {
30
27
  saveSealedSecret,
31
28
  sealRsaOaepTlv
32
29
  };
33
- //# sourceMappingURL=managed-secret-PBJZHPQO.js.map
30
+ //# sourceMappingURL=managed-secret-RPRVEYZA.js.map