@noy-db/hub 0.7.1-pre.0 → 0.8.0

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 (812) hide show
  1. package/CHANGELOG.md +147 -14
  2. package/LICENSE +202 -21
  3. package/NOTICE +1 -0
  4. package/README.md +5 -5
  5. package/codemods/0.8.0-pre.json +61 -0
  6. package/dist/api-OS747DS4.js +18 -0
  7. package/dist/as/index.js +11 -12
  8. package/dist/as/index.js.map +1 -1
  9. package/dist/at/index.js +9 -10
  10. package/dist/attestation/index.js +37 -26
  11. package/dist/attestation/index.js.map +1 -1
  12. package/dist/{backup-XKCXVKV3.js → backup-YE2VQ26S.js} +15 -16
  13. package/dist/backup-YE2VQ26S.js.map +1 -0
  14. package/dist/blobs/index.js +13 -14
  15. package/dist/blobs/index.js.map +1 -1
  16. package/dist/broker/index.js +12 -13
  17. package/dist/broker/index.js.map +1 -1
  18. package/dist/by/index.js +2 -2
  19. package/dist/capsule/contract.d.ts +159 -0
  20. package/dist/capsule/contract.js +95 -0
  21. package/dist/capsule/enclave-aes/bound.d.ts +52 -0
  22. package/dist/capsule/enclave-aes/capabilities.d.ts +2 -0
  23. package/dist/capsule/enclave-aes/classify/compare.d.ts +20 -0
  24. package/dist/{kernel/enclave → capsule/enclave-aes}/classify/find.d.ts +1 -1
  25. package/dist/{kernel/enclave → capsule/enclave-aes}/classify/reveal.d.ts +1 -1
  26. package/dist/{kernel/enclave → capsule/enclave-aes}/classify/verify.d.ts +2 -2
  27. package/dist/{kernel/enclave → capsule/enclave-aes}/classify/write.d.ts +1 -1
  28. package/dist/{kernel/enclave → capsule/enclave-aes}/crypto.d.ts +33 -129
  29. package/dist/capsule/enclave-aes/index.d.ts +113 -0
  30. package/dist/capsule/enclave-aes/index.js +335 -0
  31. package/dist/capsule/enclave-aes/index.js.map +1 -0
  32. package/dist/capsule/enclave-aes/primitives.d.ts +29 -0
  33. package/dist/capsule/index.d.ts +27 -0
  34. package/dist/capsule/plumbing/ct-equal.d.ts +11 -0
  35. package/dist/{kernel/enclave/record-keys → capsule/plumbing}/deterministic.d.ts +8 -21
  36. package/dist/capsule/plumbing/digest.d.ts +122 -0
  37. package/dist/{kernel/enclave/record-keys → capsule/plumbing}/envelope-body.d.ts +44 -48
  38. package/dist/capsule/plumbing/index.d.ts +100 -0
  39. package/dist/capsule/plumbing/lifecycle.d.ts +50 -0
  40. package/dist/{kernel/enclave/record-keys → capsule/plumbing}/record-codec.d.ts +80 -20
  41. package/dist/{kernel/enclave → capsule/plumbing}/record-envelope.d.ts +1 -1
  42. package/dist/capsule/plumbing/rekey-blob.d.ts +33 -0
  43. package/dist/capsule/plumbing/rekey.d.ts +44 -0
  44. package/dist/capsule/plumbing/sealed-slot.d.ts +22 -0
  45. package/dist/capsule/plumbing/sealed-slots.d.ts +37 -0
  46. package/dist/capsule/plumbing/sealing.d.ts +29 -0
  47. package/dist/capsule/plumbing/sign.d.ts +9 -0
  48. package/dist/{kernel/enclave/record-keys → capsule/plumbing}/tombstone.d.ts +2 -2
  49. package/dist/capsule-VOLX3QRQ.js +209 -0
  50. package/dist/cargo/index.js +39 -36
  51. package/dist/{chunk-Q2MPFCQ7.js → chunk-23D6M6VM.js} +5 -5
  52. package/dist/chunk-23D6M6VM.js.map +1 -0
  53. package/dist/{chunk-R7BX2NB3.js → chunk-244QBK7Z.js} +4 -4
  54. package/dist/chunk-244QBK7Z.js.map +1 -0
  55. package/dist/chunk-2AFX33YA.js +936 -0
  56. package/dist/chunk-2AFX33YA.js.map +1 -0
  57. package/dist/{chunk-MVMXZYXT.js → chunk-2GHDLTPE.js} +2 -2
  58. package/dist/{chunk-GYGLAVCX.js → chunk-2MG3SW7Q.js} +6 -2
  59. package/dist/chunk-2MG3SW7Q.js.map +1 -0
  60. package/dist/{chunk-XLMEZIAJ.js → chunk-2ODVB6LZ.js} +2 -2
  61. package/dist/{chunk-HJUWN7JN.js → chunk-2PVXF5CS.js} +33 -8
  62. package/dist/chunk-2PVXF5CS.js.map +1 -0
  63. package/dist/{chunk-YJRT5UQM.js → chunk-2RH777HH.js} +21 -20
  64. package/dist/{chunk-YJRT5UQM.js.map → chunk-2RH777HH.js.map} +1 -1
  65. package/dist/{chunk-7O3Y4PPD.js → chunk-37EPTBBR.js} +153 -16
  66. package/dist/chunk-37EPTBBR.js.map +1 -0
  67. package/dist/{chunk-2ENE6445.js → chunk-3A5DUZ56.js} +102 -16
  68. package/dist/chunk-3A5DUZ56.js.map +1 -0
  69. package/dist/chunk-3EWS67C7.js +461 -0
  70. package/dist/chunk-3EWS67C7.js.map +1 -0
  71. package/dist/{chunk-SGZAIJCV.js → chunk-3L2NBKDR.js} +4 -8
  72. package/dist/chunk-3L2NBKDR.js.map +1 -0
  73. package/dist/{chunk-YMUFFJCO.js → chunk-3TDUWVWB.js} +5 -2
  74. package/dist/chunk-3TDUWVWB.js.map +1 -0
  75. package/dist/{chunk-4GVM6QZA.js → chunk-3XJQBBZD.js} +26 -28
  76. package/dist/chunk-3XJQBBZD.js.map +1 -0
  77. package/dist/{chunk-4ZS56W5S.js → chunk-42ALPZ2B.js} +672 -664
  78. package/dist/chunk-42ALPZ2B.js.map +1 -0
  79. package/dist/chunk-4CIQDWRB.js +524 -0
  80. package/dist/chunk-4CIQDWRB.js.map +1 -0
  81. package/dist/{chunk-RMS3NEA3.js → chunk-4JPMZTJY.js} +2 -2
  82. package/dist/{chunk-P3MG6QCN.js → chunk-4T3SE27M.js} +5 -9
  83. package/dist/chunk-4T3SE27M.js.map +1 -0
  84. package/dist/chunk-4V3Q35WG.js +204 -0
  85. package/dist/chunk-4V3Q35WG.js.map +1 -0
  86. package/dist/{chunk-NQKIUNW5.js → chunk-52MGURXO.js} +2 -2
  87. package/dist/{chunk-EQEYOJBM.js → chunk-5A4345TG.js} +4 -4
  88. package/dist/chunk-5A4345TG.js.map +1 -0
  89. package/dist/{chunk-334WSVOW.js → chunk-5FE75J4S.js} +6 -6
  90. package/dist/chunk-5FE75J4S.js.map +1 -0
  91. package/dist/chunk-5KC7QYEC.js +565 -0
  92. package/dist/chunk-5KC7QYEC.js.map +1 -0
  93. package/dist/{chunk-RSGLUIO6.js → chunk-5UMK7GRI.js} +13 -12
  94. package/dist/chunk-5UMK7GRI.js.map +1 -0
  95. package/dist/chunk-5WWDGFOS.js +275 -0
  96. package/dist/chunk-5WWDGFOS.js.map +1 -0
  97. package/dist/{chunk-QPQUVOZ2.js → chunk-6QVKPHBF.js} +3 -5
  98. package/dist/chunk-6QVKPHBF.js.map +1 -0
  99. package/dist/{chunk-ACAQ2DSG.js → chunk-747G6CT3.js} +2 -2
  100. package/dist/chunk-747G6CT3.js.map +1 -0
  101. package/dist/{chunk-QTQUH4DS.js → chunk-7R2Q7CPL.js} +16 -16
  102. package/dist/chunk-7R2Q7CPL.js.map +1 -0
  103. package/dist/{chunk-UGTBXF5U.js → chunk-7XMHMVTS.js} +3 -3
  104. package/dist/{chunk-YJX7EOJD.js → chunk-A4XMIZT3.js} +6 -6
  105. package/dist/{chunk-YJX7EOJD.js.map → chunk-A4XMIZT3.js.map} +1 -1
  106. package/dist/{chunk-A66I4JOA.js → chunk-AEQGFRU4.js} +4 -4
  107. package/dist/chunk-AEQGFRU4.js.map +1 -0
  108. package/dist/chunk-AL6ML4LA.js +1558 -0
  109. package/dist/chunk-AL6ML4LA.js.map +1 -0
  110. package/dist/{chunk-BZ3534YM.js → chunk-AUKKUPVB.js} +2 -2
  111. package/dist/{chunk-CUZLNGD5.js → chunk-B2YY6WDD.js} +1 -1
  112. package/dist/chunk-B2YY6WDD.js.map +1 -0
  113. package/dist/chunk-BKT776R5.js +1 -0
  114. package/dist/chunk-BNWA3WG5.js +22 -0
  115. package/dist/chunk-BNWA3WG5.js.map +1 -0
  116. package/dist/{chunk-VXANTWBJ.js → chunk-BPWYQ25R.js} +92 -6
  117. package/dist/{chunk-VXANTWBJ.js.map → chunk-BPWYQ25R.js.map} +1 -1
  118. package/dist/{chunk-6LKOJBV6.js → chunk-BVCUTXE3.js} +2 -2
  119. package/dist/chunk-CY2CYVWZ.js +41 -0
  120. package/dist/chunk-CY2CYVWZ.js.map +1 -0
  121. package/dist/{chunk-M4YPHYEH.js → chunk-DHHGL42E.js} +70 -25
  122. package/dist/chunk-DHHGL42E.js.map +1 -0
  123. package/dist/{chunk-VTFVLCUH.js → chunk-DIZLQVAA.js} +2 -2
  124. package/dist/{chunk-G73UVHCA.js → chunk-DLD5LGDS.js} +11 -12
  125. package/dist/chunk-DLD5LGDS.js.map +1 -0
  126. package/dist/{chunk-WQBG4SZS.js → chunk-DQESF6RP.js} +60 -49
  127. package/dist/chunk-DQESF6RP.js.map +1 -0
  128. package/dist/{chunk-LWBCUYZW.js → chunk-E2N2T5ZO.js} +2 -2
  129. package/dist/{chunk-3PGS7TYR.js → chunk-EGVJ7TM4.js} +29 -32
  130. package/dist/chunk-EGVJ7TM4.js.map +1 -0
  131. package/dist/{chunk-JVIBCBC7.js → chunk-EJLV62NI.js} +2 -2
  132. package/dist/{chunk-KKEESNPE.js → chunk-EYG2CY2X.js} +126 -19
  133. package/dist/chunk-EYG2CY2X.js.map +1 -0
  134. package/dist/{enclave-55PAM4YO.js → chunk-EZGV6F47.js} +83 -56
  135. package/dist/chunk-EZGV6F47.js.map +1 -0
  136. package/dist/{chunk-CHQCZZWC.js → chunk-EZOAKKTB.js} +36 -27
  137. package/dist/chunk-EZOAKKTB.js.map +1 -0
  138. package/dist/chunk-F6NCB7KT.js +13 -0
  139. package/dist/chunk-F6NCB7KT.js.map +1 -0
  140. package/dist/chunk-FFJFE4T7.js +100 -0
  141. package/dist/chunk-FFJFE4T7.js.map +1 -0
  142. package/dist/{chunk-JMGDHKQF.js → chunk-FLPCETP6.js} +2 -2
  143. package/dist/chunk-FOEDQATO.js +53 -0
  144. package/dist/chunk-FOEDQATO.js.map +1 -0
  145. package/dist/{chunk-DGOZ4UZD.js → chunk-FVH5QYY2.js} +2 -2
  146. package/dist/{chunk-HIWCKBEY.js → chunk-G2MVBDFP.js} +54 -28
  147. package/dist/chunk-G2MVBDFP.js.map +1 -0
  148. package/dist/chunk-GMKGGY7V.js +234 -0
  149. package/dist/chunk-GMKGGY7V.js.map +1 -0
  150. package/dist/{chunk-EIPVYUEP.js → chunk-GQ4MF3CM.js} +3 -3
  151. package/dist/chunk-GQ4MF3CM.js.map +1 -0
  152. package/dist/{chunk-PEOZ34EM.js → chunk-GSAK56VF.js} +1 -1
  153. package/dist/chunk-GSAK56VF.js.map +1 -0
  154. package/dist/{chunk-5VCRVKOZ.js → chunk-GUZET4SG.js} +12 -4
  155. package/dist/chunk-GUZET4SG.js.map +1 -0
  156. package/dist/{chunk-JBDFMYKQ.js → chunk-GZT3NQRA.js} +2 -2
  157. package/dist/{chunk-K23VKTN4.js → chunk-H23XHRTT.js} +19 -34
  158. package/dist/chunk-H23XHRTT.js.map +1 -0
  159. package/dist/{chunk-TFR7DSOV.js → chunk-H427H63K.js} +2 -2
  160. package/dist/{chunk-DFMWUOU5.js → chunk-H7JBY4P7.js} +23 -32
  161. package/dist/chunk-H7JBY4P7.js.map +1 -0
  162. package/dist/{chunk-SKGMN35F.js → chunk-HS554XAF.js} +3 -3
  163. package/dist/chunk-HS554XAF.js.map +1 -0
  164. package/dist/{chunk-HK67PX4J.js → chunk-HW7CMKUG.js} +1 -1
  165. package/dist/chunk-HW7CMKUG.js.map +1 -0
  166. package/dist/{chunk-3BVH633C.js → chunk-IMQKWR46.js} +5 -7
  167. package/dist/chunk-IMQKWR46.js.map +1 -0
  168. package/dist/{chunk-R42NSZI6.js → chunk-IUBMZPHM.js} +7 -7
  169. package/dist/chunk-IUBMZPHM.js.map +1 -0
  170. package/dist/{chunk-CUQPWYRX.js → chunk-IUT3GWP3.js} +75 -386
  171. package/dist/chunk-IUT3GWP3.js.map +1 -0
  172. package/dist/{chunk-RF6D3Y5E.js → chunk-JDEYF3PJ.js} +4 -8
  173. package/dist/{chunk-RF6D3Y5E.js.map → chunk-JDEYF3PJ.js.map} +1 -1
  174. package/dist/{chunk-PPTHY5QO.js → chunk-JIBUPZHA.js} +99 -8
  175. package/dist/chunk-JIBUPZHA.js.map +1 -0
  176. package/dist/{chunk-SMH6SRX7.js → chunk-JOSPH3E5.js} +2 -2
  177. package/dist/chunk-JQYKPKG6.js +193 -0
  178. package/dist/chunk-JQYKPKG6.js.map +1 -0
  179. package/dist/{chunk-7APJ6CO6.js → chunk-JSMTXZR3.js} +45 -13
  180. package/dist/chunk-JSMTXZR3.js.map +1 -0
  181. package/dist/chunk-JWWYRR4Q.js +12 -0
  182. package/dist/chunk-JWWYRR4Q.js.map +1 -0
  183. package/dist/{chunk-BVN6KXL2.js → chunk-KZXDLBY6.js} +14 -9
  184. package/dist/chunk-KZXDLBY6.js.map +1 -0
  185. package/dist/chunk-LGNDFRYC.js +23 -0
  186. package/dist/chunk-LGNDFRYC.js.map +1 -0
  187. package/dist/{chunk-XKWGNJ26.js → chunk-LIOVX5TJ.js} +7 -11
  188. package/dist/chunk-LIOVX5TJ.js.map +1 -0
  189. package/dist/{chunk-AYX7AINO.js → chunk-LNSVGRHO.js} +5 -7
  190. package/dist/chunk-LNSVGRHO.js.map +1 -0
  191. package/dist/chunk-M5B2W6YY.js +293 -0
  192. package/dist/chunk-M5B2W6YY.js.map +1 -0
  193. package/dist/chunk-MBMTND6D.js +456 -0
  194. package/dist/chunk-MBMTND6D.js.map +1 -0
  195. package/dist/{chunk-3BZZJJMQ.js → chunk-MILI22XQ.js} +3 -3
  196. package/dist/{chunk-A2HKRLPV.js → chunk-MXKI4ABF.js} +18 -59
  197. package/dist/chunk-MXKI4ABF.js.map +1 -0
  198. package/dist/{chunk-ZYIYHJ5R.js → chunk-MXOQ5JCG.js} +869 -238
  199. package/dist/chunk-MXOQ5JCG.js.map +1 -0
  200. package/dist/{chunk-V7ZRRCRJ.js → chunk-N7EVQD5S.js} +9 -13
  201. package/dist/chunk-N7EVQD5S.js.map +1 -0
  202. package/dist/chunk-N7UDP5VU.js +757 -0
  203. package/dist/chunk-N7UDP5VU.js.map +1 -0
  204. package/dist/chunk-NBQ3KK6X.js +270 -0
  205. package/dist/chunk-NBQ3KK6X.js.map +1 -0
  206. package/dist/{chunk-ZORTV6NH.js → chunk-NCO25JZO.js} +88 -4
  207. package/dist/chunk-NCO25JZO.js.map +1 -0
  208. package/dist/chunk-NH2UOV3B.js +18 -0
  209. package/dist/chunk-NH2UOV3B.js.map +1 -0
  210. package/dist/chunk-NYMLINRP.js +28 -0
  211. package/dist/chunk-NYMLINRP.js.map +1 -0
  212. package/dist/{chunk-YYP7WSEB.js → chunk-O2IMQSNA.js} +2 -2
  213. package/dist/chunk-O46CHQT7.js +215 -0
  214. package/dist/chunk-O46CHQT7.js.map +1 -0
  215. package/dist/chunk-OIEO4WDL.js +27 -0
  216. package/dist/chunk-OIEO4WDL.js.map +1 -0
  217. package/dist/{chunk-TRGTKX5E.js → chunk-OKSTSITU.js} +27 -4
  218. package/dist/chunk-OKSTSITU.js.map +1 -0
  219. package/dist/chunk-OYW3I5M4.js +31 -0
  220. package/dist/chunk-OYW3I5M4.js.map +1 -0
  221. package/dist/{chunk-Q7HZX3IF.js → chunk-PD64727P.js} +2 -2
  222. package/dist/chunk-PD64727P.js.map +1 -0
  223. package/dist/{chunk-FET5XCAT.js → chunk-PP3K67AJ.js} +34 -6
  224. package/dist/chunk-PP3K67AJ.js.map +1 -0
  225. package/dist/chunk-Q2XRFWOI.js +40 -0
  226. package/dist/chunk-Q2XRFWOI.js.map +1 -0
  227. package/dist/{chunk-QIZPZMUI.js → chunk-Q4UHJ5SN.js} +2 -2
  228. package/dist/{chunk-FAHMLERK.js → chunk-QBLT6POL.js} +2 -2
  229. package/dist/chunk-QMWY2FDS.js +157 -0
  230. package/dist/chunk-QMWY2FDS.js.map +1 -0
  231. package/dist/{chunk-LH5A3ZPG.js → chunk-RB4DOPGZ.js} +150 -22
  232. package/dist/chunk-RB4DOPGZ.js.map +1 -0
  233. package/dist/chunk-RHVMZSUU.js +7 -0
  234. package/dist/chunk-RHVMZSUU.js.map +1 -0
  235. package/dist/{chunk-BUE2D7PX.js → chunk-SMV2HRDU.js} +2 -2
  236. package/dist/chunk-SUZKW6UR.js +25 -0
  237. package/dist/chunk-SUZKW6UR.js.map +1 -0
  238. package/dist/{chunk-7MG7SJT7.js → chunk-SV2PM2OY.js} +1 -1
  239. package/dist/chunk-SV2PM2OY.js.map +1 -0
  240. package/dist/{chunk-UXVWEX5L.js → chunk-SYNY3VB5.js} +6 -2
  241. package/dist/chunk-SYNY3VB5.js.map +1 -0
  242. package/dist/{chunk-4GFX6MPA.js → chunk-TEHHROZL.js} +6 -8
  243. package/dist/chunk-TEHHROZL.js.map +1 -0
  244. package/dist/chunk-TKVUE4JF.js +1289 -0
  245. package/dist/chunk-TKVUE4JF.js.map +1 -0
  246. package/dist/{chunk-SFAWCTEM.js → chunk-TZZBXPZK.js} +2 -2
  247. package/dist/{chunk-F3W6YMDC.js → chunk-U2FZNEWJ.js} +4 -4
  248. package/dist/chunk-U2FZNEWJ.js.map +1 -0
  249. package/dist/{chunk-BLN54W3L.js → chunk-UA372JHH.js} +56 -3
  250. package/dist/chunk-UA372JHH.js.map +1 -0
  251. package/dist/{chunk-6YXCPL4T.js → chunk-UEFOQH74.js} +2 -2
  252. package/dist/chunk-UEFOQH74.js.map +1 -0
  253. package/dist/{chunk-2N5ML6HT.js → chunk-UIYESRD6.js} +9 -11
  254. package/dist/chunk-UIYESRD6.js.map +1 -0
  255. package/dist/{chunk-UHHPLO3I.js → chunk-V3RWOOSO.js} +4 -4
  256. package/dist/{chunk-KTFRCC5C.js → chunk-V7ADQF5O.js} +82 -8
  257. package/dist/chunk-V7ADQF5O.js.map +1 -0
  258. package/dist/{chunk-453F654R.js → chunk-VAORSCSU.js} +3 -3
  259. package/dist/chunk-VAORSCSU.js.map +1 -0
  260. package/dist/{chunk-GPNTB4Y7.js → chunk-VFHCKG5M.js} +6 -10
  261. package/dist/chunk-VFHCKG5M.js.map +1 -0
  262. package/dist/{chunk-2577DKXB.js → chunk-VHBKYN2J.js} +3 -3
  263. package/dist/chunk-VHBKYN2J.js.map +1 -0
  264. package/dist/chunk-VHM7HCKB.js +220 -0
  265. package/dist/chunk-VHM7HCKB.js.map +1 -0
  266. package/dist/{chunk-ZHKOPKE3.js → chunk-VKI2EB3N.js} +3 -3
  267. package/dist/chunk-VKI2EB3N.js.map +1 -0
  268. package/dist/{chunk-UDHWDSRL.js → chunk-VMV5SBE4.js} +16 -17
  269. package/dist/chunk-VMV5SBE4.js.map +1 -0
  270. package/dist/{chunk-SPYWXKJN.js → chunk-VQDZYB2B.js} +3 -3
  271. package/dist/chunk-VQDZYB2B.js.map +1 -0
  272. package/dist/{chunk-Q2PU57HC.js → chunk-VVOLDVIR.js} +2 -2
  273. package/dist/{chunk-3VF3WQ4F.js → chunk-WPOYWFSE.js} +7 -7
  274. package/dist/{chunk-3VF3WQ4F.js.map → chunk-WPOYWFSE.js.map} +1 -1
  275. package/dist/{chunk-OTQZ7ZWU.js → chunk-WXE4W2U6.js} +7 -11
  276. package/dist/chunk-WXE4W2U6.js.map +1 -0
  277. package/dist/chunk-XBKH4FOC.js +195 -0
  278. package/dist/chunk-XBKH4FOC.js.map +1 -0
  279. package/dist/{chunk-TUFM4UZP.js → chunk-XQRFSKYM.js} +2 -2
  280. package/dist/{chunk-3V4KWFX7.js → chunk-XSPFDUDG.js} +58 -53
  281. package/dist/chunk-XSPFDUDG.js.map +1 -0
  282. package/dist/{chunk-GY4WYNNG.js → chunk-Y2RKVFKR.js} +2 -2
  283. package/dist/{chunk-UP4BECPY.js → chunk-Y3LPTBG7.js} +89 -27
  284. package/dist/chunk-Y3LPTBG7.js.map +1 -0
  285. package/dist/{chunk-4OZNXTO4.js → chunk-YRXFFWG4.js} +2 -2
  286. package/dist/classified/index.js +5 -5
  287. package/dist/{classified-marker-BWOFVYAC.js → classified-marker-SIYKUU5L.js} +3 -3
  288. package/dist/classified-marker-SIYKUU5L.js.map +1 -0
  289. package/dist/collection-facade-CS7CA2XO.js +47 -0
  290. package/dist/{computed-VPOKQK4N.js → computed-FAD7SED4.js} +3 -3
  291. package/dist/consent/index.js +10 -11
  292. package/dist/consent/index.js.map +1 -1
  293. package/dist/cover/index.js +10 -11
  294. package/dist/coverage/index.js +306 -0
  295. package/dist/coverage/index.js.map +1 -0
  296. package/dist/custody/index.js +12 -13
  297. package/dist/{dead-filter-PKQDLOT4.js → dead-filter-4F3LWYKH.js} +11 -3
  298. package/dist/dead-filter-4F3LWYKH.js.map +1 -0
  299. package/dist/debug/index.js +11 -2
  300. package/dist/debug/index.js.map +1 -1
  301. package/dist/{delegation-DS5NRILW.js → delegation-NANZDG4N.js} +13 -16
  302. package/dist/delegation-NANZDG4N.js.map +1 -0
  303. package/dist/derivations/index.js +25 -23
  304. package/dist/derive-XLOJVXPU.js +20 -0
  305. package/dist/directory/index.js +10 -11
  306. package/dist/{dispatch-IEPAVQUM.js → dispatch-H4HV32AM.js} +5 -5
  307. package/dist/{dispatch-Q6MWLOJY.js → dispatch-JDZNGEB3.js} +20 -21
  308. package/dist/dispatch-JDZNGEB3.js.map +1 -0
  309. package/dist/executor-FMPVN6DT.js +35 -0
  310. package/dist/executor-LBBBRTN5.js +8 -0
  311. package/dist/executor-OSRZST2U.js +8 -0
  312. package/dist/export-accessible-RAOJAAU5.js +22 -0
  313. package/dist/extract-partition-JD5CUSTG.js +37 -0
  314. package/dist/{fanout-sidecar-S3QL53YX.js → fanout-sidecar-L7NHPIOC.js} +13 -15
  315. package/dist/fanout-sidecar-L7NHPIOC.js.map +1 -0
  316. package/dist/find-JRN4RNQ5.js +10 -0
  317. package/dist/forget/index.js +9 -10
  318. package/dist/forget/index.js.map +1 -1
  319. package/dist/guards/index.js +4 -4
  320. package/dist/history/index.js +13 -14
  321. package/dist/history/index.js.map +1 -1
  322. package/dist/i18n/index.js +14 -15
  323. package/dist/i18n/index.js.map +1 -1
  324. package/dist/index.d.ts +36 -14
  325. package/dist/index.js +970 -163
  326. package/dist/index.js.map +1 -1
  327. package/dist/indexing/index.js +13 -5
  328. package/dist/indexing/index.js.map +1 -1
  329. package/dist/introspection/index.js +11 -12
  330. package/dist/issue-YIVBZUTH.js +19 -0
  331. package/dist/ivf-flat-UZ6DQDLS.js +314 -0
  332. package/dist/ivf-flat-UZ6DQDLS.js.map +1 -0
  333. package/dist/{json-schema-V3M5MUCM.js → json-schema-3SHX72CC.js} +2 -1
  334. package/dist/json-schema-3SHX72CC.js.map +1 -0
  335. package/dist/kernel/attestation-types.d.ts +62 -0
  336. package/dist/kernel/collection-config.d.ts +5 -68
  337. package/dist/kernel/collection.d.ts +30 -9
  338. package/dist/kernel/cutover-transform.d.ts +1 -1
  339. package/dist/kernel/errors.d.ts +257 -38
  340. package/dist/kernel/generation-map.d.ts +48 -0
  341. package/dist/kernel/merge-authority.d.ts +1 -1
  342. package/dist/kernel/noydb.d.ts +6 -1
  343. package/dist/kernel/paths.d.ts +29 -5
  344. package/dist/kernel/prepared-write.d.ts +1 -1
  345. package/dist/kernel/present-cache.d.ts +58 -0
  346. package/dist/kernel/query/all.d.ts +7 -0
  347. package/dist/kernel/query/builder.d.ts +601 -270
  348. package/dist/kernel/query/civil-date.d.ts +64 -0
  349. package/dist/kernel/query/cursor.d.ts +40 -0
  350. package/dist/kernel/query/distinct-key.d.ts +98 -0
  351. package/dist/kernel/query/hydration.d.ts +76 -0
  352. package/dist/kernel/query/index.d.ts +31 -15
  353. package/dist/kernel/query/internal/core.d.ts +30 -0
  354. package/dist/kernel/query/internal/hooks.d.ts +22 -0
  355. package/dist/kernel/query/internal/maintenance.d.ts +43 -0
  356. package/dist/kernel/query/live/incremental.d.ts +314 -0
  357. package/dist/kernel/query/live/index.d.ts +22 -0
  358. package/dist/kernel/query/live/install.d.ts +2 -0
  359. package/dist/kernel/query/{live.d.ts → live/live.d.ts} +39 -9
  360. package/dist/kernel/query/live/methods.d.ts +107 -0
  361. package/dist/kernel/query/predicate.d.ts +119 -1
  362. package/dist/kernel/query/reduce/date-trunc.d.ts +75 -0
  363. package/dist/kernel/query/reduce/index.d.ts +36 -0
  364. package/dist/kernel/query/reduce/install.d.ts +2 -0
  365. package/dist/kernel/query/reduce/methods.d.ts +259 -0
  366. package/dist/kernel/query/reduce/scan-methods.d.ts +121 -0
  367. package/dist/kernel/query/relate/explain.d.ts +199 -0
  368. package/dist/kernel/query/relate/index.d.ts +48 -0
  369. package/dist/kernel/query/relate/install.d.ts +2 -0
  370. package/dist/kernel/query/relate/join-on.d.ts +126 -0
  371. package/dist/kernel/query/relate/join-reduce.d.ts +16 -0
  372. package/dist/kernel/query/relate/join.d.ts +452 -0
  373. package/dist/kernel/query/relate/methods.d.ts +426 -0
  374. package/dist/kernel/query/relate/partition.d.ts +87 -0
  375. package/dist/kernel/query/relate/scan-methods.d.ts +163 -0
  376. package/dist/kernel/query/relate/traverse.d.ts +109 -0
  377. package/dist/kernel/query/scan-builder.d.ts +79 -176
  378. package/dist/kernel/query/sort-key.d.ts +52 -0
  379. package/dist/kernel/secret-mode.d.ts +1 -1
  380. package/dist/kernel/tx-write-gate.d.ts +77 -0
  381. package/dist/kernel/types.d.ts +113 -8
  382. package/dist/kernel/validation.d.ts +27 -10
  383. package/dist/kernel/vault.d.ts +11 -6
  384. package/dist/kernel/via/compose.d.ts +3 -0
  385. package/dist/kernel/via/index.d.ts +56 -0
  386. package/dist/kernel/via/pipeline.d.ts +48 -0
  387. package/dist/kernel/write-queue.d.ts +17 -0
  388. package/dist/{ledger-EDXFFZQL.js → ledger-5ZMGE44K.js} +11 -12
  389. package/dist/liberate-WZSZM2W6.js +24 -0
  390. package/dist/link-set-MFXC24VK.js +29 -0
  391. package/dist/{managed-secret-NCWEMPUQ.js → managed-secret-MFTFT22X.js} +10 -11
  392. package/dist/materialized-views/index.js +30 -24
  393. package/dist/{migrate-cek-5ENH64AA.js → migrate-cek-DZRFFOHW.js} +2 -2
  394. package/dist/money/index.js +5 -5
  395. package/dist/noydb-ITIGNKUF.js +96 -0
  396. package/dist/overlay-views/index.js +4 -4
  397. package/dist/periods/index.js +12 -13
  398. package/dist/pod/index.js +74 -67
  399. package/dist/{pod-handle-ECVCDIXW.js → pod-handle-A3LET7NO.js} +10 -11
  400. package/dist/pod-handle-A3LET7NO.js.map +1 -0
  401. package/dist/policy/index.js +10 -11
  402. package/dist/port/on/index.d.ts +1 -1
  403. package/dist/port/to/index.d.ts +1 -1
  404. package/dist/port/with/blob-strategy.d.ts +10 -1
  405. package/dist/port/with/classified-strategy.d.ts +1 -1
  406. package/dist/port/with/collection-options.d.ts +6 -1
  407. package/dist/port/with/collection-registries.d.ts +1 -1
  408. package/dist/port/with/coverage-strategy.d.ts +83 -0
  409. package/dist/port/with/lookup-strategy.d.ts +2 -2
  410. package/dist/port/with/service-bus.d.ts +46 -0
  411. package/dist/port/with/strategies.d.ts +2 -0
  412. package/dist/portability/index.js +8 -8
  413. package/dist/{post-register-3IPCSG6Q.js → post-register-7ND27CF2.js} +6 -6
  414. package/dist/post-register-7ND27CF2.js.map +1 -0
  415. package/dist/query/all/index.js +31 -0
  416. package/dist/query/index.js +20 -32
  417. package/dist/query/live/index.js +21 -0
  418. package/dist/query/live/index.js.map +1 -0
  419. package/dist/query/reduce/index.js +33 -0
  420. package/dist/query/reduce/index.js.map +1 -0
  421. package/dist/query/relate/index.js +56 -0
  422. package/dist/query/relate/index.js.map +1 -0
  423. package/dist/reduce/index.js +72 -18
  424. package/dist/reduce/index.js.map +1 -1
  425. package/dist/register-DT5HZ2LZ.js +30 -0
  426. package/dist/registry-BHRZGZHF.js +8 -0
  427. package/dist/registry-ET6ZFFWA.js +34 -0
  428. package/dist/registry-HXFGLGTG.js +8 -0
  429. package/dist/registry-THCPDEOD.js +23 -0
  430. package/dist/request-withdrawal-AV2MJJKY.js +30 -0
  431. package/dist/{reveal-QZDHSGD4.js → reveal-B2TLP4JQ.js} +10 -9
  432. package/dist/reveal-B2TLP4JQ.js.map +1 -0
  433. package/dist/revoke-6DWIEOCV.js +24 -0
  434. package/dist/satellites/index.js +1 -1
  435. package/dist/schema-update/index.js +2 -2
  436. package/dist/sealed-record/index.js +16 -18
  437. package/dist/sealed-record/index.js.map +1 -1
  438. package/dist/search/index.js +11 -5
  439. package/dist/{seed-X5CC22CQ.js → seed-XNSE4U3S.js} +15 -18
  440. package/dist/seed-XNSE4U3S.js.map +1 -0
  441. package/dist/sequence/index.js +9 -10
  442. package/dist/session/index.js +9 -10
  443. package/dist/session/index.js.map +1 -1
  444. package/dist/shadow/index.js +2 -2
  445. package/dist/signer-MHGW3OIL.js +23 -0
  446. package/dist/snapshots/index.js +11 -11
  447. package/dist/stale-6GCFMOOR.js +28 -0
  448. package/dist/storage-BYN5LO6Z.js +21 -0
  449. package/dist/storage-BYN5LO6Z.js.map +1 -0
  450. package/dist/store/index.js +1 -1
  451. package/dist/{store-coordination-provider-4WZAIRHC.js → store-coordination-provider-C4BPT5XF.js} +11 -12
  452. package/dist/store-coordination-provider-C4BPT5XF.js.map +1 -0
  453. package/dist/sync/index.js +10 -11
  454. package/dist/sync/index.js.map +1 -1
  455. package/dist/team/index.js +17 -16
  456. package/dist/tiers/index.js +13 -12
  457. package/dist/to/index.js +2 -2
  458. package/dist/transactions/index.js +3 -3
  459. package/dist/util/index.js +1 -1
  460. package/dist/vault-head/index.js +11 -14
  461. package/dist/vault-head/index.js.map +1 -1
  462. package/dist/{verify-6MDTIUEV.js → verify-UKALW7C2.js} +14 -12
  463. package/dist/verify-UKALW7C2.js.map +1 -0
  464. package/dist/via/blob/index.d.ts +1 -0
  465. package/dist/via/classified/binding.d.ts +2 -2
  466. package/dist/via/classified/config-drift.d.ts +2 -2
  467. package/dist/via/classified/errors.d.ts +1 -1
  468. package/dist/via/geo/binding.d.ts +31 -0
  469. package/dist/via/geo/descriptor.d.ts +54 -0
  470. package/dist/via/geo/geohash.d.ts +95 -0
  471. package/dist/via/geo/index.d.ts +13 -0
  472. package/dist/via/geo/where.d.ts +50 -0
  473. package/dist/via/i18n/core.d.ts +1 -1
  474. package/dist/via/lookup/handle.d.ts +4 -4
  475. package/dist/via/lookup/registry.d.ts +1 -1
  476. package/dist/via/lookup/snapshot.d.ts +3 -3
  477. package/dist/walk-4VPK7AS4.js +20 -0
  478. package/dist/walk-4VPK7AS4.js.map +1 -0
  479. package/dist/with-audit/attestation/index.d.ts +2 -1
  480. package/dist/with-audit/attestation/issue.d.ts +2 -2
  481. package/dist/with-audit/attestation/revoke.d.ts +2 -2
  482. package/dist/with-audit/attestation/scheme.d.ts +7 -0
  483. package/dist/with-audit/attestation/signer.d.ts +1 -1
  484. package/dist/with-audit/attestation/strategy.d.ts +2 -2
  485. package/dist/with-audit/attestation/types.d.ts +10 -0
  486. package/dist/with-audit/attestation/vault-facade.d.ts +2 -2
  487. package/dist/with-audit/attestation/verifier.d.ts +6 -0
  488. package/dist/with-audit/consent/consent.d.ts +1 -1
  489. package/dist/with-audit/consent/strategy.d.ts +1 -1
  490. package/dist/with-audit/coverage/accounting.d.ts +112 -0
  491. package/dist/with-audit/coverage/active.d.ts +29 -0
  492. package/dist/with-audit/coverage/index.d.ts +61 -0
  493. package/dist/with-audit/coverage/sketch.d.ts +75 -0
  494. package/dist/with-audit/forget/subject-index.d.ts +1 -1
  495. package/dist/with-audit/periods/periods.d.ts +55 -7
  496. package/dist/with-audit/periods/reserved-collections.d.ts +3 -0
  497. package/dist/with-audit/periods/vault-facade.d.ts +18 -1
  498. package/dist/with-audit/sealed-record/index.d.ts +2 -2
  499. package/dist/with-audit/sealed-record/strategy.d.ts +1 -1
  500. package/dist/with-audit/tiers/index.d.ts +53 -2
  501. package/dist/with-audit/tiers/strategy.d.ts +8 -0
  502. package/dist/with-cargo/adopt-partition.d.ts +1 -1
  503. package/dist/with-cargo/extract-partition.d.ts +1 -1
  504. package/dist/with-cargo/floor.d.ts +3 -3
  505. package/dist/with-commit/history/history.d.ts +2 -2
  506. package/dist/with-commit/history/index.d.ts +1 -1
  507. package/dist/with-commit/history/ledger/store.d.ts +1 -1
  508. package/dist/with-commit/history/strategy.d.ts +1 -1
  509. package/dist/with-commit/history/time-machine.d.ts +1 -1
  510. package/dist/with-commit/numbering/index.d.ts +1 -1
  511. package/dist/with-commit/sequence/index.d.ts +1 -1
  512. package/dist/with-commit/tx/invariants.d.ts +1 -1
  513. package/dist/with-commit/tx/transaction.d.ts +13 -3
  514. package/dist/with-commit/vault-head/head.d.ts +1 -1
  515. package/dist/with-commit/vault-head/index.d.ts +1 -1
  516. package/dist/with-commit/vault-head/strategy.d.ts +1 -1
  517. package/dist/with-commit/vault-head/verify.d.ts +1 -1
  518. package/dist/with-formula/derivations/dispatch.d.ts +1 -1
  519. package/dist/with-formula/derivations/fanout-sidecar.d.ts +1 -1
  520. package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +4 -3
  521. package/dist/with-formula/materialized-views/emit-memo.d.ts +40 -0
  522. package/dist/with-formula/materialized-views/executor.d.ts +8 -0
  523. package/dist/with-formula/materialized-views/index.d.ts +1 -1
  524. package/dist/with-formula/materialized-views/registry.d.ts +15 -0
  525. package/dist/with-formula/materialized-views/types.d.ts +106 -14
  526. package/dist/with-formula/materialized-views/window-stage.d.ts +11 -0
  527. package/dist/with-formula/overlay-views/types.d.ts +1 -1
  528. package/dist/with-formula/overlay-views/virtual-collection.d.ts +13 -4
  529. package/dist/with-lookup/embeddings/chunks.d.ts +79 -0
  530. package/dist/with-lookup/embeddings/descriptor.d.ts +21 -0
  531. package/dist/with-lookup/embeddings/index.d.ts +3 -0
  532. package/dist/with-lookup/embeddings/ivf-flat.d.ts +93 -0
  533. package/dist/with-lookup/embeddings/vector-index.d.ts +73 -0
  534. package/dist/with-lookup/embeddings/vector-set.d.ts +94 -1
  535. package/dist/with-lookup/embeddings/with-vector-index.d.ts +67 -0
  536. package/dist/with-lookup/indexing/collection-facade.d.ts +86 -3
  537. package/dist/with-lookup/indexing/compound-indexes.d.ts +129 -0
  538. package/dist/with-lookup/indexing/eager-indexes.d.ts +170 -1
  539. package/dist/with-lookup/indexing/index-snapshot.d.ts +62 -0
  540. package/dist/with-lookup/indexing/lazy-builder.d.ts +33 -0
  541. package/dist/with-lookup/indexing/persisted-field-indexes.d.ts +104 -0
  542. package/dist/with-lookup/indexing/persisted-indexes.d.ts +12 -0
  543. package/dist/with-lookup/indexing/sorted-indexes.d.ts +117 -0
  544. package/dist/with-lookup/indexing/unique-constraints.d.ts +106 -23
  545. package/dist/with-lookup/reduce/active.d.ts +2 -24
  546. package/dist/with-lookup/reduce/group-core.d.ts +43 -0
  547. package/dist/with-lookup/reduce/groupby.d.ts +195 -36
  548. package/dist/with-lookup/reduce/incremental-group.d.ts +153 -0
  549. package/dist/with-lookup/reduce/index.d.ts +26 -5
  550. package/dist/with-lookup/reduce/reducers.d.ts +255 -1
  551. package/dist/with-lookup/reduce/reduction.d.ts +44 -13
  552. package/dist/with-lookup/reduce/strategy.d.ts +43 -3
  553. package/dist/with-lookup/reduce/window.d.ts +262 -0
  554. package/dist/with-lookup/search/collection-facade.d.ts +45 -9
  555. package/dist/with-lookup/search/index-store.d.ts +5 -3
  556. package/dist/with-lookup/search/index.d.ts +4 -2
  557. package/dist/with-lookup/search/inverted-index.d.ts +38 -2
  558. package/dist/with-lookup/search/persisted-index-store.d.ts +5 -2
  559. package/dist/with-lookup/search/phrase.d.ts +28 -0
  560. package/dist/with-lookup/search/retrieve-types.d.ts +57 -1
  561. package/dist/with-lookup/search/serialize.d.ts +29 -3
  562. package/dist/with-lookup/search/strategy.d.ts +2 -6
  563. package/dist/with-party/broker/index.d.ts +3 -3
  564. package/dist/with-party/directory/cover/index.d.ts +1 -1
  565. package/dist/with-party/directory/cover/storage.d.ts +1 -1
  566. package/dist/with-party/directory/cover/types.d.ts +1 -1
  567. package/dist/with-party/directory/index.d.ts +1 -1
  568. package/dist/with-party/directory/types.d.ts +1 -1
  569. package/dist/with-party/directory/user-envelope/api.d.ts +1 -1
  570. package/dist/with-party/directory/user-envelope/storage.d.ts +1 -1
  571. package/dist/with-party/policy/engine.d.ts +1 -1
  572. package/dist/with-party/policy/index.d.ts +1 -1
  573. package/dist/with-party/policy/presets.d.ts +1 -1
  574. package/dist/with-party/team/authenticators.d.ts +91 -1
  575. package/dist/with-party/team/delegation.d.ts +1 -1
  576. package/dist/with-party/team/echo-secret.d.ts +2 -2
  577. package/dist/with-party/team/index.d.ts +4 -3
  578. package/dist/with-party/team/keyring.d.ts +2 -2
  579. package/dist/with-party/team/magic-link-grant.d.ts +1 -1
  580. package/dist/with-party/team/managed-secret.d.ts +1 -1
  581. package/dist/with-party/team/noydb-facade.d.ts +12 -3
  582. package/dist/with-party/team/recovery.d.ts +1 -1
  583. package/dist/with-party/team/roster-tag.d.ts +1 -1
  584. package/dist/with-party/team/rotate-recover.d.ts +1 -1
  585. package/dist/with-party/team/wrapped-deks.d.ts +1 -1
  586. package/dist/with-pod/format.d.ts +1 -1
  587. package/dist/with-pod/index.d.ts +1 -1
  588. package/dist/with-pod/pod.d.ts +1 -1
  589. package/dist/with-shape/blobs/blob-compaction.d.ts +17 -1
  590. package/dist/with-shape/blobs/blob-intent.d.ts +1 -1
  591. package/dist/with-shape/blobs/blob-set.d.ts +23 -4
  592. package/dist/with-shape/blobs/legacy-sweep.d.ts +35 -0
  593. package/dist/with-shape/introspection/describe.d.ts +7 -1
  594. package/dist/with-shape/introspection/field-meta.d.ts +18 -0
  595. package/dist/with-shape/introspection/types.d.ts +57 -1
  596. package/dist/with-shape/introspection/walk.d.ts +1 -1
  597. package/dist/with-shape/links/lazy-handle.d.ts +1 -1
  598. package/dist/with-shape/links/link-set.d.ts +1 -1
  599. package/dist/with-shape/links/vault-facade.d.ts +1 -1
  600. package/dist/with-shape/manifest/derive.d.ts +1 -1
  601. package/dist/with-shape/manifest/storage.d.ts +1 -1
  602. package/dist/with-shape/persisted-schemas/register.d.ts +1 -1
  603. package/dist/with-shape/persisted-schemas/storage.d.ts +1 -1
  604. package/dist/with-shape/satellites/dead-filter.d.ts +1 -1
  605. package/dist/with-shape/satellites/declare.d.ts +1 -1
  606. package/dist/with-shape/satellites/marker.d.ts +1 -1
  607. package/dist/with-shape/satellites/post-register.d.ts +1 -1
  608. package/dist/with-store/partitioned/index.d.ts +337 -0
  609. package/dist/with-sync/change-broadcast.d.ts +153 -0
  610. package/dist/with-sync/presence.d.ts +5 -10
  611. package/dist/withdraw-accessible-HL7GACUE.js +27 -0
  612. package/dist/withdraw-accessible-HL7GACUE.js.map +1 -0
  613. package/package.json +48 -12
  614. package/dist/api-WYW4YEQG.js +0 -19
  615. package/dist/backup-XKCXVKV3.js.map +0 -1
  616. package/dist/chunk-2577DKXB.js.map +0 -1
  617. package/dist/chunk-2ENE6445.js.map +0 -1
  618. package/dist/chunk-2N5ML6HT.js.map +0 -1
  619. package/dist/chunk-334WSVOW.js.map +0 -1
  620. package/dist/chunk-3BVH633C.js.map +0 -1
  621. package/dist/chunk-3PGS7TYR.js.map +0 -1
  622. package/dist/chunk-3V4KWFX7.js.map +0 -1
  623. package/dist/chunk-453F654R.js.map +0 -1
  624. package/dist/chunk-4GFX6MPA.js.map +0 -1
  625. package/dist/chunk-4GVM6QZA.js.map +0 -1
  626. package/dist/chunk-4ZS56W5S.js.map +0 -1
  627. package/dist/chunk-5VCRVKOZ.js.map +0 -1
  628. package/dist/chunk-6YXCPL4T.js.map +0 -1
  629. package/dist/chunk-7APJ6CO6.js.map +0 -1
  630. package/dist/chunk-7MG2LHO5.js +0 -1616
  631. package/dist/chunk-7MG2LHO5.js.map +0 -1
  632. package/dist/chunk-7MG7SJT7.js.map +0 -1
  633. package/dist/chunk-7O3Y4PPD.js.map +0 -1
  634. package/dist/chunk-A2HKRLPV.js.map +0 -1
  635. package/dist/chunk-A66I4JOA.js.map +0 -1
  636. package/dist/chunk-ACAQ2DSG.js.map +0 -1
  637. package/dist/chunk-ATL3ZVXT.js +0 -151
  638. package/dist/chunk-ATL3ZVXT.js.map +0 -1
  639. package/dist/chunk-AYX7AINO.js.map +0 -1
  640. package/dist/chunk-BLN54W3L.js.map +0 -1
  641. package/dist/chunk-BRLKZUBT.js +0 -95
  642. package/dist/chunk-BRLKZUBT.js.map +0 -1
  643. package/dist/chunk-BTDR2PXY.js +0 -29
  644. package/dist/chunk-BTDR2PXY.js.map +0 -1
  645. package/dist/chunk-BVN6KXL2.js.map +0 -1
  646. package/dist/chunk-CHQCZZWC.js.map +0 -1
  647. package/dist/chunk-CUQPWYRX.js.map +0 -1
  648. package/dist/chunk-CUZLNGD5.js.map +0 -1
  649. package/dist/chunk-DFMWUOU5.js.map +0 -1
  650. package/dist/chunk-EIPVYUEP.js.map +0 -1
  651. package/dist/chunk-EQEYOJBM.js.map +0 -1
  652. package/dist/chunk-F3W6YMDC.js.map +0 -1
  653. package/dist/chunk-FET5XCAT.js.map +0 -1
  654. package/dist/chunk-G73UVHCA.js.map +0 -1
  655. package/dist/chunk-GPNTB4Y7.js.map +0 -1
  656. package/dist/chunk-GYGLAVCX.js.map +0 -1
  657. package/dist/chunk-HIWCKBEY.js.map +0 -1
  658. package/dist/chunk-HJUWN7JN.js.map +0 -1
  659. package/dist/chunk-HK67PX4J.js.map +0 -1
  660. package/dist/chunk-HPVZCW43.js +0 -479
  661. package/dist/chunk-HPVZCW43.js.map +0 -1
  662. package/dist/chunk-I3ISCYT7.js +0 -159
  663. package/dist/chunk-I3ISCYT7.js.map +0 -1
  664. package/dist/chunk-K23VKTN4.js.map +0 -1
  665. package/dist/chunk-KKEESNPE.js.map +0 -1
  666. package/dist/chunk-KTFRCC5C.js.map +0 -1
  667. package/dist/chunk-LH5A3ZPG.js.map +0 -1
  668. package/dist/chunk-LP7BEXCT.js +0 -32
  669. package/dist/chunk-LP7BEXCT.js.map +0 -1
  670. package/dist/chunk-M4YPHYEH.js.map +0 -1
  671. package/dist/chunk-NSITFOCJ.js +0 -99
  672. package/dist/chunk-NSITFOCJ.js.map +0 -1
  673. package/dist/chunk-OTQZ7ZWU.js.map +0 -1
  674. package/dist/chunk-P3MG6QCN.js.map +0 -1
  675. package/dist/chunk-PEOZ34EM.js.map +0 -1
  676. package/dist/chunk-PPTHY5QO.js.map +0 -1
  677. package/dist/chunk-Q2MPFCQ7.js.map +0 -1
  678. package/dist/chunk-Q7HZX3IF.js.map +0 -1
  679. package/dist/chunk-QPQUVOZ2.js.map +0 -1
  680. package/dist/chunk-QTQUH4DS.js.map +0 -1
  681. package/dist/chunk-R42NSZI6.js.map +0 -1
  682. package/dist/chunk-R7BX2NB3.js.map +0 -1
  683. package/dist/chunk-RSGLUIO6.js.map +0 -1
  684. package/dist/chunk-RTBJ5IOO.js +0 -87
  685. package/dist/chunk-RTBJ5IOO.js.map +0 -1
  686. package/dist/chunk-SGZAIJCV.js.map +0 -1
  687. package/dist/chunk-SKGMN35F.js.map +0 -1
  688. package/dist/chunk-SPYWXKJN.js.map +0 -1
  689. package/dist/chunk-SZJ3DLZA.js +0 -66
  690. package/dist/chunk-SZJ3DLZA.js.map +0 -1
  691. package/dist/chunk-TRGTKX5E.js.map +0 -1
  692. package/dist/chunk-UDHWDSRL.js.map +0 -1
  693. package/dist/chunk-UP4BECPY.js.map +0 -1
  694. package/dist/chunk-UXVWEX5L.js.map +0 -1
  695. package/dist/chunk-V7ZRRCRJ.js.map +0 -1
  696. package/dist/chunk-WQBG4SZS.js.map +0 -1
  697. package/dist/chunk-XKWGNJ26.js.map +0 -1
  698. package/dist/chunk-YMUFFJCO.js.map +0 -1
  699. package/dist/chunk-ZHKOPKE3.js.map +0 -1
  700. package/dist/chunk-ZN4FD4PE.js +0 -364
  701. package/dist/chunk-ZN4FD4PE.js.map +0 -1
  702. package/dist/chunk-ZORTV6NH.js.map +0 -1
  703. package/dist/chunk-ZYIYHJ5R.js.map +0 -1
  704. package/dist/classified-marker-BWOFVYAC.js.map +0 -1
  705. package/dist/collection-facade-JSJYIKS4.js +0 -45
  706. package/dist/dead-filter-PKQDLOT4.js.map +0 -1
  707. package/dist/delegation-DS5NRILW.js.map +0 -1
  708. package/dist/derive-E642AOUB.js +0 -21
  709. package/dist/dispatch-Q6MWLOJY.js.map +0 -1
  710. package/dist/executor-5NIMLSKZ.js +0 -8
  711. package/dist/executor-7UQ3BZ4F.js +0 -29
  712. package/dist/executor-AQVXV5GZ.js +0 -8
  713. package/dist/export-accessible-ORMKLA3E.js +0 -22
  714. package/dist/extract-partition-NKYO3WNG.js +0 -37
  715. package/dist/fanout-sidecar-S3QL53YX.js.map +0 -1
  716. package/dist/find-NOGJ25VX.js +0 -10
  717. package/dist/issue-3DTQ7VJJ.js +0 -18
  718. package/dist/json-schema-V3M5MUCM.js.map +0 -1
  719. package/dist/kernel/enclave/classify/compare.d.ts +0 -10
  720. package/dist/kernel/enclave/index.d.ts +0 -87
  721. package/dist/kernel/enclave/record-keys/lifecycle.d.ts +0 -124
  722. package/dist/kernel/enclave/record-keys/rekey-blob.d.ts +0 -88
  723. package/dist/kernel/enclave/record-keys/rekey.d.ts +0 -91
  724. package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +0 -14
  725. package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +0 -123
  726. package/dist/kernel/enclave/record-keys/sealing.d.ts +0 -70
  727. package/dist/kernel/query/join.d.ts +0 -232
  728. package/dist/liberate-V35QUHJP.js +0 -24
  729. package/dist/link-set-2TTM3IZC.js +0 -30
  730. package/dist/noydb-62MX4QUG.js +0 -90
  731. package/dist/pod-handle-ECVCDIXW.js.map +0 -1
  732. package/dist/post-register-3IPCSG6Q.js.map +0 -1
  733. package/dist/register-HHLXEQDN.js +0 -31
  734. package/dist/registry-23WF3TGH.js +0 -8
  735. package/dist/registry-4AYVUNXK.js +0 -8
  736. package/dist/registry-JS3YFQQM.js +0 -18
  737. package/dist/registry-XX2Z7B46.js +0 -32
  738. package/dist/request-withdrawal-CHPATE4G.js +0 -30
  739. package/dist/reveal-QZDHSGD4.js.map +0 -1
  740. package/dist/revoke-7M2VW4ON.js +0 -23
  741. package/dist/seed-X5CC22CQ.js.map +0 -1
  742. package/dist/signer-SJQJVSM6.js +0 -24
  743. package/dist/stale-BZS6H2RY.js +0 -29
  744. package/dist/storage-RW4QBS23.js +0 -22
  745. package/dist/store-coordination-provider-4WZAIRHC.js.map +0 -1
  746. package/dist/verify-6MDTIUEV.js.map +0 -1
  747. package/dist/walk-ZURCH6RZ.js +0 -21
  748. package/dist/withdraw-accessible-PXR4IXDX.js +0 -27
  749. /package/dist/{api-WYW4YEQG.js.map → api-OS747DS4.js.map} +0 -0
  750. /package/dist/{computed-VPOKQK4N.js.map → capsule/contract.js.map} +0 -0
  751. /package/dist/{kernel/enclave → capsule/enclave-aes}/broker/proof.d.ts +0 -0
  752. /package/dist/{kernel/enclave → capsule/enclave-aes}/classify/bidx.d.ts +0 -0
  753. /package/dist/{kernel/enclave → capsule/enclave-aes}/classify/digest.d.ts +0 -0
  754. /package/dist/{kernel/enclave → capsule/enclave-aes}/classify/vdig.d.ts +0 -0
  755. /package/dist/{kernel/enclave/classify → capsule/plumbing}/kofn.d.ts +0 -0
  756. /package/dist/{kernel/enclave/classify → capsule/plumbing}/normalize.d.ts +0 -0
  757. /package/dist/{kernel/enclave → capsule/plumbing}/record-aad.d.ts +0 -0
  758. /package/dist/{collection-facade-JSJYIKS4.js.map → capsule-VOLX3QRQ.js.map} +0 -0
  759. /package/dist/{chunk-MVMXZYXT.js.map → chunk-2GHDLTPE.js.map} +0 -0
  760. /package/dist/{chunk-XLMEZIAJ.js.map → chunk-2ODVB6LZ.js.map} +0 -0
  761. /package/dist/{chunk-RMS3NEA3.js.map → chunk-4JPMZTJY.js.map} +0 -0
  762. /package/dist/{chunk-NQKIUNW5.js.map → chunk-52MGURXO.js.map} +0 -0
  763. /package/dist/{chunk-UGTBXF5U.js.map → chunk-7XMHMVTS.js.map} +0 -0
  764. /package/dist/{chunk-BZ3534YM.js.map → chunk-AUKKUPVB.js.map} +0 -0
  765. /package/dist/{derive-E642AOUB.js.map → chunk-BKT776R5.js.map} +0 -0
  766. /package/dist/{chunk-6LKOJBV6.js.map → chunk-BVCUTXE3.js.map} +0 -0
  767. /package/dist/{chunk-VTFVLCUH.js.map → chunk-DIZLQVAA.js.map} +0 -0
  768. /package/dist/{chunk-LWBCUYZW.js.map → chunk-E2N2T5ZO.js.map} +0 -0
  769. /package/dist/{chunk-JVIBCBC7.js.map → chunk-EJLV62NI.js.map} +0 -0
  770. /package/dist/{chunk-JMGDHKQF.js.map → chunk-FLPCETP6.js.map} +0 -0
  771. /package/dist/{chunk-DGOZ4UZD.js.map → chunk-FVH5QYY2.js.map} +0 -0
  772. /package/dist/{chunk-JBDFMYKQ.js.map → chunk-GZT3NQRA.js.map} +0 -0
  773. /package/dist/{chunk-TFR7DSOV.js.map → chunk-H427H63K.js.map} +0 -0
  774. /package/dist/{chunk-SMH6SRX7.js.map → chunk-JOSPH3E5.js.map} +0 -0
  775. /package/dist/{chunk-3BZZJJMQ.js.map → chunk-MILI22XQ.js.map} +0 -0
  776. /package/dist/{chunk-YYP7WSEB.js.map → chunk-O2IMQSNA.js.map} +0 -0
  777. /package/dist/{chunk-QIZPZMUI.js.map → chunk-Q4UHJ5SN.js.map} +0 -0
  778. /package/dist/{chunk-FAHMLERK.js.map → chunk-QBLT6POL.js.map} +0 -0
  779. /package/dist/{chunk-BUE2D7PX.js.map → chunk-SMV2HRDU.js.map} +0 -0
  780. /package/dist/{chunk-SFAWCTEM.js.map → chunk-TZZBXPZK.js.map} +0 -0
  781. /package/dist/{chunk-UHHPLO3I.js.map → chunk-V3RWOOSO.js.map} +0 -0
  782. /package/dist/{chunk-Q2PU57HC.js.map → chunk-VVOLDVIR.js.map} +0 -0
  783. /package/dist/{chunk-TUFM4UZP.js.map → chunk-XQRFSKYM.js.map} +0 -0
  784. /package/dist/{chunk-GY4WYNNG.js.map → chunk-Y2RKVFKR.js.map} +0 -0
  785. /package/dist/{chunk-4OZNXTO4.js.map → chunk-YRXFFWG4.js.map} +0 -0
  786. /package/dist/{enclave-55PAM4YO.js.map → collection-facade-CS7CA2XO.js.map} +0 -0
  787. /package/dist/{executor-5NIMLSKZ.js.map → computed-FAD7SED4.js.map} +0 -0
  788. /package/dist/{executor-7UQ3BZ4F.js.map → derive-XLOJVXPU.js.map} +0 -0
  789. /package/dist/{dispatch-IEPAVQUM.js.map → dispatch-H4HV32AM.js.map} +0 -0
  790. /package/dist/{executor-AQVXV5GZ.js.map → executor-FMPVN6DT.js.map} +0 -0
  791. /package/dist/{export-accessible-ORMKLA3E.js.map → executor-LBBBRTN5.js.map} +0 -0
  792. /package/dist/{extract-partition-NKYO3WNG.js.map → executor-OSRZST2U.js.map} +0 -0
  793. /package/dist/{find-NOGJ25VX.js.map → export-accessible-RAOJAAU5.js.map} +0 -0
  794. /package/dist/{issue-3DTQ7VJJ.js.map → extract-partition-JD5CUSTG.js.map} +0 -0
  795. /package/dist/{ledger-EDXFFZQL.js.map → find-JRN4RNQ5.js.map} +0 -0
  796. /package/dist/{liberate-V35QUHJP.js.map → issue-YIVBZUTH.js.map} +0 -0
  797. /package/dist/{link-set-2TTM3IZC.js.map → ledger-5ZMGE44K.js.map} +0 -0
  798. /package/dist/{managed-secret-NCWEMPUQ.js.map → liberate-WZSZM2W6.js.map} +0 -0
  799. /package/dist/{noydb-62MX4QUG.js.map → link-set-MFXC24VK.js.map} +0 -0
  800. /package/dist/{register-HHLXEQDN.js.map → managed-secret-MFTFT22X.js.map} +0 -0
  801. /package/dist/{migrate-cek-5ENH64AA.js.map → migrate-cek-DZRFFOHW.js.map} +0 -0
  802. /package/dist/{registry-23WF3TGH.js.map → noydb-ITIGNKUF.js.map} +0 -0
  803. /package/dist/{registry-4AYVUNXK.js.map → query/all/index.js.map} +0 -0
  804. /package/dist/{registry-JS3YFQQM.js.map → register-DT5HZ2LZ.js.map} +0 -0
  805. /package/dist/{registry-XX2Z7B46.js.map → registry-BHRZGZHF.js.map} +0 -0
  806. /package/dist/{request-withdrawal-CHPATE4G.js.map → registry-ET6ZFFWA.js.map} +0 -0
  807. /package/dist/{revoke-7M2VW4ON.js.map → registry-HXFGLGTG.js.map} +0 -0
  808. /package/dist/{signer-SJQJVSM6.js.map → registry-THCPDEOD.js.map} +0 -0
  809. /package/dist/{stale-BZS6H2RY.js.map → request-withdrawal-AV2MJJKY.js.map} +0 -0
  810. /package/dist/{storage-RW4QBS23.js.map → revoke-6DWIEOCV.js.map} +0 -0
  811. /package/dist/{walk-ZURCH6RZ.js.map → signer-MHGW3OIL.js.map} +0 -0
  812. /package/dist/{withdraw-accessible-PXR4IXDX.js.map → stale-6GCFMOOR.js.map} +0 -0
package/dist/index.js CHANGED
@@ -1,32 +1,24 @@
1
1
  import {
2
2
  persistSchemaIfNeeded
3
- } from "./chunk-3VF3WQ4F.js";
3
+ } from "./chunk-WPOYWFSE.js";
4
4
  import {
5
5
  LinkEndpointError
6
- } from "./chunk-OTQZ7ZWU.js";
7
- import {
8
- WithdrawalRequestError,
9
- approveWithdrawal,
10
- listWithdrawalRequests,
11
- rejectWithdrawal,
12
- requestWithdrawal
13
- } from "./chunk-R42NSZI6.js";
6
+ } from "./chunk-WXE4W2U6.js";
14
7
  import {
15
8
  ComputedFieldError,
16
9
  evalComputedFields
17
- } from "./chunk-LWBCUYZW.js";
18
- import {
19
- DEFAULT_FRESHNESS_MS,
20
- PERSONAL_POLICY,
21
- STRICT_POLICY,
22
- checkGate,
23
- describeGate,
24
- mergePolicy
25
- } from "./chunk-SPYWXKJN.js";
10
+ } from "./chunk-E2N2T5ZO.js";
26
11
  import "./chunk-GJW4HX2O.js";
27
12
  import {
28
13
  UserApi
29
- } from "./chunk-A66I4JOA.js";
14
+ } from "./chunk-AEQGFRU4.js";
15
+ import {
16
+ WithdrawalRequestError,
17
+ approveWithdrawal,
18
+ listWithdrawalRequests,
19
+ rejectWithdrawal,
20
+ requestWithdrawal
21
+ } from "./chunk-IUBMZPHM.js";
30
22
  import {
31
23
  routeStore,
32
24
  withCache,
@@ -36,63 +28,71 @@ import {
36
28
  withMetrics,
37
29
  withRetry,
38
30
  wrapStore
39
- } from "./chunk-EIPVYUEP.js";
31
+ } from "./chunk-GQ4MF3CM.js";
40
32
  import {
41
33
  allocate,
42
34
  asMoney,
43
35
  isMoneyString,
44
36
  moneyNumber,
45
37
  mulRate
46
- } from "./chunk-GY4WYNNG.js";
38
+ } from "./chunk-Y2RKVFKR.js";
47
39
  import {
48
40
  COVER_FIELDS,
49
41
  DEFAULT_COVER_SCHEMA,
50
42
  resolveSchema
51
- } from "./chunk-CUZLNGD5.js";
43
+ } from "./chunk-B2YY6WDD.js";
52
44
  import {
53
45
  additiveOnly,
54
46
  blindUpdate,
55
47
  coordinatedCutover,
56
48
  lockSchema
57
- } from "./chunk-RMS3NEA3.js";
49
+ } from "./chunk-4JPMZTJY.js";
58
50
  import "./chunk-ZVF37PKE.js";
51
+ import {
52
+ DEFAULT_FRESHNESS_MS,
53
+ PERSONAL_POLICY,
54
+ STRICT_POLICY,
55
+ checkGate,
56
+ describeGate,
57
+ mergePolicy
58
+ } from "./chunk-VQDZYB2B.js";
59
59
  import {
60
60
  classified,
61
61
  luhnCheck
62
- } from "./chunk-YJX7EOJD.js";
62
+ } from "./chunk-A4XMIZT3.js";
63
63
  import {
64
64
  decryptExtractedPartition,
65
65
  withCargo
66
- } from "./chunk-DFMWUOU5.js";
66
+ } from "./chunk-H7JBY4P7.js";
67
67
  import {
68
68
  diffVault
69
69
  } from "./chunk-LFUID7OW.js";
70
- import "./chunk-3PGS7TYR.js";
70
+ import "./chunk-EGVJ7TM4.js";
71
71
  import {
72
72
  createDeedOwner,
73
73
  isDeedVault,
74
74
  liberateVault,
75
75
  loadDeedMarker
76
- } from "./chunk-2N5ML6HT.js";
76
+ } from "./chunk-UIYESRD6.js";
77
77
  import {
78
78
  withdrawAccessibleData
79
- } from "./chunk-3BVH633C.js";
79
+ } from "./chunk-IMQKWR46.js";
80
80
  import {
81
81
  exportAccessibleData
82
- } from "./chunk-JVIBCBC7.js";
82
+ } from "./chunk-EJLV62NI.js";
83
83
  import {
84
84
  applyListProjection
85
85
  } from "./chunk-VG2ZSFYD.js";
86
86
  import {
87
87
  withDerivation,
88
88
  withRollup
89
- } from "./chunk-BUE2D7PX.js";
89
+ } from "./chunk-SMV2HRDU.js";
90
90
  import {
91
91
  withMaterializedView
92
- } from "./chunk-HJUWN7JN.js";
93
- import "./chunk-KKEESNPE.js";
94
- import "./chunk-PPTHY5QO.js";
95
- import "./chunk-ZHKOPKE3.js";
92
+ } from "./chunk-2PVXF5CS.js";
93
+ import "./chunk-EYG2CY2X.js";
94
+ import "./chunk-JIBUPZHA.js";
95
+ import "./chunk-VKI2EB3N.js";
96
96
  import {
97
97
  MoneyCurrencyError,
98
98
  MoneyPrecisionError,
@@ -101,19 +101,46 @@ import {
101
101
  isMoneyDescriptor,
102
102
  money,
103
103
  scaleForCurrency
104
- } from "./chunk-VXANTWBJ.js";
104
+ } from "./chunk-BPWYQ25R.js";
105
105
  import {
106
106
  withOverlayedView
107
- } from "./chunk-SFAWCTEM.js";
108
- import "./chunk-Q2PU57HC.js";
107
+ } from "./chunk-TZZBXPZK.js";
108
+ import "./chunk-VVOLDVIR.js";
109
109
  import {
110
110
  PresenceHandle,
111
111
  SyncEngine,
112
112
  SyncTransaction
113
- } from "./chunk-K23VKTN4.js";
113
+ } from "./chunk-H23XHRTT.js";
114
114
  import {
115
115
  isDiscriminant
116
116
  } from "./chunk-PY4KJPYU.js";
117
+ import {
118
+ immutableGuard,
119
+ transitionGuard,
120
+ withGuard
121
+ } from "./chunk-O2IMQSNA.js";
122
+ import "./chunk-YRXFFWG4.js";
123
+ import "./chunk-FVH5QYY2.js";
124
+ import "./chunk-JK733I5V.js";
125
+ import {
126
+ CollectionFrame,
127
+ VaultFrame
128
+ } from "./chunk-2ODVB6LZ.js";
129
+ import {
130
+ importExternalObjects,
131
+ memoryObjectProjection
132
+ } from "./chunk-4Q6HSHHL.js";
133
+ import {
134
+ withLazy
135
+ } from "./chunk-ULUMAZ5S.js";
136
+ import "./chunk-O46CHQT7.js";
137
+ import {
138
+ reduceRecords
139
+ } from "./chunk-N7UDP5VU.js";
140
+ import {
141
+ mergeCrdtStates,
142
+ resolveCrdtSnapshot
143
+ } from "./chunk-4GPE63GU.js";
117
144
  import {
118
145
  createPodStore,
119
146
  followRedirects,
@@ -121,7 +148,7 @@ import {
121
148
  signRedirect,
122
149
  verifyRedirect,
123
150
  wrapPodStore
124
- } from "./chunk-QTQUH4DS.js";
151
+ } from "./chunk-7R2Q7CPL.js";
125
152
  import {
126
153
  Collection,
127
154
  ELEVATION_AUDIT_COLLECTION,
@@ -138,11 +165,11 @@ import {
138
165
  ref,
139
166
  refArray,
140
167
  withArchive
141
- } from "./chunk-ZYIYHJ5R.js";
168
+ } from "./chunk-MXOQ5JCG.js";
142
169
  import {
143
170
  deriveSchemaManifest,
144
171
  loadSchemaManifestEntry
145
- } from "./chunk-4GFX6MPA.js";
172
+ } from "./chunk-TEHHROZL.js";
146
173
  import {
147
174
  MANIFEST_COLLECTION,
148
175
  isManifestReservedCollection
@@ -150,95 +177,73 @@ import {
150
177
  import {
151
178
  LinkIntegrityError,
152
179
  isLinkCollectionName
153
- } from "./chunk-QIZPZMUI.js";
154
- import "./chunk-TUFM4UZP.js";
155
- import "./chunk-SMH6SRX7.js";
156
- import "./chunk-453F654R.js";
157
- import "./chunk-UP4BECPY.js";
158
- import "./chunk-GYGLAVCX.js";
180
+ } from "./chunk-Q4UHJ5SN.js";
181
+ import "./chunk-XQRFSKYM.js";
182
+ import "./chunk-JOSPH3E5.js";
183
+ import "./chunk-VAORSCSU.js";
184
+ import "./chunk-Y3LPTBG7.js";
185
+ import "./chunk-2MG3SW7Q.js";
159
186
  import "./chunk-6LJY7X5A.js";
160
- import "./chunk-Q7HZX3IF.js";
161
- import "./chunk-M4YPHYEH.js";
162
- import "./chunk-BZ3534YM.js";
187
+ import "./chunk-DHHGL42E.js";
188
+ import "./chunk-AUKKUPVB.js";
163
189
  import {
164
190
  NO_CARGO
165
- } from "./chunk-NQKIUNW5.js";
191
+ } from "./chunk-52MGURXO.js";
166
192
  import {
167
193
  MemoryRecipientSealer,
168
194
  MemorySealer,
169
195
  aesGcmOpen,
170
196
  parseRsaOaepTlv,
171
197
  sealRsaOaepTlv
172
- } from "./chunk-4GVM6QZA.js";
173
- import "./chunk-VTFVLCUH.js";
198
+ } from "./chunk-3XJQBBZD.js";
199
+ import "./chunk-DIZLQVAA.js";
174
200
  import "./chunk-RXLYKVTF.js";
175
- import {
176
- NO_SEQUENCE,
177
- SequenceStore,
178
- compileSequenceFormat,
179
- resolveSequenceKey,
180
- withSequence
181
- } from "./chunk-GPNTB4Y7.js";
182
201
  import {
183
202
  CustodyApi,
184
203
  NO_CUSTODY,
185
204
  withCustody
186
- } from "./chunk-UHHPLO3I.js";
205
+ } from "./chunk-V3RWOOSO.js";
187
206
  import {
188
207
  isViaFieldSpec,
189
208
  via
190
- } from "./chunk-CUQPWYRX.js";
209
+ } from "./chunk-IUT3GWP3.js";
191
210
  import "./chunk-TFMM5DBB.js";
192
- import "./chunk-RTBJ5IOO.js";
211
+ import "./chunk-M5B2W6YY.js";
193
212
  import {
194
213
  ClassifiedNeverStoredError,
195
214
  ClassifiedValidationError,
196
215
  isClassifiedFieldSpec,
197
216
  isClassifiedGroup,
198
217
  resolveClassifiedFields
199
- } from "./chunk-5VCRVKOZ.js";
218
+ } from "./chunk-GUZET4SG.js";
200
219
  import "./chunk-VYYM3MEN.js";
201
220
  import {
202
221
  derivePersistedSchema,
203
222
  isZodSchema
204
- } from "./chunk-ACAQ2DSG.js";
223
+ } from "./chunk-747G6CT3.js";
205
224
  import "./chunk-Y2NBBT6K.js";
206
225
  import {
207
226
  SCHEMAS_COLLECTION,
208
227
  loadPersistedSchema,
209
228
  savePersistedSchema
210
- } from "./chunk-SGZAIJCV.js";
211
- import "./chunk-3BZZJJMQ.js";
229
+ } from "./chunk-3L2NBKDR.js";
230
+ import "./chunk-MILI22XQ.js";
212
231
  import {
213
232
  buildLookupSnapshot
214
- } from "./chunk-R7BX2NB3.js";
215
- import "./chunk-SKGMN35F.js";
233
+ } from "./chunk-244QBK7Z.js";
234
+ import "./chunk-HS554XAF.js";
216
235
  import {
217
236
  INDEXED_STORE_POLICY,
218
237
  POD_STORE_POLICY,
219
238
  SyncScheduler
220
239
  } from "./chunk-T7IR4N2S.js";
221
- import {
222
- CONSENT_AUDIT_COLLECTION
223
- } from "./chunk-P3MG6QCN.js";
224
- import "./chunk-PEOZ34EM.js";
225
- import "./chunk-2ENE6445.js";
240
+ import "./chunk-PD64727P.js";
241
+ import "./chunk-RHVMZSUU.js";
242
+ import "./chunk-3A5DUZ56.js";
226
243
  import "./chunk-GHVIKOHT.js";
227
244
  import {
228
245
  PERIODS_COLLECTION
229
- } from "./chunk-FAHMLERK.js";
230
- import {
231
- immutableGuard,
232
- transitionGuard,
233
- withGuard
234
- } from "./chunk-YYP7WSEB.js";
235
- import "./chunk-4OZNXTO4.js";
236
- import "./chunk-DGOZ4UZD.js";
237
- import "./chunk-JK733I5V.js";
238
- import {
239
- CollectionFrame,
240
- VaultFrame
241
- } from "./chunk-XLMEZIAJ.js";
246
+ } from "./chunk-QBLT6POL.js";
242
247
  import "./chunk-SMY5X46Z.js";
243
248
  import "./chunk-DZFQVICS.js";
244
249
  import {
@@ -256,7 +261,7 @@ import {
256
261
  verifyPodHeader,
257
262
  verifyRecord,
258
263
  writePod
259
- } from "./chunk-BVN6KXL2.js";
264
+ } from "./chunk-KZXDLBY6.js";
260
265
  import {
261
266
  COVER_RECORD_ID,
262
267
  isCover,
@@ -264,39 +269,35 @@ import {
264
269
  readCover,
265
270
  saveCover,
266
271
  validateCoverInput
267
- } from "./chunk-EQEYOJBM.js";
272
+ } from "./chunk-5A4345TG.js";
273
+ import "./chunk-GMKGGY7V.js";
268
274
  import {
269
275
  TxCollection,
270
276
  TxContext,
271
277
  TxVault,
272
278
  runTransaction
273
- } from "./chunk-BLN54W3L.js";
279
+ } from "./chunk-UA372JHH.js";
274
280
  import "./chunk-5D2ALSM5.js";
275
281
  import {
276
282
  NO_SEARCH,
277
283
  tokenize,
278
284
  withSearch
279
- } from "./chunk-LH5A3ZPG.js";
285
+ } from "./chunk-RB4DOPGZ.js";
280
286
  import {
281
287
  fuseRetrieval
282
288
  } from "./chunk-AURFOK3D.js";
283
- import "./chunk-6YXCPL4T.js";
284
289
  import {
285
- DEFAULT_CROSS_JOIN_MAX_ROWS,
286
- Query,
287
- ScanBuilder,
288
- buildLiveQuery,
289
- executePlan
290
- } from "./chunk-7MG2LHO5.js";
290
+ DEFAULT_INDEX_MIN_VECTORS,
291
+ withVectorIndex
292
+ } from "./chunk-NYMLINRP.js";
291
293
  import {
292
- DEFAULT_JOIN_MAX_ROWS,
293
- applyJoins
294
- } from "./chunk-ZORTV6NH.js";
295
- import {
296
- importExternalObjects,
297
- memoryObjectProjection
298
- } from "./chunk-4Q6HSHHL.js";
299
- import "./chunk-7APJ6CO6.js";
294
+ NO_SEQUENCE,
295
+ SequenceStore,
296
+ compileSequenceFormat,
297
+ resolveSequenceKey,
298
+ withSequence
299
+ } from "./chunk-VFHCKG5M.js";
300
+ import "./chunk-JSMTXZR3.js";
300
301
  import {
301
302
  BLOB_CHUNKS_COLLECTION,
302
303
  BLOB_COLLECTION,
@@ -313,44 +314,82 @@ import {
313
314
  getIntent,
314
315
  isPreCompressed,
315
316
  sweepBlobIntents
316
- } from "./chunk-HIWCKBEY.js";
317
- import "./chunk-KTFRCC5C.js";
318
- import {
319
- CollectionIndexes
320
- } from "./chunk-I3ISCYT7.js";
321
- import {
322
- withLazy
323
- } from "./chunk-ULUMAZ5S.js";
317
+ } from "./chunk-G2MVBDFP.js";
318
+ import "./chunk-V7ADQF5O.js";
324
319
  import "./chunk-66TQOPFM.js";
325
320
  import {
326
321
  Lru,
327
322
  estimateRecordBytes,
328
323
  parseBytes
329
324
  } from "./chunk-V4PXLYWM.js";
330
- import "./chunk-ZN4FD4PE.js";
331
325
  import "./chunk-XZHEOSQ2.js";
332
- import "./chunk-YMUFFJCO.js";
333
- import "./chunk-ATL3ZVXT.js";
326
+ import "./chunk-PVEWA2DU.js";
327
+ import {
328
+ CONSENT_AUDIT_COLLECTION
329
+ } from "./chunk-4T3SE27M.js";
330
+ import "./chunk-GSAK56VF.js";
331
+ import "./chunk-UEFOQH74.js";
332
+ import "./chunk-BKT776R5.js";
333
+ import {
334
+ CollectionIndexes
335
+ } from "./chunk-2AFX33YA.js";
336
+ import {
337
+ ALL_PARTITIONS,
338
+ describePartitionScope,
339
+ partitionsInScope,
340
+ resolvePartitionScope
341
+ } from "./chunk-CY2CYVWZ.js";
342
+ import {
343
+ Query,
344
+ ScanBuilder as ScanBuilder2,
345
+ executePlan
346
+ } from "./chunk-OYW3I5M4.js";
347
+ import {
348
+ buildLiveQuery
349
+ } from "./chunk-NBQ3KK6X.js";
350
+ import "./chunk-4CIQDWRB.js";
351
+ import "./chunk-MBMTND6D.js";
352
+ import "./chunk-3EWS67C7.js";
353
+ import "./chunk-SUZKW6UR.js";
354
+ import "./chunk-FFJFE4T7.js";
355
+ import "./chunk-VHM7HCKB.js";
356
+ import "./chunk-XBKH4FOC.js";
357
+ import {
358
+ explainPlan,
359
+ renderExplainText
360
+ } from "./chunk-TKVUE4JF.js";
361
+ import {
362
+ DEFAULT_CROSS_JOIN_MAX_ROWS,
363
+ DEFAULT_JOIN_MAX_ROWS,
364
+ applyJoins
365
+ } from "./chunk-NCO25JZO.js";
366
+ import "./chunk-4V3Q35WG.js";
367
+ import "./chunk-LGNDFRYC.js";
368
+ import {
369
+ ScanBuilder
370
+ } from "./chunk-JQYKPKG6.js";
371
+ import "./chunk-F6NCB7KT.js";
372
+ import {
373
+ sortRecords
374
+ } from "./chunk-AL6ML4LA.js";
375
+ import "./chunk-3TDUWVWB.js";
376
+ import "./chunk-FOEDQATO.js";
334
377
  import {
335
378
  evaluateClause,
336
379
  evaluateFieldClause,
380
+ evaluateOperator,
337
381
  readPath
338
- } from "./chunk-NSITFOCJ.js";
339
- import {
340
- mergeCrdtStates,
341
- resolveCrdtSnapshot
342
- } from "./chunk-4GPE63GU.js";
343
- import "./chunk-PVEWA2DU.js";
344
- import "./chunk-6LKOJBV6.js";
382
+ } from "./chunk-5WWDGFOS.js";
383
+ import "./chunk-BVCUTXE3.js";
345
384
  import {
346
385
  dictKey,
347
386
  staticDict
348
- } from "./chunk-MVMXZYXT.js";
387
+ } from "./chunk-2GHDLTPE.js";
349
388
  import {
350
389
  DICT_COLLECTION_PREFIX,
351
390
  LookupHandle,
352
391
  dictCollectionName
353
- } from "./chunk-Q2MPFCQ7.js";
392
+ } from "./chunk-23D6M6VM.js";
354
393
  import {
355
394
  applyI18nLocale,
356
395
  enforceScript,
@@ -365,15 +404,16 @@ import {
365
404
  resolvePolicy,
366
405
  setAtPathInPlace,
367
406
  validateI18nTextValue
368
- } from "./chunk-TRGTKX5E.js";
407
+ } from "./chunk-OKSTSITU.js";
369
408
  import {
370
- installViaBinder
371
- } from "./chunk-UXVWEX5L.js";
409
+ installViaBinder,
410
+ isViaPrefixProbe
411
+ } from "./chunk-SYNY3VB5.js";
372
412
  import {
373
413
  MemoryDeviceSeal,
374
414
  beginEchoUnlock,
375
415
  withTeam
376
- } from "./chunk-YJRT5UQM.js";
416
+ } from "./chunk-2RH777HH.js";
377
417
  import {
378
418
  MAGIC_LINK_GRANTS_COLLECTION,
379
419
  NO_TEAM,
@@ -402,13 +442,13 @@ import {
402
442
  unwrapDeksFromPaperEntry,
403
443
  unwrapMagicLinkGrant,
404
444
  writeMagicLinkGrant
405
- } from "./chunk-WQBG4SZS.js";
445
+ } from "./chunk-DQESF6RP.js";
406
446
  import {
407
447
  META_COLLECTION,
408
448
  POLICY_RECORD_ID,
409
449
  loadVaultPolicy,
410
450
  saveVaultPolicy
411
- } from "./chunk-2577DKXB.js";
451
+ } from "./chunk-VHBKYN2J.js";
412
452
  import {
413
453
  DEFAULT_ECHO_MIN_WORD_LENGTH,
414
454
  DEFAULT_ECHO_PROMPT_MIN_WORDS,
@@ -434,7 +474,7 @@ import {
434
474
  validateSecret,
435
475
  verifyPrompt,
436
476
  verifyTypedEcho
437
- } from "./chunk-3V4KWFX7.js";
477
+ } from "./chunk-XSPFDUDG.js";
438
478
  import {
439
479
  DIRECTORY_RECORD_ID,
440
480
  VISIBILITY_RECORD_PREFIX,
@@ -448,9 +488,9 @@ import {
448
488
  readUserVisibility,
449
489
  saveUserEnvelope,
450
490
  visibilityRecordId
451
- } from "./chunk-XKWGNJ26.js";
452
- import "./chunk-UGTBXF5U.js";
453
- import "./chunk-JBDFMYKQ.js";
491
+ } from "./chunk-LIOVX5TJ.js";
492
+ import "./chunk-7XMHMVTS.js";
493
+ import "./chunk-GZT3NQRA.js";
454
494
  import {
455
495
  PolicyEnforcer,
456
496
  activeSessionCount,
@@ -465,7 +505,7 @@ import {
465
505
  revokeAllSessions,
466
506
  revokeSession,
467
507
  validateSessionPolicy
468
- } from "./chunk-A2HKRLPV.js";
508
+ } from "./chunk-MXKI4ABF.js";
469
509
  import "./chunk-VKQCVU2Z.js";
470
510
  import {
471
511
  generateULID,
@@ -474,17 +514,17 @@ import {
474
514
  import {
475
515
  CollectionInstant,
476
516
  VaultInstant
477
- } from "./chunk-334WSVOW.js";
517
+ } from "./chunk-5FE75J4S.js";
478
518
  import {
479
519
  diff,
480
520
  formatDiff
481
521
  } from "./chunk-SVLR4POP.js";
482
- import "./chunk-AYX7AINO.js";
522
+ import "./chunk-LNSVGRHO.js";
483
523
  import {
484
524
  LedgerStore,
485
525
  applyPatch,
486
526
  computePatch
487
- } from "./chunk-V7ZRRCRJ.js";
527
+ } from "./chunk-N7EVQD5S.js";
488
528
  import {
489
529
  LEDGER_COLLECTION,
490
530
  LEDGER_DELTAS_COLLECTION
@@ -496,34 +536,32 @@ import {
496
536
  paddedIndex,
497
537
  parseIndex,
498
538
  sha256Hex
499
- } from "./chunk-QPQUVOZ2.js";
500
- import "./chunk-JMGDHKQF.js";
501
- import "./chunk-HK67PX4J.js";
502
- import "./chunk-RF6D3Y5E.js";
503
- import {
504
- buildRecordAad,
505
- openEnvelopeJson,
506
- recordAadFor,
507
- validateSchemaInput,
508
- validateSchemaOutput
509
- } from "./chunk-4ZS56W5S.js";
510
- import {
511
- buildRecordEnvelope
512
- } from "./chunk-SZJ3DLZA.js";
513
- import "./chunk-BRLKZUBT.js";
514
- import "./chunk-BTDR2PXY.js";
515
- import "./chunk-CHQCZZWC.js";
516
- import "./chunk-LP7BEXCT.js";
539
+ } from "./chunk-6QVKPHBF.js";
540
+ import "./chunk-FLPCETP6.js";
541
+ import "./chunk-HW7CMKUG.js";
542
+ import "./chunk-JDEYF3PJ.js";
517
543
  import {
518
544
  base64ToBuffer,
519
545
  bufferToBase64,
546
+ buildRecordAad,
547
+ buildRecordEnvelope,
520
548
  decryptBytes,
521
549
  decryptDeterministic,
522
550
  derivePresenceKey,
523
551
  encrypt,
524
552
  encryptBytes,
525
- encryptDeterministic
526
- } from "./chunk-HPVZCW43.js";
553
+ encryptDeterministic,
554
+ openEnvelopeJson,
555
+ recordAadFor
556
+ } from "./chunk-EZGV6F47.js";
557
+ import "./chunk-OIEO4WDL.js";
558
+ import "./chunk-Q2XRFWOI.js";
559
+ import "./chunk-NH2UOV3B.js";
560
+ import {
561
+ validateSchemaInput,
562
+ validateSchemaOutput
563
+ } from "./chunk-42ALPZ2B.js";
564
+ import "./chunk-QMWY2FDS.js";
527
565
  import {
528
566
  NOYDB_BACKUP_VERSION,
529
567
  NOYDB_ENVELOPE_GENERATION,
@@ -532,7 +570,7 @@ import {
532
570
  NOYDB_SYNC_VERSION,
533
571
  SealedHandle,
534
572
  createStore
535
- } from "./chunk-7MG7SJT7.js";
573
+ } from "./chunk-SV2PM2OY.js";
536
574
  import {
537
575
  AlreadyElevatedError,
538
576
  AmendmentForbiddenError,
@@ -548,6 +586,7 @@ import {
548
586
  ClassifiedRevealError,
549
587
  ClassifiedRotationError,
550
588
  ClassifiedVerifyError,
589
+ CollectionNotHydratedError,
551
590
  ConflictError,
552
591
  CrossJoinSourceUnknownError,
553
592
  CrossJoinTooLargeError,
@@ -608,6 +647,7 @@ import {
608
647
  OverlayIdMismatchError,
609
648
  OverlayNameCollisionError,
610
649
  PathEscapeError,
650
+ PeriodChainError,
611
651
  PeriodClosedError,
612
652
  PermissionDeniedError,
613
653
  PersistedIndexCompensationError,
@@ -618,6 +658,7 @@ import {
618
658
  PolicyDeniedError,
619
659
  PortabilityNotEnabledError,
620
660
  PrivilegeEscalationError,
661
+ QueryExtensionMissingError,
621
662
  QuiesceTimeoutError,
622
663
  ReadOnlyAtInstantError,
623
664
  ReadOnlyError,
@@ -661,6 +702,7 @@ import {
661
702
  TierWriteRefusedError,
662
703
  TiersNotEnabledError,
663
704
  TranslatorNotConfiguredError,
705
+ TraversalCycleError,
664
706
  USER_ENVELOPE_COLLECTION,
665
707
  USER_ENVELOPE_MAX_BYTES,
666
708
  UniqueConstraintError,
@@ -668,6 +710,7 @@ import {
668
710
  UnknownLookupKeyError,
669
711
  UnknownShardError,
670
712
  UnknownStoreKindError,
713
+ UnsafePatternError,
671
714
  UnsupportedIndexOptionError,
672
715
  UnsupportedTierCompositionError,
673
716
  UserEnvelopeOversizedError,
@@ -676,7 +719,129 @@ import {
676
719
  WrongEchoError,
677
720
  WrongPromptError,
678
721
  isConflictError
679
- } from "./chunk-7O3Y4PPD.js";
722
+ } from "./chunk-37EPTBBR.js";
723
+
724
+ // src/with-sync/change-broadcast.ts
725
+ function defaultChangeChannel(name) {
726
+ const Bc = globalThis.BroadcastChannel;
727
+ if (typeof Bc !== "function") return void 0;
728
+ const bc = new Bc(name);
729
+ const maybeUnref = bc;
730
+ if (typeof maybeUnref.unref === "function") maybeUnref.unref();
731
+ const listeners = /* @__PURE__ */ new Set();
732
+ bc.onmessage = (e) => {
733
+ for (const l of listeners) l(String(e.data));
734
+ };
735
+ return {
736
+ isOpen: true,
737
+ send(payload) {
738
+ bc.postMessage(payload);
739
+ },
740
+ on(event, listener) {
741
+ if (event === "message") {
742
+ const l = listener;
743
+ listeners.add(l);
744
+ return () => listeners.delete(l);
745
+ }
746
+ return () => {
747
+ };
748
+ },
749
+ close() {
750
+ listeners.clear();
751
+ bc.close();
752
+ }
753
+ };
754
+ }
755
+ function changeChannelName(storeId) {
756
+ return `noydb:change:${storeId}`;
757
+ }
758
+ var ChangeBroadcast = class {
759
+ #host;
760
+ #channel;
761
+ #originId;
762
+ #now;
763
+ #ownsChannel;
764
+ #unsubMsg;
765
+ #started = false;
766
+ #disposed = false;
767
+ constructor(host, channel, opts) {
768
+ this.#host = host;
769
+ this.#channel = channel;
770
+ this.#originId = opts.originId;
771
+ this.#now = opts.now;
772
+ this.#ownsChannel = opts.ownsChannel;
773
+ }
774
+ get originId() {
775
+ return this.#originId;
776
+ }
777
+ start() {
778
+ if (this.#started || this.#disposed) return;
779
+ this.#started = true;
780
+ this.#unsubMsg = this.#channel.on("message", (p) => this.#onMessage(p));
781
+ this.#host.on("change", this.#onLocalChange);
782
+ }
783
+ dispose() {
784
+ if (this.#disposed) return;
785
+ this.#disposed = true;
786
+ this.#host.off("change", this.#onLocalChange);
787
+ this.#unsubMsg?.();
788
+ if (this.#ownsChannel) this.#channel.close();
789
+ }
790
+ /**
791
+ * Echo suppression, first and primary layer: a change this instance produced
792
+ * BY APPLYING a peer's signal is tagged `remote` and is never re-posted. Two
793
+ * instances would otherwise volley one address forever.
794
+ */
795
+ #onLocalChange = (e) => {
796
+ if (this.#disposed || e.remote === true) return;
797
+ if (!this.#channel.isOpen) return;
798
+ const signal = {
799
+ kind: "noydb:change",
800
+ origin: this.#originId,
801
+ vault: e.vault,
802
+ collection: e.collection,
803
+ id: e.id,
804
+ ts: this.#now()
805
+ };
806
+ this.#channel.send(JSON.stringify(signal));
807
+ };
808
+ #onMessage(payload) {
809
+ if (this.#disposed) return;
810
+ let msg;
811
+ try {
812
+ msg = JSON.parse(payload);
813
+ } catch {
814
+ return;
815
+ }
816
+ if (!isChangeSignal(msg) || msg.origin === this.#originId) return;
817
+ void Promise.resolve(this.#host._applyRemoteSignal(msg.vault, msg.collection, msg.id)).catch((err) => {
818
+ console.warn(`[noy-db] change-signal apply failed for ${msg.collection}/${msg.id}: ` + (err instanceof Error ? err.message : String(err)));
819
+ });
820
+ }
821
+ };
822
+ function enableChangeBroadcast(host, opts = {}) {
823
+ const storeId = opts.storeId ?? host._storeName ?? "default";
824
+ const channel = opts.channel ?? defaultChangeChannel(changeChannelName(storeId));
825
+ if (!channel) return { dispose: () => {
826
+ } };
827
+ const relay = new ChangeBroadcast(host, channel, {
828
+ originId: opts.originId ?? `noydb-${cheapRand()}`,
829
+ now: opts.now ?? (() => Date.now()),
830
+ // Own the channel only when we created it; never close a caller-injected one.
831
+ ownsChannel: opts.channel === void 0
832
+ });
833
+ relay.start();
834
+ return { dispose: () => relay.dispose() };
835
+ }
836
+ function isChangeSignal(x) {
837
+ if (x === null || typeof x !== "object") return false;
838
+ const o = x;
839
+ return o["kind"] === "noydb:change" && typeof o["origin"] === "string" && typeof o["vault"] === "string" && typeof o["collection"] === "string" && typeof o["id"] === "string" && typeof o["ts"] === "number";
840
+ }
841
+ function cheapRand() {
842
+ const g = globalThis;
843
+ return g.crypto?.randomUUID ? g.crypto.randomUUID() : `anon-${Math.random().toString(36).slice(2)}`;
844
+ }
680
845
 
681
846
  // src/with-commit/numbering/descriptor.ts
682
847
  function withDeferredNumbering(opts) {
@@ -694,8 +859,12 @@ function computedVia(cfg) {
694
859
  const fields = cfg.virtualFields;
695
860
  return {
696
861
  brand: "computed",
862
+ presentIsSync: true,
863
+ // #1416 — `desc.fn(r)` is declared sync by the computed contract
697
864
  posture: VIRTUAL_POSTURE,
698
865
  covers: (field) => fields.has(field),
866
+ coveredFields: [...fields.keys()],
867
+ // #1447 — virtual fields live ONLY here, which is why a predicate cannot report them
699
868
  present: (record) => {
700
869
  let r = record;
701
870
  for (const [field, desc] of fields) {
@@ -710,6 +879,271 @@ function linkComputedVia() {
710
879
  installViaBinder("computed", (cfg) => computedVia(cfg));
711
880
  }
712
881
 
882
+ // src/via/geo/geohash.ts
883
+ var EARTH_RADIUS_KM = 6371.0088;
884
+ var BASE32 = "0123456789bcdefghjkmnpqrstuvwxyz";
885
+ var MAX_PRECISION = 12;
886
+ var DEG = Math.PI / 180;
887
+ function isGeoPoint(p) {
888
+ if (typeof p !== "object" || p === null) return false;
889
+ const { lat, lng } = p;
890
+ return typeof lat === "number" && Number.isFinite(lat) && lat >= -90 && lat <= 90 && typeof lng === "number" && Number.isFinite(lng) && lng >= -180 && lng <= 180;
891
+ }
892
+ function haversineKm(a, b) {
893
+ const dLat = (b.lat - a.lat) * DEG;
894
+ const dLng = (b.lng - a.lng) * DEG;
895
+ const lat1 = a.lat * DEG;
896
+ const lat2 = b.lat * DEG;
897
+ const h = Math.sin(dLat / 2) ** 2 + Math.cos(lat1) * Math.cos(lat2) * Math.sin(dLng / 2) ** 2;
898
+ return 2 * EARTH_RADIUS_KM * Math.asin(Math.min(1, Math.sqrt(h)));
899
+ }
900
+ function encodeGeohash(point, precision) {
901
+ if (!isGeoPoint(point)) throw new RangeError(`encodeGeohash: not a point: ${JSON.stringify(point)}`);
902
+ const p = clampPrecision(precision);
903
+ let latMin = -90, latMax = 90, lngMin = -180, lngMax = 180;
904
+ let hash = "", bits = 0, ch = 0, evenBit = true;
905
+ while (hash.length < p) {
906
+ if (evenBit) {
907
+ const mid = (lngMin + lngMax) / 2;
908
+ if (point.lng >= mid) {
909
+ ch = (ch << 1) + 1;
910
+ lngMin = mid;
911
+ } else {
912
+ ch <<= 1;
913
+ lngMax = mid;
914
+ }
915
+ } else {
916
+ const mid = (latMin + latMax) / 2;
917
+ if (point.lat >= mid) {
918
+ ch = (ch << 1) + 1;
919
+ latMin = mid;
920
+ } else {
921
+ ch <<= 1;
922
+ latMax = mid;
923
+ }
924
+ }
925
+ evenBit = !evenBit;
926
+ if (++bits === 5) {
927
+ hash += BASE32[ch];
928
+ bits = 0;
929
+ ch = 0;
930
+ }
931
+ }
932
+ return hash;
933
+ }
934
+ function decodeGeohashBox(hash) {
935
+ let latMin = -90, latMax = 90, lngMin = -180, lngMax = 180;
936
+ let evenBit = true;
937
+ for (const c of hash) {
938
+ const idx = BASE32.indexOf(c);
939
+ if (idx < 0) throw new RangeError(`decodeGeohashBox: "${c}" is not a geohash character`);
940
+ for (let n = 4; n >= 0; n--) {
941
+ const bit = idx >> n & 1;
942
+ if (evenBit) {
943
+ const mid = (lngMin + lngMax) / 2;
944
+ if (bit === 1) lngMin = mid;
945
+ else lngMax = mid;
946
+ } else {
947
+ const mid = (latMin + latMax) / 2;
948
+ if (bit === 1) latMin = mid;
949
+ else latMax = mid;
950
+ }
951
+ evenBit = !evenBit;
952
+ }
953
+ }
954
+ return { minLat: latMin, maxLat: latMax, minLng: lngMin, maxLng: lngMax };
955
+ }
956
+ function gridBits(precision) {
957
+ const total = clampPrecision(precision) * 5;
958
+ return { latBits: Math.floor(total / 2), lngBits: Math.ceil(total / 2) };
959
+ }
960
+ function boundingBox(center, radiusKm) {
961
+ if (!isGeoPoint(center)) throw new RangeError(`boundingBox: not a point: ${JSON.stringify(center)}`);
962
+ if (!Number.isFinite(radiusKm) || radiusKm < 0) throw new RangeError(`boundingBox: radiusKm must be a non-negative number, got ${radiusKm}`);
963
+ const eps = 1e-9;
964
+ const angular = radiusKm / EARTH_RADIUS_KM;
965
+ if (angular >= Math.PI) return [{ minLat: -90, maxLat: 90, minLng: -180, maxLng: 180 }];
966
+ const latDelta = angular / DEG + eps;
967
+ const minLat = center.lat - latDelta;
968
+ const maxLat = center.lat + latDelta;
969
+ if (minLat <= -90 || maxLat >= 90) {
970
+ return [{ minLat: Math.max(-90, minLat), maxLat: Math.min(90, maxLat), minLng: -180, maxLng: 180 }];
971
+ }
972
+ const worstLat = Math.max(Math.abs(minLat), Math.abs(maxLat)) * DEG;
973
+ const ratio = Math.sin(angular) / Math.cos(worstLat);
974
+ if (!(ratio < 1)) return [{ minLat, maxLat, minLng: -180, maxLng: 180 }];
975
+ const lngDelta = Math.asin(ratio) / DEG + eps;
976
+ const minLng = center.lng - lngDelta;
977
+ const maxLng = center.lng + lngDelta;
978
+ if (maxLng - minLng >= 360) return [{ minLat, maxLat, minLng: -180, maxLng: 180 }];
979
+ if (minLng < -180) return [{ minLat, maxLat, minLng: -180, maxLng }, { minLat, maxLat, minLng: minLng + 360, maxLng: 180 }];
980
+ if (maxLng > 180) return [{ minLat, maxLat, minLng, maxLng: 180 }, { minLat, maxLat, minLng: -180, maxLng: maxLng - 360 }];
981
+ return [{ minLat, maxLat, minLng, maxLng }];
982
+ }
983
+ function coverSize(boxes, precision) {
984
+ const { latBits, lngBits } = gridBits(precision);
985
+ const latCells = 2 ** latBits;
986
+ const lngCells = 2 ** lngBits;
987
+ let total = 0;
988
+ for (const box of boxes) {
989
+ const i0 = cellIndex(box.minLat, -90, 180, latCells);
990
+ const i1 = cellIndex(box.maxLat, -90, 180, latCells);
991
+ const j0 = cellIndex(box.minLng, -180, 360, lngCells);
992
+ const j1 = cellIndex(box.maxLng, -180, 360, lngCells);
993
+ total += (i1 - i0 + 1) * (j1 - j0 + 1);
994
+ }
995
+ return total;
996
+ }
997
+ function coverPrefixes(boxes, precision) {
998
+ const p = clampPrecision(precision);
999
+ const { latBits, lngBits } = gridBits(p);
1000
+ const latCells = 2 ** latBits;
1001
+ const lngCells = 2 ** lngBits;
1002
+ const latStep = 180 / latCells;
1003
+ const lngStep = 360 / lngCells;
1004
+ const out = /* @__PURE__ */ new Set();
1005
+ for (const box of boxes) {
1006
+ const i0 = cellIndex(box.minLat, -90, 180, latCells);
1007
+ const i1 = cellIndex(box.maxLat, -90, 180, latCells);
1008
+ const j0 = cellIndex(box.minLng, -180, 360, lngCells);
1009
+ const j1 = cellIndex(box.maxLng, -180, 360, lngCells);
1010
+ for (let i = i0; i <= i1; i++) {
1011
+ const lat = -90 + (i + 0.5) * latStep;
1012
+ for (let j = j0; j <= j1; j++) {
1013
+ const lng = -180 + (j + 0.5) * lngStep;
1014
+ out.add(encodeGeohash({ lat, lng }, p));
1015
+ }
1016
+ }
1017
+ }
1018
+ return [...out].sort();
1019
+ }
1020
+ function prefixesForRadius(center, radiusKm, maxPrecision, maxCells) {
1021
+ const boxes = boundingBox(center, radiusKm);
1022
+ const ceiling = Math.max(1, maxCells);
1023
+ for (let p = clampPrecision(maxPrecision); p > 1; p--) {
1024
+ if (coverSize(boxes, p) <= ceiling) return { prefixes: coverPrefixes(boxes, p), precision: p };
1025
+ }
1026
+ return { prefixes: coverPrefixes(boxes, 1), precision: 1 };
1027
+ }
1028
+ function cellIndex(value, origin, span, cells) {
1029
+ const raw = Math.floor((value - origin) / span * cells);
1030
+ return Math.min(cells - 1, Math.max(0, raw));
1031
+ }
1032
+ function clampPrecision(precision) {
1033
+ if (!Number.isInteger(precision) || precision < 1 || precision > MAX_PRECISION) {
1034
+ throw new RangeError(`geo: precision must be an integer in 1..${MAX_PRECISION}, got ${precision}`);
1035
+ }
1036
+ return precision;
1037
+ }
1038
+
1039
+ // src/via/geo/where.ts
1040
+ function geoFieldClause(field, op, value, desc) {
1041
+ if (op !== "near") return { kind: "passthrough", value };
1042
+ if (typeof value !== "object" || value === null) {
1043
+ throw new ValidationError(`where("${field}", 'near', \u2026): operand must be { lat, lng, radiusKm }, got ${JSON.stringify(value)}`);
1044
+ }
1045
+ const { lat, lng, radiusKm } = value;
1046
+ const center = { lat, lng };
1047
+ if (!isGeoPoint(center)) {
1048
+ throw new ValidationError(`where("${field}", 'near', \u2026): lat must be in [-90, 90] and lng in [-180, 180], got ${JSON.stringify({ lat, lng })}`);
1049
+ }
1050
+ if (typeof radiusKm !== "number" || !Number.isFinite(radiusKm) || radiusKm < 0) {
1051
+ throw new ValidationError(`where("${field}", 'near', \u2026): radiusKm must be a non-negative number, got ${JSON.stringify(radiusKm)}`);
1052
+ }
1053
+ const { prefixes, precision } = prefixesForRadius(center, radiusKm, desc.precision, desc.maxPrefixes);
1054
+ return { kind: "near", center, radiusKm, prefixes, precision };
1055
+ }
1056
+ function evaluateGeoClause(actual, op, payload) {
1057
+ if (payload.kind === "passthrough") return evaluateOperator(actual, op, payload.value);
1058
+ if (op !== "near") return false;
1059
+ if (!isGeoPoint(actual)) return false;
1060
+ return haversineKm(actual, payload.center) <= payload.radiusKm;
1061
+ }
1062
+ function geoIndexProbe(op, payload) {
1063
+ if (op !== "near" || payload.kind !== "near") return void 0;
1064
+ if (payload.prefixes.length === 0) return void 0;
1065
+ return { kind: "via-prefixes", prefixes: payload.prefixes };
1066
+ }
1067
+
1068
+ // src/via/geo/binding.ts
1069
+ function geoVia(geoFields) {
1070
+ return {
1071
+ brand: "geo",
1072
+ // A coordinate is ordinary envelope-encrypted content; the ORDERED
1073
+ // posture is what the geohash key earns — a prefix slice is a range
1074
+ // answer, never a plaintext coordinate the store can read.
1075
+ posture: { encryptedAtRest: "envelope", queryable: "ordered", exportable: true, forgettable: true },
1076
+ covers: (field) => field in geoFields,
1077
+ coveredFields: Object.keys(geoFields),
1078
+ // #1447
1079
+ ingest: (record) => {
1080
+ let out = record;
1081
+ for (const [field, desc] of Object.entries(geoFields)) {
1082
+ const value = record[field];
1083
+ if (value === null || value === void 0) continue;
1084
+ if (!isGeoPoint(value)) throw new GeoPointError(field, value);
1085
+ const geohash = encodeGeohash(value, desc.precision);
1086
+ if (out === record) out = { ...record };
1087
+ out[field] = { ...value, geohash };
1088
+ }
1089
+ return out;
1090
+ },
1091
+ // Claims EVERY operator on a covered field, not just `near` — see the
1092
+ // header of `where.ts` for why an unclaimed operator on a field whose
1093
+ // index key is rewritten is a soundness hole rather than a gap.
1094
+ buildClause: (field, op, value) => {
1095
+ const desc = geoFields[field];
1096
+ if (!desc) return void 0;
1097
+ return geoFieldClause(field, op, value, desc);
1098
+ },
1099
+ evaluateClause: (actual, op, payload) => evaluateGeoClause(actual, op, payload),
1100
+ indexProbe: (op, payload) => geoIndexProbe(op, payload),
1101
+ canonicalizeIndexKey: (field, rawValue) => {
1102
+ const desc = geoFields[field];
1103
+ if (!desc || !isGeoPoint(rawValue)) return void 0;
1104
+ return encodeGeohash(rawValue, desc.precision);
1105
+ },
1106
+ describeFragment: () => ({
1107
+ geo: Object.fromEntries(
1108
+ Object.entries(geoFields).map(([field, d]) => [field, { precision: d.precision, maxPrefixes: d.maxPrefixes }])
1109
+ )
1110
+ })
1111
+ };
1112
+ }
1113
+ function linkGeoVia() {
1114
+ installViaBinder("geo", (cfg) => geoVia(cfg.geoFields));
1115
+ }
1116
+
1117
+ // src/via/geo/descriptor.ts
1118
+ var GeoPointError = class extends NoydbError {
1119
+ constructor(field, value) {
1120
+ super(
1121
+ "GEO_POINT",
1122
+ `geo: field "${field}" expects { lat, lng } with lat in [-90, 90] and lng in [-180, 180], got ${JSON.stringify(value)}`
1123
+ );
1124
+ this.field = field;
1125
+ this.value = value;
1126
+ this.name = "GeoPointError";
1127
+ }
1128
+ field;
1129
+ value;
1130
+ };
1131
+ function geo(options = {}) {
1132
+ linkGeoVia();
1133
+ const precision = options.precision ?? 9;
1134
+ if (!Number.isInteger(precision) || precision < 1 || precision > MAX_PRECISION) {
1135
+ throw new TypeError(`geo: precision must be an integer in 1..${MAX_PRECISION}, got ${String(precision)}`);
1136
+ }
1137
+ const maxPrefixes = options.maxPrefixes ?? 32;
1138
+ if (!Number.isInteger(maxPrefixes) || maxPrefixes < 1) {
1139
+ throw new TypeError(`geo: maxPrefixes must be a positive integer, got ${String(maxPrefixes)}`);
1140
+ }
1141
+ return { _viaBrand: "geo", precision, maxPrefixes };
1142
+ }
1143
+ function isGeoDescriptor(x) {
1144
+ return typeof x === "object" && x !== null && x._viaBrand === "geo";
1145
+ }
1146
+
713
1147
  // src/via/computed/descriptor.ts
714
1148
  function computed(fn, opts) {
715
1149
  linkComputedVia();
@@ -932,6 +1366,8 @@ function lookupVia(cfg) {
932
1366
  posture: { encryptedAtRest: "envelope", queryable: "full", exportable: true, forgettable: false },
933
1367
  reservedPrefixes: ["_dict_", "_lookup_"],
934
1368
  covers: (field) => field in cfg.lookupFields,
1369
+ coveredFields: Object.keys(cfg.lookupFields),
1370
+ // #1447
935
1371
  ingest: (record) => runLookupIngest(record, cfg),
936
1372
  enforceWrite: (record) => runLookupEnforceWrite(record, cfg),
937
1373
  present: async (record, ctx) => runLookupPresent(record, ctx, cfg),
@@ -1049,7 +1485,342 @@ async function credentialStatus(adapter, vault, keyring, adapterId) {
1049
1485
  const expired = credential.expiresAt ? Date.now() > new Date(credential.expiresAt).getTime() : false;
1050
1486
  return { exists: true, expired };
1051
1487
  }
1488
+
1489
+ // src/with-store/partitioned/index.ts
1490
+ var PARTITION_REGISTRY_COLLECTION = "_partition_sets";
1491
+ var defaultPartitionNamer = (name, partition) => `${name}@${partition}`;
1492
+ function partitioned(vault, spec) {
1493
+ return new PartitionedCollection(vault, spec);
1494
+ }
1495
+ var PartitionedCollection = class {
1496
+ name;
1497
+ key;
1498
+ vault;
1499
+ namer;
1500
+ collectionOptions;
1501
+ declared;
1502
+ /**
1503
+ * Session cache of the REGISTRY's partition list — deliberately not of the
1504
+ * merged set. The two are different questions and conflating them cost a
1505
+ * red test: `ensurePartition` must persist a partition the caller DECLARED
1506
+ * but never wrote, and a cache of the merged set makes every declared value
1507
+ * look already-known, so the registry stays empty and a later session that
1508
+ * declares nothing enumerates nothing.
1509
+ */
1510
+ stored = null;
1511
+ constructor(vault, spec) {
1512
+ this.vault = vault;
1513
+ this.name = spec.name;
1514
+ this.key = spec.key;
1515
+ this.namer = spec.namer ?? defaultPartitionNamer;
1516
+ this.collectionOptions = spec.collectionOptions;
1517
+ this.declared = [...spec.partitions ?? []];
1518
+ }
1519
+ /** The member collection name for a partition value. */
1520
+ collectionNameOf(partition) {
1521
+ return this.namer(this.name, partition);
1522
+ }
1523
+ /** The member `Collection` for one partition. */
1524
+ partition(value) {
1525
+ return this.vault.collection(
1526
+ this.collectionNameOf(value),
1527
+ this.collectionOptions
1528
+ );
1529
+ }
1530
+ /**
1531
+ * The declared partition set, in declaration order.
1532
+ *
1533
+ * ⭐ **This is the "cheap enumeration" half of #1342, and cheap means a
1534
+ * measured thing.** `vault.collections()` is `adapter.loadAll(vault)` — the
1535
+ * whole vault snapshot, every collection, every envelope — so enumerating
1536
+ * twelve quarters cost a full load before this existed. Here it is ONE
1537
+ * record read out of {@link PARTITION_REGISTRY_COLLECTION}, and zero reads
1538
+ * once the session has resolved it.
1539
+ * `__tests__/partitioned-collection.test.ts` asserts the `loadAll` count is
1540
+ * zero rather than trusting the sentence.
1541
+ */
1542
+ async partitions() {
1543
+ const stored = await this.loadStored();
1544
+ const merged = [...this.declared];
1545
+ for (const p of stored) if (!merged.includes(p)) merged.push(p);
1546
+ return merged;
1547
+ }
1548
+ /**
1549
+ * Declare a partition, persisting it so a later session enumerates it
1550
+ * without the caller re-declaring. Idempotent, and keyed on what the
1551
+ * REGISTRY holds rather than on what this handle declared.
1552
+ */
1553
+ async ensurePartition(value) {
1554
+ const stored = await this.loadStored();
1555
+ if (stored.includes(value)) return;
1556
+ stored.push(value);
1557
+ await this.registry().put(this.name, { id: this.name, partitions: [...stored] });
1558
+ }
1559
+ async loadStored() {
1560
+ if (this.stored === null) {
1561
+ this.stored = [...(await this.registry().get(this.name))?.partitions ?? []];
1562
+ }
1563
+ return this.stored;
1564
+ }
1565
+ /**
1566
+ * Write a record into the partition its key names, declaring that partition
1567
+ * if it is new.
1568
+ *
1569
+ * Throws when `record[key]` is not a string — a partition value names a
1570
+ * collection, and routing a record to a partition derived by coercion is
1571
+ * how a record ends up somewhere no query will look for it.
1572
+ */
1573
+ async put(id, record) {
1574
+ const value = record[this.key];
1575
+ if (typeof value !== "string" || value === "") {
1576
+ throw new PartitionKeyError(this.name, this.key, value);
1577
+ }
1578
+ await this.ensurePartition(value);
1579
+ await this.partition(value).put(id, record);
1580
+ }
1581
+ /** A union query across the member collections, pruned by the predicate. */
1582
+ query() {
1583
+ return new PartitionedQuery(this, [], [], void 0, 0);
1584
+ }
1585
+ /**
1586
+ * A union scan across the member collections, pruned by the predicate.
1587
+ * Pages are decrypted, so an excluded partition is decryption never paid.
1588
+ */
1589
+ scan(opts = {}) {
1590
+ return new PartitionedScan(this, [], opts.pageSize ?? 100);
1591
+ }
1592
+ /** @internal — the normalizer for clause shapes, and the union's legs. */
1593
+ _registryName() {
1594
+ return PARTITION_REGISTRY_COLLECTION;
1595
+ }
1596
+ registry() {
1597
+ return this.vault.collection(
1598
+ PARTITION_REGISTRY_COLLECTION
1599
+ );
1600
+ }
1601
+ };
1602
+ var PartitionKeyError = class extends Error {
1603
+ constructor(collection, key, value) {
1604
+ super(
1605
+ `[noy-db] partitioned("${collection}"): record.${key} must be a non-empty string naming its partition, got ${typeof value === "string" ? '""' : String(value)}. A partition value names a collection; it is never coerced.`
1606
+ );
1607
+ this.name = "PartitionKeyError";
1608
+ }
1609
+ };
1610
+ function replay(builder, steps) {
1611
+ let out = builder;
1612
+ for (const step of steps) {
1613
+ out = step.kind === "where" ? out.where(step.field, step.op, step.value) : out.filter(step.fn);
1614
+ }
1615
+ return out;
1616
+ }
1617
+ function normalizedClauses(col, declared, steps) {
1618
+ if (declared.length === 0) return [];
1619
+ const probe = replay(col.partition(declared[0]).query(), steps);
1620
+ return probe._plan().clauses;
1621
+ }
1622
+ var PartitionedQuery = class _PartitionedQuery {
1623
+ constructor(col, steps, orderBys, limitN, offsetN) {
1624
+ this.col = col;
1625
+ this.steps = steps;
1626
+ this.orderBys = orderBys;
1627
+ this.limitN = limitN;
1628
+ this.offsetN = offsetN;
1629
+ }
1630
+ col;
1631
+ steps;
1632
+ orderBys;
1633
+ limitN;
1634
+ offsetN;
1635
+ with(patch) {
1636
+ return new _PartitionedQuery(
1637
+ this.col,
1638
+ patch.steps ?? this.steps,
1639
+ patch.orderBys ?? this.orderBys,
1640
+ "limitN" in patch ? patch.limitN : this.limitN,
1641
+ patch.offsetN ?? this.offsetN
1642
+ );
1643
+ }
1644
+ where(field, op, value) {
1645
+ return this.with({ steps: [...this.steps, { kind: "where", field, op, value }] });
1646
+ }
1647
+ filter(fn) {
1648
+ return this.with({ steps: [...this.steps, { kind: "filter", fn }] });
1649
+ }
1650
+ orderBy(field, direction = "asc") {
1651
+ return this.with({ orderBys: [...this.orderBys, { field, direction }] });
1652
+ }
1653
+ limit(n) {
1654
+ return this.with({ limitN: n });
1655
+ }
1656
+ offset(n) {
1657
+ return this.with({ offsetN: n });
1658
+ }
1659
+ /** The pruning decision for this query, and the set it was taken against. */
1660
+ async scope() {
1661
+ const declared = await this.col.partitions();
1662
+ const clauses = normalizedClauses(this.col, declared, this.steps);
1663
+ return { declared, scope: resolvePartitionScope(clauses, this.col.key, declared) };
1664
+ }
1665
+ /**
1666
+ * The matched rows, unordered and unpaged — the set every reduce-shaped
1667
+ * terminal reports over, matching `Query.count()`'s rule that orderBy /
1668
+ * limit / offset describe a page and a reduction is not paginated.
1669
+ */
1670
+ async matched() {
1671
+ const { declared, scope } = await this.scope();
1672
+ const rows = [];
1673
+ for (const p of partitionsInScope(scope, declared)) {
1674
+ const leg = replay(this.col.partition(p).query(), this.steps);
1675
+ rows.push(...leg.toArray());
1676
+ }
1677
+ return rows;
1678
+ }
1679
+ /** The union, sorted then paged. */
1680
+ async all() {
1681
+ let rows = await this.matched();
1682
+ if (this.orderBys.length > 0) rows = sortRecords(rows, this.orderBys);
1683
+ if (this.offsetN > 0) rows = rows.slice(this.offsetN);
1684
+ if (this.limitN !== void 0) rows = rows.slice(0, this.limitN);
1685
+ return rows;
1686
+ }
1687
+ async first() {
1688
+ return (await this.all())[0] ?? null;
1689
+ }
1690
+ async count() {
1691
+ return (await this.matched()).length;
1692
+ }
1693
+ async aggregate(spec) {
1694
+ return reduceRecords(await this.matched(), spec);
1695
+ }
1696
+ /**
1697
+ * The plan, with the partition decision as its first line:
1698
+ *
1699
+ * ```
1700
+ * partitions partitions: 1 of 12 scanned [partitions:pruned] -- key "period"; FY2026-Q1
1701
+ * source snapshot (no indexes) [source] rows=500
1702
+ * where period == "FY2026-Q1" [scan] rows=500
1703
+ * ```
1704
+ *
1705
+ * ⭐ The dispatch label is decided by {@link resolvePartitionScope} — the
1706
+ * SAME call the executor makes, not a mirror of it. `explain.ts`'s header
1707
+ * warns that its index dispatch mirrors `candidateRecords`; #1375 deleted
1708
+ * one such mirror, and a partition dispatch would have been a third site.
1709
+ *
1710
+ * The nodes after the partition line are the FIRST in-scope member's own
1711
+ * explanation. Every member runs the same plan over the same shape, so one
1712
+ * leg's nodes describe them all; the partition line is what says how many
1713
+ * legs there are.
1714
+ */
1715
+ async explain() {
1716
+ const { declared, scope } = await this.scope();
1717
+ const inScope = partitionsInScope(scope, declared);
1718
+ const pruned = scope !== ALL_PARTITIONS && inScope.length < declared.length;
1719
+ const notes = [`key "${this.col.key}"`];
1720
+ notes.push(
1721
+ inScope.length === 0 ? "no partition admits this predicate \u2014 nothing is read" : inScope.join(", ")
1722
+ );
1723
+ if (!pruned && declared.length > 0) {
1724
+ notes.push("predicate proves no narrowing \u2014 every partition is read");
1725
+ }
1726
+ const head = {
1727
+ op: "partitions",
1728
+ dispatch: pruned ? "partitions:pruned" : "partitions:all",
1729
+ detail: describePartitionScope(scope, declared),
1730
+ estimatedRows: void 0,
1731
+ notes,
1732
+ children: []
1733
+ };
1734
+ const legNodes = inScope.length === 0 ? [] : replay(this.col.partition(inScope[0]).query(), this.steps).explain().nodes;
1735
+ const nodes = [head, ...legNodes];
1736
+ return { nodes, caps: [], reducerRewrite: [], text: renderExplainText(nodes) };
1737
+ }
1738
+ };
1739
+ var PartitionedScan = class _PartitionedScan {
1740
+ constructor(col, steps, pageSize) {
1741
+ this.col = col;
1742
+ this.steps = steps;
1743
+ this.pageSize = pageSize;
1744
+ }
1745
+ col;
1746
+ steps;
1747
+ pageSize;
1748
+ where(field, op, value) {
1749
+ return new _PartitionedScan(
1750
+ this.col,
1751
+ [...this.steps, { kind: "where", field, op, value }],
1752
+ this.pageSize
1753
+ );
1754
+ }
1755
+ filter(fn) {
1756
+ return new _PartitionedScan(this.col, [...this.steps, { kind: "filter", fn }], this.pageSize);
1757
+ }
1758
+ /** The pruning decision for this scan, and the set it was taken against. */
1759
+ async scope() {
1760
+ const declared = await this.col.partitions();
1761
+ const clauses = normalizedClauses(this.col, declared, this.steps);
1762
+ return { declared, scope: resolvePartitionScope(clauses, this.col.key, declared) };
1763
+ }
1764
+ /**
1765
+ * The union as a single {@link ScanBuilder} — so `.aggregate()`,
1766
+ * `.groupBy()` and `for await` come from the streaming machinery that
1767
+ * already exists, at its existing O(reducers) memory bound, rather than
1768
+ * from a second implementation of it.
1769
+ */
1770
+ async builder() {
1771
+ const { declared, scope } = await this.scope();
1772
+ const members = partitionsInScope(scope, declared).map((p) => this.col.partition(p));
1773
+ return replay(
1774
+ new ScanBuilder(unionPageProvider(members), this.pageSize),
1775
+ this.steps
1776
+ );
1777
+ }
1778
+ async *[Symbol.asyncIterator]() {
1779
+ yield* await this.builder();
1780
+ }
1781
+ async aggregate(spec) {
1782
+ return (await this.builder()).aggregate(spec);
1783
+ }
1784
+ /**
1785
+ * **ASYNC here, unlike `Query.toArray()` (#1413).** Same method name, a
1786
+ * different contract, because the surface underneath differs: this one
1787
+ * genuinely fetches across every partition leg, so it genuinely awaits. `Query`'s terminal reads an
1788
+ * already-decrypted in-memory cache and returns `T[]` synchronously.
1789
+ */
1790
+ async toArray() {
1791
+ const out = [];
1792
+ for await (const record of this) out.push(record);
1793
+ return out;
1794
+ }
1795
+ };
1796
+ function unionPageProvider(members) {
1797
+ return {
1798
+ async listPage(opts) {
1799
+ let index = 0;
1800
+ let inner;
1801
+ if (opts.cursor !== void 0) {
1802
+ const at = opts.cursor.indexOf("|");
1803
+ index = Number.parseInt(opts.cursor.slice(0, at), 10);
1804
+ const rest = opts.cursor.slice(at + 1);
1805
+ inner = rest === "" ? void 0 : rest;
1806
+ }
1807
+ while (index < members.length) {
1808
+ const page = await members[index].listPage({ ...inner !== void 0 ? { cursor: inner } : {}, ...opts.limit !== void 0 ? { limit: opts.limit } : {} });
1809
+ if (page.nextCursor !== null) {
1810
+ return { items: page.items, nextCursor: `${index}|${page.nextCursor}` };
1811
+ }
1812
+ index += 1;
1813
+ inner = void 0;
1814
+ if (page.items.length > 0) {
1815
+ return { items: page.items, nextCursor: index < members.length ? `${index}|` : null };
1816
+ }
1817
+ }
1818
+ return { items: [], nextCursor: null };
1819
+ }
1820
+ };
1821
+ }
1052
1822
  export {
1823
+ ALL_PARTITIONS,
1053
1824
  AlreadyElevatedError,
1054
1825
  AmendmentForbiddenError,
1055
1826
  AttestationError,
@@ -1069,6 +1840,7 @@ export {
1069
1840
  COVER_FIELDS,
1070
1841
  COVER_RECORD_ID,
1071
1842
  CargoNotEnabledError,
1843
+ ChangeBroadcast,
1072
1844
  ClassifiedConfigError,
1073
1845
  ClassifiedNeverStoredError,
1074
1846
  ClassifiedNotEnabledError,
@@ -1080,6 +1852,7 @@ export {
1080
1852
  CollectionFrame,
1081
1853
  CollectionIndexes,
1082
1854
  CollectionInstant,
1855
+ CollectionNotHydratedError,
1083
1856
  ComputedFieldError,
1084
1857
  ConflictError,
1085
1858
  CrossJoinSourceUnknownError,
@@ -1092,6 +1865,7 @@ export {
1092
1865
  DEFAULT_ECHO_MIN_WORD_LENGTH,
1093
1866
  DEFAULT_ECHO_PROMPT_MIN_WORDS,
1094
1867
  DEFAULT_FRESHNESS_MS,
1868
+ DEFAULT_INDEX_MIN_VECTORS,
1095
1869
  DEFAULT_JOIN_MAX_ROWS,
1096
1870
  DICT_COLLECTION_PREFIX,
1097
1871
  DIRECTORY_RECORD_ID,
@@ -1110,6 +1884,7 @@ export {
1110
1884
  DirectoryDisabledError,
1111
1885
  DuplicateBehaviorNameError,
1112
1886
  DuplicateStoreKindError,
1887
+ EARTH_RADIUS_KM,
1113
1888
  ELEVATION_AUDIT_COLLECTION,
1114
1889
  EchoCeremonyRequiredError,
1115
1890
  ElevatedHandle,
@@ -1122,6 +1897,8 @@ export {
1122
1897
  FieldNotQueryableError,
1123
1898
  FilenameSanitizationError,
1124
1899
  ForgetStrategyNotConfiguredError,
1900
+ MAX_PRECISION as GEO_MAX_PRECISION,
1901
+ GeoPointError,
1125
1902
  GroupCardinalityError,
1126
1903
  INDEXED_STORE_POLICY,
1127
1904
  IllegalTransitionError,
@@ -1183,12 +1960,18 @@ export {
1183
1960
  OverlayCollectionUnavailableError,
1184
1961
  OverlayIdMismatchError,
1185
1962
  OverlayNameCollisionError,
1963
+ PARTITION_REGISTRY_COLLECTION,
1186
1964
  PERIODS_COLLECTION,
1187
1965
  PERSONAL_POLICY,
1188
1966
  POD_SIG_ALG,
1189
1967
  POD_STORE_POLICY,
1190
1968
  POLICY_RECORD_ID,
1969
+ PartitionKeyError,
1970
+ PartitionedCollection,
1971
+ PartitionedQuery,
1972
+ PartitionedScan,
1191
1973
  PathEscapeError,
1974
+ PeriodChainError,
1192
1975
  PeriodClosedError,
1193
1976
  PermissionDeniedError,
1194
1977
  PersistedIndexCompensationError,
@@ -1202,6 +1985,7 @@ export {
1202
1985
  PresenceHandle,
1203
1986
  PrivilegeEscalationError,
1204
1987
  Query,
1988
+ QueryExtensionMissingError,
1205
1989
  QuickUnlockStore,
1206
1990
  QuiesceTimeoutError,
1207
1991
  ReadOnlyAtInstantError,
@@ -1226,7 +2010,7 @@ export {
1226
2010
  STATE_VAULT_NAME,
1227
2011
  STRICT_POLICY,
1228
2012
  SYNC_CREDENTIALS_COLLECTION,
1229
- ScanBuilder,
2013
+ ScanBuilder2 as ScanBuilder,
1230
2014
  SchemaFenceError,
1231
2015
  SchemaLockedError,
1232
2016
  SchemaUpdateError,
@@ -1258,6 +2042,7 @@ export {
1258
2042
  TierWriteRefusedError,
1259
2043
  TiersNotEnabledError,
1260
2044
  TranslatorNotConfiguredError,
2045
+ TraversalCycleError,
1261
2046
  TxCollection,
1262
2047
  TxContext,
1263
2048
  TxVault,
@@ -1268,6 +2053,7 @@ export {
1268
2053
  UnknownLookupKeyError,
1269
2054
  UnknownShardError,
1270
2055
  UnknownStoreKindError,
2056
+ UnsafePatternError,
1271
2057
  UnsupportedIndexOptionError,
1272
2058
  UnsupportedTierCompositionError,
1273
2059
  UserApi,
@@ -1305,6 +2091,7 @@ export {
1305
2091
  buildRecipientKeyringFile,
1306
2092
  burnPaperRecoveryEntry,
1307
2093
  canonicalJson,
2094
+ changeChannelName,
1308
2095
  checkGate,
1309
2096
  classified,
1310
2097
  clearDevUnlock,
@@ -1320,9 +2107,12 @@ export {
1320
2107
  createSession,
1321
2108
  createStore,
1322
2109
  credentialStatus,
2110
+ decodeGeohashBox,
1323
2111
  decryptBytes,
1324
2112
  decryptDeterministic,
1325
2113
  decryptExtractedPartition,
2114
+ defaultChangeChannel,
2115
+ defaultPartitionNamer,
1326
2116
  deleteCredential,
1327
2117
  deleteIntent,
1328
2118
  deleteUserEnvelope,
@@ -1343,7 +2133,9 @@ export {
1343
2133
  dictKey,
1344
2134
  diff,
1345
2135
  diffVault,
2136
+ enableChangeBroadcast,
1346
2137
  enableDevUnlock,
2138
+ encodeGeohash,
1347
2139
  encryptBytes,
1348
2140
  encryptDeterministic,
1349
2141
  enforceScript,
@@ -1360,18 +2152,26 @@ export {
1360
2152
  evaluateImportCapability,
1361
2153
  exactMath,
1362
2154
  executePlan,
2155
+ explainPlan,
1363
2156
  exportAccessibleData,
1364
2157
  findAuthenticator,
1365
2158
  followRedirects,
1366
2159
  formatDiff,
1367
2160
  fuseRetrieval,
1368
2161
  generateULID,
2162
+ geo,
2163
+ boundingBox as geoBoundingBox,
2164
+ coverPrefixes as geoCoverPrefixes,
2165
+ coverSize as geoCoverSize,
2166
+ gridBits as geoGridBits,
2167
+ prefixesForRadius as geoPrefixesForRadius,
1369
2168
  getCredential,
1370
2169
  getIntent,
1371
2170
  hasExportCapability,
1372
2171
  hasImportCapability,
1373
2172
  hasNoydbPodMagic,
1374
2173
  hashEntry,
2174
+ haversineKm,
1375
2175
  i18nText,
1376
2176
  immutableGuard,
1377
2177
  importExternalObjects,
@@ -1386,6 +2186,8 @@ export {
1386
2186
  isDictCollectionName,
1387
2187
  isDictKeyDescriptor,
1388
2188
  isDiscriminant,
2189
+ isGeoDescriptor,
2190
+ isGeoPoint,
1389
2191
  isI18nTextDescriptor,
1390
2192
  isLinkCollectionName,
1391
2193
  isMagicLinkGrantExpired,
@@ -1398,6 +2200,7 @@ export {
1398
2200
  isStaticDictDescriptor,
1399
2201
  isULID,
1400
2202
  isViaFieldSpec,
2203
+ isViaPrefixProbe,
1401
2204
  isZodSchema,
1402
2205
  recoverSecret as keyringRecoverSecret,
1403
2206
  rotateSecret as keyringRotateSecret,
@@ -1435,6 +2238,7 @@ export {
1435
2238
  parseBytes,
1436
2239
  parseIndex,
1437
2240
  parseRsaOaepTlv,
2241
+ partitioned,
1438
2242
  persistDirectoryConfig,
1439
2243
  persistSchemaIfNeeded,
1440
2244
  persistUserVisibility,
@@ -1460,6 +2264,7 @@ export {
1460
2264
  resolveCrdtSnapshot,
1461
2265
  resolveEchoReveal,
1462
2266
  resolveI18nText,
2267
+ resolvePartitionScope,
1463
2268
  resolvePolicy,
1464
2269
  resolveSequenceKey,
1465
2270
  resolveSession,
@@ -1483,6 +2288,7 @@ export {
1483
2288
  sweepBlobIntents,
1484
2289
  tokenize,
1485
2290
  transitionGuard,
2291
+ unionPageProvider,
1486
2292
  unwrapDeksFromBlob,
1487
2293
  unwrapDeksFromPaperEntry,
1488
2294
  unwrapMagicLinkGrant,
@@ -1519,6 +2325,7 @@ export {
1519
2325
  withSearch,
1520
2326
  withSequence,
1521
2327
  withTeam,
2328
+ withVectorIndex,
1522
2329
  withdrawAccessibleData,
1523
2330
  wrapPodStore,
1524
2331
  wrapStore,