@noy-db/hub 0.7.0-pre.7 → 0.7.0-pre.9

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 (358) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +4 -1
  3. package/dist/api-GJQF7OAJ.js +20 -0
  4. package/dist/as/index.js +11 -11
  5. package/dist/at/index.js +9 -9
  6. package/dist/attestation/index.js +18 -18
  7. package/dist/{backup-SZBDQQSL.js → backup-QZQEP5RO.js} +12 -12
  8. package/dist/blobs/index.js +13 -13
  9. package/dist/broker/index.js +12 -12
  10. package/dist/by/index.js +2 -2
  11. package/dist/cargo/index.js +30 -30
  12. package/dist/{chunk-AB5P32RE.js → chunk-2DGBRE4K.js} +2 -2
  13. package/dist/{chunk-XVU7J43V.js → chunk-2E2LT37H.js} +2 -2
  14. package/dist/{chunk-ILSR22WM.js → chunk-2MQ2D5OZ.js} +5 -5
  15. package/dist/{chunk-JHLJQUXU.js → chunk-357ECVLE.js} +3 -3
  16. package/dist/{chunk-SHILAQH5.js → chunk-3GIA3HJ2.js} +2 -2
  17. package/dist/{chunk-XLPXGN66.js → chunk-3SWP2FYA.js} +8 -8
  18. package/dist/{chunk-QU3YUP2X.js → chunk-4RUFYGWG.js} +2 -2
  19. package/dist/{chunk-4G25SDQL.js → chunk-4U52PMEL.js} +4 -4
  20. package/dist/{chunk-7XODKGTW.js → chunk-5EC7X5QA.js} +5 -5
  21. package/dist/{chunk-RJ7RIIX6.js → chunk-5NKHCJU5.js} +8 -8
  22. package/dist/{chunk-X6TBQKHW.js → chunk-5UKIZIO3.js} +2 -2
  23. package/dist/{chunk-VSLUSXVK.js → chunk-5W5CEHLA.js} +6 -6
  24. package/dist/{chunk-YPSOHDNC.js → chunk-65ZYRK7O.js} +2 -2
  25. package/dist/{chunk-PRHCMEUK.js → chunk-6L5IMNJX.js} +80 -80
  26. package/dist/{chunk-4ZPE6SKS.js → chunk-75WNTBZL.js} +3 -3
  27. package/dist/{chunk-7CWII4BL.js → chunk-7XT7KZTN.js} +10 -10
  28. package/dist/{chunk-HQINBNHM.js → chunk-7YVSWPZB.js} +7 -7
  29. package/dist/{chunk-Q7GEDVHC.js → chunk-AHIIBDNH.js} +7 -7
  30. package/dist/{chunk-XSN63FUS.js → chunk-AW4KTQA4.js} +2 -2
  31. package/dist/{chunk-KDJGJR7F.js → chunk-CWFH36SI.js} +2 -2
  32. package/dist/{chunk-X67FCULK.js → chunk-DIVY2CJZ.js} +3 -3
  33. package/dist/{chunk-Z2PWOSCJ.js → chunk-DNMTN46H.js} +2 -2
  34. package/dist/{chunk-BYBB4ABD.js → chunk-DOPZWTMJ.js} +8 -8
  35. package/dist/{chunk-HTGRQZFB.js → chunk-DZPMKY3J.js} +3 -3
  36. package/dist/{chunk-XJ3FEKEY.js → chunk-FKQCC4C5.js} +2 -2
  37. package/dist/{chunk-E6YA6UAP.js → chunk-FLRLZ4XZ.js} +2 -2
  38. package/dist/{chunk-4JDIRUTT.js → chunk-FN26SFGH.js} +2 -2
  39. package/dist/{chunk-BWWUXE3L.js → chunk-FPN5D4JX.js} +6 -6
  40. package/dist/{chunk-VVAVTSTR.js → chunk-FRIVOR5N.js} +4 -4
  41. package/dist/{chunk-3QARDAYW.js → chunk-FYT3DXPN.js} +2 -2
  42. package/dist/{chunk-H6WXKZL7.js → chunk-FZWAGG5T.js} +6 -6
  43. package/dist/{chunk-CBRS2NEK.js → chunk-GHADG5QZ.js} +2 -2
  44. package/dist/{chunk-LFDMKZIP.js → chunk-GKOJR53Y.js} +5 -5
  45. package/dist/{chunk-M7UC2QPT.js → chunk-GM4IM7TC.js} +2 -2
  46. package/dist/{chunk-S3I7VKID.js → chunk-H5GVPOB4.js} +5 -5
  47. package/dist/{chunk-4MZEZ37W.js → chunk-HLFLJCDX.js} +10 -8
  48. package/dist/{chunk-4MZEZ37W.js.map → chunk-HLFLJCDX.js.map} +1 -1
  49. package/dist/{chunk-EO2KGKEJ.js → chunk-HOIWW2LV.js} +4 -4
  50. package/dist/{chunk-ZQ2UUHSL.js → chunk-HS3LEVT4.js} +7 -7
  51. package/dist/{chunk-626TSARM.js → chunk-I5LSKXT6.js} +4 -4
  52. package/dist/{chunk-FKFIEEY6.js → chunk-IAHDSFFA.js} +10 -10
  53. package/dist/{chunk-ZKRRBRSZ.js → chunk-IS5LFHV2.js} +7 -7
  54. package/dist/{chunk-POS53FG6.js → chunk-IZTU6RKH.js} +2 -2
  55. package/dist/{chunk-VAG47QHV.js → chunk-J6FXVDKC.js} +2 -2
  56. package/dist/{chunk-2GXEQUEX.js → chunk-JFSUYGNE.js} +2 -2
  57. package/dist/{chunk-UALOYGCP.js → chunk-JILOSL4O.js} +3 -3
  58. package/dist/{chunk-WLFABTZ6.js → chunk-JRWLUWDM.js} +3 -3
  59. package/dist/{chunk-2QNKXGUS.js → chunk-JUBWUJY5.js} +2 -2
  60. package/dist/{chunk-JVLSU7S2.js → chunk-JY4U6CYV.js} +2 -2
  61. package/dist/{chunk-672U6STZ.js → chunk-K432FT7T.js} +4 -4
  62. package/dist/{chunk-WLLUM35R.js → chunk-KQIDBIZL.js} +2 -2
  63. package/dist/{chunk-LKFKXS5K.js → chunk-KZTPL7NL.js} +2 -2
  64. package/dist/{chunk-S2VG3ABP.js → chunk-LAI7ENPW.js} +3 -3
  65. package/dist/{chunk-L3FHEWA3.js → chunk-LUVGSKXE.js} +6 -6
  66. package/dist/{chunk-EXDIHWFO.js → chunk-MENI33ZV.js} +3 -3
  67. package/dist/{chunk-S6YB5ZRP.js → chunk-MOQ6OGKS.js} +4 -4
  68. package/dist/{chunk-OMHHGOG4.js → chunk-MQPHKJ74.js} +15 -13
  69. package/dist/chunk-MQPHKJ74.js.map +1 -0
  70. package/dist/{chunk-5ACAVJUI.js → chunk-MTTPHBIE.js} +2 -2
  71. package/dist/{chunk-T3PHCEN4.js → chunk-MU74BYOD.js} +3 -3
  72. package/dist/{chunk-26W5VETY.js → chunk-MV2OEK3K.js} +5 -5
  73. package/dist/{chunk-GU3LQYW2.js → chunk-N4CHCXDL.js} +1 -1
  74. package/dist/chunk-N4CHCXDL.js.map +1 -0
  75. package/dist/{chunk-44C2URL7.js → chunk-NMDMSHBF.js} +3 -3
  76. package/dist/{chunk-225O5CXQ.js → chunk-O3SNM66K.js} +2 -2
  77. package/dist/{chunk-YCSM3GZU.js → chunk-OEJ4R52I.js} +2 -2
  78. package/dist/{chunk-ZTYG36DH.js → chunk-OHGCRKWA.js} +57 -22
  79. package/dist/chunk-OHGCRKWA.js.map +1 -0
  80. package/dist/{chunk-UPJMBMCR.js → chunk-OKCQNMO6.js} +6 -6
  81. package/dist/{chunk-IF56DYJK.js → chunk-OLUTCM23.js} +7 -7
  82. package/dist/{chunk-RDHUZ674.js → chunk-OQDHIAR2.js} +4 -4
  83. package/dist/{chunk-4TZUFNXL.js → chunk-P22XPNFW.js} +2 -2
  84. package/dist/{chunk-L3HDEHGM.js → chunk-P2RJAVMR.js} +4 -4
  85. package/dist/{chunk-UCUALOSM.js → chunk-P7KJME6C.js} +2 -2
  86. package/dist/{chunk-XWNLKG6R.js → chunk-PCIBCL26.js} +3 -3
  87. package/dist/{chunk-4A4TYISP.js → chunk-PV7XXAXK.js} +2 -2
  88. package/dist/{chunk-BOFRKAUS.js → chunk-Q2OAAREU.js} +6 -6
  89. package/dist/{chunk-Z7ZXZL6Y.js → chunk-Q2ZN5DWZ.js} +2 -2
  90. package/dist/{chunk-JJZIIJSA.js → chunk-QJLOWGOU.js} +5 -5
  91. package/dist/{chunk-7LYUJNU3.js → chunk-QOHGWFAW.js} +2 -2
  92. package/dist/{chunk-6AQIFBSP.js → chunk-RCONOOVF.js} +5 -5
  93. package/dist/{chunk-Y3XWRDAM.js → chunk-RHTPGS56.js} +3 -3
  94. package/dist/{chunk-VFIWDPXZ.js → chunk-RPX2H2OL.js} +3 -3
  95. package/dist/{chunk-JBIV4FLR.js → chunk-SW4TOSJL.js} +5 -1
  96. package/dist/chunk-SW4TOSJL.js.map +1 -0
  97. package/dist/{chunk-6NRVFD55.js → chunk-SWFIXQF5.js} +6 -6
  98. package/dist/{chunk-U6GCYG2T.js → chunk-TAJZ7GXO.js} +3 -3
  99. package/dist/{chunk-XBFEKTIY.js → chunk-TQGT5BZE.js} +4 -4
  100. package/dist/{chunk-TOV6VMHF.js → chunk-U3RMWOXY.js} +3 -3
  101. package/dist/{chunk-PUJTKLPL.js → chunk-UL7TLJ54.js} +3 -3
  102. package/dist/{chunk-W5LHQXZU.js → chunk-USKHHOIV.js} +2 -2
  103. package/dist/{chunk-J4MN6XIU.js → chunk-UTFY6W6X.js} +2 -2
  104. package/dist/{chunk-P6ASQOZR.js → chunk-VT4DTCK5.js} +2 -2
  105. package/dist/{chunk-4FPEWQKF.js → chunk-VTTDPGEK.js} +27 -17
  106. package/dist/chunk-VTTDPGEK.js.map +1 -0
  107. package/dist/{chunk-HSGEIMJS.js → chunk-X6YRP5EC.js} +5 -5
  108. package/dist/{chunk-FOG7YEJP.js → chunk-XGXVPCYW.js} +3 -3
  109. package/dist/{chunk-5263OEM3.js → chunk-XJP66QEN.js} +2 -2
  110. package/dist/{chunk-OPXR4PB2.js → chunk-XKA6UH5V.js} +2 -2
  111. package/dist/{chunk-XDVVBETV.js → chunk-YHIAWECL.js} +2 -2
  112. package/dist/{chunk-F7ZFRPGQ.js → chunk-ZB2K3FV7.js} +2 -2
  113. package/dist/{chunk-NLKLXXTO.js → chunk-ZQGRZN5L.js} +2 -2
  114. package/dist/classified/index.js +5 -5
  115. package/dist/{classified-marker-KL4YXUXD.js → classified-marker-R37XW5PC.js} +3 -3
  116. package/dist/collection-facade-OPJ3EC4L.js +45 -0
  117. package/dist/{computed-ASBNTLOK.js → computed-HW6IG5UH.js} +3 -3
  118. package/dist/consent/index.js +9 -9
  119. package/dist/cover/index.js +9 -9
  120. package/dist/custody/index.js +12 -12
  121. package/dist/{dead-filter-ZGRFZKYE.js → dead-filter-GRT6RAML.js} +2 -2
  122. package/dist/debug/index.js +1 -1
  123. package/dist/{delegation-2DO3VI5E.js → delegation-6QRAYSK6.js} +11 -11
  124. package/dist/derivations/index.js +12 -12
  125. package/dist/derive-AAIXSQIE.js +22 -0
  126. package/dist/directory/index.js +10 -10
  127. package/dist/{dispatch-FNCCONFK.js → dispatch-DR3XITEC.js} +18 -18
  128. package/dist/{dispatch-M62IAL2S.js → dispatch-QCF7KPIP.js} +5 -5
  129. package/dist/{enclave-4P4KH5ZW.js → enclave-OXZY3NOP.js} +9 -9
  130. package/dist/executor-67NA4KPO.js +29 -0
  131. package/dist/executor-7JDP7UBK.js +9 -0
  132. package/dist/executor-CRH5OB4V.js +9 -0
  133. package/dist/export-accessible-K4GJAU7U.js +23 -0
  134. package/dist/extract-partition-YJFL5OKK.js +38 -0
  135. package/dist/{fanout-sidecar-BRQHWTZQ.js → fanout-sidecar-KGQCUJ7P.js} +9 -9
  136. package/dist/find-SVZHMEQI.js +11 -0
  137. package/dist/forget/index.js +9 -9
  138. package/dist/guards/index.js +4 -4
  139. package/dist/history/index.js +13 -13
  140. package/dist/i18n/index.js +14 -14
  141. package/dist/index.js +92 -92
  142. package/dist/indexing/index.js +2 -2
  143. package/dist/introspection/index.js +11 -11
  144. package/dist/issue-64N6OG7U.js +19 -0
  145. package/dist/kernel/errors.d.ts +17 -0
  146. package/dist/kernel/types.d.ts +27 -0
  147. package/dist/{ledger-4X5ZH43X.js → ledger-ZAFULLAF.js} +11 -11
  148. package/dist/liberate-XL6NSGOL.js +25 -0
  149. package/dist/{link-set-WHTYVTOV.js → link-set-LQI2IJX6.js} +11 -11
  150. package/dist/{managed-secret-CXALLEUB.js → managed-secret-7OH7HKXV.js} +10 -10
  151. package/dist/materialized-views/index.js +20 -20
  152. package/dist/{migrate-cek-LBRKYUZZ.js → migrate-cek-QHZ75E6E.js} +2 -2
  153. package/dist/money/index.js +4 -4
  154. package/dist/noydb-SWUGPFBK.js +86 -0
  155. package/dist/overlay-views/index.js +4 -4
  156. package/dist/periods/index.js +12 -12
  157. package/dist/pod/index.js +57 -57
  158. package/dist/{pod-handle-DHEYBTJ2.js → pod-handle-BLOI4IFY.js} +9 -9
  159. package/dist/policy/index.js +10 -10
  160. package/dist/portability/index.js +8 -8
  161. package/dist/{post-register-4DXRYGTU.js → post-register-R33EKJQR.js} +6 -6
  162. package/dist/query/index.js +3 -3
  163. package/dist/reduce/index.js +4 -4
  164. package/dist/register-AYBQNTM3.js +32 -0
  165. package/dist/registry-CQWWOBO4.js +9 -0
  166. package/dist/registry-JCZ4BNLV.js +18 -0
  167. package/dist/registry-JFFENZ44.js +9 -0
  168. package/dist/registry-ZA4HACYR.js +19 -0
  169. package/dist/request-withdrawal-7IKUIAEB.js +31 -0
  170. package/dist/{reveal-X2QMWOVX.js → reveal-PI6ADRQU.js} +6 -6
  171. package/dist/revoke-PUJKRYJF.js +24 -0
  172. package/dist/satellites/index.js +1 -1
  173. package/dist/schema-update/index.js +2 -2
  174. package/dist/sealed-record/index.js +12 -12
  175. package/dist/search/index.js +4 -4
  176. package/dist/{seed-IX5NFSH5.js → seed-CG7JMJNY.js} +12 -12
  177. package/dist/sequence/index.js +9 -9
  178. package/dist/session/index.js +9 -9
  179. package/dist/shadow/index.js +2 -2
  180. package/dist/signer-5TA7FUC3.js +25 -0
  181. package/dist/snapshots/index.js +10 -10
  182. package/dist/{stale-5I36LPVK.js → stale-HZR7745Y.js} +10 -10
  183. package/dist/storage-J2QHNJCB.js +23 -0
  184. package/dist/{store-coordination-provider-OLPNRMFO.js → store-coordination-provider-MYIHSZXT.js} +10 -10
  185. package/dist/sync/index.js +10 -10
  186. package/dist/team/index.js +15 -15
  187. package/dist/tiers/index.js +11 -11
  188. package/dist/to/index.js +2 -2
  189. package/dist/transactions/index.js +3 -3
  190. package/dist/util/index.js +1 -1
  191. package/dist/vault-head/index.js +8 -8
  192. package/dist/{verify-WYOFLSNA.js → verify-R6CCBUA3.js} +5 -5
  193. package/dist/walk-3PA4ZOKS.js +21 -0
  194. package/dist/with-party/team/roster-epoch.d.ts +71 -0
  195. package/dist/with-party/team/roster-tag.d.ts +1 -1
  196. package/dist/withdraw-accessible-62VI4W7D.js +28 -0
  197. package/package.json +3 -3
  198. package/dist/api-OAZLPNVV.js +0 -20
  199. package/dist/chunk-4FPEWQKF.js.map +0 -1
  200. package/dist/chunk-GU3LQYW2.js.map +0 -1
  201. package/dist/chunk-JBIV4FLR.js.map +0 -1
  202. package/dist/chunk-OMHHGOG4.js.map +0 -1
  203. package/dist/chunk-ZTYG36DH.js.map +0 -1
  204. package/dist/collection-facade-6IY2LW6W.js +0 -45
  205. package/dist/derive-TCTS7ULE.js +0 -22
  206. package/dist/executor-AFHQYRAU.js +0 -9
  207. package/dist/executor-CDIMJVE2.js +0 -29
  208. package/dist/executor-YYDW6XQI.js +0 -9
  209. package/dist/export-accessible-WADNWX35.js +0 -23
  210. package/dist/extract-partition-SHQYQSWE.js +0 -38
  211. package/dist/find-SZBL2HPB.js +0 -11
  212. package/dist/issue-2DGG7NKE.js +0 -19
  213. package/dist/liberate-7NEPRE52.js +0 -25
  214. package/dist/noydb-BQ3ZTN2Z.js +0 -86
  215. package/dist/register-GLCOH73C.js +0 -32
  216. package/dist/registry-GWGHZWGP.js +0 -19
  217. package/dist/registry-IWFMXCHX.js +0 -9
  218. package/dist/registry-Q3FG3OAX.js +0 -9
  219. package/dist/registry-T346IZCF.js +0 -18
  220. package/dist/request-withdrawal-2RERJECX.js +0 -31
  221. package/dist/revoke-4NRSCPNW.js +0 -24
  222. package/dist/signer-HJHTGX7X.js +0 -25
  223. package/dist/storage-ZYYAB3J3.js +0 -23
  224. package/dist/walk-LTV7LOCN.js +0 -21
  225. package/dist/withdraw-accessible-V4XCPH7U.js +0 -28
  226. /package/dist/{api-OAZLPNVV.js.map → api-GJQF7OAJ.js.map} +0 -0
  227. /package/dist/{backup-SZBDQQSL.js.map → backup-QZQEP5RO.js.map} +0 -0
  228. /package/dist/{chunk-AB5P32RE.js.map → chunk-2DGBRE4K.js.map} +0 -0
  229. /package/dist/{chunk-XVU7J43V.js.map → chunk-2E2LT37H.js.map} +0 -0
  230. /package/dist/{chunk-ILSR22WM.js.map → chunk-2MQ2D5OZ.js.map} +0 -0
  231. /package/dist/{chunk-JHLJQUXU.js.map → chunk-357ECVLE.js.map} +0 -0
  232. /package/dist/{chunk-SHILAQH5.js.map → chunk-3GIA3HJ2.js.map} +0 -0
  233. /package/dist/{chunk-XLPXGN66.js.map → chunk-3SWP2FYA.js.map} +0 -0
  234. /package/dist/{chunk-QU3YUP2X.js.map → chunk-4RUFYGWG.js.map} +0 -0
  235. /package/dist/{chunk-4G25SDQL.js.map → chunk-4U52PMEL.js.map} +0 -0
  236. /package/dist/{chunk-7XODKGTW.js.map → chunk-5EC7X5QA.js.map} +0 -0
  237. /package/dist/{chunk-RJ7RIIX6.js.map → chunk-5NKHCJU5.js.map} +0 -0
  238. /package/dist/{chunk-X6TBQKHW.js.map → chunk-5UKIZIO3.js.map} +0 -0
  239. /package/dist/{chunk-VSLUSXVK.js.map → chunk-5W5CEHLA.js.map} +0 -0
  240. /package/dist/{chunk-YPSOHDNC.js.map → chunk-65ZYRK7O.js.map} +0 -0
  241. /package/dist/{chunk-PRHCMEUK.js.map → chunk-6L5IMNJX.js.map} +0 -0
  242. /package/dist/{chunk-4ZPE6SKS.js.map → chunk-75WNTBZL.js.map} +0 -0
  243. /package/dist/{chunk-7CWII4BL.js.map → chunk-7XT7KZTN.js.map} +0 -0
  244. /package/dist/{chunk-HQINBNHM.js.map → chunk-7YVSWPZB.js.map} +0 -0
  245. /package/dist/{chunk-Q7GEDVHC.js.map → chunk-AHIIBDNH.js.map} +0 -0
  246. /package/dist/{chunk-XSN63FUS.js.map → chunk-AW4KTQA4.js.map} +0 -0
  247. /package/dist/{chunk-KDJGJR7F.js.map → chunk-CWFH36SI.js.map} +0 -0
  248. /package/dist/{chunk-X67FCULK.js.map → chunk-DIVY2CJZ.js.map} +0 -0
  249. /package/dist/{chunk-Z2PWOSCJ.js.map → chunk-DNMTN46H.js.map} +0 -0
  250. /package/dist/{chunk-BYBB4ABD.js.map → chunk-DOPZWTMJ.js.map} +0 -0
  251. /package/dist/{chunk-HTGRQZFB.js.map → chunk-DZPMKY3J.js.map} +0 -0
  252. /package/dist/{chunk-XJ3FEKEY.js.map → chunk-FKQCC4C5.js.map} +0 -0
  253. /package/dist/{chunk-E6YA6UAP.js.map → chunk-FLRLZ4XZ.js.map} +0 -0
  254. /package/dist/{chunk-4JDIRUTT.js.map → chunk-FN26SFGH.js.map} +0 -0
  255. /package/dist/{chunk-BWWUXE3L.js.map → chunk-FPN5D4JX.js.map} +0 -0
  256. /package/dist/{chunk-VVAVTSTR.js.map → chunk-FRIVOR5N.js.map} +0 -0
  257. /package/dist/{chunk-3QARDAYW.js.map → chunk-FYT3DXPN.js.map} +0 -0
  258. /package/dist/{chunk-H6WXKZL7.js.map → chunk-FZWAGG5T.js.map} +0 -0
  259. /package/dist/{chunk-CBRS2NEK.js.map → chunk-GHADG5QZ.js.map} +0 -0
  260. /package/dist/{chunk-LFDMKZIP.js.map → chunk-GKOJR53Y.js.map} +0 -0
  261. /package/dist/{chunk-M7UC2QPT.js.map → chunk-GM4IM7TC.js.map} +0 -0
  262. /package/dist/{chunk-S3I7VKID.js.map → chunk-H5GVPOB4.js.map} +0 -0
  263. /package/dist/{chunk-EO2KGKEJ.js.map → chunk-HOIWW2LV.js.map} +0 -0
  264. /package/dist/{chunk-ZQ2UUHSL.js.map → chunk-HS3LEVT4.js.map} +0 -0
  265. /package/dist/{chunk-626TSARM.js.map → chunk-I5LSKXT6.js.map} +0 -0
  266. /package/dist/{chunk-FKFIEEY6.js.map → chunk-IAHDSFFA.js.map} +0 -0
  267. /package/dist/{chunk-ZKRRBRSZ.js.map → chunk-IS5LFHV2.js.map} +0 -0
  268. /package/dist/{chunk-POS53FG6.js.map → chunk-IZTU6RKH.js.map} +0 -0
  269. /package/dist/{chunk-VAG47QHV.js.map → chunk-J6FXVDKC.js.map} +0 -0
  270. /package/dist/{chunk-2GXEQUEX.js.map → chunk-JFSUYGNE.js.map} +0 -0
  271. /package/dist/{chunk-UALOYGCP.js.map → chunk-JILOSL4O.js.map} +0 -0
  272. /package/dist/{chunk-WLFABTZ6.js.map → chunk-JRWLUWDM.js.map} +0 -0
  273. /package/dist/{chunk-2QNKXGUS.js.map → chunk-JUBWUJY5.js.map} +0 -0
  274. /package/dist/{chunk-JVLSU7S2.js.map → chunk-JY4U6CYV.js.map} +0 -0
  275. /package/dist/{chunk-672U6STZ.js.map → chunk-K432FT7T.js.map} +0 -0
  276. /package/dist/{chunk-WLLUM35R.js.map → chunk-KQIDBIZL.js.map} +0 -0
  277. /package/dist/{chunk-LKFKXS5K.js.map → chunk-KZTPL7NL.js.map} +0 -0
  278. /package/dist/{chunk-S2VG3ABP.js.map → chunk-LAI7ENPW.js.map} +0 -0
  279. /package/dist/{chunk-L3FHEWA3.js.map → chunk-LUVGSKXE.js.map} +0 -0
  280. /package/dist/{chunk-EXDIHWFO.js.map → chunk-MENI33ZV.js.map} +0 -0
  281. /package/dist/{chunk-S6YB5ZRP.js.map → chunk-MOQ6OGKS.js.map} +0 -0
  282. /package/dist/{chunk-5ACAVJUI.js.map → chunk-MTTPHBIE.js.map} +0 -0
  283. /package/dist/{chunk-T3PHCEN4.js.map → chunk-MU74BYOD.js.map} +0 -0
  284. /package/dist/{chunk-26W5VETY.js.map → chunk-MV2OEK3K.js.map} +0 -0
  285. /package/dist/{chunk-44C2URL7.js.map → chunk-NMDMSHBF.js.map} +0 -0
  286. /package/dist/{chunk-225O5CXQ.js.map → chunk-O3SNM66K.js.map} +0 -0
  287. /package/dist/{chunk-YCSM3GZU.js.map → chunk-OEJ4R52I.js.map} +0 -0
  288. /package/dist/{chunk-UPJMBMCR.js.map → chunk-OKCQNMO6.js.map} +0 -0
  289. /package/dist/{chunk-IF56DYJK.js.map → chunk-OLUTCM23.js.map} +0 -0
  290. /package/dist/{chunk-RDHUZ674.js.map → chunk-OQDHIAR2.js.map} +0 -0
  291. /package/dist/{chunk-4TZUFNXL.js.map → chunk-P22XPNFW.js.map} +0 -0
  292. /package/dist/{chunk-L3HDEHGM.js.map → chunk-P2RJAVMR.js.map} +0 -0
  293. /package/dist/{chunk-UCUALOSM.js.map → chunk-P7KJME6C.js.map} +0 -0
  294. /package/dist/{chunk-XWNLKG6R.js.map → chunk-PCIBCL26.js.map} +0 -0
  295. /package/dist/{chunk-4A4TYISP.js.map → chunk-PV7XXAXK.js.map} +0 -0
  296. /package/dist/{chunk-BOFRKAUS.js.map → chunk-Q2OAAREU.js.map} +0 -0
  297. /package/dist/{chunk-Z7ZXZL6Y.js.map → chunk-Q2ZN5DWZ.js.map} +0 -0
  298. /package/dist/{chunk-JJZIIJSA.js.map → chunk-QJLOWGOU.js.map} +0 -0
  299. /package/dist/{chunk-7LYUJNU3.js.map → chunk-QOHGWFAW.js.map} +0 -0
  300. /package/dist/{chunk-6AQIFBSP.js.map → chunk-RCONOOVF.js.map} +0 -0
  301. /package/dist/{chunk-Y3XWRDAM.js.map → chunk-RHTPGS56.js.map} +0 -0
  302. /package/dist/{chunk-VFIWDPXZ.js.map → chunk-RPX2H2OL.js.map} +0 -0
  303. /package/dist/{chunk-6NRVFD55.js.map → chunk-SWFIXQF5.js.map} +0 -0
  304. /package/dist/{chunk-U6GCYG2T.js.map → chunk-TAJZ7GXO.js.map} +0 -0
  305. /package/dist/{chunk-XBFEKTIY.js.map → chunk-TQGT5BZE.js.map} +0 -0
  306. /package/dist/{chunk-TOV6VMHF.js.map → chunk-U3RMWOXY.js.map} +0 -0
  307. /package/dist/{chunk-PUJTKLPL.js.map → chunk-UL7TLJ54.js.map} +0 -0
  308. /package/dist/{chunk-W5LHQXZU.js.map → chunk-USKHHOIV.js.map} +0 -0
  309. /package/dist/{chunk-J4MN6XIU.js.map → chunk-UTFY6W6X.js.map} +0 -0
  310. /package/dist/{chunk-P6ASQOZR.js.map → chunk-VT4DTCK5.js.map} +0 -0
  311. /package/dist/{chunk-HSGEIMJS.js.map → chunk-X6YRP5EC.js.map} +0 -0
  312. /package/dist/{chunk-FOG7YEJP.js.map → chunk-XGXVPCYW.js.map} +0 -0
  313. /package/dist/{chunk-5263OEM3.js.map → chunk-XJP66QEN.js.map} +0 -0
  314. /package/dist/{chunk-OPXR4PB2.js.map → chunk-XKA6UH5V.js.map} +0 -0
  315. /package/dist/{chunk-XDVVBETV.js.map → chunk-YHIAWECL.js.map} +0 -0
  316. /package/dist/{chunk-F7ZFRPGQ.js.map → chunk-ZB2K3FV7.js.map} +0 -0
  317. /package/dist/{chunk-NLKLXXTO.js.map → chunk-ZQGRZN5L.js.map} +0 -0
  318. /package/dist/{classified-marker-KL4YXUXD.js.map → classified-marker-R37XW5PC.js.map} +0 -0
  319. /package/dist/{collection-facade-6IY2LW6W.js.map → collection-facade-OPJ3EC4L.js.map} +0 -0
  320. /package/dist/{computed-ASBNTLOK.js.map → computed-HW6IG5UH.js.map} +0 -0
  321. /package/dist/{dead-filter-ZGRFZKYE.js.map → dead-filter-GRT6RAML.js.map} +0 -0
  322. /package/dist/{delegation-2DO3VI5E.js.map → delegation-6QRAYSK6.js.map} +0 -0
  323. /package/dist/{derive-TCTS7ULE.js.map → derive-AAIXSQIE.js.map} +0 -0
  324. /package/dist/{dispatch-FNCCONFK.js.map → dispatch-DR3XITEC.js.map} +0 -0
  325. /package/dist/{dispatch-M62IAL2S.js.map → dispatch-QCF7KPIP.js.map} +0 -0
  326. /package/dist/{enclave-4P4KH5ZW.js.map → enclave-OXZY3NOP.js.map} +0 -0
  327. /package/dist/{executor-AFHQYRAU.js.map → executor-67NA4KPO.js.map} +0 -0
  328. /package/dist/{executor-CDIMJVE2.js.map → executor-7JDP7UBK.js.map} +0 -0
  329. /package/dist/{executor-YYDW6XQI.js.map → executor-CRH5OB4V.js.map} +0 -0
  330. /package/dist/{export-accessible-WADNWX35.js.map → export-accessible-K4GJAU7U.js.map} +0 -0
  331. /package/dist/{extract-partition-SHQYQSWE.js.map → extract-partition-YJFL5OKK.js.map} +0 -0
  332. /package/dist/{fanout-sidecar-BRQHWTZQ.js.map → fanout-sidecar-KGQCUJ7P.js.map} +0 -0
  333. /package/dist/{find-SZBL2HPB.js.map → find-SVZHMEQI.js.map} +0 -0
  334. /package/dist/{issue-2DGG7NKE.js.map → issue-64N6OG7U.js.map} +0 -0
  335. /package/dist/{ledger-4X5ZH43X.js.map → ledger-ZAFULLAF.js.map} +0 -0
  336. /package/dist/{liberate-7NEPRE52.js.map → liberate-XL6NSGOL.js.map} +0 -0
  337. /package/dist/{link-set-WHTYVTOV.js.map → link-set-LQI2IJX6.js.map} +0 -0
  338. /package/dist/{managed-secret-CXALLEUB.js.map → managed-secret-7OH7HKXV.js.map} +0 -0
  339. /package/dist/{migrate-cek-LBRKYUZZ.js.map → migrate-cek-QHZ75E6E.js.map} +0 -0
  340. /package/dist/{noydb-BQ3ZTN2Z.js.map → noydb-SWUGPFBK.js.map} +0 -0
  341. /package/dist/{pod-handle-DHEYBTJ2.js.map → pod-handle-BLOI4IFY.js.map} +0 -0
  342. /package/dist/{post-register-4DXRYGTU.js.map → post-register-R33EKJQR.js.map} +0 -0
  343. /package/dist/{register-GLCOH73C.js.map → register-AYBQNTM3.js.map} +0 -0
  344. /package/dist/{registry-GWGHZWGP.js.map → registry-CQWWOBO4.js.map} +0 -0
  345. /package/dist/{registry-IWFMXCHX.js.map → registry-JCZ4BNLV.js.map} +0 -0
  346. /package/dist/{registry-Q3FG3OAX.js.map → registry-JFFENZ44.js.map} +0 -0
  347. /package/dist/{registry-T346IZCF.js.map → registry-ZA4HACYR.js.map} +0 -0
  348. /package/dist/{request-withdrawal-2RERJECX.js.map → request-withdrawal-7IKUIAEB.js.map} +0 -0
  349. /package/dist/{reveal-X2QMWOVX.js.map → reveal-PI6ADRQU.js.map} +0 -0
  350. /package/dist/{revoke-4NRSCPNW.js.map → revoke-PUJKRYJF.js.map} +0 -0
  351. /package/dist/{seed-IX5NFSH5.js.map → seed-CG7JMJNY.js.map} +0 -0
  352. /package/dist/{signer-HJHTGX7X.js.map → signer-5TA7FUC3.js.map} +0 -0
  353. /package/dist/{stale-5I36LPVK.js.map → stale-HZR7745Y.js.map} +0 -0
  354. /package/dist/{storage-ZYYAB3J3.js.map → storage-J2QHNJCB.js.map} +0 -0
  355. /package/dist/{store-coordination-provider-OLPNRMFO.js.map → store-coordination-provider-MYIHSZXT.js.map} +0 -0
  356. /package/dist/{verify-WYOFLSNA.js.map → verify-R6CCBUA3.js.map} +0 -0
  357. /package/dist/{walk-LTV7LOCN.js.map → walk-3PA4ZOKS.js.map} +0 -0
  358. /package/dist/{withdraw-accessible-V4XCPH7U.js.map → withdraw-accessible-62VI4W7D.js.map} +0 -0
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  createNoydb
3
- } from "./chunk-PRHCMEUK.js";
3
+ } from "./chunk-6L5IMNJX.js";
4
4
  import {
5
5
  deriveSchemaManifest
6
- } from "./chunk-VSLUSXVK.js";
6
+ } from "./chunk-5W5CEHLA.js";
7
7
  import {
8
8
  loadFence
9
- } from "./chunk-M7UC2QPT.js";
9
+ } from "./chunk-GM4IM7TC.js";
10
10
  import {
11
11
  readPod,
12
12
  readPodRedirect,
13
13
  signRecord,
14
14
  verifyPodHeader,
15
15
  verifyRecord
16
- } from "./chunk-6AQIFBSP.js";
16
+ } from "./chunk-RCONOOVF.js";
17
17
  import {
18
18
  loadKeyring
19
- } from "./chunk-ZTYG36DH.js";
19
+ } from "./chunk-OHGCRKWA.js";
20
20
  import {
21
21
  ConflictError,
22
22
  MigrationRequiredError,
@@ -26,7 +26,7 @@ import {
26
26
  RedirectDepthExceededError,
27
27
  RedirectLoopError,
28
28
  RedirectUnreachableError
29
- } from "./chunk-JBIV4FLR.js";
29
+ } from "./chunk-SW4TOSJL.js";
30
30
 
31
31
  // src/with-pod/pod-store.ts
32
32
  var BUNDLE_STORE_VERSION = 1;
@@ -286,4 +286,4 @@ export {
286
286
  followRedirects,
287
287
  open
288
288
  };
289
- //# sourceMappingURL=chunk-HQINBNHM.js.map
289
+ //# sourceMappingURL=chunk-7YVSWPZB.js.map
@@ -7,28 +7,28 @@ import {
7
7
  deriveSchemaManifest,
8
8
  loadSchemaManifestEntry,
9
9
  saveSchemaManifest
10
- } from "./chunk-VSLUSXVK.js";
10
+ } from "./chunk-5W5CEHLA.js";
11
11
  import {
12
12
  MANIFEST_COLLECTION
13
13
  } from "./chunk-EPFF7LOX.js";
14
14
  import {
15
15
  loadFence,
16
16
  saveFence
17
- } from "./chunk-M7UC2QPT.js";
17
+ } from "./chunk-GM4IM7TC.js";
18
18
  import {
19
19
  derivePersistedSchema
20
- } from "./chunk-P6ASQOZR.js";
20
+ } from "./chunk-VT4DTCK5.js";
21
21
  import {
22
22
  loadPersistedSchemaEntry,
23
23
  savePersistedSchema
24
- } from "./chunk-626TSARM.js";
24
+ } from "./chunk-I5LSKXT6.js";
25
25
  import {
26
26
  envelopePayloadHash
27
- } from "./chunk-WLFABTZ6.js";
27
+ } from "./chunk-JRWLUWDM.js";
28
28
  import {
29
29
  ManifestConflictError,
30
30
  isConflictError
31
- } from "./chunk-JBIV4FLR.js";
31
+ } from "./chunk-SW4TOSJL.js";
32
32
 
33
33
  // src/with-shape/persisted-schemas/field-ids.ts
34
34
  var BASE32URL_ALPHABET = "abcdefghijklmnopqrstuvwxyz234567";
@@ -257,4 +257,4 @@ export {
257
257
  persistClassifiedMarker,
258
258
  persistSatelliteMarker
259
259
  };
260
- //# sourceMappingURL=chunk-Q7GEDVHC.js.map
260
+ //# sourceMappingURL=chunk-AHIIBDNH.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  DanglingReferenceError,
6
6
  JoinTooLargeError
7
- } from "./chunk-JBIV4FLR.js";
7
+ } from "./chunk-SW4TOSJL.js";
8
8
 
9
9
  // src/kernel/query/join.ts
10
10
  var DEFAULT_JOIN_MAX_ROWS = 5e4;
@@ -186,4 +186,4 @@ export {
186
186
  applyJoins,
187
187
  resetJoinWarnings
188
188
  };
189
- //# sourceMappingURL=chunk-XSN63FUS.js.map
189
+ //# sourceMappingURL=chunk-AW4KTQA4.js.map
@@ -2,7 +2,7 @@ import {
2
2
  decrypt,
3
3
  deriveSealedFieldKey,
4
4
  deriveSealedFieldKeyFromCek
5
- } from "./chunk-W5LHQXZU.js";
5
+ } from "./chunk-USKHHOIV.js";
6
6
 
7
7
  // src/kernel/enclave/record-keys/sealed-slot.ts
8
8
  function parseSealedSlot(blob) {
@@ -26,4 +26,4 @@ export {
26
26
  parseSealedSlot,
27
27
  dualReadSealedSlot
28
28
  };
29
- //# sourceMappingURL=chunk-KDJGJR7F.js.map
29
+ //# sourceMappingURL=chunk-CWFH36SI.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  installViaBinder
3
- } from "./chunk-XDVVBETV.js";
3
+ } from "./chunk-YHIAWECL.js";
4
4
  import {
5
5
  LocaleNotSpecifiedError,
6
6
  MissingTranslationError,
7
7
  ScriptViolationError,
8
8
  TranslatorNotConfiguredError
9
- } from "./chunk-JBIV4FLR.js";
9
+ } from "./chunk-SW4TOSJL.js";
10
10
 
11
11
  // src/port/with/i18n-strategy.ts
12
12
  function notEnabled(op) {
@@ -618,4 +618,4 @@ export {
618
618
  presentI18nForJoin,
619
619
  stripI18nFilled
620
620
  };
621
- //# sourceMappingURL=chunk-X67FCULK.js.map
621
+ //# sourceMappingURL=chunk-DIVY2CJZ.js.map
@@ -4,7 +4,7 @@ import {
4
4
  formatScaledInt,
5
5
  parseToScaledInt,
6
6
  rescaleScaledInt
7
- } from "./chunk-TOV6VMHF.js";
7
+ } from "./chunk-U3RMWOXY.js";
8
8
 
9
9
  // src/via/money/arith.ts
10
10
  function parseAmount(label, amount, scale, rounding) {
@@ -120,4 +120,4 @@ export {
120
120
  isMoneyString,
121
121
  moneyNumber
122
122
  };
123
- //# sourceMappingURL=chunk-Z2PWOSCJ.js.map
123
+ //# sourceMappingURL=chunk-DNMTN46H.js.map
@@ -2,19 +2,19 @@ import {
2
2
  buildRecordEnvelope,
3
3
  isDeleteMarker,
4
4
  isTombstone
5
- } from "./chunk-QU3YUP2X.js";
5
+ } from "./chunk-4RUFYGWG.js";
6
6
  import {
7
7
  blindedEqual,
8
8
  openVdigPayload,
9
9
  sealVdigPayload
10
- } from "./chunk-FOG7YEJP.js";
10
+ } from "./chunk-XGXVPCYW.js";
11
11
  import {
12
12
  dualReadSealedSlot,
13
13
  parseSealedSlot
14
- } from "./chunk-KDJGJR7F.js";
14
+ } from "./chunk-CWFH36SI.js";
15
15
  import {
16
16
  mintBidxTag
17
- } from "./chunk-LKFKXS5K.js";
17
+ } from "./chunk-KZTPL7NL.js";
18
18
  import {
19
19
  VDIG_ITERATIONS,
20
20
  normalizeForVerify,
@@ -35,11 +35,11 @@ import {
35
35
  generateSalt,
36
36
  unwrapCek,
37
37
  wrapCek
38
- } from "./chunk-W5LHQXZU.js";
38
+ } from "./chunk-USKHHOIV.js";
39
39
  import {
40
40
  NOYDB_FORMAT_VERSION,
41
41
  SealedHandle
42
- } from "./chunk-GU3LQYW2.js";
42
+ } from "./chunk-N4CHCXDL.js";
43
43
  import {
44
44
  ClassifiedConfigError,
45
45
  ClassifiedRotationError,
@@ -48,7 +48,7 @@ import {
48
48
  SchemaValidationError,
49
49
  TamperedError,
50
50
  ValidationError
51
- } from "./chunk-JBIV4FLR.js";
51
+ } from "./chunk-SW4TOSJL.js";
52
52
 
53
53
  // src/kernel/enclave/record-aad.ts
54
54
  var SCHEME = "noydb-aad/2";
@@ -1364,4 +1364,4 @@ export {
1364
1364
  issueChallenge,
1365
1365
  verifyBrokerProof
1366
1366
  };
1367
- //# sourceMappingURL=chunk-BYBB4ABD.js.map
1367
+ //# sourceMappingURL=chunk-DOPZWTMJ.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  dekKey
3
- } from "./chunk-POS53FG6.js";
3
+ } from "./chunk-IZTU6RKH.js";
4
4
  import {
5
5
  TierNotGrantedError
6
- } from "./chunk-JBIV4FLR.js";
6
+ } from "./chunk-SW4TOSJL.js";
7
7
 
8
8
  // src/with-party/team/tiers.ts
9
9
  function assertTierAccess(keyring, collection, tier) {
@@ -17,4 +17,4 @@ function assertTierAccess(keyring, collection, tier) {
17
17
  export {
18
18
  assertTierAccess
19
19
  };
20
- //# sourceMappingURL=chunk-HTGRQZFB.js.map
20
+ //# sourceMappingURL=chunk-DZPMKY3J.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CargoNotEnabledError
3
- } from "./chunk-JBIV4FLR.js";
3
+ } from "./chunk-SW4TOSJL.js";
4
4
 
5
5
  // src/with-cargo/strategy.ts
6
6
  var NO_CARGO = {
@@ -12,4 +12,4 @@ var NO_CARGO = {
12
12
  export {
13
13
  NO_CARGO
14
14
  };
15
- //# sourceMappingURL=chunk-XJ3FEKEY.js.map
15
+ //# sourceMappingURL=chunk-FKQCC4C5.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AttestationNotEnabledError
3
- } from "./chunk-JBIV4FLR.js";
3
+ } from "./chunk-SW4TOSJL.js";
4
4
 
5
5
  // src/with-audit/attestation/strategy.ts
6
6
  var NO_ATTESTATION = {
@@ -27,4 +27,4 @@ var NO_ATTESTATION = {
27
27
  export {
28
28
  NO_ATTESTATION
29
29
  };
30
- //# sourceMappingURL=chunk-E6YA6UAP.js.map
30
+ //# sourceMappingURL=chunk-FLRLZ4XZ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  LookupHandle
3
- } from "./chunk-XBFEKTIY.js";
3
+ } from "./chunk-TQGT5BZE.js";
4
4
 
5
5
  // src/via/lookup/active.ts
6
6
  function withLookup() {
@@ -33,4 +33,4 @@ function withLookup() {
33
33
  export {
34
34
  withLookup
35
35
  };
36
- //# sourceMappingURL=chunk-4JDIRUTT.js.map
36
+ //# sourceMappingURL=chunk-FN26SFGH.js.map
@@ -2,21 +2,21 @@ import {
2
2
  ATTESTATIONS_COLLECTION,
3
3
  REVOKED_RECORD_ID,
4
4
  loadOrCreateSigner
5
- } from "./chunk-LFDMKZIP.js";
5
+ } from "./chunk-GKOJR53Y.js";
6
6
  import {
7
7
  buildRecordAad,
8
8
  openEnvelopeJson
9
- } from "./chunk-BYBB4ABD.js";
9
+ } from "./chunk-DOPZWTMJ.js";
10
10
  import {
11
11
  buildRecordEnvelope
12
- } from "./chunk-QU3YUP2X.js";
12
+ } from "./chunk-4RUFYGWG.js";
13
13
  import {
14
14
  encrypt
15
- } from "./chunk-W5LHQXZU.js";
15
+ } from "./chunk-USKHHOIV.js";
16
16
  import {
17
17
  AttestationError,
18
18
  ConflictError
19
- } from "./chunk-JBIV4FLR.js";
19
+ } from "./chunk-SW4TOSJL.js";
20
20
 
21
21
  // src/with-audit/attestation/revoke.ts
22
22
  import { signRevocationList } from "@noy-db/attestation";
@@ -81,4 +81,4 @@ export {
81
81
  getRevokedDocIdsCore,
82
82
  publishRevocationListCore
83
83
  };
84
- //# sourceMappingURL=chunk-BWWUXE3L.js.map
84
+ //# sourceMappingURL=chunk-FPN5D4JX.js.map
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  dictCollectionName
3
- } from "./chunk-XBFEKTIY.js";
3
+ } from "./chunk-TQGT5BZE.js";
4
4
  import {
5
5
  getAtPath,
6
6
  presentI18nForJoin
7
- } from "./chunk-X67FCULK.js";
7
+ } from "./chunk-DIVY2CJZ.js";
8
8
  import {
9
9
  PeriodClosedError,
10
10
  UnknownDictCodeError,
11
11
  ValidationError
12
- } from "./chunk-JBIV4FLR.js";
12
+ } from "./chunk-SW4TOSJL.js";
13
13
 
14
14
  // src/via/lookup/registry.ts
15
15
  function enforceStaticDictOnPut(staticFields, record) {
@@ -487,4 +487,4 @@ export {
487
487
  forgetDerivedFanout,
488
488
  selfWriteFieldEqual
489
489
  };
490
- //# sourceMappingURL=chunk-VVAVTSTR.js.map
490
+ //# sourceMappingURL=chunk-FRIVOR5N.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  OverlayIdMismatchError
3
- } from "./chunk-JBIV4FLR.js";
3
+ } from "./chunk-SW4TOSJL.js";
4
4
 
5
5
  // src/with-formula/overlay-views/virtual-collection.ts
6
6
  var OverlayedCollection = class {
@@ -206,4 +206,4 @@ var OverlayedCollection = class {
206
206
  export {
207
207
  OverlayedCollection
208
208
  };
209
- //# sourceMappingURL=chunk-3QARDAYW.js.map
209
+ //# sourceMappingURL=chunk-FYT3DXPN.js.map
@@ -201,7 +201,7 @@ var engineCtx = (ctx) => ({
201
201
  function withClassified() {
202
202
  return {
203
203
  async reveal(ctx, id, field) {
204
- const { revealSealedField } = await import("./reveal-X2QMWOVX.js");
204
+ const { revealSealedField } = await import("./reveal-PI6ADRQU.js");
205
205
  const value = await revealSealedField({
206
206
  collection: ctx.collection,
207
207
  encrypted: ctx.encrypted,
@@ -213,26 +213,26 @@ function withClassified() {
213
213
  return value;
214
214
  },
215
215
  async verify(ctx, id, field, candidate) {
216
- const { verifyDigestField } = await import("./verify-WYOFLSNA.js");
216
+ const { verifyDigestField } = await import("./verify-R6CCBUA3.js");
217
217
  const verdict = await verifyDigestField(engineCtx(ctx), id, field, candidate, policyOf(ctx.spec));
218
218
  await ctx.onAccess?.("verify", id);
219
219
  return verdict;
220
220
  },
221
221
  async verifyText(ctx, id, field, candidate) {
222
- const { verifyTextField } = await import("./verify-WYOFLSNA.js");
222
+ const { verifyTextField } = await import("./verify-R6CCBUA3.js");
223
223
  const verdict = await verifyTextField(engineCtx(ctx), id, field, candidate, ctx.spec.verifyNormalize ?? "password");
224
224
  await ctx.onAccess?.("verify", id);
225
225
  return verdict;
226
226
  },
227
227
  async matchGroup(ctx, id, answers, opts) {
228
- const { matchGroupFields } = await import("./verify-WYOFLSNA.js");
228
+ const { matchGroupFields } = await import("./verify-R6CCBUA3.js");
229
229
  const members = (ctx.groupMembers ?? []).map((m) => ({ field: m.field, policy: policyOf(m.spec) }));
230
230
  const result = await matchGroupFields(engineCtx(ctx), id, answers, members, opts);
231
231
  await ctx.onAccess?.("verify", id);
232
232
  return result;
233
233
  },
234
234
  async computeTarget(ctx, field, candidate, costByte) {
235
- const { computeBidxTarget } = await import("./find-SZBL2HPB.js");
235
+ const { computeBidxTarget } = await import("./find-SVZHMEQI.js");
236
236
  const dek = await ctx.getDEK();
237
237
  return computeBidxTarget(candidate, policyOf(ctx.spec).normalize, dek, ctx.collection, field, costByte);
238
238
  }
@@ -244,4 +244,4 @@ export {
244
244
  classified,
245
245
  withClassified
246
246
  };
247
- //# sourceMappingURL=chunk-H6WXKZL7.js.map
247
+ //# sourceMappingURL=chunk-FZWAGG5T.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  QuiesceTimeoutError
3
- } from "./chunk-JBIV4FLR.js";
3
+ } from "./chunk-SW4TOSJL.js";
4
4
 
5
5
  // src/port/by/types.ts
6
6
  function isQuorum(writers, generation, excludeWriterId) {
@@ -51,4 +51,4 @@ export {
51
51
  isQuorum,
52
52
  runDrainBarrier
53
53
  };
54
- //# sourceMappingURL=chunk-CBRS2NEK.js.map
54
+ //# sourceMappingURL=chunk-GHADG5QZ.js.map
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  buildRecordAad,
3
3
  openEnvelopeJson
4
- } from "./chunk-BYBB4ABD.js";
4
+ } from "./chunk-DOPZWTMJ.js";
5
5
  import {
6
6
  buildRecordEnvelope
7
- } from "./chunk-QU3YUP2X.js";
7
+ } from "./chunk-4RUFYGWG.js";
8
8
  import {
9
9
  encrypt
10
- } from "./chunk-W5LHQXZU.js";
10
+ } from "./chunk-USKHHOIV.js";
11
11
  import {
12
12
  ConflictError
13
- } from "./chunk-JBIV4FLR.js";
13
+ } from "./chunk-SW4TOSJL.js";
14
14
 
15
15
  // src/with-audit/attestation/signer.ts
16
16
  import { generateDocSigningKeyPair } from "@noy-db/attestation";
@@ -55,4 +55,4 @@ export {
55
55
  loadSigner,
56
56
  loadOrCreateSigner
57
57
  };
58
- //# sourceMappingURL=chunk-LFDMKZIP.js.map
58
+ //# sourceMappingURL=chunk-GKOJR53Y.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildRecordEnvelope
3
- } from "./chunk-QU3YUP2X.js";
3
+ } from "./chunk-4RUFYGWG.js";
4
4
 
5
5
  // src/with-shape/schema-update/fence.ts
6
6
  var FENCE_RECORD_ID = "schema-fence";
@@ -36,4 +36,4 @@ export {
36
36
  loadFence,
37
37
  saveFence
38
38
  };
39
- //# sourceMappingURL=chunk-M7UC2QPT.js.map
39
+ //# sourceMappingURL=chunk-GM4IM7TC.js.map
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  buildRecordAad,
3
3
  openEnvelopeJson
4
- } from "./chunk-BYBB4ABD.js";
4
+ } from "./chunk-DOPZWTMJ.js";
5
5
  import {
6
6
  buildRecordEnvelope
7
- } from "./chunk-QU3YUP2X.js";
7
+ } from "./chunk-4RUFYGWG.js";
8
8
  import {
9
9
  encrypt
10
- } from "./chunk-W5LHQXZU.js";
10
+ } from "./chunk-USKHHOIV.js";
11
11
  import {
12
12
  SequenceContentionError,
13
13
  SequenceNotEnabledError,
14
14
  SequenceOfflineError,
15
15
  ValidationError,
16
16
  isConflictError
17
- } from "./chunk-JBIV4FLR.js";
17
+ } from "./chunk-SW4TOSJL.js";
18
18
 
19
19
  // src/with-commit/sequence/active.ts
20
20
  function withSequence() {
@@ -201,4 +201,4 @@ export {
201
201
  resolveSequenceKey,
202
202
  SequenceStore
203
203
  };
204
- //# sourceMappingURL=chunk-S3I7VKID.js.map
204
+ //# sourceMappingURL=chunk-H5GVPOB4.js.map
@@ -1,24 +1,25 @@
1
1
  import {
2
2
  freezeSnapshotOnly
3
- } from "./chunk-7XODKGTW.js";
3
+ } from "./chunk-5EC7X5QA.js";
4
4
  import {
5
5
  resolveManagedSecret
6
- } from "./chunk-2QNKXGUS.js";
6
+ } from "./chunk-JUBWUJY5.js";
7
7
  import {
8
8
  assertRosterTagValid,
9
9
  createOwnerKeyring,
10
10
  mintRosterTag,
11
+ nextRosterEpoch,
11
12
  requireRosterKey
12
- } from "./chunk-ZTYG36DH.js";
13
+ } from "./chunk-OHGCRKWA.js";
13
14
  import {
14
15
  buildRecordEnvelope
15
- } from "./chunk-QU3YUP2X.js";
16
+ } from "./chunk-4RUFYGWG.js";
16
17
  import {
17
18
  wrapKey
18
- } from "./chunk-W5LHQXZU.js";
19
+ } from "./chunk-USKHHOIV.js";
19
20
  import {
20
21
  PermissionDeniedError
21
- } from "./chunk-JBIV4FLR.js";
22
+ } from "./chunk-SW4TOSJL.js";
22
23
 
23
24
  // src/with-party/team/deed.ts
24
25
  var DEED_RECORD_ID = "deed";
@@ -107,7 +108,8 @@ async function liberateVault(vault, opts) {
107
108
  }
108
109
  const rosterKey = requireRosterKey(keyring, "liberateVault");
109
110
  const merged = { ...keyringFile, deks: mergedDeks };
110
- const mergedFile = { ...merged, roster_tag: await mintRosterTag(merged, rosterKey) };
111
+ const withEpoch = { ...merged, roster_epoch: nextRosterEpoch(keyringFile.roster_epoch) };
112
+ const mergedFile = { ...withEpoch, roster_tag: await mintRosterTag(withEpoch, rosterKey) };
111
113
  await adapter.put(vaultName, "_keyring", opts.newOwnerId, { ...env, _data: JSON.stringify(mergedFile) });
112
114
  await vault._getLedgerOrNull()?.append({
113
115
  op: "lifecycle",
@@ -135,4 +137,4 @@ export {
135
137
  isDeedVault,
136
138
  liberateVault
137
139
  };
138
- //# sourceMappingURL=chunk-4MZEZ37W.js.map
140
+ //# sourceMappingURL=chunk-HLFLJCDX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/with-party/team/deed.ts","../src/with-party/custody/liberate.ts"],"sourcesContent":["/**\n * FR-6 — Deed: sealed / hidden-owner provisioning.\n *\n * A **Deed** is a vault owned by a *latent* principal who never\n * authenticates. The owner credential (the random secret that\n * derives `KEK_owner`) is minted machine-side and sealed under a\n * **non-firm** {@link NoydbSealer} — that sealing boundary is\n * the cryptographic *inalienability anchor*: whoever holds the\n * provider (the client / their KMS) is the only party that can ever\n * re-derive `KEK_owner`. A firm-side custodian operates the vault\n * fully but can never reach the owner key — there is deliberately NO\n * firm-controlled fallback.\n *\n * Provisioning reuses the managed-mode seam:\n * - {@link resolveManagedSecret} mints + seals + persists the random\n * secret at `_meta/sealed-secret` (and unseals it on every\n * subsequent open through the same provider).\n * - {@link createOwnerKeyring} derives `KEK_owner` from that\n * secret and writes the `_keyring/<ownerUserId>` file.\n *\n * On top of that, a Deed writes a `_meta/deed` **marker**. The marker\n * is PLAINTEXT metadata — it records WHO the latent owner is and WHICH\n * sealing boundary protects them, so it must be readable without\n * unlocking the vault (a custodian or auditor inspecting the vault must\n * be able to see \"this is a Deed vault, owner = X, sealed under Y\"\n * without any key). The marker itself is therefore never sealed; only\n * the owner *credential* is.\n *\n * @module\n */\n\nimport { buildRecordEnvelope } from '../../kernel/enclave/index.js'\nimport type { NoydbStore } from '../../kernel/types.js'\nimport type { UnlockedKeyring } from './keyring.js'\nimport { createOwnerKeyring } from './keyring.js'\nimport type { NoydbSealer } from './managed-secret.js'\nimport { resolveManagedSecret } from './managed-secret.js'\n\n/** Reserved id for the Deed marker under `_meta`. */\nexport const DEED_RECORD_ID = 'deed' as const\n\n/**\n * Plaintext metadata recording a vault's latent-owner Deed. Persisted\n * at `_meta/deed`. Readable without unlocking the vault by design — it\n * carries no secret material, only the identity of the latent owner\n * and the sealing boundary that anchors inalienability.\n */\nexport interface DeedMarker {\n /** The latent owner principal — the user id of the `_keyring/<id>` owner file. */\n readonly ownerUserId: string\n /**\n * The `NoydbSealer.id` the owner credential is sealed under.\n * The inalienability anchor: only the holder of this (non-firm)\n * provider can re-derive `KEK_owner`. Audit metadata — never secret.\n */\n readonly sealedUnder: string\n /** Always `true` for a Deed — the owner never authenticates interactively. */\n readonly latent: true\n /** ISO-8601 timestamp the Deed was issued. */\n readonly issuedAt: string\n /**\n * ISO-8601 timestamp the vault was liberated (a new owner claimed it\n * via the audited Liberate ceremony), if any. Absent until liberation.\n */\n readonly liberatedAt?: string\n}\n\n/**\n * Wire-format payload stored inside the `_meta/deed` envelope. Carries\n * a magic marker for forensics + the {@link DeedMarker} fields. JSON,\n * AES-GCM bypassed (the marker is plaintext metadata by design).\n */\ninterface DeedEnvelopePayload extends DeedMarker {\n readonly _noydb_deed: 1\n}\n\n/**\n * Provision a Deed: a latent owner whose credential is sealed under\n * `sealing` (a NON-firm provider). Mints + seals the owner secret\n * via {@link resolveManagedSecret}, derives the owner keyring via\n * {@link createOwnerKeyring}, then writes the plaintext `_meta/deed`\n * marker. Returns the unlocked owner keyring.\n *\n * The returned keyring is the only in-memory window onto `KEK_owner`\n * for this call; the persistent re-entry point is the sealing provider\n * (re-run {@link resolveManagedSecret} with the same provider to\n * re-resolve the secret, then {@link createOwnerKeyring}/load to\n * unlock — no interactive secret is ever required).\n *\n * There is deliberately no firm-controlled fallback: the marker's\n * `sealedUnder` is the single cryptographic anchor of ownership.\n */\nexport async function createDeedOwner(\n store: NoydbStore,\n vault: string,\n ownerUserId: string,\n sealing: NoydbSealer,\n): Promise<UnlockedKeyring> {\n // 1. Mint + seal + persist the random owner secret under the\n // non-firm provider (writes _meta/sealed-secret).\n const secret = await resolveManagedSecret(store, vault, sealing)\n\n // 2. Derive KEK_owner from the (never-human-seen) secret and\n // write the owner keyring file.\n const keyring = await createOwnerKeyring(store, vault, { userId: ownerUserId, secret: secret })\n\n // 3. Write the plaintext Deed marker. NOT sealed — it is audit\n // metadata that must be readable without unlocking.\n await saveDeedMarker(store, vault, {\n ownerUserId,\n sealedUnder: sealing.id,\n latent: true,\n issuedAt: new Date().toISOString(),\n })\n\n return keyring\n}\n\n/**\n * Read the {@link DeedMarker} from `_meta/deed`, or `null` if the vault\n * has no Deed marker (i.e. it is not a Deed vault). Plaintext read — no\n * unlocking required.\n */\nexport async function loadDeedMarker(\n store: NoydbStore,\n vault: string,\n): Promise<DeedMarker | null> {\n const envelope = await store.get(vault, '_meta', DEED_RECORD_ID)\n if (!envelope) return null\n let payload: unknown\n try {\n payload = JSON.parse(envelope._data)\n } catch {\n return null\n }\n if (typeof payload !== 'object' || payload === null) return null\n const r = payload as Record<string, unknown>\n if (r._noydb_deed !== 1) return null\n if (\n typeof r.ownerUserId !== 'string'\n || typeof r.sealedUnder !== 'string'\n || r.latent !== true\n || typeof r.issuedAt !== 'string'\n ) {\n return null\n }\n const marker: DeedMarker = {\n ownerUserId: r.ownerUserId,\n sealedUnder: r.sealedUnder,\n latent: true,\n issuedAt: r.issuedAt,\n ...(typeof r.liberatedAt === 'string' ? { liberatedAt: r.liberatedAt } : {}),\n }\n return marker\n}\n\n/** Whether `vault` carries a Deed marker (a sealed/latent owner). */\nexport async function isDeedVault(\n store: NoydbStore,\n vault: string,\n): Promise<boolean> {\n return (await loadDeedMarker(store, vault)) !== null\n}\n\n/**\n * Persist a {@link DeedMarker} at `_meta/deed`. Mirrors\n * `saveSealedSecret`'s envelope shape: a standard\n * {@link EncryptedEnvelope} with AES-GCM bypassed (`_iv: ''`), the\n * payload stored as plaintext JSON in `_data`. The marker is metadata,\n * not a secret — sealing it would defeat its purpose (auditors /\n * custodians must read it without a key).\n *\n * @internal — used by `createDeedOwner` and (later) the Liberate\n * ceremony to stamp `liberatedAt`.\n */\nexport async function saveDeedMarker(\n store: NoydbStore,\n vault: string,\n marker: DeedMarker,\n): Promise<void> {\n const persisted: DeedEnvelopePayload = { _noydb_deed: 1, ...marker }\n const prior = await store.get(vault, '_meta', DEED_RECORD_ID)\n const env = buildRecordEnvelope(\n { collection: '_meta', id: DEED_RECORD_ID, version: (prior?._v ?? 0) + 1 },\n // AES-GCM bypassed — the marker is plaintext audit metadata.\n { iv: '', data: JSON.stringify(persisted) },\n )\n await store.put(vault, '_meta', DEED_RECORD_ID, env)\n}\n","/**\n * `liberateVault` — the audited claim of ownership over a\n * sealed-owner (Deed) vault. The inverse of withdrawal.\n *\n * A **Deed** vault's owner credential is sealed under a non-firm provider, so\n * the firm-side **custodian** (which holds every collection DEK and operates\n * the vault fully) can never reach `KEK_owner`. Liberation is the ONLY route\n * by which a custodian assumes ownership, and it is deliberately a manual,\n * audited ceremony:\n *\n * 1. gate `'liberate-vault'` (fail-closed)\n * 2. caller MUST be the `custodian` (the de-facto authority holding the DEKs)\n * 3. freeze a PRE-liberation EVIDENCE snapshot (hash-pinned in the ledger) —\n * but PRESERVE the live data for the new owner (see the freeze decision\n * below)\n * 4. mint a NEW owner keyring re-wrapping the incumbent DEKs under the new\n * owner's KEK\n * 5. lifecycle ledger `liberation-claimed:<newOwnerId>:<legalBasis>`\n * 6. stamp the `_meta/deed` marker with `liberatedAt`\n *\n * ## Security: the inalienability floor\n *\n * Liberation **mints a new owner from the custodian's DEKs** — it does NOT\n * unseal the original sealed owner. The old sealed-owner credential is left\n * untouched and ORPHANED (its `_keyring/<id>` file remains, its KEK is still\n * sealed under the non-firm provider), never impersonated. The new owner is a\n * DISTINCT principal under a fresh KEK derived from `newOwnerSecret`. This\n * preserves the inalienability floor: the act of claiming ownership is itself\n * auditable and produces a different principal, rather than silently assuming\n * the latent owner's identity.\n *\n * ## Freeze decision: snapshot-only, not freeze-and-delete\n *\n * `freezeAndDeleteClosure` (withdraw-accessible.ts) writes a hash-pinned\n * snapshot and THEN delete-closures the live records — correct for a\n * destructive withdrawal, WRONG for liberation. Liberation transfers\n * operational continuity; it must leave the live data intact for the new\n * owner. We therefore call the snapshot-only core `freezeSnapshotOnly`\n * (factored out of that module; the freeze-AND-delete withdrawal path is\n * unchanged) to pin the evidence snapshot while preserving the records.\n *\n * @module\n */\n\nimport type { Vault } from '../../kernel/vault.js'\nimport type { FactorProofBundle, KeyringFile } from '../../kernel/types.js'\nimport { PermissionDeniedError } from '../../kernel/errors.js'\nimport { wrapKey } from '../../kernel/enclave/index.js'\nimport { createOwnerKeyring, requireRosterKey } from '../team/keyring.js'\nimport { mintRosterTag, assertRosterTagValid } from '../team/roster-tag.js'\nimport type { FrozenSnapshotRef } from '../../with-audit/portability/withdraw-accessible.js'\nimport { freezeSnapshotOnly } from '../../with-audit/portability/withdraw-accessible.js'\nimport { loadDeedMarker, saveDeedMarker } from '../team/deed.js'\n\nexport interface LiberateOptions {\n /** The id of the new owner principal the custodian mints by claiming ownership. */\n readonly newOwnerId: string\n /** The secret that derives the new owner's KEK (the DEKs are re-wrapped under it). */\n readonly newOwnerSecret: string\n /** Legal/contractual basis recorded in the audit (e.g. 'contractual-handover'). */\n readonly legalBasis: string\n readonly factors?: FactorProofBundle\n}\n\nexport interface LiberateResult {\n /** The hash-pinned pre-liberation evidence snapshot. */\n readonly snapshot: FrozenSnapshotRef\n}\n\n/**\n * Audited claim of ownership over a sealed-owner vault by its custodian. See\n * the module doc for the full ceremony + security rationale.\n */\nexport async function liberateVault(\n vault: Vault,\n opts: LiberateOptions,\n): Promise<LiberateResult> {\n // 1. gate — fail-closed `liberate-vault`.\n await vault.noydb.checkGate(vault.name, 'liberate-vault', opts.factors)\n\n // 2. caller must be the custodian (the de-facto authority holding the DEKs).\n const { name: vaultName, adapter, keyring } = vault._introspectState()\n if (keyring.role !== 'custodian') {\n throw new PermissionDeniedError(\n 'liberation is claimed only by the custodian (the de-facto authority holding the DEKs)',\n )\n }\n\n // Refuse to clobber an existing principal: the new owner must be a FRESH id.\n // (Checked before any side effect so a colliding id never leaves a half-run\n // ceremony — no orphan snapshot, no partial keyring overwrite.)\n const existing = await adapter.get(vaultName, '_keyring', opts.newOwnerId)\n if (existing) {\n throw new PermissionDeniedError(\n `liberateVault: newOwnerId \"${opts.newOwnerId}\" already exists as a principal; choose a fresh id (liberation mints a distinct owner, it never overwrites an existing keyring)`,\n )\n }\n\n // 3. Pre-liberation EVIDENCE snapshot of every operational collection —\n // snapshot-only (live data preserved for the new owner; liberation\n // transfers operational continuity, it does not erase).\n const collections = await listOperationalCollections(vault)\n const snapshot = await freezeSnapshotOnly(vault, collections, { actorUserId: keyring.userId })\n\n // 4. Mint a NEW owner keyring, re-wrapping the incumbent DEKs under the new\n // owner's fresh KEK. The old sealed owner is NOT unsealed — a DISTINCT\n // principal is minted and the original owner credential is left orphaned\n // (inalienability floor). Mirrors adopt-partition.ts's DEK re-wrap.\n const newOwner = await createOwnerKeyring(adapter, vaultName, { userId: opts.newOwnerId, secret: opts.newOwnerSecret })\n if (!newOwner.kek) {\n throw new PermissionDeniedError(\n `new owner keyring for \"${opts.newOwnerId}\" has no KEK to re-wrap the incumbent DEKs under`,\n )\n }\n const env = await adapter.get(vaultName, '_keyring', opts.newOwnerId)\n if (!env) {\n throw new PermissionDeniedError(`new owner keyring for \"${opts.newOwnerId}\" did not persist`)\n }\n const keyringFile = JSON.parse(env._data) as KeyringFile\n // #1096 — this is a read-BACK of the file `createOwnerKeyring` just wrote, and\n // it is about to be edited and restamped, so the store gets a window to alter\n // it in between. Verified against the NEW owner's own roster key, not the\n // incumbent's: at this instant the file is still stamped under the fresh key\n // minted above (the swap to the incumbent key happens below).\n const mintedRosterKey = requireRosterKey(newOwner, 'liberateVault')\n await assertRosterTagValid(keyringFile, mintedRosterKey, opts.newOwnerId)\n const mergedDeks: Record<string, string> = { ...keyringFile.deks }\n for (const [collection, dek] of keyring.deks) {\n mergedDeks[collection] = await wrapKey(dek, newOwner.kek)\n }\n // #1096 — liberation joins a new owner to an EXISTING vault, so the vault's\n // roster key must stay the incumbent one. `createOwnerKeyring` above minted a\n // fresh roster key (correct for a new vault, wrong here), and the merge loop\n // has just overwritten `_roster` with the incumbent's — so the tag it stamped\n // no longer matches the key in the file. Restamp under the key that actually\n // ends up persisted, or the new owner cannot open the vault they just claimed.\n //\n // Keeping the incumbent key is the substantive half: a fresh one would leave\n // the new owner unable to verify any co-member's roster, and every co-member\n // unable to verify theirs.\n const rosterKey = requireRosterKey(keyring, 'liberateVault')\n const merged: KeyringFile = { ...keyringFile, deks: mergedDeks }\n const mergedFile: KeyringFile = { ...merged, roster_tag: await mintRosterTag(merged, rosterKey) }\n await adapter.put(vaultName, '_keyring', opts.newOwnerId, { ...env, _data: JSON.stringify(mergedFile) })\n\n // 5. Lifecycle ledger audit (no-op if the history strategy is absent).\n await vault._getLedgerOrNull()?.append({\n op: 'lifecycle', collection: '', id: '', version: 0, actor: opts.newOwnerId, payloadHash: '',\n reason: `liberation-claimed:${opts.newOwnerId}:${opts.legalBasis}`,\n })\n\n // 6. Stamp the Deed marker with `liberatedAt` (if a marker exists).\n const marker = await loadDeedMarker(adapter, vaultName)\n if (marker) {\n await saveDeedMarker(adapter, vaultName, { ...marker, liberatedAt: new Date().toISOString() })\n }\n\n return { snapshot }\n}\n\n/**\n * Enumerate the vault's operational (user-facing) collections — those carried\n * by the caller's keyring DEK map, minus the reserved internal collections\n * (`_*`). These are the collections frozen into the evidence snapshot.\n */\nasync function listOperationalCollections(vault: Vault): Promise<readonly string[]> {\n const { keyring } = vault._introspectState()\n return [...keyring.deks.keys()].filter((c) => !c.startsWith('_'))\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/with-party/team/deed.ts","../src/with-party/custody/liberate.ts"],"sourcesContent":["/**\n * FR-6 — Deed: sealed / hidden-owner provisioning.\n *\n * A **Deed** is a vault owned by a *latent* principal who never\n * authenticates. The owner credential (the random secret that\n * derives `KEK_owner`) is minted machine-side and sealed under a\n * **non-firm** {@link NoydbSealer} — that sealing boundary is\n * the cryptographic *inalienability anchor*: whoever holds the\n * provider (the client / their KMS) is the only party that can ever\n * re-derive `KEK_owner`. A firm-side custodian operates the vault\n * fully but can never reach the owner key — there is deliberately NO\n * firm-controlled fallback.\n *\n * Provisioning reuses the managed-mode seam:\n * - {@link resolveManagedSecret} mints + seals + persists the random\n * secret at `_meta/sealed-secret` (and unseals it on every\n * subsequent open through the same provider).\n * - {@link createOwnerKeyring} derives `KEK_owner` from that\n * secret and writes the `_keyring/<ownerUserId>` file.\n *\n * On top of that, a Deed writes a `_meta/deed` **marker**. The marker\n * is PLAINTEXT metadata — it records WHO the latent owner is and WHICH\n * sealing boundary protects them, so it must be readable without\n * unlocking the vault (a custodian or auditor inspecting the vault must\n * be able to see \"this is a Deed vault, owner = X, sealed under Y\"\n * without any key). The marker itself is therefore never sealed; only\n * the owner *credential* is.\n *\n * @module\n */\n\nimport { buildRecordEnvelope } from '../../kernel/enclave/index.js'\nimport type { NoydbStore } from '../../kernel/types.js'\nimport type { UnlockedKeyring } from './keyring.js'\nimport { createOwnerKeyring } from './keyring.js'\nimport type { NoydbSealer } from './managed-secret.js'\nimport { resolveManagedSecret } from './managed-secret.js'\n\n/** Reserved id for the Deed marker under `_meta`. */\nexport const DEED_RECORD_ID = 'deed' as const\n\n/**\n * Plaintext metadata recording a vault's latent-owner Deed. Persisted\n * at `_meta/deed`. Readable without unlocking the vault by design — it\n * carries no secret material, only the identity of the latent owner\n * and the sealing boundary that anchors inalienability.\n */\nexport interface DeedMarker {\n /** The latent owner principal — the user id of the `_keyring/<id>` owner file. */\n readonly ownerUserId: string\n /**\n * The `NoydbSealer.id` the owner credential is sealed under.\n * The inalienability anchor: only the holder of this (non-firm)\n * provider can re-derive `KEK_owner`. Audit metadata — never secret.\n */\n readonly sealedUnder: string\n /** Always `true` for a Deed — the owner never authenticates interactively. */\n readonly latent: true\n /** ISO-8601 timestamp the Deed was issued. */\n readonly issuedAt: string\n /**\n * ISO-8601 timestamp the vault was liberated (a new owner claimed it\n * via the audited Liberate ceremony), if any. Absent until liberation.\n */\n readonly liberatedAt?: string\n}\n\n/**\n * Wire-format payload stored inside the `_meta/deed` envelope. Carries\n * a magic marker for forensics + the {@link DeedMarker} fields. JSON,\n * AES-GCM bypassed (the marker is plaintext metadata by design).\n */\ninterface DeedEnvelopePayload extends DeedMarker {\n readonly _noydb_deed: 1\n}\n\n/**\n * Provision a Deed: a latent owner whose credential is sealed under\n * `sealing` (a NON-firm provider). Mints + seals the owner secret\n * via {@link resolveManagedSecret}, derives the owner keyring via\n * {@link createOwnerKeyring}, then writes the plaintext `_meta/deed`\n * marker. Returns the unlocked owner keyring.\n *\n * The returned keyring is the only in-memory window onto `KEK_owner`\n * for this call; the persistent re-entry point is the sealing provider\n * (re-run {@link resolveManagedSecret} with the same provider to\n * re-resolve the secret, then {@link createOwnerKeyring}/load to\n * unlock — no interactive secret is ever required).\n *\n * There is deliberately no firm-controlled fallback: the marker's\n * `sealedUnder` is the single cryptographic anchor of ownership.\n */\nexport async function createDeedOwner(\n store: NoydbStore,\n vault: string,\n ownerUserId: string,\n sealing: NoydbSealer,\n): Promise<UnlockedKeyring> {\n // 1. Mint + seal + persist the random owner secret under the\n // non-firm provider (writes _meta/sealed-secret).\n const secret = await resolveManagedSecret(store, vault, sealing)\n\n // 2. Derive KEK_owner from the (never-human-seen) secret and\n // write the owner keyring file.\n const keyring = await createOwnerKeyring(store, vault, { userId: ownerUserId, secret: secret })\n\n // 3. Write the plaintext Deed marker. NOT sealed — it is audit\n // metadata that must be readable without unlocking.\n await saveDeedMarker(store, vault, {\n ownerUserId,\n sealedUnder: sealing.id,\n latent: true,\n issuedAt: new Date().toISOString(),\n })\n\n return keyring\n}\n\n/**\n * Read the {@link DeedMarker} from `_meta/deed`, or `null` if the vault\n * has no Deed marker (i.e. it is not a Deed vault). Plaintext read — no\n * unlocking required.\n */\nexport async function loadDeedMarker(\n store: NoydbStore,\n vault: string,\n): Promise<DeedMarker | null> {\n const envelope = await store.get(vault, '_meta', DEED_RECORD_ID)\n if (!envelope) return null\n let payload: unknown\n try {\n payload = JSON.parse(envelope._data)\n } catch {\n return null\n }\n if (typeof payload !== 'object' || payload === null) return null\n const r = payload as Record<string, unknown>\n if (r._noydb_deed !== 1) return null\n if (\n typeof r.ownerUserId !== 'string'\n || typeof r.sealedUnder !== 'string'\n || r.latent !== true\n || typeof r.issuedAt !== 'string'\n ) {\n return null\n }\n const marker: DeedMarker = {\n ownerUserId: r.ownerUserId,\n sealedUnder: r.sealedUnder,\n latent: true,\n issuedAt: r.issuedAt,\n ...(typeof r.liberatedAt === 'string' ? { liberatedAt: r.liberatedAt } : {}),\n }\n return marker\n}\n\n/** Whether `vault` carries a Deed marker (a sealed/latent owner). */\nexport async function isDeedVault(\n store: NoydbStore,\n vault: string,\n): Promise<boolean> {\n return (await loadDeedMarker(store, vault)) !== null\n}\n\n/**\n * Persist a {@link DeedMarker} at `_meta/deed`. Mirrors\n * `saveSealedSecret`'s envelope shape: a standard\n * {@link EncryptedEnvelope} with AES-GCM bypassed (`_iv: ''`), the\n * payload stored as plaintext JSON in `_data`. The marker is metadata,\n * not a secret — sealing it would defeat its purpose (auditors /\n * custodians must read it without a key).\n *\n * @internal — used by `createDeedOwner` and (later) the Liberate\n * ceremony to stamp `liberatedAt`.\n */\nexport async function saveDeedMarker(\n store: NoydbStore,\n vault: string,\n marker: DeedMarker,\n): Promise<void> {\n const persisted: DeedEnvelopePayload = { _noydb_deed: 1, ...marker }\n const prior = await store.get(vault, '_meta', DEED_RECORD_ID)\n const env = buildRecordEnvelope(\n { collection: '_meta', id: DEED_RECORD_ID, version: (prior?._v ?? 0) + 1 },\n // AES-GCM bypassed — the marker is plaintext audit metadata.\n { iv: '', data: JSON.stringify(persisted) },\n )\n await store.put(vault, '_meta', DEED_RECORD_ID, env)\n}\n","/**\n * `liberateVault` — the audited claim of ownership over a\n * sealed-owner (Deed) vault. The inverse of withdrawal.\n *\n * A **Deed** vault's owner credential is sealed under a non-firm provider, so\n * the firm-side **custodian** (which holds every collection DEK and operates\n * the vault fully) can never reach `KEK_owner`. Liberation is the ONLY route\n * by which a custodian assumes ownership, and it is deliberately a manual,\n * audited ceremony:\n *\n * 1. gate `'liberate-vault'` (fail-closed)\n * 2. caller MUST be the `custodian` (the de-facto authority holding the DEKs)\n * 3. freeze a PRE-liberation EVIDENCE snapshot (hash-pinned in the ledger) —\n * but PRESERVE the live data for the new owner (see the freeze decision\n * below)\n * 4. mint a NEW owner keyring re-wrapping the incumbent DEKs under the new\n * owner's KEK\n * 5. lifecycle ledger `liberation-claimed:<newOwnerId>:<legalBasis>`\n * 6. stamp the `_meta/deed` marker with `liberatedAt`\n *\n * ## Security: the inalienability floor\n *\n * Liberation **mints a new owner from the custodian's DEKs** — it does NOT\n * unseal the original sealed owner. The old sealed-owner credential is left\n * untouched and ORPHANED (its `_keyring/<id>` file remains, its KEK is still\n * sealed under the non-firm provider), never impersonated. The new owner is a\n * DISTINCT principal under a fresh KEK derived from `newOwnerSecret`. This\n * preserves the inalienability floor: the act of claiming ownership is itself\n * auditable and produces a different principal, rather than silently assuming\n * the latent owner's identity.\n *\n * ## Freeze decision: snapshot-only, not freeze-and-delete\n *\n * `freezeAndDeleteClosure` (withdraw-accessible.ts) writes a hash-pinned\n * snapshot and THEN delete-closures the live records — correct for a\n * destructive withdrawal, WRONG for liberation. Liberation transfers\n * operational continuity; it must leave the live data intact for the new\n * owner. We therefore call the snapshot-only core `freezeSnapshotOnly`\n * (factored out of that module; the freeze-AND-delete withdrawal path is\n * unchanged) to pin the evidence snapshot while preserving the records.\n *\n * @module\n */\n\nimport type { Vault } from '../../kernel/vault.js'\nimport type { FactorProofBundle, KeyringFile } from '../../kernel/types.js'\nimport { PermissionDeniedError } from '../../kernel/errors.js'\nimport { wrapKey } from '../../kernel/enclave/index.js'\nimport { createOwnerKeyring, requireRosterKey } from '../team/keyring.js'\nimport { mintRosterTag, assertRosterTagValid } from '../team/roster-tag.js'\nimport { nextRosterEpoch } from '../team/roster-epoch.js'\nimport type { FrozenSnapshotRef } from '../../with-audit/portability/withdraw-accessible.js'\nimport { freezeSnapshotOnly } from '../../with-audit/portability/withdraw-accessible.js'\nimport { loadDeedMarker, saveDeedMarker } from '../team/deed.js'\n\nexport interface LiberateOptions {\n /** The id of the new owner principal the custodian mints by claiming ownership. */\n readonly newOwnerId: string\n /** The secret that derives the new owner's KEK (the DEKs are re-wrapped under it). */\n readonly newOwnerSecret: string\n /** Legal/contractual basis recorded in the audit (e.g. 'contractual-handover'). */\n readonly legalBasis: string\n readonly factors?: FactorProofBundle\n}\n\nexport interface LiberateResult {\n /** The hash-pinned pre-liberation evidence snapshot. */\n readonly snapshot: FrozenSnapshotRef\n}\n\n/**\n * Audited claim of ownership over a sealed-owner vault by its custodian. See\n * the module doc for the full ceremony + security rationale.\n */\nexport async function liberateVault(\n vault: Vault,\n opts: LiberateOptions,\n): Promise<LiberateResult> {\n // 1. gate — fail-closed `liberate-vault`.\n await vault.noydb.checkGate(vault.name, 'liberate-vault', opts.factors)\n\n // 2. caller must be the custodian (the de-facto authority holding the DEKs).\n const { name: vaultName, adapter, keyring } = vault._introspectState()\n if (keyring.role !== 'custodian') {\n throw new PermissionDeniedError(\n 'liberation is claimed only by the custodian (the de-facto authority holding the DEKs)',\n )\n }\n\n // Refuse to clobber an existing principal: the new owner must be a FRESH id.\n // (Checked before any side effect so a colliding id never leaves a half-run\n // ceremony — no orphan snapshot, no partial keyring overwrite.)\n const existing = await adapter.get(vaultName, '_keyring', opts.newOwnerId)\n if (existing) {\n throw new PermissionDeniedError(\n `liberateVault: newOwnerId \"${opts.newOwnerId}\" already exists as a principal; choose a fresh id (liberation mints a distinct owner, it never overwrites an existing keyring)`,\n )\n }\n\n // 3. Pre-liberation EVIDENCE snapshot of every operational collection —\n // snapshot-only (live data preserved for the new owner; liberation\n // transfers operational continuity, it does not erase).\n const collections = await listOperationalCollections(vault)\n const snapshot = await freezeSnapshotOnly(vault, collections, { actorUserId: keyring.userId })\n\n // 4. Mint a NEW owner keyring, re-wrapping the incumbent DEKs under the new\n // owner's fresh KEK. The old sealed owner is NOT unsealed — a DISTINCT\n // principal is minted and the original owner credential is left orphaned\n // (inalienability floor). Mirrors adopt-partition.ts's DEK re-wrap.\n const newOwner = await createOwnerKeyring(adapter, vaultName, { userId: opts.newOwnerId, secret: opts.newOwnerSecret })\n if (!newOwner.kek) {\n throw new PermissionDeniedError(\n `new owner keyring for \"${opts.newOwnerId}\" has no KEK to re-wrap the incumbent DEKs under`,\n )\n }\n const env = await adapter.get(vaultName, '_keyring', opts.newOwnerId)\n if (!env) {\n throw new PermissionDeniedError(`new owner keyring for \"${opts.newOwnerId}\" did not persist`)\n }\n const keyringFile = JSON.parse(env._data) as KeyringFile\n // #1096 — this is a read-BACK of the file `createOwnerKeyring` just wrote, and\n // it is about to be edited and restamped, so the store gets a window to alter\n // it in between. Verified against the NEW owner's own roster key, not the\n // incumbent's: at this instant the file is still stamped under the fresh key\n // minted above (the swap to the incumbent key happens below).\n const mintedRosterKey = requireRosterKey(newOwner, 'liberateVault')\n await assertRosterTagValid(keyringFile, mintedRosterKey, opts.newOwnerId)\n const mergedDeks: Record<string, string> = { ...keyringFile.deks }\n for (const [collection, dek] of keyring.deks) {\n mergedDeks[collection] = await wrapKey(dek, newOwner.kek)\n }\n // #1096 — liberation joins a new owner to an EXISTING vault, so the vault's\n // roster key must stay the incumbent one. `createOwnerKeyring` above minted a\n // fresh roster key (correct for a new vault, wrong here), and the merge loop\n // has just overwritten `_roster` with the incumbent's — so the tag it stamped\n // no longer matches the key in the file. Restamp under the key that actually\n // ends up persisted, or the new owner cannot open the vault they just claimed.\n //\n // Keeping the incumbent key is the substantive half: a fresh one would leave\n // the new owner unable to verify any co-member's roster, and every co-member\n // unable to verify theirs.\n const rosterKey = requireRosterKey(keyring, 'liberateVault')\n const merged: KeyringFile = { ...keyringFile, deks: mergedDeks }\n // #1097 — stamped BEFORE the tag is minted, so it lands inside the\n // authenticated canonical and a store can neither edit nor strip it.\n const withEpoch = { ...merged, roster_epoch: nextRosterEpoch(keyringFile.roster_epoch) }\n const mergedFile: KeyringFile = { ...withEpoch, roster_tag: await mintRosterTag(withEpoch, rosterKey) }\n await adapter.put(vaultName, '_keyring', opts.newOwnerId, { ...env, _data: JSON.stringify(mergedFile) })\n\n // 5. Lifecycle ledger audit (no-op if the history strategy is absent).\n await vault._getLedgerOrNull()?.append({\n op: 'lifecycle', collection: '', id: '', version: 0, actor: opts.newOwnerId, payloadHash: '',\n reason: `liberation-claimed:${opts.newOwnerId}:${opts.legalBasis}`,\n })\n\n // 6. Stamp the Deed marker with `liberatedAt` (if a marker exists).\n const marker = await loadDeedMarker(adapter, vaultName)\n if (marker) {\n await saveDeedMarker(adapter, vaultName, { ...marker, liberatedAt: new Date().toISOString() })\n }\n\n return { snapshot }\n}\n\n/**\n * Enumerate the vault's operational (user-facing) collections — those carried\n * by the caller's keyring DEK map, minus the reserved internal collections\n * (`_*`). These are the collections frozen into the evidence snapshot.\n */\nasync function listOperationalCollections(vault: Vault): Promise<readonly string[]> {\n const { keyring } = vault._introspectState()\n return [...keyring.deks.keys()].filter((c) => !c.startsWith('_'))\n}\n"],"mappings":"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","names":[]}
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  buildRecordAad,
3
3
  openEnvelopeJson
4
- } from "./chunk-BYBB4ABD.js";
4
+ } from "./chunk-DOPZWTMJ.js";
5
5
  import {
6
6
  buildRecordEnvelope
7
- } from "./chunk-QU3YUP2X.js";
7
+ } from "./chunk-4RUFYGWG.js";
8
8
  import {
9
9
  encrypt,
10
10
  hmacSha256Hex,
11
11
  sha256Hex
12
- } from "./chunk-W5LHQXZU.js";
12
+ } from "./chunk-USKHHOIV.js";
13
13
 
14
14
  // src/with-audit/forget/strategy.ts
15
15
  var NO_FORGET = { subjects: {} };
@@ -149,4 +149,4 @@ export {
149
149
  coerceSubjectId,
150
150
  readDottedPath
151
151
  };
152
- //# sourceMappingURL=chunk-EO2KGKEJ.js.map
152
+ //# sourceMappingURL=chunk-HOIWW2LV.js.map