@noy-db/hub 0.4.0-pre.6 → 0.4.0-pre.8

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 (460) hide show
  1. package/README.md +1 -2
  2. package/dist/api-3NKVNZPM.js +20 -0
  3. package/dist/attestation/index.js +18 -18
  4. package/dist/{backup-USYSNCYM.js → backup-PTSVXDDW.js} +13 -13
  5. package/dist/blobs/index.js +13 -13
  6. package/dist/blobs/index.js.map +1 -1
  7. package/dist/broker/index.js +12 -12
  8. package/dist/cargo/index.js +31 -29
  9. package/dist/{chunk-5WLDZZ6S.js → chunk-35NMVJ7I.js} +3 -3
  10. package/dist/{chunk-ZGEFBDPR.js → chunk-3HUYRN24.js} +3 -3
  11. package/dist/chunk-3HUYRN24.js.map +1 -0
  12. package/dist/{chunk-NA374QG7.js → chunk-3XKESW5E.js} +3 -3
  13. package/dist/{chunk-MUPZ6IZX.js → chunk-4JQK3L4V.js} +2 -2
  14. package/dist/{chunk-Z4D3YGAB.js → chunk-4ZKNC6A6.js} +2 -2
  15. package/dist/{chunk-ONB627HU.js → chunk-55LX6FSX.js} +2 -2
  16. package/dist/{chunk-M7W2KYTL.js → chunk-56IIVAEO.js} +2 -2
  17. package/dist/{chunk-FHHYCBBP.js → chunk-5DRROK5W.js} +2 -2
  18. package/dist/{chunk-GTNRMJYH.js → chunk-5GQEU4DN.js} +2 -2
  19. package/dist/{chunk-XSOGLHGY.js → chunk-6L3DKWRY.js} +6 -6
  20. package/dist/chunk-6LJY7X5A.js +18 -0
  21. package/dist/chunk-6LJY7X5A.js.map +1 -0
  22. package/dist/{chunk-44Y3P5U6.js → chunk-6M2I3DKF.js} +2 -2
  23. package/dist/{chunk-HDF5R2K6.js → chunk-6R6Q3MRN.js} +7 -7
  24. package/dist/{chunk-ZUDAK436.js → chunk-6UBZ6I5Z.js} +2 -2
  25. package/dist/{chunk-SEU6QHH4.js → chunk-6ZNSB3H6.js} +5 -17
  26. package/dist/chunk-6ZNSB3H6.js.map +1 -0
  27. package/dist/{chunk-7U6AB7DZ.js → chunk-AKKRXT23.js} +2 -2
  28. package/dist/{chunk-2PDBYF2O.js → chunk-AT2JJEKJ.js} +4 -4
  29. package/dist/chunk-AT2JJEKJ.js.map +1 -0
  30. package/dist/{chunk-OWLZONGX.js → chunk-BLBAQRBM.js} +2 -2
  31. package/dist/{chunk-XONZGK6J.js → chunk-BN4HRYAZ.js} +2 -2
  32. package/dist/{chunk-QVGEVZ5F.js → chunk-BQ6DHN4I.js} +3 -3
  33. package/dist/{chunk-ZHMUFYZF.js → chunk-BXHMZ2XW.js} +8 -8
  34. package/dist/{chunk-LG2GUYRX.js → chunk-BYFXLDVV.js} +9 -9
  35. package/dist/{chunk-M4GO4ZJK.js → chunk-C25JXSOR.js} +137 -11
  36. package/dist/chunk-C25JXSOR.js.map +1 -0
  37. package/dist/{chunk-3TZUC4WS.js → chunk-CCDP6EPB.js} +13 -355
  38. package/dist/chunk-CCDP6EPB.js.map +1 -0
  39. package/dist/{chunk-QRHEAZ2Q.js → chunk-CUZLNGD5.js} +1 -1
  40. package/dist/{chunk-HXVRRJBD.js → chunk-DGBIHDVK.js} +5 -5
  41. package/dist/chunk-DSDXAKIP.js +50 -0
  42. package/dist/chunk-DSDXAKIP.js.map +1 -0
  43. package/dist/{chunk-JGOKAZNB.js → chunk-DZAF24PG.js} +5 -5
  44. package/dist/{chunk-NIKO2BBZ.js → chunk-DZFQVICS.js} +2 -2
  45. package/dist/chunk-DZFQVICS.js.map +1 -0
  46. package/dist/chunk-E23UGFVC.js +63 -0
  47. package/dist/chunk-E23UGFVC.js.map +1 -0
  48. package/dist/{chunk-YGMREQAK.js → chunk-EBKCYQ2D.js} +14 -14
  49. package/dist/chunk-EBKCYQ2D.js.map +1 -0
  50. package/dist/chunk-EIPVYUEP.js +654 -0
  51. package/dist/chunk-EIPVYUEP.js.map +1 -0
  52. package/dist/{chunk-TMR64XPL.js → chunk-EZNTORXE.js} +2 -2
  53. package/dist/{chunk-WCJJQV2D.js → chunk-FMNU7IUG.js} +3 -3
  54. package/dist/{chunk-H5GMROCB.js → chunk-FO6RNKKW.js} +8 -46
  55. package/dist/chunk-FO6RNKKW.js.map +1 -0
  56. package/dist/{chunk-YMUGBZN2.js → chunk-FQ5CHJR7.js} +1 -1
  57. package/dist/chunk-FQ5CHJR7.js.map +1 -0
  58. package/dist/{chunk-MQBFT2OT.js → chunk-FRMW23UK.js} +7 -7
  59. package/dist/chunk-FRMW23UK.js.map +1 -0
  60. package/dist/chunk-GJW4HX2O.js +1 -0
  61. package/dist/{chunk-JTIPVW4J.js → chunk-GP3UWP22.js} +4 -4
  62. package/dist/{chunk-DOZFU7OZ.js → chunk-GZACYEOB.js} +1 -1
  63. package/dist/chunk-GZACYEOB.js.map +1 -0
  64. package/dist/{chunk-XG7OZDOS.js → chunk-HFUAFR6B.js} +6 -6
  65. package/dist/{chunk-LN3MQFUE.js → chunk-IF6WNGAK.js} +9 -6
  66. package/dist/chunk-IF6WNGAK.js.map +1 -0
  67. package/dist/{chunk-ZX5FNWH7.js → chunk-IG6KUWBX.js} +2 -2
  68. package/dist/chunk-IG6KUWBX.js.map +1 -0
  69. package/dist/{chunk-VDTWFN2P.js → chunk-IMRB2C4O.js} +3 -3
  70. package/dist/{chunk-2BVW754E.js → chunk-ISRKW4YN.js} +3 -3
  71. package/dist/{chunk-P4NUJVWL.js → chunk-IXNCZTWA.js} +2 -2
  72. package/dist/{chunk-ZHZ4PET5.js → chunk-JIDLU57U.js} +3 -3
  73. package/dist/{chunk-V2R2VWER.js → chunk-JTR75MKH.js} +12 -12
  74. package/dist/{chunk-V2R2VWER.js.map → chunk-JTR75MKH.js.map} +1 -1
  75. package/dist/{chunk-PTT2NB46.js → chunk-JYJFGD2H.js} +2 -2
  76. package/dist/{chunk-XY6MNSAF.js → chunk-JYV4JJV2.js} +5 -5
  77. package/dist/{chunk-AZXEOEQK.js → chunk-KFRPNHWR.js} +4 -4
  78. package/dist/chunk-KFRPNHWR.js.map +1 -0
  79. package/dist/{chunk-ZDFU34XY.js → chunk-KPXM4WO6.js} +58 -54
  80. package/dist/chunk-KPXM4WO6.js.map +1 -0
  81. package/dist/{chunk-HA7P3BTB.js → chunk-KRCBZYTZ.js} +4 -4
  82. package/dist/{chunk-VNJMLOQS.js → chunk-KW42W6SV.js} +6 -6
  83. package/dist/{chunk-GQT6J4FJ.js → chunk-L3YYLT4E.js} +2 -2
  84. package/dist/chunk-L3YYLT4E.js.map +1 -0
  85. package/dist/{chunk-3GXDB3NQ.js → chunk-MANUDU7I.js} +6 -6
  86. package/dist/{chunk-YJ3TREAC.js → chunk-MHMLXJ3I.js} +2 -2
  87. package/dist/chunk-MHMLXJ3I.js.map +1 -0
  88. package/dist/{chunk-D4LAJ737.js → chunk-MSMJJB4J.js} +2 -2
  89. package/dist/chunk-MSMJJB4J.js.map +1 -0
  90. package/dist/{chunk-VQNJ7UZL.js → chunk-MTJLOC3Y.js} +1 -1
  91. package/dist/chunk-MTJLOC3Y.js.map +1 -0
  92. package/dist/{chunk-RM5EXCFF.js → chunk-MXUT7FTE.js} +2 -2
  93. package/dist/chunk-MXUT7FTE.js.map +1 -0
  94. package/dist/{chunk-IUATR5UE.js → chunk-N5PLUFH2.js} +5 -5
  95. package/dist/{chunk-C2V7AJO2.js → chunk-NEX7JCMO.js} +4 -4
  96. package/dist/{chunk-5HSSTOOG.js → chunk-NFZGZ4AK.js} +2 -2
  97. package/dist/{chunk-5ABOFAHN.js → chunk-NJ4DYYO5.js} +2 -2
  98. package/dist/chunk-NJ4DYYO5.js.map +1 -0
  99. package/dist/{chunk-2ZSC454H.js → chunk-NQSO4UAH.js} +8 -8
  100. package/dist/chunk-NQSO4UAH.js.map +1 -0
  101. package/dist/{chunk-GHEMAVTN.js → chunk-NYEFP7DY.js} +4 -4
  102. package/dist/chunk-NYEFP7DY.js.map +1 -0
  103. package/dist/{chunk-32467U5J.js → chunk-OBPVWOSQ.js} +4 -4
  104. package/dist/{chunk-6SSWOUUS.js → chunk-OLIWCCFM.js} +2 -5
  105. package/dist/{chunk-UNREYBZO.js → chunk-OLSARBZU.js} +2 -2
  106. package/dist/{chunk-LC7DSMHR.js → chunk-PTHKZWEH.js} +2 -14
  107. package/dist/{chunk-LC7DSMHR.js.map → chunk-PTHKZWEH.js.map} +1 -1
  108. package/dist/chunk-QADFHRQM.js +367 -0
  109. package/dist/chunk-QADFHRQM.js.map +1 -0
  110. package/dist/{chunk-7LP7FFJ2.js → chunk-QD46HPZG.js} +2 -2
  111. package/dist/{chunk-G4MFQXYX.js → chunk-QJNCB5SK.js} +2 -2
  112. package/dist/{chunk-6SYOHUHM.js → chunk-QZWTRENR.js} +2 -2
  113. package/dist/chunk-QZWTRENR.js.map +1 -0
  114. package/dist/{chunk-TSNRZSRC.js → chunk-RO5NM6UI.js} +2 -2
  115. package/dist/chunk-RO5NM6UI.js.map +1 -0
  116. package/dist/{chunk-MMVQ3SUO.js → chunk-RZPOZPZU.js} +8 -8
  117. package/dist/chunk-SGDPRCC4.js +1075 -0
  118. package/dist/chunk-SGDPRCC4.js.map +1 -0
  119. package/dist/{chunk-E7FSBI6I.js → chunk-SGQ4N5FS.js} +5 -5
  120. package/dist/{chunk-522MBPE5.js → chunk-SHEEBRZ4.js} +2 -2
  121. package/dist/{chunk-EPME33Y4.js → chunk-SHYIA73K.js} +6 -6
  122. package/dist/chunk-SKM35Y4Q.js +77 -0
  123. package/dist/chunk-SKM35Y4Q.js.map +1 -0
  124. package/dist/{chunk-MLCTPWSO.js → chunk-TE6LH6J2.js} +5 -5
  125. package/dist/chunk-TG634KCO.js +63 -0
  126. package/dist/chunk-TG634KCO.js.map +1 -0
  127. package/dist/{chunk-QVIZDLAR.js → chunk-TIVK6PRK.js} +9 -10
  128. package/dist/chunk-TIVK6PRK.js.map +1 -0
  129. package/dist/{chunk-EWPS35AR.js → chunk-TWS3S62A.js} +185 -333
  130. package/dist/chunk-TWS3S62A.js.map +1 -0
  131. package/dist/{chunk-JOCMXSR2.js → chunk-UADPR6F4.js} +3 -3
  132. package/dist/{chunk-SBOHNJUD.js → chunk-V6UQZA2H.js} +2 -2
  133. package/dist/chunk-VG2ZSFYD.js +32 -0
  134. package/dist/chunk-VG2ZSFYD.js.map +1 -0
  135. package/dist/{chunk-KCZAFDP5.js → chunk-VH6SOCXH.js} +2 -2
  136. package/dist/{chunk-4B3DL75F.js → chunk-W3G5REIU.js} +2 -2
  137. package/dist/{chunk-EGU4PWQW.js → chunk-W66AM5IB.js} +2 -2
  138. package/dist/chunk-W66AM5IB.js.map +1 -0
  139. package/dist/{chunk-MPPWL64H.js → chunk-WBKZUO5V.js} +3 -3
  140. package/dist/{chunk-WWBC4KLB.js → chunk-WO4T4OD5.js} +2 -2
  141. package/dist/{chunk-7IQWHYL2.js → chunk-WZ3NCMK6.js} +6 -5
  142. package/dist/{chunk-BAAUFCJK.js → chunk-X4MVWPHV.js} +3 -3
  143. package/dist/{chunk-HVPW6PCX.js → chunk-XIDQKFZF.js} +3 -3
  144. package/dist/chunk-Y2NBBT6K.js +18 -0
  145. package/dist/chunk-Y2NBBT6K.js.map +1 -0
  146. package/dist/{chunk-OWOT7CFC.js → chunk-Y6B6HVKC.js} +2 -2
  147. package/dist/{chunk-ICYC5YNI.js → chunk-Y6VZQGGH.js} +6 -6
  148. package/dist/{chunk-ZM72UO3Y.js → chunk-ZFUFAHZ3.js} +4 -4
  149. package/dist/{chunk-PWWWMRT7.js → chunk-ZTLOXFPB.js} +2 -2
  150. package/dist/chunk-ZTLOXFPB.js.map +1 -0
  151. package/dist/{walk-JXMWKKQW.js → chunk-ZWBKDKXC.js} +4 -13
  152. package/dist/{walk-JXMWKKQW.js.map → chunk-ZWBKDKXC.js.map} +1 -1
  153. package/dist/classified/index.js +5 -5
  154. package/dist/{classified-marker-SVDRXLD3.js → classified-marker-EOOSMWFC.js} +3 -3
  155. package/dist/collection-facade-TTRF5NFJ.js +45 -0
  156. package/dist/{computed-33DRJDOC.js → computed-AB45PS4V.js} +3 -3
  157. package/dist/consent/index.js +9 -9
  158. package/dist/{cover-ADBCTIKN.js → cover/index.js} +7 -6
  159. package/dist/custody/index.js +26 -0
  160. package/dist/{dead-filter-HKDMTMVY.js → dead-filter-6DYY7S64.js} +2 -2
  161. package/dist/{chunk-ZF572E2M.js → delegation-ONOZVPIP.js} +12 -6
  162. package/dist/{chunk-ZF572E2M.js.map → delegation-ONOZVPIP.js.map} +1 -1
  163. package/dist/derivations/index.js +12 -12
  164. package/dist/derive-IGGVSUPH.js +22 -0
  165. package/dist/directory/index.js +46 -0
  166. package/dist/{dispatch-SPMYNXNW.js → dispatch-7T45NN7C.js} +18 -18
  167. package/dist/{dispatch-V5MSMQYX.js → dispatch-RPTLK7LJ.js} +5 -5
  168. package/dist/{enclave-ZA7C3H2L.js → enclave-CLJVSDFG.js} +9 -9
  169. package/dist/executor-IEBLTBCW.js +9 -0
  170. package/dist/executor-RM7XWQDU.js +9 -0
  171. package/dist/executor-XZYM4KHT.js +28 -0
  172. package/dist/export-accessible-24XCCD3A.js +23 -0
  173. package/dist/extract-partition-H2TPEEOF.js +38 -0
  174. package/dist/{fanout-sidecar-HRMHC34B.js → fanout-sidecar-TV7CXAJ6.js} +9 -9
  175. package/dist/find-OZMTRIK3.js +11 -0
  176. package/dist/forget/index.js +11 -11
  177. package/dist/forget/index.js.map +1 -1
  178. package/dist/guards/index.js +4 -4
  179. package/dist/history/index.js +12 -12
  180. package/dist/i18n/index.js +14 -14
  181. package/dist/index.d.ts +16 -19
  182. package/dist/index.js +208 -1961
  183. package/dist/index.js.map +1 -1
  184. package/dist/indexing/index.js +2 -2
  185. package/dist/indexing/index.js.map +1 -1
  186. package/dist/introspection/index.js +28 -0
  187. package/dist/issue-55HJE7JF.js +19 -0
  188. package/dist/kernel/collection-config.d.ts +1 -1
  189. package/dist/kernel/collection.d.ts +2 -2
  190. package/dist/kernel/errors.d.ts +2 -2
  191. package/dist/kernel/noydb.d.ts +1 -1
  192. package/dist/kernel/sync-policy.d.ts +1 -1
  193. package/dist/kernel/types.d.ts +20 -20
  194. package/dist/kernel/vault.d.ts +10 -10
  195. package/dist/{ledger-K6JBFL3Z.js → ledger-XY6NP3J2.js} +11 -11
  196. package/dist/liberate-LXOJ2EMB.js +24 -0
  197. package/dist/{link-set-XVZY2ODC.js → link-set-POQB7BU5.js} +11 -11
  198. package/dist/materialized-views/index.js +19 -19
  199. package/dist/money/index.js +31 -0
  200. package/dist/noydb-FHZ4ZDBP.js +82 -0
  201. package/dist/overlay-views/index.js +4 -4
  202. package/dist/periods/index.js +13 -13
  203. package/dist/pod/index.js +11 -11
  204. package/dist/{policy-QWGJB7P7.js → policy/index.js} +6 -6
  205. package/dist/port/with/blob-strategy.d.ts +15 -5
  206. package/dist/port/with/strategies.d.ts +9 -9
  207. package/dist/portability/index.js +8 -8
  208. package/dist/{post-register-5VHHVFJY.js → post-register-URQANI3B.js} +6 -6
  209. package/dist/query/index.js +3 -3
  210. package/dist/reduce/index.js +4 -4
  211. package/dist/register-5W6CG4RM.js +25 -0
  212. package/dist/registry-7Y5WF7GS.js +9 -0
  213. package/dist/{registry-VW6P6A3J.js → registry-BWD2ED52.js} +2 -2
  214. package/dist/registry-MCSGBZXI.js +18 -0
  215. package/dist/registry-UJFP3NWF.js +19 -0
  216. package/dist/request-withdrawal-IWYDM4SO.js +31 -0
  217. package/dist/{reveal-7OOT5XPD.js → reveal-BXZGWIOP.js} +6 -6
  218. package/dist/revoke-TINYPHYY.js +24 -0
  219. package/dist/satellites/index.js +1 -1
  220. package/dist/schema-update/index.js +26 -0
  221. package/dist/schema-update/index.js.map +1 -0
  222. package/dist/sealed-record/index.js +12 -12
  223. package/dist/search/index.js +36 -0
  224. package/dist/search/index.js.map +1 -0
  225. package/dist/{seed-GVOI6QP6.js → seed-F7YYQTRC.js} +11 -11
  226. package/dist/sequence/index.js +30 -0
  227. package/dist/sequence/index.js.map +1 -0
  228. package/dist/session/index.js +9 -9
  229. package/dist/shadow/index.js +2 -2
  230. package/dist/signer-WMZKCNKC.js +25 -0
  231. package/dist/signer-WMZKCNKC.js.map +1 -0
  232. package/dist/snapshots/index.js +11 -11
  233. package/dist/snapshots/index.js.map +1 -1
  234. package/dist/{stale-BJO2WIN7.js → stale-JOE7GBAE.js} +10 -10
  235. package/dist/stale-JOE7GBAE.js.map +1 -0
  236. package/dist/storage-B3WBKXKT.js +23 -0
  237. package/dist/storage-B3WBKXKT.js.map +1 -0
  238. package/dist/store/index.js +22 -0
  239. package/dist/store/index.js.map +1 -0
  240. package/dist/{store-coordination-provider-DX5HECK3.js → store-coordination-provider-5LX2UFU2.js} +3 -3
  241. package/dist/sync/index.js +11 -11
  242. package/dist/team/index.js +29 -20
  243. package/dist/tiers/index.js +10 -10
  244. package/dist/to/index.js +1 -1
  245. package/dist/{tx → transactions}/index.js +3 -3
  246. package/dist/{tx → transactions}/index.js.map +1 -1
  247. package/dist/util/index.js +1 -1
  248. package/dist/{verify-5X37OXRY.js → verify-7XWHJWUN.js} +5 -5
  249. package/dist/via/blob/active.d.ts +7 -18
  250. package/dist/via/blob/binding.d.ts +1 -1
  251. package/dist/via/blob/index.d.ts +2 -2
  252. package/dist/walk-6OHAWGBS.js +21 -0
  253. package/dist/walk-6OHAWGBS.js.map +1 -0
  254. package/dist/with-audit/forget/active.d.ts +3 -3
  255. package/dist/with-audit/forget/index.d.ts +4 -4
  256. package/dist/with-audit/forget/strategy.d.ts +3 -3
  257. package/dist/with-audit/guards/executor.d.ts +4 -4
  258. package/dist/with-audit/guards/immutable-guard.d.ts +3 -3
  259. package/dist/with-audit/guards/index.d.ts +1 -1
  260. package/dist/with-audit/guards/registry.d.ts +3 -3
  261. package/dist/with-audit/guards/transition-guard.d.ts +3 -3
  262. package/dist/with-audit/guards/types.d.ts +10 -10
  263. package/dist/with-audit/guards/with-guard.d.ts +2 -2
  264. package/dist/with-commit/numbering/descriptor.d.ts +16 -6
  265. package/dist/with-commit/tx/active.d.ts +5 -5
  266. package/dist/with-commit/tx/index.d.ts +2 -2
  267. package/dist/with-commit/tx/invariants.d.ts +1 -1
  268. package/dist/with-commit/tx/strategy.d.ts +3 -3
  269. package/dist/with-fork/snapshots/active.d.ts +2 -2
  270. package/dist/with-fork/snapshots/index.d.ts +1 -1
  271. package/dist/with-fork/snapshots/noydb-facade.d.ts +3 -3
  272. package/dist/with-fork/snapshots/strategy.d.ts +2 -2
  273. package/dist/with-formula/derivations/executor.d.ts +2 -2
  274. package/dist/with-formula/derivations/index.d.ts +2 -1
  275. package/dist/with-formula/derivations/registry.d.ts +3 -3
  276. package/dist/with-formula/derivations/stale.d.ts +2 -2
  277. package/dist/with-formula/derivations/types.d.ts +3 -3
  278. package/dist/with-formula/derivations/with-derivation.d.ts +2 -2
  279. package/dist/with-formula/derivations/with-rollup.d.ts +15 -8
  280. package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +3 -3
  281. package/dist/with-formula/materialized-views/index.d.ts +1 -1
  282. package/dist/with-formula/materialized-views/registry.d.ts +4 -4
  283. package/dist/with-formula/materialized-views/types.d.ts +4 -4
  284. package/dist/with-formula/materialized-views/with-materialized-view.d.ts +2 -2
  285. package/dist/with-formula/overlay-views/index.d.ts +1 -1
  286. package/dist/with-formula/overlay-views/registry.d.ts +4 -4
  287. package/dist/with-formula/overlay-views/types.d.ts +3 -3
  288. package/dist/with-formula/overlay-views/virtual-collection.d.ts +2 -2
  289. package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +2 -2
  290. package/dist/with-lookup/indexing/active.d.ts +5 -5
  291. package/dist/with-lookup/indexing/index.d.ts +1 -1
  292. package/dist/with-lookup/indexing/strategy.d.ts +3 -3
  293. package/dist/with-lookup/search/build-docs.d.ts +7 -2
  294. package/dist/with-lookup/search/index.d.ts +1 -1
  295. package/dist/with-party/directory/cover/index.d.ts +1 -0
  296. package/dist/with-party/directory/index.d.ts +2 -0
  297. package/dist/with-party/team/index.d.ts +2 -0
  298. package/dist/with-party/team/keyring.d.ts +49 -20
  299. package/dist/with-party/team/noydb-facade.d.ts +2 -2
  300. package/dist/with-shape/blobs/blob-set.d.ts +1 -1
  301. package/dist/with-shape/introspection/index.d.ts +6 -0
  302. package/dist/with-shape/schema-update/index.d.ts +1 -0
  303. package/dist/with-store/index.d.ts +3 -2
  304. package/dist/with-store/route-store.d.ts +1 -1
  305. package/dist/withdraw-accessible-DEUCOO4F.js +28 -0
  306. package/dist/withdraw-accessible-DEUCOO4F.js.map +1 -0
  307. package/package.json +45 -5
  308. package/dist/api-5QVQX4HG.js +0 -20
  309. package/dist/chunk-2PDBYF2O.js.map +0 -1
  310. package/dist/chunk-2ZSC454H.js.map +0 -1
  311. package/dist/chunk-3S2YNMUS.js +0 -134
  312. package/dist/chunk-3S2YNMUS.js.map +0 -1
  313. package/dist/chunk-3TZUC4WS.js.map +0 -1
  314. package/dist/chunk-5ABOFAHN.js.map +0 -1
  315. package/dist/chunk-6SYOHUHM.js.map +0 -1
  316. package/dist/chunk-AZXEOEQK.js.map +0 -1
  317. package/dist/chunk-D4LAJ737.js.map +0 -1
  318. package/dist/chunk-DOZFU7OZ.js.map +0 -1
  319. package/dist/chunk-EGU4PWQW.js.map +0 -1
  320. package/dist/chunk-EWPS35AR.js.map +0 -1
  321. package/dist/chunk-GHEMAVTN.js.map +0 -1
  322. package/dist/chunk-GQT6J4FJ.js.map +0 -1
  323. package/dist/chunk-H5GMROCB.js.map +0 -1
  324. package/dist/chunk-LN3MQFUE.js.map +0 -1
  325. package/dist/chunk-M4GO4ZJK.js.map +0 -1
  326. package/dist/chunk-MQBFT2OT.js.map +0 -1
  327. package/dist/chunk-NIKO2BBZ.js.map +0 -1
  328. package/dist/chunk-PWWWMRT7.js.map +0 -1
  329. package/dist/chunk-QVIZDLAR.js.map +0 -1
  330. package/dist/chunk-RM5EXCFF.js.map +0 -1
  331. package/dist/chunk-SEU6QHH4.js.map +0 -1
  332. package/dist/chunk-TSNRZSRC.js.map +0 -1
  333. package/dist/chunk-VQNJ7UZL.js.map +0 -1
  334. package/dist/chunk-YGMREQAK.js.map +0 -1
  335. package/dist/chunk-YJ3TREAC.js.map +0 -1
  336. package/dist/chunk-YMUGBZN2.js.map +0 -1
  337. package/dist/chunk-ZDFU34XY.js.map +0 -1
  338. package/dist/chunk-ZGEFBDPR.js.map +0 -1
  339. package/dist/chunk-ZX5FNWH7.js.map +0 -1
  340. package/dist/collection-facade-S5PPKZD5.js +0 -44
  341. package/dist/delegation-EV7LKJPH.js +0 -25
  342. package/dist/derive-5LDJW76F.js +0 -21
  343. package/dist/executor-FCJEH3FU.js +0 -9
  344. package/dist/executor-OHET7TF7.js +0 -9
  345. package/dist/executor-SVHAJZ4A.js +0 -28
  346. package/dist/export-accessible-S35YKIBL.js +0 -23
  347. package/dist/extract-partition-UVHAM5WZ.js +0 -38
  348. package/dist/find-LEBUXVL7.js +0 -11
  349. package/dist/issue-5X3SMCF4.js +0 -19
  350. package/dist/liberate-NHTCKBU4.js +0 -24
  351. package/dist/noydb-TI3RFU6M.js +0 -78
  352. package/dist/register-CEX7R7NE.js +0 -23
  353. package/dist/registry-7CZWF3EQ.js +0 -9
  354. package/dist/registry-DIKMRXUC.js +0 -19
  355. package/dist/registry-EWIB5NTI.js +0 -18
  356. package/dist/request-withdrawal-AAG57QO4.js +0 -31
  357. package/dist/revoke-U5LCIJMF.js +0 -24
  358. package/dist/signer-NAA2OX7H.js +0 -25
  359. package/dist/storage-FL7XXZTN.js +0 -23
  360. package/dist/withdraw-accessible-GO6KQJVM.js +0 -28
  361. /package/dist/{api-5QVQX4HG.js.map → api-3NKVNZPM.js.map} +0 -0
  362. /package/dist/{backup-USYSNCYM.js.map → backup-PTSVXDDW.js.map} +0 -0
  363. /package/dist/{chunk-5WLDZZ6S.js.map → chunk-35NMVJ7I.js.map} +0 -0
  364. /package/dist/{chunk-NA374QG7.js.map → chunk-3XKESW5E.js.map} +0 -0
  365. /package/dist/{chunk-MUPZ6IZX.js.map → chunk-4JQK3L4V.js.map} +0 -0
  366. /package/dist/{chunk-Z4D3YGAB.js.map → chunk-4ZKNC6A6.js.map} +0 -0
  367. /package/dist/{chunk-ONB627HU.js.map → chunk-55LX6FSX.js.map} +0 -0
  368. /package/dist/{chunk-M7W2KYTL.js.map → chunk-56IIVAEO.js.map} +0 -0
  369. /package/dist/{chunk-FHHYCBBP.js.map → chunk-5DRROK5W.js.map} +0 -0
  370. /package/dist/{chunk-GTNRMJYH.js.map → chunk-5GQEU4DN.js.map} +0 -0
  371. /package/dist/{chunk-XSOGLHGY.js.map → chunk-6L3DKWRY.js.map} +0 -0
  372. /package/dist/{chunk-44Y3P5U6.js.map → chunk-6M2I3DKF.js.map} +0 -0
  373. /package/dist/{chunk-HDF5R2K6.js.map → chunk-6R6Q3MRN.js.map} +0 -0
  374. /package/dist/{chunk-ZUDAK436.js.map → chunk-6UBZ6I5Z.js.map} +0 -0
  375. /package/dist/{chunk-7U6AB7DZ.js.map → chunk-AKKRXT23.js.map} +0 -0
  376. /package/dist/{chunk-OWLZONGX.js.map → chunk-BLBAQRBM.js.map} +0 -0
  377. /package/dist/{chunk-XONZGK6J.js.map → chunk-BN4HRYAZ.js.map} +0 -0
  378. /package/dist/{chunk-QVGEVZ5F.js.map → chunk-BQ6DHN4I.js.map} +0 -0
  379. /package/dist/{chunk-ZHMUFYZF.js.map → chunk-BXHMZ2XW.js.map} +0 -0
  380. /package/dist/{chunk-LG2GUYRX.js.map → chunk-BYFXLDVV.js.map} +0 -0
  381. /package/dist/{chunk-QRHEAZ2Q.js.map → chunk-CUZLNGD5.js.map} +0 -0
  382. /package/dist/{chunk-HXVRRJBD.js.map → chunk-DGBIHDVK.js.map} +0 -0
  383. /package/dist/{chunk-JGOKAZNB.js.map → chunk-DZAF24PG.js.map} +0 -0
  384. /package/dist/{chunk-TMR64XPL.js.map → chunk-EZNTORXE.js.map} +0 -0
  385. /package/dist/{chunk-WCJJQV2D.js.map → chunk-FMNU7IUG.js.map} +0 -0
  386. /package/dist/{collection-facade-S5PPKZD5.js.map → chunk-GJW4HX2O.js.map} +0 -0
  387. /package/dist/{chunk-JTIPVW4J.js.map → chunk-GP3UWP22.js.map} +0 -0
  388. /package/dist/{chunk-XG7OZDOS.js.map → chunk-HFUAFR6B.js.map} +0 -0
  389. /package/dist/{chunk-VDTWFN2P.js.map → chunk-IMRB2C4O.js.map} +0 -0
  390. /package/dist/{chunk-2BVW754E.js.map → chunk-ISRKW4YN.js.map} +0 -0
  391. /package/dist/{chunk-P4NUJVWL.js.map → chunk-IXNCZTWA.js.map} +0 -0
  392. /package/dist/{chunk-ZHZ4PET5.js.map → chunk-JIDLU57U.js.map} +0 -0
  393. /package/dist/{chunk-PTT2NB46.js.map → chunk-JYJFGD2H.js.map} +0 -0
  394. /package/dist/{chunk-XY6MNSAF.js.map → chunk-JYV4JJV2.js.map} +0 -0
  395. /package/dist/{chunk-HA7P3BTB.js.map → chunk-KRCBZYTZ.js.map} +0 -0
  396. /package/dist/{chunk-VNJMLOQS.js.map → chunk-KW42W6SV.js.map} +0 -0
  397. /package/dist/{chunk-3GXDB3NQ.js.map → chunk-MANUDU7I.js.map} +0 -0
  398. /package/dist/{chunk-IUATR5UE.js.map → chunk-N5PLUFH2.js.map} +0 -0
  399. /package/dist/{chunk-C2V7AJO2.js.map → chunk-NEX7JCMO.js.map} +0 -0
  400. /package/dist/{chunk-5HSSTOOG.js.map → chunk-NFZGZ4AK.js.map} +0 -0
  401. /package/dist/{chunk-32467U5J.js.map → chunk-OBPVWOSQ.js.map} +0 -0
  402. /package/dist/{chunk-6SSWOUUS.js.map → chunk-OLIWCCFM.js.map} +0 -0
  403. /package/dist/{chunk-UNREYBZO.js.map → chunk-OLSARBZU.js.map} +0 -0
  404. /package/dist/{chunk-7LP7FFJ2.js.map → chunk-QD46HPZG.js.map} +0 -0
  405. /package/dist/{chunk-G4MFQXYX.js.map → chunk-QJNCB5SK.js.map} +0 -0
  406. /package/dist/{chunk-MMVQ3SUO.js.map → chunk-RZPOZPZU.js.map} +0 -0
  407. /package/dist/{chunk-E7FSBI6I.js.map → chunk-SGQ4N5FS.js.map} +0 -0
  408. /package/dist/{chunk-522MBPE5.js.map → chunk-SHEEBRZ4.js.map} +0 -0
  409. /package/dist/{chunk-EPME33Y4.js.map → chunk-SHYIA73K.js.map} +0 -0
  410. /package/dist/{chunk-MLCTPWSO.js.map → chunk-TE6LH6J2.js.map} +0 -0
  411. /package/dist/{chunk-JOCMXSR2.js.map → chunk-UADPR6F4.js.map} +0 -0
  412. /package/dist/{chunk-SBOHNJUD.js.map → chunk-V6UQZA2H.js.map} +0 -0
  413. /package/dist/{chunk-KCZAFDP5.js.map → chunk-VH6SOCXH.js.map} +0 -0
  414. /package/dist/{chunk-4B3DL75F.js.map → chunk-W3G5REIU.js.map} +0 -0
  415. /package/dist/{chunk-MPPWL64H.js.map → chunk-WBKZUO5V.js.map} +0 -0
  416. /package/dist/{chunk-WWBC4KLB.js.map → chunk-WO4T4OD5.js.map} +0 -0
  417. /package/dist/{chunk-7IQWHYL2.js.map → chunk-WZ3NCMK6.js.map} +0 -0
  418. /package/dist/{chunk-BAAUFCJK.js.map → chunk-X4MVWPHV.js.map} +0 -0
  419. /package/dist/{chunk-HVPW6PCX.js.map → chunk-XIDQKFZF.js.map} +0 -0
  420. /package/dist/{chunk-OWOT7CFC.js.map → chunk-Y6B6HVKC.js.map} +0 -0
  421. /package/dist/{chunk-ICYC5YNI.js.map → chunk-Y6VZQGGH.js.map} +0 -0
  422. /package/dist/{chunk-ZM72UO3Y.js.map → chunk-ZFUFAHZ3.js.map} +0 -0
  423. /package/dist/{classified-marker-SVDRXLD3.js.map → classified-marker-EOOSMWFC.js.map} +0 -0
  424. /package/dist/{computed-33DRJDOC.js.map → collection-facade-TTRF5NFJ.js.map} +0 -0
  425. /package/dist/{cover-ADBCTIKN.js.map → computed-AB45PS4V.js.map} +0 -0
  426. /package/dist/{delegation-EV7LKJPH.js.map → cover/index.js.map} +0 -0
  427. /package/dist/{derive-5LDJW76F.js.map → custody/index.js.map} +0 -0
  428. /package/dist/{dead-filter-HKDMTMVY.js.map → dead-filter-6DYY7S64.js.map} +0 -0
  429. /package/dist/{enclave-ZA7C3H2L.js.map → derive-IGGVSUPH.js.map} +0 -0
  430. /package/dist/{executor-FCJEH3FU.js.map → directory/index.js.map} +0 -0
  431. /package/dist/{dispatch-SPMYNXNW.js.map → dispatch-7T45NN7C.js.map} +0 -0
  432. /package/dist/{dispatch-V5MSMQYX.js.map → dispatch-RPTLK7LJ.js.map} +0 -0
  433. /package/dist/{executor-OHET7TF7.js.map → enclave-CLJVSDFG.js.map} +0 -0
  434. /package/dist/{executor-SVHAJZ4A.js.map → executor-IEBLTBCW.js.map} +0 -0
  435. /package/dist/{export-accessible-S35YKIBL.js.map → executor-RM7XWQDU.js.map} +0 -0
  436. /package/dist/{extract-partition-UVHAM5WZ.js.map → executor-XZYM4KHT.js.map} +0 -0
  437. /package/dist/{find-LEBUXVL7.js.map → export-accessible-24XCCD3A.js.map} +0 -0
  438. /package/dist/{issue-5X3SMCF4.js.map → extract-partition-H2TPEEOF.js.map} +0 -0
  439. /package/dist/{fanout-sidecar-HRMHC34B.js.map → fanout-sidecar-TV7CXAJ6.js.map} +0 -0
  440. /package/dist/{ledger-K6JBFL3Z.js.map → find-OZMTRIK3.js.map} +0 -0
  441. /package/dist/{liberate-NHTCKBU4.js.map → introspection/index.js.map} +0 -0
  442. /package/dist/{link-set-XVZY2ODC.js.map → issue-55HJE7JF.js.map} +0 -0
  443. /package/dist/{noydb-TI3RFU6M.js.map → ledger-XY6NP3J2.js.map} +0 -0
  444. /package/dist/{policy-QWGJB7P7.js.map → liberate-LXOJ2EMB.js.map} +0 -0
  445. /package/dist/{register-CEX7R7NE.js.map → link-set-POQB7BU5.js.map} +0 -0
  446. /package/dist/{registry-7CZWF3EQ.js.map → money/index.js.map} +0 -0
  447. /package/dist/{registry-DIKMRXUC.js.map → noydb-FHZ4ZDBP.js.map} +0 -0
  448. /package/dist/{registry-EWIB5NTI.js.map → policy/index.js.map} +0 -0
  449. /package/dist/{post-register-5VHHVFJY.js.map → post-register-URQANI3B.js.map} +0 -0
  450. /package/dist/{registry-VW6P6A3J.js.map → register-5W6CG4RM.js.map} +0 -0
  451. /package/dist/{request-withdrawal-AAG57QO4.js.map → registry-7Y5WF7GS.js.map} +0 -0
  452. /package/dist/{revoke-U5LCIJMF.js.map → registry-BWD2ED52.js.map} +0 -0
  453. /package/dist/{signer-NAA2OX7H.js.map → registry-MCSGBZXI.js.map} +0 -0
  454. /package/dist/{stale-BJO2WIN7.js.map → registry-UJFP3NWF.js.map} +0 -0
  455. /package/dist/{storage-FL7XXZTN.js.map → request-withdrawal-IWYDM4SO.js.map} +0 -0
  456. /package/dist/{reveal-7OOT5XPD.js.map → reveal-BXZGWIOP.js.map} +0 -0
  457. /package/dist/{withdraw-accessible-GO6KQJVM.js.map → revoke-TINYPHYY.js.map} +0 -0
  458. /package/dist/{seed-GVOI6QP6.js.map → seed-F7YYQTRC.js.map} +0 -0
  459. /package/dist/{store-coordination-provider-DX5HECK3.js.map → store-coordination-provider-5LX2UFU2.js.map} +0 -0
  460. /package/dist/{verify-5X37OXRY.js.map → verify-7XWHJWUN.js.map} +0 -0
@@ -71,8 +71,15 @@ export interface UnlockedKeyring {
71
71
  }
72
72
  /** Mint a fresh wrapped-canary string. Deterministic for a given KEK. */
73
73
  export declare function mintKeyringCanary(kek: EnclaveKey): Promise<string>;
74
+ /** Options for {@link loadKeyring} (#846b). */
75
+ export interface LoadKeyringOptions {
76
+ /** The user whose keyring to unlock. */
77
+ readonly userId: string;
78
+ /** That user's secret. */
79
+ readonly secret: string;
80
+ }
74
81
  /** Load and unlock a user's keyring for a vault. */
75
- export declare function loadKeyring(adapter: NoydbStore, vault: string, userId: string, secret: string): Promise<UnlockedKeyring>;
82
+ export declare function loadKeyring(store: NoydbStore, vault: string, opts: LoadKeyringOptions): Promise<UnlockedKeyring>;
76
83
  /**
77
84
  * Open-policy pre-gate: decide create-vs-fail-closed **before** any
78
85
  * vault write. `openVault` must not self-provision an owner keyring into a
@@ -85,22 +92,34 @@ export declare function loadKeyring(adapter: NoydbStore, vault: string, userId:
85
92
  * on first open), so a fail-closed open writes nothing.
86
93
  */
87
94
  export declare function assertKeyringOpenAllowed(store: NoydbStore, vault: string, userId: string, create: boolean): Promise<void>;
95
+ /**
96
+ * Options for {@link createOwnerKeyring} (#846b). The `SecretPolicy` knobs are
97
+ * flattened into the same bag rather than nested, so `assertStrongSecret` can
98
+ * take `opts` directly.
99
+ */
100
+ export interface CreateOwnerKeyringOptions extends SecretPolicy {
101
+ /** The owner to create. */
102
+ readonly userId: string;
103
+ /** The owner's secret. */
104
+ readonly secret: string;
105
+ /** Gate creation on the phrase-format strength rules. Default false. */
106
+ readonly validate?: boolean;
107
+ /** Escape hatch for fixtures and migrations — skips the strength gate. */
108
+ readonly allowWeakSecret?: boolean;
109
+ }
88
110
  /**
89
111
  * Create the initial owner keyring for a new vault.
90
112
  *
91
- * Pass `{ validate: true }` (or a `SecretPolicy`) to gate creation
113
+ * Pass `{ validate: true }` (or any `SecretPolicy` knob) to gate creation
92
114
  * on the phrase-format strength rules — `Noydb` threads this from
93
115
  * `NoydbOptions.validateSecret`. Direct callers (CLI, scripts,
94
116
  * test fixtures) opt in explicitly.
95
117
  */
96
- export declare function createOwnerKeyring(adapter: NoydbStore, vault: string, userId: string, secret: string, secretOpts?: SecretPolicy & {
97
- validate?: boolean;
98
- allowWeakSecret?: boolean;
99
- }): Promise<UnlockedKeyring>;
118
+ export declare function createOwnerKeyring(store: NoydbStore, vault: string, opts: CreateOwnerKeyringOptions): Promise<UnlockedKeyring>;
100
119
  /** Grant access to a new user. Caller must have grant privilege. */
101
- export declare function grant(adapter: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, options: GrantOptions): Promise<void>;
120
+ export declare function grant(store: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, options: GrantOptions): Promise<void>;
102
121
  /** Revoke a user's access. Optionally rotate keys for affected collections. */
103
- export declare function revoke(adapter: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, options: RevokeOptions): Promise<void>;
122
+ export declare function revoke(store: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, options: RevokeOptions): Promise<void>;
104
123
  /**
105
124
  * Mutate `role`, `displayName`, and/or `permissions` on an existing
106
125
  * keyring. Pure plaintext-header rewrite — no DEK rewrap, no KEK
@@ -125,7 +144,7 @@ export declare function revoke(adapter: NoydbStore, vault: string, callerKeyring
125
144
  * @throws `ValidationError` when the diff is empty (nothing to update).
126
145
  *
127
146
  */
128
- export declare function updateKeyringIdentity(adapter: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, options: UpdateUserOptions): Promise<void>;
147
+ export declare function updateKeyringIdentity(store: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, options: UpdateUserOptions): Promise<void>;
129
148
  /**
130
149
  * Rotate DEKs for specified collections:
131
150
  * 1. Generate new DEKs
@@ -151,7 +170,19 @@ export interface RotateResult {
151
170
  readonly collection: string;
152
171
  }>;
153
172
  }
154
- export declare function rotateKeys(adapter: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, collections: string[]): Promise<RotateResult>;
173
+ /** Options for {@link rotateKeys} (#846b — was a bare `string[]`). */
174
+ export interface RotateKeysOptions {
175
+ /** Collections whose DEKs are re-minted. */
176
+ readonly collections: readonly string[];
177
+ }
178
+ export declare function rotateKeys(store: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, opts: RotateKeysOptions): Promise<RotateResult>;
179
+ /** Options for {@link changeSecret} (#846b). */
180
+ export interface ChangeSecretOptions extends SecretPolicy {
181
+ /** The replacement secret. */
182
+ readonly newSecret: string;
183
+ /** Escape hatch for fixtures and migrations — skips the strength gate. */
184
+ readonly allowWeakSecret?: boolean;
185
+ }
155
186
  /**
156
187
  * Change the user's secret. Re-wraps every DEK under the new KEK.
157
188
  *
@@ -164,13 +195,11 @@ export declare function rotateKeys(adapter: NoydbStore, vault: string, callerKey
164
195
  * for re-derivation; `changeSecret` reuses the cached unlocked KEK so
165
196
  * the OLD secret is not retyped.
166
197
  */
167
- export declare function changeSecret(adapter: NoydbStore, vault: string, keyring: UnlockedKeyring, newSecret: string, secretOpts?: SecretPolicy & {
168
- allowWeakSecret?: boolean;
169
- }): Promise<UnlockedKeyring>;
198
+ export declare function changeSecret(store: NoydbStore, vault: string, keyring: UnlockedKeyring, opts: ChangeSecretOptions): Promise<UnlockedKeyring>;
170
199
  /**
171
200
  * Recipient slot in a re-keyed `.noydb` bundle. Each slot becomes its
172
201
  * own keyring file inside the bundle, sealed with its own secret.
173
- * Same role/permission semantics as `db.grant()` but no adapter side
202
+ * Same role/permission semantics as `db.grant()` but no store side
174
203
  * effect — the slot only exists inside the bundle bytes.
175
204
  *
176
205
  * @public
@@ -212,7 +241,7 @@ export interface BundleRecipient {
212
241
  }
213
242
  /**
214
243
  * Build a `KeyringFile` for one bundle recipient, given the source
215
- * vault's unwrapped DEKs. Mirrors `grant()` minus the adapter write —
244
+ * vault's unwrapped DEKs. Mirrors `grant()` minus the store write —
216
245
  * the produced file is meant to be embedded in the bundle's
217
246
  * `keyrings` map, never persisted to the source vault.
218
247
  *
@@ -223,7 +252,7 @@ export interface BundleRecipient {
223
252
  */
224
253
  export declare function buildRecipientKeyringFile(callerKeyring: UnlockedKeyring, recipient: BundleRecipient): Promise<KeyringFile>;
225
254
  /** List all users with access to a vault. */
226
- export declare function listUsers(adapter: NoydbStore, vault: string): Promise<UserInfo[]>;
255
+ export declare function listUsers(store: NoydbStore, vault: string): Promise<UserInfo[]>;
227
256
  /**
228
257
  * Optional filter knobs for {@link listUsersWithEnvelopes}.
229
258
  *
@@ -273,18 +302,18 @@ export interface ListUsersOptions {
273
302
  * Order matches `listUsers()` (store-defined; sort if you need a
274
303
  * stable display order).
275
304
  */
276
- export declare function listUsersWithEnvelopes<T = unknown>(adapter: NoydbStore, vault: string, userEnvelopeDek: EnclaveKey, callerRole: Role, options?: ListUsersOptions): Promise<Array<{
305
+ export declare function listUsersWithEnvelopes<T = unknown>(store: NoydbStore, vault: string, userEnvelopeDek: EnclaveKey, callerRole: Role, options?: ListUsersOptions): Promise<Array<{
277
306
  user: UserInfo;
278
307
  envelope: UserEnvelope<T> | null;
279
308
  }>>;
280
309
  /** Ensure a DEK exists for a collection. Generates one if new. */
281
- export declare function ensureCollectionDEK(adapter: NoydbStore, vault: string, keyring: UnlockedKeyring): Promise<(collectionName: string) => Promise<EnclaveKey>>;
310
+ export declare function ensureCollectionDEK(store: NoydbStore, vault: string, keyring: UnlockedKeyring): Promise<(collectionName: string) => Promise<EnclaveKey>>;
282
311
  /** Check if a user has write permission for a collection. */
283
312
  export declare function hasWritePermission(keyring: UnlockedKeyring, collectionName: string): boolean;
284
313
  /** Check if a user has any access to a collection. */
285
314
  export declare function hasAccess(keyring: UnlockedKeyring, collectionName: string): boolean;
286
- /** Persist a keyring file to the adapter. */
287
- export declare function persistKeyring(adapter: NoydbStore, vault: string, keyring: UnlockedKeyring): Promise<void>;
315
+ /** Persist a keyring file to the store. */
316
+ export declare function persistKeyring(store: NoydbStore, vault: string, keyring: UnlockedKeyring): Promise<void>;
288
317
  /**
289
318
  * Check whether a keyring is authorised for a given `@noy-db/as-*`
290
319
  * export tier.
@@ -19,7 +19,7 @@
19
19
  * Internal service — reached through `noydb.team.rotateSecret(...)` etc.
20
20
  */
21
21
  import type { NoydbOptions, NoydbStore, KeyringAuthenticator } from '../../kernel/types.js';
22
- import type { RotateResult } from './keyring.js';
22
+ import type { RotateResult, RotateKeysOptions } from './keyring.js';
23
23
  import { type RotateSecretInput, type RecoverSecretInput, type RecoverSecretResult, type RotateRecoveryOptions, type RotateRecoveryResult, type EnrollRecoveryResult, type RecoveryEnrollmentInput, type RecoveryProof } from './rotate-recover.js';
24
24
  import { type RecoverUserOptions } from './peer-recover.js';
25
25
  import { type PaperRecoveryEntry, type ShamirRecoveryEntry } from './recovery.js';
@@ -73,7 +73,7 @@ export declare class TeamFacade {
73
73
  /** Gate + run a `revoke` engine. See `Noydb.revoke` for the public contract. */
74
74
  runRevoke(engine: (adapter: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, options: RevokeOptions) => Promise<void>, vault: string, options: RevokeOptions, factors?: FactorProofBundle): Promise<void>;
75
75
  /** Gate + run a `rotateKeys` engine. See `Noydb.rotate` for the public contract. */
76
- runRotate(engine: (adapter: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, collections: string[]) => Promise<RotateResult>, vault: string, collections: string[]): Promise<RotateResult>;
76
+ runRotate(engine: (store: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, opts: RotateKeysOptions) => Promise<RotateResult>, vault: string, collections: string[]): Promise<RotateResult>;
77
77
  /**
78
78
  * Add a tier-2 authenticator slot to the calling user's keyring.
79
79
  * Each slot independently wraps the SAME KEK under a method-specific
@@ -109,7 +109,7 @@ export declare class BlobSet {
109
109
  * DECLARED; a collection with an undeclared field (or no `blobFields` at
110
110
  * all) constructs fine and reaches this write path unguarded. Refuse the
111
111
  * write itself instead of broadening the construction mandate, which
112
- * would over-refuse blobless tiered collections (`blobStrategy` is
112
+ * would over-refuse blobless tiered collections (`blobsStrategy` is
113
113
  * vault-wide, not per-collection). Called from every content-write entry
114
114
  * (`put()`, `publish()`) — never from a read path, so a pre-existing
115
115
  * legacy blob stays readable (back-compat).
@@ -9,4 +9,10 @@
9
9
  */
10
10
  export type { VaultSchemaSnapshot, DumpSchemaOptions, CollectionDescriptor, CollectionConfig, CollectionStats, FieldDescriptor, FieldSource, MaterializedViewDescriptor, OverlayViewDescriptor, DerivationDescriptor, InternalCollectionStats, } from './types.js';
11
11
  export { dumpVaultSchema } from './walk.js';
12
+ export type { VaultIntrospectState } from './walk.js';
12
13
  export { jsonSchemaToFields } from './fields.js';
14
+ export type { SchemaIntrospection } from './types.js';
15
+ export type { FieldMeta, SemanticType } from './field-meta.js';
16
+ export type { CollectionDescription, DescribedField, DescribeOptions } from './describe.js';
17
+ export { applyListProjection } from './projection.js';
18
+ export type { ListProjectionOptions } from './projection.js';
@@ -4,3 +4,4 @@ export { evaluateStrategies } from './dispatch.js';
4
4
  export { blindUpdate, additiveOnly, lockSchema } from './strategies.js';
5
5
  export { coordinatedCutover } from './cutover.js';
6
6
  export { SchemaUpdateGate } from './gate.js';
7
+ export type { FenceDoc } from './fence.js';
@@ -3,8 +3,9 @@
3
3
  *
4
4
  * Store routing (multiplex by collection/size/age) and composable store
5
5
  * middleware (retry, logging, metrics, circuit-breaker, cache, health-check).
6
- * Root-barrel-only: no dedicated `@noy-db/hub/with-store` subpath export —
7
- * consumers reach these through the main `@noy-db/hub` entry.
6
+ * Published as `@noy-db/hub/store` (#843 C3a). Also re-exported from the root
7
+ * barrel, matching how the Via features are dual-homed — the subpath exists so
8
+ * the surface is navigable and tree-shakeable, not to force a migration.
8
9
  *
9
10
  * Named re-exports (not `export *`) so tsup keeps the barrel populated
10
11
  * even with `sideEffects: false`.
@@ -204,7 +204,7 @@ export interface RoutedNoydbStore extends NoydbStore {
204
204
  * - `hydrate: ['invoices', 'clients']` — copies only named collections.
205
205
  *
206
206
  * Use cases:
207
- * - Shared device: `await store.override('default', memory(), { hydrate: true })`
207
+ * - Shared device: `await store.override('default', toMemory(), { hydrate: true })`
208
208
  * - Restricted network: `store.override('blobs', localFile(...))`
209
209
  */
210
210
  override(route: OverrideTarget, store: NoydbStore, opts?: OverrideOptions): void | Promise<void>;
@@ -0,0 +1,28 @@
1
+ import {
2
+ FROZEN_SNAPSHOTS_COLLECTION,
3
+ freezeAndDeleteClosure,
4
+ freezeSnapshotOnly,
5
+ randomId,
6
+ withdrawAccessibleData
7
+ } from "./chunk-TE6LH6J2.js";
8
+ import "./chunk-WO4T4OD5.js";
9
+ import "./chunk-SGQ4N5FS.js";
10
+ import "./chunk-JIDLU57U.js";
11
+ import "./chunk-RZPOZPZU.js";
12
+ import "./chunk-VH6SOCXH.js";
13
+ import "./chunk-35NMVJ7I.js";
14
+ import "./chunk-NFZGZ4AK.js";
15
+ import "./chunk-QJNCB5SK.js";
16
+ import "./chunk-LP7BEXCT.js";
17
+ import "./chunk-AKKRXT23.js";
18
+ import "./chunk-GZACYEOB.js";
19
+ import "./chunk-QZWTRENR.js";
20
+ import "./chunk-PZ5AY32C.js";
21
+ export {
22
+ FROZEN_SNAPSHOTS_COLLECTION,
23
+ freezeAndDeleteClosure,
24
+ freezeSnapshotOnly,
25
+ randomId,
26
+ withdrawAccessibleData
27
+ };
28
+ //# sourceMappingURL=withdraw-accessible-DEUCOO4F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noy-db/hub",
3
- "version": "0.4.0-pre.6",
3
+ "version": "0.4.0-pre.8",
4
4
  "description": "Zero-knowledge, offline-first, encrypted document store — core library with AES-256-GCM, PBKDF2, multi-user keyring, and sync engine",
5
5
  "license": "MIT",
6
6
  "author": "vLannaAi <vicio@lanna.ai>",
@@ -88,9 +88,21 @@
88
88
  "types": "./dist/with-fork/snapshots/index.d.ts",
89
89
  "default": "./dist/snapshots/index.js"
90
90
  },
91
- "./tx": {
91
+ "./transactions": {
92
92
  "types": "./dist/with-commit/tx/index.d.ts",
93
- "default": "./dist/tx/index.js"
93
+ "default": "./dist/transactions/index.js"
94
+ },
95
+ "./search": {
96
+ "types": "./dist/with-lookup/search/index.d.ts",
97
+ "default": "./dist/search/index.js"
98
+ },
99
+ "./sequence": {
100
+ "types": "./dist/with-commit/sequence/index.d.ts",
101
+ "default": "./dist/sequence/index.js"
102
+ },
103
+ "./custody": {
104
+ "types": "./dist/with-party/custody/index.d.ts",
105
+ "default": "./dist/custody/index.js"
94
106
  },
95
107
  "./derivations": {
96
108
  "types": "./dist/with-formula/derivations/index.d.ts",
@@ -148,6 +160,34 @@
148
160
  "types": "./dist/port/to/index.d.ts",
149
161
  "default": "./dist/to/index.js"
150
162
  },
163
+ "./store": {
164
+ "types": "./dist/with-store/index.d.ts",
165
+ "default": "./dist/store/index.js"
166
+ },
167
+ "./introspection": {
168
+ "types": "./dist/with-shape/introspection/index.d.ts",
169
+ "default": "./dist/introspection/index.js"
170
+ },
171
+ "./money": {
172
+ "types": "./dist/via/money/index.d.ts",
173
+ "default": "./dist/money/index.js"
174
+ },
175
+ "./cover": {
176
+ "types": "./dist/with-party/directory/cover/index.d.ts",
177
+ "default": "./dist/cover/index.js"
178
+ },
179
+ "./schema-update": {
180
+ "types": "./dist/with-shape/schema-update/index.d.ts",
181
+ "default": "./dist/schema-update/index.js"
182
+ },
183
+ "./policy": {
184
+ "types": "./dist/with-party/policy/index.d.ts",
185
+ "default": "./dist/policy/index.js"
186
+ },
187
+ "./directory": {
188
+ "types": "./dist/with-party/directory/index.d.ts",
189
+ "default": "./dist/directory/index.js"
190
+ },
151
191
  "./reduce": {
152
192
  "types": "./dist/with-lookup/reduce/index.d.ts",
153
193
  "default": "./dist/reduce/index.js"
@@ -164,14 +204,14 @@
164
204
  "node": ">=22.0.0"
165
205
  },
166
206
  "dependencies": {
167
- "@noy-db/attestation": "0.4.0-pre.6"
207
+ "@noy-db/attestation": "0.4.0-pre.8"
168
208
  },
169
209
  "devDependencies": {
170
210
  "@types/node": "^22.0.0",
171
211
  "esbuild": "^0.25.0",
172
212
  "zod": "^4.0.0",
173
213
  "zod-to-json-schema": "^3.25.2",
174
- "@noy-db/on-shamir": "0.4.0-pre.6"
214
+ "@noy-db/on-shamir": "0.4.0-pre.8"
175
215
  },
176
216
  "peerDependencies": {
177
217
  "zod-to-json-schema": "^3.25.0"
@@ -1,20 +0,0 @@
1
- import {
2
- UserApi,
3
- createUserApi
4
- } from "./chunk-NA374QG7.js";
5
- import "./chunk-7IQWHYL2.js";
6
- import "./chunk-MMVQ3SUO.js";
7
- import "./chunk-KCZAFDP5.js";
8
- import "./chunk-5WLDZZ6S.js";
9
- import "./chunk-5HSSTOOG.js";
10
- import "./chunk-G4MFQXYX.js";
11
- import "./chunk-LP7BEXCT.js";
12
- import "./chunk-7U6AB7DZ.js";
13
- import "./chunk-DOZFU7OZ.js";
14
- import "./chunk-6SYOHUHM.js";
15
- import "./chunk-PZ5AY32C.js";
16
- export {
17
- UserApi,
18
- createUserApi
19
- };
20
- //# sourceMappingURL=api-5QVQX4HG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/with-formula/derivations/strategy-hash.ts","../src/with-formula/derivations/registry.ts"],"sourcesContent":["/**\n * Deterministic hash of a derivation strategy's \"shape\": source\n * collection, declared sibling sources, output keys, derive function\n * source. Used to detect\n * strategy drift: a record whose `_derivedFrom.strategyHash` doesn't\n * match the current strategy is considered stale.\n *\n * Web Crypto SHA-256 — no extra deps.\n */\nimport { sha256Hex } from '../../kernel/enclave/index.js'\n\nexport async function computeStrategyHash(\n source: string,\n outputKeys: readonly string[],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n derive: (...args: any[]) => any,\n sources?: ReadonlyArray<string>,\n): Promise<string> {\n const canonical = JSON.stringify({\n source,\n outputs: [...outputKeys].sort(),\n derive: derive.toString(),\n // Declared sibling sources — adding/removing a trigger\n // collection invalidates cached derived records. Omitted when empty\n // so strategies without siblings keep their existing hash.\n ...(sources?.length ? { sources: [...sources].sort() } : {}),\n })\n const bytes = new TextEncoder().encode(canonical)\n return sha256Hex(bytes)\n}\n","import { DerivationCycleError } from '../../kernel/errors.js'\nimport { ViaGraph, type FieldRef, type EdgeKind, type Grain } from '../../kernel/via/graph.js'\nimport { computeStrategyHash } from './strategy-hash.js'\nimport type { DerivationStrategy } from './types.js'\n\n/**\n * Whole-record artifact-grain field marker (#638 Task 2). A derivation's\n * `derive()`/a rollup's `compute()` reads the WHOLE source record — there is\n * no single declared field to point at — so a trigger/output collection is\n * modelled as one artifact node per collection (`kernel/via/graph.ts`'s\n * \"Artifact-grain targets... modelled as a field node whose field is the\n * artifact key\" convention). MUST match `materialized-views/registry.ts`'s\n * and `vault.ts`'s overlay-edge marker so cross-registry edges (a derivation\n * feeding into / out of an MV or overlay collection) resolve to the SAME\n * graph node.\n */\nconst WHOLE_RECORD = '*'\n\n/** Strip this registry's `.${WHOLE_RECORD}` artifact suffix off a graph cycle\n * path entry, recovering the bare collection name — preserves the exact\n * pre-#638 `DerivationCycleError` message shape (behavior lock) for a pure\n * record-shape derivation cycle. A rollup's real-field target (not suffixed\n * `.${WHOLE_RECORD}`) is left untouched. */\nfunction stripArtifactSuffix(displayId: string): string {\n const suffix = `.${WHOLE_RECORD}`\n return displayId.endsWith(suffix) ? displayId.slice(0, -suffix.length) : displayId\n}\n\ninterface RegisteredStrategy {\n // Type-erased to allow the registry to hold heterogeneous strategies.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n spec: DerivationStrategy<any, any>\n strategyHash: string\n}\n\n/**\n * Vault-internal registry of derivation strategies. Owned by `Vault`;\n * not exported.\n *\n * @internal\n */\nexport class DerivationRegistry {\n private readonly _bySource = new Map<string, RegisteredStrategy[]>()\n private readonly _byOutput = new Map<string, RegisteredStrategy[]>()\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async register(spec: DerivationStrategy<any, any>): Promise<void> {\n const outputKeys = Object.keys(spec.outputs)\n const strategyHash = await computeStrategyHash(spec.source, outputKeys, spec.derive, spec.sources)\n const reg: RegisteredStrategy = { spec, strategyHash }\n\n const fromSource = this._bySource.get(spec.source)\n if (fromSource) fromSource.push(reg)\n else this._bySource.set(spec.source, [reg])\n\n // Declared sibling sources index the SAME `reg` under each\n // extra collection so `strategiesForSource(extra)` returns it and a\n // sibling write re-fires the derivation. Sibling keys also enter\n // `_bySource`, so `validate()`'s cycle DFS walks them automatically.\n for (const extra of spec.sources ?? []) {\n const fromExtra = this._bySource.get(extra)\n if (fromExtra) fromExtra.push(reg)\n else this._bySource.set(extra, [reg])\n }\n\n // FK triggers index the SAME `reg` under each parent collection so\n // a parent write re-fires the derivation (fanned out to matching source\n // records in `dispatchDerivations`). Like sources[], these keys enter\n // `_bySource` so the cycle DFS walks the trigger→output edge.\n for (const t of spec.triggerBy ?? []) {\n const fromTrigger = this._bySource.get(t.collection)\n if (fromTrigger) fromTrigger.push(reg)\n else this._bySource.set(t.collection, [reg])\n }\n\n // Rollup: a write to the child `from` collection recomputes\n // the parent (= spec.source = into) at id child[key]. Index under `from`\n // so a child write fires it; spec.source (into) is already indexed above,\n // so a parent write also recomputes its own aggregate (covers the\n // parent-created-after-children case). The from→into edge enters the cycle\n // DFS automatically.\n if (spec.rollup) {\n const fromRollup = this._bySource.get(spec.rollup.from)\n if (fromRollup) fromRollup.push(reg)\n else this._bySource.set(spec.rollup.from, [reg])\n }\n\n for (const key of outputKeys) {\n const output = spec.outputs[key]\n if (!output) continue\n const outputCollection = output.collection\n const arr = this._byOutput.get(outputCollection)\n if (arr) arr.push(reg)\n else this._byOutput.set(outputCollection, [reg])\n }\n }\n\n strategiesForSource(source: string): ReadonlyArray<RegisteredStrategy> {\n return this._bySource.get(source) ?? []\n }\n\n strategiesProducingOutput(collection: string): ReadonlyArray<RegisteredStrategy> {\n return this._byOutput.get(collection) ?? []\n }\n\n /**\n * All registered strategies as a flat, deduplicated array.\n * Each strategy is indexed once per source (not once per output key),\n * so iterating `_bySource.values()` naturally yields each strategy\n * exactly once per source — deduplication is handled by flattening\n * the per-source arrays and collecting into a Set by identity.\n *\n * Used by `dumpSchema()` / `describeDerivations()` in the introspection\n * walker to populate the derivations map.\n */\n all(): ReadonlyArray<RegisteredStrategy> {\n const seen = new Set<RegisteredStrategy>()\n for (const strategies of this._bySource.values()) {\n for (const s of strategies) seen.add(s)\n }\n return [...seen]\n }\n\n /**\n * Graph edges for #638 Task 2: one `'derivation'`/`'record'` edge per\n * (non-self-write) output key — target = the output collection (a\n * `WHOLE_RECORD` artifact node), sources = every collection that can\n * trigger this strategy (`source`, `sources[]`, `triggerBy[].collection`,\n * and — for a rollup — `rollup.from`), mirroring EXACTLY the trigger keys\n * `register()` indexes under `_bySource`. The self-write reverse-denorm\n * output (`output.collection === source` with `denorm` declared) is\n * skipped — the SAME condition the old local DFS used; it is not a cycle\n * (see the comment `validate()` used to carry, now on this skip).\n * Rollups ADDITIONALLY get a dedicated `'rollup'`/`'aggregate'` edge\n * targeting the real `rollup.field` on the parent (`source`) — the\n * self-write output above only covers the cycle-DFS skip, not\n * dispatch/taint (Tasks 3/4/6), which need the real field.\n */\n edges(): ReadonlyArray<{ readonly target: FieldRef; readonly sources: readonly FieldRef[]; readonly kind: EdgeKind; readonly grain: Grain }> {\n const out: Array<{ target: FieldRef; sources: FieldRef[]; kind: EdgeKind; grain: Grain }> = []\n for (const reg of this.all()) {\n const spec = reg.spec\n const triggerCollections = [\n spec.source,\n ...(spec.sources ?? []),\n ...(spec.triggerBy ?? []).map((t) => t.collection),\n ...(spec.rollup ? [spec.rollup.from] : []),\n ]\n const sources: FieldRef[] = triggerCollections.map((c) => ({ collection: c, field: WHOLE_RECORD }))\n for (const key of Object.keys(spec.outputs)) {\n const output = spec.outputs[key]\n if (!output) continue\n if (output.shape === 'record' && output.collection === spec.source && output.denorm !== undefined) continue\n out.push({ target: { collection: output.collection, field: WHOLE_RECORD }, sources, kind: 'derivation', grain: 'record' })\n }\n if (spec.rollup) {\n out.push({\n target: { collection: spec.source, field: spec.rollup.field },\n sources: [{ collection: spec.rollup.from, field: WHOLE_RECORD }],\n kind: 'rollup',\n grain: 'aggregate',\n })\n }\n }\n return out\n }\n\n /**\n * Cycle detection, delegated to `ViaGraph.assertAcyclic()` (#638 Task 2 —\n * retires the local DFS). Call after all `register()` calls complete (i.e.\n * at vault open). Throws `DerivationCycleError` on the first cycle found —\n * SAME class/timing as before; the message/path is byte-identical to the\n * pre-#638 shape for a pure record-shape derivation cycle (the\n * `WHOLE_RECORD` artifact suffix is stripped back to a bare collection\n * name before re-throwing).\n *\n * `graph` is the caller's shared per-vault graph, ALREADY carrying this\n * registry's `edges()` (the caller registers them — see `Vault._initDerivations`)\n * — omit it (e.g. this registry's own unit tests) to validate this\n * registry's edges in isolation against a throwaway graph.\n */\n validate(graph?: ViaGraph): void {\n const g = graph ?? new ViaGraph()\n if (!graph) {\n for (const edge of this.edges()) g.registerDerived(edge.target, edge.sources, edge.kind, edge.grain)\n }\n try {\n g.assertAcyclic()\n } catch (e) {\n if (e instanceof DerivationCycleError) throw new DerivationCycleError(e.path.map(stripArtifactSuffix))\n throw e\n }\n }\n}\n"],"mappings":"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","names":[]}