@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
@@ -19,7 +19,7 @@
19
19
  * to its record in the same operation.
20
20
  */
21
21
  import type { NoydbStore } from '../../kernel/types.js';
22
- import { type EnclaveKey } from '../../kernel/enclave/index.js';
22
+ import { type EnclaveKey } from '../../capsule/index.js';
23
23
  export { withSequence } from './active.js';
24
24
  export { NO_SEQUENCE, type SequenceStrategy } from './strategy.js';
25
25
  export { SequenceNotEnabledError } from '../../kernel/errors.js';
@@ -5,7 +5,7 @@
5
5
  * fires solely inside `db.transaction({ amendment: true }, …)` and requires
6
6
  * an admin/owner role plus a registered guard. That is the right shape for
7
7
  * the WORM-override path, but normal application transactions also need
8
- * cross-record invariants that hold on every commit — e.g. niwat's
8
+ * cross-record invariants that hold on every commit — e.g. pilot1's
9
9
  * `assertR1` ("every payment is 100% receipted").
10
10
  *
11
11
  * `withTransactions({ invariants: [...] })` registers such invariants. Each
@@ -20,12 +20,22 @@
20
20
  *
21
21
  * Ops are buffered during the body. On body-return the hub:
22
22
  *
23
+ * 0. **Drain (#1420)** — waits out any plain `Collection.put()` /
24
+ * `.delete()` already in flight on a key this commit touches, so
25
+ * the pre-flight below reads a version that includes it. Without
26
+ * this the pre-flight cannot see a write that has STARTED but not
27
+ * yet reached the store, and one of the two writes vanishes with
28
+ * both reporting success.
23
29
  * 1. **Pre-flight** — re-reads every touched envelope and enforces
24
30
  * any caller-supplied `expectedVersion`. A mismatch throws
25
31
  * `ConflictError` with *no* writes performed.
26
- * 2. **Execute** — calls `Collection.put()` / `.delete()` for each
27
- * staged op in declaration order. History snapshots, ledger
28
- * appends, and change events fire as normal per op.
32
+ * 2. **Execute** — re-validates each op's `expectedVersion` against
33
+ * the CURRENT stored version (#1420 the pre-flight's verdict is
34
+ * otherwise unchecked all the way to the write, and this path
35
+ * carries no store-level CAS the way the atomic one does), then
36
+ * calls `Collection.put()` / `.delete()` for each staged op in
37
+ * declaration order. History snapshots, ledger appends, and change
38
+ * events fire as normal per op.
29
39
  * 3. **Unwind on failure** — if step 2 throws mid-batch, each
30
40
  * already-committed op is reverted via the raw store (restoring
31
41
  * the captured prior envelope, or deleting if none existed). The
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * @packageDocumentation
11
11
  */
12
- import { type EnclaveKey } from '../../kernel/enclave/index.js';
12
+ import { type EnclaveKey } from '../../capsule/index.js';
13
13
  import type { NoydbStore } from '../../kernel/types.js';
14
14
  /** `{ recordId → version }` for one bucket. */
15
15
  export type BucketBody = Record<string, number>;
@@ -7,4 +7,4 @@ export { withVaultHead } from './active.js';
7
7
  export { verifyVaultHead, type HeadDiscrepancy, type HeadVerifyResult, type HeadVerdict, type HeadUnverifiableReason } from './verify.js';
8
8
  export { NO_VAULT_HEAD, VAULT_HEAD_COLLECTION, DEFAULT_HEAD_BUCKETS, type VaultHeadStrategy, type WithVaultHeadOptions, type HeadEntry, } from './strategy.js';
9
9
  export type { NoydbStore, EncryptedEnvelope } from '../../kernel/types.js';
10
- export type { EnclaveKey } from '../../kernel/enclave/index.js';
10
+ export type { EnclaveKey } from '../../capsule/index.js';
@@ -63,7 +63,7 @@
63
63
  * @packageDocumentation
64
64
  */
65
65
  import type { NoydbStore, EncryptedEnvelope } from '../../kernel/types.js';
66
- import type { EnclaveKey } from '../../kernel/enclave/index.js';
66
+ import type { EnclaveKey } from '../../capsule/index.js';
67
67
  /** Reserved collection the head's buckets live in. */
68
68
  export declare const VAULT_HEAD_COLLECTION: "_head";
69
69
  /** Default bucket count — see the sizing table above. */
@@ -9,7 +9,7 @@
9
9
  * @packageDocumentation
10
10
  */
11
11
  import type { NoydbStore } from '../../kernel/types.js';
12
- import type { EnclaveKey } from '../../kernel/enclave/index.js';
12
+ import type { EnclaveKey } from '../../capsule/index.js';
13
13
  import type { VaultHeadStrategy } from './strategy.js';
14
14
  /** One record the store is not serving faithfully. */
15
15
  export interface HeadDiscrepancy {
@@ -26,7 +26,7 @@ import type { TxContext } from '../../with-commit/tx/transaction.js';
26
26
  import type { DerivationRegistry } from './registry.js';
27
27
  import type { ReadOnlyVaultFacade } from '../../with-audit/guards/types.js';
28
28
  import type { Collection } from '../../kernel/collection.js';
29
- import type { EnclaveKey } from '../../kernel/enclave/index.js';
29
+ import type { EnclaveKey } from '../../capsule/index.js';
30
30
  import type { EncryptedEnvelope } from '../../kernel/types.js';
31
31
  import type { ledgerAuditHook, WaveContext } from '../../kernel/via/dispatch.js';
32
32
  /** The per-write dispatch context threaded into `putDerivedOutput`. */
@@ -21,7 +21,7 @@
21
21
  * @module
22
22
  */
23
23
  import type { NoydbStore } from '../../kernel/types.js';
24
- import { type EnclaveKey } from '../../kernel/enclave/index.js';
24
+ import { type EnclaveKey } from '../../capsule/index.js';
25
25
  type GetDEK = (collectionName: string) => Promise<EnclaveKey>;
26
26
  /** Magic-prefixed JSON payload at `_meta/<recordId>`. */
27
27
  export interface FanoutSidecar {
@@ -45,9 +45,10 @@ export declare function summarizeQueryPlan(query: Query<any>): string;
45
45
  * same `queryHash`, refresh would be a no-op, and stale MV rows
46
46
  * would persist. Hashing in declaration order makes any reorder
47
47
  * trigger a refresh.
48
- * - `groupBy` fields ARE sorted. Multi-key groupBy buckets are
49
- * commutative (`canonicalGroupKey` produces the same composite key
50
- * regardless of field order in the input spec).
48
+ * - `groupBy` fields ARE sorted, by their canonical `describeGroupKey`
49
+ * description (which is the field name itself for a plain key). Multi-key
50
+ * groupBy buckets are commutative (`canonicalGroupKey` produces the same
51
+ * composite key regardless of field order in the input spec).
51
52
  * - `aggregate` keys ARE sorted. Reducer-spec keys are independent
52
53
  * of each other — order of declaration doesn't change output.
53
54
  *
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Identity of one MV's output, per vault — MV names are not globally unique.
3
+ *
4
+ * ⚠️ `\0` written as the ESCAPE, not as a raw byte. A raw NUL in the source
5
+ * makes git classify the whole file as binary, so it stops diffing and stops
6
+ * being reviewable — caught here by a `Bin 0 -> 8811 bytes` line in a diffstat.
7
+ * The separator itself is right: no vault or collection name can contain one.
8
+ */
9
+ export declare function emitMemoKey(vault: string, mvName: string, outputCollection: string): string;
10
+ /**
11
+ * The rows this MV last wrote, or `null` when the memo cannot be trusted —
12
+ * nothing recorded yet, or the output collection moved under us.
13
+ *
14
+ * `stamp` of `null` means the collection cannot supply one (lazy mode), which
15
+ * is treated as "no memo" rather than "unchanged".
16
+ */
17
+ export declare function readEmitMemo(key: string, stamp: number | null): ReadonlyMap<string, string> | null;
18
+ /** Record what this refresh actually left on disk. A `null` stamp records nothing. */
19
+ export declare function writeEmitMemo(key: string, stamp: number | null, rows: Map<string, string>): void;
20
+ /** Forget one MV's output entirely. Used when a refresh could not complete cleanly. */
21
+ export declare function dropEmitMemo(key: string): void;
22
+ /**
23
+ * A canonical string for the row a refresh is about to write, or `null` when no
24
+ * safe one exists.
25
+ *
26
+ * The MV's `queryHash` is folded in so a strategy change rewrites every row
27
+ * even where the projected content happens to match — a row carrying a stale
28
+ * `_materializedFrom.queryHash` is stale by definition (`stale.ts`).
29
+ *
30
+ * `_materializedFrom` itself is excluded: its `materializedAt` moves on every
31
+ * refresh, so including it would make every comparison differ and the memo a
32
+ * pure cost.
33
+ *
34
+ * ⛔ Returns `null` rather than throwing on anything `JSON.stringify` refuses
35
+ * (a `BigInt`, a cycle). Declining to memoize costs the old write; guessing
36
+ * costs a stale view.
37
+ */
38
+ export declare function rowContentKey(row: Record<string, unknown>, queryHash: string): string | null;
39
+ /** Test seam — the process-wide memo must not leak between test cases. */
40
+ export declare function _clearEmitMemos(): void;
@@ -32,6 +32,14 @@ export interface MVExecutorAccessor {
32
32
  export interface RefreshResult {
33
33
  /** Rows newly written / overwritten. */
34
34
  written: number;
35
+ /**
36
+ * #1418 — rows whose content was byte-identical to what this MV last wrote,
37
+ * so the encrypt-and-store round trip was skipped. Counted separately from
38
+ * `written` on purpose: `written` means "a row was persisted", and reporting
39
+ * a skip as a write would make the two indistinguishable to anyone
40
+ * diagnosing whether a refresh actually did anything.
41
+ */
42
+ skipped: number;
35
43
  /** Rows tombstoned via `_internalDelete` (only when `onEmpty: 'delete'`). */
36
44
  deleted: number;
37
45
  /** Failed row writes (non-strict mode). */
@@ -5,7 +5,7 @@ export { analyzeDependencies, summarizeQueryPlan } from './dependency-analyzer.j
5
5
  export { computeQueryHash, canonicalizeQueryPlan } from './query-hash.js';
6
6
  export { markMVStale, resolveStaleMVOnRead, isMVStale, clearMVStale } from './stale.js';
7
7
  export type { MVStaleAccessor } from './stale.js';
8
- export type { MaterializedViewSpec, MaterializedViewStrategy, MaterializedViewOutput, MaterializedFromMeta, UnionSource, UnionArmJoin, ProjectionSpec, ProjectionJoinLeg, } from './types.js';
8
+ export type { MaterializedViewSpec, MaterializedViewStrategy, MaterializedViewOutput, MaterializedFromMeta, UnionSource, UnionArmJoin, UnionArmRefJoin, UnionArmDeclaredJoin, ProjectionSpec, ProjectionJoinLeg, } from './types.js';
9
9
  export type { RegisteredMV } from './registry.js';
10
10
  export type { MVExecutorAccessor, RefreshResult } from './executor.js';
11
11
  export { MaterializedViewCycleError, MaterializedViewConfigError, MaterializedViewSourceUnknownError, MaterializedViewTooLargeError, } from '../../kernel/errors.js';
@@ -167,6 +167,21 @@ export declare class MaterializedViewRegistry {
167
167
  */
168
168
  validate(graph: ViaGraph): void;
169
169
  }
170
+ /**
171
+ * #1414 — wrap an `MVQueryContext` so its `.collection().query()` returns a
172
+ * query with the cold-collection gate removed.
173
+ *
174
+ * The MV engine reads its sources synchronously: registration inspects the
175
+ * plan the spec callback returns, and the executor's scan runs from inside a
176
+ * write commit. Both predate #1414 and both have always read whatever the
177
+ * in-memory cache held. Gating them would convert a pre-existing (and
178
+ * separately tracked) staleness into a thrown error on a write path nobody
179
+ * pointed at a query — so the engine keeps its old source and #1414's change
180
+ * stays on the surface a consumer or a guard actually calls.
181
+ *
182
+ * @internal
183
+ */
184
+ export declare function ungatedMvContext(db: MVQueryContext): MVQueryContext;
170
185
  /**
171
186
  * Wrap an `MVQueryContext` so its `.collection().query()` returns a
172
187
  * Query<T> with the MV's declared predicates attached. Bare Queries
@@ -1,9 +1,12 @@
1
+ import type { GroupKey } from '../../kernel/query/reduce/date-trunc.js';
1
2
  import type { Query } from '../../kernel/query/builder.js';
2
3
  import type { Collection } from '../../kernel/collection.js';
3
4
  import type { ReduceSpec, Reduction } from '../../with-lookup/reduce/reduction.js';
4
5
  import type { GroupedReduction } from '../../with-lookup/reduce/groupby.js';
5
- import type { JoinStrategy } from '../../kernel/query/join.js';
6
+ import type { JoinStrategy } from '../../kernel/query/relate/join.js';
7
+ import type { JoinOnSpec } from '../../kernel/query/relate/join-on.js';
6
8
  import type { MoneyDescriptor } from '../../via/money/descriptor.js';
9
+ import type { WindowSpec, WindowSelectSpec } from '../../with-lookup/reduce/window.js';
7
10
  import type { ExactMath } from '../../via/money/exact.js';
8
11
  import type { I18nTextDescriptor } from '../../via/i18n/core.js';
9
12
  /**
@@ -92,24 +95,32 @@ export interface UnionSource<TRow extends Record<string, unknown>> {
92
95
  */
93
96
  readonly map: (sourceRow: Record<string, unknown>) => TRow | null | undefined;
94
97
  /**
95
- * Optional FK joins to apply to this arm's rows before {@link map}.
96
- * Each leg resolves a `ref()`-declared foreign key on the arm's
97
- * source collection into an attached right-side record under
98
- * `as` — the same machinery as the query-form `Query.join()`.
99
- *
100
- * The right-side collections must be listed in the strategy's
101
- * {@link MaterializedViewSpec.sources} so writes to them trigger
102
- * MV refresh registration throws `MaterializedViewConfigError`
103
- * otherwise (the union dependency set comes from arm `collection`s
104
- * alone, which would not include join targets).
98
+ * Optional joins to apply to this arm's rows before {@link map}, in two
99
+ * shapes (a leg is one or the other):
100
+ *
101
+ * - {@link UnionArmRefJoin} `{ field, as }` — resolves a `ref()`-declared
102
+ * foreign key on the arm's source collection into an attached right-side
103
+ * record under `as`; the same machinery as the query-form `Query.join()`.
104
+ * Its right-side collections must be listed in the strategy's
105
+ * {@link MaterializedViewSpec.sources} so writes to them trigger MV
106
+ * refresh registration throws `MaterializedViewConfigError` otherwise
107
+ * (a ref's target is not known until the ref is declared, after
108
+ * `openVault()`).
109
+ * - {@link UnionArmDeclaredJoin} `{ target, as, on }` (#1411) — the
110
+ * query-form `Query.joinOn()`: composite equality or a range, with the
111
+ * predicate as DATA. No `ref()` needed, and `target` is a literal
112
+ * collection name, so it joins the dependency set on its own and the
113
+ * predicate folds into `queryHash`.
105
114
  */
106
115
  readonly join?: ReadonlyArray<UnionArmJoin>;
107
116
  }
117
+ /** One join leg on a UNION arm — a ref join or a declared join (#1411). */
118
+ export type UnionArmJoin = UnionArmRefJoin | UnionArmDeclaredJoin;
108
119
  /**
109
120
  * One FK join leg on a UNION arm. Mirrors the option shape of the
110
121
  * query-form `Query.join(field, { as, maxRows?, strategy? })`.
111
122
  */
112
- export interface UnionArmJoin {
123
+ export interface UnionArmRefJoin {
113
124
  /** FK field on the arm's source collection (must have a `ref()` declared). */
114
125
  readonly field: string;
115
126
  /** Alias under which the resolved right-side record attaches on the source row. */
@@ -119,11 +130,30 @@ export interface UnionArmJoin {
119
130
  /** Planner strategy override. `undefined` → auto-select. */
120
131
  readonly strategy?: JoinStrategy;
121
132
  }
133
+ /**
134
+ * One DECLARED join leg on a UNION arm (#1411) — `Query.joinOn(target, { as,
135
+ * on, mode?, maxRows? })` in declaration form. The `on` is plain JSON: a
136
+ * composite-equality pair list or a `{ left, op, right }` range. A left row
137
+ * matching nothing gets `null` under `as` (left outer); `mode: 'inner'` drops
138
+ * it. ⚠️ A declared join EXPANDS rows — one output row per match.
139
+ */
140
+ export interface UnionArmDeclaredJoin {
141
+ /** Right-side collection name. Joins the MV's dependency set automatically. */
142
+ readonly target: string;
143
+ /** Alias under which each matching right-side record attaches on the source row. */
144
+ readonly as: string;
145
+ /** The predicate — see `JoinOnSpec`. Normalised and validated at registration. */
146
+ readonly on: JoinOnSpec;
147
+ /** `'inner'` drops left rows with no match; omit for left-outer (`null` under `as`). */
148
+ readonly mode?: 'inner';
149
+ /** Per-side / output row ceiling override. `undefined` → the join default. */
150
+ readonly maxRows?: number;
151
+ }
122
152
  /**
123
153
  * Projection-form registration (#810): one output row per record of a
124
154
  * primary `source` collection, enriched with forward FK legs and
125
155
  * reverse one-to-many "collect" legs BEFORE `map` shapes the MV row.
126
- * The niwat federated read-model shape — a bill row carrying its
156
+ * The pilot1 federated read-model shape — a bill row carrying its
127
157
  * client lookup plus the receipt / application / credit-note sets
128
158
  * that point back at it.
129
159
  */
@@ -314,11 +344,16 @@ export interface MaterializedViewSpec<TRow extends Record<string, unknown>> {
314
344
  * field names for multi-key grouping (same shape as
315
345
  * `Query.groupBy(...fields)`).
316
346
  *
347
+ * A field name can be replaced by a `dateTrunc(field, unit, { timeZone })`
348
+ * derived calendar key (#1350) — the bucket is computed on the mapped row
349
+ * before grouping, and the key's parameters fold into the MV's `queryHash`,
350
+ * so re-parameterising it forces a refresh.
351
+ *
317
352
  * UNION-mode only. Ignored if {@link query} is set — single-source
318
353
  * grouping is expressed inside the `Query<T>` returned from `query()`
319
354
  * via `.groupBy(...).aggregate(...)`.
320
355
  */
321
- groupBy?: string | ReadonlyArray<string>;
356
+ groupBy?: GroupKey | ReadonlyArray<GroupKey>;
322
357
  /**
323
358
  * Reduction spec for UNION mode. Applied per-group after
324
359
  * {@link groupBy} buckets the concatenated mapped-row stream from
@@ -398,6 +433,44 @@ export interface MaterializedViewSpec<TRow extends Record<string, unknown>> {
398
433
  * if declared alone.
399
434
  */
400
435
  moneyFields?: Record<string, MoneyDescriptor>;
436
+ /**
437
+ * #1411 — a declared WINDOW over the finished rows: a running total, a
438
+ * ranking, or a look at the neighbouring row.
439
+ *
440
+ * ```ts
441
+ * groupBy: ['client', 'period'],
442
+ * aggregate: { total: sum('amount') },
443
+ * moneyFields: { amount: THB, total: THB, cumulative: THB },
444
+ * window: {
445
+ * partitionBy: 'client',
446
+ * orderBy: 'period',
447
+ * select: { cumulative: runningMoneySum('total') },
448
+ * },
449
+ * ```
450
+ *
451
+ * Runs AFTER {@link groupBy} + {@link aggregate} and BEFORE {@link derive},
452
+ * which is the order the useful shape needs: aggregate per (client, period),
453
+ * then accumulate ACROSS periods. A window before grouping would accumulate
454
+ * over raw rows and every number would be wrong.
455
+ *
456
+ * ⭐ **This is the one stage that may look at other rows, and it is sound for
457
+ * a reason `derive` cannot borrow.** `derive` is single-row by contract;
458
+ * materialization is a full recompute, so the window sees every row the view
459
+ * will store, in order, exactly once. That is also why it is not offered on
460
+ * the `query` form — there the rows come from a `Query`, which has its own
461
+ * `.window()`.
462
+ *
463
+ * **Money is exact** when the accumulated field is declared in
464
+ * {@link moneyFields}: reducer slots are rewritten through the same binding
465
+ * `aggregate` uses, so `runningMoneySum` accumulates in BigInt rather than
466
+ * float. Window FUNCTIONS (`rowNumber`, `rank`, `lag`, `lead`) navigate
467
+ * rather than accumulate and need no rewrite.
468
+ *
469
+ * A `select` key that collides with a {@link groupBy} field throws
470
+ * `MaterializedViewConfigError` — the same rule, and the same reason, as
471
+ * `derive`: a group key is the row's identity and feeds {@link rowKey}.
472
+ */
473
+ window?: MaterializedViewWindow;
401
474
  /**
402
475
  * Compute-time i18n resolution locale (`mv` layer). UNION-mode only.
403
476
  *
@@ -507,3 +580,22 @@ export interface MaterializedViewStrategy {
507
580
  readonly __noydb_strategy: 'materialized-view';
508
581
  readonly spec: MaterializedViewSpec<any>;
509
582
  }
583
+ /** @internal — the MV's own money descriptors, keyed by output field. */
584
+ export type MoneyDescriptorMap = Record<string, MoneyDescriptor>;
585
+ /**
586
+ * #1411 — a declared window: {@link WindowSpec}'s partition/order, plus the
587
+ * outputs to attach. Same `select` shape as `Query.window(...).select(...)`,
588
+ * so a rule prototyped in the ad-hoc builder moves into a declaration
589
+ * unchanged.
590
+ */
591
+ export interface MaterializedViewWindow extends WindowSpec {
592
+ /**
593
+ * The columns the window adds. Each slot is a window function
594
+ * (`rowNumber`, `rank`, `lag`, `lead`) or an ordinary reducer, which runs as
595
+ * a RUNNING aggregate over `rows unbounded preceding → current row`.
596
+ *
597
+ * Must be non-empty: a window that selects nothing computes nothing, and
598
+ * declaring one is more likely a mistake than an intention.
599
+ */
600
+ readonly select: WindowSelectSpec;
601
+ }
@@ -0,0 +1,11 @@
1
+ import type { MaterializedViewWindow, MoneyDescriptorMap } from './types.js';
2
+ /**
3
+ * Apply a declared window to the finished row set.
4
+ *
5
+ * `moneyFields` is the MV's own descriptor map; when present, every REDUCER
6
+ * slot is rewritten exactly as `aggregate`'s are. Window functions
7
+ * (`rowNumber`, `rank`, `lag`, `lead`) are passed through untouched — they
8
+ * navigate rows rather than accumulate values, so there is nothing to make
9
+ * exact.
10
+ */
11
+ export declare function applyDeclaredWindow(rows: readonly Record<string, unknown>[], window: MaterializedViewWindow, moneyFields?: MoneyDescriptorMap): ReadonlyArray<Record<string, unknown>>;
@@ -37,7 +37,7 @@ export interface OverlayedViewSpec {
37
37
  * shadowValue` for a given id, virtual-collection reads of that id
38
38
  * return the overlay row; otherwise reads return the base row.
39
39
  *
40
- * Niwat's canonical example: `dataStatus === 'override'` flips a
40
+ * Pilot1's canonical example: `dataStatus === 'override'` flips a
41
41
  * row into operator-controlled mode.
42
42
  *
43
43
  * No callback merge, no priority lattice, no field-level merge —
@@ -9,14 +9,23 @@ import type { OverlayedViewSpec } from './types.js';
9
9
  * - `get(id)`: overlay row wins iff `overlay[shadowField] === shadowValue`;
10
10
  * when `spec.mergeMode` is set, an intermediate status may instead pull
11
11
  * a declared subset of fields from the overlay over the base
12
- * - `list()` / `.query()`: union of ids, per-id merge applied
12
+ * - `list()`: union of ids, per-id merge applied
13
13
  * - `put(record)` / `put(id, record)`: routes to overlay; id derived
14
14
  * via the base MV's `rowKey` (validated on the two-arg form)
15
15
  * - `delete(id)`: removes the overlay row only; base stays
16
16
  *
17
- * Reactive APIs (`live`, `subscribe`, `query().live()`) are out of
18
- * scope for this release and surface as "not yet implemented" wired in a
19
- * future sub-issue.
17
+ * ⚠️ **`query()` THROWS** it is not implemented for overlay views (#154);
18
+ * use `list()` + filter, or read the base / overlay collections directly.
19
+ * This paragraph used to list `.query()` beside `list()` as working, while
20
+ * naming only `query().live()` among the deferrals — so the header
21
+ * over-claimed the one method on this class that throws, and the deferral
22
+ * list quietly omitted it. Corrected 2026-09-04; the throw-stubs below are
23
+ * the authority, and a doc comment that disagrees with an adjacent `never`
24
+ * return type is worth more scepticism than one that disagrees with distant
25
+ * code.
26
+ *
27
+ * Also deferred, same issue, same shape: `live`, `subscribe`,
28
+ * `query().live()`.
20
29
  */
21
30
  export declare class OverlayedCollection<T extends Record<string, unknown> = any> {
22
31
  private readonly spec;
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Sub-document chunking (#1360) — multiple vectors per record.
3
+ *
4
+ * A long document encoded as ONE vector averages its topics away: a contract
5
+ * whose fortieth clause is the only relevant one scores like a contract about
6
+ * nothing in particular. Chunking encodes SPANS of the record's source text
7
+ * separately, and scores a record by its BEST chunk.
8
+ *
9
+ * ## What a span indexes into — the load-bearing definition
10
+ *
11
+ * `start` / `end` are **character offsets into
12
+ * `embeddingSourceText(record, descriptor.source)`** — the joined source text,
13
+ * NOT into any single field. When `source` names several fields the text is
14
+ * their `' '`-join, so an offset can sit past a join boundary; that is exactly
15
+ * why the offsets are defined against the join and not against a field. The
16
+ * consumer reconstructs the snippet with the same call:
17
+ *
18
+ * ```ts
19
+ * const text = embeddingSourceText(record, descriptor.source)
20
+ * const snippet = text.slice(hit.chunk.start, hit.chunk.end)
21
+ * ```
22
+ *
23
+ * `similarTo()` does precisely that to fill `hit.snippet`, so a returned span
24
+ * is checkable against the record the consumer already holds.
25
+ *
26
+ * ## What is deliberately NOT here
27
+ *
28
+ * No bundled splitter. The splitter is host-supplied like `encode` — chunking
29
+ * a legal clause, a markdown section and a chat transcript are different
30
+ * problems and hub has no business guessing.
31
+ *
32
+ * The approximate index that was deferred here HAS since been built — it is
33
+ * `ivf-flat.ts`, opted into with `withVectorIndex()`, and it is OFF by default
34
+ * (see `vector-set.ts`'s `topK`). This file's own multiplier is what gated it:
35
+ * chunking stores one vector per chunk, so a corpus of R records at C chunks
36
+ * each brute-forces R·C vectors, and the index threshold counts VECTORS.
37
+ * ⛔ Managed plaintext vector backends (pgvector, Vectorize, Qdrant) remain
38
+ * excluded BY DECISION, and building an in-hub index does not reopen that: the
39
+ * backend would hold plaintext vectors, and embedding inversion leaks the text
40
+ * back out. The index built here never leaves the hub and is never persisted.
41
+ */
42
+ import type { EmbeddingDescriptor } from './descriptor.js';
43
+ /** A span the host's splitter proposes: `[start, end)` into the joined source text. */
44
+ export interface EmbeddingChunkSpan {
45
+ readonly start: number;
46
+ readonly end: number;
47
+ /** Stable chunk id; defaults to `c<index>` when the splitter does not supply one. */
48
+ readonly id?: string;
49
+ }
50
+ /** A chunk as it is stored and returned — a span with a resolved id, no vector. */
51
+ export interface EmbeddingChunk {
52
+ readonly id: string;
53
+ readonly start: number;
54
+ readonly end: number;
55
+ }
56
+ /** A chunk plus its vector, as held in memory by {@link VectorSet}. */
57
+ export interface StoredChunk extends EmbeddingChunk {
58
+ readonly vec: Float32Array;
59
+ }
60
+ /**
61
+ * Normalise the splitter's output: drop empty/inverted/out-of-range spans,
62
+ * resolve ids. Invalid spans are DROPPED rather than thrown on — a splitter is
63
+ * host code running over host text, and one degenerate span (a trailing
64
+ * separator, a zero-width match) must not fail the write; a record that ends up
65
+ * with no usable span falls back to the whole-record vector, which is the
66
+ * pre-#1360 behaviour and never worse than not indexing the record at all.
67
+ */
68
+ export declare function normalizeChunkSpans(spans: readonly EmbeddingChunkSpan[], textLength: number): EmbeddingChunk[];
69
+ /**
70
+ * Encode each chunk of `text` under the descriptor's `encode` hook.
71
+ * Returns `[]` when no `chunk` hook is declared or it yields no usable span —
72
+ * the caller then stores the single whole-record vector, unchanged.
73
+ *
74
+ * Dimension is checked per chunk by the caller (it owns the error's field
75
+ * name), so this stays a pure derive.
76
+ */
77
+ export declare function deriveChunkVectors(text: string, descriptor: EmbeddingDescriptor): Promise<(EmbeddingChunk & {
78
+ vec: Float32Array;
79
+ })[]>;
@@ -1,8 +1,29 @@
1
+ import type { EmbeddingChunkSpan } from './chunks.js';
2
+ import type { VectorIndexConfig } from './vector-index.js';
1
3
  export interface EmbeddingDescriptor {
2
4
  readonly source: string | readonly string[];
3
5
  readonly encode: (text: string) => Promise<Float32Array>;
4
6
  readonly dim: number;
5
7
  readonly model: string;
8
+ /**
9
+ * Optional sub-document splitter (#1360). Given the record's joined source
10
+ * text (`embeddingSourceText(record, source)`), return the spans to encode
11
+ * separately — `start`/`end` are character offsets into THAT string. When
12
+ * declared and non-empty, the record is scored by its BEST chunk and the
13
+ * winning span comes back on the hit; when absent or empty, the record keeps
14
+ * exactly one whole-text vector, as before.
15
+ */
16
+ readonly chunk?: (text: string) => readonly EmbeddingChunkSpan[];
17
+ /**
18
+ * Opt into the approximate vector index (#1360 part 2) with
19
+ * `index: withVectorIndex()`. Absent — the default — and every semantic
20
+ * query is an exact brute-force cosine scan, unchanged.
21
+ *
22
+ * Opting in is not an instruction to index NOW: the index is built only once
23
+ * the collection holds at least `minVectors` vectors, and any single query
24
+ * can still demand exactness with `{ exact: true }`.
25
+ */
26
+ readonly index?: VectorIndexConfig;
6
27
  }
7
28
  /** Concatenate the record's source-field text (skips empties; supports nested/[]-wildcard paths). */
8
29
  export declare function embeddingSourceText(record: Record<string, unknown>, source: string | readonly string[]): string;
@@ -1,4 +1,7 @@
1
1
  export { cosine } from './cosine.js';
2
2
  export { embeddingSourceText, type EmbeddingDescriptor } from './descriptor.js';
3
3
  export { VectorSet, type StoredVector, type VectorHit } from './vector-set.js';
4
+ export { withVectorIndex, DEFAULT_INDEX_MIN_VECTORS, type VectorIndexOptions } from './with-vector-index.js';
5
+ export type { VectorIndex, VectorIndexConfig, VectorIndexSearchOptions } from './vector-index.js';
4
6
  export { encodeVecId } from './vec-id.js';
7
+ export { deriveChunkVectors, normalizeChunkSpans, type EmbeddingChunk, type EmbeddingChunkSpan, type StoredChunk, } from './chunks.js';