@noy-db/hub 0.7.0 → 0.8.0-pre.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 (616) hide show
  1. package/CHANGELOG.md +105 -14
  2. package/LICENSE +202 -21
  3. package/NOTICE +1 -0
  4. package/README.md +27 -10
  5. package/codemods/0.8.0-pre.json +61 -0
  6. package/dist/api-GVYEKSJE.js +19 -0
  7. package/dist/as/index.js +11 -11
  8. package/dist/at/index.js +9 -9
  9. package/dist/attestation/index.js +20 -20
  10. package/dist/{backup-IJTB4S4M.js → backup-7TFRVFLH.js} +21 -15
  11. package/dist/backup-7TFRVFLH.js.map +1 -0
  12. package/dist/blobs/index.js +13 -13
  13. package/dist/broker/index.js +12 -12
  14. package/dist/by/index.js +2 -2
  15. package/dist/cargo/index.js +39 -36
  16. package/dist/{chunk-7O3Y4PPD.js → chunk-244VXYPG.js} +140 -16
  17. package/dist/chunk-244VXYPG.js.map +1 -0
  18. package/dist/{chunk-BUE2D7PX.js → chunk-32YV3TJT.js} +2 -2
  19. package/dist/{chunk-3RCJJBNR.js → chunk-3ELRMVJK.js} +12 -12
  20. package/dist/{chunk-6GMZ7HEE.js → chunk-3F7GLNAE.js} +6 -6
  21. package/dist/{chunk-2Y4IMKA6.js → chunk-3H5KLDZN.js} +4 -4
  22. package/dist/{chunk-VTFVLCUH.js → chunk-3JWHAR6E.js} +2 -2
  23. package/dist/{chunk-YMUFFJCO.js → chunk-3TDUWVWB.js} +5 -2
  24. package/dist/chunk-3TDUWVWB.js.map +1 -0
  25. package/dist/{chunk-JBDFMYKQ.js → chunk-4AF3TUMP.js} +2 -2
  26. package/dist/{chunk-ZORTV6NH.js → chunk-4I522ERM.js} +88 -4
  27. package/dist/chunk-4I522ERM.js.map +1 -0
  28. package/dist/{chunk-MUM7IANK.js → chunk-4MXI3ODD.js} +4 -4
  29. package/dist/chunk-4MXI3ODD.js.map +1 -0
  30. package/dist/{chunk-BLN54W3L.js → chunk-5FDLC6G7.js} +56 -3
  31. package/dist/chunk-5FDLC6G7.js.map +1 -0
  32. package/dist/chunk-5O7D6ZTW.js +53 -0
  33. package/dist/chunk-5O7D6ZTW.js.map +1 -0
  34. package/dist/{chunk-J6FXAEUG.js → chunk-6B3VNR4P.js} +12 -12
  35. package/dist/{chunk-TUFM4UZP.js → chunk-6K7DPM7D.js} +2 -2
  36. package/dist/{chunk-K6LHRFBL.js → chunk-6LMQ5R26.js} +7 -7
  37. package/dist/{chunk-SPXXX5E4.js → chunk-6LNL42F5.js} +94 -32
  38. package/dist/chunk-6LNL42F5.js.map +1 -0
  39. package/dist/{chunk-XLMEZIAJ.js → chunk-6OWXYZK2.js} +2 -2
  40. package/dist/{chunk-BOWNCWZT.js → chunk-6QSQQLSE.js} +3 -3
  41. package/dist/chunk-7JE7BDYJ.js +1558 -0
  42. package/dist/chunk-7JE7BDYJ.js.map +1 -0
  43. package/dist/{chunk-KG7TZKZG.js → chunk-7VCXZDA4.js} +5 -5
  44. package/dist/chunk-7VCXZDA4.js.map +1 -0
  45. package/dist/{chunk-NQKIUNW5.js → chunk-A6IJU4TK.js} +2 -2
  46. package/dist/{chunk-BM5TWITZ.js → chunk-ANWPSTZU.js} +38 -9
  47. package/dist/chunk-ANWPSTZU.js.map +1 -0
  48. package/dist/{chunk-QIZPZMUI.js → chunk-AOWGXU6D.js} +2 -2
  49. package/dist/{chunk-CUZLNGD5.js → chunk-B2YY6WDD.js} +1 -1
  50. package/dist/chunk-B2YY6WDD.js.map +1 -0
  51. package/dist/{chunk-SFAWCTEM.js → chunk-B57AFBY2.js} +2 -2
  52. package/dist/{chunk-GPEQUXHL.js → chunk-B6SJIBQK.js} +4 -4
  53. package/dist/chunk-BJ2IXQ5Q.js +100 -0
  54. package/dist/chunk-BJ2IXQ5Q.js.map +1 -0
  55. package/dist/{chunk-Q2PU57HC.js → chunk-BK2HHQGN.js} +2 -2
  56. package/dist/chunk-BKT776R5.js +1 -0
  57. package/dist/{chunk-KUX3OB6D.js → chunk-BP6DARYA.js} +33 -5
  58. package/dist/chunk-BP6DARYA.js.map +1 -0
  59. package/dist/{chunk-FXBIP2WD.js → chunk-BUDAGWL5.js} +6 -6
  60. package/dist/chunk-CF5UU4S7.js +757 -0
  61. package/dist/chunk-CF5UU4S7.js.map +1 -0
  62. package/dist/{chunk-BOET4NA4.js → chunk-CKNGS5MH.js} +3 -3
  63. package/dist/chunk-CY2CYVWZ.js +41 -0
  64. package/dist/chunk-CY2CYVWZ.js.map +1 -0
  65. package/dist/{chunk-2577DKXB.js → chunk-DC5QVPV7.js} +2 -2
  66. package/dist/chunk-DC5QVPV7.js.map +1 -0
  67. package/dist/{chunk-YSRUYAVU.js → chunk-DE4DH2RZ.js} +2 -2
  68. package/dist/{chunk-6I2RQCET.js → chunk-DF73H4UN.js} +4 -4
  69. package/dist/{chunk-4GVM6QZA.js → chunk-ENAG3IY7.js} +2 -2
  70. package/dist/chunk-ENAG3IY7.js.map +1 -0
  71. package/dist/{chunk-K7NTTA6P.js → chunk-EOVMT6TB.js} +2 -2
  72. package/dist/chunk-F24ZZTHQ.js +193 -0
  73. package/dist/chunk-F24ZZTHQ.js.map +1 -0
  74. package/dist/chunk-F2TDU7MQ.js +456 -0
  75. package/dist/chunk-F2TDU7MQ.js.map +1 -0
  76. package/dist/chunk-F6NCB7KT.js +13 -0
  77. package/dist/chunk-F6NCB7KT.js.map +1 -0
  78. package/dist/{chunk-SPYWXKJN.js → chunk-F7XGHL5O.js} +3 -3
  79. package/dist/chunk-F7XGHL5O.js.map +1 -0
  80. package/dist/{chunk-XTXOCYOJ.js → chunk-FCKWQE2H.js} +5 -5
  81. package/dist/{chunk-U4FOQDY4.js → chunk-FH2L2E34.js} +4 -4
  82. package/dist/chunk-FH2L2E34.js.map +1 -0
  83. package/dist/{chunk-4OZNXTO4.js → chunk-FN5EBVTQ.js} +2 -2
  84. package/dist/chunk-FQ54DWUQ.js +270 -0
  85. package/dist/chunk-FQ54DWUQ.js.map +1 -0
  86. package/dist/{chunk-NKHRDYOR.js → chunk-FQ5VRHIB.js} +4 -4
  87. package/dist/{chunk-FAHMLERK.js → chunk-FW22ZCXT.js} +2 -2
  88. package/dist/chunk-FXQBGFOX.js +524 -0
  89. package/dist/chunk-FXQBGFOX.js.map +1 -0
  90. package/dist/{chunk-AO42KJO6.js → chunk-GF5BZ7D4.js} +45 -9
  91. package/dist/chunk-GF5BZ7D4.js.map +1 -0
  92. package/dist/{chunk-TRGTKX5E.js → chunk-GHLTDZRS.js} +5 -3
  93. package/dist/{chunk-TRGTKX5E.js.map → chunk-GHLTDZRS.js.map} +1 -1
  94. package/dist/{chunk-5WDXHNSW.js → chunk-HBPPGWUM.js} +5 -5
  95. package/dist/chunk-HBPPGWUM.js.map +1 -0
  96. package/dist/{chunk-KTFRCC5C.js → chunk-HBRLNOHL.js} +82 -8
  97. package/dist/chunk-HBRLNOHL.js.map +1 -0
  98. package/dist/chunk-HLEK5VAN.js +275 -0
  99. package/dist/chunk-HLEK5VAN.js.map +1 -0
  100. package/dist/{chunk-RMS3NEA3.js → chunk-HT2AHGQI.js} +2 -2
  101. package/dist/{chunk-CHJBLCOG.js → chunk-HVSCEIYL.js} +7 -7
  102. package/dist/{chunk-UXWB3FPF.js → chunk-I3JDRCMW.js} +150 -22
  103. package/dist/chunk-I3JDRCMW.js.map +1 -0
  104. package/dist/{chunk-GY4WYNNG.js → chunk-ID6Z6E66.js} +2 -2
  105. package/dist/{chunk-EYBQEIUY.js → chunk-IEX7NK2K.js} +3 -3
  106. package/dist/{chunk-KUJDV5QH.js → chunk-ISZQJBML.js} +5 -5
  107. package/dist/{chunk-LWBCUYZW.js → chunk-IT22PWKV.js} +2 -2
  108. package/dist/{chunk-EQEYOJBM.js → chunk-IUWCVHQ7.js} +3 -3
  109. package/dist/chunk-IUWCVHQ7.js.map +1 -0
  110. package/dist/{chunk-7V4TP3AF.js → chunk-J6UOHJY5.js} +4 -4
  111. package/dist/{chunk-JMGDHKQF.js → chunk-JCN44NCY.js} +2 -2
  112. package/dist/{chunk-CARABLSQ.js → chunk-K6W7BVZ6.js} +3 -3
  113. package/dist/{chunk-77K4PG6P.js → chunk-KJFW62P4.js} +29 -11
  114. package/dist/chunk-KJFW62P4.js.map +1 -0
  115. package/dist/{chunk-453F654R.js → chunk-L7DOS3TE.js} +2 -2
  116. package/dist/chunk-LGNDFRYC.js +23 -0
  117. package/dist/chunk-LGNDFRYC.js.map +1 -0
  118. package/dist/{chunk-WEQEYLCS.js → chunk-LGRLME4M.js} +7 -7
  119. package/dist/{chunk-RMF67KCG.js → chunk-LQ4ZHOKP.js} +2 -2
  120. package/dist/{chunk-ZVO4QVPD.js → chunk-M522UYZ2.js} +5 -5
  121. package/dist/{chunk-G56KBWFY.js → chunk-M7NI3IWE.js} +45 -12
  122. package/dist/chunk-M7NI3IWE.js.map +1 -0
  123. package/dist/chunk-MDWKM2XC.js +293 -0
  124. package/dist/chunk-MDWKM2XC.js.map +1 -0
  125. package/dist/chunk-MKXXMNJH.js +204 -0
  126. package/dist/chunk-MKXXMNJH.js.map +1 -0
  127. package/dist/{chunk-SKGMN35F.js → chunk-MLPHLJIQ.js} +3 -3
  128. package/dist/chunk-MLPHLJIQ.js.map +1 -0
  129. package/dist/{chunk-2N4GY74U.js → chunk-MTL7MXGR.js} +6 -6
  130. package/dist/{chunk-TFR7DSOV.js → chunk-MVZ2TPVP.js} +2 -2
  131. package/dist/{chunk-CPWQB3N5.js → chunk-N5DNADLQ.js} +7 -7
  132. package/dist/{chunk-ELNXJMGB.js → chunk-NNARWO72.js} +6 -6
  133. package/dist/{chunk-PT43Y56J.js → chunk-NRT6QZQB.js} +102 -16
  134. package/dist/chunk-NRT6QZQB.js.map +1 -0
  135. package/dist/{chunk-QIBVIOXO.js → chunk-NWHBJQAL.js} +99 -8
  136. package/dist/chunk-NWHBJQAL.js.map +1 -0
  137. package/dist/chunk-NYMLINRP.js +28 -0
  138. package/dist/chunk-NYMLINRP.js.map +1 -0
  139. package/dist/{chunk-7MG7SJT7.js → chunk-ODVPTDPK.js} +1 -1
  140. package/dist/chunk-ODVPTDPK.js.map +1 -0
  141. package/dist/chunk-ORDURZBU.js +461 -0
  142. package/dist/chunk-ORDURZBU.js.map +1 -0
  143. package/dist/{chunk-6YXCPL4T.js → chunk-PDCG6PR5.js} +2 -2
  144. package/dist/{chunk-REDOOY2Q.js → chunk-PSIV7CJV.js} +2 -2
  145. package/dist/{chunk-NA2NIJZI.js → chunk-QBBUZ3I3.js} +126 -19
  146. package/dist/chunk-QBBUZ3I3.js.map +1 -0
  147. package/dist/{chunk-5VCRVKOZ.js → chunk-QOOUUR4A.js} +6 -4
  148. package/dist/{chunk-5VCRVKOZ.js.map → chunk-QOOUUR4A.js.map} +1 -1
  149. package/dist/{chunk-ANATMFIO.js → chunk-QWFHIOD2.js} +5 -5
  150. package/dist/{chunk-X2DLENDQ.js → chunk-QWGU66MP.js} +3 -3
  151. package/dist/chunk-RHVMZSUU.js +7 -0
  152. package/dist/chunk-RHVMZSUU.js.map +1 -0
  153. package/dist/{chunk-BSFNRLK2.js → chunk-S57HTZ6X.js} +5 -5
  154. package/dist/{chunk-SZJ3DLZA.js → chunk-SEE332EV.js} +2 -2
  155. package/dist/{chunk-YYP7WSEB.js → chunk-SI3V7D4G.js} +2 -2
  156. package/dist/{chunk-UGTBXF5U.js → chunk-SOIQ4MM4.js} +3 -3
  157. package/dist/chunk-SUZKW6UR.js +25 -0
  158. package/dist/chunk-SUZKW6UR.js.map +1 -0
  159. package/dist/{chunk-VXGSWL6L.js → chunk-SYVZW77S.js} +6 -6
  160. package/dist/{chunk-6GOE5PGN.js → chunk-T2LBQ5DV.js} +883 -227
  161. package/dist/chunk-T2LBQ5DV.js.map +1 -0
  162. package/dist/chunk-T52GX4SA.js +215 -0
  163. package/dist/chunk-T52GX4SA.js.map +1 -0
  164. package/dist/{chunk-MVMXZYXT.js → chunk-TKUOEU2F.js} +2 -2
  165. package/dist/chunk-TOPYQ6GA.js +31 -0
  166. package/dist/chunk-TOPYQ6GA.js.map +1 -0
  167. package/dist/{chunk-SMH6SRX7.js → chunk-TROR3ALR.js} +2 -2
  168. package/dist/{chunk-2C3AQB46.js → chunk-UD5EVGZ7.js} +42 -389
  169. package/dist/chunk-UD5EVGZ7.js.map +1 -0
  170. package/dist/{chunk-KJIMGIWO.js → chunk-UPD5NWI5.js} +65 -17
  171. package/dist/chunk-UPD5NWI5.js.map +1 -0
  172. package/dist/{chunk-SL3JAAKN.js → chunk-UYB234ZR.js} +30 -2
  173. package/dist/chunk-UYB234ZR.js.map +1 -0
  174. package/dist/chunk-VHM7HCKB.js +220 -0
  175. package/dist/chunk-VHM7HCKB.js.map +1 -0
  176. package/dist/{chunk-DGOZ4UZD.js → chunk-VNNRUGMM.js} +2 -2
  177. package/dist/{chunk-HDOU6I2Y.js → chunk-VNPEWFPD.js} +4 -4
  178. package/dist/{chunk-L7CIOOBW.js → chunk-WNJ4AVGE.js} +2 -2
  179. package/dist/{chunk-FMZY5Q6L.js → chunk-WX5ADGTZ.js} +3 -3
  180. package/dist/{chunk-VXANTWBJ.js → chunk-WY2XXTET.js} +92 -6
  181. package/dist/{chunk-VXANTWBJ.js.map → chunk-WY2XXTET.js.map} +1 -1
  182. package/dist/{chunk-6X6SEMEE.js → chunk-X25NWUZB.js} +33 -8
  183. package/dist/chunk-X25NWUZB.js.map +1 -0
  184. package/dist/{chunk-Q7HZX3IF.js → chunk-X4773RBR.js} +2 -2
  185. package/dist/chunk-XBKH4FOC.js +195 -0
  186. package/dist/chunk-XBKH4FOC.js.map +1 -0
  187. package/dist/{chunk-ANSIZYEG.js → chunk-YNIUIERI.js} +3 -3
  188. package/dist/chunk-YSK2CU2Q.js +936 -0
  189. package/dist/chunk-YSK2CU2Q.js.map +1 -0
  190. package/dist/{chunk-UXVWEX5L.js → chunk-Z5HTYMMQ.js} +6 -2
  191. package/dist/chunk-Z5HTYMMQ.js.map +1 -0
  192. package/dist/{chunk-RRNRNANG.js → chunk-ZE4CHIED.js} +66 -75
  193. package/dist/chunk-ZE4CHIED.js.map +1 -0
  194. package/dist/chunk-ZSX4S5XB.js +1289 -0
  195. package/dist/chunk-ZSX4S5XB.js.map +1 -0
  196. package/dist/{chunk-BZ3534YM.js → chunk-ZUVBC32X.js} +2 -2
  197. package/dist/{chunk-L742JPKZ.js → chunk-ZXABPVM6.js} +6 -6
  198. package/dist/classified/index.js +5 -5
  199. package/dist/{classified-marker-LI2SF2E4.js → classified-marker-W3USLL5M.js} +3 -3
  200. package/dist/collection-facade-QU6IJBN3.js +48 -0
  201. package/dist/{computed-VPOKQK4N.js → computed-TPFBX7U4.js} +3 -3
  202. package/dist/consent/index.js +9 -9
  203. package/dist/cover/index.js +10 -10
  204. package/dist/coverage/index.js +306 -0
  205. package/dist/coverage/index.js.map +1 -0
  206. package/dist/custody/index.js +12 -12
  207. package/dist/{dead-filter-TSWZQRR5.js → dead-filter-U2UYKSZL.js} +2 -2
  208. package/dist/debug/index.js +1 -1
  209. package/dist/{delegation-OVIFFPG4.js → delegation-S3AEPW2T.js} +11 -11
  210. package/dist/derivations/index.js +25 -22
  211. package/dist/derive-OX7F6TGG.js +21 -0
  212. package/dist/directory/index.js +10 -10
  213. package/dist/{dispatch-WC6X2M6C.js → dispatch-3CQDJV5Q.js} +5 -5
  214. package/dist/{dispatch-S73TK3IY.js → dispatch-RH4LHKBH.js} +21 -21
  215. package/dist/{enclave-KJOTOH7X.js → enclave-27SMF6GF.js} +15 -9
  216. package/dist/executor-B6SRO2QS.js +36 -0
  217. package/dist/executor-BI5CHWRY.js +8 -0
  218. package/dist/executor-RBKM5W5K.js +8 -0
  219. package/dist/export-accessible-VMA3YM5V.js +22 -0
  220. package/dist/extract-partition-NF7PXGPP.js +37 -0
  221. package/dist/{fanout-sidecar-WUFXNYP4.js → fanout-sidecar-OT6RYLOL.js} +9 -9
  222. package/dist/find-LZMP26KF.js +10 -0
  223. package/dist/forget/index.js +9 -9
  224. package/dist/guards/index.js +4 -4
  225. package/dist/history/index.js +13 -13
  226. package/dist/i18n/index.js +14 -14
  227. package/dist/index.d.ts +29 -6
  228. package/dist/index.js +999 -191
  229. package/dist/index.js.map +1 -1
  230. package/dist/indexing/index.js +13 -5
  231. package/dist/indexing/index.js.map +1 -1
  232. package/dist/introspection/index.js +11 -11
  233. package/dist/issue-IHARXWW5.js +18 -0
  234. package/dist/ivf-flat-UZ6DQDLS.js +314 -0
  235. package/dist/ivf-flat-UZ6DQDLS.js.map +1 -0
  236. package/dist/{json-schema-V3M5MUCM.js → json-schema-3SHX72CC.js} +2 -1
  237. package/dist/json-schema-3SHX72CC.js.map +1 -0
  238. package/dist/kernel/collection-config.d.ts +4 -20
  239. package/dist/kernel/collection.d.ts +29 -8
  240. package/dist/kernel/enclave/crypto.d.ts +16 -0
  241. package/dist/kernel/enclave/index.d.ts +1 -1
  242. package/dist/kernel/enclave/record-keys/record-codec.d.ts +25 -0
  243. package/dist/kernel/errors.d.ts +227 -36
  244. package/dist/kernel/generation-map.d.ts +48 -0
  245. package/dist/kernel/memory-store.d.ts +35 -7
  246. package/dist/kernel/noydb.d.ts +6 -1
  247. package/dist/kernel/present-cache.d.ts +58 -0
  248. package/dist/kernel/query/all.d.ts +7 -0
  249. package/dist/kernel/query/builder.d.ts +601 -270
  250. package/dist/kernel/query/civil-date.d.ts +64 -0
  251. package/dist/kernel/query/cursor.d.ts +40 -0
  252. package/dist/kernel/query/distinct-key.d.ts +98 -0
  253. package/dist/kernel/query/hydration.d.ts +76 -0
  254. package/dist/kernel/query/index.d.ts +31 -15
  255. package/dist/kernel/query/internal/core.d.ts +30 -0
  256. package/dist/kernel/query/internal/hooks.d.ts +22 -0
  257. package/dist/kernel/query/internal/maintenance.d.ts +43 -0
  258. package/dist/kernel/query/live/incremental.d.ts +314 -0
  259. package/dist/kernel/query/live/index.d.ts +22 -0
  260. package/dist/kernel/query/live/install.d.ts +2 -0
  261. package/dist/kernel/query/{live.d.ts → live/live.d.ts} +39 -9
  262. package/dist/kernel/query/live/methods.d.ts +107 -0
  263. package/dist/kernel/query/predicate.d.ts +119 -1
  264. package/dist/kernel/query/reduce/date-trunc.d.ts +75 -0
  265. package/dist/kernel/query/reduce/index.d.ts +36 -0
  266. package/dist/kernel/query/reduce/install.d.ts +2 -0
  267. package/dist/kernel/query/reduce/methods.d.ts +259 -0
  268. package/dist/kernel/query/reduce/scan-methods.d.ts +121 -0
  269. package/dist/kernel/query/relate/explain.d.ts +199 -0
  270. package/dist/kernel/query/relate/index.d.ts +48 -0
  271. package/dist/kernel/query/relate/install.d.ts +2 -0
  272. package/dist/kernel/query/relate/join-on.d.ts +126 -0
  273. package/dist/kernel/query/relate/join-reduce.d.ts +16 -0
  274. package/dist/kernel/query/relate/join.d.ts +452 -0
  275. package/dist/kernel/query/relate/methods.d.ts +426 -0
  276. package/dist/kernel/query/relate/partition.d.ts +87 -0
  277. package/dist/kernel/query/relate/scan-methods.d.ts +163 -0
  278. package/dist/kernel/query/relate/traverse.d.ts +109 -0
  279. package/dist/kernel/query/scan-builder.d.ts +79 -176
  280. package/dist/kernel/query/sort-key.d.ts +52 -0
  281. package/dist/kernel/tx-write-gate.d.ts +77 -0
  282. package/dist/kernel/types.d.ts +71 -3
  283. package/dist/kernel/validation.d.ts +27 -10
  284. package/dist/kernel/vault.d.ts +9 -4
  285. package/dist/kernel/via/compose.d.ts +3 -0
  286. package/dist/kernel/via/index.d.ts +56 -0
  287. package/dist/kernel/via/pipeline.d.ts +48 -0
  288. package/dist/{ledger-F33ZVMTK.js → ledger-KZPCMVZY.js} +11 -11
  289. package/dist/liberate-GRLCZMW4.js +24 -0
  290. package/dist/link-set-JCMJ7ULP.js +30 -0
  291. package/dist/{managed-secret-PQYKSR6T.js → managed-secret-S3MQ6SH6.js} +10 -10
  292. package/dist/materialized-views/index.js +30 -23
  293. package/dist/{migrate-cek-5ENH64AA.js → migrate-cek-V7GKJZ7O.js} +2 -2
  294. package/dist/money/index.js +5 -5
  295. package/dist/noydb-SWQJ3MZS.js +97 -0
  296. package/dist/overlay-views/index.js +4 -4
  297. package/dist/periods/index.js +12 -12
  298. package/dist/pod/index.js +75 -68
  299. package/dist/{pod-handle-Q736KYON.js → pod-handle-WGDFB4C2.js} +9 -9
  300. package/dist/policy/index.js +10 -10
  301. package/dist/port/with/blob-strategy.d.ts +9 -0
  302. package/dist/port/with/collection-options.d.ts +5 -0
  303. package/dist/port/with/coverage-strategy.d.ts +83 -0
  304. package/dist/port/with/service-bus.d.ts +46 -0
  305. package/dist/port/with/strategies.d.ts +2 -0
  306. package/dist/portability/index.js +8 -8
  307. package/dist/{post-register-LNE2FE2A.js → post-register-SLSXIPBV.js} +6 -6
  308. package/dist/query/all/index.js +31 -0
  309. package/dist/query/index.js +20 -32
  310. package/dist/query/live/index.js +21 -0
  311. package/dist/query/live/index.js.map +1 -0
  312. package/dist/query/reduce/index.js +33 -0
  313. package/dist/query/reduce/index.js.map +1 -0
  314. package/dist/query/relate/index.js +56 -0
  315. package/dist/query/relate/index.js.map +1 -0
  316. package/dist/reduce/index.js +72 -18
  317. package/dist/reduce/index.js.map +1 -1
  318. package/dist/register-F3OYE7MJ.js +31 -0
  319. package/dist/registry-CILQFXFK.js +8 -0
  320. package/dist/registry-XNNYQVKV.js +8 -0
  321. package/dist/registry-YCDZV3VW.js +35 -0
  322. package/dist/registry-ZGYS33TE.js +24 -0
  323. package/dist/request-withdrawal-Z5NC6TXT.js +30 -0
  324. package/dist/{reveal-67RDQRIN.js → reveal-4BCKPEC2.js} +6 -6
  325. package/dist/revoke-ZL62WC2D.js +23 -0
  326. package/dist/satellites/index.js +1 -1
  327. package/dist/schema-update/index.js +2 -2
  328. package/dist/sealed-record/index.js +12 -12
  329. package/dist/search/index.js +11 -5
  330. package/dist/{seed-G42JYN56.js → seed-4JS2RJ4A.js} +12 -12
  331. package/dist/sequence/index.js +9 -9
  332. package/dist/session/index.js +9 -9
  333. package/dist/shadow/index.js +2 -2
  334. package/dist/signer-MBZZMXTC.js +24 -0
  335. package/dist/snapshots/index.js +10 -10
  336. package/dist/{stale-DDL7WQEZ.js → stale-TJ3DYZMQ.js} +10 -10
  337. package/dist/storage-SVMKRGCW.js +22 -0
  338. package/dist/{store-coordination-provider-MEQ2MJQG.js → store-coordination-provider-2O2VUHKW.js} +10 -10
  339. package/dist/sync/index.js +10 -10
  340. package/dist/team/index.js +17 -15
  341. package/dist/tiers/index.js +13 -11
  342. package/dist/to/index.js +2 -2
  343. package/dist/transactions/index.js +3 -3
  344. package/dist/util/index.js +1 -1
  345. package/dist/vault-head/index.js +8 -8
  346. package/dist/{verify-KOV2G5D6.js → verify-RVT67IMH.js} +5 -5
  347. package/dist/via/blob/index.d.ts +1 -0
  348. package/dist/via/geo/binding.d.ts +31 -0
  349. package/dist/via/geo/descriptor.d.ts +54 -0
  350. package/dist/via/geo/geohash.d.ts +95 -0
  351. package/dist/via/geo/index.d.ts +13 -0
  352. package/dist/via/geo/where.d.ts +50 -0
  353. package/dist/via/i18n/core.d.ts +1 -1
  354. package/dist/via/lookup/registry.d.ts +1 -1
  355. package/dist/via/lookup/snapshot.d.ts +3 -3
  356. package/dist/walk-HJ42EISE.js +21 -0
  357. package/dist/walk-HJ42EISE.js.map +1 -0
  358. package/dist/with-audit/coverage/accounting.d.ts +112 -0
  359. package/dist/with-audit/coverage/active.d.ts +29 -0
  360. package/dist/with-audit/coverage/index.d.ts +61 -0
  361. package/dist/with-audit/coverage/sketch.d.ts +75 -0
  362. package/dist/with-audit/periods/periods.d.ts +55 -7
  363. package/dist/with-audit/periods/reserved-collections.d.ts +3 -0
  364. package/dist/with-audit/periods/vault-facade.d.ts +17 -0
  365. package/dist/with-audit/tiers/index.d.ts +51 -0
  366. package/dist/with-audit/tiers/strategy.d.ts +8 -0
  367. package/dist/with-cargo/floor.d.ts +2 -2
  368. package/dist/with-commit/tx/invariants.d.ts +1 -1
  369. package/dist/with-commit/tx/transaction.d.ts +13 -3
  370. package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +4 -3
  371. package/dist/with-formula/materialized-views/emit-memo.d.ts +40 -0
  372. package/dist/with-formula/materialized-views/executor.d.ts +8 -0
  373. package/dist/with-formula/materialized-views/index.d.ts +1 -1
  374. package/dist/with-formula/materialized-views/registry.d.ts +15 -0
  375. package/dist/with-formula/materialized-views/types.d.ts +106 -14
  376. package/dist/with-formula/materialized-views/window-stage.d.ts +11 -0
  377. package/dist/with-formula/overlay-views/types.d.ts +1 -1
  378. package/dist/with-formula/overlay-views/virtual-collection.d.ts +13 -4
  379. package/dist/with-lookup/embeddings/chunks.d.ts +79 -0
  380. package/dist/with-lookup/embeddings/descriptor.d.ts +21 -0
  381. package/dist/with-lookup/embeddings/index.d.ts +3 -0
  382. package/dist/with-lookup/embeddings/ivf-flat.d.ts +93 -0
  383. package/dist/with-lookup/embeddings/vector-index.d.ts +73 -0
  384. package/dist/with-lookup/embeddings/vector-set.d.ts +94 -1
  385. package/dist/with-lookup/embeddings/with-vector-index.d.ts +67 -0
  386. package/dist/with-lookup/indexing/collection-facade.d.ts +85 -2
  387. package/dist/with-lookup/indexing/compound-indexes.d.ts +129 -0
  388. package/dist/with-lookup/indexing/eager-indexes.d.ts +170 -1
  389. package/dist/with-lookup/indexing/index-snapshot.d.ts +62 -0
  390. package/dist/with-lookup/indexing/lazy-builder.d.ts +33 -0
  391. package/dist/with-lookup/indexing/persisted-field-indexes.d.ts +104 -0
  392. package/dist/with-lookup/indexing/persisted-indexes.d.ts +12 -0
  393. package/dist/with-lookup/indexing/sorted-indexes.d.ts +117 -0
  394. package/dist/with-lookup/indexing/unique-constraints.d.ts +106 -23
  395. package/dist/with-lookup/reduce/active.d.ts +2 -24
  396. package/dist/with-lookup/reduce/group-core.d.ts +43 -0
  397. package/dist/with-lookup/reduce/groupby.d.ts +195 -36
  398. package/dist/with-lookup/reduce/incremental-group.d.ts +153 -0
  399. package/dist/with-lookup/reduce/index.d.ts +26 -5
  400. package/dist/with-lookup/reduce/reducers.d.ts +255 -1
  401. package/dist/with-lookup/reduce/reduction.d.ts +44 -13
  402. package/dist/with-lookup/reduce/strategy.d.ts +43 -3
  403. package/dist/with-lookup/reduce/window.d.ts +262 -0
  404. package/dist/with-lookup/search/collection-facade.d.ts +44 -8
  405. package/dist/with-lookup/search/index-store.d.ts +5 -3
  406. package/dist/with-lookup/search/index.d.ts +4 -2
  407. package/dist/with-lookup/search/inverted-index.d.ts +38 -2
  408. package/dist/with-lookup/search/persisted-index-store.d.ts +5 -2
  409. package/dist/with-lookup/search/phrase.d.ts +28 -0
  410. package/dist/with-lookup/search/retrieve-types.d.ts +57 -1
  411. package/dist/with-lookup/search/serialize.d.ts +29 -3
  412. package/dist/with-lookup/search/strategy.d.ts +2 -6
  413. package/dist/with-party/directory/cover/index.d.ts +1 -1
  414. package/dist/with-party/directory/cover/storage.d.ts +1 -1
  415. package/dist/with-party/directory/cover/types.d.ts +1 -1
  416. package/dist/with-party/directory/index.d.ts +1 -1
  417. package/dist/with-party/directory/types.d.ts +1 -1
  418. package/dist/with-party/directory/user-envelope/api.d.ts +1 -1
  419. package/dist/with-party/policy/engine.d.ts +1 -1
  420. package/dist/with-party/policy/index.d.ts +1 -1
  421. package/dist/with-party/policy/presets.d.ts +1 -1
  422. package/dist/with-party/team/authenticators.d.ts +91 -1
  423. package/dist/with-party/team/index.d.ts +3 -2
  424. package/dist/with-party/team/keyring.d.ts +13 -6
  425. package/dist/with-party/team/managed-secret.d.ts +1 -1
  426. package/dist/with-party/team/noydb-facade.d.ts +12 -3
  427. package/dist/with-party/team/wrapped-deks.d.ts +4 -4
  428. package/dist/with-pod/format.d.ts +1 -1
  429. package/dist/with-pod/pod.d.ts +5 -5
  430. package/dist/with-shape/blobs/blob-compaction.d.ts +16 -0
  431. package/dist/with-shape/blobs/blob-set.d.ts +21 -2
  432. package/dist/with-shape/blobs/legacy-sweep.d.ts +35 -0
  433. package/dist/with-shape/introspection/describe.d.ts +6 -0
  434. package/dist/with-shape/introspection/field-meta.d.ts +18 -0
  435. package/dist/with-shape/introspection/types.d.ts +57 -1
  436. package/dist/with-shape/links/vault-facade.d.ts +1 -1
  437. package/dist/with-store/partitioned/index.d.ts +337 -0
  438. package/dist/with-sync/change-broadcast.d.ts +153 -0
  439. package/dist/withdraw-accessible-5NZUPAVA.js +27 -0
  440. package/dist/withdraw-accessible-5NZUPAVA.js.map +1 -0
  441. package/package.json +37 -10
  442. package/dist/api-TXFOVOXX.js +0 -19
  443. package/dist/backup-IJTB4S4M.js.map +0 -1
  444. package/dist/chunk-2577DKXB.js.map +0 -1
  445. package/dist/chunk-2C3AQB46.js.map +0 -1
  446. package/dist/chunk-4GVM6QZA.js.map +0 -1
  447. package/dist/chunk-5WDXHNSW.js.map +0 -1
  448. package/dist/chunk-6GOE5PGN.js.map +0 -1
  449. package/dist/chunk-6X6SEMEE.js.map +0 -1
  450. package/dist/chunk-77K4PG6P.js.map +0 -1
  451. package/dist/chunk-7MG2LHO5.js +0 -1616
  452. package/dist/chunk-7MG2LHO5.js.map +0 -1
  453. package/dist/chunk-7MG7SJT7.js.map +0 -1
  454. package/dist/chunk-7O3Y4PPD.js.map +0 -1
  455. package/dist/chunk-AO42KJO6.js.map +0 -1
  456. package/dist/chunk-ATL3ZVXT.js +0 -151
  457. package/dist/chunk-ATL3ZVXT.js.map +0 -1
  458. package/dist/chunk-BLN54W3L.js.map +0 -1
  459. package/dist/chunk-BM5TWITZ.js.map +0 -1
  460. package/dist/chunk-CUZLNGD5.js.map +0 -1
  461. package/dist/chunk-EQEYOJBM.js.map +0 -1
  462. package/dist/chunk-G56KBWFY.js.map +0 -1
  463. package/dist/chunk-I3ISCYT7.js +0 -159
  464. package/dist/chunk-I3ISCYT7.js.map +0 -1
  465. package/dist/chunk-KG7TZKZG.js.map +0 -1
  466. package/dist/chunk-KJIMGIWO.js.map +0 -1
  467. package/dist/chunk-KTFRCC5C.js.map +0 -1
  468. package/dist/chunk-KUX3OB6D.js.map +0 -1
  469. package/dist/chunk-MUM7IANK.js.map +0 -1
  470. package/dist/chunk-NA2NIJZI.js.map +0 -1
  471. package/dist/chunk-NSITFOCJ.js +0 -99
  472. package/dist/chunk-NSITFOCJ.js.map +0 -1
  473. package/dist/chunk-PT43Y56J.js.map +0 -1
  474. package/dist/chunk-QIBVIOXO.js.map +0 -1
  475. package/dist/chunk-RRNRNANG.js.map +0 -1
  476. package/dist/chunk-RTBJ5IOO.js +0 -87
  477. package/dist/chunk-RTBJ5IOO.js.map +0 -1
  478. package/dist/chunk-SKGMN35F.js.map +0 -1
  479. package/dist/chunk-SL3JAAKN.js.map +0 -1
  480. package/dist/chunk-SPXXX5E4.js.map +0 -1
  481. package/dist/chunk-SPYWXKJN.js.map +0 -1
  482. package/dist/chunk-U4FOQDY4.js.map +0 -1
  483. package/dist/chunk-UXVWEX5L.js.map +0 -1
  484. package/dist/chunk-UXWB3FPF.js.map +0 -1
  485. package/dist/chunk-YMUFFJCO.js.map +0 -1
  486. package/dist/chunk-ZN4FD4PE.js +0 -364
  487. package/dist/chunk-ZN4FD4PE.js.map +0 -1
  488. package/dist/chunk-ZORTV6NH.js.map +0 -1
  489. package/dist/collection-facade-4GRREZ6C.js +0 -45
  490. package/dist/derive-6O5SWQKN.js +0 -21
  491. package/dist/executor-5NIMLSKZ.js +0 -8
  492. package/dist/executor-AQVXV5GZ.js +0 -8
  493. package/dist/executor-PUAO6AKJ.js +0 -29
  494. package/dist/export-accessible-72EQNBMR.js +0 -22
  495. package/dist/extract-partition-PUYNU3UF.js +0 -37
  496. package/dist/find-2ABFCZX4.js +0 -10
  497. package/dist/issue-SIDORTSZ.js +0 -18
  498. package/dist/json-schema-V3M5MUCM.js.map +0 -1
  499. package/dist/kernel/query/join.d.ts +0 -232
  500. package/dist/liberate-LCDPNAG2.js +0 -24
  501. package/dist/link-set-FKNWAYKS.js +0 -30
  502. package/dist/noydb-DUXZPKSN.js +0 -90
  503. package/dist/register-I2DZXGAR.js +0 -31
  504. package/dist/registry-23WF3TGH.js +0 -8
  505. package/dist/registry-4AYVUNXK.js +0 -8
  506. package/dist/registry-VSSQPIGF.js +0 -18
  507. package/dist/registry-YLEWMGAC.js +0 -32
  508. package/dist/request-withdrawal-KFQHEZ25.js +0 -30
  509. package/dist/revoke-DQDZAZZM.js +0 -23
  510. package/dist/signer-WAMDZHEN.js +0 -24
  511. package/dist/storage-FLR73HHF.js +0 -22
  512. package/dist/walk-3UQBRMDV.js +0 -21
  513. package/dist/withdraw-accessible-EL5GXZBS.js +0 -27
  514. /package/dist/{api-TXFOVOXX.js.map → api-GVYEKSJE.js.map} +0 -0
  515. /package/dist/{chunk-BUE2D7PX.js.map → chunk-32YV3TJT.js.map} +0 -0
  516. /package/dist/{chunk-3RCJJBNR.js.map → chunk-3ELRMVJK.js.map} +0 -0
  517. /package/dist/{chunk-6GMZ7HEE.js.map → chunk-3F7GLNAE.js.map} +0 -0
  518. /package/dist/{chunk-2Y4IMKA6.js.map → chunk-3H5KLDZN.js.map} +0 -0
  519. /package/dist/{chunk-VTFVLCUH.js.map → chunk-3JWHAR6E.js.map} +0 -0
  520. /package/dist/{chunk-JBDFMYKQ.js.map → chunk-4AF3TUMP.js.map} +0 -0
  521. /package/dist/{chunk-J6FXAEUG.js.map → chunk-6B3VNR4P.js.map} +0 -0
  522. /package/dist/{chunk-TUFM4UZP.js.map → chunk-6K7DPM7D.js.map} +0 -0
  523. /package/dist/{chunk-K6LHRFBL.js.map → chunk-6LMQ5R26.js.map} +0 -0
  524. /package/dist/{chunk-XLMEZIAJ.js.map → chunk-6OWXYZK2.js.map} +0 -0
  525. /package/dist/{chunk-BOWNCWZT.js.map → chunk-6QSQQLSE.js.map} +0 -0
  526. /package/dist/{chunk-NQKIUNW5.js.map → chunk-A6IJU4TK.js.map} +0 -0
  527. /package/dist/{chunk-QIZPZMUI.js.map → chunk-AOWGXU6D.js.map} +0 -0
  528. /package/dist/{chunk-SFAWCTEM.js.map → chunk-B57AFBY2.js.map} +0 -0
  529. /package/dist/{chunk-GPEQUXHL.js.map → chunk-B6SJIBQK.js.map} +0 -0
  530. /package/dist/{chunk-Q2PU57HC.js.map → chunk-BK2HHQGN.js.map} +0 -0
  531. /package/dist/{collection-facade-4GRREZ6C.js.map → chunk-BKT776R5.js.map} +0 -0
  532. /package/dist/{chunk-FXBIP2WD.js.map → chunk-BUDAGWL5.js.map} +0 -0
  533. /package/dist/{chunk-BOET4NA4.js.map → chunk-CKNGS5MH.js.map} +0 -0
  534. /package/dist/{chunk-YSRUYAVU.js.map → chunk-DE4DH2RZ.js.map} +0 -0
  535. /package/dist/{chunk-6I2RQCET.js.map → chunk-DF73H4UN.js.map} +0 -0
  536. /package/dist/{chunk-K7NTTA6P.js.map → chunk-EOVMT6TB.js.map} +0 -0
  537. /package/dist/{chunk-XTXOCYOJ.js.map → chunk-FCKWQE2H.js.map} +0 -0
  538. /package/dist/{chunk-4OZNXTO4.js.map → chunk-FN5EBVTQ.js.map} +0 -0
  539. /package/dist/{chunk-NKHRDYOR.js.map → chunk-FQ5VRHIB.js.map} +0 -0
  540. /package/dist/{chunk-FAHMLERK.js.map → chunk-FW22ZCXT.js.map} +0 -0
  541. /package/dist/{chunk-RMS3NEA3.js.map → chunk-HT2AHGQI.js.map} +0 -0
  542. /package/dist/{chunk-CHJBLCOG.js.map → chunk-HVSCEIYL.js.map} +0 -0
  543. /package/dist/{chunk-GY4WYNNG.js.map → chunk-ID6Z6E66.js.map} +0 -0
  544. /package/dist/{chunk-EYBQEIUY.js.map → chunk-IEX7NK2K.js.map} +0 -0
  545. /package/dist/{chunk-KUJDV5QH.js.map → chunk-ISZQJBML.js.map} +0 -0
  546. /package/dist/{chunk-LWBCUYZW.js.map → chunk-IT22PWKV.js.map} +0 -0
  547. /package/dist/{chunk-7V4TP3AF.js.map → chunk-J6UOHJY5.js.map} +0 -0
  548. /package/dist/{chunk-JMGDHKQF.js.map → chunk-JCN44NCY.js.map} +0 -0
  549. /package/dist/{chunk-CARABLSQ.js.map → chunk-K6W7BVZ6.js.map} +0 -0
  550. /package/dist/{chunk-453F654R.js.map → chunk-L7DOS3TE.js.map} +0 -0
  551. /package/dist/{chunk-WEQEYLCS.js.map → chunk-LGRLME4M.js.map} +0 -0
  552. /package/dist/{chunk-RMF67KCG.js.map → chunk-LQ4ZHOKP.js.map} +0 -0
  553. /package/dist/{chunk-ZVO4QVPD.js.map → chunk-M522UYZ2.js.map} +0 -0
  554. /package/dist/{chunk-2N4GY74U.js.map → chunk-MTL7MXGR.js.map} +0 -0
  555. /package/dist/{chunk-TFR7DSOV.js.map → chunk-MVZ2TPVP.js.map} +0 -0
  556. /package/dist/{chunk-CPWQB3N5.js.map → chunk-N5DNADLQ.js.map} +0 -0
  557. /package/dist/{chunk-ELNXJMGB.js.map → chunk-NNARWO72.js.map} +0 -0
  558. /package/dist/{chunk-6YXCPL4T.js.map → chunk-PDCG6PR5.js.map} +0 -0
  559. /package/dist/{chunk-REDOOY2Q.js.map → chunk-PSIV7CJV.js.map} +0 -0
  560. /package/dist/{chunk-ANATMFIO.js.map → chunk-QWFHIOD2.js.map} +0 -0
  561. /package/dist/{chunk-X2DLENDQ.js.map → chunk-QWGU66MP.js.map} +0 -0
  562. /package/dist/{chunk-BSFNRLK2.js.map → chunk-S57HTZ6X.js.map} +0 -0
  563. /package/dist/{chunk-SZJ3DLZA.js.map → chunk-SEE332EV.js.map} +0 -0
  564. /package/dist/{chunk-YYP7WSEB.js.map → chunk-SI3V7D4G.js.map} +0 -0
  565. /package/dist/{chunk-UGTBXF5U.js.map → chunk-SOIQ4MM4.js.map} +0 -0
  566. /package/dist/{chunk-VXGSWL6L.js.map → chunk-SYVZW77S.js.map} +0 -0
  567. /package/dist/{chunk-MVMXZYXT.js.map → chunk-TKUOEU2F.js.map} +0 -0
  568. /package/dist/{chunk-SMH6SRX7.js.map → chunk-TROR3ALR.js.map} +0 -0
  569. /package/dist/{chunk-DGOZ4UZD.js.map → chunk-VNNRUGMM.js.map} +0 -0
  570. /package/dist/{chunk-HDOU6I2Y.js.map → chunk-VNPEWFPD.js.map} +0 -0
  571. /package/dist/{chunk-L7CIOOBW.js.map → chunk-WNJ4AVGE.js.map} +0 -0
  572. /package/dist/{chunk-FMZY5Q6L.js.map → chunk-WX5ADGTZ.js.map} +0 -0
  573. /package/dist/{chunk-Q7HZX3IF.js.map → chunk-X4773RBR.js.map} +0 -0
  574. /package/dist/{chunk-ANSIZYEG.js.map → chunk-YNIUIERI.js.map} +0 -0
  575. /package/dist/{chunk-BZ3534YM.js.map → chunk-ZUVBC32X.js.map} +0 -0
  576. /package/dist/{chunk-L742JPKZ.js.map → chunk-ZXABPVM6.js.map} +0 -0
  577. /package/dist/{classified-marker-LI2SF2E4.js.map → classified-marker-W3USLL5M.js.map} +0 -0
  578. /package/dist/{computed-VPOKQK4N.js.map → collection-facade-QU6IJBN3.js.map} +0 -0
  579. /package/dist/{derive-6O5SWQKN.js.map → computed-TPFBX7U4.js.map} +0 -0
  580. /package/dist/{dead-filter-TSWZQRR5.js.map → dead-filter-U2UYKSZL.js.map} +0 -0
  581. /package/dist/{delegation-OVIFFPG4.js.map → delegation-S3AEPW2T.js.map} +0 -0
  582. /package/dist/{enclave-KJOTOH7X.js.map → derive-OX7F6TGG.js.map} +0 -0
  583. /package/dist/{dispatch-WC6X2M6C.js.map → dispatch-3CQDJV5Q.js.map} +0 -0
  584. /package/dist/{dispatch-S73TK3IY.js.map → dispatch-RH4LHKBH.js.map} +0 -0
  585. /package/dist/{executor-5NIMLSKZ.js.map → enclave-27SMF6GF.js.map} +0 -0
  586. /package/dist/{executor-AQVXV5GZ.js.map → executor-B6SRO2QS.js.map} +0 -0
  587. /package/dist/{executor-PUAO6AKJ.js.map → executor-BI5CHWRY.js.map} +0 -0
  588. /package/dist/{export-accessible-72EQNBMR.js.map → executor-RBKM5W5K.js.map} +0 -0
  589. /package/dist/{extract-partition-PUYNU3UF.js.map → export-accessible-VMA3YM5V.js.map} +0 -0
  590. /package/dist/{find-2ABFCZX4.js.map → extract-partition-NF7PXGPP.js.map} +0 -0
  591. /package/dist/{fanout-sidecar-WUFXNYP4.js.map → fanout-sidecar-OT6RYLOL.js.map} +0 -0
  592. /package/dist/{issue-SIDORTSZ.js.map → find-LZMP26KF.js.map} +0 -0
  593. /package/dist/{ledger-F33ZVMTK.js.map → issue-IHARXWW5.js.map} +0 -0
  594. /package/dist/{liberate-LCDPNAG2.js.map → ledger-KZPCMVZY.js.map} +0 -0
  595. /package/dist/{link-set-FKNWAYKS.js.map → liberate-GRLCZMW4.js.map} +0 -0
  596. /package/dist/{managed-secret-PQYKSR6T.js.map → link-set-JCMJ7ULP.js.map} +0 -0
  597. /package/dist/{noydb-DUXZPKSN.js.map → managed-secret-S3MQ6SH6.js.map} +0 -0
  598. /package/dist/{migrate-cek-5ENH64AA.js.map → migrate-cek-V7GKJZ7O.js.map} +0 -0
  599. /package/dist/{register-I2DZXGAR.js.map → noydb-SWQJ3MZS.js.map} +0 -0
  600. /package/dist/{pod-handle-Q736KYON.js.map → pod-handle-WGDFB4C2.js.map} +0 -0
  601. /package/dist/{post-register-LNE2FE2A.js.map → post-register-SLSXIPBV.js.map} +0 -0
  602. /package/dist/{registry-23WF3TGH.js.map → query/all/index.js.map} +0 -0
  603. /package/dist/{registry-4AYVUNXK.js.map → register-F3OYE7MJ.js.map} +0 -0
  604. /package/dist/{registry-VSSQPIGF.js.map → registry-CILQFXFK.js.map} +0 -0
  605. /package/dist/{registry-YLEWMGAC.js.map → registry-XNNYQVKV.js.map} +0 -0
  606. /package/dist/{request-withdrawal-KFQHEZ25.js.map → registry-YCDZV3VW.js.map} +0 -0
  607. /package/dist/{revoke-DQDZAZZM.js.map → registry-ZGYS33TE.js.map} +0 -0
  608. /package/dist/{signer-WAMDZHEN.js.map → request-withdrawal-Z5NC6TXT.js.map} +0 -0
  609. /package/dist/{reveal-67RDQRIN.js.map → reveal-4BCKPEC2.js.map} +0 -0
  610. /package/dist/{stale-DDL7WQEZ.js.map → revoke-ZL62WC2D.js.map} +0 -0
  611. /package/dist/{seed-G42JYN56.js.map → seed-4JS2RJ4A.js.map} +0 -0
  612. /package/dist/{storage-FLR73HHF.js.map → signer-MBZZMXTC.js.map} +0 -0
  613. /package/dist/{walk-3UQBRMDV.js.map → stale-TJ3DYZMQ.js.map} +0 -0
  614. /package/dist/{withdraw-accessible-EL5GXZBS.js.map → storage-SVMKRGCW.js.map} +0 -0
  615. /package/dist/{store-coordination-provider-MEQ2MJQG.js.map → store-coordination-provider-2O2VUHKW.js.map} +0 -0
  616. /package/dist/{verify-KOV2G5D6.js.map → verify-RVT67IMH.js.map} +0 -0
@@ -37,7 +37,8 @@
37
37
  * │ ├─ IndexWriteFailureError — index side-car put/delete failed post-main
38
38
  * │ ├─ UniqueConstraintError — duplicate value on unique index
39
39
  * │ ├─ UnsupportedIndexOptionError — unique+lazy or unique+crdt at registration
40
- * │ └─ FieldNotQueryableError — field's Via posture is queryable: 'none'
40
+ * │ ├─ FieldNotQueryableError — field's Via posture is queryable: 'none'
41
+ * │ └─ CollectionNotHydratedError — sync terminal used on a never-loaded collection
41
42
  * ├─ i18n / Dictionary errors
42
43
  * │ ├─ ReservedCollectionNameError
43
44
  * │ ├─ DictKeyMissingError
@@ -136,32 +137,74 @@ export declare class DecryptionError extends NoydbError {
136
137
  constructor(message?: string);
137
138
  }
138
139
  /**
139
- * Thrown when GCM tag verification fails, indicating the ciphertext was
140
- * modified after encryption.
141
- *
142
- * AES-256-GCM is authenticated encryption the tag over the ciphertext
143
- * is checked on every decrypt. If any byte was flipped (accidental
144
- * corruption or deliberate tampering), decryption throws this error.
145
- * Treat it as a security alert: the stored bytes are not what NOYDB wrote.
146
- */
140
+ * **Means exactly: "AEAD failed under this key."** Nothing more (lanna-db #4,
141
+ * 2026-09-03). AES-256-GCM authenticates the ciphertext on every decrypt; if
142
+ * the tag does not verify under the DEK the caller supplied, the enclave
143
+ * throws this. Only the enclave throws it *for* an AEAD failure — everywhere
144
+ * else in hub that names this class is either passing one through or
145
+ * attaching evidence it holds (see {@link reason}).
146
+ *
147
+ * What it does NOT mean on its own: "someone modified the bytes". Four
148
+ * situations all present as an AEAD failure — the bytes were altered; the
149
+ * caller holds no key for this collection and a fabricated one was tried; the
150
+ * body is identity-bound to another vault; the body was sealed under a format
151
+ * this build does not read. The first is the security alert; the other three
152
+ * are evidence a caller can hold BEFORE decrypting, and when it does it says
153
+ * so in `reason`. **With `reason` absent, treat this as the alert it has
154
+ * always been.** Hub's own tier-fallback code (`with-shape/blobs`) branches
155
+ * on this class as "not ours at this tier — try the next", which is the
156
+ * correct reading of "did not open under this key".
157
+ *
158
+ * A key derived from a user credential (recovery code, password, share set)
159
+ * that fails to open a blob is a wrong KEY, and surfaces as
160
+ * {@link InvalidKeyError}, never this class — `wrapped-deks.ts` translates.
161
+ */
162
+ /** See {@link TamperedError.reason}. */
163
+ export type TamperedReason = 'unbound-legacy-format' | 'key-absent' | 'generation-mismatch' | 'foreign-stamp';
147
164
  export declare class TamperedError extends NoydbError {
148
165
  /**
149
- * Why the tag check failed, when the enclave could tell (#1103).
166
+ * Evidence the thrower held BEFORE decrypting, when it held any. Additive
167
+ * (#1103 pattern): the throw and the class are unchanged, so
168
+ * `catch (e) { if (e instanceof TamperedError) … }` keeps working; callers
169
+ * that want to tell a migration or a missing grant from a breach read this.
150
170
  *
151
- * `'unbound-legacy-format'` — the body opens under an EMPTY AAD, so it was
152
- * sealed before identity binding (#1041) and this is a format transition, not
153
- * an attack. Positive evidence, not a guess: producing a body that decrypts
154
- * under this DEK requires the DEK, which an untrusted store does not hold.
171
+ * - `'unbound-legacy-format'` — the body opens under an EMPTY AAD, so it was
172
+ * sealed before identity binding (#1041): a format transition, not an
173
+ * attack. Positive evidence: producing a body that decrypts under this DEK
174
+ * requires the DEK, which an untrusted store does not hold. (#1103)
175
+ * - `'key-absent'` — this keyring holds no DEK for a collection that already
176
+ * has records, and the DEK cannot be back-filled (wrapping needs the
177
+ * grantee's secret, which the vault never stores). Thrown by the DEK
178
+ * resolver instead of minting a key that would decrypt nothing and
179
+ * resurface as a bare AEAD failure — the #1288 misdiagnosis. Reserved
180
+ * collections (`_periods`, …) take this path; user collections throw
181
+ * `NoAccessError` (#1004/#1010).
182
+ * - `'generation-mismatch'` — reserved for "the artefact was sealed at a
183
+ * generation this reader cannot compute". **Not emitted by this build**:
184
+ * hub reads no generation stamp off any envelope — `NOYDB_ENVELOPE_GENERATION`
185
+ * is an exported constant, and the stamp a bundle carries is manifest data
186
+ * a reader never branches on (ADR 0003). The one generation fact hub can
187
+ * establish from the bytes — "opens under an empty AAD" — is already
188
+ * `'unbound-legacy-format'`. Absence of a stamp never reads as
189
+ * generation 1 (`docs/ENVELOPE-GENERATION.md`).
190
+ * - `'foreign-stamp'` — reserved for "this vault's DEK was asked to open a
191
+ * body identity-bound to ANOTHER vault". **Not emitted by this build**:
192
+ * nothing in hub can tell that apart from another vault's compartment
193
+ * merely being present, which in a multi-vault bundle is normal
194
+ * (klum `extractCrossVaultPartition`).
155
195
  *
156
- * Absent no benign explanation was found. Treat as the security alert this
157
- * error has always been.
196
+ * Both reserved values are declared so consumers can type against them; a
197
+ * build that starts emitting either will say so in its CHANGELOG.
158
198
  *
159
- * The field is additive and the throw is unchanged, so
160
- * `catch (e) { if (e instanceof TamperedError) … }` keeps working; callers
161
- * that want to tell a migration from a breach can now read this.
199
+ * Absent no evidence; the security alert.
200
+ *
201
+ * ⚠️ `reason` is hub's IN-PROCESS report and may be branched on. A
202
+ * generation or origin stamp read out of an untrusted manifest may NOT — it
203
+ * is store-supplied data, not evidence (klum ADR 0003). If you are holding
204
+ * a stamp and not this error, you are holding a claim.
162
205
  */
163
- readonly reason?: 'unbound-legacy-format';
164
- constructor(message?: string, reason?: 'unbound-legacy-format');
206
+ readonly reason?: TamperedReason;
207
+ constructor(message?: string, reason?: TamperedReason);
165
208
  }
166
209
  /**
167
210
  * Thrown when key unwrapping fails, typically because the secret is wrong
@@ -589,7 +632,36 @@ export declare class PeriodClosedError extends NoydbError {
589
632
  readonly periodName: string;
590
633
  readonly endDate: string;
591
634
  readonly recordTs: string;
592
- constructor(periodName: string, endDate: string, recordTs: string);
635
+ /**
636
+ * #1455 — the business-date field the guard compared, when the period
637
+ * declares one. Absent on the envelope-`_ts` (no `dateField`) path.
638
+ * Structured so a consumer can render the refusal without parsing
639
+ * `recordTs`'s composed `"incoming[cycle]=2026-06"` form.
640
+ */
641
+ readonly dateField: string | undefined;
642
+ /** #1455 — which side of the write tripped the seal. */
643
+ readonly side: 'existing' | 'incoming' | undefined;
644
+ constructor(periodName: string, endDate: string, recordTs: string, detail?: {
645
+ dateField?: string;
646
+ side?: 'existing' | 'incoming';
647
+ });
648
+ }
649
+ /**
650
+ * Thrown when the `_periods` hash chain does not verify on load (#1454): a
651
+ * period record's `priorPeriodHash` / `priorPeriodName` no longer resolve to
652
+ * the stored predecessor in its timeline — an interior close was rewritten or
653
+ * deleted under the engine. The write guard refuses to evaluate against a set
654
+ * it cannot trust, so every period-governed write fails with this until the
655
+ * store is repaired from a trusted copy.
656
+ *
657
+ * The chain cannot see a rewrite of the NEWEST record in a timeline (nothing
658
+ * hashes it yet); the public-API refusal in `vault.collection()` is what closes
659
+ * that path.
660
+ */
661
+ export declare class PeriodChainError extends NoydbError {
662
+ readonly periodName: string;
663
+ readonly partition: readonly (string | number)[] | undefined;
664
+ constructor(periodName: string, why: string, partition?: readonly (string | number)[]);
593
665
  }
594
666
  /**
595
667
  * Thrown when a `put()` or `delete()` is rejected by a guard's `check`
@@ -658,7 +730,7 @@ export declare class AmendmentForbiddenError extends NoydbError {
658
730
  * envelope ciphertext is still in the store, the keyring file is
659
731
  * still listed at `_keyring/*`, and anyone with direct store read
660
732
  * access can count keyrings without going through the hub. See
661
- * `https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/user-envelope.md` → "Directory visibility".
733
+ * `https://github.com/noy-db/docs/blob/main/content/docs/services/user-envelope.md` → "Directory visibility".
662
734
  */
663
735
  export declare class DirectoryDisabledError extends NoydbError {
664
736
  readonly vault: string;
@@ -933,6 +1005,22 @@ export declare class NotFoundError extends NoydbError {
933
1005
  export declare class ValidationError extends NoydbError {
934
1006
  constructor(message?: string);
935
1007
  }
1008
+ /**
1009
+ * Thrown when a `where(field, 'matches', …)` operand is refused (#1357).
1010
+ *
1011
+ * Three distinct refusals, all loud and all at the `where()` call site:
1012
+ * - the operand is neither a `RegExp` nor a LIKE string,
1013
+ * - the pattern trips the ReDoS budget (source length, group nesting,
1014
+ * quantifier count, or a quantified group that itself quantifies),
1015
+ * - the RegExp carries a `g`/`y` flag, which makes `test()` stateful
1016
+ * across records and would silently drop rows.
1017
+ *
1018
+ * Deliberately a REFUSAL, never a rewrite: a sanitiser that "fixes" a
1019
+ * user pattern changes which rows come back without saying so.
1020
+ */
1021
+ export declare class UnsafePatternError extends NoydbError {
1022
+ constructor(message: string);
1023
+ }
936
1024
  /**
937
1025
  * Thrown when a Standard Schema v1 validator rejects a record on
938
1026
  * `put()` (input validation) or on read (output validation). Carries
@@ -1011,7 +1099,41 @@ export declare class GroupCardinalityError extends NoydbError {
1011
1099
  readonly cardinality: number;
1012
1100
  /** The cap that was exceeded. */
1013
1101
  readonly maxGroups: number;
1014
- constructor(field: string, cardinality: number, maxGroups: number);
1102
+ constructor(field: string, cardinality: number, maxGroups: number,
1103
+ /**
1104
+ * Which surface refused (#1340). `'query'` — the eager `.groupBy()`, whose
1105
+ * ceiling is a fixed constant. `'scan'` — the streaming
1106
+ * `scan().groupBy(key, { maxGroups })`, whose ceiling is a DECLARED budget,
1107
+ * so its message names the option that raises it. The two differ only in
1108
+ * the advice; the code, the fields and the class are one.
1109
+ */
1110
+ surface?: 'query' | 'scan');
1111
+ }
1112
+ /**
1113
+ * Thrown by `.traverse()` / `ancestorsOf()` / `descendantsOf()` when a cycle
1114
+ * is reached AND the caller opted into `{ onCycle: 'throw' }` (#1352).
1115
+ *
1116
+ * The default is `'stop'` — the walk simply does not re-enter a node already
1117
+ * on the current path, which is what keeps a circular parent chain from
1118
+ * hanging the tab. `'throw'` exists for the other legitimate reading: a
1119
+ * self-referencing hierarchy that is SUPPOSED to be acyclic, where a cycle is
1120
+ * a data-integrity finding the consumer wants surfaced rather than silently
1121
+ * pruned.
1122
+ *
1123
+ * `cycle` is the offending walk closed back on itself — the path from the
1124
+ * seed to the node that would have been re-entered, with that node repeated
1125
+ * as the final element, so `cycle[0]` and `cycle.at(-1)` name the same
1126
+ * record only for a cycle that reaches all the way back to the seed.
1127
+ */
1128
+ export declare class TraversalCycleError extends NoydbError {
1129
+ /** The declared self-ref field being traversed. */
1130
+ readonly field: string;
1131
+ /** The path that closed on itself, with the re-entered id repeated last. */
1132
+ readonly cycle: readonly string[];
1133
+ constructor(opts: {
1134
+ field: string;
1135
+ cycle: readonly string[];
1136
+ });
1015
1137
  }
1016
1138
  /**
1017
1139
  * Thrown in lazy mode when a `.query()` / `.where()` / `.orderBy()` clause
@@ -1030,10 +1152,24 @@ export declare class IndexRequiredError extends NoydbError {
1030
1152
  readonly collection: string;
1031
1153
  readonly touchedFields: readonly string[];
1032
1154
  readonly missingFields: readonly string[];
1155
+ /**
1156
+ * Why the index could not serve the query, when it is NOT "a field is
1157
+ * unindexed" (#1407).
1158
+ *
1159
+ * ⚠️ The default message names missing fields, and that sentence is FALSE
1160
+ * for a refusal on an indexed field — a `where(f,'==',null)` in lazy mode is
1161
+ * refused because the persisted index never holds nullish values, not
1162
+ * because `f` lacks an index. Telling that caller to "declare an index on
1163
+ * each field" sends them to fix something that is already correct, which is
1164
+ * the same defect #1430 fixed in `WeakSecretError`: advice describing rules
1165
+ * that do not apply here.
1166
+ */
1167
+ readonly reason: string | undefined;
1033
1168
  constructor(args: {
1034
1169
  collection: string;
1035
1170
  touchedFields: readonly string[];
1036
1171
  missingFields: readonly string[];
1172
+ reason?: string;
1037
1173
  });
1038
1174
  }
1039
1175
  /**
@@ -1062,16 +1198,17 @@ export declare class UniqueConstraintError extends NoydbError {
1062
1198
  * Thrown at collection registration when an index option is declared that
1063
1199
  * is incompatible with the collection's operating mode.
1064
1200
  *
1065
- * Currently covers two cases:
1066
- * - `unique: true` on a lazy-mode (`prefetch: false`) collection lazy mode
1067
- * does not pre-load all records, so an in-memory uniqueness map cannot be
1068
- * maintained reliably.
1069
- * - `unique: true` on a CRDT collection (`crdt: 'lww-map' | 'rga' | 'yjs'`) —
1070
- * CRDT put() short-circuits the unique-constraint check, so enforcement would
1071
- * silently not fire.
1072
- *
1073
- * Both cases are caught eagerly at `vault.collection()` time so the developer
1074
- * sees the incompatibility immediately rather than shipping silently-ignored
1201
+ * ⚠️ **Nothing throws this today (#1358).** It used to cover three cases
1202
+ * `unique: true` on a lazy-mode (`prefetch: false`), CRDT, or tiered
1203
+ * collection because those write paths bypassed enforcement. Lazy and
1204
+ * tiered now enforce for real, and CRDT reports detected duplicates on the
1205
+ * `unique:violation` event instead of refusing the declaration (see
1206
+ * `with-lookup/indexing/unique-constraints.ts`). The class is retained: it is
1207
+ * part of the published surface, and it is the right shape for the next index
1208
+ * option that a mode genuinely cannot honour.
1209
+ *
1210
+ * Any future case belongs at `vault.collection()` time so the developer sees
1211
+ * the incompatibility immediately rather than shipping silently-ignored
1075
1212
  * constraints.
1076
1213
  *
1077
1214
  * The `option` field names the incompatible option (`'unique'`) so catch blocks
@@ -1138,10 +1275,58 @@ export declare class PersistedIndexCompensationError extends NoydbError {
1138
1275
  * Payload:
1139
1276
  * - `field` — the refused field name
1140
1277
  */
1278
+ /**
1279
+ * #1458 — a query-tier extension method was called without its subpath.
1280
+ *
1281
+ * The DSL ships in four groups. `@noy-db/hub/query` carries **Find** and is
1282
+ * always present; **Live**, **Reduce** and **Relate** arrive by side-effect
1283
+ * import (`import '@noy-db/hub/query/relate'`), which patches the missing
1284
+ * methods onto `Query.prototype` and — through the `declare module` block
1285
+ * that ships with each subpath — onto the `Query` TYPE.
1286
+ *
1287
+ * ⭐ **The compile error is the primary signal; this is the backstop.** With
1288
+ * the types wired that way, calling `.join()` without the import does not
1289
+ * typecheck, which is where a TypeScript consumer meets the problem. This
1290
+ * error is what a JavaScript consumer, or a call that reached the method
1291
+ * through a cast, gets instead of `TypeError: q.join is not a function` —
1292
+ * a message that names neither what is missing nor how to get it.
1293
+ *
1294
+ * ⚠️ It is deliberately NOT a lazy loader. Fetching the chunk here would
1295
+ * defer the cost rather than remove it, and a first `.join()` offline would
1296
+ * fail on a network fetch — the opposite of what an offline-first store
1297
+ * promises. The one line of import is the price of the byte saving.
1298
+ */
1299
+ export declare class QueryExtensionMissingError extends NoydbError {
1300
+ /** The method that was called, e.g. `'join'`. */
1301
+ readonly method: string;
1302
+ /** The subpath whose import supplies it, e.g. `'@noy-db/hub/query/relate'`. */
1303
+ readonly subpath: string;
1304
+ constructor(method: string, subpath: string);
1305
+ }
1141
1306
  export declare class FieldNotQueryableError extends NoydbError {
1142
1307
  readonly field: string;
1143
1308
  constructor(field: string);
1144
1309
  }
1310
+ /**
1311
+ * #1414 — thrown when a synchronous query terminal is USED on a collection
1312
+ * that has never been loaded. The collection's eager cache is empty because
1313
+ * nothing has read it yet, not because the collection is empty: those are
1314
+ * different facts, and only one of them is safe to act on.
1315
+ *
1316
+ * The terminal itself does not throw — it returns a pending result so that the
1317
+ * AWAITED form (`await collection.query().toArray()`, which is what every
1318
+ * async guard `check` does) transparently hydrates and answers correctly. The
1319
+ * error is raised the moment that value is used synchronously: indexed,
1320
+ * iterated, compared, coerced, or read for a property.
1321
+ *
1322
+ * Fix a caller by awaiting the terminal, or by `await collection.list()` /
1323
+ * `await collection.get(id)` before the synchronous read.
1324
+ */
1325
+ export declare class CollectionNotHydratedError extends NoydbError {
1326
+ readonly collection: string;
1327
+ readonly terminal: string;
1328
+ constructor(collection: string, terminal: string, label?: string);
1329
+ }
1145
1330
  /**
1146
1331
  * Thrown by `readPod()` when the body bytes don't match
1147
1332
  * the integrity hash declared in the bundle header — i.e. someone
@@ -1677,12 +1862,18 @@ export declare class JoinTooLargeError extends NoydbError {
1677
1862
  readonly leftRows: number;
1678
1863
  readonly rightRows: number;
1679
1864
  readonly maxRows: number;
1680
- readonly side: 'left' | 'right';
1865
+ /**
1866
+ * Which count tripped the ceiling. `'output'` is #1339's addition: a
1867
+ * declared non-equi `.joinOn()` is many-to-many, so it can exceed the
1868
+ * ceiling with both SIDES comfortably under it — the produced row count is
1869
+ * the only thing standing between a theta join and a hang.
1870
+ */
1871
+ readonly side: 'left' | 'right' | 'output';
1681
1872
  constructor(opts: {
1682
1873
  leftRows: number;
1683
1874
  rightRows: number;
1684
1875
  maxRows: number;
1685
- side: 'left' | 'right';
1876
+ side: 'left' | 'right' | 'output';
1686
1877
  message: string;
1687
1878
  });
1688
1879
  }
@@ -0,0 +1,48 @@
1
+ /**
2
+ * A `Map` that stamps every mutation with a globally unique, monotonic tick
3
+ * (#1417).
4
+ *
5
+ * The eager collection cache is written at ELEVEN sites — `put`, `delete`,
6
+ * hydration, sync cut-over, the lookup write-through, and more. Anything that
7
+ * memoizes a derived view of that cache (a sorted keyset page order; a
8
+ * decorated row set) needs to know when the cache moved, and hand-bumping a
9
+ * counter at eleven call sites is a stale-read waiting to happen: miss one and
10
+ * a reader serves rows from before a write, which is strictly worse than the
11
+ * cost the memo was there to avoid.
12
+ *
13
+ * ⛔ So the counter lives in the container, not at the call sites. Every
14
+ * mutation route into a `Map` is `set` / `delete` / `clear`; overriding those
15
+ * three makes the invariant STRUCTURAL — a new write site cannot forget,
16
+ * because there is nothing for it to remember.
17
+ *
18
+ * ⭐ THE TICK IS GLOBAL, NOT PER-INSTANCE, and that is load-bearing. A memo
19
+ * keyed on `<vault>/<collection>` + a per-instance count collides across two
20
+ * collections that share a name — a second vault, a torn-down and rebuilt
21
+ * instance, a test suite reusing `V/rows` — because both count from zero. A
22
+ * process-wide tick makes every stamp unique, so identity + generation is a
23
+ * sound memo key without the memo having to know about instance lifetimes.
24
+ * (Measured, by a test that reused a collection name and got another
25
+ * collection's page order back.)
26
+ *
27
+ * `set` bumps even when the value is identical: a redundant invalidation costs
28
+ * one recompute, a missed one costs correctness.
29
+ *
30
+ * @module
31
+ */
32
+ export declare class GenerationMap<K, V> extends Map<K, V> {
33
+ /**
34
+ * ⚠️ NOT a `#private` field, and not readonly-initialised, deliberately.
35
+ * `Map`'s constructor calls `this.set()` for each entry of an iterable
36
+ * argument — which runs BEFORE this class's fields are installed. A
37
+ * `#private` field throws `TypeError` on touch at that point; a declared
38
+ * property is merely `undefined`, and assigning to it is safe. The
39
+ * initializer below then runs and resets it to 0, which is the correct
40
+ * resting state for a freshly built map.
41
+ */
42
+ private gen;
43
+ /** Mutation stamp. Equal across two reads means nothing changed between them. */
44
+ get generation(): number;
45
+ set(key: K, value: V): this;
46
+ delete(key: K): boolean;
47
+ clear(): void;
48
+ }
@@ -1,17 +1,45 @@
1
1
  import type { NoydbStore } from './types.js';
2
+ /** Options for {@link memoryStore}. */
3
+ export interface MemoryStoreOptions {
4
+ /**
5
+ * Implement the OPTIONAL half of the store contract — `listVaults`,
6
+ * `ping`, `tx` — and declare `txAtomic`. Off by default: see the note on
7
+ * {@link memoryStore} for why the zero-config store must stay a bare core.
8
+ *
9
+ * Also switches the store clock to monotonic wall-clock milliseconds,
10
+ * which is what makes {@link MemoryStoreOptions.clockUncertaintyMs} an
11
+ * honest unit.
12
+ */
13
+ readonly full?: boolean;
14
+ /**
15
+ * Widen the interval `getStoreTime()` returns by ±this many milliseconds,
16
+ * to exercise the commit-wait path in deferred numbering. Default 0 (exact).
17
+ *
18
+ * Requires `full: true` — against the default's counter clock a millisecond
19
+ * epsilon is meaningless, so passing it alone is rejected rather than
20
+ * silently ignored.
21
+ */
22
+ readonly clockUncertaintyMs?: number;
23
+ }
2
24
  /**
3
25
  * Built-in in-memory store — the kernel's zero-config default.
4
26
  *
5
27
  * Nested `Map`s: `vault → collection → id → envelope`. Non-persistent
6
- * (data is lost on process exit). A conformant 6-method {@link NoydbStore}
7
- * with CAS atomicity and a monotonic store clock the kernel version of
8
- * `@noy-db/to-memory`'s core, so `createNoydb()` works with no store package.
28
+ * (data is lost on process exit). A conformant {@link NoydbStore} with CAS
29
+ * atomicity and a monotonic store clock, so `createNoydb()` works with no
30
+ * store package at all.
9
31
  *
10
32
  * Portable: imports only `types` + `errors` (no crypto primitive) — passes
11
33
  * the `stores-ciphertext-only` architecture guard.
12
34
  *
13
- * Implements the 6-method core only (no optional `listVaults`/`ping`/`tx`),
14
- * so `Noydb.listAccessibleVaults()` throws its documented capability error
15
- * rather than enumerating vaults under the default store.
35
+ * ## Why the default is a bare 6-method core
36
+ *
37
+ * Called with no options it implements the 6-method core ONLY, so
38
+ * `Noydb.listAccessibleVaults()` throws its documented capability error
39
+ * rather than enumerating vaults under a store the caller never chose. That
40
+ * omission is a decision, not a gap — do not "complete" it. `full: true` is
41
+ * how a caller opts into the optional half, and
42
+ * `__tests__/memory-store-full.test.ts` guards the default against exactly
43
+ * that well-meaning change.
16
44
  */
17
- export declare function memoryStore(): NoydbStore;
45
+ export declare function memoryStore(options?: MemoryStoreOptions): NoydbStore;
@@ -620,6 +620,11 @@ export declare class Noydb {
620
620
  enableTabCoordination(opts?: TabCoordinationOptions): {
621
621
  dispose: () => void;
622
622
  };
623
+ /** @internal #1362 — `ChangeBroadcastHost`: re-read one broadcast address through THIS
624
+ * instance's own keyring. No-op for a vault this instance has not opened. */
625
+ _applyRemoteSignal(vaultName: string, collectionName: string, id: string): Promise<void>;
626
+ /** @internal #1362 — `ChangeBroadcastHost`: store backend name, for the default channel name. */
627
+ get _storeName(): string | undefined;
623
628
  private disableTabCoordination;
624
629
  get tabRole(): TabRole;
625
630
  activeTabs(): TabPresence[];
@@ -713,7 +718,7 @@ export declare class Noydb {
713
718
  * keyring file at `_keyring/<userId>` and the envelope ciphertext at
714
719
  * `_users/<keyringId>` remain observable to anyone with direct store
715
720
  * read access — only the hub-level enumeration is gated. See
716
- * `https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/user-envelope.md` → "Directory visibility".
721
+ * `https://github.com/noy-db/docs/blob/main/content/docs/services/user-envelope.md` → "Directory visibility".
717
722
  */
718
723
  setDirectoryEnabled(vault: string, enabled: boolean): Promise<void>;
719
724
  /**
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Per-record memo for the Via `present()` pass (#1419).
3
+ *
4
+ * `list()` and `get()` run the full presentation pipeline — money decode plus
5
+ * its `<field>Formatted`/`<field>Number` siblings, i18n resolution, dictKey
6
+ * labels, `computed({ mode: 'virtual' })` projection — on every call. Nothing
7
+ * is decrypted the second time, so a warm `list()` of 10k rows was pure
8
+ * re-decoration: measured 294 ms (28.5 us/row) against a 5.5 ms full predicate
9
+ * scan of the same snapshot. `list()` is the read most consumers reach for (a
10
+ * store mirror re-listing after each write, an export, a guard doing
11
+ * list-and-filter), so each of them paid the whole collection per call.
12
+ *
13
+ * ## Why a WeakMap on the record, and not a generation stamp
14
+ *
15
+ * Presentation is a pure function of (record, locale, fallback, layer). Keying
16
+ * on the RECORD OBJECT means an unrelated write does not throw away the other
17
+ * 9,999 rows' decorations — which is exactly the reported workload, where a
18
+ * mirror re-lists after every single put. A generation stamp (#1417's keyset
19
+ * memo) is the right tool for a whole-collection derivative like a sort order;
20
+ * it is the wrong one here, because it would invalidate everything on any
21
+ * write and leave the reported case paying full price.
22
+ *
23
+ * Invalidation is then structural rather than maintained: `put` writes a FRESH
24
+ * record object into the cache, so the previous object — and its entry here —
25
+ * becomes unreachable and is collected. There is no stale window and nothing
26
+ * to remember to clear.
27
+ *
28
+ * ⚠️ THE ASSUMPTION, STATED SO IT CAN BE CHECKED: a record object in the
29
+ * collection cache is never mutated in place. This memo is exactly as sound as
30
+ * that assumption — and no less sound than what already ships, because
31
+ * `query().toArray()` hands out those same cache objects directly, so an
32
+ * in-place mutation is already a defect that would corrupt query results
33
+ * before it corrupted anything here. If in-place mutation is ever introduced,
34
+ * it breaks the query path first and this second.
35
+ *
36
+ * ⭐ Entries hold a PROMISE, not a value, so two concurrent reads of the same
37
+ * row at the same locale share one presentation pass instead of racing to do
38
+ * it twice.
39
+ *
40
+ * @module
41
+ */
42
+ /**
43
+ * A key that is equal only when the presentation provably is.
44
+ *
45
+ * `fallback` is a locale code or an ordered chain, so it is joined rather than
46
+ * stringified — `['th','any']` and `'th,any'` are different requests and must
47
+ * not share an entry. A space separates the parts, because no locale code,
48
+ * layer name or fallback chain contains one.
49
+ */
50
+ export declare function presentVariantKey(locale: string | undefined, layer: string, fallback: string | readonly string[] | undefined): string;
51
+ /**
52
+ * Return the memoized presentation of `record` for `variant`, computing it
53
+ * once via `compute`.
54
+ *
55
+ * A rejected `compute` is NOT retained: a transient failure must not become a
56
+ * permanent one for the life of the record.
57
+ */
58
+ export declare function memoizePresent<T>(record: object, variant: string, compute: () => Promise<T>): Promise<T>;
@@ -0,0 +1,7 @@
1
+ import { Query as FindQuery, executePlan as findExecutePlan } from './builder.js';
2
+ import { ScanBuilder as FindScanBuilder } from './scan-builder.js';
3
+ export declare const Query: typeof FindQuery;
4
+ export declare const ScanBuilder: typeof FindScanBuilder;
5
+ export declare const executePlan: typeof findExecutePlan;
6
+ export type Query<T, S extends keyof T = never, Q extends keyof T & string = never, M extends keyof T & string = never> = FindQuery<T, S, Q, M>;
7
+ export type ScanBuilder<T, S extends keyof T = never, M extends keyof T & string = never> = FindScanBuilder<T, S, M>;