@noy-db/hub 0.6.0-pre.20 → 0.6.0-pre.21

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 (363) hide show
  1. package/CHANGELOG.md +5234 -0
  2. package/dist/api-EYNT6KGS.js +20 -0
  3. package/dist/attestation/index.js +18 -18
  4. package/dist/{backup-K62BFMYK.js → backup-FSC36VWC.js} +12 -12
  5. package/dist/blobs/index.js +13 -13
  6. package/dist/broker/index.js +12 -12
  7. package/dist/cargo/index.js +29 -29
  8. package/dist/{chunk-GT72D4FO.js → chunk-2LFOMUEA.js} +3 -3
  9. package/dist/{chunk-W6NFONOV.js → chunk-32B7VCKU.js} +2 -2
  10. package/dist/{chunk-PG6PFMDC.js → chunk-3B6S6RSI.js} +2 -2
  11. package/dist/{chunk-DKYEVHZH.js → chunk-3ENNPCIW.js} +2 -2
  12. package/dist/{chunk-5J5TTSGW.js → chunk-3O72ZD2E.js} +3 -3
  13. package/dist/{chunk-WKD5ESK4.js → chunk-3PMFMUFX.js} +2 -2
  14. package/dist/{chunk-VEX2BQVX.js → chunk-45YHJ3GV.js} +11 -3
  15. package/dist/{chunk-VEX2BQVX.js.map → chunk-45YHJ3GV.js.map} +1 -1
  16. package/dist/{chunk-MNUTPZRQ.js → chunk-4A34KWOU.js} +6 -6
  17. package/dist/{chunk-32O2N2CH.js → chunk-4N5Q23KV.js} +7 -7
  18. package/dist/{chunk-MQXYR65M.js → chunk-4OQZNXQG.js} +6 -6
  19. package/dist/{chunk-S55DBWRC.js → chunk-4RAS6HN6.js} +2 -2
  20. package/dist/{chunk-6S466CMQ.js → chunk-4YL2LMXK.js} +8 -8
  21. package/dist/{chunk-TC6MBEGH.js → chunk-5Q7AJ7DN.js} +5 -5
  22. package/dist/{chunk-GDGTIWB4.js → chunk-6JPGVL7X.js} +2 -2
  23. package/dist/{chunk-GYUCRDAU.js → chunk-6KTVJ5ZZ.js} +4 -4
  24. package/dist/{chunk-YVTADFTC.js → chunk-6WO62AJW.js} +4 -4
  25. package/dist/{chunk-RORE2GX2.js → chunk-6YD5SYQS.js} +2 -2
  26. package/dist/{chunk-JIF3IBRK.js → chunk-7KAE7CQ2.js} +2 -2
  27. package/dist/{chunk-4HVTRHSA.js → chunk-7LNE2N2V.js} +6 -6
  28. package/dist/{chunk-M4IKEOJS.js → chunk-7PJ3BKHS.js} +6 -6
  29. package/dist/{chunk-HTHRCGWP.js → chunk-A4TOGAUW.js} +2 -2
  30. package/dist/{chunk-VJ4B3ZXY.js → chunk-AU3AUJIZ.js} +2 -2
  31. package/dist/{chunk-XGQGWZ6D.js → chunk-AUPSEJ7O.js} +4 -4
  32. package/dist/{chunk-A4K5GLE6.js → chunk-B6IYATME.js} +4 -4
  33. package/dist/{chunk-CV7WXCZD.js → chunk-BAHOV5I5.js} +10 -10
  34. package/dist/{chunk-E6VDPBE3.js → chunk-BEZDLIDG.js} +6 -6
  35. package/dist/{chunk-RKDH6L53.js → chunk-CAGI4LLJ.js} +303 -49
  36. package/dist/chunk-CAGI4LLJ.js.map +1 -0
  37. package/dist/{chunk-BTNKPDZM.js → chunk-CLAHBPOI.js} +3 -3
  38. package/dist/{chunk-P7L3OQLL.js → chunk-CWM4GQD2.js} +15 -1
  39. package/dist/chunk-CWM4GQD2.js.map +1 -0
  40. package/dist/{chunk-C7WJNVJG.js → chunk-D3R7Q4QK.js} +2 -2
  41. package/dist/{chunk-ODVIFBAQ.js → chunk-DIZ6HM7Q.js} +6 -6
  42. package/dist/{chunk-ICCRAPWD.js → chunk-DVRZYAGT.js} +4 -4
  43. package/dist/{chunk-SG3OQCRG.js → chunk-DXKLLKME.js} +3 -3
  44. package/dist/{chunk-RQY5UWEL.js → chunk-E5SC6ENM.js} +12 -12
  45. package/dist/{chunk-OIIAXFKM.js → chunk-EES37S2V.js} +3 -3
  46. package/dist/{chunk-REL4OLWW.js → chunk-EKEIEJL6.js} +2 -2
  47. package/dist/{chunk-ZBDWKPBW.js → chunk-ESKIAXO2.js} +5 -5
  48. package/dist/{chunk-HJRTFXAA.js → chunk-FFSQFH6D.js} +2 -2
  49. package/dist/{chunk-A3NTKHDB.js → chunk-FS7NTGCJ.js} +2 -2
  50. package/dist/{chunk-5BS6IQZZ.js → chunk-FW7NGYLT.js} +5 -5
  51. package/dist/{chunk-ZPMXYPBR.js → chunk-GBBDFE6C.js} +2 -2
  52. package/dist/{chunk-OQLYMBJI.js → chunk-GQXFOAYZ.js} +3 -3
  53. package/dist/{chunk-5JT4Y5UE.js → chunk-GTHVPVAR.js} +10 -10
  54. package/dist/{chunk-NH2MST6J.js → chunk-GWO2IDAB.js} +2 -2
  55. package/dist/{chunk-MNMYHZVU.js → chunk-H3G4I3PN.js} +2 -2
  56. package/dist/{chunk-PNAIDIP7.js → chunk-HQSPF5IY.js} +16 -9
  57. package/dist/{chunk-PNAIDIP7.js.map → chunk-HQSPF5IY.js.map} +1 -1
  58. package/dist/{chunk-ZWKF3CD3.js → chunk-HR5R5JOM.js} +2 -2
  59. package/dist/{chunk-2E2MKBMI.js → chunk-HYYVT2KZ.js} +2 -2
  60. package/dist/{chunk-HGJC7I5F.js → chunk-I6QKB7MT.js} +2 -2
  61. package/dist/{chunk-IPDS2TYW.js → chunk-ICDHUUMQ.js} +3 -3
  62. package/dist/{chunk-3Y4OFWQJ.js → chunk-IGNJOJEP.js} +1 -1
  63. package/dist/chunk-IGNJOJEP.js.map +1 -0
  64. package/dist/{chunk-BP4I7IBK.js → chunk-IJ46VCWD.js} +2 -2
  65. package/dist/{chunk-AQF7JSQR.js → chunk-INMHEMXX.js} +2 -2
  66. package/dist/{chunk-IOURTXTM.js → chunk-JLYQQNY4.js} +7 -7
  67. package/dist/{chunk-IOURTXTM.js.map → chunk-JLYQQNY4.js.map} +1 -1
  68. package/dist/{chunk-KDX6VEYV.js → chunk-JNMTN5D5.js} +2 -2
  69. package/dist/{chunk-ZXW3X3DQ.js → chunk-JWMBG5S3.js} +7 -7
  70. package/dist/{chunk-L2XQ776M.js → chunk-KRVS7YWY.js} +2 -2
  71. package/dist/{chunk-DJ23QZIN.js → chunk-KV6JM2IA.js} +2 -2
  72. package/dist/{chunk-EJIVFOOQ.js → chunk-KX57HODD.js} +6 -6
  73. package/dist/{chunk-6TXUVKPG.js → chunk-LGFTOU27.js} +115 -90
  74. package/dist/chunk-LGFTOU27.js.map +1 -0
  75. package/dist/{chunk-YOT7D63X.js → chunk-LN7P6MZB.js} +3 -3
  76. package/dist/{chunk-JHO6FGZX.js → chunk-LX46B56Q.js} +5 -5
  77. package/dist/{chunk-APV42WPR.js → chunk-LXECF2ZR.js} +2 -2
  78. package/dist/{chunk-VH2W6BOG.js → chunk-MSLPDFK2.js} +7 -7
  79. package/dist/{chunk-NYSD43OE.js → chunk-MZTUTEHP.js} +4 -4
  80. package/dist/{chunk-F5AJZC3U.js → chunk-NCCEDL2K.js} +30 -11
  81. package/dist/chunk-NCCEDL2K.js.map +1 -0
  82. package/dist/{chunk-KBOPY6W2.js → chunk-NR2SUJ3H.js} +2 -2
  83. package/dist/{chunk-HTMQBBF3.js → chunk-NW4TY6VC.js} +3 -3
  84. package/dist/{chunk-OWGEHDT2.js → chunk-O742QBZZ.js} +5 -5
  85. package/dist/{chunk-D5UDZANO.js → chunk-OHOKBMTM.js} +96 -8
  86. package/dist/chunk-OHOKBMTM.js.map +1 -0
  87. package/dist/{chunk-KM6YR5XF.js → chunk-OIBEJN5H.js} +2 -2
  88. package/dist/{chunk-N2HKBESK.js → chunk-OMYCSTXL.js} +4 -4
  89. package/dist/{chunk-N7YAQKAO.js → chunk-ONVD6GBY.js} +2 -2
  90. package/dist/{chunk-NRNTXBHT.js → chunk-OTHHO3KI.js} +2 -2
  91. package/dist/{chunk-KUXTWVAR.js → chunk-P2MR5UNE.js} +3 -3
  92. package/dist/{chunk-ZVAFJQZB.js → chunk-PENPHA45.js} +2 -2
  93. package/dist/{chunk-47ZFULEZ.js → chunk-PPCOKVFA.js} +2 -2
  94. package/dist/{chunk-2IK6AC6A.js → chunk-QSIEL6TL.js} +5 -5
  95. package/dist/{chunk-VHVMJWM6.js → chunk-RFO4UXKQ.js} +6 -6
  96. package/dist/{chunk-CVYXIN5B.js → chunk-RKCRPPNB.js} +3 -3
  97. package/dist/{chunk-RSFG7XHM.js → chunk-RSXQNFGO.js} +2 -2
  98. package/dist/{chunk-DYASJSKI.js → chunk-S56VYR4Q.js} +3 -3
  99. package/dist/{chunk-7RCZ436O.js → chunk-SYS46BL7.js} +2 -2
  100. package/dist/{chunk-EG6AQBYW.js → chunk-T7JGWTES.js} +8 -8
  101. package/dist/{chunk-SA77BQ7F.js → chunk-TDSN2O2V.js} +5 -5
  102. package/dist/{chunk-SFD2LL7G.js → chunk-TMBSPLUG.js} +2 -2
  103. package/dist/{chunk-5EJQNA26.js → chunk-TQPASLY4.js} +2 -2
  104. package/dist/{chunk-QPIUFRUC.js → chunk-TX5MKAHA.js} +3 -3
  105. package/dist/{chunk-TENLCGYD.js → chunk-U27Y4DJZ.js} +4 -4
  106. package/dist/{chunk-L6FSZFG7.js → chunk-VVSOPRUE.js} +2 -2
  107. package/dist/{chunk-437FDIHO.js → chunk-WVE6YKMX.js} +3 -3
  108. package/dist/{chunk-PZSS7MUM.js → chunk-YALD3SST.js} +5 -5
  109. package/dist/{chunk-WBNXZU42.js → chunk-YKXZHUOW.js} +4 -4
  110. package/dist/{chunk-RNSC2ARR.js → chunk-ZLHHE5XZ.js} +3 -3
  111. package/dist/{chunk-GILI76SU.js → chunk-ZZXLB6AS.js} +2 -2
  112. package/dist/classified/index.js +5 -5
  113. package/dist/{classified-marker-PMDG3O36.js → classified-marker-NA6HUV33.js} +3 -3
  114. package/dist/collection-facade-VBM35WAH.js +45 -0
  115. package/dist/{computed-UHCBRILW.js → computed-GSTLWSY5.js} +3 -3
  116. package/dist/consent/index.js +9 -9
  117. package/dist/cover/index.js +9 -9
  118. package/dist/custody/index.js +11 -11
  119. package/dist/{dead-filter-777VWDER.js → dead-filter-UALP5DJX.js} +2 -2
  120. package/dist/debug/index.js +1 -1
  121. package/dist/{delegation-4R5DU23X.js → delegation-JLNXM7KH.js} +11 -11
  122. package/dist/derivations/index.js +12 -12
  123. package/dist/derive-YUO3TQYN.js +22 -0
  124. package/dist/directory/index.js +10 -10
  125. package/dist/{dispatch-ASL257KG.js → dispatch-4ZHLSFZQ.js} +5 -5
  126. package/dist/{dispatch-3EN6YCCS.js → dispatch-77CB75KB.js} +18 -18
  127. package/dist/{enclave-ZJS5R5RH.js → enclave-O4NOROCJ.js} +11 -9
  128. package/dist/executor-CZDXBXKE.js +29 -0
  129. package/dist/executor-DVJAWN3B.js +9 -0
  130. package/dist/executor-VRLG4TQJ.js +9 -0
  131. package/dist/export-accessible-UXSMG7AB.js +23 -0
  132. package/dist/extract-partition-TVY7AMKH.js +38 -0
  133. package/dist/{fanout-sidecar-TFPWDOME.js → fanout-sidecar-NLQ7QAYW.js} +9 -9
  134. package/dist/find-WSARMJBW.js +11 -0
  135. package/dist/forget/index.js +9 -9
  136. package/dist/guards/index.js +7 -7
  137. package/dist/history/index.js +13 -13
  138. package/dist/i18n/index.js +14 -14
  139. package/dist/index.d.ts +2 -1
  140. package/dist/index.js +95 -91
  141. package/dist/index.js.map +1 -1
  142. package/dist/indexing/index.js +2 -2
  143. package/dist/introspection/index.js +11 -11
  144. package/dist/issue-3JNJNPT3.js +19 -0
  145. package/dist/kernel/constants.d.ts +18 -0
  146. package/dist/kernel/enclave/index.d.ts +1 -0
  147. package/dist/kernel/enclave/record-keys/rekey-blob.d.ts +88 -0
  148. package/dist/kernel/errors.d.ts +48 -1
  149. package/dist/kernel/noydb.d.ts +18 -1
  150. package/dist/kernel/types.d.ts +20 -6
  151. package/dist/kernel/vault.d.ts +1 -1
  152. package/dist/{ledger-62CEPRPX.js → ledger-MVPNG5OS.js} +11 -11
  153. package/dist/liberate-4LOJOLDT.js +24 -0
  154. package/dist/{link-set-ZRYNUHN3.js → link-set-3POMQR3I.js} +11 -11
  155. package/dist/{managed-secret-T2WB4O47.js → managed-secret-IARIJJ7Q.js} +10 -10
  156. package/dist/materialized-views/index.js +20 -20
  157. package/dist/migrate-cek-XM2ETTZW.js +19 -0
  158. package/dist/migrate-cek-XM2ETTZW.js.map +1 -0
  159. package/dist/money/index.js +4 -4
  160. package/dist/noydb-IRILUDED.js +84 -0
  161. package/dist/overlay-views/index.js +4 -4
  162. package/dist/periods/index.js +12 -12
  163. package/dist/pod/index.js +55 -55
  164. package/dist/{pod-handle-UPLXOGIK.js → pod-handle-MELERCKU.js} +9 -9
  165. package/dist/policy/index.js +10 -10
  166. package/dist/port/with/team-strategy.d.ts +5 -1
  167. package/dist/portability/index.js +8 -8
  168. package/dist/{post-register-J4DEVNXK.js → post-register-Z5T7FY45.js} +6 -6
  169. package/dist/query/index.js +3 -3
  170. package/dist/reduce/index.js +4 -4
  171. package/dist/register-UZ37QPDB.js +32 -0
  172. package/dist/registry-ETJNA7PO.js +9 -0
  173. package/dist/registry-F7U6KSLX.js +9 -0
  174. package/dist/registry-L4ELKX6C.js +18 -0
  175. package/dist/registry-SDT5LIGO.js +19 -0
  176. package/dist/request-withdrawal-PVFEYX57.js +31 -0
  177. package/dist/{reveal-525XWQU2.js → reveal-DQ2E3QAZ.js} +6 -6
  178. package/dist/revoke-YXY6SHUH.js +24 -0
  179. package/dist/satellites/index.js +1 -1
  180. package/dist/schema-update/index.js +2 -2
  181. package/dist/sealed-record/index.js +12 -12
  182. package/dist/search/index.js +4 -4
  183. package/dist/{seed-SGIF3EN4.js → seed-DZ4ORU5N.js} +11 -11
  184. package/dist/sequence/index.js +9 -9
  185. package/dist/session/index.js +9 -9
  186. package/dist/shadow/index.js +2 -2
  187. package/dist/signer-Q7XQBMPA.js +25 -0
  188. package/dist/snapshots/index.js +10 -10
  189. package/dist/{stale-PQYPVCER.js → stale-NI7SAXAZ.js} +10 -10
  190. package/dist/storage-3VNGSHXS.js +23 -0
  191. package/dist/{store-coordination-provider-TFHZLKHG.js → store-coordination-provider-TYKNR3OU.js} +10 -10
  192. package/dist/sync/index.js +10 -10
  193. package/dist/team/index.js +15 -15
  194. package/dist/tiers/index.js +11 -11
  195. package/dist/to/index.js +1 -1
  196. package/dist/transactions/index.js +3 -3
  197. package/dist/util/index.js +1 -1
  198. package/dist/vault-head/index.js +8 -8
  199. package/dist/{verify-J6DEOXP3.js → verify-6J2YLKSO.js} +5 -5
  200. package/dist/walk-WRA7RAPY.js +21 -0
  201. package/dist/with-party/team/keyring.d.ts +132 -0
  202. package/dist/with-party/team/noydb-facade.d.ts +5 -1
  203. package/dist/with-party/team/roster-tag.d.ts +101 -0
  204. package/dist/with-shape/blobs/blob-set.d.ts +2 -2
  205. package/dist/withdraw-accessible-4JTDFRFZ.js +28 -0
  206. package/package.json +4 -3
  207. package/dist/api-Z5VHH24A.js +0 -20
  208. package/dist/chunk-3Y4OFWQJ.js.map +0 -1
  209. package/dist/chunk-6TXUVKPG.js.map +0 -1
  210. package/dist/chunk-D5UDZANO.js.map +0 -1
  211. package/dist/chunk-F5AJZC3U.js.map +0 -1
  212. package/dist/chunk-P7L3OQLL.js.map +0 -1
  213. package/dist/chunk-RKDH6L53.js.map +0 -1
  214. package/dist/collection-facade-ZJK5EB33.js +0 -45
  215. package/dist/derive-3WAS2G5T.js +0 -22
  216. package/dist/executor-GPM6DNWV.js +0 -9
  217. package/dist/executor-LJSMZ4IB.js +0 -9
  218. package/dist/executor-SHUVRZUJ.js +0 -29
  219. package/dist/export-accessible-GNY6DC6U.js +0 -23
  220. package/dist/extract-partition-BG3AF4NZ.js +0 -38
  221. package/dist/find-KX6OKHDP.js +0 -11
  222. package/dist/issue-PAUM7NCX.js +0 -19
  223. package/dist/liberate-I6AOLWXW.js +0 -24
  224. package/dist/noydb-SS6EN7TK.js +0 -84
  225. package/dist/register-UPD4GKBC.js +0 -32
  226. package/dist/registry-7KX2HWFS.js +0 -18
  227. package/dist/registry-PKYYEHEW.js +0 -9
  228. package/dist/registry-XHCYMD34.js +0 -19
  229. package/dist/registry-XIRTZHPC.js +0 -9
  230. package/dist/request-withdrawal-XZSESWZV.js +0 -31
  231. package/dist/revoke-QI7YHQ2B.js +0 -24
  232. package/dist/signer-BZWDPGGN.js +0 -25
  233. package/dist/storage-MJHKNQRO.js +0 -23
  234. package/dist/walk-BX4NSB5L.js +0 -21
  235. package/dist/withdraw-accessible-K4CPMH4C.js +0 -28
  236. /package/dist/{api-Z5VHH24A.js.map → api-EYNT6KGS.js.map} +0 -0
  237. /package/dist/{backup-K62BFMYK.js.map → backup-FSC36VWC.js.map} +0 -0
  238. /package/dist/{chunk-GT72D4FO.js.map → chunk-2LFOMUEA.js.map} +0 -0
  239. /package/dist/{chunk-W6NFONOV.js.map → chunk-32B7VCKU.js.map} +0 -0
  240. /package/dist/{chunk-PG6PFMDC.js.map → chunk-3B6S6RSI.js.map} +0 -0
  241. /package/dist/{chunk-DKYEVHZH.js.map → chunk-3ENNPCIW.js.map} +0 -0
  242. /package/dist/{chunk-5J5TTSGW.js.map → chunk-3O72ZD2E.js.map} +0 -0
  243. /package/dist/{chunk-WKD5ESK4.js.map → chunk-3PMFMUFX.js.map} +0 -0
  244. /package/dist/{chunk-MNUTPZRQ.js.map → chunk-4A34KWOU.js.map} +0 -0
  245. /package/dist/{chunk-32O2N2CH.js.map → chunk-4N5Q23KV.js.map} +0 -0
  246. /package/dist/{chunk-MQXYR65M.js.map → chunk-4OQZNXQG.js.map} +0 -0
  247. /package/dist/{chunk-S55DBWRC.js.map → chunk-4RAS6HN6.js.map} +0 -0
  248. /package/dist/{chunk-6S466CMQ.js.map → chunk-4YL2LMXK.js.map} +0 -0
  249. /package/dist/{chunk-TC6MBEGH.js.map → chunk-5Q7AJ7DN.js.map} +0 -0
  250. /package/dist/{chunk-GDGTIWB4.js.map → chunk-6JPGVL7X.js.map} +0 -0
  251. /package/dist/{chunk-GYUCRDAU.js.map → chunk-6KTVJ5ZZ.js.map} +0 -0
  252. /package/dist/{chunk-YVTADFTC.js.map → chunk-6WO62AJW.js.map} +0 -0
  253. /package/dist/{chunk-RORE2GX2.js.map → chunk-6YD5SYQS.js.map} +0 -0
  254. /package/dist/{chunk-JIF3IBRK.js.map → chunk-7KAE7CQ2.js.map} +0 -0
  255. /package/dist/{chunk-4HVTRHSA.js.map → chunk-7LNE2N2V.js.map} +0 -0
  256. /package/dist/{chunk-M4IKEOJS.js.map → chunk-7PJ3BKHS.js.map} +0 -0
  257. /package/dist/{chunk-HTHRCGWP.js.map → chunk-A4TOGAUW.js.map} +0 -0
  258. /package/dist/{chunk-VJ4B3ZXY.js.map → chunk-AU3AUJIZ.js.map} +0 -0
  259. /package/dist/{chunk-XGQGWZ6D.js.map → chunk-AUPSEJ7O.js.map} +0 -0
  260. /package/dist/{chunk-A4K5GLE6.js.map → chunk-B6IYATME.js.map} +0 -0
  261. /package/dist/{chunk-CV7WXCZD.js.map → chunk-BAHOV5I5.js.map} +0 -0
  262. /package/dist/{chunk-E6VDPBE3.js.map → chunk-BEZDLIDG.js.map} +0 -0
  263. /package/dist/{chunk-BTNKPDZM.js.map → chunk-CLAHBPOI.js.map} +0 -0
  264. /package/dist/{chunk-C7WJNVJG.js.map → chunk-D3R7Q4QK.js.map} +0 -0
  265. /package/dist/{chunk-ODVIFBAQ.js.map → chunk-DIZ6HM7Q.js.map} +0 -0
  266. /package/dist/{chunk-ICCRAPWD.js.map → chunk-DVRZYAGT.js.map} +0 -0
  267. /package/dist/{chunk-SG3OQCRG.js.map → chunk-DXKLLKME.js.map} +0 -0
  268. /package/dist/{chunk-RQY5UWEL.js.map → chunk-E5SC6ENM.js.map} +0 -0
  269. /package/dist/{chunk-OIIAXFKM.js.map → chunk-EES37S2V.js.map} +0 -0
  270. /package/dist/{chunk-REL4OLWW.js.map → chunk-EKEIEJL6.js.map} +0 -0
  271. /package/dist/{chunk-ZBDWKPBW.js.map → chunk-ESKIAXO2.js.map} +0 -0
  272. /package/dist/{chunk-HJRTFXAA.js.map → chunk-FFSQFH6D.js.map} +0 -0
  273. /package/dist/{chunk-A3NTKHDB.js.map → chunk-FS7NTGCJ.js.map} +0 -0
  274. /package/dist/{chunk-5BS6IQZZ.js.map → chunk-FW7NGYLT.js.map} +0 -0
  275. /package/dist/{chunk-ZPMXYPBR.js.map → chunk-GBBDFE6C.js.map} +0 -0
  276. /package/dist/{chunk-OQLYMBJI.js.map → chunk-GQXFOAYZ.js.map} +0 -0
  277. /package/dist/{chunk-5JT4Y5UE.js.map → chunk-GTHVPVAR.js.map} +0 -0
  278. /package/dist/{chunk-NH2MST6J.js.map → chunk-GWO2IDAB.js.map} +0 -0
  279. /package/dist/{chunk-MNMYHZVU.js.map → chunk-H3G4I3PN.js.map} +0 -0
  280. /package/dist/{chunk-ZWKF3CD3.js.map → chunk-HR5R5JOM.js.map} +0 -0
  281. /package/dist/{chunk-2E2MKBMI.js.map → chunk-HYYVT2KZ.js.map} +0 -0
  282. /package/dist/{chunk-HGJC7I5F.js.map → chunk-I6QKB7MT.js.map} +0 -0
  283. /package/dist/{chunk-IPDS2TYW.js.map → chunk-ICDHUUMQ.js.map} +0 -0
  284. /package/dist/{chunk-BP4I7IBK.js.map → chunk-IJ46VCWD.js.map} +0 -0
  285. /package/dist/{chunk-AQF7JSQR.js.map → chunk-INMHEMXX.js.map} +0 -0
  286. /package/dist/{chunk-KDX6VEYV.js.map → chunk-JNMTN5D5.js.map} +0 -0
  287. /package/dist/{chunk-ZXW3X3DQ.js.map → chunk-JWMBG5S3.js.map} +0 -0
  288. /package/dist/{chunk-L2XQ776M.js.map → chunk-KRVS7YWY.js.map} +0 -0
  289. /package/dist/{chunk-DJ23QZIN.js.map → chunk-KV6JM2IA.js.map} +0 -0
  290. /package/dist/{chunk-EJIVFOOQ.js.map → chunk-KX57HODD.js.map} +0 -0
  291. /package/dist/{chunk-YOT7D63X.js.map → chunk-LN7P6MZB.js.map} +0 -0
  292. /package/dist/{chunk-JHO6FGZX.js.map → chunk-LX46B56Q.js.map} +0 -0
  293. /package/dist/{chunk-APV42WPR.js.map → chunk-LXECF2ZR.js.map} +0 -0
  294. /package/dist/{chunk-VH2W6BOG.js.map → chunk-MSLPDFK2.js.map} +0 -0
  295. /package/dist/{chunk-NYSD43OE.js.map → chunk-MZTUTEHP.js.map} +0 -0
  296. /package/dist/{chunk-KBOPY6W2.js.map → chunk-NR2SUJ3H.js.map} +0 -0
  297. /package/dist/{chunk-HTMQBBF3.js.map → chunk-NW4TY6VC.js.map} +0 -0
  298. /package/dist/{chunk-OWGEHDT2.js.map → chunk-O742QBZZ.js.map} +0 -0
  299. /package/dist/{chunk-KM6YR5XF.js.map → chunk-OIBEJN5H.js.map} +0 -0
  300. /package/dist/{chunk-N2HKBESK.js.map → chunk-OMYCSTXL.js.map} +0 -0
  301. /package/dist/{chunk-N7YAQKAO.js.map → chunk-ONVD6GBY.js.map} +0 -0
  302. /package/dist/{chunk-NRNTXBHT.js.map → chunk-OTHHO3KI.js.map} +0 -0
  303. /package/dist/{chunk-KUXTWVAR.js.map → chunk-P2MR5UNE.js.map} +0 -0
  304. /package/dist/{chunk-ZVAFJQZB.js.map → chunk-PENPHA45.js.map} +0 -0
  305. /package/dist/{chunk-47ZFULEZ.js.map → chunk-PPCOKVFA.js.map} +0 -0
  306. /package/dist/{chunk-2IK6AC6A.js.map → chunk-QSIEL6TL.js.map} +0 -0
  307. /package/dist/{chunk-VHVMJWM6.js.map → chunk-RFO4UXKQ.js.map} +0 -0
  308. /package/dist/{chunk-CVYXIN5B.js.map → chunk-RKCRPPNB.js.map} +0 -0
  309. /package/dist/{chunk-RSFG7XHM.js.map → chunk-RSXQNFGO.js.map} +0 -0
  310. /package/dist/{chunk-DYASJSKI.js.map → chunk-S56VYR4Q.js.map} +0 -0
  311. /package/dist/{chunk-7RCZ436O.js.map → chunk-SYS46BL7.js.map} +0 -0
  312. /package/dist/{chunk-EG6AQBYW.js.map → chunk-T7JGWTES.js.map} +0 -0
  313. /package/dist/{chunk-SA77BQ7F.js.map → chunk-TDSN2O2V.js.map} +0 -0
  314. /package/dist/{chunk-SFD2LL7G.js.map → chunk-TMBSPLUG.js.map} +0 -0
  315. /package/dist/{chunk-5EJQNA26.js.map → chunk-TQPASLY4.js.map} +0 -0
  316. /package/dist/{chunk-QPIUFRUC.js.map → chunk-TX5MKAHA.js.map} +0 -0
  317. /package/dist/{chunk-TENLCGYD.js.map → chunk-U27Y4DJZ.js.map} +0 -0
  318. /package/dist/{chunk-L6FSZFG7.js.map → chunk-VVSOPRUE.js.map} +0 -0
  319. /package/dist/{chunk-437FDIHO.js.map → chunk-WVE6YKMX.js.map} +0 -0
  320. /package/dist/{chunk-PZSS7MUM.js.map → chunk-YALD3SST.js.map} +0 -0
  321. /package/dist/{chunk-WBNXZU42.js.map → chunk-YKXZHUOW.js.map} +0 -0
  322. /package/dist/{chunk-RNSC2ARR.js.map → chunk-ZLHHE5XZ.js.map} +0 -0
  323. /package/dist/{chunk-GILI76SU.js.map → chunk-ZZXLB6AS.js.map} +0 -0
  324. /package/dist/{classified-marker-PMDG3O36.js.map → classified-marker-NA6HUV33.js.map} +0 -0
  325. /package/dist/{collection-facade-ZJK5EB33.js.map → collection-facade-VBM35WAH.js.map} +0 -0
  326. /package/dist/{computed-UHCBRILW.js.map → computed-GSTLWSY5.js.map} +0 -0
  327. /package/dist/{dead-filter-777VWDER.js.map → dead-filter-UALP5DJX.js.map} +0 -0
  328. /package/dist/{delegation-4R5DU23X.js.map → delegation-JLNXM7KH.js.map} +0 -0
  329. /package/dist/{derive-3WAS2G5T.js.map → derive-YUO3TQYN.js.map} +0 -0
  330. /package/dist/{dispatch-ASL257KG.js.map → dispatch-4ZHLSFZQ.js.map} +0 -0
  331. /package/dist/{dispatch-3EN6YCCS.js.map → dispatch-77CB75KB.js.map} +0 -0
  332. /package/dist/{enclave-ZJS5R5RH.js.map → enclave-O4NOROCJ.js.map} +0 -0
  333. /package/dist/{executor-GPM6DNWV.js.map → executor-CZDXBXKE.js.map} +0 -0
  334. /package/dist/{executor-LJSMZ4IB.js.map → executor-DVJAWN3B.js.map} +0 -0
  335. /package/dist/{executor-SHUVRZUJ.js.map → executor-VRLG4TQJ.js.map} +0 -0
  336. /package/dist/{export-accessible-GNY6DC6U.js.map → export-accessible-UXSMG7AB.js.map} +0 -0
  337. /package/dist/{extract-partition-BG3AF4NZ.js.map → extract-partition-TVY7AMKH.js.map} +0 -0
  338. /package/dist/{fanout-sidecar-TFPWDOME.js.map → fanout-sidecar-NLQ7QAYW.js.map} +0 -0
  339. /package/dist/{find-KX6OKHDP.js.map → find-WSARMJBW.js.map} +0 -0
  340. /package/dist/{issue-PAUM7NCX.js.map → issue-3JNJNPT3.js.map} +0 -0
  341. /package/dist/{ledger-62CEPRPX.js.map → ledger-MVPNG5OS.js.map} +0 -0
  342. /package/dist/{liberate-I6AOLWXW.js.map → liberate-4LOJOLDT.js.map} +0 -0
  343. /package/dist/{link-set-ZRYNUHN3.js.map → link-set-3POMQR3I.js.map} +0 -0
  344. /package/dist/{managed-secret-T2WB4O47.js.map → managed-secret-IARIJJ7Q.js.map} +0 -0
  345. /package/dist/{noydb-SS6EN7TK.js.map → noydb-IRILUDED.js.map} +0 -0
  346. /package/dist/{pod-handle-UPLXOGIK.js.map → pod-handle-MELERCKU.js.map} +0 -0
  347. /package/dist/{post-register-J4DEVNXK.js.map → post-register-Z5T7FY45.js.map} +0 -0
  348. /package/dist/{register-UPD4GKBC.js.map → register-UZ37QPDB.js.map} +0 -0
  349. /package/dist/{registry-7KX2HWFS.js.map → registry-ETJNA7PO.js.map} +0 -0
  350. /package/dist/{registry-PKYYEHEW.js.map → registry-F7U6KSLX.js.map} +0 -0
  351. /package/dist/{registry-XHCYMD34.js.map → registry-L4ELKX6C.js.map} +0 -0
  352. /package/dist/{registry-XIRTZHPC.js.map → registry-SDT5LIGO.js.map} +0 -0
  353. /package/dist/{request-withdrawal-XZSESWZV.js.map → request-withdrawal-PVFEYX57.js.map} +0 -0
  354. /package/dist/{reveal-525XWQU2.js.map → reveal-DQ2E3QAZ.js.map} +0 -0
  355. /package/dist/{revoke-QI7YHQ2B.js.map → revoke-YXY6SHUH.js.map} +0 -0
  356. /package/dist/{seed-SGIF3EN4.js.map → seed-DZ4ORU5N.js.map} +0 -0
  357. /package/dist/{signer-BZWDPGGN.js.map → signer-Q7XQBMPA.js.map} +0 -0
  358. /package/dist/{stale-PQYPVCER.js.map → stale-NI7SAXAZ.js.map} +0 -0
  359. /package/dist/{storage-MJHKNQRO.js.map → storage-3VNGSHXS.js.map} +0 -0
  360. /package/dist/{store-coordination-provider-TFHZLKHG.js.map → store-coordination-provider-TYKNR3OU.js.map} +0 -0
  361. /package/dist/{verify-J6DEOXP3.js.map → verify-6J2YLKSO.js.map} +0 -0
  362. /package/dist/{walk-BX4NSB5L.js.map → walk-WRA7RAPY.js.map} +0 -0
  363. /package/dist/{withdraw-accessible-K4CPMH4C.js.map → withdraw-accessible-4JTDFRFZ.js.map} +0 -0
@@ -0,0 +1,20 @@
1
+ import {
2
+ UserApi,
3
+ createUserApi
4
+ } from "./chunk-RKCRPPNB.js";
5
+ import "./chunk-LX46B56Q.js";
6
+ import "./chunk-OHOKBMTM.js";
7
+ import "./chunk-PENPHA45.js";
8
+ import "./chunk-GQXFOAYZ.js";
9
+ import "./chunk-KV6JM2IA.js";
10
+ import "./chunk-TMBSPLUG.js";
11
+ import "./chunk-LP7BEXCT.js";
12
+ import "./chunk-AU3AUJIZ.js";
13
+ import "./chunk-IGNJOJEP.js";
14
+ import "./chunk-CWM4GQD2.js";
15
+ import "./chunk-PZ5AY32C.js";
16
+ export {
17
+ UserApi,
18
+ createUserApi
19
+ };
20
+ //# sourceMappingURL=api-EYNT6KGS.js.map
@@ -1,42 +1,42 @@
1
1
  import {
2
2
  issueAttestationCore
3
- } from "../chunk-4HVTRHSA.js";
3
+ } from "../chunk-7LNE2N2V.js";
4
4
  import {
5
5
  getRevokedDocIdsCore,
6
6
  publishRevocationListCore,
7
7
  revokeDocCore,
8
8
  unrevokeDocCore
9
- } from "../chunk-ODVIFBAQ.js";
9
+ } from "../chunk-DIZ6HM7Q.js";
10
10
  import {
11
11
  ATTESTATIONS_COLLECTION
12
- } from "../chunk-ZBDWKPBW.js";
12
+ } from "../chunk-ESKIAXO2.js";
13
13
  import {
14
14
  NO_ATTESTATION
15
- } from "../chunk-ZWKF3CD3.js";
15
+ } from "../chunk-HR5R5JOM.js";
16
16
  import "../chunk-4AOERLTV.js";
17
- import "../chunk-D5UDZANO.js";
18
- import "../chunk-ZVAFJQZB.js";
19
- import "../chunk-OQLYMBJI.js";
20
- import "../chunk-DJ23QZIN.js";
21
- import "../chunk-SFD2LL7G.js";
17
+ import "../chunk-OHOKBMTM.js";
18
+ import "../chunk-PENPHA45.js";
19
+ import "../chunk-GQXFOAYZ.js";
20
+ import "../chunk-KV6JM2IA.js";
21
+ import "../chunk-TMBSPLUG.js";
22
22
  import "../chunk-LP7BEXCT.js";
23
- import "../chunk-VJ4B3ZXY.js";
24
- import "../chunk-3Y4OFWQJ.js";
23
+ import "../chunk-AU3AUJIZ.js";
24
+ import "../chunk-IGNJOJEP.js";
25
25
  import {
26
26
  AttestationError,
27
27
  AttestationNotEnabledError
28
- } from "../chunk-P7L3OQLL.js";
28
+ } from "../chunk-CWM4GQD2.js";
29
29
  import "../chunk-PZ5AY32C.js";
30
30
 
31
31
  // src/with-audit/attestation/active.ts
32
32
  function withAttestation() {
33
33
  return {
34
34
  async issueAttestation(ctx, args) {
35
- const { issueAttestationCore: issueAttestationCore2 } = await import("../issue-PAUM7NCX.js");
35
+ const { issueAttestationCore: issueAttestationCore2 } = await import("../issue-3JNJNPT3.js");
36
36
  return issueAttestationCore2(ctx, args);
37
37
  },
38
38
  async getDocumentSigningPublicKey(deps) {
39
- const { loadSigner, loadOrCreateSigner } = await import("../signer-BZWDPGGN.js");
39
+ const { loadSigner, loadOrCreateSigner } = await import("../signer-Q7XQBMPA.js");
40
40
  const existing = await loadSigner(deps.adapter, deps.vault, deps.getDEK);
41
41
  if (existing) return { keyId: existing.keyId, publicKeyB64: existing.publicKeyB64 };
42
42
  if (deps.role !== "owner") {
@@ -46,19 +46,19 @@ function withAttestation() {
46
46
  return { keyId: signer.keyId, publicKeyB64: signer.publicKeyB64 };
47
47
  },
48
48
  async revokeAttestation(ctx, docId) {
49
- const { revokeDocCore: revokeDocCore2 } = await import("../revoke-QI7YHQ2B.js");
49
+ const { revokeDocCore: revokeDocCore2 } = await import("../revoke-YXY6SHUH.js");
50
50
  return revokeDocCore2(ctx, docId);
51
51
  },
52
52
  async unrevokeAttestation(ctx, docId) {
53
- const { unrevokeDocCore: unrevokeDocCore2 } = await import("../revoke-QI7YHQ2B.js");
53
+ const { unrevokeDocCore: unrevokeDocCore2 } = await import("../revoke-YXY6SHUH.js");
54
54
  return unrevokeDocCore2(ctx, docId);
55
55
  },
56
56
  async getRevokedDocIds(ctx) {
57
- const { getRevokedDocIdsCore: getRevokedDocIdsCore2 } = await import("../revoke-QI7YHQ2B.js");
57
+ const { getRevokedDocIdsCore: getRevokedDocIdsCore2 } = await import("../revoke-YXY6SHUH.js");
58
58
  return getRevokedDocIdsCore2(ctx);
59
59
  },
60
60
  async publishRevocationList(ctx) {
61
- const { publishRevocationListCore: publishRevocationListCore2 } = await import("../revoke-QI7YHQ2B.js");
61
+ const { publishRevocationListCore: publishRevocationListCore2 } = await import("../revoke-YXY6SHUH.js");
62
62
  return publishRevocationListCore2(ctx);
63
63
  }
64
64
  };
@@ -3,37 +3,37 @@ import {
3
3
  } from "./chunk-EPFF7LOX.js";
4
4
  import {
5
5
  SCHEMAS_COLLECTION
6
- } from "./chunk-YVTADFTC.js";
6
+ } from "./chunk-6WO62AJW.js";
7
7
  import {
8
8
  SEQUENCE_COLLECTION
9
- } from "./chunk-PZSS7MUM.js";
9
+ } from "./chunk-YALD3SST.js";
10
10
  import {
11
11
  PERIODS_COLLECTION,
12
12
  PERIOD_ARCHIVES_COLLECTION,
13
13
  PERIOD_FREEZES_COLLECTION,
14
14
  PERIOD_REOPENS_COLLECTION,
15
15
  PERIOD_TARGET_PURGES_COLLECTION
16
- } from "./chunk-HTHRCGWP.js";
16
+ } from "./chunk-A4TOGAUW.js";
17
17
  import {
18
18
  LEDGER_COLLECTION,
19
19
  LEDGER_DELTAS_COLLECTION
20
20
  } from "./chunk-I7FD46FF.js";
21
- import "./chunk-D5UDZANO.js";
21
+ import "./chunk-OHOKBMTM.js";
22
22
  import {
23
23
  buildRecordEnvelope
24
- } from "./chunk-ZVAFJQZB.js";
25
- import "./chunk-OQLYMBJI.js";
26
- import "./chunk-DJ23QZIN.js";
27
- import "./chunk-SFD2LL7G.js";
24
+ } from "./chunk-PENPHA45.js";
25
+ import "./chunk-GQXFOAYZ.js";
26
+ import "./chunk-KV6JM2IA.js";
27
+ import "./chunk-TMBSPLUG.js";
28
28
  import "./chunk-LP7BEXCT.js";
29
- import "./chunk-VJ4B3ZXY.js";
29
+ import "./chunk-AU3AUJIZ.js";
30
30
  import {
31
31
  NOYDB_BACKUP_VERSION
32
- } from "./chunk-3Y4OFWQJ.js";
32
+ } from "./chunk-IGNJOJEP.js";
33
33
  import {
34
34
  BackupCorruptedError,
35
35
  BackupLedgerError
36
- } from "./chunk-P7L3OQLL.js";
36
+ } from "./chunk-CWM4GQD2.js";
37
37
  import "./chunk-PZ5AY32C.js";
38
38
 
39
39
  // src/with-pod/backup.ts
@@ -262,4 +262,4 @@ export {
262
262
  loadVault,
263
263
  verifyBackupIntegrity
264
264
  };
265
- //# sourceMappingURL=backup-K62BFMYK.js.map
265
+ //# sourceMappingURL=backup-FSC36VWC.js.map
@@ -16,7 +16,7 @@ import {
16
16
  detectMimeType,
17
17
  isPreCompressed,
18
18
  memoryBlobPinStore
19
- } from "../chunk-IOURTXTM.js";
19
+ } from "../chunk-JLYQQNY4.js";
20
20
  import {
21
21
  BLOB_EVICTION_AUDIT_COLLECTION,
22
22
  EXPORT_AUDIT_COLLECTION,
@@ -24,21 +24,21 @@ import {
24
24
  NO_BLOBS,
25
25
  createExportBlobsHandle,
26
26
  runCompaction
27
- } from "../chunk-MQXYR65M.js";
28
- import "../chunk-KDX6VEYV.js";
29
- import "../chunk-HTMQBBF3.js";
30
- import "../chunk-47ZFULEZ.js";
31
- import "../chunk-D5UDZANO.js";
32
- import "../chunk-ZVAFJQZB.js";
33
- import "../chunk-OQLYMBJI.js";
34
- import "../chunk-DJ23QZIN.js";
35
- import "../chunk-SFD2LL7G.js";
27
+ } from "../chunk-4OQZNXQG.js";
28
+ import "../chunk-JNMTN5D5.js";
29
+ import "../chunk-NW4TY6VC.js";
30
+ import "../chunk-PPCOKVFA.js";
31
+ import "../chunk-OHOKBMTM.js";
32
+ import "../chunk-PENPHA45.js";
33
+ import "../chunk-GQXFOAYZ.js";
34
+ import "../chunk-KV6JM2IA.js";
35
+ import "../chunk-TMBSPLUG.js";
36
36
  import "../chunk-LP7BEXCT.js";
37
- import "../chunk-VJ4B3ZXY.js";
38
- import "../chunk-3Y4OFWQJ.js";
37
+ import "../chunk-AU3AUJIZ.js";
38
+ import "../chunk-IGNJOJEP.js";
39
39
  import {
40
40
  BlobOfflineError
41
- } from "../chunk-P7L3OQLL.js";
41
+ } from "../chunk-CWM4GQD2.js";
42
42
  import "../chunk-PZ5AY32C.js";
43
43
 
44
44
  // src/via/blob/active.ts
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  NO_BROKER
3
- } from "../chunk-KM6YR5XF.js";
3
+ } from "../chunk-OIBEJN5H.js";
4
4
  import {
5
5
  issueChallenge,
6
6
  verifyBrokerProof
7
- } from "../chunk-D5UDZANO.js";
8
- import "../chunk-ZVAFJQZB.js";
9
- import "../chunk-OQLYMBJI.js";
10
- import "../chunk-DJ23QZIN.js";
11
- import "../chunk-SFD2LL7G.js";
7
+ } from "../chunk-OHOKBMTM.js";
8
+ import "../chunk-PENPHA45.js";
9
+ import "../chunk-GQXFOAYZ.js";
10
+ import "../chunk-KV6JM2IA.js";
11
+ import "../chunk-TMBSPLUG.js";
12
12
  import "../chunk-LP7BEXCT.js";
13
- import "../chunk-VJ4B3ZXY.js";
14
- import "../chunk-3Y4OFWQJ.js";
13
+ import "../chunk-AU3AUJIZ.js";
14
+ import "../chunk-IGNJOJEP.js";
15
15
  import {
16
16
  BrokerEnrolmentError,
17
17
  BrokerNotEnabledError,
18
18
  BrokerProofError
19
- } from "../chunk-P7L3OQLL.js";
19
+ } from "../chunk-CWM4GQD2.js";
20
20
  import "../chunk-PZ5AY32C.js";
21
21
 
22
22
  // src/with-party/broker/active.ts
@@ -30,7 +30,7 @@ function withBroker(config) {
30
30
  const cache = /* @__PURE__ */ new Map();
31
31
  return {
32
32
  async enroll(ctx) {
33
- const { enrollSeed } = await import("../seed-SGIF3EN4.js");
33
+ const { enrollSeed } = await import("../seed-DZ4ORU5N.js");
34
34
  return enrollSeed({ ...ctx, config });
35
35
  },
36
36
  async rotate(ctx) {
@@ -39,7 +39,7 @@ function withBroker(config) {
39
39
  const inFlight = scoped.map(([, e]) => e.inFlight).filter((p) => p !== void 0);
40
40
  await Promise.allSettled(inFlight);
41
41
  for (const [key] of scoped) cache.delete(key);
42
- const { rotateSeed } = await import("../seed-SGIF3EN4.js");
42
+ const { rotateSeed } = await import("../seed-DZ4ORU5N.js");
43
43
  return rotateSeed({ ...ctx, config });
44
44
  },
45
45
  credentialSource(ctx, profile) {
@@ -56,7 +56,7 @@ function withBroker(config) {
56
56
  const skewMs = config.skewMs ?? DEFAULT_SKEW_MS;
57
57
  const capturedEntry = entry;
58
58
  const inFlight = (async () => {
59
- const { mintStoreCredentials } = await import("../seed-SGIF3EN4.js");
59
+ const { mintStoreCredentials } = await import("../seed-DZ4ORU5N.js");
60
60
  const creds = await mintStoreCredentials({ ...ctx, config }, profile);
61
61
  capturedEntry.cached = { creds, validUntil: cacheFloor(creds, skewMs) };
62
62
  return creds;
@@ -6,67 +6,67 @@ import {
6
6
  diffVault,
7
7
  unsealDeks,
8
8
  withCargo
9
- } from "../chunk-RQY5UWEL.js";
9
+ } from "../chunk-E5SC6ENM.js";
10
10
  import {
11
11
  extractPartition,
12
12
  walkClosure
13
- } from "../chunk-CV7WXCZD.js";
13
+ } from "../chunk-BAHOV5I5.js";
14
14
  import {
15
15
  createDeedOwner,
16
16
  isDeedVault,
17
17
  liberateVault,
18
18
  loadDeedMarker
19
- } from "../chunk-PNAIDIP7.js";
20
- import "../chunk-TC6MBEGH.js";
21
- import "../chunk-ZPMXYPBR.js";
19
+ } from "../chunk-HQSPF5IY.js";
20
+ import "../chunk-5Q7AJ7DN.js";
21
+ import "../chunk-GBBDFE6C.js";
22
22
  import {
23
23
  NO_CARGO,
24
24
  isQuorum,
25
25
  runDrainBarrier
26
- } from "../chunk-A3NTKHDB.js";
27
- import "../chunk-NRNTXBHT.js";
28
- import "../chunk-YVTADFTC.js";
26
+ } from "../chunk-FS7NTGCJ.js";
27
+ import "../chunk-OTHHO3KI.js";
28
+ import "../chunk-6WO62AJW.js";
29
29
  import {
30
30
  CustodyApi
31
- } from "../chunk-XGQGWZ6D.js";
32
- import "../chunk-2IK6AC6A.js";
33
- import "../chunk-DYASJSKI.js";
31
+ } from "../chunk-AUPSEJ7O.js";
32
+ import "../chunk-QSIEL6TL.js";
33
+ import "../chunk-S56VYR4Q.js";
34
34
  import {
35
35
  fuseRetrieval
36
36
  } from "../chunk-AURFOK3D.js";
37
- import "../chunk-IOURTXTM.js";
37
+ import "../chunk-JLYQQNY4.js";
38
38
  import {
39
39
  groupAndReduce,
40
40
  reduceRecords
41
- } from "../chunk-A4K5GLE6.js";
41
+ } from "../chunk-B6IYATME.js";
42
42
  import "../chunk-XZHEOSQ2.js";
43
43
  import "../chunk-CADUYBQD.js";
44
44
  import {
45
45
  readPath
46
46
  } from "../chunk-IGJCYUT5.js";
47
- import "../chunk-437FDIHO.js";
48
- import "../chunk-KDX6VEYV.js";
49
- import "../chunk-RKDH6L53.js";
50
- import "../chunk-JHO6FGZX.js";
51
- import "../chunk-HTMQBBF3.js";
47
+ import "../chunk-WVE6YKMX.js";
48
+ import "../chunk-JNMTN5D5.js";
49
+ import "../chunk-CAGI4LLJ.js";
50
+ import "../chunk-LX46B56Q.js";
51
+ import "../chunk-NW4TY6VC.js";
52
52
  import {
53
53
  generateULID
54
54
  } from "../chunk-4AOERLTV.js";
55
55
  import "../chunk-SVLR4POP.js";
56
- import "../chunk-MNUTPZRQ.js";
56
+ import "../chunk-4A34KWOU.js";
57
57
  import "../chunk-I7FD46FF.js";
58
- import "../chunk-RNSC2ARR.js";
59
- import "../chunk-47ZFULEZ.js";
60
- import "../chunk-D5UDZANO.js";
61
- import "../chunk-ZVAFJQZB.js";
62
- import "../chunk-OQLYMBJI.js";
63
- import "../chunk-DJ23QZIN.js";
64
- import "../chunk-SFD2LL7G.js";
58
+ import "../chunk-ZLHHE5XZ.js";
59
+ import "../chunk-PPCOKVFA.js";
60
+ import "../chunk-OHOKBMTM.js";
61
+ import "../chunk-PENPHA45.js";
62
+ import "../chunk-GQXFOAYZ.js";
63
+ import "../chunk-KV6JM2IA.js";
64
+ import "../chunk-TMBSPLUG.js";
65
65
  import "../chunk-LP7BEXCT.js";
66
66
  import {
67
67
  sha256Hex
68
- } from "../chunk-VJ4B3ZXY.js";
69
- import "../chunk-3Y4OFWQJ.js";
68
+ } from "../chunk-AU3AUJIZ.js";
69
+ import "../chunk-IGNJOJEP.js";
70
70
  import {
71
71
  AdoptionStateError,
72
72
  CargoNotEnabledError,
@@ -81,7 +81,7 @@ import {
81
81
  UnknownShardError,
82
82
  ValidationError,
83
83
  VaultTemplateNotFoundError
84
- } from "../chunk-P7L3OQLL.js";
84
+ } from "../chunk-CWM4GQD2.js";
85
85
  import "../chunk-PZ5AY32C.js";
86
86
  export {
87
87
  AdoptionStateError,
@@ -6,7 +6,7 @@ import {
6
6
  ConflictError,
7
7
  InvariantError,
8
8
  ValidationError
9
- } from "./chunk-P7L3OQLL.js";
9
+ } from "./chunk-CWM4GQD2.js";
10
10
 
11
11
  // src/with-commit/tx/atomic-eligibility.ts
12
12
  function canCommitAtomically(db, ctx) {
@@ -270,7 +270,7 @@ async function runTransaction(db, fn, options, txInvariants) {
270
270
  db._clearActiveTxContext(ctx);
271
271
  }
272
272
  if (ctx._amendment) {
273
- const { GuardExecutor } = await import("./executor-LJSMZ4IB.js");
273
+ const { GuardExecutor } = await import("./executor-DVJAWN3B.js");
274
274
  try {
275
275
  for (const [vaultName, v] of ctx._amendmentVaults) {
276
276
  const registry = v._getGuardRegistry();
@@ -447,4 +447,4 @@ export {
447
447
  TxCollection,
448
448
  runTransaction
449
449
  };
450
- //# sourceMappingURL=chunk-GT72D4FO.js.map
450
+ //# sourceMappingURL=chunk-2LFOMUEA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  OverlayIdMismatchError
3
- } from "./chunk-P7L3OQLL.js";
3
+ } from "./chunk-CWM4GQD2.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-W6NFONOV.js.map
209
+ //# sourceMappingURL=chunk-32B7VCKU.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  linkI18nVia
3
- } from "./chunk-437FDIHO.js";
3
+ } from "./chunk-WVE6YKMX.js";
4
4
 
5
5
  // src/via/i18n/dictionary.ts
6
6
  function dictKey(name, keysOrMap, opts) {
@@ -71,4 +71,4 @@ export {
71
71
  dictKey,
72
72
  staticDict
73
73
  };
74
- //# sourceMappingURL=chunk-PG6PFMDC.js.map
74
+ //# sourceMappingURL=chunk-3B6S6RSI.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildRecordEnvelope
3
- } from "./chunk-ZVAFJQZB.js";
3
+ } from "./chunk-PENPHA45.js";
4
4
 
5
5
  // src/with-party/policy/storage.ts
6
6
  var META_COLLECTION = "_meta";
@@ -36,4 +36,4 @@ export {
36
36
  loadVaultPolicy,
37
37
  saveVaultPolicy
38
38
  };
39
- //# sourceMappingURL=chunk-DKYEVHZH.js.map
39
+ //# sourceMappingURL=chunk-3ENNPCIW.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  sha256Hex
3
- } from "./chunk-VJ4B3ZXY.js";
3
+ } from "./chunk-AU3AUJIZ.js";
4
4
  import {
5
5
  MaterializedViewSourceUnknownError
6
- } from "./chunk-P7L3OQLL.js";
6
+ } from "./chunk-CWM4GQD2.js";
7
7
 
8
8
  // src/with-formula/materialized-views/dependency-analyzer.ts
9
9
  function analyzeDependencies(query) {
@@ -366,4 +366,4 @@ export {
366
366
  MaterializedViewRegistry,
367
367
  wrapDbWithPredicates
368
368
  };
369
- //# sourceMappingURL=chunk-5J5TTSGW.js.map
369
+ //# sourceMappingURL=chunk-3O72ZD2E.js.map
@@ -2,7 +2,7 @@ import {
2
2
  OverlayBaseIsVirtualError,
3
3
  OverlayCollectionUnavailableError,
4
4
  OverlayNameCollisionError
5
- } from "./chunk-P7L3OQLL.js";
5
+ } from "./chunk-CWM4GQD2.js";
6
6
 
7
7
  // src/with-formula/overlay-views/registry.ts
8
8
  var OverlayedViewRegistry = class {
@@ -68,4 +68,4 @@ var OverlayedViewRegistry = class {
68
68
  export {
69
69
  OverlayedViewRegistry
70
70
  };
71
- //# sourceMappingURL=chunk-WKD5ESK4.js.map
71
+ //# sourceMappingURL=chunk-3PMFMUFX.js.map
@@ -2,20 +2,22 @@ import {
2
2
  assertKeyringNotExpired,
3
3
  grant,
4
4
  loadKeyring,
5
+ quarantineKeyring,
5
6
  readKeyringFile,
6
7
  resolveEchoReveal,
7
8
  revoke,
8
9
  rotateKeys,
9
10
  verifyPrompt,
11
+ verifyRoster,
10
12
  verifyTypedEcho
11
- } from "./chunk-RKDH6L53.js";
13
+ } from "./chunk-CAGI4LLJ.js";
12
14
  import {
13
15
  NoAccessError,
14
16
  NoydbError,
15
17
  ValidationError,
16
18
  WrongEchoError,
17
19
  WrongPromptError
18
- } from "./chunk-P7L3OQLL.js";
20
+ } from "./chunk-CWM4GQD2.js";
19
21
 
20
22
  // src/with-party/team/echo-ceremony.ts
21
23
  async function beginEchoUnlock(store, vault, opts) {
@@ -105,6 +107,12 @@ function withTeam() {
105
107
  },
106
108
  async rotate(team, vault, collections) {
107
109
  return team.runRotate(rotateKeys, vault, collections);
110
+ },
111
+ async verifyRoster(team, vault) {
112
+ return team.runVerifyRoster(verifyRoster, vault);
113
+ },
114
+ async quarantineKeyring(team, vault, userId, factors) {
115
+ return team.runQuarantine(quarantineKeyring, vault, userId, factors);
108
116
  }
109
117
  };
110
118
  }
@@ -114,4 +122,4 @@ export {
114
122
  MemoryDeviceSealProvider,
115
123
  withTeam
116
124
  };
117
- //# sourceMappingURL=chunk-VEX2BQVX.js.map
125
+ //# sourceMappingURL=chunk-45YHJ3GV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/with-party/team/echo-ceremony.ts","../src/with-party/team/device-seal.ts","../src/with-party/team/active.ts"],"sourcesContent":["/**\n * `beginEchoUnlock` — the interactive ceremony API (spec\n * design-history/2026-08-02-echo-secret-design.md, #940, Task 6).\n *\n * Split out of `echo-secret.ts` (which owns only the block builders +\n * verifiers) because this module orchestrates BOTH `echo-secret.ts`\n * (`verifyPrompt`/`resolveEchoReveal`/`verifyTypedEcho`) AND `keyring.ts`\n * (`loadKeyring`) — and `keyring.ts` itself imports `buildEchoBlock` from\n * `echo-secret.ts`. Keeping the ceremony here instead of inside\n * `echo-secret.ts` yields a clean DAG (`echo-ceremony.ts` → {`echo-secret.ts`,\n * `keyring.ts`}; `keyring.ts` → `echo-secret.ts`) instead of a two-file\n * cycle, and restores `echo-secret.ts`'s documented charter (builders +\n * verifiers only).\n *\n * @module\n */\n\nimport type { NoydbStore } from '../../kernel/types.js'\nimport type { DeviceSealProvider } from './device-seal.js'\nimport { WrongPromptError, WrongEchoError, ValidationError, NoAccessError } from '../../kernel/errors.js'\nimport { verifyPrompt, resolveEchoReveal, verifyTypedEcho } from './echo-secret.js'\nimport { loadKeyring, readKeyringFile, assertKeyringNotExpired, type UnlockedKeyring } from './keyring.js'\n\n/** Options for {@link beginEchoUnlock}. */\nexport interface BeginEchoUnlockOptions {\n readonly userId: string\n readonly prompt: string\n readonly deviceSeal?: DeviceSealProvider\n}\n\n/**\n * A prompt-verified, in-progress echo unlock. Stateless w.r.t. attempts —\n * `complete()` may be called more than once (e.g. retry after a wrong key).\n */\nexport interface EchoCeremony {\n /**\n * Echo to display for owner recognition; null ⇒ degraded: ask the owner to\n * TYPE it.\n *\n * Conforming-player contract (spec\n * design-history/2026-08-02-echo-secret-design.md, \"Ceremony\"):\n * when the owner does NOT recognize the revealed echo, the player MUST show\n * a hard phishing warning — do not continue, open the official app, rotate\n * the secret immediately — MUST NOT offer any skip or\n * \"verification unavailable\" fallback, and MUST simply abandon the ceremony\n * by never calling {@link EchoCeremony.complete}. The kernel cannot enforce\n * this terminal state; it is the player's obligation.\n */\n readonly reveal: string | null\n readonly maskHint: string | undefined\n /** Complete the ceremony. `echo` is REQUIRED when `reveal` is null. */\n complete(input: { readonly echo?: string; readonly key: string }): Promise<UnlockedKeyring>\n}\n\n/**\n * Begin the interactive anti-phishing unlock ceremony (spec decision 4):\n * prompt → echo reveal → key. Fetches and parses the `_keyring/{userId}`\n * row (same store path as `loadKeyring`), verifies the prompt, and resolves\n * the echo for display (or degrades to the typed-echo path when the reveal\n * cannot be resolved — sealed reveal under a foreign device).\n *\n * Conforming-player contract (spec\n * design-history/2026-08-02-echo-secret-design.md): an owner who does\n * not recognize `ceremony.reveal` is looking at a phish. The player MUST then\n * show a hard warning (stop, open the official app, rotate the secret now),\n * MUST NOT offer a skip / \"verification unavailable\" fallback or any\n * single-field secret entry, and MUST abandon the ceremony without calling\n * `complete()`.\n *\n * @throws NoAccessError when no keyring exists for `userId` (mirrors\n * `loadKeyring`'s missing-row error).\n * @throws KeyringExpiredError when the slot is past its `expires_at` —\n * checked before the prompt is verified, so an expired slot never reveals.\n * @throws ValidationError when the keyring is not an echo keyring.\n * @throws WrongPromptError when the prompt fails its verifier.\n */\nexport async function beginEchoUnlock(\n store: NoydbStore,\n vault: string,\n opts: BeginEchoUnlockOptions,\n): Promise<EchoCeremony> {\n const { userId, prompt, deviceSeal } = opts\n\n // Same store path + missing-row error as loadKeyring, now shared via\n // `readKeyringFile` (#951).\n const found = await readKeyringFile(store, vault, userId)\n if (!found) {\n throw new NoAccessError(`No keyring found for user \"${userId}\" in vault \"${vault}\"`)\n }\n const { file: keyringFile } = found\n\n // Same expiry gate as loadKeyring, applied BEFORE the prompt is verified so\n // an expired slot never reveals its echo (and leaks no timing on the\n // prompt). Now shared via `assertKeyringNotExpired` (#951).\n assertKeyringNotExpired(keyringFile)\n\n const block = keyringFile.echo\n if (block === undefined) {\n throw new ValidationError('not an echo keyring')\n }\n\n if (!(await verifyPrompt(block, prompt))) {\n throw new WrongPromptError()\n }\n\n const reveal = await resolveEchoReveal(block, prompt, deviceSeal)\n\n return {\n reveal,\n maskHint: block.mask_hint,\n async complete(input: { readonly echo?: string; readonly key: string }): Promise<UnlockedKeyring> {\n let echo: string\n if (reveal !== null) {\n // A supplied input.echo must agree with the revealed echo — defensive:\n // a player that collects a typed echo despite a reveal must not\n // silently unlock with a mismatched pair.\n if (input.echo !== undefined && input.echo !== reveal) {\n throw new WrongEchoError()\n }\n echo = reveal\n } else {\n if (input.echo === undefined) {\n throw new ValidationError('beginEchoUnlock: echo is required to complete a degraded (typed-echo) ceremony.')\n }\n if (!(await verifyTypedEcho(block, input.echo))) {\n throw new WrongEchoError()\n }\n echo = input.echo\n }\n return loadKeyring(store, vault, { userId, secret: { prompt, echo, key: input.key } })\n },\n }\n}\n","import { NoydbError } from '../../kernel/errors.js'\nimport type { DeviceSealProvider } from '../../port/with/device-seal-strategy.js'\n\n/**\n * Device-local sealer for the echo reveal-blob (spec decision 5).\n * DISTINCT from `SealingKeyProvider` (managed-secret mode, which seals\n * the WHOLE secret): this seals only the echo part, and only so an\n * enrolled device can display it during the unlock ceremony. The\n * sealed bytes may sit in the (untrusted) keyring file — attacker-B\n * resistance comes from `unseal` requiring this device's key store.\n *\n * The interface itself is declared on the `/with` port\n * ({@link DeviceSealProvider} from `port/with/device-seal-strategy.js`)\n * so the kernel spine can reference it without a static spine→service\n * import; re-exported here as the canonical consumer-facing home.\n */\nexport type { DeviceSealProvider }\n\n/** In-memory test provider — AES-GCM under a per-instance random key. */\nexport class MemoryDeviceSealProvider implements DeviceSealProvider {\n readonly id: string\n private readonly keyPromise: Promise<CryptoKey>\n constructor(opts: { id: string }) {\n this.id = opts.id\n this.keyPromise = globalThis.crypto.subtle.generateKey({ name: 'AES-GCM', length: 256 }, false, [\n 'encrypt',\n 'decrypt',\n ])\n }\n async seal(plain: Uint8Array): Promise<Uint8Array> {\n const iv = globalThis.crypto.getRandomValues(new Uint8Array(12))\n const ct = new Uint8Array(\n await globalThis.crypto.subtle.encrypt({ name: 'AES-GCM', iv }, await this.keyPromise, plain as BufferSource),\n )\n const out = new Uint8Array(12 + ct.length)\n out.set(iv, 0)\n out.set(ct, 12)\n return out\n }\n async unseal(sealed: Uint8Array): Promise<Uint8Array> {\n try {\n return new Uint8Array(\n await globalThis.crypto.subtle.decrypt(\n { name: 'AES-GCM', iv: sealed.slice(0, 12) },\n await this.keyPromise,\n sealed.slice(12) as BufferSource,\n ),\n )\n } catch {\n throw new NoydbError('DEVICE_SEAL_UNSEAL_FAILED', 'Device seal: unseal failed (tamper or wrong device).')\n }\n }\n}\n","/**\n * Enable the multi-user team capability (#267 Track A tail).\n *\n * Pass to `createNoydb({ teamStrategy: withTeam() })` to make `db.grant` /\n * `db.revoke` / `db.rotate` live. The keyring grant/revoke/rotate engines\n * are statically imported HERE — this module is reachable only through the\n * `@noy-db/hub/team` subpath (and the root barrel's tree-shakeable\n * re-export), so a single-user floor bundle never carries them. The facade\n * (`TeamFacade.runGrant` / `runRevoke` / `runRotate`) owns the policy-gate +\n * keyring plumbing and receives the engine as an argument.\n */\nimport type { TeamStrategy } from './strategy.js'\nimport { grant as grantEngine, revoke as revokeEngine, rotateKeys as rotateEngine } from './keyring.js'\n\nexport function withTeam(): TeamStrategy {\n return {\n async grant(team, vault, options, factors) {\n return team.runGrant(grantEngine, vault, options, factors)\n },\n async revoke(team, vault, options, factors) {\n return team.runRevoke(revokeEngine, vault, options, factors)\n },\n async rotate(team, vault, collections) {\n return team.runRotate(rotateEngine, vault, collections)\n },\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/with-party/team/echo-ceremony.ts","../src/with-party/team/device-seal.ts","../src/with-party/team/active.ts"],"sourcesContent":["/**\n * `beginEchoUnlock` — the interactive ceremony API (spec\n * design-history/2026-08-02-echo-secret-design.md, #940, Task 6).\n *\n * Split out of `echo-secret.ts` (which owns only the block builders +\n * verifiers) because this module orchestrates BOTH `echo-secret.ts`\n * (`verifyPrompt`/`resolveEchoReveal`/`verifyTypedEcho`) AND `keyring.ts`\n * (`loadKeyring`) — and `keyring.ts` itself imports `buildEchoBlock` from\n * `echo-secret.ts`. Keeping the ceremony here instead of inside\n * `echo-secret.ts` yields a clean DAG (`echo-ceremony.ts` → {`echo-secret.ts`,\n * `keyring.ts`}; `keyring.ts` → `echo-secret.ts`) instead of a two-file\n * cycle, and restores `echo-secret.ts`'s documented charter (builders +\n * verifiers only).\n *\n * @module\n */\n\nimport type { NoydbStore } from '../../kernel/types.js'\nimport type { DeviceSealProvider } from './device-seal.js'\nimport { WrongPromptError, WrongEchoError, ValidationError, NoAccessError } from '../../kernel/errors.js'\nimport { verifyPrompt, resolveEchoReveal, verifyTypedEcho } from './echo-secret.js'\nimport { loadKeyring, readKeyringFile, assertKeyringNotExpired, type UnlockedKeyring } from './keyring.js'\n\n/** Options for {@link beginEchoUnlock}. */\nexport interface BeginEchoUnlockOptions {\n readonly userId: string\n readonly prompt: string\n readonly deviceSeal?: DeviceSealProvider\n}\n\n/**\n * A prompt-verified, in-progress echo unlock. Stateless w.r.t. attempts —\n * `complete()` may be called more than once (e.g. retry after a wrong key).\n */\nexport interface EchoCeremony {\n /**\n * Echo to display for owner recognition; null ⇒ degraded: ask the owner to\n * TYPE it.\n *\n * Conforming-player contract (spec\n * design-history/2026-08-02-echo-secret-design.md, \"Ceremony\"):\n * when the owner does NOT recognize the revealed echo, the player MUST show\n * a hard phishing warning — do not continue, open the official app, rotate\n * the secret immediately — MUST NOT offer any skip or\n * \"verification unavailable\" fallback, and MUST simply abandon the ceremony\n * by never calling {@link EchoCeremony.complete}. The kernel cannot enforce\n * this terminal state; it is the player's obligation.\n */\n readonly reveal: string | null\n readonly maskHint: string | undefined\n /** Complete the ceremony. `echo` is REQUIRED when `reveal` is null. */\n complete(input: { readonly echo?: string; readonly key: string }): Promise<UnlockedKeyring>\n}\n\n/**\n * Begin the interactive anti-phishing unlock ceremony (spec decision 4):\n * prompt → echo reveal → key. Fetches and parses the `_keyring/{userId}`\n * row (same store path as `loadKeyring`), verifies the prompt, and resolves\n * the echo for display (or degrades to the typed-echo path when the reveal\n * cannot be resolved — sealed reveal under a foreign device).\n *\n * Conforming-player contract (spec\n * design-history/2026-08-02-echo-secret-design.md): an owner who does\n * not recognize `ceremony.reveal` is looking at a phish. The player MUST then\n * show a hard warning (stop, open the official app, rotate the secret now),\n * MUST NOT offer a skip / \"verification unavailable\" fallback or any\n * single-field secret entry, and MUST abandon the ceremony without calling\n * `complete()`.\n *\n * @throws NoAccessError when no keyring exists for `userId` (mirrors\n * `loadKeyring`'s missing-row error).\n * @throws KeyringExpiredError when the slot is past its `expires_at` —\n * checked before the prompt is verified, so an expired slot never reveals.\n * @throws ValidationError when the keyring is not an echo keyring.\n * @throws WrongPromptError when the prompt fails its verifier.\n */\nexport async function beginEchoUnlock(\n store: NoydbStore,\n vault: string,\n opts: BeginEchoUnlockOptions,\n): Promise<EchoCeremony> {\n const { userId, prompt, deviceSeal } = opts\n\n // Same store path + missing-row error as loadKeyring, now shared via\n // `readKeyringFile` (#951).\n const found = await readKeyringFile(store, vault, userId)\n if (!found) {\n throw new NoAccessError(`No keyring found for user \"${userId}\" in vault \"${vault}\"`)\n }\n const { file: keyringFile } = found\n\n // Same expiry gate as loadKeyring, applied BEFORE the prompt is verified so\n // an expired slot never reveals its echo (and leaks no timing on the\n // prompt). Now shared via `assertKeyringNotExpired` (#951).\n assertKeyringNotExpired(keyringFile)\n\n const block = keyringFile.echo\n if (block === undefined) {\n throw new ValidationError('not an echo keyring')\n }\n\n if (!(await verifyPrompt(block, prompt))) {\n throw new WrongPromptError()\n }\n\n const reveal = await resolveEchoReveal(block, prompt, deviceSeal)\n\n return {\n reveal,\n maskHint: block.mask_hint,\n async complete(input: { readonly echo?: string; readonly key: string }): Promise<UnlockedKeyring> {\n let echo: string\n if (reveal !== null) {\n // A supplied input.echo must agree with the revealed echo — defensive:\n // a player that collects a typed echo despite a reveal must not\n // silently unlock with a mismatched pair.\n if (input.echo !== undefined && input.echo !== reveal) {\n throw new WrongEchoError()\n }\n echo = reveal\n } else {\n if (input.echo === undefined) {\n throw new ValidationError('beginEchoUnlock: echo is required to complete a degraded (typed-echo) ceremony.')\n }\n if (!(await verifyTypedEcho(block, input.echo))) {\n throw new WrongEchoError()\n }\n echo = input.echo\n }\n return loadKeyring(store, vault, { userId, secret: { prompt, echo, key: input.key } })\n },\n }\n}\n","import { NoydbError } from '../../kernel/errors.js'\nimport type { DeviceSealProvider } from '../../port/with/device-seal-strategy.js'\n\n/**\n * Device-local sealer for the echo reveal-blob (spec decision 5).\n * DISTINCT from `SealingKeyProvider` (managed-secret mode, which seals\n * the WHOLE secret): this seals only the echo part, and only so an\n * enrolled device can display it during the unlock ceremony. The\n * sealed bytes may sit in the (untrusted) keyring file — attacker-B\n * resistance comes from `unseal` requiring this device's key store.\n *\n * The interface itself is declared on the `/with` port\n * ({@link DeviceSealProvider} from `port/with/device-seal-strategy.js`)\n * so the kernel spine can reference it without a static spine→service\n * import; re-exported here as the canonical consumer-facing home.\n */\nexport type { DeviceSealProvider }\n\n/** In-memory test provider — AES-GCM under a per-instance random key. */\nexport class MemoryDeviceSealProvider implements DeviceSealProvider {\n readonly id: string\n private readonly keyPromise: Promise<CryptoKey>\n constructor(opts: { id: string }) {\n this.id = opts.id\n this.keyPromise = globalThis.crypto.subtle.generateKey({ name: 'AES-GCM', length: 256 }, false, [\n 'encrypt',\n 'decrypt',\n ])\n }\n async seal(plain: Uint8Array): Promise<Uint8Array> {\n const iv = globalThis.crypto.getRandomValues(new Uint8Array(12))\n const ct = new Uint8Array(\n await globalThis.crypto.subtle.encrypt({ name: 'AES-GCM', iv }, await this.keyPromise, plain as BufferSource),\n )\n const out = new Uint8Array(12 + ct.length)\n out.set(iv, 0)\n out.set(ct, 12)\n return out\n }\n async unseal(sealed: Uint8Array): Promise<Uint8Array> {\n try {\n return new Uint8Array(\n await globalThis.crypto.subtle.decrypt(\n { name: 'AES-GCM', iv: sealed.slice(0, 12) },\n await this.keyPromise,\n sealed.slice(12) as BufferSource,\n ),\n )\n } catch {\n throw new NoydbError('DEVICE_SEAL_UNSEAL_FAILED', 'Device seal: unseal failed (tamper or wrong device).')\n }\n }\n}\n","/**\n * Enable the multi-user team capability (#267 Track A tail).\n *\n * Pass to `createNoydb({ teamStrategy: withTeam() })` to make `db.grant` /\n * `db.revoke` / `db.rotate` live. The keyring grant/revoke/rotate engines\n * are statically imported HERE — this module is reachable only through the\n * `@noy-db/hub/team` subpath (and the root barrel's tree-shakeable\n * re-export), so a single-user floor bundle never carries them. The facade\n * (`TeamFacade.runGrant` / `runRevoke` / `runRotate`) owns the policy-gate +\n * keyring plumbing and receives the engine as an argument.\n */\nimport type { TeamStrategy } from './strategy.js'\nimport { grant as grantEngine, revoke as revokeEngine, rotateKeys as rotateEngine, verifyRoster as verifyRosterEngine, quarantineKeyring as quarantineEngine } from './keyring.js'\n\nexport function withTeam(): TeamStrategy {\n return {\n async grant(team, vault, options, factors) {\n return team.runGrant(grantEngine, vault, options, factors)\n },\n async revoke(team, vault, options, factors) {\n return team.runRevoke(revokeEngine, vault, options, factors)\n },\n async rotate(team, vault, collections) {\n return team.runRotate(rotateEngine, vault, collections)\n },\n async verifyRoster(team, vault) {\n return team.runVerifyRoster(verifyRosterEngine, vault)\n },\n async quarantineKeyring(team, vault, userId, factors) {\n return team.runQuarantine(quarantineEngine, vault, userId, factors)\n },\n }\n}\n"],"mappings":"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","names":[]}
@@ -7,21 +7,21 @@ import {
7
7
  hashEntry,
8
8
  paddedIndex,
9
9
  sha256Hex
10
- } from "./chunk-RNSC2ARR.js";
10
+ } from "./chunk-ZLHHE5XZ.js";
11
11
  import {
12
12
  buildRecordAad,
13
13
  openEnvelopeJson
14
- } from "./chunk-D5UDZANO.js";
14
+ } from "./chunk-OHOKBMTM.js";
15
15
  import {
16
16
  buildRecordEnvelope
17
- } from "./chunk-ZVAFJQZB.js";
17
+ } from "./chunk-PENPHA45.js";
18
18
  import {
19
19
  encrypt
20
- } from "./chunk-VJ4B3ZXY.js";
20
+ } from "./chunk-AU3AUJIZ.js";
21
21
  import {
22
22
  LedgerContentionError,
23
23
  isConflictError
24
- } from "./chunk-P7L3OQLL.js";
24
+ } from "./chunk-CWM4GQD2.js";
25
25
 
26
26
  // src/with-commit/history/ledger/patch.ts
27
27
  function computePatch(prev, next) {
@@ -699,4 +699,4 @@ export {
699
699
  applyPatch,
700
700
  LedgerStore
701
701
  };
702
- //# sourceMappingURL=chunk-MNUTPZRQ.js.map
702
+ //# sourceMappingURL=chunk-4A34KWOU.js.map
@@ -7,27 +7,27 @@ import {
7
7
  PERIOD_FREEZES_COLLECTION,
8
8
  PERIOD_TARGET_PURGES_COLLECTION,
9
9
  periodExclusiveUpperBound
10
- } from "./chunk-HTHRCGWP.js";
10
+ } from "./chunk-A4TOGAUW.js";
11
11
  import {
12
12
  envelopeBodySize
13
- } from "./chunk-D5UDZANO.js";
13
+ } from "./chunk-OHOKBMTM.js";
14
14
  import {
15
15
  buildRecordEnvelope,
16
16
  isDeleteMarker,
17
17
  isTombstoneShape
18
- } from "./chunk-ZVAFJQZB.js";
18
+ } from "./chunk-PENPHA45.js";
19
19
  import {
20
20
  decrypt,
21
21
  derivePresenceKey,
22
22
  encrypt
23
- } from "./chunk-VJ4B3ZXY.js";
23
+ } from "./chunk-AU3AUJIZ.js";
24
24
  import {
25
25
  NOYDB_SYNC_VERSION
26
- } from "./chunk-3Y4OFWQJ.js";
26
+ } from "./chunk-IGNJOJEP.js";
27
27
  import {
28
28
  ValidationError,
29
29
  isConflictError
30
- } from "./chunk-P7L3OQLL.js";
30
+ } from "./chunk-CWM4GQD2.js";
31
31
 
32
32
  // src/with-sync/presence.ts
33
33
  var subtle = globalThis.crypto.subtle;
@@ -1213,4 +1213,4 @@ export {
1213
1213
  SyncEngine,
1214
1214
  SyncTransaction
1215
1215
  };
1216
- //# sourceMappingURL=chunk-32O2N2CH.js.map
1216
+ //# sourceMappingURL=chunk-4N5Q23KV.js.map