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

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 (470) hide show
  1. package/README.md +2 -2
  2. package/dist/api-5QVQX4HG.js +20 -0
  3. package/dist/attestation/index.js +18 -18
  4. package/dist/{backup-JL2GOTYQ.js → backup-USYSNCYM.js} +11 -11
  5. package/dist/blobs/index.js +15 -12
  6. package/dist/blobs/index.js.map +1 -1
  7. package/dist/broker/index.js +12 -12
  8. package/dist/cargo/index.js +34 -36
  9. package/dist/{chunk-JLHKBAFY.js → chunk-2BVW754E.js} +3 -3
  10. package/dist/{chunk-T7S4V52L.js → chunk-2PDBYF2O.js} +4 -4
  11. package/dist/{chunk-YGBIBOCR.js → chunk-2ZSC454H.js} +7 -7
  12. package/dist/{chunk-IGAIOGCN.js → chunk-32467U5J.js} +4 -4
  13. package/dist/{chunk-JA5O7UEZ.js → chunk-3GXDB3NQ.js} +6 -6
  14. package/dist/chunk-3GXDB3NQ.js.map +1 -0
  15. package/dist/{chunk-U73LHVPF.js → chunk-3S2YNMUS.js} +54 -6
  16. package/dist/chunk-3S2YNMUS.js.map +1 -0
  17. package/dist/{chunk-JW3XCZA2.js → chunk-3TZUC4WS.js} +11 -11
  18. package/dist/{chunk-JA5B3SLH.js → chunk-44Y3P5U6.js} +2 -2
  19. package/dist/{chunk-25G7U6RD.js → chunk-4B3DL75F.js} +2 -2
  20. package/dist/{chunk-L4OA7G5T.js → chunk-522MBPE5.js} +2 -2
  21. package/dist/chunk-5ABOFAHN.js +81 -0
  22. package/dist/chunk-5ABOFAHN.js.map +1 -0
  23. package/dist/chunk-5D2ALSM5.js +19 -0
  24. package/dist/chunk-5D2ALSM5.js.map +1 -0
  25. package/dist/{chunk-M25ZIEB2.js → chunk-5HSSTOOG.js} +2 -2
  26. package/dist/{chunk-LLVW4V7R.js → chunk-5WLDZZ6S.js} +3 -3
  27. package/dist/{chunk-BCOKZC4B.js → chunk-6SSWOUUS.js} +19 -19
  28. package/dist/chunk-6SSWOUUS.js.map +1 -0
  29. package/dist/{chunk-IGM563N5.js → chunk-6SYOHUHM.js} +6 -6
  30. package/dist/chunk-6SYOHUHM.js.map +1 -0
  31. package/dist/{chunk-7B4GPCX7.js → chunk-7IQWHYL2.js} +5 -5
  32. package/dist/{chunk-J3VW4J4E.js → chunk-7LP7FFJ2.js} +2 -2
  33. package/dist/chunk-7LP7FFJ2.js.map +1 -0
  34. package/dist/{chunk-5P5AAXYA.js → chunk-7U6AB7DZ.js} +7 -7
  35. package/dist/chunk-7U6AB7DZ.js.map +1 -0
  36. package/dist/chunk-AFHQATY4.js +47 -0
  37. package/dist/chunk-AFHQATY4.js.map +1 -0
  38. package/dist/{chunk-OWE4BNTM.js → chunk-AZXEOEQK.js} +4 -4
  39. package/dist/{chunk-GBEXTC6Z.js → chunk-BAAUFCJK.js} +3 -3
  40. package/dist/chunk-BAAUFCJK.js.map +1 -0
  41. package/dist/{chunk-BZEPJJOK.js → chunk-C2V7AJO2.js} +4 -4
  42. package/dist/chunk-CADUYBQD.js +151 -0
  43. package/dist/chunk-CADUYBQD.js.map +1 -0
  44. package/dist/{chunk-2JZ763FV.js → chunk-D4LAJ737.js} +2 -2
  45. package/dist/{chunk-5BHNQNBI.js → chunk-DOZFU7OZ.js} +1 -1
  46. package/dist/chunk-DOZFU7OZ.js.map +1 -0
  47. package/dist/{chunk-MEKAMERX.js → chunk-E7FSBI6I.js} +29 -29
  48. package/dist/chunk-E7FSBI6I.js.map +1 -0
  49. package/dist/{chunk-N4FZ6ITM.js → chunk-EGU4PWQW.js} +2 -2
  50. package/dist/chunk-EP5L47XV.js +22 -0
  51. package/dist/chunk-EP5L47XV.js.map +1 -0
  52. package/dist/{chunk-EW4HFWGJ.js → chunk-EPME33Y4.js} +6 -6
  53. package/dist/{chunk-W7TCXZWU.js → chunk-EWPS35AR.js} +794 -1045
  54. package/dist/chunk-EWPS35AR.js.map +1 -0
  55. package/dist/{chunk-JKWNG3TM.js → chunk-FHHYCBBP.js} +2 -2
  56. package/dist/{chunk-5BB3N4KU.js → chunk-G4MFQXYX.js} +2 -2
  57. package/dist/{chunk-KVHWEPT2.js → chunk-GHEMAVTN.js} +2 -2
  58. package/dist/{chunk-CGPO3ZYB.js → chunk-GQT6J4FJ.js} +15 -2
  59. package/dist/chunk-GQT6J4FJ.js.map +1 -0
  60. package/dist/{chunk-XW7NWO4A.js → chunk-GTNRMJYH.js} +2 -2
  61. package/dist/{chunk-YG2EG6CB.js → chunk-H5GMROCB.js} +4 -4
  62. package/dist/{chunk-JIMEB4C6.js → chunk-HA7P3BTB.js} +26 -177
  63. package/dist/chunk-HA7P3BTB.js.map +1 -0
  64. package/dist/{chunk-5KI3REO3.js → chunk-HDF5R2K6.js} +7 -7
  65. package/dist/{chunk-V3YB7RGR.js → chunk-HVPW6PCX.js} +3 -3
  66. package/dist/{chunk-2VUISNGP.js → chunk-HXVRRJBD.js} +5 -5
  67. package/dist/{chunk-ZJGZDOQO.js → chunk-ICYC5YNI.js} +6 -6
  68. package/dist/{chunk-KR5EGWI4.js → chunk-IUATR5UE.js} +27 -5
  69. package/dist/chunk-IUATR5UE.js.map +1 -0
  70. package/dist/{chunk-AFBJHD55.js → chunk-JGOKAZNB.js} +5 -5
  71. package/dist/{chunk-XGVDLQJE.js → chunk-JOCMXSR2.js} +3 -3
  72. package/dist/{chunk-XGVDLQJE.js.map → chunk-JOCMXSR2.js.map} +1 -1
  73. package/dist/{chunk-HGVFJL63.js → chunk-JTIPVW4J.js} +15 -5
  74. package/dist/{chunk-HGVFJL63.js.map → chunk-JTIPVW4J.js.map} +1 -1
  75. package/dist/{chunk-QXPOEAKR.js → chunk-KCZAFDP5.js} +2 -2
  76. package/dist/{chunk-MSO2C3KG.js → chunk-LC7DSMHR.js} +2 -2
  77. package/dist/{chunk-OVFCAS7U.js → chunk-LG2GUYRX.js} +9 -9
  78. package/dist/{chunk-2KL6NDD4.js → chunk-LN3MQFUE.js} +56 -4
  79. package/dist/chunk-LN3MQFUE.js.map +1 -0
  80. package/dist/{chunk-QUIG6BZT.js → chunk-M4GO4ZJK.js} +226 -36
  81. package/dist/chunk-M4GO4ZJK.js.map +1 -0
  82. package/dist/{chunk-QDNVHA2F.js → chunk-M7W2KYTL.js} +2 -2
  83. package/dist/{chunk-XULHFSHO.js → chunk-MLCTPWSO.js} +5 -5
  84. package/dist/chunk-MLCTPWSO.js.map +1 -0
  85. package/dist/{chunk-PEY6ZTCF.js → chunk-MMVQ3SUO.js} +9 -9
  86. package/dist/{chunk-PEY6ZTCF.js.map → chunk-MMVQ3SUO.js.map} +1 -1
  87. package/dist/{chunk-4X6DJZHY.js → chunk-MPPWL64H.js} +26 -43
  88. package/dist/chunk-MPPWL64H.js.map +1 -0
  89. package/dist/{chunk-QYJIOWKN.js → chunk-MQBFT2OT.js} +11 -9
  90. package/dist/chunk-MQBFT2OT.js.map +1 -0
  91. package/dist/{chunk-IUIVDVXM.js → chunk-MUPZ6IZX.js} +2 -2
  92. package/dist/{chunk-GZ2GKOF6.js → chunk-NA374QG7.js} +3 -3
  93. package/dist/chunk-NIKO2BBZ.js +23 -0
  94. package/dist/chunk-NIKO2BBZ.js.map +1 -0
  95. package/dist/{chunk-2U7Y7BNJ.js → chunk-ONB627HU.js} +2 -2
  96. package/dist/{chunk-GYB2QK5H.js → chunk-OWLZONGX.js} +2 -2
  97. package/dist/{chunk-YHPUDB7Q.js → chunk-OWOT7CFC.js} +2 -2
  98. package/dist/{chunk-VEX6G3YL.js → chunk-P4NUJVWL.js} +2 -2
  99. package/dist/chunk-PEOZ34EM.js +13 -0
  100. package/dist/chunk-PEOZ34EM.js.map +1 -0
  101. package/dist/{chunk-NM4LVUXH.js → chunk-PTT2NB46.js} +2 -2
  102. package/dist/chunk-PVEWA2DU.js +23 -0
  103. package/dist/chunk-PVEWA2DU.js.map +1 -0
  104. package/dist/{chunk-2ITLQZV5.js → chunk-PWWWMRT7.js} +2 -2
  105. package/dist/{chunk-FLHOTGOO.js → chunk-QVGEVZ5F.js} +3 -3
  106. package/dist/{chunk-HKR25MGX.js → chunk-QVIZDLAR.js} +10 -10
  107. package/dist/chunk-QVIZDLAR.js.map +1 -0
  108. package/dist/{chunk-OOTTXUNV.js → chunk-RM5EXCFF.js} +2 -2
  109. package/dist/{chunk-OOTTXUNV.js.map → chunk-RM5EXCFF.js.map} +1 -1
  110. package/dist/{chunk-OGFPMCSP.js → chunk-SBOHNJUD.js} +2 -2
  111. package/dist/{chunk-EDC6MLXV.js → chunk-SEU6QHH4.js} +2 -2
  112. package/dist/chunk-SMY5X46Z.js +14 -0
  113. package/dist/chunk-SMY5X46Z.js.map +1 -0
  114. package/dist/{chunk-F4COUZLL.js → chunk-TMR64XPL.js} +2 -2
  115. package/dist/{chunk-5OZCCLNC.js → chunk-TSNRZSRC.js} +2 -2
  116. package/dist/{chunk-2RMDVWGB.js → chunk-UNREYBZO.js} +2 -2
  117. package/dist/{chunk-BLB7P7LS.js → chunk-V2R2VWER.js} +176 -17
  118. package/dist/chunk-V2R2VWER.js.map +1 -0
  119. package/dist/{chunk-3XVOLB75.js → chunk-VDTWFN2P.js} +7 -5
  120. package/dist/chunk-VDTWFN2P.js.map +1 -0
  121. package/dist/chunk-VKQCVU2Z.js +21 -0
  122. package/dist/chunk-VKQCVU2Z.js.map +1 -0
  123. package/dist/{chunk-QCUH2G77.js → chunk-VNJMLOQS.js} +6 -6
  124. package/dist/{chunk-UEO5CHOP.js → chunk-WCJJQV2D.js} +13 -13
  125. package/dist/chunk-WCJJQV2D.js.map +1 -0
  126. package/dist/{chunk-25ZDB25Z.js → chunk-WWBC4KLB.js} +3 -3
  127. package/dist/chunk-WWBC4KLB.js.map +1 -0
  128. package/dist/{chunk-V7RGFJ3Z.js → chunk-XG7OZDOS.js} +6 -6
  129. package/dist/{chunk-GS3Q2KOZ.js → chunk-XONZGK6J.js} +2 -2
  130. package/dist/{chunk-5SZ24DL5.js → chunk-XSOGLHGY.js} +6 -6
  131. package/dist/{chunk-CCT4WZI6.js → chunk-XY6MNSAF.js} +5 -5
  132. package/dist/chunk-XY6MNSAF.js.map +1 -0
  133. package/dist/chunk-XZHEOSQ2.js +16 -0
  134. package/dist/chunk-XZHEOSQ2.js.map +1 -0
  135. package/dist/{chunk-NOT7XA7Q.js → chunk-YGMREQAK.js} +5 -5
  136. package/dist/{chunk-H4SMS4O2.js → chunk-YJ3TREAC.js} +2 -2
  137. package/dist/chunk-YMUFFJCO.js +23 -0
  138. package/dist/chunk-YMUFFJCO.js.map +1 -0
  139. package/dist/{chunk-E2R5NRZD.js → chunk-Z4D3YGAB.js} +2 -2
  140. package/dist/{chunk-WJDYZP3U.js → chunk-ZDFU34XY.js} +42 -39
  141. package/dist/chunk-ZDFU34XY.js.map +1 -0
  142. package/dist/{chunk-BZK6JEX4.js → chunk-ZF572E2M.js} +5 -5
  143. package/dist/{chunk-DEQ2JTBR.js → chunk-ZGEFBDPR.js} +4 -4
  144. package/dist/chunk-ZGEFBDPR.js.map +1 -0
  145. package/dist/{chunk-QAFWRGVD.js → chunk-ZHMUFYZF.js} +7 -7
  146. package/dist/{chunk-BVZGNMVM.js → chunk-ZHZ4PET5.js} +3 -3
  147. package/dist/{chunk-IZX3WZBF.js → chunk-ZM72UO3Y.js} +4 -4
  148. package/dist/{chunk-STR7WBOB.js → chunk-ZUDAK436.js} +2 -2
  149. package/dist/{chunk-ITI3SJRB.js → chunk-ZX5FNWH7.js} +2 -2
  150. package/dist/classified/index.js +5 -5
  151. package/dist/{classified-marker-7S5IEP6Q.js → classified-marker-SVDRXLD3.js} +3 -3
  152. package/dist/collection-facade-S5PPKZD5.js +44 -0
  153. package/dist/{computed-WZNKRLCY.js → computed-33DRJDOC.js} +3 -3
  154. package/dist/consent/index.js +13 -9
  155. package/dist/consent/index.js.map +1 -1
  156. package/dist/{cover-B5MY43CK.js → cover-ADBCTIKN.js} +4 -4
  157. package/dist/crdt/index.js +4 -0
  158. package/dist/crdt/index.js.map +1 -1
  159. package/dist/{dead-filter-KRRD57MR.js → dead-filter-HKDMTMVY.js} +2 -2
  160. package/dist/delegation-EV7LKJPH.js +25 -0
  161. package/dist/derivations/index.js +12 -12
  162. package/dist/derive-5LDJW76F.js +21 -0
  163. package/dist/dispatch-SPMYNXNW.js +194 -0
  164. package/dist/dispatch-SPMYNXNW.js.map +1 -0
  165. package/dist/dispatch-V5MSMQYX.js +72 -0
  166. package/dist/dispatch-V5MSMQYX.js.map +1 -0
  167. package/dist/{enclave-YFKA3GJT.js → enclave-ZA7C3H2L.js} +11 -11
  168. package/dist/executor-FCJEH3FU.js +9 -0
  169. package/dist/executor-OHET7TF7.js +9 -0
  170. package/dist/executor-SVHAJZ4A.js +28 -0
  171. package/dist/export-accessible-S35YKIBL.js +23 -0
  172. package/dist/extract-partition-UVHAM5WZ.js +38 -0
  173. package/dist/{fanout-sidecar-HJV3A7PM.js → fanout-sidecar-HRMHC34B.js} +9 -9
  174. package/dist/find-LEBUXVL7.js +11 -0
  175. package/dist/forget/index.js +9 -9
  176. package/dist/guards/index.js +3 -3
  177. package/dist/history/index.js +16 -12
  178. package/dist/history/index.js.map +1 -1
  179. package/dist/i18n/index.js +16 -14
  180. package/dist/i18n/index.js.map +1 -1
  181. package/dist/index.d.ts +17 -16
  182. package/dist/index.js +155 -211
  183. package/dist/index.js.map +1 -1
  184. package/dist/indexing/index.js +4 -2
  185. package/dist/indexing/index.js.map +1 -1
  186. package/dist/issue-5X3SMCF4.js +19 -0
  187. package/dist/kernel/collection.d.ts +0 -1
  188. package/dist/kernel/enclave/crypto.d.ts +8 -8
  189. package/dist/kernel/enclave/index.d.ts +2 -2
  190. package/dist/kernel/errors.d.ts +20 -20
  191. package/dist/kernel/lazy.d.ts +30 -0
  192. package/dist/kernel/noydb.d.ts +53 -101
  193. package/dist/kernel/query/builder.d.ts +10 -10
  194. package/dist/kernel/query/index.d.ts +0 -6
  195. package/dist/kernel/query/scan-builder.d.ts +4 -4
  196. package/dist/kernel/types.d.ts +87 -46
  197. package/dist/kernel/validation.d.ts +33 -33
  198. package/dist/kernel/vault.d.ts +12 -149
  199. package/dist/kernel/via/dispatch.d.ts +7 -0
  200. package/dist/{ledger-SW6QQOAV.js → ledger-K6JBFL3Z.js} +11 -11
  201. package/dist/liberate-NHTCKBU4.js +24 -0
  202. package/dist/{link-set-GNGGCFI4.js → link-set-XVZY2ODC.js} +11 -11
  203. package/dist/materialized-views/index.js +22 -19
  204. package/dist/noydb-TI3RFU6M.js +78 -0
  205. package/dist/overlay-views/index.js +4 -4
  206. package/dist/periods/index.js +15 -13
  207. package/dist/pod/index.js +11 -12
  208. package/dist/{policy-EAXSJNOT.js → policy-QWGJB7P7.js} +5 -5
  209. package/dist/port/with/collection-options.d.ts +171 -0
  210. package/dist/port/with/collection-registries.d.ts +62 -0
  211. package/dist/port/with/strategies.d.ts +2 -2
  212. package/dist/port/with/team-strategy.d.ts +3 -2
  213. package/dist/portability/index.js +8 -8
  214. package/dist/{post-register-A7HCFBP5.js → post-register-5VHHVFJY.js} +6 -6
  215. package/dist/query/index.js +6 -46
  216. package/dist/{aggregate → reduce}/index.js +24 -17
  217. package/dist/reduce/index.js.map +1 -0
  218. package/dist/register-CEX7R7NE.js +23 -0
  219. package/dist/registry-7CZWF3EQ.js +9 -0
  220. package/dist/registry-DIKMRXUC.js +19 -0
  221. package/dist/registry-EWIB5NTI.js +18 -0
  222. package/dist/request-withdrawal-AAG57QO4.js +31 -0
  223. package/dist/{reveal-PB3YG544.js → reveal-7OOT5XPD.js} +6 -6
  224. package/dist/revoke-U5LCIJMF.js +24 -0
  225. package/dist/satellites/index.js +1 -1
  226. package/dist/sealed-record/index.js +12 -12
  227. package/dist/{seed-EKF4DIBB.js → seed-GVOI6QP6.js} +12 -12
  228. package/dist/seed-GVOI6QP6.js.map +1 -0
  229. package/dist/session/index.js +13 -9
  230. package/dist/session/index.js.map +1 -1
  231. package/dist/shadow/index.js +6 -2
  232. package/dist/shadow/index.js.map +1 -1
  233. package/dist/signer-NAA2OX7H.js +25 -0
  234. package/dist/snapshots/index.js +14 -10
  235. package/dist/snapshots/index.js.map +1 -1
  236. package/dist/{stale-4UNPHWOU.js → stale-BJO2WIN7.js} +11 -10
  237. package/dist/storage-FL7XXZTN.js +23 -0
  238. package/dist/{store-coordination-provider-3AELCZ4Y.js → store-coordination-provider-DX5HECK3.js} +3 -3
  239. package/dist/sync/index.js +14 -10
  240. package/dist/sync/index.js.map +1 -1
  241. package/dist/team/index.js +26 -28
  242. package/dist/tiers/index.js +10 -10
  243. package/dist/to/index.js +1 -1
  244. package/dist/tx/index.js +7 -3
  245. package/dist/tx/index.js.map +1 -1
  246. package/dist/util/index.js +1 -1
  247. package/dist/{verify-MXN66IIH.js → verify-5X37OXRY.js} +5 -5
  248. package/dist/via/blob/index.d.ts +2 -0
  249. package/dist/via/i18n/core.d.ts +1 -1
  250. package/dist/via/i18n/index.d.ts +2 -0
  251. package/dist/via/money/money-reducer.d.ts +2 -2
  252. package/dist/{walk-H4YE52S2.js → walk-JXMWKKQW.js} +11 -11
  253. package/dist/with-audit/consent/index.d.ts +2 -0
  254. package/dist/with-audit/periods/index.d.ts +2 -0
  255. package/dist/with-audit/portability/export-accessible.d.ts +4 -4
  256. package/dist/with-audit/portability/request-withdrawal.d.ts +3 -3
  257. package/dist/with-audit/portability/withdraw-accessible.d.ts +2 -2
  258. package/dist/with-audit/sealed-record/strategy.d.ts +1 -1
  259. package/dist/with-cargo/adopt-partition.d.ts +7 -7
  260. package/dist/with-cargo/floor.d.ts +3 -3
  261. package/dist/with-cargo/index.d.ts +1 -1
  262. package/dist/with-commit/crdt/index.d.ts +2 -0
  263. package/dist/with-commit/history/index.d.ts +2 -0
  264. package/dist/with-commit/history/time-machine.d.ts +2 -2
  265. package/dist/with-fork/shadow/index.d.ts +2 -0
  266. package/dist/with-fork/snapshots/index.d.ts +2 -0
  267. package/dist/with-formula/derivations/dispatch.d.ts +98 -0
  268. package/dist/with-formula/materialized-views/dispatch.d.ts +75 -0
  269. package/dist/with-formula/materialized-views/types.d.ts +7 -7
  270. package/dist/with-lookup/indexing/index.d.ts +2 -0
  271. package/dist/with-lookup/{aggregate → reduce}/active.d.ts +8 -8
  272. package/dist/with-lookup/{aggregate → reduce}/groupby.d.ts +21 -21
  273. package/dist/with-lookup/reduce/index.d.ts +34 -0
  274. package/dist/with-lookup/{aggregate → reduce}/reducers.d.ts +10 -10
  275. package/dist/with-lookup/{aggregate/aggregation.d.ts → reduce/reduction.d.ts} +21 -21
  276. package/dist/with-lookup/{aggregate → reduce}/strategy.d.ts +15 -15
  277. package/dist/with-party/custody/liberate.d.ts +3 -3
  278. package/dist/with-party/session/dev-unlock.d.ts +2 -2
  279. package/dist/with-party/session/index.d.ts +2 -0
  280. package/dist/with-party/session/session.d.ts +2 -2
  281. package/dist/with-party/sync/index.d.ts +2 -0
  282. package/dist/with-party/team/deed.d.ts +8 -8
  283. package/dist/with-party/team/index.d.ts +2 -2
  284. package/dist/with-party/team/keyring.d.ts +39 -20
  285. package/dist/with-party/team/{managed-passphrase.d.ts → managed-secret.d.ts} +27 -27
  286. package/dist/with-party/team/noydb-facade.d.ts +43 -42
  287. package/dist/with-party/team/peer-recover.d.ts +13 -13
  288. package/dist/with-party/team/recovery.d.ts +5 -5
  289. package/dist/with-party/team/rotate-recover.d.ts +30 -30
  290. package/dist/with-pod/bundle.d.ts +30 -30
  291. package/dist/with-pod/format.d.ts +2 -2
  292. package/dist/withdraw-accessible-GO6KQJVM.js +28 -0
  293. package/package.json +6 -34
  294. package/dist/aggregate/index.js.map +0 -1
  295. package/dist/api-UPAT2O3M.js +0 -20
  296. package/dist/as/index.js +0 -30
  297. package/dist/at/index.js +0 -1
  298. package/dist/by/index.js +0 -11
  299. package/dist/chunk-25ZDB25Z.js.map +0 -1
  300. package/dist/chunk-2KL6NDD4.js.map +0 -1
  301. package/dist/chunk-2YELV6TV.js +0 -1
  302. package/dist/chunk-3O62PVDW.js +0 -205
  303. package/dist/chunk-3O62PVDW.js.map +0 -1
  304. package/dist/chunk-3XVOLB75.js.map +0 -1
  305. package/dist/chunk-4X6DJZHY.js.map +0 -1
  306. package/dist/chunk-5BHNQNBI.js.map +0 -1
  307. package/dist/chunk-5P5AAXYA.js.map +0 -1
  308. package/dist/chunk-BCOKZC4B.js.map +0 -1
  309. package/dist/chunk-BLB7P7LS.js.map +0 -1
  310. package/dist/chunk-CCT4WZI6.js.map +0 -1
  311. package/dist/chunk-CGPO3ZYB.js.map +0 -1
  312. package/dist/chunk-DEQ2JTBR.js.map +0 -1
  313. package/dist/chunk-GBEXTC6Z.js.map +0 -1
  314. package/dist/chunk-HKR25MGX.js.map +0 -1
  315. package/dist/chunk-IGM563N5.js.map +0 -1
  316. package/dist/chunk-J3VW4J4E.js.map +0 -1
  317. package/dist/chunk-JA5O7UEZ.js.map +0 -1
  318. package/dist/chunk-JIMEB4C6.js.map +0 -1
  319. package/dist/chunk-KMONEHDJ.js +0 -54
  320. package/dist/chunk-KMONEHDJ.js.map +0 -1
  321. package/dist/chunk-KR5EGWI4.js.map +0 -1
  322. package/dist/chunk-LB7FD65R.js +0 -163
  323. package/dist/chunk-LB7FD65R.js.map +0 -1
  324. package/dist/chunk-MEKAMERX.js.map +0 -1
  325. package/dist/chunk-QUIG6BZT.js.map +0 -1
  326. package/dist/chunk-QYJIOWKN.js.map +0 -1
  327. package/dist/chunk-U73LHVPF.js.map +0 -1
  328. package/dist/chunk-UEO5CHOP.js.map +0 -1
  329. package/dist/chunk-W7TCXZWU.js.map +0 -1
  330. package/dist/chunk-WEC3JGBA.js +0 -255
  331. package/dist/chunk-WEC3JGBA.js.map +0 -1
  332. package/dist/chunk-WJDYZP3U.js.map +0 -1
  333. package/dist/chunk-XULHFSHO.js.map +0 -1
  334. package/dist/collection-facade-CMZGQ6IS.js +0 -44
  335. package/dist/delegation-UT76AQIG.js +0 -25
  336. package/dist/derive-SGRCCKVP.js +0 -21
  337. package/dist/executor-TEZYRDN3.js +0 -9
  338. package/dist/executor-WQQRU6DO.js +0 -9
  339. package/dist/executor-YORMIBWV.js +0 -26
  340. package/dist/export-accessible-HXMKW5LJ.js +0 -23
  341. package/dist/extract-partition-QGQ2R42J.js +0 -38
  342. package/dist/find-VV6PBIHK.js +0 -11
  343. package/dist/in/index.js +0 -1
  344. package/dist/issue-7JJ4Z7E2.js +0 -19
  345. package/dist/liberate-FK7JI2QX.js +0 -24
  346. package/dist/noydb-N5IW6OFZ.js +0 -70
  347. package/dist/on/index.js +0 -17
  348. package/dist/port/as/index.d.ts +0 -26
  349. package/dist/port/at/index.d.ts +0 -18
  350. package/dist/port/in/index.d.ts +0 -21
  351. package/dist/port/on/index.d.ts +0 -27
  352. package/dist/port/ui/index.d.ts +0 -21
  353. package/dist/port/with/index.d.ts +0 -18
  354. package/dist/register-YBMRLZLO.js +0 -23
  355. package/dist/registry-3LXKNXWI.js +0 -9
  356. package/dist/registry-4V4YQCXJ.js +0 -19
  357. package/dist/registry-ZULMLCJK.js +0 -18
  358. package/dist/request-withdrawal-SEVUEUDG.js +0 -31
  359. package/dist/request-withdrawal-SEVUEUDG.js.map +0 -1
  360. package/dist/revoke-5QULL5GT.js +0 -24
  361. package/dist/revoke-5QULL5GT.js.map +0 -1
  362. package/dist/seed-EKF4DIBB.js.map +0 -1
  363. package/dist/signer-ZMH35FT4.js +0 -25
  364. package/dist/signer-ZMH35FT4.js.map +0 -1
  365. package/dist/stale-4UNPHWOU.js.map +0 -1
  366. package/dist/storage-QOZKQMID.js +0 -23
  367. package/dist/storage-QOZKQMID.js.map +0 -1
  368. package/dist/ui/index.js +0 -1
  369. package/dist/ui/index.js.map +0 -1
  370. package/dist/with/index.js +0 -31
  371. package/dist/with/index.js.map +0 -1
  372. package/dist/with-lookup/aggregate/index.d.ts +0 -23
  373. package/dist/withdraw-accessible-HPOVNG2G.js +0 -28
  374. package/dist/withdraw-accessible-HPOVNG2G.js.map +0 -1
  375. /package/dist/{api-UPAT2O3M.js.map → api-5QVQX4HG.js.map} +0 -0
  376. /package/dist/{backup-JL2GOTYQ.js.map → backup-USYSNCYM.js.map} +0 -0
  377. /package/dist/{chunk-JLHKBAFY.js.map → chunk-2BVW754E.js.map} +0 -0
  378. /package/dist/{chunk-T7S4V52L.js.map → chunk-2PDBYF2O.js.map} +0 -0
  379. /package/dist/{chunk-YGBIBOCR.js.map → chunk-2ZSC454H.js.map} +0 -0
  380. /package/dist/{chunk-IGAIOGCN.js.map → chunk-32467U5J.js.map} +0 -0
  381. /package/dist/{chunk-JW3XCZA2.js.map → chunk-3TZUC4WS.js.map} +0 -0
  382. /package/dist/{chunk-JA5B3SLH.js.map → chunk-44Y3P5U6.js.map} +0 -0
  383. /package/dist/{chunk-25G7U6RD.js.map → chunk-4B3DL75F.js.map} +0 -0
  384. /package/dist/{chunk-L4OA7G5T.js.map → chunk-522MBPE5.js.map} +0 -0
  385. /package/dist/{chunk-M25ZIEB2.js.map → chunk-5HSSTOOG.js.map} +0 -0
  386. /package/dist/{chunk-LLVW4V7R.js.map → chunk-5WLDZZ6S.js.map} +0 -0
  387. /package/dist/{chunk-7B4GPCX7.js.map → chunk-7IQWHYL2.js.map} +0 -0
  388. /package/dist/{chunk-OWE4BNTM.js.map → chunk-AZXEOEQK.js.map} +0 -0
  389. /package/dist/{chunk-BZEPJJOK.js.map → chunk-C2V7AJO2.js.map} +0 -0
  390. /package/dist/{chunk-2JZ763FV.js.map → chunk-D4LAJ737.js.map} +0 -0
  391. /package/dist/{chunk-N4FZ6ITM.js.map → chunk-EGU4PWQW.js.map} +0 -0
  392. /package/dist/{chunk-EW4HFWGJ.js.map → chunk-EPME33Y4.js.map} +0 -0
  393. /package/dist/{chunk-JKWNG3TM.js.map → chunk-FHHYCBBP.js.map} +0 -0
  394. /package/dist/{chunk-5BB3N4KU.js.map → chunk-G4MFQXYX.js.map} +0 -0
  395. /package/dist/{chunk-KVHWEPT2.js.map → chunk-GHEMAVTN.js.map} +0 -0
  396. /package/dist/{chunk-XW7NWO4A.js.map → chunk-GTNRMJYH.js.map} +0 -0
  397. /package/dist/{chunk-YG2EG6CB.js.map → chunk-H5GMROCB.js.map} +0 -0
  398. /package/dist/{chunk-5KI3REO3.js.map → chunk-HDF5R2K6.js.map} +0 -0
  399. /package/dist/{chunk-V3YB7RGR.js.map → chunk-HVPW6PCX.js.map} +0 -0
  400. /package/dist/{chunk-2VUISNGP.js.map → chunk-HXVRRJBD.js.map} +0 -0
  401. /package/dist/{chunk-ZJGZDOQO.js.map → chunk-ICYC5YNI.js.map} +0 -0
  402. /package/dist/{chunk-AFBJHD55.js.map → chunk-JGOKAZNB.js.map} +0 -0
  403. /package/dist/{chunk-QXPOEAKR.js.map → chunk-KCZAFDP5.js.map} +0 -0
  404. /package/dist/{chunk-MSO2C3KG.js.map → chunk-LC7DSMHR.js.map} +0 -0
  405. /package/dist/{chunk-OVFCAS7U.js.map → chunk-LG2GUYRX.js.map} +0 -0
  406. /package/dist/{chunk-QDNVHA2F.js.map → chunk-M7W2KYTL.js.map} +0 -0
  407. /package/dist/{chunk-IUIVDVXM.js.map → chunk-MUPZ6IZX.js.map} +0 -0
  408. /package/dist/{chunk-GZ2GKOF6.js.map → chunk-NA374QG7.js.map} +0 -0
  409. /package/dist/{chunk-2U7Y7BNJ.js.map → chunk-ONB627HU.js.map} +0 -0
  410. /package/dist/{chunk-GYB2QK5H.js.map → chunk-OWLZONGX.js.map} +0 -0
  411. /package/dist/{chunk-YHPUDB7Q.js.map → chunk-OWOT7CFC.js.map} +0 -0
  412. /package/dist/{chunk-VEX6G3YL.js.map → chunk-P4NUJVWL.js.map} +0 -0
  413. /package/dist/{chunk-NM4LVUXH.js.map → chunk-PTT2NB46.js.map} +0 -0
  414. /package/dist/{chunk-2ITLQZV5.js.map → chunk-PWWWMRT7.js.map} +0 -0
  415. /package/dist/{chunk-FLHOTGOO.js.map → chunk-QVGEVZ5F.js.map} +0 -0
  416. /package/dist/{chunk-OGFPMCSP.js.map → chunk-SBOHNJUD.js.map} +0 -0
  417. /package/dist/{chunk-EDC6MLXV.js.map → chunk-SEU6QHH4.js.map} +0 -0
  418. /package/dist/{chunk-F4COUZLL.js.map → chunk-TMR64XPL.js.map} +0 -0
  419. /package/dist/{chunk-5OZCCLNC.js.map → chunk-TSNRZSRC.js.map} +0 -0
  420. /package/dist/{chunk-2RMDVWGB.js.map → chunk-UNREYBZO.js.map} +0 -0
  421. /package/dist/{chunk-QCUH2G77.js.map → chunk-VNJMLOQS.js.map} +0 -0
  422. /package/dist/{chunk-V7RGFJ3Z.js.map → chunk-XG7OZDOS.js.map} +0 -0
  423. /package/dist/{chunk-GS3Q2KOZ.js.map → chunk-XONZGK6J.js.map} +0 -0
  424. /package/dist/{chunk-5SZ24DL5.js.map → chunk-XSOGLHGY.js.map} +0 -0
  425. /package/dist/{chunk-NOT7XA7Q.js.map → chunk-YGMREQAK.js.map} +0 -0
  426. /package/dist/{chunk-H4SMS4O2.js.map → chunk-YJ3TREAC.js.map} +0 -0
  427. /package/dist/{chunk-E2R5NRZD.js.map → chunk-Z4D3YGAB.js.map} +0 -0
  428. /package/dist/{chunk-BZK6JEX4.js.map → chunk-ZF572E2M.js.map} +0 -0
  429. /package/dist/{chunk-QAFWRGVD.js.map → chunk-ZHMUFYZF.js.map} +0 -0
  430. /package/dist/{chunk-BVZGNMVM.js.map → chunk-ZHZ4PET5.js.map} +0 -0
  431. /package/dist/{chunk-IZX3WZBF.js.map → chunk-ZM72UO3Y.js.map} +0 -0
  432. /package/dist/{chunk-STR7WBOB.js.map → chunk-ZUDAK436.js.map} +0 -0
  433. /package/dist/{chunk-ITI3SJRB.js.map → chunk-ZX5FNWH7.js.map} +0 -0
  434. /package/dist/{classified-marker-7S5IEP6Q.js.map → classified-marker-SVDRXLD3.js.map} +0 -0
  435. /package/dist/{as/index.js.map → collection-facade-S5PPKZD5.js.map} +0 -0
  436. /package/dist/{at/index.js.map → computed-33DRJDOC.js.map} +0 -0
  437. /package/dist/{by/index.js.map → cover-ADBCTIKN.js.map} +0 -0
  438. /package/dist/{dead-filter-KRRD57MR.js.map → dead-filter-HKDMTMVY.js.map} +0 -0
  439. /package/dist/{chunk-2YELV6TV.js.map → delegation-EV7LKJPH.js.map} +0 -0
  440. /package/dist/{collection-facade-CMZGQ6IS.js.map → derive-5LDJW76F.js.map} +0 -0
  441. /package/dist/{computed-WZNKRLCY.js.map → enclave-ZA7C3H2L.js.map} +0 -0
  442. /package/dist/{cover-B5MY43CK.js.map → executor-FCJEH3FU.js.map} +0 -0
  443. /package/dist/{delegation-UT76AQIG.js.map → executor-OHET7TF7.js.map} +0 -0
  444. /package/dist/{derive-SGRCCKVP.js.map → executor-SVHAJZ4A.js.map} +0 -0
  445. /package/dist/{enclave-YFKA3GJT.js.map → export-accessible-S35YKIBL.js.map} +0 -0
  446. /package/dist/{executor-TEZYRDN3.js.map → extract-partition-UVHAM5WZ.js.map} +0 -0
  447. /package/dist/{fanout-sidecar-HJV3A7PM.js.map → fanout-sidecar-HRMHC34B.js.map} +0 -0
  448. /package/dist/{executor-WQQRU6DO.js.map → find-LEBUXVL7.js.map} +0 -0
  449. /package/dist/{executor-YORMIBWV.js.map → issue-5X3SMCF4.js.map} +0 -0
  450. /package/dist/{export-accessible-HXMKW5LJ.js.map → ledger-K6JBFL3Z.js.map} +0 -0
  451. /package/dist/{extract-partition-QGQ2R42J.js.map → liberate-NHTCKBU4.js.map} +0 -0
  452. /package/dist/{find-VV6PBIHK.js.map → link-set-XVZY2ODC.js.map} +0 -0
  453. /package/dist/{in/index.js.map → noydb-TI3RFU6M.js.map} +0 -0
  454. /package/dist/{issue-7JJ4Z7E2.js.map → policy-QWGJB7P7.js.map} +0 -0
  455. /package/dist/{post-register-A7HCFBP5.js.map → post-register-5VHHVFJY.js.map} +0 -0
  456. /package/dist/{ledger-SW6QQOAV.js.map → register-CEX7R7NE.js.map} +0 -0
  457. /package/dist/{liberate-FK7JI2QX.js.map → registry-7CZWF3EQ.js.map} +0 -0
  458. /package/dist/{link-set-GNGGCFI4.js.map → registry-DIKMRXUC.js.map} +0 -0
  459. /package/dist/{noydb-N5IW6OFZ.js.map → registry-EWIB5NTI.js.map} +0 -0
  460. /package/dist/{on/index.js.map → request-withdrawal-AAG57QO4.js.map} +0 -0
  461. /package/dist/{reveal-PB3YG544.js.map → reveal-7OOT5XPD.js.map} +0 -0
  462. /package/dist/{policy-EAXSJNOT.js.map → revoke-U5LCIJMF.js.map} +0 -0
  463. /package/dist/{register-YBMRLZLO.js.map → signer-NAA2OX7H.js.map} +0 -0
  464. /package/dist/{registry-3LXKNXWI.js.map → stale-BJO2WIN7.js.map} +0 -0
  465. /package/dist/{registry-4V4YQCXJ.js.map → storage-FL7XXZTN.js.map} +0 -0
  466. /package/dist/{store-coordination-provider-3AELCZ4Y.js.map → store-coordination-provider-DX5HECK3.js.map} +0 -0
  467. /package/dist/{verify-MXN66IIH.js.map → verify-5X37OXRY.js.map} +0 -0
  468. /package/dist/{walk-H4YE52S2.js.map → walk-JXMWKKQW.js.map} +0 -0
  469. /package/dist/with-lookup/{aggregate → reduce}/canonical-key.d.ts +0 -0
  470. /package/dist/{registry-ZULMLCJK.js.map → withdraw-accessible-GO6KQJVM.js.map} +0 -0
@@ -1,18 +1,18 @@
1
1
  /**
2
2
  * Strategy seam between the core Query / ScanBuilder chain and the
3
3
  * optional aggregate / groupBy service. Core imports
4
- * `AggregateStrategy` as a TYPE-ONLY symbol and `NO_AGGREGATE` as a
4
+ * `ReduceStrategy` as a TYPE-ONLY symbol and `NO_REDUCE` as a
5
5
  * tiny runtime stub.
6
6
  *
7
- * The heavy machinery — `Aggregation`, `GroupedQuery`, the
8
- * reducer-step logic — is only reachable from `withAggregate()` in
7
+ * The heavy machinery — `Reduction`, `GroupedQuery`, the
8
+ * reducer-step logic — is only reachable from `withReduce()` in
9
9
  * `./active.ts`, which is only exported through the
10
- * `@noy-db/hub/aggregate` subpath. Consumers that don't import the
10
+ * `@noy-db/hub/reduce` subpath. Consumers that don't import the
11
11
  * subpath ship none of the ~886 LOC.
12
12
  *
13
13
  * @internal
14
14
  */
15
- import type { Aggregation, AggregateSpec, AggregateResult, AggregationUpstream } from './aggregation.js';
15
+ import type { Reduction, ReduceSpec, ReduceResult, ReductionUpstream } from './reduction.js';
16
16
  import type { GroupedQuery, GroupedQueryN } from './groupby.js';
17
17
  import type { ViaPipeline } from '../../kernel/via/pipeline.js';
18
18
  /**
@@ -21,39 +21,39 @@ import type { ViaPipeline } from '../../kernel/via/pipeline.js';
21
21
  *
22
22
  * @internal
23
23
  */
24
- export interface AggregateStrategy {
24
+ export interface ReduceStrategy {
25
25
  /**
26
- * Build an `Aggregation<R>` for `Query.aggregate(spec)`. `executeRecords`
26
+ * Build an `Reduction<R>` for `Query.aggregate(spec)`. `executeRecords`
27
27
  * is a closure that produces the matching record set when the
28
- * aggregation runs. NO_AGGREGATE throws; the active strategy
29
- * constructs a real `Aggregation`.
28
+ * reduction runs. NO_REDUCE throws; the active strategy
29
+ * constructs a real `Reduction`.
30
30
  */
31
- aggregate<Spec extends AggregateSpec>(executeRecords: () => readonly unknown[], spec: Spec, upstreams: readonly AggregationUpstream[]): Aggregation<AggregateResult<Spec>>;
31
+ aggregate<Spec extends ReduceSpec>(executeRecords: () => readonly unknown[], spec: Spec, upstreams: readonly ReductionUpstream[]): Reduction<ReduceResult<Spec>>;
32
32
  /**
33
33
  * Build a `GroupedQuery<T, F, S>` for `Query.groupBy(field)`. Same
34
34
  * closure / upstream inputs as `aggregate` plus the group key field.
35
35
  */
36
- groupBy<T, F extends string, S extends keyof T = never, M extends keyof T & string = never>(executeRecords: () => readonly unknown[], field: F, upstreams: readonly AggregationUpstream[], dictLabelResolver?: (key: string, locale: string, fallback?: string | readonly string[]) => Promise<string | undefined>, via?: ViaPipeline): GroupedQuery<T, F, S, M>;
36
+ groupBy<T, F extends string, S extends keyof T = never, M extends keyof T & string = never>(executeRecords: () => readonly unknown[], field: F, upstreams: readonly ReductionUpstream[], dictLabelResolver?: (key: string, locale: string, fallback?: string | readonly string[]) => Promise<string | undefined>, via?: ViaPipeline): GroupedQuery<T, F, S, M>;
37
37
  /**
38
38
  * Variadic-keyed sibling — builds a `GroupedQueryN<T, F, S>` for
39
39
  * `Query.groupBy(...fields)`. No dictLabelResolver — `<field>Label`
40
40
  * projection only applies to single-field groupings, which dispatch
41
41
  * through `groupBy` above.
42
42
  */
43
- groupByN<T, F extends readonly string[], S extends keyof T = never, M extends keyof T & string = never>(executeRecords: () => readonly unknown[], fields: F, upstreams: readonly AggregationUpstream[], via?: ViaPipeline): GroupedQueryN<T, F, S, M>;
43
+ groupByN<T, F extends readonly string[], S extends keyof T = never, M extends keyof T & string = never>(executeRecords: () => readonly unknown[], fields: F, upstreams: readonly ReductionUpstream[], via?: ViaPipeline): GroupedQueryN<T, F, S, M>;
44
44
  /**
45
45
  * Terminal streaming aggregator for `ScanBuilder.aggregate(spec)`.
46
46
  * Takes an async iterable of decrypted records + the spec and
47
47
  * returns the reduced result.
48
48
  */
49
- scanAggregate<Spec extends AggregateSpec>(iter: AsyncIterable<unknown>, spec: Spec): Promise<AggregateResult<Spec>>;
49
+ scanAggregate<Spec extends ReduceSpec>(iter: AsyncIterable<unknown>, spec: Spec): Promise<ReduceResult<Spec>>;
50
50
  }
51
51
  /**
52
52
  * No-aggregate stub. Every `.aggregate()` / `.groupBy()` / streaming
53
53
  * `scan().aggregate()` call throws with a pointer at the subpath. The
54
- * real `Aggregation` / `GroupedQuery` classes are never referenced at
54
+ * real `Reduction` / `GroupedQuery` classes are never referenced at
55
55
  * runtime, so the bundler drops the ~886 LOC.
56
56
  *
57
57
  * @internal
58
58
  */
59
- export declare const NO_AGGREGATE: AggregateStrategy;
59
+ export declare const NO_REDUCE: ReduceStrategy;
@@ -24,7 +24,7 @@
24
24
  * unseal the original sealed owner. The old sealed-owner credential is left
25
25
  * untouched and ORPHANED (its `_keyring/<id>` file remains, its KEK is still
26
26
  * sealed under the non-firm provider), never impersonated. The new owner is a
27
- * DISTINCT principal under a fresh KEK derived from `newOwnerPassphrase`. This
27
+ * DISTINCT principal under a fresh KEK derived from `newOwnerSecret`. This
28
28
  * preserves the inalienability floor: the act of claiming ownership is itself
29
29
  * auditable and produces a different principal, rather than silently assuming
30
30
  * the latent owner's identity.
@@ -47,8 +47,8 @@ import type { FrozenSnapshotRef } from '../../with-audit/portability/withdraw-ac
47
47
  export interface LiberateOptions {
48
48
  /** The id of the new owner principal the custodian mints by claiming ownership. */
49
49
  readonly newOwnerId: string;
50
- /** The passphrase that derives the new owner's KEK (the DEKs are re-wrapped under it). */
51
- readonly newOwnerPassphrase: string;
50
+ /** The secret that derives the new owner's KEK (the DEKs are re-wrapped under it). */
51
+ readonly newOwnerSecret: string;
52
52
  /** Legal/contractual basis recorded in the audit (e.g. 'contractual-handover'). */
53
53
  readonly legalBasis: string;
54
54
  readonly factors?: FactorProofBundle;
@@ -2,11 +2,11 @@
2
2
  * Dev-mode persistent unlock —
3
3
  *
4
4
  * Solves the developer inner-loop friction: hot-reload destroys the session
5
- * (page navigation semantics), forcing a passphrase re-entry every refresh.
5
+ * (page navigation semantics), forcing a secret re-entry every refresh.
6
6
  *
7
7
  * This module provides an opt-in, deliberately-named escape hatch that lets
8
8
  * developers store the keyring payload in sessionStorage or localStorage so
9
- * the vault auto-unlocks on every page load — without a passphrase,
9
+ * the vault auto-unlocks on every page load — without a secret,
10
10
  * without a biometric prompt, without any OIDC flow.
11
11
  *
12
12
  * ⚠️ WARNING — this is a loaded footgun ⚠️
@@ -21,3 +21,5 @@ export type { DevUnlockOptions } from './dev-unlock.js';
21
21
  export { withSession } from './active.js';
22
22
  export type { SessionStrategy } from './strategy.js';
23
23
  export { SessionExpiredError, SessionNotFoundError, SessionPolicyError, } from '../../kernel/errors.js';
24
+ /** The un-opted-in stub for this service — exported so callers can compare against it (#844). */
25
+ export { NO_SESSION } from './strategy.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Session tokens —
3
3
  *
4
- * After a vault is unlocked (via passphrase, WebAuthn, OIDC, or magic-
4
+ * After a vault is unlocked (via secret, WebAuthn, OIDC, or magic-
5
5
  * link), the caller can call `createSession()` to get a session token that
6
6
  * allows re-establishing the KEK for the session lifetime without re-running
7
7
  * PBKDF2 or any interactive auth challenge.
@@ -75,7 +75,7 @@ export interface CreateSessionOptions {
75
75
  /**
76
76
  * Create a session for an already-unlocked keyring.
77
77
  *
78
- * Call this after any successful unlock (passphrase, WebAuthn, OIDC,
78
+ * Call this after any successful unlock (secret, WebAuthn, OIDC,
79
79
  * magic-link). The returned `sessionId` is the handle for later
80
80
  * `resolveSession()` and `revokeSession()` calls.
81
81
  *
@@ -29,3 +29,5 @@
29
29
  */
30
30
  export { withSync } from '../team/sync-active.js';
31
31
  export type { SyncStrategy } from '../team/sync-strategy.js';
32
+ /** The un-opted-in stub for this service — exported so callers can compare against it (#844). */
33
+ export { NO_SYNC } from '../team/sync-strategy.js';
@@ -2,7 +2,7 @@
2
2
  * FR-6 — Deed: sealed / hidden-owner provisioning.
3
3
  *
4
4
  * A **Deed** is a vault owned by a *latent* principal who never
5
- * authenticates. The owner credential (the random passphrase that
5
+ * authenticates. The owner credential (the random secret that
6
6
  * derives `KEK_owner`) is minted machine-side and sealed under a
7
7
  * **non-firm** {@link SealingKeyProvider} — that sealing boundary is
8
8
  * the cryptographic *inalienability anchor*: whoever holds the
@@ -13,10 +13,10 @@
13
13
  *
14
14
  * Provisioning reuses the managed-mode seam:
15
15
  * - {@link resolveManagedSecret} mints + seals + persists the random
16
- * passphrase at `_meta/sealed-passphrase` (and unseals it on every
16
+ * secret at `_meta/sealed-secret` (and unseals it on every
17
17
  * subsequent open through the same provider).
18
18
  * - {@link createOwnerKeyring} derives `KEK_owner` from that
19
- * passphrase and writes the `_keyring/<ownerUserId>` file.
19
+ * secret and writes the `_keyring/<ownerUserId>` file.
20
20
  *
21
21
  * On top of that, a Deed writes a `_meta/deed` **marker**. The marker
22
22
  * is PLAINTEXT metadata — it records WHO the latent owner is and WHICH
@@ -30,7 +30,7 @@
30
30
  */
31
31
  import type { NoydbStore } from '../../kernel/types.js';
32
32
  import type { UnlockedKeyring } from './keyring.js';
33
- import type { SealingKeyProvider } from './managed-passphrase.js';
33
+ import type { SealingKeyProvider } from './managed-secret.js';
34
34
  /** Reserved id for the Deed marker under `_meta`. */
35
35
  export declare const DEED_RECORD_ID: "deed";
36
36
  /**
@@ -60,7 +60,7 @@ export interface DeedMarker {
60
60
  }
61
61
  /**
62
62
  * Provision a Deed: a latent owner whose credential is sealed under
63
- * `sealing` (a NON-firm provider). Mints + seals the owner passphrase
63
+ * `sealing` (a NON-firm provider). Mints + seals the owner secret
64
64
  * via {@link resolveManagedSecret}, derives the owner keyring via
65
65
  * {@link createOwnerKeyring}, then writes the plaintext `_meta/deed`
66
66
  * marker. Returns the unlocked owner keyring.
@@ -68,8 +68,8 @@ export interface DeedMarker {
68
68
  * The returned keyring is the only in-memory window onto `KEK_owner`
69
69
  * for this call; the persistent re-entry point is the sealing provider
70
70
  * (re-run {@link resolveManagedSecret} with the same provider to
71
- * re-resolve the passphrase, then {@link createOwnerKeyring}/load to
72
- * unlock — no interactive passphrase is ever required).
71
+ * re-resolve the secret, then {@link createOwnerKeyring}/load to
72
+ * unlock — no interactive secret is ever required).
73
73
  *
74
74
  * There is deliberately no firm-controlled fallback: the marker's
75
75
  * `sealedUnder` is the single cryptographic anchor of ownership.
@@ -85,7 +85,7 @@ export declare function loadDeedMarker(store: NoydbStore, vault: string): Promis
85
85
  export declare function isDeedVault(store: NoydbStore, vault: string): Promise<boolean>;
86
86
  /**
87
87
  * Persist a {@link DeedMarker} at `_meta/deed`. Mirrors
88
- * `saveSealedPassphrase`'s envelope shape: a standard
88
+ * `saveSealedSecret`'s envelope shape: a standard
89
89
  * {@link EncryptedEnvelope} with AES-GCM bypassed (`_iv: ''`), the
90
90
  * payload stored as plaintext JSON in `_data`. The marker is metadata,
91
91
  * not a secret — sealing it would defeat its purpose (auditors /
@@ -20,8 +20,8 @@ export { loadKeyring, createOwnerKeyring, grant, revoke, changeSecret, listUsers
20
20
  export type { BundleRecipient, ListUsersOptions } from './keyring.js';
21
21
  export { enrollAuthenticator, removeAuthenticator, updateAuthenticator, findAuthenticator, } from './authenticators.js';
22
22
  export type { EnrollAuthenticatorOptions, EnrollAuthenticatorWrappingKEKOptions, EnrollAuthenticatorWrappingDEKsOptions, UpdateAuthenticatorOptions, } from './authenticators.js';
23
- export { rotatePassphrase, recoverPassphrase, } from './rotate-recover.js';
24
- export type { RotatePassphraseInput, RecoverPassphraseInput, RecoverPassphraseResult, RecoveryProof, SlotRewrapContext, SlotRewrapCeremony, } from './rotate-recover.js';
23
+ export { rotateSecret, recoverSecret, } from './rotate-recover.js';
24
+ export type { RotateSecretInput, RecoverSecretInput, RecoverSecretResult, RecoveryProof, SlotRewrapContext, SlotRewrapCeremony, } from './rotate-recover.js';
25
25
  export { recoverUser } from './peer-recover.js';
26
26
  export type { RecoverUserOptions } from './peer-recover.js';
27
27
  export { mintPaperRecoveryEntry, unwrapDeksFromPaperEntry, loadPaperRecoveryEntries, savePaperRecoveryEntries, burnPaperRecoveryEntry, } from './recovery.js';
@@ -1,6 +1,6 @@
1
1
  import type { NoydbStore, KeyringFile, KeyringAuthenticator, Role, Permissions, GrantOptions, RevokeOptions, UpdateUserOptions, UserInfo, ExportCapability, ExportFormat, ImportCapability, VaultPolicyOnDisk, UserEnvelope } from '../../kernel/types.js';
2
2
  import { type EnclaveKey } from '../../kernel/enclave/index.js';
3
- import { type PassphrasePolicy } from '../../kernel/validation.js';
3
+ import { type SecretPolicy } from '../../kernel/validation.js';
4
4
  /** In-memory representation of an unlocked keyring. */
5
5
  export interface UnlockedKeyring {
6
6
  readonly userId: string;
@@ -9,7 +9,7 @@ export interface UnlockedKeyring {
9
9
  readonly permissions: Permissions;
10
10
  readonly deks: Map<string, EnclaveKey>;
11
11
  /**
12
- * The KEK, when this keyring was unlocked via tier 1 (passphrase) or
12
+ * The KEK, when this keyring was unlocked via tier 1 (secret) or
13
13
  * a wrap-KEK tier-2 method (WebAuthn / OIDC). `null` when the
14
14
  * keyring was opened via:
15
15
  *
@@ -72,7 +72,7 @@ export interface UnlockedKeyring {
72
72
  /** Mint a fresh wrapped-canary string. Deterministic for a given KEK. */
73
73
  export declare function mintKeyringCanary(kek: EnclaveKey): Promise<string>;
74
74
  /** Load and unlock a user's keyring for a vault. */
75
- export declare function loadKeyring(adapter: NoydbStore, vault: string, userId: string, passphrase: string): Promise<UnlockedKeyring>;
75
+ export declare function loadKeyring(adapter: NoydbStore, vault: string, userId: string, secret: string): Promise<UnlockedKeyring>;
76
76
  /**
77
77
  * Open-policy pre-gate: decide create-vs-fail-closed **before** any
78
78
  * vault write. `openVault` must not self-provision an owner keyring into a
@@ -81,21 +81,21 @@ export declare function loadKeyring(adapter: NoydbStore, vault: string, userId:
81
81
  * `store.list`. Returns when the open may proceed (the caller is a member, or
82
82
  * the vault is genuinely-new and `create` is allowed, in which case the caller
83
83
  * falls through to the normal `createOwnerKeyring` path); throws `NoAccessError`
84
- * otherwise. Placed before managed-passphrase secret resolution (which persists
84
+ * otherwise. Placed before managed-secret secret resolution (which persists
85
85
  * on first open), so a fail-closed open writes nothing.
86
86
  */
87
87
  export declare function assertKeyringOpenAllowed(store: NoydbStore, vault: string, userId: string, create: boolean): Promise<void>;
88
88
  /**
89
89
  * Create the initial owner keyring for a new vault.
90
90
  *
91
- * Pass `{ validate: true }` (or a `PassphrasePolicy`) to gate creation
91
+ * Pass `{ validate: true }` (or a `SecretPolicy`) to gate creation
92
92
  * on the phrase-format strength rules — `Noydb` threads this from
93
- * `NoydbOptions.validatePassphrase`. Direct callers (CLI, scripts,
93
+ * `NoydbOptions.validateSecret`. Direct callers (CLI, scripts,
94
94
  * test fixtures) opt in explicitly.
95
95
  */
96
- export declare function createOwnerKeyring(adapter: NoydbStore, vault: string, userId: string, passphrase: string, passphraseOpts?: PassphrasePolicy & {
96
+ export declare function createOwnerKeyring(adapter: NoydbStore, vault: string, userId: string, secret: string, secretOpts?: SecretPolicy & {
97
97
  validate?: boolean;
98
- allowWeakPassphrase?: boolean;
98
+ allowWeakSecret?: boolean;
99
99
  }): Promise<UnlockedKeyring>;
100
100
  /** Grant access to a new user. Caller must have grant privilege. */
101
101
  export declare function grant(adapter: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, options: GrantOptions): Promise<void>;
@@ -132,25 +132,44 @@ export declare function updateKeyringIdentity(adapter: NoydbStore, vault: string
132
132
  * 2. Re-encrypt all records in affected collections
133
133
  * 3. Re-wrap new DEKs for all remaining users
134
134
  */
135
- export declare function rotateKeys(adapter: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, collections: string[]): Promise<void>;
136
135
  /**
137
- * Change the user's passphrase. Re-wraps every DEK under the new KEK.
136
+ * What a DEK rotation leaves behind (#854).
138
137
  *
139
- * Validates the new passphrase against the strength rules unless
140
- * `allowWeakPassphrase: true` is passed. Mirrors `rotatePassphrase`'s
138
+ * A member's DEKs are wrapped under that member's KEK, and a KEK derives only
139
+ * from that member's secret so the caller cannot re-wrap a fresh DEK for
140
+ * anyone else. That is the zero-knowledge property working as designed, but it
141
+ * means rotation necessarily DROPS the rotated collections from every other
142
+ * member's keyring rather than re-keying them.
143
+ *
144
+ * `needsRegrant` names exactly who lost what, so the caller can re-run
145
+ * `grant()` instead of discovering the access loss later.
146
+ */
147
+ export interface RotateResult {
148
+ /** (member, collection) pairs whose access was dropped by the rotation. */
149
+ readonly needsRegrant: ReadonlyArray<{
150
+ readonly userId: string;
151
+ readonly collection: string;
152
+ }>;
153
+ }
154
+ export declare function rotateKeys(adapter: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, collections: string[]): Promise<RotateResult>;
155
+ /**
156
+ * Change the user's secret. Re-wraps every DEK under the new KEK.
157
+ *
158
+ * Validates the new secret against the strength rules unless
159
+ * `allowWeakSecret: true` is passed. Mirrors `rotateSecret`'s
141
160
  * default-on validation contract.
142
161
  *
143
- * `db.rotatePassphrase()` adds a `checkGate('rotate-passphrase')` step
144
- * on top of this primitive and additionally requires the OLD passphrase
162
+ * `db.team.rotateSecret()` adds a `checkGate('rotate-secret')` step
163
+ * on top of this primitive and additionally requires the OLD secret
145
164
  * for re-derivation; `changeSecret` reuses the cached unlocked KEK so
146
- * the OLD passphrase is not retyped.
165
+ * the OLD secret is not retyped.
147
166
  */
148
- export declare function changeSecret(adapter: NoydbStore, vault: string, keyring: UnlockedKeyring, newPassphrase: string, passphraseOpts?: PassphrasePolicy & {
149
- allowWeakPassphrase?: boolean;
167
+ export declare function changeSecret(adapter: NoydbStore, vault: string, keyring: UnlockedKeyring, newSecret: string, secretOpts?: SecretPolicy & {
168
+ allowWeakSecret?: boolean;
150
169
  }): Promise<UnlockedKeyring>;
151
170
  /**
152
171
  * Recipient slot in a re-keyed `.noydb` bundle. Each slot becomes its
153
- * own keyring file inside the bundle, sealed with its own passphrase.
172
+ * own keyring file inside the bundle, sealed with its own secret.
154
173
  * Same role/permission semantics as `db.grant()` but no adapter side
155
174
  * effect — the slot only exists inside the bundle bytes.
156
175
  *
@@ -161,8 +180,8 @@ export interface BundleRecipient {
161
180
  readonly id: string;
162
181
  /** Optional display name. Defaults to `id`. */
163
182
  readonly displayName?: string;
164
- /** Passphrase the recipient will type to unlock. */
165
- readonly passphrase: string;
183
+ /** Secret the recipient will type to unlock. */
184
+ readonly secret: string;
166
185
  /** Role on the destination vault. Defaults to `'viewer'`. */
167
186
  readonly role?: Role;
168
187
  /**
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Managed-passphrase mode — rubber-hose-resistant vaults.
2
+ * Managed-secret mode — rubber-hose-resistant vaults.
3
3
  *
4
- * A vault mode where the passphrase is machine-generated and never
4
+ * A vault mode where the secret is machine-generated and never
5
5
  * exposed to the user, sealed under a developer-provided
6
6
  * {@link SealingKeyProvider} (macOS Keychain, Windows Credential
7
7
  * Manager, libsecret, AWS KMS, …). The user has no secret to give
@@ -27,31 +27,31 @@
27
27
  * implementation of both `RecipientSealer` and
28
28
  * `SealingKeyProvider` using real WebCrypto RSA-OAEP + AES-GCM;
29
29
  * safe for tests and same-process sender/recipient scenarios.
30
- * - {@link loadSealedPassphrase} / {@link saveSealedPassphrase} —
31
- * plaintext envelope storage at `_meta/sealed-passphrase`.
30
+ * - {@link loadSealedSecret} / {@link saveSealedSecret} —
31
+ * plaintext envelope storage at `_meta/sealed-secret`.
32
32
  * Mirrors the `_meta/handle` and `_meta/public-envelope` AES-
33
33
  * GCM-bypassed patterns. The sealing layer (provider's job)
34
34
  * is the security boundary; hub doesn't have a key to encrypt
35
35
  * with at this layer — that's the whole point of the design.
36
36
  * - {@link resolveManagedSecret} — orchestrates the "generate +
37
37
  * seal + persist on first open; unseal on reopen" flow.
38
- * Returns the plaintext passphrase string that the rest of the
38
+ * Returns the plaintext secret string that the rest of the
39
39
  * `createNoydb` keyring path consumes.
40
40
  *
41
41
  * Deferred to follow-ups:
42
- * - Block `rotate-passphrase` policy gate under managed mode.
42
+ * - Block `rotate-secret` policy gate under managed mode.
43
43
  * - Mandatory strong-recovery enforcement.
44
44
  * - Recovery flow under managed mode (generates fresh sealed phrase).
45
45
  *
46
- * @see https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/session-tiers.md → Managed-passphrase mode
46
+ * @see https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/session-tiers.md → Managed-secret mode
47
47
  *
48
48
  * @module
49
49
  */
50
50
  import type { NoydbStore, RecipientSealer } from '../../kernel/types.js';
51
51
  /**
52
52
  * The contract concrete providers (per-platform key stores) implement
53
- * to seal and unseal a hub-generated random passphrase. The plaintext
54
- * passphrase NEVER leaves hub-controlled memory in unsealed form —
53
+ * to seal and unseal a hub-generated random secret. The plaintext
54
+ * secret NEVER leaves hub-controlled memory in unsealed form —
55
55
  * the provider receives the bytes, returns opaque sealed bytes, and
56
56
  * later reverses the operation. Hub treats the sealed bytes as
57
57
  * fully opaque.
@@ -69,7 +69,7 @@ import type { NoydbStore, RecipientSealer } from '../../kernel/types.js';
69
69
  export interface SealingKeyProvider {
70
70
  /**
71
71
  * Non-sensitive identifier disclosed in the persisted envelope.
72
- * Surfaced to consumers via `loadSealedPassphrase().providerId` so
72
+ * Surfaced to consumers via `loadSealedSecret().providerId` so
73
73
  * a vault opened with the wrong provider class can detect the
74
74
  * mismatch and surface a clear error. NOT secret — fine to log.
75
75
  *
@@ -78,8 +78,8 @@ export interface SealingKeyProvider {
78
78
  * parses this; it's purely audit metadata.
79
79
  */
80
80
  readonly id: string;
81
- /** Seal raw passphrase bytes. Output bytes are opaque to hub. */
82
- seal(passphrase: Uint8Array): Promise<Uint8Array>;
81
+ /** Seal raw secret bytes. Output bytes are opaque to hub. */
82
+ seal(secret: Uint8Array): Promise<Uint8Array>;
83
83
  /**
84
84
  * Reverse {@link seal}. MUST throw on tamper, wrong-provider, or
85
85
  * any other failure — hub treats a thrown error as "this provider
@@ -90,7 +90,7 @@ export interface SealingKeyProvider {
90
90
  /**
91
91
  * In-memory test provider. NOT secure — uses a deterministic
92
92
  * per-instance "key" (16-byte SHA-256 of `id`) XOR'd over the
93
- * passphrase plus a 4-byte provider-id fingerprint prefix. The XOR is
93
+ * secret plus a 4-byte provider-id fingerprint prefix. The XOR is
94
94
  * sufficient to make different `id` values produce mutually-unsealable
95
95
  * outputs (the contract tests for that), but offers ZERO real
96
96
  * confidentiality — never use outside tests.
@@ -104,7 +104,7 @@ export declare class MemorySealingKeyProvider implements SealingKeyProvider {
104
104
  constructor(opts: {
105
105
  id: string;
106
106
  });
107
- seal(passphrase: Uint8Array): Promise<Uint8Array>;
107
+ seal(secret: Uint8Array): Promise<Uint8Array>;
108
108
  unseal(sealed: Uint8Array): Promise<Uint8Array>;
109
109
  }
110
110
  /**
@@ -201,17 +201,17 @@ export declare class MemoryRecipientSealer implements SealingKeyProvider, Recipi
201
201
  seal(plaintext: Uint8Array): Promise<Uint8Array>;
202
202
  unseal(bytes: Uint8Array): Promise<Uint8Array>;
203
203
  }
204
- /** Reserved id for the managed-passphrase envelope under `_meta`. */
205
- export declare const SEALED_PASSPHRASE_RECORD_ID: "sealed-passphrase";
206
- /** Plaintext payload stored inside the `_meta/sealed-passphrase` envelope. */
207
- export interface SealedPassphrase {
204
+ /** Reserved id for the managed-secret envelope under `_meta`. */
205
+ export declare const SEALED_SECRET_RECORD_ID: "sealed-secret";
206
+ /** Plaintext payload stored inside the `_meta/sealed-secret` envelope. */
207
+ export interface SealedSecret {
208
208
  readonly _noydb_sealed: 1;
209
209
  readonly providerId: string;
210
210
  /** Sealed bytes. Base64-encoded on the wire; decoded on load. */
211
211
  readonly sealed: Uint8Array;
212
212
  }
213
213
  /**
214
- * Wire-format envelope persisted at `_meta/sealed-passphrase` for
214
+ * Wire-format envelope persisted at `_meta/sealed-secret` for
215
215
  * managed-mode vaults. The provider produces raw sealed bytes via
216
216
  * {@link SealingKeyProvider.seal}; this wrapper carries the dispatch
217
217
  * metadata hub needs to pick the right provider on the unseal path.
@@ -237,8 +237,8 @@ export interface SealedEnvelope {
237
237
  readonly payload: string;
238
238
  }
239
239
  /**
240
- * Parse a `_meta/sealed-passphrase` `_data` JSON string into the
241
- * in-memory {@link SealedPassphrase} representation. Accepts both:
240
+ * Parse a `_meta/sealed-secret` `_data` JSON string into the
241
+ * in-memory {@link SealedSecret} representation. Accepts both:
242
242
  *
243
243
  * 1. v1 wire format `{ v: 1, _noydb_sealed: 1, pid, payload }` —
244
244
  * the current shape.
@@ -251,20 +251,20 @@ export interface SealedEnvelope {
251
251
  *
252
252
  * @internal — exported only for the migration safety-net test suite.
253
253
  */
254
- export declare function parseSealedEnvelope(raw: unknown): SealedPassphrase | undefined;
255
- export declare function saveSealedPassphrase(store: NoydbStore, vault: string, payload: {
254
+ export declare function parseSealedEnvelope(raw: unknown): SealedSecret | undefined;
255
+ export declare function saveSealedSecret(store: NoydbStore, vault: string, payload: {
256
256
  readonly providerId: string;
257
257
  readonly sealed: Uint8Array;
258
258
  }): Promise<void>;
259
- export declare function loadSealedPassphrase(store: NoydbStore, vault: string): Promise<SealedPassphrase | undefined>;
259
+ export declare function loadSealedSecret(store: NoydbStore, vault: string): Promise<SealedSecret | undefined>;
260
260
  /**
261
- * Resolve the effective plaintext passphrase string for a managed-mode
261
+ * Resolve the effective plaintext secret string for a managed-mode
262
262
  * vault. Two paths:
263
263
  *
264
264
  * 1. **First open (no envelope persisted):** generate a 256-bit random
265
265
  * via `crypto.getRandomValues`, base64-encode for use as a
266
- * passphrase string, seal the underlying bytes under the
267
- * provider, persist `_meta/sealed-passphrase`, return the
266
+ * secret string, seal the underlying bytes under the
267
+ * provider, persist `_meta/sealed-secret`, return the
268
268
  * base64 string.
269
269
  *
270
270
  * 2. **Reopen (envelope exists):** read + unseal + decode → return.