@noy-db/hub 0.2.0-pre.13 → 0.2.0-pre.14

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 (229) hide show
  1. package/dist/aggregate/index.cjs.map +1 -1
  2. package/dist/aggregate/index.js +2 -2
  3. package/dist/attestation/index.cjs.map +1 -1
  4. package/dist/attestation/index.d.cts +1 -1
  5. package/dist/attestation/index.d.ts +1 -1
  6. package/dist/attestation/index.js +5 -5
  7. package/dist/blobs/index.cjs.map +1 -1
  8. package/dist/blobs/index.d.cts +2 -2
  9. package/dist/blobs/index.d.ts +2 -2
  10. package/dist/blobs/index.js +4 -4
  11. package/dist/bundle/index.cjs +133 -8
  12. package/dist/bundle/index.cjs.map +1 -1
  13. package/dist/bundle/index.d.cts +3 -3
  14. package/dist/bundle/index.d.ts +3 -3
  15. package/dist/bundle/index.js +8 -8
  16. package/dist/{chunk-YWBHS25M.js → chunk-3EWA37FV.js} +2 -2
  17. package/dist/{chunk-AYNF7PVX.js → chunk-4PEFEETV.js} +2 -2
  18. package/dist/{chunk-SJ24GHID.js → chunk-4TBBMHVC.js} +2 -2
  19. package/dist/{chunk-NKGY3C53.js → chunk-535SSHBS.js} +8 -1
  20. package/dist/{chunk-NKGY3C53.js.map → chunk-535SSHBS.js.map} +1 -1
  21. package/dist/{chunk-HQXOEWLZ.js → chunk-56DJ7JVK.js} +3 -3
  22. package/dist/{chunk-KKB42D3Q.js → chunk-5LQG6ZO2.js} +2 -2
  23. package/dist/{chunk-TDECYU4Y.js → chunk-6AJBSQU4.js} +2 -2
  24. package/dist/{chunk-O2JW656W.js → chunk-6RR3MNMG.js} +3 -3
  25. package/dist/{chunk-7TEI2K2A.js → chunk-7HT2MEZ5.js} +4 -4
  26. package/dist/{chunk-WQKZIQIL.js → chunk-7PS7EOCF.js} +3 -3
  27. package/dist/{chunk-C3WRKABE.js → chunk-A5ZOOZFB.js} +3 -3
  28. package/dist/{chunk-5NISHSBO.js → chunk-AAVWKNZW.js} +2 -2
  29. package/dist/{chunk-P5MW7BG2.js → chunk-ACKFRSAH.js} +44 -44
  30. package/dist/{chunk-SOU42FGB.js → chunk-BIYRQQV6.js} +4 -4
  31. package/dist/{chunk-ILWQGTNH.js → chunk-BQ65SS5A.js} +2 -2
  32. package/dist/{chunk-SYSKC237.js → chunk-COFPAMX6.js} +5 -5
  33. package/dist/{chunk-KJF7EPUE.js → chunk-DKO2QFSA.js} +2 -2
  34. package/dist/{chunk-QFYVGJLI.js → chunk-DQU36Q7I.js} +2 -2
  35. package/dist/{chunk-NIUXQDWD.js → chunk-EGD5DXFT.js} +2 -2
  36. package/dist/{chunk-KHQ3N5AB.js → chunk-F4OJZIWQ.js} +4 -4
  37. package/dist/{chunk-3OUCWHV6.js → chunk-FWPKCXTN.js} +2 -2
  38. package/dist/{chunk-QIVFGU2M.js → chunk-HOR4R722.js} +3 -3
  39. package/dist/{chunk-4VCQH32J.js → chunk-JD3OZAI4.js} +2 -2
  40. package/dist/{chunk-NJMKHRQI.js → chunk-KGCORI4L.js} +3 -3
  41. package/dist/{chunk-J67BP5EP.js → chunk-KI6HAJWL.js} +3 -3
  42. package/dist/{chunk-PW26DAXS.js → chunk-L2FE64BU.js} +3 -3
  43. package/dist/{chunk-QAWCVWCX.js → chunk-LX3CB26H.js} +4 -4
  44. package/dist/{chunk-VAK6NQAK.js → chunk-NSCVNK5K.js} +4 -4
  45. package/dist/{chunk-3XZRRBFW.js → chunk-OHVFWCJP.js} +2 -2
  46. package/dist/{chunk-TEQGXA7L.js → chunk-PE4AQGFH.js} +4 -4
  47. package/dist/{chunk-UNQEWORI.js → chunk-TS26M2SB.js} +2 -2
  48. package/dist/{chunk-CWFQTAD4.js → chunk-UWNYBOOO.js} +4 -4
  49. package/dist/{chunk-FNVFT4HZ.js → chunk-VU7SWWT5.js} +2 -2
  50. package/dist/{chunk-GZJ5JBED.js → chunk-WBAYSNUQ.js} +3 -3
  51. package/dist/{chunk-HHZ77DHM.js → chunk-WGHU7BLI.js} +2 -2
  52. package/dist/{chunk-GL3Z7LH7.js → chunk-X73VS74Y.js} +2 -2
  53. package/dist/{chunk-M6KXHRIA.js → chunk-YHPM5D7Y.js} +3 -3
  54. package/dist/{chunk-D5Y3HIC6.js → chunk-YNTBADIY.js} +2 -2
  55. package/dist/{chunk-E3DIBDKA.js → chunk-YULZKK4F.js} +2 -2
  56. package/dist/{chunk-JWFNOD2T.js → chunk-Z4DO7YSI.js} +2 -2
  57. package/dist/{chunk-JPOQMXGT.js → chunk-ZNQYHJXX.js} +2 -2
  58. package/dist/{chunk-4YDZ7JPZ.js → chunk-ZWTNWAO4.js} +2 -2
  59. package/dist/consent/index.cjs.map +1 -1
  60. package/dist/consent/index.d.cts +2 -2
  61. package/dist/consent/index.d.ts +2 -2
  62. package/dist/consent/index.js +3 -3
  63. package/dist/{crypto-YXH6SAOW.js → crypto-QXQOHMHF.js} +3 -3
  64. package/dist/{delegation-K5ERUH6A.js → delegation-NIQ43IPU.js} +5 -5
  65. package/dist/derivations/index.cjs.map +1 -1
  66. package/dist/derivations/index.d.cts +3 -3
  67. package/dist/derivations/index.d.ts +3 -3
  68. package/dist/derivations/index.js +4 -4
  69. package/dist/{dev-unlock-a7SOtaV0.d.cts → dev-unlock-BF4OSxRv.d.cts} +1 -1
  70. package/dist/{dev-unlock-BW0GNBEV.d.ts → dev-unlock-DV7ujTCI.d.ts} +1 -1
  71. package/dist/executor-6ZDSDZ6V.js +8 -0
  72. package/dist/executor-723ZP6TH.js +11 -0
  73. package/dist/executor-IDZDAFNH.js +8 -0
  74. package/dist/guards/index.cjs.map +1 -1
  75. package/dist/guards/index.d.cts +3 -3
  76. package/dist/guards/index.d.ts +3 -3
  77. package/dist/guards/index.js +3 -3
  78. package/dist/{hash-B0cLQcq_.d.cts → hash-BcF5WQXl.d.cts} +1 -1
  79. package/dist/{hash-uMNIAAW8.d.ts → hash-DswxkLtW.d.ts} +1 -1
  80. package/dist/history/index.cjs.map +1 -1
  81. package/dist/history/index.d.cts +3 -3
  82. package/dist/history/index.d.ts +3 -3
  83. package/dist/history/index.js +4 -4
  84. package/dist/i18n/index.cjs.map +1 -1
  85. package/dist/i18n/index.d.cts +2 -2
  86. package/dist/i18n/index.d.ts +2 -2
  87. package/dist/i18n/index.js +5 -5
  88. package/dist/{immutable-guard-BZIcYhYX.d.cts → immutable-guard-7KqslW2K.d.cts} +1 -1
  89. package/dist/{immutable-guard-B0h-ipLz.d.ts → immutable-guard-C8IYdzfu.d.ts} +1 -1
  90. package/dist/index.cjs +133 -8
  91. package/dist/index.cjs.map +1 -1
  92. package/dist/index.d.cts +9 -9
  93. package/dist/index.d.ts +9 -9
  94. package/dist/index.js +39 -39
  95. package/dist/indexing/index.cjs.map +1 -1
  96. package/dist/indexing/index.js +2 -2
  97. package/dist/issue-ADVS4OVP.js +12 -0
  98. package/dist/{ledger-64TTQMRS.js → ledger-CWSE3BLF.js} +4 -4
  99. package/dist/materialized-views/index.cjs.map +1 -1
  100. package/dist/materialized-views/index.d.cts +3 -3
  101. package/dist/materialized-views/index.d.ts +3 -3
  102. package/dist/materialized-views/index.js +6 -6
  103. package/dist/noydb-VZ4JVW55.js +35 -0
  104. package/dist/overlay-views/index.cjs.map +1 -1
  105. package/dist/overlay-views/index.d.cts +3 -3
  106. package/dist/overlay-views/index.d.ts +3 -3
  107. package/dist/overlay-views/index.js +4 -4
  108. package/dist/periods/index.cjs.map +1 -1
  109. package/dist/periods/index.d.cts +2 -2
  110. package/dist/periods/index.d.ts +2 -2
  111. package/dist/periods/index.js +4 -4
  112. package/dist/{public-envelope-MHG6YVXW.js → public-envelope-SYHEYQ3X.js} +3 -3
  113. package/dist/query/index.cjs.map +1 -1
  114. package/dist/query/index.js +3 -3
  115. package/dist/{registry-PV4G3OPA.js → registry-DK5YWAAA.js} +3 -3
  116. package/dist/registry-IUZQVVBB.js +8 -0
  117. package/dist/registry-XGLNADIE.js +8 -0
  118. package/dist/{revoke-5BOLVJ3N.js → revoke-ZDFKMR5E.js} +5 -5
  119. package/dist/session/index.cjs.map +1 -1
  120. package/dist/session/index.d.cts +3 -3
  121. package/dist/session/index.d.ts +3 -3
  122. package/dist/session/index.js +3 -3
  123. package/dist/shadow/index.cjs.map +1 -1
  124. package/dist/shadow/index.d.cts +2 -2
  125. package/dist/shadow/index.d.ts +2 -2
  126. package/dist/shadow/index.js +2 -2
  127. package/dist/{signer-GRIYBA22.js → signer-P5D7Y72U.js} +4 -4
  128. package/dist/snapshots/index.cjs.map +1 -1
  129. package/dist/snapshots/index.d.cts +2 -2
  130. package/dist/snapshots/index.d.ts +2 -2
  131. package/dist/snapshots/index.js +3 -3
  132. package/dist/{stale-LZYMMDDS.js → stale-7FRJVHN6.js} +2 -2
  133. package/dist/{state-vault-QFJWU23A.js → state-vault-TMXZRTY5.js} +3 -3
  134. package/dist/store/index.cjs.map +1 -1
  135. package/dist/store/index.d.cts +2 -2
  136. package/dist/store/index.d.ts +2 -2
  137. package/dist/store/index.js +2 -2
  138. package/dist/sync/index.cjs.map +1 -1
  139. package/dist/sync/index.d.cts +1 -1
  140. package/dist/sync/index.d.ts +1 -1
  141. package/dist/sync/index.js +3 -3
  142. package/dist/team/index.cjs.map +1 -1
  143. package/dist/team/index.d.cts +2 -2
  144. package/dist/team/index.d.ts +2 -2
  145. package/dist/team/index.js +7 -7
  146. package/dist/tx/index.cjs.map +1 -1
  147. package/dist/tx/index.d.cts +2 -2
  148. package/dist/tx/index.d.ts +2 -2
  149. package/dist/tx/index.js +3 -3
  150. package/dist/{types-pax34sec.d.ts → types-BFHQUjdy.d.ts} +56 -3
  151. package/dist/{types-CDwSSXiI.d.cts → types-V5R2-pd4.d.cts} +56 -3
  152. package/dist/{ulid-7bCSgIgb.d.cts → ulid-CwNf9e6-.d.cts} +1 -1
  153. package/dist/{ulid-C_t4hL3d.d.ts → ulid-p2nKiiKg.d.ts} +1 -1
  154. package/dist/util/index.cjs.map +1 -1
  155. package/dist/util/index.js +1 -1
  156. package/dist/{vault-group-UO4YUZOG.js → vault-group-W7QC4UYW.js} +125 -11
  157. package/dist/vault-group-W7QC4UYW.js.map +1 -0
  158. package/dist/{with-derivation-D8wFlb6V.d.cts → with-derivation-C9K43BOB.d.cts} +1 -1
  159. package/dist/{with-derivation-BjdOxUBn.d.ts → with-derivation-Ds9yZgCj.d.ts} +1 -1
  160. package/dist/{with-materialized-view-5QMF1rS_.d.cts → with-materialized-view-DgQcAjYv.d.cts} +1 -1
  161. package/dist/{with-materialized-view-DJb-HO65.d.ts → with-materialized-view-DwR4jkV5.d.ts} +1 -1
  162. package/dist/{with-overlayed-view-DDNflPvC.d.cts → with-overlayed-view-7-rUB3vD.d.cts} +1 -1
  163. package/dist/{with-overlayed-view-CkqTefbz.d.ts → with-overlayed-view-ByyhHdVr.d.ts} +1 -1
  164. package/package.json +3 -3
  165. package/dist/executor-AVJ7UEWA.js +0 -8
  166. package/dist/executor-IQO3KGXQ.js +0 -11
  167. package/dist/executor-VT7TKGE4.js +0 -8
  168. package/dist/issue-ZH27C23Y.js +0 -12
  169. package/dist/noydb-O76SKBST.js +0 -35
  170. package/dist/registry-2PKBQDCH.js +0 -8
  171. package/dist/registry-4VXFKCBJ.js +0 -8
  172. package/dist/vault-group-UO4YUZOG.js.map +0 -1
  173. /package/dist/{chunk-YWBHS25M.js.map → chunk-3EWA37FV.js.map} +0 -0
  174. /package/dist/{chunk-AYNF7PVX.js.map → chunk-4PEFEETV.js.map} +0 -0
  175. /package/dist/{chunk-SJ24GHID.js.map → chunk-4TBBMHVC.js.map} +0 -0
  176. /package/dist/{chunk-HQXOEWLZ.js.map → chunk-56DJ7JVK.js.map} +0 -0
  177. /package/dist/{chunk-KKB42D3Q.js.map → chunk-5LQG6ZO2.js.map} +0 -0
  178. /package/dist/{chunk-TDECYU4Y.js.map → chunk-6AJBSQU4.js.map} +0 -0
  179. /package/dist/{chunk-O2JW656W.js.map → chunk-6RR3MNMG.js.map} +0 -0
  180. /package/dist/{chunk-7TEI2K2A.js.map → chunk-7HT2MEZ5.js.map} +0 -0
  181. /package/dist/{chunk-WQKZIQIL.js.map → chunk-7PS7EOCF.js.map} +0 -0
  182. /package/dist/{chunk-C3WRKABE.js.map → chunk-A5ZOOZFB.js.map} +0 -0
  183. /package/dist/{chunk-5NISHSBO.js.map → chunk-AAVWKNZW.js.map} +0 -0
  184. /package/dist/{chunk-P5MW7BG2.js.map → chunk-ACKFRSAH.js.map} +0 -0
  185. /package/dist/{chunk-SOU42FGB.js.map → chunk-BIYRQQV6.js.map} +0 -0
  186. /package/dist/{chunk-ILWQGTNH.js.map → chunk-BQ65SS5A.js.map} +0 -0
  187. /package/dist/{chunk-SYSKC237.js.map → chunk-COFPAMX6.js.map} +0 -0
  188. /package/dist/{chunk-KJF7EPUE.js.map → chunk-DKO2QFSA.js.map} +0 -0
  189. /package/dist/{chunk-QFYVGJLI.js.map → chunk-DQU36Q7I.js.map} +0 -0
  190. /package/dist/{chunk-NIUXQDWD.js.map → chunk-EGD5DXFT.js.map} +0 -0
  191. /package/dist/{chunk-KHQ3N5AB.js.map → chunk-F4OJZIWQ.js.map} +0 -0
  192. /package/dist/{chunk-3OUCWHV6.js.map → chunk-FWPKCXTN.js.map} +0 -0
  193. /package/dist/{chunk-QIVFGU2M.js.map → chunk-HOR4R722.js.map} +0 -0
  194. /package/dist/{chunk-4VCQH32J.js.map → chunk-JD3OZAI4.js.map} +0 -0
  195. /package/dist/{chunk-NJMKHRQI.js.map → chunk-KGCORI4L.js.map} +0 -0
  196. /package/dist/{chunk-J67BP5EP.js.map → chunk-KI6HAJWL.js.map} +0 -0
  197. /package/dist/{chunk-PW26DAXS.js.map → chunk-L2FE64BU.js.map} +0 -0
  198. /package/dist/{chunk-QAWCVWCX.js.map → chunk-LX3CB26H.js.map} +0 -0
  199. /package/dist/{chunk-VAK6NQAK.js.map → chunk-NSCVNK5K.js.map} +0 -0
  200. /package/dist/{chunk-3XZRRBFW.js.map → chunk-OHVFWCJP.js.map} +0 -0
  201. /package/dist/{chunk-TEQGXA7L.js.map → chunk-PE4AQGFH.js.map} +0 -0
  202. /package/dist/{chunk-UNQEWORI.js.map → chunk-TS26M2SB.js.map} +0 -0
  203. /package/dist/{chunk-CWFQTAD4.js.map → chunk-UWNYBOOO.js.map} +0 -0
  204. /package/dist/{chunk-FNVFT4HZ.js.map → chunk-VU7SWWT5.js.map} +0 -0
  205. /package/dist/{chunk-GZJ5JBED.js.map → chunk-WBAYSNUQ.js.map} +0 -0
  206. /package/dist/{chunk-HHZ77DHM.js.map → chunk-WGHU7BLI.js.map} +0 -0
  207. /package/dist/{chunk-GL3Z7LH7.js.map → chunk-X73VS74Y.js.map} +0 -0
  208. /package/dist/{chunk-M6KXHRIA.js.map → chunk-YHPM5D7Y.js.map} +0 -0
  209. /package/dist/{chunk-D5Y3HIC6.js.map → chunk-YNTBADIY.js.map} +0 -0
  210. /package/dist/{chunk-E3DIBDKA.js.map → chunk-YULZKK4F.js.map} +0 -0
  211. /package/dist/{chunk-JWFNOD2T.js.map → chunk-Z4DO7YSI.js.map} +0 -0
  212. /package/dist/{chunk-JPOQMXGT.js.map → chunk-ZNQYHJXX.js.map} +0 -0
  213. /package/dist/{chunk-4YDZ7JPZ.js.map → chunk-ZWTNWAO4.js.map} +0 -0
  214. /package/dist/{crypto-YXH6SAOW.js.map → crypto-QXQOHMHF.js.map} +0 -0
  215. /package/dist/{delegation-K5ERUH6A.js.map → delegation-NIQ43IPU.js.map} +0 -0
  216. /package/dist/{executor-AVJ7UEWA.js.map → executor-6ZDSDZ6V.js.map} +0 -0
  217. /package/dist/{executor-IQO3KGXQ.js.map → executor-723ZP6TH.js.map} +0 -0
  218. /package/dist/{executor-VT7TKGE4.js.map → executor-IDZDAFNH.js.map} +0 -0
  219. /package/dist/{issue-ZH27C23Y.js.map → issue-ADVS4OVP.js.map} +0 -0
  220. /package/dist/{ledger-64TTQMRS.js.map → ledger-CWSE3BLF.js.map} +0 -0
  221. /package/dist/{noydb-O76SKBST.js.map → noydb-VZ4JVW55.js.map} +0 -0
  222. /package/dist/{public-envelope-MHG6YVXW.js.map → public-envelope-SYHEYQ3X.js.map} +0 -0
  223. /package/dist/{registry-2PKBQDCH.js.map → registry-DK5YWAAA.js.map} +0 -0
  224. /package/dist/{registry-4VXFKCBJ.js.map → registry-IUZQVVBB.js.map} +0 -0
  225. /package/dist/{registry-PV4G3OPA.js.map → registry-XGLNADIE.js.map} +0 -0
  226. /package/dist/{revoke-5BOLVJ3N.js.map → revoke-ZDFKMR5E.js.map} +0 -0
  227. /package/dist/{signer-GRIYBA22.js.map → signer-P5D7Y72U.js.map} +0 -0
  228. /package/dist/{stale-LZYMMDDS.js.map → stale-7FRJVHN6.js.map} +0 -0
  229. /package/dist/{state-vault-QFJWU23A.js.map → state-vault-TMXZRTY5.js.map} +0 -0
@@ -1,5 +1,5 @@
1
- import { aH as TxStrategy } from '../types-CDwSSXiI.cjs';
2
- export { aI as AmendmentTxOptions, aJ as TxCollection, aK as TxContext, aL as TxVault, aM as runTransaction } from '../types-CDwSSXiI.cjs';
1
+ import { aH as TxStrategy } from '../types-V5R2-pd4.cjs';
2
+ export { aI as AmendmentTxOptions, aJ as TxCollection, aK as TxContext, aL as TxVault, aM as runTransaction } from '../types-V5R2-pd4.cjs';
3
3
  import '../lazy-builder-Ci5_YG73.cjs';
4
4
  import '../predicate-Bt5ft-9c.cjs';
5
5
  import '../strategy-CrS7PnbE.cjs';
@@ -1,5 +1,5 @@
1
- import { aH as TxStrategy } from '../types-pax34sec.js';
2
- export { aI as AmendmentTxOptions, aJ as TxCollection, aK as TxContext, aL as TxVault, aM as runTransaction } from '../types-pax34sec.js';
1
+ import { aH as TxStrategy } from '../types-BFHQUjdy.js';
2
+ export { aI as AmendmentTxOptions, aJ as TxCollection, aK as TxContext, aL as TxVault, aM as runTransaction } from '../types-BFHQUjdy.js';
3
3
  import '../lazy-builder-D5GU14TS.js';
4
4
  import '../predicate-Bt5ft-9c.js';
5
5
  import '../strategy-CrS7PnbE.js';
package/dist/tx/index.js CHANGED
@@ -3,9 +3,9 @@ import {
3
3
  TxContext,
4
4
  TxVault,
5
5
  runTransaction
6
- } from "../chunk-M6KXHRIA.js";
6
+ } from "../chunk-YHPM5D7Y.js";
7
7
  import "../chunk-FZU343FL.js";
8
- import "../chunk-NKGY3C53.js";
8
+ import "../chunk-535SSHBS.js";
9
9
 
10
10
  // src/tx/dry-run.ts
11
11
  var SEP = " ";
@@ -43,7 +43,7 @@ async function runDryRun(db, fn) {
43
43
  const gctx = { existing: before, vault: facade, userId: v.userId, role: v.role };
44
44
  try {
45
45
  await registry.runChecks(op.collectionName, after, gctx);
46
- const { GuardExecutor } = await import("../executor-VT7TKGE4.js");
46
+ const { GuardExecutor } = await import("../executor-IDZDAFNH.js");
47
47
  for (const g of guards) {
48
48
  await GuardExecutor.checkFrozenFields(g, op.id, before, after);
49
49
  }
@@ -1,7 +1,7 @@
1
1
  import { I as IndexStrategy, d as LazyQuery } from './lazy-builder-D5GU14TS.js';
2
2
  import { a7 as NoydbError, o as LiveAggregation, f as AggregateSpec, e as AggregateResult, A as AggregateStrategy, au as MoneyDescriptor } from './strategy-CrS7PnbE.js';
3
3
  import { C as CrdtStrategy, a as CrdtMode, b as CrdtState } from './strategy-BSxFXGzb.js';
4
- import { L as LiveQuery, Q as Query, j as RefRegistry, R as RefDescriptor, d as JoinableSource, l as RefViolation, S as ScanBuilder } from './index-Cqzp4tt9.js';
4
+ import { L as LiveQuery, Q as Query, c as JoinStrategy, j as RefRegistry, R as RefDescriptor, d as JoinableSource, l as RefViolation, S as ScanBuilder } from './index-Cqzp4tt9.js';
5
5
  import { I as IndexDef, O as Operator, F as FieldClause, C as CollectionIndexes } from './predicate-Bt5ft-9c.js';
6
6
  import { AttestationFieldSchema, RevocationList } from '@noy-db/attestation';
7
7
 
@@ -5272,6 +5272,51 @@ interface FactorProofBundle {
5272
5272
  /** Active session tier — what the engine compares against `gate.minTier`. */
5273
5273
  type ActiveTier = 1 | 2 | 3;
5274
5274
 
5275
+ /** Public options for `ShardedQuery.crossShardJoin`. */
5276
+ interface CrossShardJoinOptions {
5277
+ /** Alias key under which the joined same-shard record attaches. */
5278
+ readonly as: string;
5279
+ /** Per-shard row ceiling override (default DEFAULT_JOIN_MAX_ROWS). */
5280
+ readonly maxRows?: number;
5281
+ /** Planner strategy override, passed through to intra-vault `.join()`. */
5282
+ readonly strategy?: JoinStrategy;
5283
+ }
5284
+ /**
5285
+ * Minimal structural shape of a broadcast dimension source. A
5286
+ * `Collection` satisfies this natively: `list()` hydrates and returns
5287
+ * the decoded records. Kept as a one-method interface so plain test
5288
+ * sources are trivial to construct.
5289
+ */
5290
+ interface BroadcastSource {
5291
+ list(): Promise<readonly unknown[]>;
5292
+ }
5293
+ /** Public options for `ShardedQuery.broadcastJoin`. */
5294
+ interface BroadcastJoinOptions {
5295
+ /** Alias key under which the dimension record attaches. */
5296
+ readonly as: string;
5297
+ /** The shared dimension collection (an opened handle in another vault). */
5298
+ readonly from: BroadcastSource;
5299
+ /** Right-side key to match `field` against. Default 'id'. */
5300
+ readonly on?: string;
5301
+ /** Miss behavior. 'warn' (default) attaches null + one-shot warning; 'cascade' is silent. */
5302
+ readonly mode?: 'warn' | 'cascade';
5303
+ }
5304
+ /** Internal co-partitioned leg carried on ShardedQuery. */
5305
+ interface CoPartitionedLeg {
5306
+ readonly field: string;
5307
+ readonly as: string;
5308
+ readonly maxRows: number | undefined;
5309
+ readonly strategy: JoinStrategy | undefined;
5310
+ }
5311
+ /** Internal broadcast leg carried on ShardedQuery. */
5312
+ interface BroadcastLeg {
5313
+ readonly field: string;
5314
+ readonly as: string;
5315
+ readonly from: BroadcastSource;
5316
+ readonly on: string;
5317
+ readonly mode: 'warn' | 'cascade';
5318
+ }
5319
+
5275
5320
  /** A source that can fan out records across shards. Satisfied by ShardedQuery. */
5276
5321
  interface FanoutRecordSource<R> {
5277
5322
  fanoutRecords(options: FanoutQueryOptions): Promise<{
@@ -5397,17 +5442,25 @@ declare class ShardedQuery<T, R = T> {
5397
5442
  private readonly group;
5398
5443
  private readonly collectionName;
5399
5444
  private readonly clauses;
5400
- constructor(group: VaultGroup<T>, collectionName: string, clauses: readonly WhereClause[]);
5445
+ private readonly coPartitionedLegs;
5446
+ private readonly broadcastLegs;
5447
+ constructor(group: VaultGroup<T>, collectionName: string, clauses: readonly WhereClause[], coPartitionedLegs?: readonly CoPartitionedLeg[], broadcastLegs?: readonly BroadcastLeg[]);
5401
5448
  where(field: string, op: WhereClause['op'], value: unknown): ShardedQuery<T, R>;
5449
+ /** Co-partitioned join: each shard joins its own same-vault right collection (resolved via ref()), then union. */
5450
+ crossShardJoin(field: string, opts: CrossShardJoinOptions): ShardedQuery<T, R>;
5451
+ /** Broadcast dimension join: enrich every merged row from a single shared collection. */
5452
+ broadcastJoin(field: string, opts: BroadcastJoinOptions): ShardedQuery<T, R>;
5402
5453
  /** @internal — fan out the where-filtered records across eligible shards. */
5403
5454
  fanoutRecords(options?: FanoutQueryOptions): Promise<{
5404
5455
  records: R[];
5405
5456
  skippedVaults: SkippedVault[];
5406
5457
  }>;
5407
- /** Fan out across eligible shards and merge results. */
5458
+ /** Fan out across eligible shards, merge, then apply any broadcast dimension legs. */
5408
5459
  toArray(options?: FanoutQueryOptions): Promise<FanoutResult<R>>;
5409
5460
  /** @internal — build the change-subscription + relevance binding for this query's group+collection. */
5410
5461
  liveBinding(): LiveBinding;
5462
+ /** @internal — joined queries don't support reactive/aggregate surfaces in v1. */
5463
+ private assertNoJoinLegs;
5411
5464
  /** Returns a reactive cross-shard live query — a facade over CrossVaultLive. */
5412
5465
  live(options?: LiveQueryOptions): CrossVaultLiveQuery<R>;
5413
5466
  /** One-shot distributed aggregate — central reduce over all shard records. */
@@ -1,7 +1,7 @@
1
1
  import { I as IndexStrategy, d as LazyQuery } from './lazy-builder-Ci5_YG73.cjs';
2
2
  import { a7 as NoydbError, o as LiveAggregation, f as AggregateSpec, e as AggregateResult, A as AggregateStrategy, au as MoneyDescriptor } from './strategy-CrS7PnbE.cjs';
3
3
  import { C as CrdtStrategy, a as CrdtMode, b as CrdtState } from './strategy-BSxFXGzb.cjs';
4
- import { L as LiveQuery, Q as Query, j as RefRegistry, R as RefDescriptor, d as JoinableSource, l as RefViolation, S as ScanBuilder } from './index-CUVOMtgg.cjs';
4
+ import { L as LiveQuery, Q as Query, c as JoinStrategy, j as RefRegistry, R as RefDescriptor, d as JoinableSource, l as RefViolation, S as ScanBuilder } from './index-CUVOMtgg.cjs';
5
5
  import { I as IndexDef, O as Operator, F as FieldClause, C as CollectionIndexes } from './predicate-Bt5ft-9c.cjs';
6
6
  import { AttestationFieldSchema, RevocationList } from '@noy-db/attestation';
7
7
 
@@ -5272,6 +5272,51 @@ interface FactorProofBundle {
5272
5272
  /** Active session tier — what the engine compares against `gate.minTier`. */
5273
5273
  type ActiveTier = 1 | 2 | 3;
5274
5274
 
5275
+ /** Public options for `ShardedQuery.crossShardJoin`. */
5276
+ interface CrossShardJoinOptions {
5277
+ /** Alias key under which the joined same-shard record attaches. */
5278
+ readonly as: string;
5279
+ /** Per-shard row ceiling override (default DEFAULT_JOIN_MAX_ROWS). */
5280
+ readonly maxRows?: number;
5281
+ /** Planner strategy override, passed through to intra-vault `.join()`. */
5282
+ readonly strategy?: JoinStrategy;
5283
+ }
5284
+ /**
5285
+ * Minimal structural shape of a broadcast dimension source. A
5286
+ * `Collection` satisfies this natively: `list()` hydrates and returns
5287
+ * the decoded records. Kept as a one-method interface so plain test
5288
+ * sources are trivial to construct.
5289
+ */
5290
+ interface BroadcastSource {
5291
+ list(): Promise<readonly unknown[]>;
5292
+ }
5293
+ /** Public options for `ShardedQuery.broadcastJoin`. */
5294
+ interface BroadcastJoinOptions {
5295
+ /** Alias key under which the dimension record attaches. */
5296
+ readonly as: string;
5297
+ /** The shared dimension collection (an opened handle in another vault). */
5298
+ readonly from: BroadcastSource;
5299
+ /** Right-side key to match `field` against. Default 'id'. */
5300
+ readonly on?: string;
5301
+ /** Miss behavior. 'warn' (default) attaches null + one-shot warning; 'cascade' is silent. */
5302
+ readonly mode?: 'warn' | 'cascade';
5303
+ }
5304
+ /** Internal co-partitioned leg carried on ShardedQuery. */
5305
+ interface CoPartitionedLeg {
5306
+ readonly field: string;
5307
+ readonly as: string;
5308
+ readonly maxRows: number | undefined;
5309
+ readonly strategy: JoinStrategy | undefined;
5310
+ }
5311
+ /** Internal broadcast leg carried on ShardedQuery. */
5312
+ interface BroadcastLeg {
5313
+ readonly field: string;
5314
+ readonly as: string;
5315
+ readonly from: BroadcastSource;
5316
+ readonly on: string;
5317
+ readonly mode: 'warn' | 'cascade';
5318
+ }
5319
+
5275
5320
  /** A source that can fan out records across shards. Satisfied by ShardedQuery. */
5276
5321
  interface FanoutRecordSource<R> {
5277
5322
  fanoutRecords(options: FanoutQueryOptions): Promise<{
@@ -5397,17 +5442,25 @@ declare class ShardedQuery<T, R = T> {
5397
5442
  private readonly group;
5398
5443
  private readonly collectionName;
5399
5444
  private readonly clauses;
5400
- constructor(group: VaultGroup<T>, collectionName: string, clauses: readonly WhereClause[]);
5445
+ private readonly coPartitionedLegs;
5446
+ private readonly broadcastLegs;
5447
+ constructor(group: VaultGroup<T>, collectionName: string, clauses: readonly WhereClause[], coPartitionedLegs?: readonly CoPartitionedLeg[], broadcastLegs?: readonly BroadcastLeg[]);
5401
5448
  where(field: string, op: WhereClause['op'], value: unknown): ShardedQuery<T, R>;
5449
+ /** Co-partitioned join: each shard joins its own same-vault right collection (resolved via ref()), then union. */
5450
+ crossShardJoin(field: string, opts: CrossShardJoinOptions): ShardedQuery<T, R>;
5451
+ /** Broadcast dimension join: enrich every merged row from a single shared collection. */
5452
+ broadcastJoin(field: string, opts: BroadcastJoinOptions): ShardedQuery<T, R>;
5402
5453
  /** @internal — fan out the where-filtered records across eligible shards. */
5403
5454
  fanoutRecords(options?: FanoutQueryOptions): Promise<{
5404
5455
  records: R[];
5405
5456
  skippedVaults: SkippedVault[];
5406
5457
  }>;
5407
- /** Fan out across eligible shards and merge results. */
5458
+ /** Fan out across eligible shards, merge, then apply any broadcast dimension legs. */
5408
5459
  toArray(options?: FanoutQueryOptions): Promise<FanoutResult<R>>;
5409
5460
  /** @internal — build the change-subscription + relevance binding for this query's group+collection. */
5410
5461
  liveBinding(): LiveBinding;
5462
+ /** @internal — joined queries don't support reactive/aggregate surfaces in v1. */
5463
+ private assertNoJoinLegs;
5411
5464
  /** Returns a reactive cross-shard live query — a facade over CrossVaultLive. */
5412
5465
  live(options?: LiveQueryOptions): CrossVaultLiveQuery<R>;
5413
5466
  /** One-shot distributed aggregate — central reduce over all shard records. */
@@ -1,4 +1,4 @@
1
- import { br as PublicEnvelope, bs as SealingKeyProvider, bt as BundleRecipient, bu as RecipientSealer, bv as RecipientHint, bw as Vault } from './types-CDwSSXiI.cjs';
1
+ import { br as PublicEnvelope, bs as SealingKeyProvider, bt as BundleRecipient, bu as RecipientSealer, bv as RecipientHint, bw as Vault } from './types-V5R2-pd4.cjs';
2
2
 
3
3
  /**
4
4
  * `.noydb` container format — byte layout, header schema, validators.
@@ -1,4 +1,4 @@
1
- import { br as PublicEnvelope, bs as SealingKeyProvider, bt as BundleRecipient, bu as RecipientSealer, bv as RecipientHint, bw as Vault } from './types-pax34sec.js';
1
+ import { br as PublicEnvelope, bs as SealingKeyProvider, bt as BundleRecipient, bu as RecipientSealer, bv as RecipientHint, bw as Vault } from './types-BFHQUjdy.js';
2
2
 
3
3
  /**
4
4
  * `.noydb` container format — byte layout, header schema, validators.