@noy-db/hub 0.7.1-pre.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 (610) hide show
  1. package/CHANGELOG.md +97 -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-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-XKCXVKV3.js → backup-7TFRVFLH.js} +12 -12
  11. package/dist/blobs/index.js +13 -13
  12. package/dist/broker/index.js +12 -12
  13. package/dist/by/index.js +2 -2
  14. package/dist/cargo/index.js +39 -36
  15. package/dist/{chunk-7O3Y4PPD.js → chunk-244VXYPG.js} +140 -16
  16. package/dist/chunk-244VXYPG.js.map +1 -0
  17. package/dist/{chunk-BUE2D7PX.js → chunk-32YV3TJT.js} +2 -2
  18. package/dist/{chunk-3PGS7TYR.js → chunk-3ELRMVJK.js} +12 -12
  19. package/dist/{chunk-OTQZ7ZWU.js → chunk-3F7GLNAE.js} +6 -6
  20. package/dist/{chunk-SGZAIJCV.js → chunk-3H5KLDZN.js} +4 -4
  21. package/dist/{chunk-VTFVLCUH.js → chunk-3JWHAR6E.js} +2 -2
  22. package/dist/{chunk-YMUFFJCO.js → chunk-3TDUWVWB.js} +5 -2
  23. package/dist/chunk-3TDUWVWB.js.map +1 -0
  24. package/dist/{chunk-JBDFMYKQ.js → chunk-4AF3TUMP.js} +2 -2
  25. package/dist/{chunk-ZORTV6NH.js → chunk-4I522ERM.js} +88 -4
  26. package/dist/chunk-4I522ERM.js.map +1 -0
  27. package/dist/{chunk-A66I4JOA.js → chunk-4MXI3ODD.js} +4 -4
  28. package/dist/chunk-4MXI3ODD.js.map +1 -0
  29. package/dist/{chunk-BLN54W3L.js → chunk-5FDLC6G7.js} +56 -3
  30. package/dist/chunk-5FDLC6G7.js.map +1 -0
  31. package/dist/chunk-5O7D6ZTW.js +53 -0
  32. package/dist/chunk-5O7D6ZTW.js.map +1 -0
  33. package/dist/{chunk-DFMWUOU5.js → chunk-6B3VNR4P.js} +12 -12
  34. package/dist/{chunk-TUFM4UZP.js → chunk-6K7DPM7D.js} +2 -2
  35. package/dist/{chunk-3VF3WQ4F.js → chunk-6LMQ5R26.js} +7 -7
  36. package/dist/{chunk-UP4BECPY.js → chunk-6LNL42F5.js} +94 -32
  37. package/dist/chunk-6LNL42F5.js.map +1 -0
  38. package/dist/{chunk-XLMEZIAJ.js → chunk-6OWXYZK2.js} +2 -2
  39. package/dist/{chunk-BRLKZUBT.js → chunk-6QSQQLSE.js} +3 -3
  40. package/dist/chunk-7JE7BDYJ.js +1558 -0
  41. package/dist/chunk-7JE7BDYJ.js.map +1 -0
  42. package/dist/{chunk-XKWGNJ26.js → chunk-7VCXZDA4.js} +5 -5
  43. package/dist/chunk-7VCXZDA4.js.map +1 -0
  44. package/dist/{chunk-NQKIUNW5.js → chunk-A6IJU4TK.js} +2 -2
  45. package/dist/{chunk-HIWCKBEY.js → chunk-ANWPSTZU.js} +38 -9
  46. package/dist/chunk-ANWPSTZU.js.map +1 -0
  47. package/dist/{chunk-QIZPZMUI.js → chunk-AOWGXU6D.js} +2 -2
  48. package/dist/{chunk-CUZLNGD5.js → chunk-B2YY6WDD.js} +1 -1
  49. package/dist/chunk-B2YY6WDD.js.map +1 -0
  50. package/dist/{chunk-SFAWCTEM.js → chunk-B57AFBY2.js} +2 -2
  51. package/dist/{chunk-UHHPLO3I.js → chunk-B6SJIBQK.js} +4 -4
  52. package/dist/chunk-BJ2IXQ5Q.js +100 -0
  53. package/dist/chunk-BJ2IXQ5Q.js.map +1 -0
  54. package/dist/{chunk-Q2PU57HC.js → chunk-BK2HHQGN.js} +2 -2
  55. package/dist/chunk-BKT776R5.js +1 -0
  56. package/dist/{chunk-FET5XCAT.js → chunk-BP6DARYA.js} +33 -5
  57. package/dist/chunk-BP6DARYA.js.map +1 -0
  58. package/dist/{chunk-YJX7EOJD.js → chunk-BUDAGWL5.js} +6 -6
  59. package/dist/chunk-CF5UU4S7.js +757 -0
  60. package/dist/chunk-CF5UU4S7.js.map +1 -0
  61. package/dist/{chunk-QPQUVOZ2.js → chunk-CKNGS5MH.js} +3 -3
  62. package/dist/chunk-CY2CYVWZ.js +41 -0
  63. package/dist/chunk-CY2CYVWZ.js.map +1 -0
  64. package/dist/{chunk-2577DKXB.js → chunk-DC5QVPV7.js} +2 -2
  65. package/dist/chunk-DC5QVPV7.js.map +1 -0
  66. package/dist/{chunk-BTDR2PXY.js → chunk-DE4DH2RZ.js} +2 -2
  67. package/dist/{chunk-Q2MPFCQ7.js → chunk-DF73H4UN.js} +4 -4
  68. package/dist/{chunk-4GVM6QZA.js → chunk-ENAG3IY7.js} +2 -2
  69. package/dist/chunk-ENAG3IY7.js.map +1 -0
  70. package/dist/{chunk-6LKOJBV6.js → chunk-EOVMT6TB.js} +2 -2
  71. package/dist/chunk-F24ZZTHQ.js +193 -0
  72. package/dist/chunk-F24ZZTHQ.js.map +1 -0
  73. package/dist/chunk-F2TDU7MQ.js +456 -0
  74. package/dist/chunk-F2TDU7MQ.js.map +1 -0
  75. package/dist/chunk-F6NCB7KT.js +13 -0
  76. package/dist/chunk-F6NCB7KT.js.map +1 -0
  77. package/dist/{chunk-SPYWXKJN.js → chunk-F7XGHL5O.js} +3 -3
  78. package/dist/chunk-F7XGHL5O.js.map +1 -0
  79. package/dist/{chunk-R42NSZI6.js → chunk-FCKWQE2H.js} +5 -5
  80. package/dist/{chunk-R7BX2NB3.js → chunk-FH2L2E34.js} +4 -4
  81. package/dist/chunk-FH2L2E34.js.map +1 -0
  82. package/dist/{chunk-4OZNXTO4.js → chunk-FN5EBVTQ.js} +2 -2
  83. package/dist/chunk-FQ54DWUQ.js +270 -0
  84. package/dist/chunk-FQ54DWUQ.js.map +1 -0
  85. package/dist/{chunk-P3MG6QCN.js → chunk-FQ5VRHIB.js} +4 -4
  86. package/dist/{chunk-FAHMLERK.js → chunk-FW22ZCXT.js} +2 -2
  87. package/dist/chunk-FXQBGFOX.js +524 -0
  88. package/dist/chunk-FXQBGFOX.js.map +1 -0
  89. package/dist/{chunk-7APJ6CO6.js → chunk-GF5BZ7D4.js} +45 -9
  90. package/dist/chunk-GF5BZ7D4.js.map +1 -0
  91. package/dist/{chunk-TRGTKX5E.js → chunk-GHLTDZRS.js} +5 -3
  92. package/dist/{chunk-TRGTKX5E.js.map → chunk-GHLTDZRS.js.map} +1 -1
  93. package/dist/{chunk-BVN6KXL2.js → chunk-HBPPGWUM.js} +5 -5
  94. package/dist/chunk-HBPPGWUM.js.map +1 -0
  95. package/dist/{chunk-KTFRCC5C.js → chunk-HBRLNOHL.js} +82 -8
  96. package/dist/chunk-HBRLNOHL.js.map +1 -0
  97. package/dist/chunk-HLEK5VAN.js +275 -0
  98. package/dist/chunk-HLEK5VAN.js.map +1 -0
  99. package/dist/{chunk-RMS3NEA3.js → chunk-HT2AHGQI.js} +2 -2
  100. package/dist/{chunk-2N5ML6HT.js → chunk-HVSCEIYL.js} +7 -7
  101. package/dist/{chunk-LH5A3ZPG.js → chunk-I3JDRCMW.js} +150 -22
  102. package/dist/chunk-I3JDRCMW.js.map +1 -0
  103. package/dist/{chunk-GY4WYNNG.js → chunk-ID6Z6E66.js} +2 -2
  104. package/dist/{chunk-YJRT5UQM.js → chunk-IEX7NK2K.js} +3 -3
  105. package/dist/{chunk-334WSVOW.js → chunk-ISZQJBML.js} +5 -5
  106. package/dist/{chunk-LWBCUYZW.js → chunk-IT22PWKV.js} +2 -2
  107. package/dist/{chunk-EQEYOJBM.js → chunk-IUWCVHQ7.js} +3 -3
  108. package/dist/chunk-IUWCVHQ7.js.map +1 -0
  109. package/dist/{chunk-RF6D3Y5E.js → chunk-J6UOHJY5.js} +4 -4
  110. package/dist/{chunk-JMGDHKQF.js → chunk-JCN44NCY.js} +2 -2
  111. package/dist/{chunk-3BZZJJMQ.js → chunk-K6W7BVZ6.js} +3 -3
  112. package/dist/{chunk-4ZS56W5S.js → chunk-KJFW62P4.js} +29 -11
  113. package/dist/chunk-KJFW62P4.js.map +1 -0
  114. package/dist/{chunk-453F654R.js → chunk-L7DOS3TE.js} +2 -2
  115. package/dist/chunk-LGNDFRYC.js +23 -0
  116. package/dist/chunk-LGNDFRYC.js.map +1 -0
  117. package/dist/{chunk-QTQUH4DS.js → chunk-LGRLME4M.js} +7 -7
  118. package/dist/{chunk-CHQCZZWC.js → chunk-LQ4ZHOKP.js} +2 -2
  119. package/dist/{chunk-GPNTB4Y7.js → chunk-M522UYZ2.js} +5 -5
  120. package/dist/{chunk-3V4KWFX7.js → chunk-M7NI3IWE.js} +45 -12
  121. package/dist/chunk-M7NI3IWE.js.map +1 -0
  122. package/dist/chunk-MDWKM2XC.js +293 -0
  123. package/dist/chunk-MDWKM2XC.js.map +1 -0
  124. package/dist/chunk-MKXXMNJH.js +204 -0
  125. package/dist/chunk-MKXXMNJH.js.map +1 -0
  126. package/dist/{chunk-SKGMN35F.js → chunk-MLPHLJIQ.js} +3 -3
  127. package/dist/chunk-MLPHLJIQ.js.map +1 -0
  128. package/dist/{chunk-UDHWDSRL.js → chunk-MTL7MXGR.js} +6 -6
  129. package/dist/{chunk-TFR7DSOV.js → chunk-MVZ2TPVP.js} +2 -2
  130. package/dist/{chunk-K23VKTN4.js → chunk-N5DNADLQ.js} +7 -7
  131. package/dist/{chunk-RSGLUIO6.js → chunk-NNARWO72.js} +6 -6
  132. package/dist/{chunk-2ENE6445.js → chunk-NRT6QZQB.js} +102 -16
  133. package/dist/chunk-NRT6QZQB.js.map +1 -0
  134. package/dist/{chunk-PPTHY5QO.js → chunk-NWHBJQAL.js} +99 -8
  135. package/dist/chunk-NWHBJQAL.js.map +1 -0
  136. package/dist/chunk-NYMLINRP.js +28 -0
  137. package/dist/chunk-NYMLINRP.js.map +1 -0
  138. package/dist/{chunk-7MG7SJT7.js → chunk-ODVPTDPK.js} +1 -1
  139. package/dist/chunk-ODVPTDPK.js.map +1 -0
  140. package/dist/chunk-ORDURZBU.js +461 -0
  141. package/dist/chunk-ORDURZBU.js.map +1 -0
  142. package/dist/{chunk-6YXCPL4T.js → chunk-PDCG6PR5.js} +2 -2
  143. package/dist/{chunk-ACAQ2DSG.js → chunk-PSIV7CJV.js} +2 -2
  144. package/dist/{chunk-KKEESNPE.js → chunk-QBBUZ3I3.js} +126 -19
  145. package/dist/chunk-QBBUZ3I3.js.map +1 -0
  146. package/dist/{chunk-5VCRVKOZ.js → chunk-QOOUUR4A.js} +6 -4
  147. package/dist/{chunk-5VCRVKOZ.js.map → chunk-QOOUUR4A.js.map} +1 -1
  148. package/dist/{chunk-G73UVHCA.js → chunk-QWFHIOD2.js} +5 -5
  149. package/dist/{chunk-AYX7AINO.js → chunk-QWGU66MP.js} +3 -3
  150. package/dist/chunk-RHVMZSUU.js +7 -0
  151. package/dist/chunk-RHVMZSUU.js.map +1 -0
  152. package/dist/{chunk-3BVH633C.js → chunk-S57HTZ6X.js} +5 -5
  153. package/dist/{chunk-SZJ3DLZA.js → chunk-SEE332EV.js} +2 -2
  154. package/dist/{chunk-YYP7WSEB.js → chunk-SI3V7D4G.js} +2 -2
  155. package/dist/{chunk-UGTBXF5U.js → chunk-SOIQ4MM4.js} +3 -3
  156. package/dist/chunk-SUZKW6UR.js +25 -0
  157. package/dist/chunk-SUZKW6UR.js.map +1 -0
  158. package/dist/{chunk-4GFX6MPA.js → chunk-SYVZW77S.js} +6 -6
  159. package/dist/{chunk-ZYIYHJ5R.js → chunk-T2LBQ5DV.js} +815 -222
  160. package/dist/chunk-T2LBQ5DV.js.map +1 -0
  161. package/dist/chunk-T52GX4SA.js +215 -0
  162. package/dist/chunk-T52GX4SA.js.map +1 -0
  163. package/dist/{chunk-MVMXZYXT.js → chunk-TKUOEU2F.js} +2 -2
  164. package/dist/chunk-TOPYQ6GA.js +31 -0
  165. package/dist/chunk-TOPYQ6GA.js.map +1 -0
  166. package/dist/{chunk-SMH6SRX7.js → chunk-TROR3ALR.js} +2 -2
  167. package/dist/{chunk-CUQPWYRX.js → chunk-UD5EVGZ7.js} +42 -389
  168. package/dist/chunk-UD5EVGZ7.js.map +1 -0
  169. package/dist/{chunk-M4YPHYEH.js → chunk-UPD5NWI5.js} +65 -17
  170. package/dist/chunk-UPD5NWI5.js.map +1 -0
  171. package/dist/{chunk-HPVZCW43.js → chunk-UYB234ZR.js} +2 -2
  172. package/dist/chunk-VHM7HCKB.js +220 -0
  173. package/dist/chunk-VHM7HCKB.js.map +1 -0
  174. package/dist/{chunk-DGOZ4UZD.js → chunk-VNNRUGMM.js} +2 -2
  175. package/dist/{chunk-F3W6YMDC.js → chunk-VNPEWFPD.js} +4 -4
  176. package/dist/{chunk-JVIBCBC7.js → chunk-WNJ4AVGE.js} +2 -2
  177. package/dist/{chunk-ZHKOPKE3.js → chunk-WX5ADGTZ.js} +3 -3
  178. package/dist/{chunk-VXANTWBJ.js → chunk-WY2XXTET.js} +92 -6
  179. package/dist/{chunk-VXANTWBJ.js.map → chunk-WY2XXTET.js.map} +1 -1
  180. package/dist/{chunk-HJUWN7JN.js → chunk-X25NWUZB.js} +33 -8
  181. package/dist/chunk-X25NWUZB.js.map +1 -0
  182. package/dist/{chunk-Q7HZX3IF.js → chunk-X4773RBR.js} +2 -2
  183. package/dist/chunk-XBKH4FOC.js +195 -0
  184. package/dist/chunk-XBKH4FOC.js.map +1 -0
  185. package/dist/{chunk-A2HKRLPV.js → chunk-YNIUIERI.js} +3 -3
  186. package/dist/chunk-YSK2CU2Q.js +936 -0
  187. package/dist/chunk-YSK2CU2Q.js.map +1 -0
  188. package/dist/{chunk-UXVWEX5L.js → chunk-Z5HTYMMQ.js} +6 -2
  189. package/dist/chunk-Z5HTYMMQ.js.map +1 -0
  190. package/dist/{chunk-WQBG4SZS.js → chunk-ZE4CHIED.js} +56 -34
  191. package/dist/chunk-ZE4CHIED.js.map +1 -0
  192. package/dist/chunk-ZSX4S5XB.js +1289 -0
  193. package/dist/chunk-ZSX4S5XB.js.map +1 -0
  194. package/dist/{chunk-BZ3534YM.js → chunk-ZUVBC32X.js} +2 -2
  195. package/dist/{chunk-V7ZRRCRJ.js → chunk-ZXABPVM6.js} +6 -6
  196. package/dist/classified/index.js +5 -5
  197. package/dist/{classified-marker-BWOFVYAC.js → classified-marker-W3USLL5M.js} +3 -3
  198. package/dist/collection-facade-QU6IJBN3.js +48 -0
  199. package/dist/{computed-VPOKQK4N.js → computed-TPFBX7U4.js} +3 -3
  200. package/dist/consent/index.js +9 -9
  201. package/dist/cover/index.js +10 -10
  202. package/dist/coverage/index.js +306 -0
  203. package/dist/coverage/index.js.map +1 -0
  204. package/dist/custody/index.js +12 -12
  205. package/dist/{dead-filter-PKQDLOT4.js → dead-filter-U2UYKSZL.js} +2 -2
  206. package/dist/debug/index.js +1 -1
  207. package/dist/{delegation-DS5NRILW.js → delegation-S3AEPW2T.js} +11 -11
  208. package/dist/derivations/index.js +25 -22
  209. package/dist/derive-OX7F6TGG.js +21 -0
  210. package/dist/directory/index.js +10 -10
  211. package/dist/{dispatch-IEPAVQUM.js → dispatch-3CQDJV5Q.js} +5 -5
  212. package/dist/{dispatch-Q6MWLOJY.js → dispatch-RH4LHKBH.js} +21 -21
  213. package/dist/{enclave-55PAM4YO.js → enclave-27SMF6GF.js} +9 -9
  214. package/dist/executor-B6SRO2QS.js +36 -0
  215. package/dist/executor-BI5CHWRY.js +8 -0
  216. package/dist/executor-RBKM5W5K.js +8 -0
  217. package/dist/export-accessible-VMA3YM5V.js +22 -0
  218. package/dist/extract-partition-NF7PXGPP.js +37 -0
  219. package/dist/{fanout-sidecar-S3QL53YX.js → fanout-sidecar-OT6RYLOL.js} +9 -9
  220. package/dist/find-LZMP26KF.js +10 -0
  221. package/dist/forget/index.js +9 -9
  222. package/dist/guards/index.js +4 -4
  223. package/dist/history/index.js +13 -13
  224. package/dist/i18n/index.js +14 -14
  225. package/dist/index.d.ts +28 -6
  226. package/dist/index.js +999 -191
  227. package/dist/index.js.map +1 -1
  228. package/dist/indexing/index.js +13 -5
  229. package/dist/indexing/index.js.map +1 -1
  230. package/dist/introspection/index.js +11 -11
  231. package/dist/issue-IHARXWW5.js +18 -0
  232. package/dist/ivf-flat-UZ6DQDLS.js +314 -0
  233. package/dist/ivf-flat-UZ6DQDLS.js.map +1 -0
  234. package/dist/{json-schema-V3M5MUCM.js → json-schema-3SHX72CC.js} +2 -1
  235. package/dist/json-schema-3SHX72CC.js.map +1 -0
  236. package/dist/kernel/collection-config.d.ts +4 -20
  237. package/dist/kernel/collection.d.ts +29 -8
  238. package/dist/kernel/enclave/record-keys/record-codec.d.ts +25 -0
  239. package/dist/kernel/errors.d.ts +227 -36
  240. package/dist/kernel/generation-map.d.ts +48 -0
  241. package/dist/kernel/noydb.d.ts +6 -1
  242. package/dist/kernel/present-cache.d.ts +58 -0
  243. package/dist/kernel/query/all.d.ts +7 -0
  244. package/dist/kernel/query/builder.d.ts +601 -270
  245. package/dist/kernel/query/civil-date.d.ts +64 -0
  246. package/dist/kernel/query/cursor.d.ts +40 -0
  247. package/dist/kernel/query/distinct-key.d.ts +98 -0
  248. package/dist/kernel/query/hydration.d.ts +76 -0
  249. package/dist/kernel/query/index.d.ts +31 -15
  250. package/dist/kernel/query/internal/core.d.ts +30 -0
  251. package/dist/kernel/query/internal/hooks.d.ts +22 -0
  252. package/dist/kernel/query/internal/maintenance.d.ts +43 -0
  253. package/dist/kernel/query/live/incremental.d.ts +314 -0
  254. package/dist/kernel/query/live/index.d.ts +22 -0
  255. package/dist/kernel/query/live/install.d.ts +2 -0
  256. package/dist/kernel/query/{live.d.ts → live/live.d.ts} +39 -9
  257. package/dist/kernel/query/live/methods.d.ts +107 -0
  258. package/dist/kernel/query/predicate.d.ts +119 -1
  259. package/dist/kernel/query/reduce/date-trunc.d.ts +75 -0
  260. package/dist/kernel/query/reduce/index.d.ts +36 -0
  261. package/dist/kernel/query/reduce/install.d.ts +2 -0
  262. package/dist/kernel/query/reduce/methods.d.ts +259 -0
  263. package/dist/kernel/query/reduce/scan-methods.d.ts +121 -0
  264. package/dist/kernel/query/relate/explain.d.ts +199 -0
  265. package/dist/kernel/query/relate/index.d.ts +48 -0
  266. package/dist/kernel/query/relate/install.d.ts +2 -0
  267. package/dist/kernel/query/relate/join-on.d.ts +126 -0
  268. package/dist/kernel/query/relate/join-reduce.d.ts +16 -0
  269. package/dist/kernel/query/relate/join.d.ts +452 -0
  270. package/dist/kernel/query/relate/methods.d.ts +426 -0
  271. package/dist/kernel/query/relate/partition.d.ts +87 -0
  272. package/dist/kernel/query/relate/scan-methods.d.ts +163 -0
  273. package/dist/kernel/query/relate/traverse.d.ts +109 -0
  274. package/dist/kernel/query/scan-builder.d.ts +79 -176
  275. package/dist/kernel/query/sort-key.d.ts +52 -0
  276. package/dist/kernel/tx-write-gate.d.ts +77 -0
  277. package/dist/kernel/types.d.ts +71 -3
  278. package/dist/kernel/validation.d.ts +27 -10
  279. package/dist/kernel/vault.d.ts +9 -4
  280. package/dist/kernel/via/compose.d.ts +3 -0
  281. package/dist/kernel/via/index.d.ts +56 -0
  282. package/dist/kernel/via/pipeline.d.ts +48 -0
  283. package/dist/{ledger-EDXFFZQL.js → ledger-KZPCMVZY.js} +11 -11
  284. package/dist/liberate-GRLCZMW4.js +24 -0
  285. package/dist/link-set-JCMJ7ULP.js +30 -0
  286. package/dist/{managed-secret-NCWEMPUQ.js → managed-secret-S3MQ6SH6.js} +10 -10
  287. package/dist/materialized-views/index.js +30 -23
  288. package/dist/{migrate-cek-5ENH64AA.js → migrate-cek-V7GKJZ7O.js} +2 -2
  289. package/dist/money/index.js +5 -5
  290. package/dist/noydb-SWQJ3MZS.js +97 -0
  291. package/dist/overlay-views/index.js +4 -4
  292. package/dist/periods/index.js +12 -12
  293. package/dist/pod/index.js +75 -68
  294. package/dist/{pod-handle-ECVCDIXW.js → pod-handle-WGDFB4C2.js} +9 -9
  295. package/dist/policy/index.js +10 -10
  296. package/dist/port/with/blob-strategy.d.ts +9 -0
  297. package/dist/port/with/collection-options.d.ts +5 -0
  298. package/dist/port/with/coverage-strategy.d.ts +83 -0
  299. package/dist/port/with/service-bus.d.ts +46 -0
  300. package/dist/port/with/strategies.d.ts +2 -0
  301. package/dist/portability/index.js +8 -8
  302. package/dist/{post-register-3IPCSG6Q.js → post-register-SLSXIPBV.js} +6 -6
  303. package/dist/query/all/index.js +31 -0
  304. package/dist/query/index.js +20 -32
  305. package/dist/query/live/index.js +21 -0
  306. package/dist/query/live/index.js.map +1 -0
  307. package/dist/query/reduce/index.js +33 -0
  308. package/dist/query/reduce/index.js.map +1 -0
  309. package/dist/query/relate/index.js +56 -0
  310. package/dist/query/relate/index.js.map +1 -0
  311. package/dist/reduce/index.js +72 -18
  312. package/dist/reduce/index.js.map +1 -1
  313. package/dist/register-F3OYE7MJ.js +31 -0
  314. package/dist/registry-CILQFXFK.js +8 -0
  315. package/dist/registry-XNNYQVKV.js +8 -0
  316. package/dist/registry-YCDZV3VW.js +35 -0
  317. package/dist/registry-ZGYS33TE.js +24 -0
  318. package/dist/request-withdrawal-Z5NC6TXT.js +30 -0
  319. package/dist/{reveal-QZDHSGD4.js → reveal-4BCKPEC2.js} +6 -6
  320. package/dist/revoke-ZL62WC2D.js +23 -0
  321. package/dist/satellites/index.js +1 -1
  322. package/dist/schema-update/index.js +2 -2
  323. package/dist/sealed-record/index.js +12 -12
  324. package/dist/search/index.js +11 -5
  325. package/dist/{seed-X5CC22CQ.js → seed-4JS2RJ4A.js} +12 -12
  326. package/dist/sequence/index.js +9 -9
  327. package/dist/session/index.js +9 -9
  328. package/dist/shadow/index.js +2 -2
  329. package/dist/signer-MBZZMXTC.js +24 -0
  330. package/dist/snapshots/index.js +10 -10
  331. package/dist/{stale-BZS6H2RY.js → stale-TJ3DYZMQ.js} +10 -10
  332. package/dist/storage-SVMKRGCW.js +22 -0
  333. package/dist/{store-coordination-provider-4WZAIRHC.js → store-coordination-provider-2O2VUHKW.js} +10 -10
  334. package/dist/sync/index.js +10 -10
  335. package/dist/team/index.js +17 -15
  336. package/dist/tiers/index.js +13 -11
  337. package/dist/to/index.js +2 -2
  338. package/dist/transactions/index.js +3 -3
  339. package/dist/util/index.js +1 -1
  340. package/dist/vault-head/index.js +8 -8
  341. package/dist/{verify-6MDTIUEV.js → verify-RVT67IMH.js} +5 -5
  342. package/dist/via/blob/index.d.ts +1 -0
  343. package/dist/via/geo/binding.d.ts +31 -0
  344. package/dist/via/geo/descriptor.d.ts +54 -0
  345. package/dist/via/geo/geohash.d.ts +95 -0
  346. package/dist/via/geo/index.d.ts +13 -0
  347. package/dist/via/geo/where.d.ts +50 -0
  348. package/dist/via/i18n/core.d.ts +1 -1
  349. package/dist/via/lookup/registry.d.ts +1 -1
  350. package/dist/via/lookup/snapshot.d.ts +3 -3
  351. package/dist/walk-HJ42EISE.js +21 -0
  352. package/dist/walk-HJ42EISE.js.map +1 -0
  353. package/dist/with-audit/coverage/accounting.d.ts +112 -0
  354. package/dist/with-audit/coverage/active.d.ts +29 -0
  355. package/dist/with-audit/coverage/index.d.ts +61 -0
  356. package/dist/with-audit/coverage/sketch.d.ts +75 -0
  357. package/dist/with-audit/periods/periods.d.ts +55 -7
  358. package/dist/with-audit/periods/reserved-collections.d.ts +3 -0
  359. package/dist/with-audit/periods/vault-facade.d.ts +17 -0
  360. package/dist/with-audit/tiers/index.d.ts +51 -0
  361. package/dist/with-audit/tiers/strategy.d.ts +8 -0
  362. package/dist/with-cargo/floor.d.ts +2 -2
  363. package/dist/with-commit/tx/invariants.d.ts +1 -1
  364. package/dist/with-commit/tx/transaction.d.ts +13 -3
  365. package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +4 -3
  366. package/dist/with-formula/materialized-views/emit-memo.d.ts +40 -0
  367. package/dist/with-formula/materialized-views/executor.d.ts +8 -0
  368. package/dist/with-formula/materialized-views/index.d.ts +1 -1
  369. package/dist/with-formula/materialized-views/registry.d.ts +15 -0
  370. package/dist/with-formula/materialized-views/types.d.ts +106 -14
  371. package/dist/with-formula/materialized-views/window-stage.d.ts +11 -0
  372. package/dist/with-formula/overlay-views/types.d.ts +1 -1
  373. package/dist/with-formula/overlay-views/virtual-collection.d.ts +13 -4
  374. package/dist/with-lookup/embeddings/chunks.d.ts +79 -0
  375. package/dist/with-lookup/embeddings/descriptor.d.ts +21 -0
  376. package/dist/with-lookup/embeddings/index.d.ts +3 -0
  377. package/dist/with-lookup/embeddings/ivf-flat.d.ts +93 -0
  378. package/dist/with-lookup/embeddings/vector-index.d.ts +73 -0
  379. package/dist/with-lookup/embeddings/vector-set.d.ts +94 -1
  380. package/dist/with-lookup/embeddings/with-vector-index.d.ts +67 -0
  381. package/dist/with-lookup/indexing/collection-facade.d.ts +85 -2
  382. package/dist/with-lookup/indexing/compound-indexes.d.ts +129 -0
  383. package/dist/with-lookup/indexing/eager-indexes.d.ts +170 -1
  384. package/dist/with-lookup/indexing/index-snapshot.d.ts +62 -0
  385. package/dist/with-lookup/indexing/lazy-builder.d.ts +33 -0
  386. package/dist/with-lookup/indexing/persisted-field-indexes.d.ts +104 -0
  387. package/dist/with-lookup/indexing/persisted-indexes.d.ts +12 -0
  388. package/dist/with-lookup/indexing/sorted-indexes.d.ts +117 -0
  389. package/dist/with-lookup/indexing/unique-constraints.d.ts +106 -23
  390. package/dist/with-lookup/reduce/active.d.ts +2 -24
  391. package/dist/with-lookup/reduce/group-core.d.ts +43 -0
  392. package/dist/with-lookup/reduce/groupby.d.ts +195 -36
  393. package/dist/with-lookup/reduce/incremental-group.d.ts +153 -0
  394. package/dist/with-lookup/reduce/index.d.ts +26 -5
  395. package/dist/with-lookup/reduce/reducers.d.ts +255 -1
  396. package/dist/with-lookup/reduce/reduction.d.ts +44 -13
  397. package/dist/with-lookup/reduce/strategy.d.ts +43 -3
  398. package/dist/with-lookup/reduce/window.d.ts +262 -0
  399. package/dist/with-lookup/search/collection-facade.d.ts +44 -8
  400. package/dist/with-lookup/search/index-store.d.ts +5 -3
  401. package/dist/with-lookup/search/index.d.ts +4 -2
  402. package/dist/with-lookup/search/inverted-index.d.ts +38 -2
  403. package/dist/with-lookup/search/persisted-index-store.d.ts +5 -2
  404. package/dist/with-lookup/search/phrase.d.ts +28 -0
  405. package/dist/with-lookup/search/retrieve-types.d.ts +57 -1
  406. package/dist/with-lookup/search/serialize.d.ts +29 -3
  407. package/dist/with-lookup/search/strategy.d.ts +2 -6
  408. package/dist/with-party/directory/cover/index.d.ts +1 -1
  409. package/dist/with-party/directory/cover/storage.d.ts +1 -1
  410. package/dist/with-party/directory/cover/types.d.ts +1 -1
  411. package/dist/with-party/directory/index.d.ts +1 -1
  412. package/dist/with-party/directory/types.d.ts +1 -1
  413. package/dist/with-party/directory/user-envelope/api.d.ts +1 -1
  414. package/dist/with-party/policy/engine.d.ts +1 -1
  415. package/dist/with-party/policy/index.d.ts +1 -1
  416. package/dist/with-party/policy/presets.d.ts +1 -1
  417. package/dist/with-party/team/authenticators.d.ts +91 -1
  418. package/dist/with-party/team/index.d.ts +3 -2
  419. package/dist/with-party/team/keyring.d.ts +1 -1
  420. package/dist/with-party/team/managed-secret.d.ts +1 -1
  421. package/dist/with-party/team/noydb-facade.d.ts +12 -3
  422. package/dist/with-pod/format.d.ts +1 -1
  423. package/dist/with-pod/pod.d.ts +1 -1
  424. package/dist/with-shape/blobs/blob-compaction.d.ts +16 -0
  425. package/dist/with-shape/blobs/blob-set.d.ts +21 -2
  426. package/dist/with-shape/blobs/legacy-sweep.d.ts +35 -0
  427. package/dist/with-shape/introspection/describe.d.ts +6 -0
  428. package/dist/with-shape/introspection/field-meta.d.ts +18 -0
  429. package/dist/with-shape/introspection/types.d.ts +57 -1
  430. package/dist/with-shape/links/vault-facade.d.ts +1 -1
  431. package/dist/with-store/partitioned/index.d.ts +337 -0
  432. package/dist/with-sync/change-broadcast.d.ts +153 -0
  433. package/dist/withdraw-accessible-5NZUPAVA.js +27 -0
  434. package/dist/withdraw-accessible-5NZUPAVA.js.map +1 -0
  435. package/package.json +37 -10
  436. package/dist/api-WYW4YEQG.js +0 -19
  437. package/dist/chunk-2577DKXB.js.map +0 -1
  438. package/dist/chunk-2ENE6445.js.map +0 -1
  439. package/dist/chunk-3V4KWFX7.js.map +0 -1
  440. package/dist/chunk-4GVM6QZA.js.map +0 -1
  441. package/dist/chunk-4ZS56W5S.js.map +0 -1
  442. package/dist/chunk-7APJ6CO6.js.map +0 -1
  443. package/dist/chunk-7MG2LHO5.js +0 -1616
  444. package/dist/chunk-7MG2LHO5.js.map +0 -1
  445. package/dist/chunk-7MG7SJT7.js.map +0 -1
  446. package/dist/chunk-7O3Y4PPD.js.map +0 -1
  447. package/dist/chunk-A66I4JOA.js.map +0 -1
  448. package/dist/chunk-ATL3ZVXT.js +0 -151
  449. package/dist/chunk-ATL3ZVXT.js.map +0 -1
  450. package/dist/chunk-BLN54W3L.js.map +0 -1
  451. package/dist/chunk-BVN6KXL2.js.map +0 -1
  452. package/dist/chunk-CUQPWYRX.js.map +0 -1
  453. package/dist/chunk-CUZLNGD5.js.map +0 -1
  454. package/dist/chunk-EQEYOJBM.js.map +0 -1
  455. package/dist/chunk-FET5XCAT.js.map +0 -1
  456. package/dist/chunk-HIWCKBEY.js.map +0 -1
  457. package/dist/chunk-HJUWN7JN.js.map +0 -1
  458. package/dist/chunk-I3ISCYT7.js +0 -159
  459. package/dist/chunk-I3ISCYT7.js.map +0 -1
  460. package/dist/chunk-KKEESNPE.js.map +0 -1
  461. package/dist/chunk-KTFRCC5C.js.map +0 -1
  462. package/dist/chunk-LH5A3ZPG.js.map +0 -1
  463. package/dist/chunk-M4YPHYEH.js.map +0 -1
  464. package/dist/chunk-NSITFOCJ.js +0 -99
  465. package/dist/chunk-NSITFOCJ.js.map +0 -1
  466. package/dist/chunk-PPTHY5QO.js.map +0 -1
  467. package/dist/chunk-R7BX2NB3.js.map +0 -1
  468. package/dist/chunk-RTBJ5IOO.js +0 -87
  469. package/dist/chunk-RTBJ5IOO.js.map +0 -1
  470. package/dist/chunk-SKGMN35F.js.map +0 -1
  471. package/dist/chunk-SPYWXKJN.js.map +0 -1
  472. package/dist/chunk-UP4BECPY.js.map +0 -1
  473. package/dist/chunk-UXVWEX5L.js.map +0 -1
  474. package/dist/chunk-WQBG4SZS.js.map +0 -1
  475. package/dist/chunk-XKWGNJ26.js.map +0 -1
  476. package/dist/chunk-YMUFFJCO.js.map +0 -1
  477. package/dist/chunk-ZN4FD4PE.js +0 -364
  478. package/dist/chunk-ZN4FD4PE.js.map +0 -1
  479. package/dist/chunk-ZORTV6NH.js.map +0 -1
  480. package/dist/chunk-ZYIYHJ5R.js.map +0 -1
  481. package/dist/collection-facade-JSJYIKS4.js +0 -45
  482. package/dist/derive-E642AOUB.js +0 -21
  483. package/dist/executor-5NIMLSKZ.js +0 -8
  484. package/dist/executor-7UQ3BZ4F.js +0 -29
  485. package/dist/executor-AQVXV5GZ.js +0 -8
  486. package/dist/export-accessible-ORMKLA3E.js +0 -22
  487. package/dist/extract-partition-NKYO3WNG.js +0 -37
  488. package/dist/find-NOGJ25VX.js +0 -10
  489. package/dist/issue-3DTQ7VJJ.js +0 -18
  490. package/dist/json-schema-V3M5MUCM.js.map +0 -1
  491. package/dist/kernel/query/join.d.ts +0 -232
  492. package/dist/liberate-V35QUHJP.js +0 -24
  493. package/dist/link-set-2TTM3IZC.js +0 -30
  494. package/dist/noydb-62MX4QUG.js +0 -90
  495. package/dist/register-HHLXEQDN.js +0 -31
  496. package/dist/registry-23WF3TGH.js +0 -8
  497. package/dist/registry-4AYVUNXK.js +0 -8
  498. package/dist/registry-JS3YFQQM.js +0 -18
  499. package/dist/registry-XX2Z7B46.js +0 -32
  500. package/dist/request-withdrawal-CHPATE4G.js +0 -30
  501. package/dist/revoke-7M2VW4ON.js +0 -23
  502. package/dist/signer-SJQJVSM6.js +0 -24
  503. package/dist/storage-RW4QBS23.js +0 -22
  504. package/dist/walk-ZURCH6RZ.js +0 -21
  505. package/dist/withdraw-accessible-PXR4IXDX.js +0 -27
  506. /package/dist/{api-WYW4YEQG.js.map → api-GVYEKSJE.js.map} +0 -0
  507. /package/dist/{backup-XKCXVKV3.js.map → backup-7TFRVFLH.js.map} +0 -0
  508. /package/dist/{chunk-BUE2D7PX.js.map → chunk-32YV3TJT.js.map} +0 -0
  509. /package/dist/{chunk-3PGS7TYR.js.map → chunk-3ELRMVJK.js.map} +0 -0
  510. /package/dist/{chunk-OTQZ7ZWU.js.map → chunk-3F7GLNAE.js.map} +0 -0
  511. /package/dist/{chunk-SGZAIJCV.js.map → chunk-3H5KLDZN.js.map} +0 -0
  512. /package/dist/{chunk-VTFVLCUH.js.map → chunk-3JWHAR6E.js.map} +0 -0
  513. /package/dist/{chunk-JBDFMYKQ.js.map → chunk-4AF3TUMP.js.map} +0 -0
  514. /package/dist/{chunk-DFMWUOU5.js.map → chunk-6B3VNR4P.js.map} +0 -0
  515. /package/dist/{chunk-TUFM4UZP.js.map → chunk-6K7DPM7D.js.map} +0 -0
  516. /package/dist/{chunk-3VF3WQ4F.js.map → chunk-6LMQ5R26.js.map} +0 -0
  517. /package/dist/{chunk-XLMEZIAJ.js.map → chunk-6OWXYZK2.js.map} +0 -0
  518. /package/dist/{chunk-BRLKZUBT.js.map → chunk-6QSQQLSE.js.map} +0 -0
  519. /package/dist/{chunk-NQKIUNW5.js.map → chunk-A6IJU4TK.js.map} +0 -0
  520. /package/dist/{chunk-QIZPZMUI.js.map → chunk-AOWGXU6D.js.map} +0 -0
  521. /package/dist/{chunk-SFAWCTEM.js.map → chunk-B57AFBY2.js.map} +0 -0
  522. /package/dist/{chunk-UHHPLO3I.js.map → chunk-B6SJIBQK.js.map} +0 -0
  523. /package/dist/{chunk-Q2PU57HC.js.map → chunk-BK2HHQGN.js.map} +0 -0
  524. /package/dist/{collection-facade-JSJYIKS4.js.map → chunk-BKT776R5.js.map} +0 -0
  525. /package/dist/{chunk-YJX7EOJD.js.map → chunk-BUDAGWL5.js.map} +0 -0
  526. /package/dist/{chunk-QPQUVOZ2.js.map → chunk-CKNGS5MH.js.map} +0 -0
  527. /package/dist/{chunk-BTDR2PXY.js.map → chunk-DE4DH2RZ.js.map} +0 -0
  528. /package/dist/{chunk-Q2MPFCQ7.js.map → chunk-DF73H4UN.js.map} +0 -0
  529. /package/dist/{chunk-6LKOJBV6.js.map → chunk-EOVMT6TB.js.map} +0 -0
  530. /package/dist/{chunk-R42NSZI6.js.map → chunk-FCKWQE2H.js.map} +0 -0
  531. /package/dist/{chunk-4OZNXTO4.js.map → chunk-FN5EBVTQ.js.map} +0 -0
  532. /package/dist/{chunk-P3MG6QCN.js.map → chunk-FQ5VRHIB.js.map} +0 -0
  533. /package/dist/{chunk-FAHMLERK.js.map → chunk-FW22ZCXT.js.map} +0 -0
  534. /package/dist/{chunk-RMS3NEA3.js.map → chunk-HT2AHGQI.js.map} +0 -0
  535. /package/dist/{chunk-2N5ML6HT.js.map → chunk-HVSCEIYL.js.map} +0 -0
  536. /package/dist/{chunk-GY4WYNNG.js.map → chunk-ID6Z6E66.js.map} +0 -0
  537. /package/dist/{chunk-YJRT5UQM.js.map → chunk-IEX7NK2K.js.map} +0 -0
  538. /package/dist/{chunk-334WSVOW.js.map → chunk-ISZQJBML.js.map} +0 -0
  539. /package/dist/{chunk-LWBCUYZW.js.map → chunk-IT22PWKV.js.map} +0 -0
  540. /package/dist/{chunk-RF6D3Y5E.js.map → chunk-J6UOHJY5.js.map} +0 -0
  541. /package/dist/{chunk-JMGDHKQF.js.map → chunk-JCN44NCY.js.map} +0 -0
  542. /package/dist/{chunk-3BZZJJMQ.js.map → chunk-K6W7BVZ6.js.map} +0 -0
  543. /package/dist/{chunk-453F654R.js.map → chunk-L7DOS3TE.js.map} +0 -0
  544. /package/dist/{chunk-QTQUH4DS.js.map → chunk-LGRLME4M.js.map} +0 -0
  545. /package/dist/{chunk-CHQCZZWC.js.map → chunk-LQ4ZHOKP.js.map} +0 -0
  546. /package/dist/{chunk-GPNTB4Y7.js.map → chunk-M522UYZ2.js.map} +0 -0
  547. /package/dist/{chunk-UDHWDSRL.js.map → chunk-MTL7MXGR.js.map} +0 -0
  548. /package/dist/{chunk-TFR7DSOV.js.map → chunk-MVZ2TPVP.js.map} +0 -0
  549. /package/dist/{chunk-K23VKTN4.js.map → chunk-N5DNADLQ.js.map} +0 -0
  550. /package/dist/{chunk-RSGLUIO6.js.map → chunk-NNARWO72.js.map} +0 -0
  551. /package/dist/{chunk-6YXCPL4T.js.map → chunk-PDCG6PR5.js.map} +0 -0
  552. /package/dist/{chunk-ACAQ2DSG.js.map → chunk-PSIV7CJV.js.map} +0 -0
  553. /package/dist/{chunk-G73UVHCA.js.map → chunk-QWFHIOD2.js.map} +0 -0
  554. /package/dist/{chunk-AYX7AINO.js.map → chunk-QWGU66MP.js.map} +0 -0
  555. /package/dist/{chunk-3BVH633C.js.map → chunk-S57HTZ6X.js.map} +0 -0
  556. /package/dist/{chunk-SZJ3DLZA.js.map → chunk-SEE332EV.js.map} +0 -0
  557. /package/dist/{chunk-YYP7WSEB.js.map → chunk-SI3V7D4G.js.map} +0 -0
  558. /package/dist/{chunk-UGTBXF5U.js.map → chunk-SOIQ4MM4.js.map} +0 -0
  559. /package/dist/{chunk-4GFX6MPA.js.map → chunk-SYVZW77S.js.map} +0 -0
  560. /package/dist/{chunk-MVMXZYXT.js.map → chunk-TKUOEU2F.js.map} +0 -0
  561. /package/dist/{chunk-SMH6SRX7.js.map → chunk-TROR3ALR.js.map} +0 -0
  562. /package/dist/{chunk-HPVZCW43.js.map → chunk-UYB234ZR.js.map} +0 -0
  563. /package/dist/{chunk-DGOZ4UZD.js.map → chunk-VNNRUGMM.js.map} +0 -0
  564. /package/dist/{chunk-F3W6YMDC.js.map → chunk-VNPEWFPD.js.map} +0 -0
  565. /package/dist/{chunk-JVIBCBC7.js.map → chunk-WNJ4AVGE.js.map} +0 -0
  566. /package/dist/{chunk-ZHKOPKE3.js.map → chunk-WX5ADGTZ.js.map} +0 -0
  567. /package/dist/{chunk-Q7HZX3IF.js.map → chunk-X4773RBR.js.map} +0 -0
  568. /package/dist/{chunk-A2HKRLPV.js.map → chunk-YNIUIERI.js.map} +0 -0
  569. /package/dist/{chunk-BZ3534YM.js.map → chunk-ZUVBC32X.js.map} +0 -0
  570. /package/dist/{chunk-V7ZRRCRJ.js.map → chunk-ZXABPVM6.js.map} +0 -0
  571. /package/dist/{classified-marker-BWOFVYAC.js.map → classified-marker-W3USLL5M.js.map} +0 -0
  572. /package/dist/{computed-VPOKQK4N.js.map → collection-facade-QU6IJBN3.js.map} +0 -0
  573. /package/dist/{derive-E642AOUB.js.map → computed-TPFBX7U4.js.map} +0 -0
  574. /package/dist/{dead-filter-PKQDLOT4.js.map → dead-filter-U2UYKSZL.js.map} +0 -0
  575. /package/dist/{delegation-DS5NRILW.js.map → delegation-S3AEPW2T.js.map} +0 -0
  576. /package/dist/{enclave-55PAM4YO.js.map → derive-OX7F6TGG.js.map} +0 -0
  577. /package/dist/{dispatch-IEPAVQUM.js.map → dispatch-3CQDJV5Q.js.map} +0 -0
  578. /package/dist/{dispatch-Q6MWLOJY.js.map → dispatch-RH4LHKBH.js.map} +0 -0
  579. /package/dist/{executor-5NIMLSKZ.js.map → enclave-27SMF6GF.js.map} +0 -0
  580. /package/dist/{executor-7UQ3BZ4F.js.map → executor-B6SRO2QS.js.map} +0 -0
  581. /package/dist/{executor-AQVXV5GZ.js.map → executor-BI5CHWRY.js.map} +0 -0
  582. /package/dist/{export-accessible-ORMKLA3E.js.map → executor-RBKM5W5K.js.map} +0 -0
  583. /package/dist/{extract-partition-NKYO3WNG.js.map → export-accessible-VMA3YM5V.js.map} +0 -0
  584. /package/dist/{find-NOGJ25VX.js.map → extract-partition-NF7PXGPP.js.map} +0 -0
  585. /package/dist/{fanout-sidecar-S3QL53YX.js.map → fanout-sidecar-OT6RYLOL.js.map} +0 -0
  586. /package/dist/{issue-3DTQ7VJJ.js.map → find-LZMP26KF.js.map} +0 -0
  587. /package/dist/{ledger-EDXFFZQL.js.map → issue-IHARXWW5.js.map} +0 -0
  588. /package/dist/{liberate-V35QUHJP.js.map → ledger-KZPCMVZY.js.map} +0 -0
  589. /package/dist/{link-set-2TTM3IZC.js.map → liberate-GRLCZMW4.js.map} +0 -0
  590. /package/dist/{managed-secret-NCWEMPUQ.js.map → link-set-JCMJ7ULP.js.map} +0 -0
  591. /package/dist/{noydb-62MX4QUG.js.map → managed-secret-S3MQ6SH6.js.map} +0 -0
  592. /package/dist/{migrate-cek-5ENH64AA.js.map → migrate-cek-V7GKJZ7O.js.map} +0 -0
  593. /package/dist/{register-HHLXEQDN.js.map → noydb-SWQJ3MZS.js.map} +0 -0
  594. /package/dist/{pod-handle-ECVCDIXW.js.map → pod-handle-WGDFB4C2.js.map} +0 -0
  595. /package/dist/{post-register-3IPCSG6Q.js.map → post-register-SLSXIPBV.js.map} +0 -0
  596. /package/dist/{registry-23WF3TGH.js.map → query/all/index.js.map} +0 -0
  597. /package/dist/{registry-4AYVUNXK.js.map → register-F3OYE7MJ.js.map} +0 -0
  598. /package/dist/{registry-JS3YFQQM.js.map → registry-CILQFXFK.js.map} +0 -0
  599. /package/dist/{registry-XX2Z7B46.js.map → registry-XNNYQVKV.js.map} +0 -0
  600. /package/dist/{request-withdrawal-CHPATE4G.js.map → registry-YCDZV3VW.js.map} +0 -0
  601. /package/dist/{revoke-7M2VW4ON.js.map → registry-ZGYS33TE.js.map} +0 -0
  602. /package/dist/{signer-SJQJVSM6.js.map → request-withdrawal-Z5NC6TXT.js.map} +0 -0
  603. /package/dist/{reveal-QZDHSGD4.js.map → reveal-4BCKPEC2.js.map} +0 -0
  604. /package/dist/{stale-BZS6H2RY.js.map → revoke-ZL62WC2D.js.map} +0 -0
  605. /package/dist/{seed-X5CC22CQ.js.map → seed-4JS2RJ4A.js.map} +0 -0
  606. /package/dist/{storage-RW4QBS23.js.map → signer-MBZZMXTC.js.map} +0 -0
  607. /package/dist/{walk-ZURCH6RZ.js.map → stale-TJ3DYZMQ.js.map} +0 -0
  608. /package/dist/{withdraw-accessible-PXR4IXDX.js.map → storage-SVMKRGCW.js.map} +0 -0
  609. /package/dist/{store-coordination-provider-4WZAIRHC.js.map → store-coordination-provider-2O2VUHKW.js.map} +0 -0
  610. /package/dist/{verify-6MDTIUEV.js.map → verify-RVT67IMH.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/with-party/directory/cover/custom.ts","../src/with-party/directory/cover/schema.ts","../src/with-party/directory/cover/storage.ts"],"sourcesContent":["/**\n * The cover's namespaced `custom` extension slot (#800) — input\n * validation, the namespace-level patch merge, and the post-merge\n * size caps.\n *\n * Like everything on the cover, `custom` is plaintext, public by\n * design, and unauthenticated — payloads are hints (display defaults,\n * routing suggestions, registry pointers), never an input to\n * security, authorization, or data-integrity decisions.\n *\n * @see https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/public-envelope.md\n *\n * @module\n */\nimport { ValidationError } from '../../../kernel/errors.js'\nimport type { Cover, JsonValue, ResolvedCoverSchema } from './types.js'\n\n/**\n * Namespace keys must be reverse-DNS or package-style identifiers —\n * at least one dot/dash-separated segment (`noydb.viewer`,\n * `com.acme.registry` pass; a bare `config` fails), so two frameworks\n * can't collide on a bare word.\n */\nconst CUSTOM_KEY_PATTERN = /^[a-z0-9]+([.-][a-z0-9]+)+$/i\n\n/** Maximum nesting depth of a namespace payload (containers, not leaves). */\nconst MAX_CUSTOM_DEPTH = 8\n\n/**\n * Validate the owner-supplied `custom` input: the field must be a\n * plain object, every key must match {@link CUSTOM_KEY_PATTERN}, and\n * every value must be JSON-serializable (no functions, `undefined`,\n * symbols, bigints, or cycles) within the depth cap. `null` is\n * accepted — it is the delete-this-namespace directive and never\n * persists. Throws `ValidationError` on the first violation.\n */\nexport function validateCustomInput(custom: Record<string, JsonValue>): void {\n if (custom === null || typeof custom !== 'object' || Array.isArray(custom)) {\n throw new ValidationError(\n `setCover: custom must be a { [namespace]: value } object, got ${\n Array.isArray(custom) ? 'array' : typeof custom\n }.`,\n )\n }\n for (const [ns, value] of Object.entries(custom)) {\n if (!CUSTOM_KEY_PATTERN.test(ns)) {\n throw new ValidationError(\n `setCover: custom namespace \"${ns}\" is invalid. Keys must be ` +\n 'reverse-DNS or package-style identifiers with at least one ' +\n 'dot/dash-separated segment (e.g. \"noydb.viewer\", \"com.acme.registry\").',\n )\n }\n assertJsonValue(value, ns, 1, new Set())\n }\n}\n\nfunction assertJsonValue(\n value: unknown,\n ns: string,\n depth: number,\n seen: Set<object>,\n): void {\n if (value === null) return\n const t = typeof value\n if (t === 'string' || t === 'number' || t === 'boolean') return\n if (t !== 'object') {\n throw new ValidationError(\n `setCover: custom[\"${ns}\"] contains a non-JSON value (${t}). ` +\n 'Only strings, numbers, booleans, null, arrays, and plain objects are allowed.',\n )\n }\n const container = value as object\n if (seen.has(container)) {\n throw new ValidationError(\n `setCover: custom[\"${ns}\"] contains a circular reference.`,\n )\n }\n if (depth > MAX_CUSTOM_DEPTH) {\n throw new ValidationError(\n `setCover: custom[\"${ns}\"] nests deeper than the ${MAX_CUSTOM_DEPTH}-level cap.`,\n )\n }\n seen.add(container)\n const children = Array.isArray(container) ? container : Object.values(container)\n for (const child of children) {\n assertJsonValue(child, ns, depth + 1, seen)\n }\n seen.delete(container)\n}\n\n/**\n * Namespace-level patch merge for `setCover`: provided namespaces\n * replace their previous value, absent namespaces are preserved, and\n * an explicit `null` deletes that namespace (so `null` never persists\n * as a namespace value). A whole-`custom`-absent patch preserves the\n * previous custom, consistent with the other cover fields. Rationale:\n * framework A must never need read-modify-write of framework B's data.\n *\n * Returns a spreadable fragment — `{ custom }` when the merge leaves\n * at least one namespace, `{}` when it leaves none (the field is\n * dropped from the persisted document rather than stored empty).\n */\nexport function mergeCustom(\n existing: Record<string, JsonValue> | undefined,\n patch: Record<string, JsonValue> | undefined,\n): { custom: Record<string, JsonValue> } | Record<string, never> {\n if (patch === undefined) {\n return existing !== undefined ? { custom: existing } : {}\n }\n const merged: Record<string, JsonValue> = { ...existing }\n for (const [ns, value] of Object.entries(patch)) {\n if (value === null) {\n delete merged[ns]\n } else {\n merged[ns] = value\n }\n }\n return Object.keys(merged).length > 0 ? { custom: merged } : {}\n}\n\n/**\n * Post-merge size caps — validates the WOULD-BE-PERSISTED document\n * (after the namespace merge), so a small patch can't tip the stored\n * cover over a cap unnoticed. `maxCoverBytes` bounds the entire\n * serialized document, which also closes the unbounded locale-map\n * key-count hole for `name` / `description`. Sizes are measured as\n * `JSON.stringify` length. Throws `ValidationError` on violation.\n */\nexport function validateCoverSize(\n cover: Cover,\n schema: ResolvedCoverSchema,\n): void {\n if (cover.custom !== undefined) {\n const customSize = JSON.stringify(cover.custom).length\n if (customSize > schema.maxCustomBytes) {\n throw new ValidationError(\n `setCover: custom exceeds the ${schema.maxCustomBytes}-byte cap ` +\n `(got ${customSize} bytes serialized, after merging with the stored namespaces).`,\n )\n }\n }\n const totalSize = JSON.stringify(cover).length\n if (totalSize > schema.maxCoverBytes) {\n throw new ValidationError(\n `setCover: the cover document exceeds the ${schema.maxCoverBytes}-byte cap ` +\n `(got ${totalSize} bytes serialized).`,\n )\n }\n}\n","/**\n * Validate-on-write for the cover. Runs at every `setCover` call;\n * the developer's schema decides which fields are allowed and the\n * size caps that apply.\n *\n * @module\n */\nimport { ValidationError } from '../../../kernel/errors.js'\nimport { validateCustomInput } from './custom.js'\nimport type {\n Cover,\n CoverText,\n JsonValue,\n ResolvedCoverSchema,\n CoverField,\n} from './types.js'\n\n/** Owner-supplied input — the subset of {@link Cover} the owner can set. */\nexport interface SetCoverInput {\n readonly name?: CoverText\n readonly description?: CoverText\n readonly icon?: string\n readonly defaultLocale?: string\n /**\n * Namespace-level patch for the cover's `custom` slot (#800):\n * provided namespaces replace their previous value, absent\n * namespaces are preserved, an explicit `null` deletes that\n * namespace. Requires `'custom'` in the schema's `fields` list —\n * the `cover: true` shorthand does NOT enable it.\n */\n readonly custom?: Record<string, JsonValue>\n}\n\nconst DATA_URL_PREFIX = /^data:([a-zA-Z0-9.+-]+\\/[a-zA-Z0-9.+-]+);base64,/\n\n/**\n * Validate an owner-supplied cover input against the developer's\n * resolved schema. Throws `ValidationError` on the first violation;\n * returns void on success.\n *\n * The validator is deliberately strict: every fail mode is a hard\n * error rather than a silent drop, so the owner finds out immediately\n * which field they oversized rather than discovering a truncated\n * label months later.\n */\nexport function validateCoverInput(\n input: SetCoverInput,\n schema: ResolvedCoverSchema,\n): void {\n const allowed = new Set<CoverField>(schema.fields)\n\n // Reject any key not in the schema's allowed-field list.\n for (const key of Object.keys(input)) {\n const known: CoverField | undefined =\n key === 'name' || key === 'description' || key === 'icon' || key === 'defaultLocale' || key === 'custom'\n ? key\n : undefined\n if (!known) {\n throw new ValidationError(\n `setCover: unknown field \"${key}\". ` +\n `Allowed fields: ${[...allowed].join(', ')}.`,\n )\n }\n if (!allowed.has(known)) {\n throw new ValidationError(\n `setCover: field \"${known}\" is not enabled in this vault's schema. ` +\n `Allowed fields: ${[...allowed].join(', ')}.`,\n )\n }\n }\n\n if (input.name !== undefined) {\n validateText(input.name, 'name', schema.maxStringChars)\n }\n if (input.description !== undefined) {\n validateText(input.description, 'description', schema.maxStringChars)\n }\n if (input.icon !== undefined) {\n validateIcon(input.icon, schema)\n }\n if (input.defaultLocale !== undefined && typeof input.defaultLocale !== 'string') {\n throw new ValidationError(\n `setCover: defaultLocale must be a string (BCP-47), got ${typeof input.defaultLocale}.`,\n )\n }\n if (input.custom !== undefined) {\n validateCustomInput(input.custom)\n }\n}\n\nfunction validateText(\n value: CoverText,\n field: string,\n maxChars: number,\n): void {\n if (typeof value === 'string') {\n if (value.length > maxChars) {\n throw new ValidationError(\n `setCover: ${field} exceeds the ${maxChars}-character cap (got ${value.length}).`,\n )\n }\n return\n }\n if (typeof value !== 'object' || value === null || Array.isArray(value)) {\n throw new ValidationError(\n `setCover: ${field} must be a string or { [locale]: string } map, got ${typeof value}.`,\n )\n }\n // Locale map. Each value must be a non-empty string within the cap.\n for (const [locale, str] of Object.entries(value)) {\n if (typeof str !== 'string') {\n throw new ValidationError(\n `setCover: ${field}[${locale}] must be a string, got ${typeof str}.`,\n )\n }\n if (str.length > maxChars) {\n throw new ValidationError(\n `setCover: ${field}[${locale}] exceeds the ${maxChars}-character cap (got ${str.length}).`,\n )\n }\n }\n}\n\nfunction validateIcon(icon: string, schema: ResolvedCoverSchema): void {\n if (typeof icon !== 'string') {\n throw new ValidationError(\n `setCover: icon must be a data: URL string, got ${typeof icon}.`,\n )\n }\n if (icon.length > schema.maxIconBytes) {\n throw new ValidationError(\n `setCover: icon exceeds the ${schema.maxIconBytes}-byte cap (got ${icon.length}).`,\n )\n }\n const m = DATA_URL_PREFIX.exec(icon)\n if (!m) {\n throw new ValidationError(\n 'setCover: icon must be a base64 data URL ' +\n '(`data:image/png;base64,…` or `data:image/svg+xml;base64,…`). ' +\n 'External URLs are not supported in v1.',\n )\n }\n const mime = m[1]!\n if (!schema.iconMimeTypes.includes(mime)) {\n throw new ValidationError(\n `setCover: icon MIME type \"${mime}\" is not allowed. ` +\n `Permitted types: ${schema.iconMimeTypes.join(', ')}.`,\n )\n }\n}\n\n/**\n * Lightweight runtime predicate — used by the bundle header\n * validator to recognise a cover without requiring it. (The wire\n * discriminator keeps its frozen name: `_noydb_public: 1`.)\n */\nexport function isCover(x: unknown): x is Cover {\n if (x === null || typeof x !== 'object' || Array.isArray(x)) return false\n const obj = x as Record<string, unknown>\n return obj['_noydb_public'] === 1 && typeof obj['version'] === 'number'\n}\n","/**\n * Persistence helpers for `_meta/public-envelope` — the cover's\n * frozen wire location. Mirrors the bypass-AES pattern used by\n * `_meta/handle` and `_meta/policy` — the document is plaintext\n * JSON, the envelope's `_iv` field is left empty.\n *\n * @module\n */\nimport { buildRecordEnvelope } from '../../../kernel/enclave/index.js'\nimport type { NoydbStore } from '../../../kernel/types.js'\nimport type { Cover } from './types.js'\nimport { isCover } from './schema.js'\n\n/**\n * Reserved id for the vault-level cover record. The VALUE is frozen\n * wire format — the record predates the #799 rename and stays at\n * `_meta/public-envelope` so existing vaults need no migration.\n */\nexport const COVER_RECORD_ID = 'public-envelope'\n\n/**\n * Read the cover from `_meta/public-envelope`. Returns `undefined`\n * when no cover has been persisted (fresh vault, or a vault written\n * before the feature was enabled). Tolerates corrupted documents —\n * a JSON parse failure surfaces as `undefined`, not a thrown error,\n * mirroring `_meta/handle`'s contract.\n */\nexport async function loadCover(\n store: NoydbStore,\n vault: string,\n): Promise<Cover | undefined> {\n const envelope = await store.get(vault, '_meta', COVER_RECORD_ID)\n if (!envelope) return undefined\n try {\n const parsed = JSON.parse(envelope._data) as unknown\n if (!isCover(parsed)) return undefined\n return parsed\n } catch {\n return undefined\n }\n}\n\n/** Persist the cover. Idempotent — overwrites any prior write. */\nexport async function saveCover(\n store: NoydbStore,\n vault: string,\n cover: Cover,\n): Promise<void> {\n const wireEnvelope = buildRecordEnvelope(\n { collection: '_meta', id: COVER_RECORD_ID, version: 1 },\n { iv: '', data: JSON.stringify(cover) },\n )\n await store.put(vault, '_meta', COVER_RECORD_ID, wireEnvelope)\n}\n\n/**\n * Public, no-key reader. Plain function, not a method on `Noydb` —\n * the whole point is it works without an authenticated session, so\n * a UI can show \"Acme 2026 Tax Records\" before unlocking.\n *\n * Resolves any `name` / `description` locale map through the supplied\n * `locale` (when provided). Omitting `locale` returns the raw\n * cover, which a multilingual picker can render as it pleases.\n */\nexport async function readCover(\n store: NoydbStore,\n vault: string,\n opts: { readonly locale?: string } = {},\n): Promise<Cover | undefined> {\n const raw = await loadCover(store, vault)\n if (!raw) return undefined\n if (opts.locale === undefined) return raw\n return resolveLocale(raw, opts.locale)\n}\n\n/**\n * Resolve the locale-map fields (`name`, `description`) of a cover\n * to plain strings for the requested locale, falling back through\n * `defaultLocale` and then any available translation.\n *\n * @internal\n */\nexport function resolveLocale(\n cover: Cover,\n locale: string,\n): Cover {\n return {\n ...cover,\n ...(cover.name !== undefined ? { name: pickLocale(cover.name, locale, cover.defaultLocale) } : {}),\n ...(cover.description !== undefined ? { description: pickLocale(cover.description, locale, cover.defaultLocale) } : {}),\n }\n}\n\n/**\n * Resolve a `string | { [locale]: string }` value to a string for a\n * given locale. Exported so the bundle reader can reuse it without\n * duplicating the fallback chain.\n *\n * **Looser than `resolveI18nText`** — the hub's record-field resolver\n * throws `LocaleNotSpecifiedError` when no translation matches, but\n * label semantics deliberately prefer \"show *something*\" over\n * throwing. The fallback chain is:\n * 1. Exact `locale` match.\n * 2. `defaultLocale` (when supplied on the cover).\n * 3. First non-empty value in the map.\n * 4. Empty string (only if every translation is empty — pathological).\n *\n * This deviation is documented in `https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/public-envelope.md`.\n */\nexport function pickLocale(\n value: string | Record<string, string>,\n locale: string,\n defaultLocale: string | undefined,\n): string {\n if (typeof value === 'string') return value\n if (value[locale] !== undefined && value[locale] !== '') return value[locale]\n if (defaultLocale && value[defaultLocale] !== undefined && value[defaultLocale] !== '') {\n return value[defaultLocale]\n }\n for (const v of Object.values(value)) {\n if (v !== '') return v\n }\n return ''\n}\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/with-shape/introspection/walk.ts"],"sourcesContent":["/**\n * Orchestrate the structural walk of a Vault, producing a\n * {@link VaultSchemaSnapshot}. Called from `Vault.dumpSchema()`.\n *\n * @module\n */\n\nimport { derivePersistedSchema } from '../persisted-schemas/derive.js'\nimport { loadPersistedSchema } from '../persisted-schemas/storage.js'\nimport { fallbackDerivationName } from './derivation-key.js'\nimport { jsonSchemaToFields } from './fields.js'\nimport type {\n CollectionConfig,\n CollectionDescriptor,\n CollectionStats,\n DumpSchemaOptions,\n FieldDescriptor,\n InternalCollectionStats,\n MaterializedViewDescriptor,\n OverlayViewDescriptor,\n DerivationDescriptor,\n VaultSchemaSnapshot,\n} from './types.js'\nimport type { Collection } from '../../kernel/collection.js'\nimport type { NoydbStore } from '../../kernel/types.js'\nimport type { UnlockedKeyring } from '../../with-party/team/keyring.js'\nimport type { RefRegistry } from '../../kernel/refs.js'\nimport type { VaultMeta } from './meta.js'\nimport type { EnclaveKey } from '../../kernel/enclave/index.js'\n\n/**\n * The minimal slice of Vault internal state the walker needs.\n * Exposed via `vault._introspectState()` to keep the public Vault\n * surface narrow.\n *\n * @internal\n */\nexport interface VaultIntrospectState {\n readonly name: string\n readonly adapter: NoydbStore\n readonly collectionCache: Map<string, Collection<unknown>>\n readonly refRegistry: RefRegistry\n readonly getDEK: (collectionName: string) => Promise<EnclaveKey>\n /** The active unlocked keyring — role/permissions/userId for access-scoped ops. */\n readonly keyring: UnlockedKeyring\n readonly subsystems: Record<string, boolean>\n /** Vault-level descriptive metadata, when set via `openVault({meta})`. */\n readonly vaultMeta?: VaultMeta\n // Typed loosely on purpose — these are private service registries\n // accessed only for \"is anything registered\" enumeration.\n readonly mvRegistry: unknown\n readonly overlayRegistry: unknown\n readonly derivationRegistry: unknown\n /**\n * Returns the registered schema-update strategy names for a collection,\n * or `undefined` when none are registered. Populated from\n * `vault.#schemaUpdateNames` in `_introspectState()`.\n */\n readonly getCollectionSchemaUpdateNames?: (col: string) => readonly string[] | undefined\n /**\n * Returns `true` when the collection has an archive policy registered\n * in `vault.archiveRegistry`, `false` otherwise. Populated from\n * `vault.archiveRegistry` in `_introspectState()`.\n */\n readonly hasCollectionArchive?: (col: string) => boolean\n}\n\nconst INTERNAL_PREFIX = '_'\n\n/** Reserved internal collections always present in any real vault. */\nconst KNOWN_INTERNAL_NAMES = ['_keyring', '_ledger', '_meta', '_schemas', '_deltas']\n\nexport async function dumpVaultSchema(\n vault: { _introspectState(): VaultIntrospectState },\n opts: DumpSchemaOptions,\n): Promise<VaultSchemaSnapshot> {\n const state = vault._introspectState()\n const sampleSize = opts.sampleSize ?? 50\n const withStats = opts.withStats === true\n\n // 1. User-facing collections — alphabetical for diff stability\n const cacheNames = [...state.collectionCache.keys()]\n const storageNames = (await safeListAllCollections(state.adapter, state.name))\n .filter((n) => !n.startsWith(INTERNAL_PREFIX))\n const allNames = Array.from(new Set([...cacheNames, ...storageNames])).sort()\n\n const collections: Record<string, CollectionDescriptor> = {}\n for (const name of allNames) {\n collections[name] = await describeCollection(state, name, sampleSize, withStats)\n }\n\n // 2. Materialized views (placeholder — real walk in MV slice 2 follow-up)\n const materializedViews = describeMVs(state.mvRegistry)\n // 3. Overlay views\n const overlayViews = describeOverlays(state.overlayRegistry)\n // 4. Derivations\n const derivations = describeDerivations(state.derivationRegistry)\n\n // 5. Internal collections — only with stats\n let internal: Record<string, InternalCollectionStats> | undefined\n if (withStats) {\n internal = {}\n for (const name of KNOWN_INTERNAL_NAMES) {\n const stats = await statsForCollection(state.adapter, state.name, name)\n if (stats.records > 0) {\n internal[name] = { records: stats.records, bytes: stats.bytes }\n }\n }\n }\n\n const snap: VaultSchemaSnapshot = {\n _noydb_snapshot: 1,\n vault: state.name,\n emittedAt: new Date().toISOString(),\n subsystems: state.subsystems,\n ...(state.vaultMeta !== undefined ? { meta: state.vaultMeta } : {}),\n collections,\n materializedViews,\n overlayViews,\n derivations,\n ...(internal !== undefined ? { internal } : {}),\n }\n return snap\n}\n\nasync function safeListAllCollections(adapter: NoydbStore, vault: string): Promise<string[]> {\n try {\n const snap = await adapter.loadAll(vault)\n return Object.keys(snap)\n } catch {\n return []\n }\n}\n\nasync function describeCollection(\n state: VaultIntrospectState,\n collectionName: string,\n sampleSize: number,\n withStats: boolean,\n): Promise<CollectionDescriptor> {\n let fields: Record<string, FieldDescriptor> = {}\n let validator: CollectionDescriptor['validator']\n\n const refsRaw = state.refRegistry.getOutbound(collectionName)\n const refs: CollectionDescriptor['refs'] = {}\n for (const [name, desc] of Object.entries(refsRaw)) {\n refs[name] = { target: desc.target, mode: desc.mode, ...(desc.isArray ? { isArray: true } : {}) }\n }\n\n // 1. Try the persisted Route B envelope first.\n try {\n const dek = await state.getDEK(collectionName)\n const persisted = await loadPersistedSchema(state.adapter, state.name, collectionName, dek)\n if (persisted) {\n validator = { kind: persisted.kind, source: 'persisted' }\n if (persisted.jsonSchema) {\n fields = jsonSchemaToFields(persisted.jsonSchema, 'persisted', refsRaw)\n }\n }\n } catch {\n // No DEK or decrypt failure — fall through to live-validator\n }\n\n const liveColl = state.collectionCache.get(collectionName)\n\n // 2. Try the live in-process validator (when no persisted envelope).\n if (!validator) {\n const schema = liveColl?.getSchema()\n if (schema) {\n try {\n const derived = await derivePersistedSchema(schema)\n validator = { kind: derived.kind, source: 'live-validator' }\n if (derived.jsonSchema) {\n fields = jsonSchemaToFields(derived.jsonSchema, 'live-validator', refsRaw)\n }\n } catch {\n // Derivation failed (e.g. missing peer-dep) — silently leave fields empty\n }\n }\n }\n\n // 3. Sampling fallback — deferred to a follow-up. For now: empty when no schema.\n if (Object.keys(fields).length === 0 && sampleSize > 0) {\n // Sampling path not implemented in baseline slice 2; reserved for follow-up.\n }\n\n // Populate collection-level meta and config from the live collection when available.\n const collMeta = liveColl?.getMeta()\n const collConfig = liveColl?.getConfig()\n\n // Thread vault-level config (archive + schemaUpdate) that the Collection cannot see.\n const archivePresent = state.hasCollectionArchive?.(collectionName) === true\n const schemaUpdateNames = state.getCollectionSchemaUpdateNames?.(collectionName)\n const hasSchemaUpdate = schemaUpdateNames !== undefined && schemaUpdateNames.length > 0\n\n // Merge Collection-level config with vault-level fields. Omit config entirely\n // when all sources are empty.\n let mergedConfig: CollectionConfig | undefined\n if (collConfig !== undefined || archivePresent || hasSchemaUpdate) {\n mergedConfig = {\n ...(collConfig ?? {}),\n ...(archivePresent ? { archive: true as const } : {}),\n ...(hasSchemaUpdate ? { schemaUpdate: schemaUpdateNames } : {}),\n }\n }\n\n const descriptor: CollectionDescriptor = {\n fields,\n indexes: liveColl?.getDeclaredIndexes() ?? [],\n refs,\n ...(validator ? { validator } : {}),\n ...(collMeta !== undefined ? { meta: collMeta } : {}),\n ...(mergedConfig !== undefined ? { config: mergedConfig } : {}),\n }\n if (withStats) {\n const stats = await statsForCollection(state.adapter, state.name, collectionName)\n ;(descriptor as { stats?: CollectionStats }).stats = stats\n }\n return descriptor\n}\n\nasync function statsForCollection(\n adapter: NoydbStore,\n vault: string,\n collection: string,\n): Promise<CollectionStats> {\n const ids = await adapter.list(vault, collection)\n if (ids.length === 0) {\n return { records: 0, bytes: 0, bytesAvg: 0, bytesMin: 0, bytesMax: 0, oldest: '', newest: '' }\n }\n let total = 0\n let min = Number.POSITIVE_INFINITY\n let max = 0\n let oldest = '￿'\n let newest = ''\n for (const id of ids) {\n const env = await adapter.get(vault, collection, id)\n if (!env) continue\n const size = env._data.length\n total += size\n if (size < min) min = size\n if (size > max) max = size\n if (env._ts < oldest) oldest = env._ts\n if (env._ts > newest) newest = env._ts\n }\n return {\n records: ids.length,\n bytes: total,\n bytesAvg: Math.round(total / ids.length),\n bytesMin: min === Number.POSITIVE_INFINITY ? 0 : min,\n bytesMax: max,\n oldest: oldest === '￿' ? '' : oldest,\n newest,\n }\n}\n\nfunction describeMVs(registry: unknown): Record<string, MaterializedViewDescriptor> {\n if (!registry || typeof registry !== 'object') return {}\n const items = listFromRegistry(registry as Record<string, unknown>)\n const out: Record<string, MaterializedViewDescriptor> = {}\n // Each item is RegisteredMV { spec, dependencies, outputCollection, ... }\n for (const item of items) {\n const reg = item as {\n spec?: {\n name?: string\n unionSources?: ReadonlyArray<{ collection: string }>\n groupBy?: string | ReadonlyArray<string>\n aggregate?: Record<string, unknown>\n refresh?: string\n }\n dependencies?: ReadonlySet<string>\n }\n const spec = reg.spec\n if (!spec?.name) continue\n const sources = spec.unionSources\n ? spec.unionSources.map((u) => u.collection)\n : (reg.dependencies ? [...reg.dependencies].sort() : [])\n const groupBy = spec.groupBy\n ? Array.isArray(spec.groupBy) ? [...spec.groupBy] : [spec.groupBy]\n : undefined\n const aggregate = spec.aggregate ? Object.fromEntries(\n Object.entries(spec.aggregate).map(([k, v]) => [k, summariseAggregateOp(v)]),\n ) : undefined\n out[spec.name] = {\n sources,\n ...(groupBy ? { groupBy } : {}),\n ...(aggregate ? { aggregate } : {}),\n refresh: spec.refresh ?? 'eager',\n }\n }\n return out\n}\n\nfunction describeOverlays(registry: unknown): Record<string, OverlayViewDescriptor> {\n if (!registry || typeof registry !== 'object') return {}\n const specs = listFromRegistry(registry as Record<string, unknown>)\n const out: Record<string, OverlayViewDescriptor> = {}\n for (const spec of specs) {\n const s = spec as { name?: string; base?: string; overlay?: string }\n if (!s.name || !s.base || !s.overlay) continue\n out[s.name] = { base: s.base, overlay: s.overlay }\n }\n return out\n}\n\nfunction describeDerivations(registry: unknown): Record<string, DerivationDescriptor> {\n if (!registry || typeof registry !== 'object') return {}\n const items = listFromRegistry(registry as Record<string, unknown>)\n const out: Record<string, DerivationDescriptor> = {}\n const used = new Set<string>()\n // Pre-seed with every explicit name BEFORE keying any derivation, so an\n // unnamed derivation's fallback key never collides with (and clobbers) a\n // named one, regardless of registration order (#973).\n for (const item of items) {\n const reg = item as { spec?: { name?: string }; name?: string }\n const explicitName = (reg.spec ?? reg).name\n if (explicitName !== undefined) used.add(explicitName)\n }\n for (const item of items) {\n // `all()` on DerivationRegistry returns RegisteredStrategy objects:\n // { spec: DerivationSpec, strategyHash }. Read `spec` and fall\n // back to the item itself for forward-compat with other registries.\n const reg = item as { spec?: { name?: string; source?: string; outputs?: Record<string, { collection: string }> }; name?: string; source?: string; outputs?: Record<string, { collection: string }> }\n const s = reg.spec ?? reg\n if (!s.source) continue\n const outputCollections = s.outputs\n ? Object.values(s.outputs).map((o) => (o as { collection: string }).collection)\n : []\n // Named derivations key by their (vault-unique) `name`. Unnamed ones key\n // by the shared collision-safe fallback (sorted output collections, else\n // source, with a `#occurrence` suffix on collision) — the SAME algorithm\n // `listBehaviors` uses (`./derivation-key.ts`) so both surfaces key an\n // unnamed derivation identically.\n const key = s.name ?? fallbackDerivationName(outputCollections, s.source, used)\n if (s.name === undefined) used.add(key)\n out[key] = {\n source: s.source,\n outputs: outputCollections,\n ...(s.name !== undefined ? { name: s.name } : {}),\n }\n }\n return out\n}\n\nfunction listFromRegistry(reg: Record<string, unknown>): readonly unknown[] {\n // Registries expose different accessor methods; try the common ones.\n for (const method of ['all', 'list', 'specs', 'values']) {\n const fn = reg[method]\n if (typeof fn === 'function') {\n try {\n const out = (fn as () => unknown).call(reg)\n if (Array.isArray(out)) return out\n if (out && typeof (out as { values?: () => unknown }).values === 'function') {\n return [...(out as { values: () => Iterable<unknown> }).values()]\n }\n } catch {\n continue\n }\n }\n }\n return []\n}\n\nfunction summariseAggregateOp(value: unknown): string {\n if (value && typeof value === 'object') {\n const op = (value as { op?: string; kind?: string; field?: string }).op\n ?? (value as { kind?: string }).kind\n const field = (value as { field?: string }).field\n if (op && field) return `${op}(${field})`\n if (op) return op\n }\n return String(value)\n}\n"],"mappings":";;;;;;;;;;;;;;AAmEA,IAAM,kBAAkB;AAGxB,IAAM,uBAAuB,CAAC,YAAY,WAAW,SAAS,YAAY,SAAS;AAEnF,eAAsB,gBACpB,OACA,MAC8B;AAC9B,QAAM,QAAQ,MAAM,iBAAiB;AACrC,QAAM,aAAa,KAAK,cAAc;AACtC,QAAM,YAAY,KAAK,cAAc;AAGrC,QAAM,aAAa,CAAC,GAAG,MAAM,gBAAgB,KAAK,CAAC;AACnD,QAAM,gBAAgB,MAAM,uBAAuB,MAAM,SAAS,MAAM,IAAI,GACzE,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,eAAe,CAAC;AAC/C,QAAM,WAAW,MAAM,KAAK,oBAAI,IAAI,CAAC,GAAG,YAAY,GAAG,YAAY,CAAC,CAAC,EAAE,KAAK;AAE5E,QAAM,cAAoD,CAAC;AAC3D,aAAW,QAAQ,UAAU;AAC3B,gBAAY,IAAI,IAAI,MAAM,mBAAmB,OAAO,MAAM,YAAY,SAAS;AAAA,EACjF;AAGA,QAAM,oBAAoB,YAAY,MAAM,UAAU;AAEtD,QAAM,eAAe,iBAAiB,MAAM,eAAe;AAE3D,QAAM,cAAc,oBAAoB,MAAM,kBAAkB;AAGhE,MAAI;AACJ,MAAI,WAAW;AACb,eAAW,CAAC;AACZ,eAAW,QAAQ,sBAAsB;AACvC,YAAM,QAAQ,MAAM,mBAAmB,MAAM,SAAS,MAAM,MAAM,IAAI;AACtE,UAAI,MAAM,UAAU,GAAG;AACrB,iBAAS,IAAI,IAAI,EAAE,SAAS,MAAM,SAAS,OAAO,MAAM,MAAM;AAAA,MAChE;AAAA,IACF;AAAA,EACF;AAEA,QAAM,OAA4B;AAAA,IAChC,iBAAiB;AAAA,IACjB,OAAO,MAAM;AAAA,IACb,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,IAClC,YAAY,MAAM;AAAA,IAClB,GAAI,MAAM,cAAc,SAAY,EAAE,MAAM,MAAM,UAAU,IAAI,CAAC;AAAA,IACjE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAI,aAAa,SAAY,EAAE,SAAS,IAAI,CAAC;AAAA,EAC/C;AACA,SAAO;AACT;AAEA,eAAe,uBAAuB,SAAqB,OAAkC;AAC3F,MAAI;AACF,UAAM,OAAO,MAAM,QAAQ,QAAQ,KAAK;AACxC,WAAO,OAAO,KAAK,IAAI;AAAA,EACzB,QAAQ;AACN,WAAO,CAAC;AAAA,EACV;AACF;AAEA,eAAe,mBACb,OACA,gBACA,YACA,WAC+B;AAC/B,MAAI,SAA0C,CAAC;AAC/C,MAAI;AAEJ,QAAM,UAAU,MAAM,YAAY,YAAY,cAAc;AAC5D,QAAM,OAAqC,CAAC;AAC5C,aAAW,CAAC,MAAM,IAAI,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,SAAK,IAAI,IAAI,EAAE,QAAQ,KAAK,QAAQ,MAAM,KAAK,MAAM,GAAI,KAAK,UAAU,EAAE,SAAS,KAAK,IAAI,CAAC,EAAG;AAAA,EAClG;AAGA,MAAI;AACF,UAAM,MAAM,MAAM,MAAM,OAAO,cAAc;AAC7C,UAAM,YAAY,MAAM,oBAAoB,MAAM,SAAS,MAAM,MAAM,gBAAgB,GAAG;AAC1F,QAAI,WAAW;AACb,kBAAY,EAAE,MAAM,UAAU,MAAM,QAAQ,YAAY;AACxD,UAAI,UAAU,YAAY;AACxB,iBAAS,mBAAmB,UAAU,YAAY,aAAa,OAAO;AAAA,MACxE;AAAA,IACF;AAAA,EACF,QAAQ;AAAA,EAER;AAEA,QAAM,WAAW,MAAM,gBAAgB,IAAI,cAAc;AAGzD,MAAI,CAAC,WAAW;AACd,UAAM,SAAS,UAAU,UAAU;AACnC,QAAI,QAAQ;AACV,UAAI;AACF,cAAM,UAAU,MAAM,sBAAsB,MAAM;AAClD,oBAAY,EAAE,MAAM,QAAQ,MAAM,QAAQ,iBAAiB;AAC3D,YAAI,QAAQ,YAAY;AACtB,mBAAS,mBAAmB,QAAQ,YAAY,kBAAkB,OAAO;AAAA,QAC3E;AAAA,MACF,QAAQ;AAAA,MAER;AAAA,IACF;AAAA,EACF;AAGA,MAAI,OAAO,KAAK,MAAM,EAAE,WAAW,KAAK,aAAa,GAAG;AAAA,EAExD;AAGA,QAAM,WAAW,UAAU,QAAQ;AACnC,QAAM,aAAa,UAAU,UAAU;AAGvC,QAAM,iBAAiB,MAAM,uBAAuB,cAAc,MAAM;AACxE,QAAM,oBAAoB,MAAM,iCAAiC,cAAc;AAC/E,QAAM,kBAAkB,sBAAsB,UAAa,kBAAkB,SAAS;AAItF,MAAI;AACJ,MAAI,eAAe,UAAa,kBAAkB,iBAAiB;AACjE,mBAAe;AAAA,MACb,GAAI,cAAc,CAAC;AAAA,MACnB,GAAI,iBAAiB,EAAE,SAAS,KAAc,IAAI,CAAC;AAAA,MACnD,GAAI,kBAAkB,EAAE,cAAc,kBAAkB,IAAI,CAAC;AAAA,IAC/D;AAAA,EACF;AAEA,QAAM,aAAmC;AAAA,IACvC;AAAA,IACA,SAAS,UAAU,mBAAmB,KAAK,CAAC;AAAA,IAC5C;AAAA,IACA,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,IACjC,GAAI,aAAa,SAAY,EAAE,MAAM,SAAS,IAAI,CAAC;AAAA,IACnD,GAAI,iBAAiB,SAAY,EAAE,QAAQ,aAAa,IAAI,CAAC;AAAA,EAC/D;AACA,MAAI,WAAW;AACb,UAAM,QAAQ,MAAM,mBAAmB,MAAM,SAAS,MAAM,MAAM,cAAc;AAC/E,IAAC,WAA2C,QAAQ;AAAA,EACvD;AACA,SAAO;AACT;AAEA,eAAe,mBACb,SACA,OACA,YAC0B;AAC1B,QAAM,MAAM,MAAM,QAAQ,KAAK,OAAO,UAAU;AAChD,MAAI,IAAI,WAAW,GAAG;AACpB,WAAO,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,IAAI,QAAQ,GAAG;AAAA,EAC/F;AACA,MAAI,QAAQ;AACZ,MAAI,MAAM,OAAO;AACjB,MAAI,MAAM;AACV,MAAI,SAAS;AACb,MAAI,SAAS;AACb,aAAW,MAAM,KAAK;AACpB,UAAM,MAAM,MAAM,QAAQ,IAAI,OAAO,YAAY,EAAE;AACnD,QAAI,CAAC,IAAK;AACV,UAAM,OAAO,IAAI,MAAM;AACvB,aAAS;AACT,QAAI,OAAO,IAAK,OAAM;AACtB,QAAI,OAAO,IAAK,OAAM;AACtB,QAAI,IAAI,MAAM,OAAQ,UAAS,IAAI;AACnC,QAAI,IAAI,MAAM,OAAQ,UAAS,IAAI;AAAA,EACrC;AACA,SAAO;AAAA,IACL,SAAS,IAAI;AAAA,IACb,OAAO;AAAA,IACP,UAAU,KAAK,MAAM,QAAQ,IAAI,MAAM;AAAA,IACvC,UAAU,QAAQ,OAAO,oBAAoB,IAAI;AAAA,IACjD,UAAU;AAAA,IACV,QAAQ,WAAW,WAAM,KAAK;AAAA,IAC9B;AAAA,EACF;AACF;AAEA,SAAS,YAAY,UAA+D;AAClF,MAAI,CAAC,YAAY,OAAO,aAAa,SAAU,QAAO,CAAC;AACvD,QAAM,QAAQ,iBAAiB,QAAmC;AAClE,QAAM,MAAkD,CAAC;AAEzD,aAAW,QAAQ,OAAO;AACxB,UAAM,MAAM;AAUZ,UAAM,OAAO,IAAI;AACjB,QAAI,CAAC,MAAM,KAAM;AACjB,UAAM,UAAU,KAAK,eACjB,KAAK,aAAa,IAAI,CAAC,MAAM,EAAE,UAAU,IACxC,IAAI,eAAe,CAAC,GAAG,IAAI,YAAY,EAAE,KAAK,IAAI,CAAC;AACxD,UAAM,UAAU,KAAK,UACjB,MAAM,QAAQ,KAAK,OAAO,IAAI,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,OAAO,IAC/D;AACJ,UAAM,YAAY,KAAK,YAAY,OAAO;AAAA,MACxC,OAAO,QAAQ,KAAK,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;AAAA,IAC7E,IAAI;AACJ,QAAI,KAAK,IAAI,IAAI;AAAA,MACf;AAAA,MACA,GAAI,UAAU,EAAE,QAAQ,IAAI,CAAC;AAAA,MAC7B,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MACjC,SAAS,KAAK,WAAW;AAAA,IAC3B;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,iBAAiB,UAA0D;AAClF,MAAI,CAAC,YAAY,OAAO,aAAa,SAAU,QAAO,CAAC;AACvD,QAAM,QAAQ,iBAAiB,QAAmC;AAClE,QAAM,MAA6C,CAAC;AACpD,aAAW,QAAQ,OAAO;AACxB,UAAM,IAAI;AACV,QAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAS;AACtC,QAAI,EAAE,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,SAAS,EAAE,QAAQ;AAAA,EACnD;AACA,SAAO;AACT;AAEA,SAAS,oBAAoB,UAAyD;AACpF,MAAI,CAAC,YAAY,OAAO,aAAa,SAAU,QAAO,CAAC;AACvD,QAAM,QAAQ,iBAAiB,QAAmC;AAClE,QAAM,MAA4C,CAAC;AACnD,QAAM,OAAO,oBAAI,IAAY;AAI7B,aAAW,QAAQ,OAAO;AACxB,UAAM,MAAM;AACZ,UAAM,gBAAgB,IAAI,QAAQ,KAAK;AACvC,QAAI,iBAAiB,OAAW,MAAK,IAAI,YAAY;AAAA,EACvD;AACA,aAAW,QAAQ,OAAO;AAIxB,UAAM,MAAM;AACZ,UAAM,IAAI,IAAI,QAAQ;AACtB,QAAI,CAAC,EAAE,OAAQ;AACf,UAAM,oBAAoB,EAAE,UACxB,OAAO,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,MAAO,EAA6B,UAAU,IAC5E,CAAC;AAML,UAAM,MAAM,EAAE,QAAQ,uBAAuB,mBAAmB,EAAE,QAAQ,IAAI;AAC9E,QAAI,EAAE,SAAS,OAAW,MAAK,IAAI,GAAG;AACtC,QAAI,GAAG,IAAI;AAAA,MACT,QAAQ,EAAE;AAAA,MACV,SAAS;AAAA,MACT,GAAI,EAAE,SAAS,SAAY,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;AAAA,IACjD;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,iBAAiB,KAAkD;AAE1E,aAAW,UAAU,CAAC,OAAO,QAAQ,SAAS,QAAQ,GAAG;AACvD,UAAM,KAAK,IAAI,MAAM;AACrB,QAAI,OAAO,OAAO,YAAY;AAC5B,UAAI;AACF,cAAM,MAAO,GAAqB,KAAK,GAAG;AAC1C,YAAI,MAAM,QAAQ,GAAG,EAAG,QAAO;AAC/B,YAAI,OAAO,OAAQ,IAAmC,WAAW,YAAY;AAC3E,iBAAO,CAAC,GAAI,IAA4C,OAAO,CAAC;AAAA,QAClE;AAAA,MACF,QAAQ;AACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO,CAAC;AACV;AAEA,SAAS,qBAAqB,OAAwB;AACpD,MAAI,SAAS,OAAO,UAAU,UAAU;AACtC,UAAM,KAAM,MAAyD,MAC/D,MAA4B;AAClC,UAAM,QAAS,MAA6B;AAC5C,QAAI,MAAM,MAAO,QAAO,GAAG,EAAE,IAAI,KAAK;AACtC,QAAI,GAAI,QAAO;AAAA,EACjB;AACA,SAAO,OAAO,KAAK;AACrB;","names":[]}