mongoku 2.0.4 → 2.1.1

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 (426) hide show
  1. package/README.md +18 -4
  2. package/build/client/_app/immutable/assets/0.egX7ddQL.css +1 -0
  3. package/build/client/_app/immutable/assets/0.egX7ddQL.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.egX7ddQL.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/10.59aTjJn9.css +1 -0
  6. package/build/client/_app/immutable/assets/10.59aTjJn9.css.br +0 -0
  7. package/build/client/_app/immutable/assets/10.59aTjJn9.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/11.CEtFGlZU.css +1 -0
  9. package/build/client/_app/immutable/assets/11.CEtFGlZU.css.br +1 -0
  10. package/build/client/_app/immutable/assets/11.CEtFGlZU.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/12.BdCOhvz0.css +1 -0
  12. package/build/client/_app/immutable/assets/12.BdCOhvz0.css.br +0 -0
  13. package/build/client/_app/immutable/assets/12.BdCOhvz0.css.gz +0 -0
  14. package/build/client/_app/immutable/assets/JsonValue.BEbzuWqZ.css +1 -0
  15. package/build/client/_app/immutable/assets/JsonValue.BEbzuWqZ.css.br +0 -0
  16. package/build/client/_app/immutable/assets/JsonValue.BEbzuWqZ.css.gz +0 -0
  17. package/build/client/_app/immutable/assets/Modal.DIIFkbGB.css +1 -0
  18. package/build/client/_app/immutable/assets/Modal.DIIFkbGB.css.br +0 -0
  19. package/build/client/_app/immutable/assets/Modal.DIIFkbGB.css.gz +0 -0
  20. package/build/client/_app/immutable/assets/Panel.B3aWupye.css +1 -0
  21. package/build/client/_app/immutable/assets/Panel.B3aWupye.css.br +0 -0
  22. package/build/client/_app/immutable/assets/Panel.B3aWupye.css.gz +0 -0
  23. package/build/client/_app/immutable/chunks/3iRu_dUj.js +2 -0
  24. package/build/client/_app/immutable/chunks/3iRu_dUj.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/3iRu_dUj.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/{ChWB6xnu.js → 4l_AWZos.js} +1 -1
  27. package/build/client/_app/immutable/chunks/4l_AWZos.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/4l_AWZos.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/5nAxkTTP.js +1 -0
  30. package/build/client/_app/immutable/chunks/5nAxkTTP.js.br +5 -0
  31. package/build/client/_app/immutable/chunks/5nAxkTTP.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/BBg-V8FE.js +1 -0
  33. package/build/client/_app/immutable/chunks/BBg-V8FE.js.br +0 -0
  34. package/build/client/_app/immutable/chunks/BBg-V8FE.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/BE8UzJuY.js +1 -0
  36. package/build/client/_app/immutable/chunks/BE8UzJuY.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/BE8UzJuY.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/BUNgwIS0.js +1 -0
  39. package/build/client/_app/immutable/chunks/BUNgwIS0.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/BUNgwIS0.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/BjzB4NFq.js +1 -0
  42. package/build/client/_app/immutable/chunks/BjzB4NFq.js.br +0 -0
  43. package/build/client/_app/immutable/chunks/BjzB4NFq.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/BtCOrwSt.js +1 -0
  45. package/build/client/_app/immutable/chunks/BtCOrwSt.js.br +0 -0
  46. package/build/client/_app/immutable/chunks/BtCOrwSt.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/BvKY81hz.js +1 -0
  48. package/build/client/_app/immutable/chunks/BvKY81hz.js.br +0 -0
  49. package/build/client/_app/immutable/chunks/BvKY81hz.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/{DQkpHJGc.js → C0PCwpqt.js} +1 -1
  51. package/build/client/_app/immutable/chunks/C0PCwpqt.js.br +0 -0
  52. package/build/client/_app/immutable/chunks/C0PCwpqt.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/C82Rp5eQ.js +1 -0
  54. package/build/client/_app/immutable/chunks/C82Rp5eQ.js.br +0 -0
  55. package/build/client/_app/immutable/chunks/C82Rp5eQ.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/CEvYYWlm.js +2 -0
  57. package/build/client/_app/immutable/chunks/CEvYYWlm.js.br +0 -0
  58. package/build/client/_app/immutable/chunks/CEvYYWlm.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/CT5SFbzp.js +1 -0
  60. package/build/client/_app/immutable/chunks/CT5SFbzp.js.br +0 -0
  61. package/build/client/_app/immutable/chunks/CT5SFbzp.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/CcyPStn-.js +1 -0
  63. package/build/client/_app/immutable/chunks/CcyPStn-.js.br +0 -0
  64. package/build/client/_app/immutable/chunks/CcyPStn-.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/Cx2cA4gg.js +1 -0
  66. package/build/client/_app/immutable/chunks/Cx2cA4gg.js.br +0 -0
  67. package/build/client/_app/immutable/chunks/Cx2cA4gg.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/D5ccpaXt.js +1 -0
  69. package/build/client/_app/immutable/chunks/D5ccpaXt.js.br +0 -0
  70. package/build/client/_app/immutable/chunks/D5ccpaXt.js.gz +0 -0
  71. package/build/client/_app/immutable/chunks/D64wQeYi.js +1 -0
  72. package/build/client/_app/immutable/chunks/D64wQeYi.js.br +0 -0
  73. package/build/client/_app/immutable/chunks/D64wQeYi.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/D7E46CWw.js +1 -0
  75. package/build/client/_app/immutable/chunks/D7E46CWw.js.br +0 -0
  76. package/build/client/_app/immutable/chunks/D7E46CWw.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/DR9xdhsg.js +1 -0
  78. package/build/client/_app/immutable/chunks/DR9xdhsg.js.br +0 -0
  79. package/build/client/_app/immutable/chunks/DR9xdhsg.js.gz +0 -0
  80. package/build/client/_app/immutable/chunks/DVJuGan7.js +1 -0
  81. package/build/client/_app/immutable/chunks/DVJuGan7.js.br +0 -0
  82. package/build/client/_app/immutable/chunks/DVJuGan7.js.gz +0 -0
  83. package/build/client/_app/immutable/chunks/Dx86XS0G.js +1 -0
  84. package/build/client/_app/immutable/chunks/Dx86XS0G.js.br +4 -0
  85. package/build/client/_app/immutable/chunks/Dx86XS0G.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/lkkUcQuO.js +29 -0
  87. package/build/client/_app/immutable/chunks/lkkUcQuO.js.br +0 -0
  88. package/build/client/_app/immutable/chunks/lkkUcQuO.js.gz +0 -0
  89. package/build/client/_app/immutable/chunks/nVJvgG3c.js +4 -0
  90. package/build/client/_app/immutable/chunks/nVJvgG3c.js.br +0 -0
  91. package/build/client/_app/immutable/chunks/nVJvgG3c.js.gz +0 -0
  92. package/build/client/_app/immutable/entry/app.g5qLQ5x2.js +2 -0
  93. package/build/client/_app/immutable/entry/app.g5qLQ5x2.js.br +0 -0
  94. package/build/client/_app/immutable/entry/app.g5qLQ5x2.js.gz +0 -0
  95. package/build/client/_app/immutable/entry/start.C1uqw3sp.js +1 -0
  96. package/build/client/_app/immutable/entry/start.C1uqw3sp.js.br +2 -0
  97. package/build/client/_app/immutable/entry/start.C1uqw3sp.js.gz +0 -0
  98. package/build/client/_app/immutable/nodes/0.CD9yR-49.js +5 -0
  99. package/build/client/_app/immutable/nodes/0.CD9yR-49.js.br +0 -0
  100. package/build/client/_app/immutable/nodes/0.CD9yR-49.js.gz +0 -0
  101. package/build/client/_app/immutable/nodes/1.DztuiMqq.js +1 -0
  102. package/build/client/_app/immutable/nodes/1.DztuiMqq.js.br +0 -0
  103. package/build/client/_app/immutable/nodes/1.DztuiMqq.js.gz +0 -0
  104. package/build/client/_app/immutable/nodes/10.CWMFKPcE.js +2 -0
  105. package/build/client/_app/immutable/nodes/10.CWMFKPcE.js.br +0 -0
  106. package/build/client/_app/immutable/nodes/10.CWMFKPcE.js.gz +0 -0
  107. package/build/client/_app/immutable/nodes/11.-Y7Cu3Uv.js +1 -0
  108. package/build/client/_app/immutable/nodes/11.-Y7Cu3Uv.js.br +0 -0
  109. package/build/client/_app/immutable/nodes/11.-Y7Cu3Uv.js.gz +0 -0
  110. package/build/client/_app/immutable/nodes/12.wxif1TtN.js +1 -0
  111. package/build/client/_app/immutable/nodes/12.wxif1TtN.js.br +0 -0
  112. package/build/client/_app/immutable/nodes/12.wxif1TtN.js.gz +0 -0
  113. package/build/client/_app/immutable/nodes/13.CpyTaRSN.js +66 -0
  114. package/build/client/_app/immutable/nodes/13.CpyTaRSN.js.br +0 -0
  115. package/build/client/_app/immutable/nodes/13.CpyTaRSN.js.gz +0 -0
  116. package/build/client/_app/immutable/nodes/2.DwwrLLW4.js +1 -0
  117. package/build/client/_app/immutable/nodes/2.DwwrLLW4.js.br +1 -0
  118. package/build/client/_app/immutable/nodes/2.DwwrLLW4.js.gz +0 -0
  119. package/build/client/_app/immutable/nodes/3.t20GootO.js +1 -0
  120. package/build/client/_app/immutable/nodes/3.t20GootO.js.br +0 -0
  121. package/build/client/_app/immutable/nodes/3.t20GootO.js.gz +0 -0
  122. package/build/client/_app/immutable/nodes/4.CXHjkPtf.js +1 -0
  123. package/build/client/_app/immutable/nodes/4.CXHjkPtf.js.br +0 -0
  124. package/build/client/_app/immutable/nodes/4.CXHjkPtf.js.gz +0 -0
  125. package/build/client/_app/immutable/nodes/5.C9tcr5B0.js +1 -0
  126. package/build/client/_app/immutable/nodes/5.C9tcr5B0.js.br +0 -0
  127. package/build/client/_app/immutable/nodes/5.C9tcr5B0.js.gz +0 -0
  128. package/build/client/_app/immutable/nodes/7.DoT-dNUk.js +1 -0
  129. package/build/client/_app/immutable/nodes/7.DoT-dNUk.js.br +0 -0
  130. package/build/client/_app/immutable/nodes/7.DoT-dNUk.js.gz +0 -0
  131. package/build/client/_app/immutable/nodes/8.BFPkGTSl.js +1 -0
  132. package/build/client/_app/immutable/nodes/8.BFPkGTSl.js.br +0 -0
  133. package/build/client/_app/immutable/nodes/8.BFPkGTSl.js.gz +0 -0
  134. package/build/client/_app/immutable/nodes/9.Bk397TaK.js +2 -0
  135. package/build/client/_app/immutable/nodes/9.Bk397TaK.js.br +0 -0
  136. package/build/client/_app/immutable/nodes/9.Bk397TaK.js.gz +0 -0
  137. package/build/client/_app/version.json +1 -1
  138. package/build/client/_app/version.json.br +0 -0
  139. package/build/client/_app/version.json.gz +0 -0
  140. package/build/handler.js +14 -0
  141. package/build/server/chunks/{0-Cb5ytlMI.js → 0-hDOo8HzQ.js} +7 -6
  142. package/build/server/chunks/0-hDOo8HzQ.js.map +1 -0
  143. package/build/server/chunks/1-Dsw_dVjH.js +9 -0
  144. package/build/server/chunks/1-Dsw_dVjH.js.map +1 -0
  145. package/build/server/chunks/10-Xy0rxLNm.js +213 -0
  146. package/build/server/chunks/10-Xy0rxLNm.js.map +1 -0
  147. package/build/server/chunks/11-DBYsQ3ww.js +42 -0
  148. package/build/server/chunks/11-DBYsQ3ww.js.map +1 -0
  149. package/build/server/chunks/12-D4aSEhYN.js +102 -0
  150. package/build/server/chunks/12-D4aSEhYN.js.map +1 -0
  151. package/build/server/chunks/13-CNu_Hz8r.js +52 -0
  152. package/build/server/chunks/13-CNu_Hz8r.js.map +1 -0
  153. package/build/server/chunks/2-ClkERMhY.js +24 -0
  154. package/build/server/chunks/2-ClkERMhY.js.map +1 -0
  155. package/build/server/chunks/3-CTpqmxdo.js +25 -0
  156. package/build/server/chunks/3-CTpqmxdo.js.map +1 -0
  157. package/build/server/chunks/4-CUH4fZn8.js +25 -0
  158. package/build/server/chunks/4-CUH4fZn8.js.map +1 -0
  159. package/build/server/chunks/5-BSEdxfut.js +25 -0
  160. package/build/server/chunks/5-BSEdxfut.js.map +1 -0
  161. package/build/server/chunks/{2-B39zPvzn.js → 6-ifXBeMPA.js} +2 -2
  162. package/build/server/chunks/{2-B39zPvzn.js.map → 6-ifXBeMPA.js.map} +1 -1
  163. package/build/server/chunks/7-CJJMTAtJ.js +82 -0
  164. package/build/server/chunks/7-CJJMTAtJ.js.map +1 -0
  165. package/build/server/chunks/{4-DzHoLo__.js → 8-jBgxYwFg.js} +19 -10
  166. package/build/server/chunks/8-jBgxYwFg.js.map +1 -0
  167. package/build/server/chunks/{5-CCWbCDpk.js → 9-U8SAVx43.js} +7 -8
  168. package/build/server/chunks/9-U8SAVx43.js.map +1 -0
  169. package/build/server/chunks/JsonValue-B5gcBFcA.js +290 -0
  170. package/build/server/chunks/JsonValue-B5gcBFcA.js.map +1 -0
  171. package/build/server/chunks/Modal-zVnoAfFx.js +36 -0
  172. package/build/server/chunks/Modal-zVnoAfFx.js.map +1 -0
  173. package/build/server/chunks/{Panel-Bz0b85EW.js → Panel-yg5YKL4d.js} +4 -3
  174. package/build/server/chunks/Panel-yg5YKL4d.js.map +1 -0
  175. package/build/server/chunks/PrettyJson-mXYQacEL.js +137 -0
  176. package/build/server/chunks/PrettyJson-mXYQacEL.js.map +1 -0
  177. package/build/server/chunks/Tooltip-DflJLumT.js +38 -0
  178. package/build/server/chunks/Tooltip-DflJLumT.js.map +1 -0
  179. package/build/server/chunks/TooltipTable-BPMzcmqQ.js +60 -0
  180. package/build/server/chunks/TooltipTable-BPMzcmqQ.js.map +1 -0
  181. package/build/server/chunks/_layout.svelte-DMm1Ill8.js +168 -0
  182. package/build/server/chunks/_layout.svelte-DMm1Ill8.js.map +1 -0
  183. package/build/server/chunks/_page.svelte-B-dLNs2Q.js +199 -0
  184. package/build/server/chunks/_page.svelte-B-dLNs2Q.js.map +1 -0
  185. package/build/server/chunks/{_page.svelte-FLzHOuyK.js → _page.svelte-BBpDrOEz.js} +40 -22
  186. package/build/server/chunks/_page.svelte-BBpDrOEz.js.map +1 -0
  187. package/build/server/chunks/_page.svelte-C9OCv4Hv.js +204 -0
  188. package/build/server/chunks/_page.svelte-C9OCv4Hv.js.map +1 -0
  189. package/build/server/chunks/{_page.svelte-w9cxGvUf.js → _page.svelte-CvWJ35oO.js} +33 -13
  190. package/build/server/chunks/_page.svelte-CvWJ35oO.js.map +1 -0
  191. package/build/server/chunks/_page.svelte-DYHUokXG.js +297 -0
  192. package/build/server/chunks/_page.svelte-DYHUokXG.js.map +1 -0
  193. package/build/server/chunks/{_page.svelte-FIp-IsOo.js → _page.svelte-Ds1-yUh2.js} +64 -13
  194. package/build/server/chunks/_page.svelte-Ds1-yUh2.js.map +1 -0
  195. package/build/server/chunks/{_page.svelte-jxFKbZdN.js → _page.svelte-DzPMpozq.js} +9 -6
  196. package/build/server/chunks/_page.svelte-DzPMpozq.js.map +1 -0
  197. package/build/server/chunks/_server.ts-06lGoPp8.js +8 -0
  198. package/build/server/chunks/_server.ts-06lGoPp8.js.map +1 -0
  199. package/build/server/chunks/async-lVJA8xJZ.js +9 -0
  200. package/build/server/chunks/async-lVJA8xJZ.js.map +1 -0
  201. package/build/server/chunks/client-BFlyU7ZU.js +7 -0
  202. package/build/server/chunks/{client-bj7sePQc.js.map → client-BFlyU7ZU.js.map} +1 -1
  203. package/build/server/chunks/{client2-BX4-xbM4.js → client2-DYaMKWrc.js} +4 -4
  204. package/build/server/chunks/{client2-BX4-xbM4.js.map → client2-DYaMKWrc.js.map} +1 -1
  205. package/build/server/chunks/{async-BfR0vYHo.js → context-C22hLSHK.js} +2 -8
  206. package/build/server/chunks/context-C22hLSHK.js.map +1 -0
  207. package/build/server/chunks/error.svelte-BENdaVOT.js +19 -0
  208. package/build/server/chunks/error.svelte-BENdaVOT.js.map +1 -0
  209. package/build/server/chunks/event-DVH-6ISX.js.map +1 -1
  210. package/build/server/chunks/hooks.server-CagAPNr2.js +40 -0
  211. package/build/server/chunks/hooks.server-CagAPNr2.js.map +1 -0
  212. package/build/server/chunks/{index-EKt9-9bV.js → index-DFXVwu6p.js} +2 -2
  213. package/build/server/chunks/{index-EKt9-9bV.js.map → index-DFXVwu6p.js.map} +1 -1
  214. package/build/server/chunks/index-Djsj11qr.js.map +1 -1
  215. package/build/server/chunks/index-server-Bf-hP5gL.js +5 -0
  216. package/build/server/chunks/index-server-Bf-hP5gL.js.map +1 -0
  217. package/build/server/chunks/{routing-DcR4fCSD.js → index2-DBFlGzWV.js} +23 -100
  218. package/build/server/chunks/index2-DBFlGzWV.js.map +1 -0
  219. package/build/server/chunks/{index3-DquTjlmp.js → index3-CoOO2o9t.js} +6 -6
  220. package/build/server/chunks/index3-CoOO2o9t.js.map +1 -0
  221. package/build/server/chunks/jsonParser-CraFXJs8.js +174 -0
  222. package/build/server/chunks/jsonParser-CraFXJs8.js.map +1 -0
  223. package/build/server/chunks/layout.svelte-CJcHX-Na.js +10 -0
  224. package/build/server/chunks/layout.svelte-CJcHX-Na.js.map +1 -0
  225. package/build/server/chunks/logger-D71iWOkl.js +36 -0
  226. package/build/server/chunks/logger-D71iWOkl.js.map +1 -0
  227. package/build/server/chunks/{mongo-dLmCShL_.js → mongo-BogiTfnG.js} +54 -12
  228. package/build/server/chunks/mongo-BogiTfnG.js.map +1 -0
  229. package/build/server/chunks/remote-xxtqbu-BJDSUh3k.js +17 -0
  230. package/build/server/chunks/remote-xxtqbu-BJDSUh3k.js.map +1 -0
  231. package/build/server/chunks/routing-e10vGH37.js +81 -0
  232. package/build/server/chunks/routing-e10vGH37.js.map +1 -0
  233. package/build/server/chunks/{server2-BiqGvkCy.js → server2-_mGVuBoG.js} +2 -2
  234. package/build/server/chunks/{server2-BiqGvkCy.js.map → server2-_mGVuBoG.js.map} +1 -1
  235. package/build/server/chunks/servers.remote-C2HuT43p.js +690 -0
  236. package/build/server/chunks/servers.remote-C2HuT43p.js.map +1 -0
  237. package/build/server/chunks/shared-Buki-xt5.js +506 -0
  238. package/build/server/chunks/shared-Buki-xt5.js.map +1 -0
  239. package/build/server/chunks/{state.svelte-CRHA9yov.js → state.svelte-C8IWmp_n.js} +2 -2
  240. package/build/server/chunks/{state.svelte-CRHA9yov.js.map → state.svelte-C8IWmp_n.js.map} +1 -1
  241. package/build/server/chunks/{utils-DGYJFmnf.js → utils-kjxf7BZO.js} +2 -2
  242. package/build/server/chunks/{utils-DGYJFmnf.js.map → utils-kjxf7BZO.js.map} +1 -1
  243. package/build/server/index.js +189 -610
  244. package/build/server/index.js.map +1 -1
  245. package/build/server/manifest.js +45 -18
  246. package/build/server/manifest.js.map +1 -1
  247. package/package.json +13 -2
  248. package/src/api/servers.remote.ts +381 -20
  249. package/src/app.css +98 -3
  250. package/src/app.html +15 -0
  251. package/src/hooks.server.ts +18 -1
  252. package/src/lib/actions/jsonTextarea.ts +395 -0
  253. package/src/lib/components/Breadcrumbs.svelte +7 -58
  254. package/src/lib/components/JsonValue.svelte +279 -85
  255. package/src/lib/components/Modal.svelte +59 -0
  256. package/src/lib/components/OriginWarning.svelte +109 -0
  257. package/src/lib/components/PageSwitcher.svelte +37 -0
  258. package/src/lib/components/Panel.svelte +1 -1
  259. package/src/lib/components/PrettyJson.svelte +112 -36
  260. package/src/lib/components/SearchBox.svelte +161 -97
  261. package/src/lib/components/ThemeSwitcher.svelte +66 -0
  262. package/src/lib/components/Tooltip.svelte +83 -0
  263. package/src/lib/components/TooltipTable.svelte +45 -102
  264. package/src/lib/server/HostsManager.ts +4 -0
  265. package/src/lib/server/aggregation.ts +62 -0
  266. package/src/lib/server/mongo.ts +78 -15
  267. package/src/lib/types.ts +60 -0
  268. package/src/lib/utils/isEmptyObject.ts +6 -0
  269. package/src/lib/utils/jsonParser.ts +9 -1
  270. package/src/lib/utils/logger.ts +42 -0
  271. package/src/lib/utils/omit.ts +3 -0
  272. package/src/routes/+layout.server.ts +2 -1
  273. package/src/routes/+layout.svelte +15 -2
  274. package/src/routes/favicon.ico/+server.ts +8 -0
  275. package/src/routes/servers/+page.server.ts +23 -10
  276. package/src/routes/servers/+page.svelte +44 -10
  277. package/src/routes/servers/[server]/databases/+layout.ts +8 -0
  278. package/src/routes/servers/[server]/databases/+page.server.ts +15 -4
  279. package/src/routes/servers/[server]/databases/[database]/collections/+layout.ts +9 -0
  280. package/src/routes/servers/[server]/databases/[database]/collections/+page.server.ts +0 -2
  281. package/src/routes/servers/[server]/databases/[database]/collections/+page.svelte +67 -8
  282. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/+layout.ts +9 -0
  283. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.server.ts +217 -0
  284. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.svelte +342 -0
  285. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.ts +10 -0
  286. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/[document]/+layout.ts +9 -0
  287. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/[document]/+page.server.ts +15 -12
  288. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/[document]/+page.svelte +81 -7
  289. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.server.ts +88 -0
  290. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.svelte +333 -0
  291. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.ts +10 -0
  292. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/mappings/+page.server.ts +18 -0
  293. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/mappings/+page.svelte +378 -0
  294. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/mappings/+page.ts +10 -0
  295. package/src/tests/api/aggregation.test.ts +125 -0
  296. package/build/client/_app/immutable/assets/0.CEsPYTp2.css +0 -1
  297. package/build/client/_app/immutable/assets/0.CEsPYTp2.css.br +0 -0
  298. package/build/client/_app/immutable/assets/0.CEsPYTp2.css.gz +0 -0
  299. package/build/client/_app/immutable/assets/6.DawdmtJd.css +0 -1
  300. package/build/client/_app/immutable/assets/6.DawdmtJd.css.br +0 -2
  301. package/build/client/_app/immutable/assets/6.DawdmtJd.css.gz +0 -0
  302. package/build/client/_app/immutable/assets/Panel.BDHMtO-3.css +0 -1
  303. package/build/client/_app/immutable/assets/Panel.BDHMtO-3.css.br +0 -0
  304. package/build/client/_app/immutable/assets/Panel.BDHMtO-3.css.gz +0 -0
  305. package/build/client/_app/immutable/assets/PrettyJson.CtngcfyW.css +0 -1
  306. package/build/client/_app/immutable/assets/PrettyJson.CtngcfyW.css.br +0 -0
  307. package/build/client/_app/immutable/assets/PrettyJson.CtngcfyW.css.gz +0 -0
  308. package/build/client/_app/immutable/chunks/B2-iEFN3.js +0 -2
  309. package/build/client/_app/immutable/chunks/B2-iEFN3.js.br +0 -0
  310. package/build/client/_app/immutable/chunks/B2-iEFN3.js.gz +0 -0
  311. package/build/client/_app/immutable/chunks/B5y2vsNr.js +0 -1
  312. package/build/client/_app/immutable/chunks/B5y2vsNr.js.br +0 -0
  313. package/build/client/_app/immutable/chunks/B5y2vsNr.js.gz +0 -0
  314. package/build/client/_app/immutable/chunks/BN_N9-2s.js +0 -1
  315. package/build/client/_app/immutable/chunks/BN_N9-2s.js.br +0 -0
  316. package/build/client/_app/immutable/chunks/BN_N9-2s.js.gz +0 -0
  317. package/build/client/_app/immutable/chunks/C1z4TjN7.js +0 -1
  318. package/build/client/_app/immutable/chunks/C1z4TjN7.js.br +0 -0
  319. package/build/client/_app/immutable/chunks/C1z4TjN7.js.gz +0 -0
  320. package/build/client/_app/immutable/chunks/CQBaNlA9.js +0 -1
  321. package/build/client/_app/immutable/chunks/CQBaNlA9.js.br +0 -0
  322. package/build/client/_app/immutable/chunks/CQBaNlA9.js.gz +0 -0
  323. package/build/client/_app/immutable/chunks/CVoOGazw.js +0 -4
  324. package/build/client/_app/immutable/chunks/CVoOGazw.js.br +0 -0
  325. package/build/client/_app/immutable/chunks/CVoOGazw.js.gz +0 -0
  326. package/build/client/_app/immutable/chunks/CapOg2jD.js +0 -1
  327. package/build/client/_app/immutable/chunks/CapOg2jD.js.br +0 -0
  328. package/build/client/_app/immutable/chunks/CapOg2jD.js.gz +0 -0
  329. package/build/client/_app/immutable/chunks/ChWB6xnu.js.br +0 -0
  330. package/build/client/_app/immutable/chunks/ChWB6xnu.js.gz +0 -0
  331. package/build/client/_app/immutable/chunks/CqnBT2zJ.js +0 -1
  332. package/build/client/_app/immutable/chunks/CqnBT2zJ.js.br +0 -0
  333. package/build/client/_app/immutable/chunks/CqnBT2zJ.js.gz +0 -0
  334. package/build/client/_app/immutable/chunks/D069mncP.js +0 -1
  335. package/build/client/_app/immutable/chunks/D069mncP.js.br +0 -0
  336. package/build/client/_app/immutable/chunks/D069mncP.js.gz +0 -0
  337. package/build/client/_app/immutable/chunks/DACrOfV_.js +0 -14
  338. package/build/client/_app/immutable/chunks/DACrOfV_.js.br +0 -0
  339. package/build/client/_app/immutable/chunks/DACrOfV_.js.gz +0 -0
  340. package/build/client/_app/immutable/chunks/DQkpHJGc.js.br +0 -0
  341. package/build/client/_app/immutable/chunks/DQkpHJGc.js.gz +0 -0
  342. package/build/client/_app/immutable/chunks/DSDD_hFT.js +0 -1
  343. package/build/client/_app/immutable/chunks/DSDD_hFT.js.br +0 -0
  344. package/build/client/_app/immutable/chunks/DSDD_hFT.js.gz +0 -0
  345. package/build/client/_app/immutable/chunks/D_aTX_ol.js +0 -1
  346. package/build/client/_app/immutable/chunks/D_aTX_ol.js.br +0 -0
  347. package/build/client/_app/immutable/chunks/D_aTX_ol.js.gz +0 -0
  348. package/build/client/_app/immutable/chunks/Dg3qHExF.js +0 -1
  349. package/build/client/_app/immutable/chunks/Dg3qHExF.js.br +0 -0
  350. package/build/client/_app/immutable/chunks/Dg3qHExF.js.gz +0 -0
  351. package/build/client/_app/immutable/chunks/Dt6-JRym.js +0 -2
  352. package/build/client/_app/immutable/chunks/Dt6-JRym.js.br +0 -0
  353. package/build/client/_app/immutable/chunks/Dt6-JRym.js.gz +0 -0
  354. package/build/client/_app/immutable/chunks/QoKxaG0e.js +0 -1
  355. package/build/client/_app/immutable/chunks/QoKxaG0e.js.br +0 -2
  356. package/build/client/_app/immutable/chunks/QoKxaG0e.js.gz +0 -0
  357. package/build/client/_app/immutable/chunks/rtveiEyS.js +0 -1
  358. package/build/client/_app/immutable/chunks/rtveiEyS.js.br +0 -0
  359. package/build/client/_app/immutable/chunks/rtveiEyS.js.gz +0 -0
  360. package/build/client/_app/immutable/entry/app.Cc1FNLNH.js +0 -2
  361. package/build/client/_app/immutable/entry/app.Cc1FNLNH.js.br +0 -0
  362. package/build/client/_app/immutable/entry/app.Cc1FNLNH.js.gz +0 -0
  363. package/build/client/_app/immutable/entry/start.CwqlbFyy.js +0 -1
  364. package/build/client/_app/immutable/entry/start.CwqlbFyy.js.br +0 -2
  365. package/build/client/_app/immutable/entry/start.CwqlbFyy.js.gz +0 -0
  366. package/build/client/_app/immutable/nodes/0.wBQEpdjZ.js +0 -1
  367. package/build/client/_app/immutable/nodes/0.wBQEpdjZ.js.br +0 -0
  368. package/build/client/_app/immutable/nodes/0.wBQEpdjZ.js.gz +0 -0
  369. package/build/client/_app/immutable/nodes/1.K6-n7D0b.js +0 -1
  370. package/build/client/_app/immutable/nodes/1.K6-n7D0b.js.br +0 -0
  371. package/build/client/_app/immutable/nodes/1.K6-n7D0b.js.gz +0 -0
  372. package/build/client/_app/immutable/nodes/3.DkGcIF98.js +0 -1
  373. package/build/client/_app/immutable/nodes/3.DkGcIF98.js.br +0 -0
  374. package/build/client/_app/immutable/nodes/3.DkGcIF98.js.gz +0 -0
  375. package/build/client/_app/immutable/nodes/4.C_NxbT98.js +0 -1
  376. package/build/client/_app/immutable/nodes/4.C_NxbT98.js.br +0 -0
  377. package/build/client/_app/immutable/nodes/4.C_NxbT98.js.gz +0 -0
  378. package/build/client/_app/immutable/nodes/5.CFvfYaLM.js +0 -1
  379. package/build/client/_app/immutable/nodes/5.CFvfYaLM.js.br +0 -0
  380. package/build/client/_app/immutable/nodes/5.CFvfYaLM.js.gz +0 -0
  381. package/build/client/_app/immutable/nodes/6.h34Zyorq.js +0 -1
  382. package/build/client/_app/immutable/nodes/6.h34Zyorq.js.br +0 -0
  383. package/build/client/_app/immutable/nodes/6.h34Zyorq.js.gz +0 -0
  384. package/build/client/_app/immutable/nodes/7.BVJmNbU5.js +0 -1
  385. package/build/client/_app/immutable/nodes/7.BVJmNbU5.js.br +0 -0
  386. package/build/client/_app/immutable/nodes/7.BVJmNbU5.js.gz +0 -0
  387. package/build/server/chunks/0-Cb5ytlMI.js.map +0 -1
  388. package/build/server/chunks/1-Cpb7zRtJ.js +0 -9
  389. package/build/server/chunks/1-Cpb7zRtJ.js.map +0 -1
  390. package/build/server/chunks/3-B_DkgZkc.js +0 -69
  391. package/build/server/chunks/3-B_DkgZkc.js.map +0 -1
  392. package/build/server/chunks/4-DzHoLo__.js.map +0 -1
  393. package/build/server/chunks/5-CCWbCDpk.js.map +0 -1
  394. package/build/server/chunks/6-Dok8svjB.js +0 -202
  395. package/build/server/chunks/6-Dok8svjB.js.map +0 -1
  396. package/build/server/chunks/7-CmgJSG2j.js +0 -42
  397. package/build/server/chunks/7-CmgJSG2j.js.map +0 -1
  398. package/build/server/chunks/Panel-Bz0b85EW.js.map +0 -1
  399. package/build/server/chunks/PrettyJson-CX6-dNsW.js +0 -291
  400. package/build/server/chunks/PrettyJson-CX6-dNsW.js.map +0 -1
  401. package/build/server/chunks/TooltipTable-0z4HkHlH.js +0 -17
  402. package/build/server/chunks/TooltipTable-0z4HkHlH.js.map +0 -1
  403. package/build/server/chunks/_layout.svelte-UiDiCQEz.js +0 -111
  404. package/build/server/chunks/_layout.svelte-UiDiCQEz.js.map +0 -1
  405. package/build/server/chunks/_page.svelte-FIp-IsOo.js.map +0 -1
  406. package/build/server/chunks/_page.svelte-FLzHOuyK.js.map +0 -1
  407. package/build/server/chunks/_page.svelte-jxFKbZdN.js.map +0 -1
  408. package/build/server/chunks/_page.svelte-k8avSQW1.js +0 -215
  409. package/build/server/chunks/_page.svelte-k8avSQW1.js.map +0 -1
  410. package/build/server/chunks/_page.svelte-w9cxGvUf.js.map +0 -1
  411. package/build/server/chunks/async-BfR0vYHo.js.map +0 -1
  412. package/build/server/chunks/client-bj7sePQc.js +0 -7
  413. package/build/server/chunks/error.svelte-D5sIJv3P.js +0 -18
  414. package/build/server/chunks/error.svelte-D5sIJv3P.js.map +0 -1
  415. package/build/server/chunks/hooks.server-_TKfdzGA.js +0 -26
  416. package/build/server/chunks/hooks.server-_TKfdzGA.js.map +0 -1
  417. package/build/server/chunks/index3-DquTjlmp.js.map +0 -1
  418. package/build/server/chunks/mongo-dLmCShL_.js.map +0 -1
  419. package/build/server/chunks/remote-xxtqbu-BFzaWXy0.js +0 -234
  420. package/build/server/chunks/remote-xxtqbu-BFzaWXy0.js.map +0 -1
  421. package/build/server/chunks/routing-DcR4fCSD.js.map +0 -1
  422. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/+page.server.ts +0 -106
  423. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/+page.svelte +0 -174
  424. /package/build/client/_app/immutable/assets/{3.CRKE8WvY.css → 7.CRKE8WvY.css} +0 -0
  425. /package/build/client/_app/immutable/assets/{3.CRKE8WvY.css.br → 7.CRKE8WvY.css.br} +0 -0
  426. /package/build/client/_app/immutable/assets/{3.CRKE8WvY.css.gz → 7.CRKE8WvY.css.gz} +0 -0
@@ -0,0 +1,690 @@
1
+ import { g as get_request_store, w as with_request_store } from './event-DVH-6ISX.js';
2
+ import './utils-kjxf7BZO.js';
3
+ import { c as create_remote_cache_key, s as stringify_remote_arg } from './shared-Buki-xt5.js';
4
+ import { e as error } from './index-Djsj11qr.js';
5
+ import { p as parseJSON, v as validateAggregationPipeline, i as isEmptyObject } from './jsonParser-CraFXJs8.js';
6
+ import { J as JsonEncoder } from './JsonEncoder-jJ2OBaud.js';
7
+ import { g as getMongo } from './mongo-BogiTfnG.js';
8
+ import { l as logger } from './logger-D71iWOkl.js';
9
+ import { ObjectId } from 'mongodb';
10
+ import { z } from 'zod';
11
+
12
+ /** @import { RemoteInfo } from 'types' */
13
+
14
+ /** @type {RemoteInfo['type'][]} */
15
+ const types = ['command', 'form', 'prerender', 'query', 'query_batch'];
16
+
17
+ /**
18
+ * @param {Record<string, any>} module
19
+ * @param {string} file
20
+ * @param {string} hash
21
+ */
22
+ function init_remote_functions(module, file, hash) {
23
+ if (module.default) {
24
+ throw new Error(
25
+ `Cannot export \`default\` from a remote module (${file}) — please use named exports instead`
26
+ );
27
+ }
28
+
29
+ for (const [name, fn] of Object.entries(module)) {
30
+ if (!types.includes(fn?.__?.type)) {
31
+ throw new Error(
32
+ `\`${name}\` exported from ${file} is invalid — all exports from this file must be remote functions`
33
+ );
34
+ }
35
+
36
+ fn.__.id = `${hash}/${name}`;
37
+ fn.__.name = name;
38
+ }
39
+ }
40
+
41
+ function create_validator(validate_or_fn, maybe_fn) {
42
+ if (!maybe_fn) {
43
+ return (arg) => {
44
+ if (arg !== void 0) {
45
+ error(400, "Bad Request");
46
+ }
47
+ };
48
+ }
49
+ if (validate_or_fn === "unchecked") {
50
+ return (arg) => arg;
51
+ }
52
+ if ("~standard" in validate_or_fn) {
53
+ return async (arg) => {
54
+ const { event, state } = get_request_store();
55
+ const validate = validate_or_fn["~standard"].validate;
56
+ const result = await validate(arg);
57
+ if (result.issues) {
58
+ error(
59
+ 400,
60
+ await state.handleValidationError({
61
+ issues: result.issues,
62
+ event
63
+ })
64
+ );
65
+ }
66
+ return result.value;
67
+ };
68
+ }
69
+ throw new Error(
70
+ 'Invalid validator passed to remote function. Expected "unchecked" or a Standard Schema (https://standardschema.dev)'
71
+ );
72
+ }
73
+ async function get_response(info, arg, state, get_result) {
74
+ await 0;
75
+ const cache = get_cache(info, state);
76
+ return cache[stringify_remote_arg(arg, state.transport)] ??= get_result();
77
+ }
78
+ async function run_remote_function(event, state, allow_cookies, arg, validate, fn) {
79
+ const store = {
80
+ event: {
81
+ ...event,
82
+ setHeaders: () => {
83
+ throw new Error("setHeaders is not allowed in remote functions");
84
+ },
85
+ cookies: {
86
+ ...event.cookies,
87
+ set: (name, value, opts) => {
88
+ if (!allow_cookies) {
89
+ throw new Error("Cannot set cookies in `query` or `prerender` functions");
90
+ }
91
+ if (opts.path && !opts.path.startsWith("/")) {
92
+ throw new Error("Cookies set in remote functions must have an absolute path");
93
+ }
94
+ return event.cookies.set(name, value, opts);
95
+ },
96
+ delete: (name, opts) => {
97
+ if (!allow_cookies) {
98
+ throw new Error("Cannot delete cookies in `query` or `prerender` functions");
99
+ }
100
+ if (opts.path && !opts.path.startsWith("/")) {
101
+ throw new Error("Cookies deleted in remote functions must have an absolute path");
102
+ }
103
+ return event.cookies.delete(name, opts);
104
+ }
105
+ }
106
+ },
107
+ state: {
108
+ ...state,
109
+ is_in_remote_function: true
110
+ }
111
+ };
112
+ const validated = await with_request_store(store, () => validate(arg));
113
+ return with_request_store(store, () => fn(validated));
114
+ }
115
+ function get_cache(info, state = get_request_store().state) {
116
+ let cache = state.remote_data?.get(info);
117
+ if (cache === void 0) {
118
+ cache = {};
119
+ (state.remote_data ??= /* @__PURE__ */ new Map()).set(info, cache);
120
+ }
121
+ return cache;
122
+ }
123
+ // @__NO_SIDE_EFFECTS__
124
+ function command(validate_or_fn, maybe_fn) {
125
+ const fn = maybe_fn ?? validate_or_fn;
126
+ const validate = create_validator(validate_or_fn, maybe_fn);
127
+ const __ = { type: "command", id: "", name: "" };
128
+ const wrapper = (arg) => {
129
+ const { event, state } = get_request_store();
130
+ if (state.is_endpoint_request) {
131
+ if (!["POST", "PUT", "PATCH", "DELETE"].includes(event.request.method)) {
132
+ throw new Error(
133
+ `Cannot call a command (\`${__.name}(${maybe_fn ? "..." : ""})\`) from a ${event.request.method} handler`
134
+ );
135
+ }
136
+ } else if (!event.isRemoteRequest) {
137
+ throw new Error(
138
+ `Cannot call a command (\`${__.name}(${maybe_fn ? "..." : ""})\`) during server-side rendering`
139
+ );
140
+ }
141
+ state.refreshes ??= {};
142
+ const promise = Promise.resolve(run_remote_function(event, state, true, arg, validate, fn));
143
+ promise.updates = () => {
144
+ throw new Error(`Cannot call '${__.name}(...).updates(...)' on the server`);
145
+ };
146
+ return (
147
+ /** @type {ReturnType<RemoteCommand<Input, Output>>} */
148
+ promise
149
+ );
150
+ };
151
+ Object.defineProperty(wrapper, "__", { value: __ });
152
+ Object.defineProperty(wrapper, "pending", {
153
+ get: () => 0
154
+ });
155
+ return wrapper;
156
+ }
157
+ // @__NO_SIDE_EFFECTS__
158
+ function query(validate_or_fn, maybe_fn) {
159
+ const fn = maybe_fn ?? validate_or_fn;
160
+ const validate = create_validator(validate_or_fn, maybe_fn);
161
+ const __ = { type: "query", id: "", name: "" };
162
+ const wrapper = (arg) => {
163
+ const { event, state } = get_request_store();
164
+ const promise = get_response(
165
+ __,
166
+ arg,
167
+ state,
168
+ () => run_remote_function(event, state, false, arg, validate, fn)
169
+ );
170
+ promise.catch(() => {
171
+ });
172
+ promise.set = (value) => {
173
+ const { state: state2 } = get_request_store();
174
+ const refreshes = state2.refreshes;
175
+ if (!refreshes) {
176
+ throw new Error(
177
+ `Cannot call set on query '${__.name}' because it is not executed in the context of a command/form remote function`
178
+ );
179
+ }
180
+ if (__.id) {
181
+ const cache = get_cache(__, state2);
182
+ const key = stringify_remote_arg(arg, state2.transport);
183
+ refreshes[create_remote_cache_key(__.id, key)] = cache[key] = Promise.resolve(value);
184
+ }
185
+ };
186
+ promise.refresh = () => {
187
+ const { state: state2 } = get_request_store();
188
+ const refreshes = state2.refreshes;
189
+ if (!refreshes) {
190
+ throw new Error(
191
+ `Cannot call refresh on query '${__.name}' because it is not executed in the context of a command/form remote function`
192
+ );
193
+ }
194
+ const cache_key = create_remote_cache_key(__.id, stringify_remote_arg(arg, state2.transport));
195
+ refreshes[cache_key] = promise;
196
+ return promise.then(() => {
197
+ });
198
+ };
199
+ promise.withOverride = () => {
200
+ throw new Error(`Cannot call '${__.name}.withOverride()' on the server`);
201
+ };
202
+ return (
203
+ /** @type {RemoteQuery<Output>} */
204
+ promise
205
+ );
206
+ };
207
+ Object.defineProperty(wrapper, "__", { value: __ });
208
+ return wrapper;
209
+ }
210
+ // @__NO_SIDE_EFFECTS__
211
+ function batch(validate_or_fn, maybe_fn) {
212
+ const fn = maybe_fn ?? validate_or_fn;
213
+ const validate = create_validator(validate_or_fn, maybe_fn);
214
+ const __ = {
215
+ type: "query_batch",
216
+ id: "",
217
+ name: "",
218
+ run: (args) => {
219
+ const { event, state } = get_request_store();
220
+ return run_remote_function(
221
+ event,
222
+ state,
223
+ false,
224
+ args,
225
+ (array) => Promise.all(array.map(validate)),
226
+ fn
227
+ );
228
+ }
229
+ };
230
+ let batching = { args: [], resolvers: [] };
231
+ const wrapper = (arg) => {
232
+ const { event, state } = get_request_store();
233
+ const promise = get_response(__, arg, state, () => {
234
+ return new Promise((resolve, reject) => {
235
+ batching.args.push(arg);
236
+ batching.resolvers.push({ resolve, reject });
237
+ if (batching.args.length > 1) return;
238
+ setTimeout(async () => {
239
+ const batched = batching;
240
+ batching = { args: [], resolvers: [] };
241
+ try {
242
+ const get_result = await run_remote_function(
243
+ event,
244
+ state,
245
+ false,
246
+ batched.args,
247
+ (array) => Promise.all(array.map(validate)),
248
+ fn
249
+ );
250
+ for (let i = 0; i < batched.resolvers.length; i++) {
251
+ try {
252
+ batched.resolvers[i].resolve(get_result(batched.args[i], i));
253
+ } catch (error2) {
254
+ batched.resolvers[i].reject(error2);
255
+ }
256
+ }
257
+ } catch (error2) {
258
+ for (const resolver of batched.resolvers) {
259
+ resolver.reject(error2);
260
+ }
261
+ }
262
+ }, 0);
263
+ });
264
+ });
265
+ promise.catch(() => {
266
+ });
267
+ promise.refresh = async () => {
268
+ const { state: state2 } = get_request_store();
269
+ const refreshes = state2.refreshes;
270
+ if (!refreshes) {
271
+ throw new Error(
272
+ `Cannot call refresh on query.batch '${__.name}' because it is not executed in the context of a command/form remote function`
273
+ );
274
+ }
275
+ const cache_key = create_remote_cache_key(__.id, stringify_remote_arg(arg, state2.transport));
276
+ refreshes[cache_key] = await /** @type {Promise<any>} */
277
+ promise;
278
+ };
279
+ promise.withOverride = () => {
280
+ throw new Error(`Cannot call '${__.name}.withOverride()' on the server`);
281
+ };
282
+ return (
283
+ /** @type {RemoteQuery<Output>} */
284
+ promise
285
+ );
286
+ };
287
+ Object.defineProperty(wrapper, "__", { value: __ });
288
+ return wrapper;
289
+ }
290
+ Object.defineProperty(query, "batch", { value: batch, enumerable: true });
291
+
292
+ const m = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
293
+ __proto__: null,
294
+ get addServer() {
295
+ return addServer;
296
+ },
297
+ get deleteDocument() {
298
+ return deleteDocument;
299
+ },
300
+ get dropCollection() {
301
+ return dropCollection;
302
+ },
303
+ get dropIndex() {
304
+ return dropIndex;
305
+ },
306
+ get fetchMappedDocument() {
307
+ return fetchMappedDocument;
308
+ },
309
+ get hideIndex() {
310
+ return hideIndex;
311
+ },
312
+ get insertDocument() {
313
+ return insertDocument;
314
+ },
315
+ get loadDocuments() {
316
+ return loadDocuments;
317
+ },
318
+ get removeServer() {
319
+ return removeServer;
320
+ },
321
+ get retryConnection() {
322
+ return retryConnection;
323
+ },
324
+ get unhideIndex() {
325
+ return unhideIndex;
326
+ },
327
+ get updateDocument() {
328
+ return updateDocument;
329
+ },
330
+ get updateMany() {
331
+ return updateMany;
332
+ }
333
+ }, Symbol.toStringTag, { value: "Module" }));
334
+ function checkReadOnly() {
335
+ if (process.env.MONGOKU_READ_ONLY_MODE === "true") {
336
+ error(403, "Read-only mode is enabled");
337
+ }
338
+ }
339
+ const addServer = command(
340
+ z.object({
341
+ url: z.string()
342
+ }),
343
+ async ({ url }) => {
344
+ logger.log("addServer called with payload:", { url });
345
+ const mongo = await getMongo();
346
+ await mongo.addServer(url);
347
+ return { ok: true };
348
+ }
349
+ );
350
+ const removeServer = command(z.string(), async (serverName) => {
351
+ logger.log("removeServer called with payload:", { serverName });
352
+ const mongo = await getMongo();
353
+ await mongo.removeServer(serverName);
354
+ return { ok: true };
355
+ });
356
+ const updateDocument = command(
357
+ z.object({
358
+ server: z.string(),
359
+ database: z.string(),
360
+ collection: z.string(),
361
+ document: z.string(),
362
+ value: z.unknown(),
363
+ partial: z.boolean().optional().default(false),
364
+ upsert: z.boolean().optional().default(false)
365
+ }),
366
+ async ({ server, database, collection, document, value, partial, upsert }) => {
367
+ logger.log("updateDocument called with payload:", { server, database, collection, document, partial, upsert });
368
+ checkReadOnly();
369
+ const mongo = await getMongo();
370
+ const client = mongo.getClient(server);
371
+ const coll = client.db(database).collection(collection);
372
+ const newValue = JsonEncoder.decode(value);
373
+ const _id = /^[0-9a-fA-F]{24}$/.test(document) ? new ObjectId(document) : document;
374
+ if (partial) {
375
+ await coll.updateOne(
376
+ {
377
+ _id
378
+ },
379
+ { $set: newValue },
380
+ { upsert }
381
+ );
382
+ } else {
383
+ await coll.replaceOne(
384
+ {
385
+ _id
386
+ },
387
+ JsonEncoder.decode(newValue),
388
+ { upsert }
389
+ );
390
+ }
391
+ if (collection === "mongoku.mappings") {
392
+ client.clearMappingsCache(database, document);
393
+ }
394
+ return {
395
+ ok: true,
396
+ update: JsonEncoder.encode(newValue)
397
+ };
398
+ }
399
+ );
400
+ const insertDocument = command(
401
+ z.object({
402
+ server: z.string(),
403
+ database: z.string(),
404
+ collection: z.string(),
405
+ document: z.string(),
406
+ value: z.unknown()
407
+ }),
408
+ async ({ server, database, collection, document, value }) => {
409
+ logger.log("insertDocument called with payload:", { server, database, collection, document });
410
+ checkReadOnly();
411
+ const mongo = await getMongo();
412
+ const client = mongo.getClient(server);
413
+ const coll = client.db(database).collection(collection);
414
+ const newValue = JsonEncoder.decode(value);
415
+ const _id = /^[0-9a-fA-F]{24}$/.test(document) ? new ObjectId(document) : document;
416
+ newValue._id = _id;
417
+ await coll.insertOne(newValue);
418
+ if (collection === "mongoku.mappings") {
419
+ client.clearMappingsCache(database, document);
420
+ }
421
+ return {
422
+ ok: true,
423
+ insert: JsonEncoder.encode(newValue)
424
+ };
425
+ }
426
+ );
427
+ const deleteDocument = command(
428
+ z.object({
429
+ server: z.string(),
430
+ database: z.string(),
431
+ collection: z.string(),
432
+ document: z.string()
433
+ }),
434
+ async ({ server, database, collection, document }) => {
435
+ logger.log("deleteDocument called with payload:", { server, database, collection, document });
436
+ checkReadOnly();
437
+ const mongo = await getMongo();
438
+ const client = mongo.getClient(server);
439
+ await client.db(database).collection(collection).deleteOne({
440
+ _id: new ObjectId(document)
441
+ });
442
+ if (collection === "mongoku.mappings") {
443
+ client.clearMappingsCache(database, document);
444
+ }
445
+ return {
446
+ ok: true
447
+ };
448
+ }
449
+ );
450
+ const updateMany = command(
451
+ z.object({
452
+ server: z.string(),
453
+ database: z.string(),
454
+ collection: z.string(),
455
+ filter: z.string(),
456
+ update: z.string()
457
+ }),
458
+ async ({ server, database, collection, filter, update }) => {
459
+ logger.log("updateMany called with payload:", { server, database, collection, filter, update });
460
+ checkReadOnly();
461
+ const mongo = await getMongo();
462
+ const client = mongo.getClient(server);
463
+ const coll = client.db(database).collection(collection);
464
+ const filterDoc = JsonEncoder.decode(parseJSON(filter));
465
+ const updateDoc = JsonEncoder.decode(parseJSON(update));
466
+ const result = await coll.updateMany(filterDoc, updateDoc);
467
+ return {
468
+ ok: true,
469
+ matchedCount: result.matchedCount,
470
+ modifiedCount: result.modifiedCount
471
+ };
472
+ }
473
+ );
474
+ const hideIndex = command(
475
+ z.object({
476
+ server: z.string(),
477
+ database: z.string(),
478
+ collection: z.string(),
479
+ index: z.string()
480
+ }),
481
+ async ({ server, database, collection, index }) => {
482
+ logger.log("hideIndex called with payload:", { server, database, collection, index });
483
+ checkReadOnly();
484
+ const mongo = await getMongo();
485
+ const client = mongo.getClient(server);
486
+ await client.db(database).command({
487
+ collMod: collection,
488
+ index: {
489
+ name: index,
490
+ hidden: true
491
+ }
492
+ });
493
+ return {
494
+ ok: true
495
+ };
496
+ }
497
+ );
498
+ const unhideIndex = command(
499
+ z.object({
500
+ server: z.string(),
501
+ database: z.string(),
502
+ collection: z.string(),
503
+ index: z.string()
504
+ }),
505
+ async ({ server, database, collection, index }) => {
506
+ logger.log("unhideIndex called with payload:", { server, database, collection, index });
507
+ checkReadOnly();
508
+ const mongo = await getMongo();
509
+ const client = mongo.getClient(server);
510
+ await client.db(database).command({
511
+ collMod: collection,
512
+ index: {
513
+ name: index,
514
+ hidden: false
515
+ }
516
+ });
517
+ return {
518
+ ok: true
519
+ };
520
+ }
521
+ );
522
+ const dropIndex = command(
523
+ z.object({
524
+ server: z.string(),
525
+ database: z.string(),
526
+ collection: z.string(),
527
+ index: z.string()
528
+ }),
529
+ async ({ server, database, collection, index }) => {
530
+ logger.log("dropIndex called with payload:", { server, database, collection, index });
531
+ checkReadOnly();
532
+ const mongo = await getMongo();
533
+ const client = mongo.getClient(server);
534
+ await client.db(database).command({
535
+ dropIndexes: collection,
536
+ index
537
+ });
538
+ return {
539
+ ok: true
540
+ };
541
+ }
542
+ );
543
+ const dropCollection = command(
544
+ z.object({
545
+ server: z.string(),
546
+ database: z.string(),
547
+ collection: z.string()
548
+ }),
549
+ async ({ server, database, collection }) => {
550
+ logger.log("dropCollection called with payload:", { server, database, collection });
551
+ checkReadOnly();
552
+ const mongo = await getMongo();
553
+ const client = mongo.getClient(server);
554
+ const db = client.db(database);
555
+ await db.dropCollection(collection);
556
+ return {
557
+ ok: true
558
+ };
559
+ }
560
+ );
561
+ const retryConnection = command(z.string(), async (serverName) => {
562
+ logger.log("retryConnection called with payload:", { serverName });
563
+ const mongo = await getMongo();
564
+ await mongo.reconnectClient(serverName);
565
+ return { ok: true };
566
+ });
567
+ const loadDocuments = query(
568
+ z.object({
569
+ server: z.string(),
570
+ database: z.string(),
571
+ collection: z.string(),
572
+ query: z.string().default("{}"),
573
+ sort: z.string().default("{}"),
574
+ project: z.string().default("{}"),
575
+ skip: z.number().int().default(0),
576
+ limit: z.number().int().default(20)
577
+ }),
578
+ async ({ server, database, collection, query: queryStr, sort, project, skip, limit }) => {
579
+ let queryDoc;
580
+ try {
581
+ queryDoc = parseJSON(queryStr, { allowArray: true });
582
+ } catch (err) {
583
+ error(400, `Invalid query: ${err}`);
584
+ }
585
+ try {
586
+ parseJSON(sort);
587
+ } catch (err) {
588
+ error(400, `Invalid sort: ${err}`);
589
+ }
590
+ try {
591
+ parseJSON(project);
592
+ } catch (err) {
593
+ error(400, `Invalid project: ${err}`);
594
+ }
595
+ const sortDoc = parseJSON(sort);
596
+ const projectDoc = parseJSON(project);
597
+ const mongo = await getMongo();
598
+ const client = mongo.getClient(server);
599
+ const coll = client.db(database).collection(collection);
600
+ if (Array.isArray(queryDoc)) {
601
+ try {
602
+ validateAggregationPipeline(queryDoc);
603
+ } catch (err) {
604
+ error(400, `Invalid aggregation pipeline: ${err instanceof Error ? err.message : String(err)}`);
605
+ }
606
+ const pipeline = JsonEncoder.decode(queryDoc);
607
+ try {
608
+ const results = await coll.aggregate(
609
+ [
610
+ ...pipeline,
611
+ ...isEmptyObject(projectDoc) ? [] : [{ $project: projectDoc }],
612
+ ...isEmptyObject(sortDoc) ? [] : [{ $sort: sortDoc }],
613
+ { $limit: limit },
614
+ { $skip: skip }
615
+ ],
616
+ {
617
+ maxTimeMS: mongo.getQueryTimeout()
618
+ }
619
+ ).map((obj) => JsonEncoder.encode(obj)).toArray();
620
+ return {
621
+ data: results,
622
+ error: null,
623
+ isAggregation: true
624
+ };
625
+ } catch (err) {
626
+ logger.error("Error executing aggregation:", err);
627
+ error(500, `Failed to execute aggregation: ${err instanceof Error ? err.message : String(err)}`);
628
+ }
629
+ }
630
+ try {
631
+ const results = await coll.find(JsonEncoder.decode(queryDoc), { maxTimeMS: mongo.getQueryTimeout() }).project(projectDoc).sort(JsonEncoder.decode(sortDoc)).limit(limit).skip(skip).map((obj) => JsonEncoder.encode(obj)).toArray();
632
+ return {
633
+ data: results,
634
+ error: null,
635
+ isAggregation: false
636
+ };
637
+ } catch (err) {
638
+ logger.error("Error fetching query results:", err);
639
+ error(500, `Failed to fetch query results: ${err instanceof Error ? err.message : String(err)}`);
640
+ }
641
+ }
642
+ );
643
+ const fetchMappedDocument = query(
644
+ z.object({
645
+ server: z.string(),
646
+ database: z.string(),
647
+ mappings: z.array(
648
+ z.object({
649
+ collection: z.string(),
650
+ on: z.string()
651
+ })
652
+ ),
653
+ value: z.unknown()
654
+ }),
655
+ async ({ server, database, mappings, value }) => {
656
+ const mongo = await getMongo();
657
+ const client = mongo.getClient(server);
658
+ const decodedValue = JsonEncoder.decode(value);
659
+ for (const mapping of mappings) {
660
+ try {
661
+ const coll = client.db(database).collection(mapping.collection);
662
+ const query2 = { [mapping.on]: decodedValue };
663
+ const document = await coll.findOne(query2, { maxTimeMS: mongo.getQueryTimeout() });
664
+ if (document) {
665
+ return {
666
+ data: JsonEncoder.encode(document),
667
+ collection: mapping.collection,
668
+ error: null
669
+ };
670
+ }
671
+ } catch (err) {
672
+ logger.error(`Error fetching mapped document from ${mapping.collection}.${mapping.on}:`, err);
673
+ continue;
674
+ }
675
+ }
676
+ return {
677
+ data: null,
678
+ collection: null,
679
+ error: "Document not found in any mapped collection"
680
+ };
681
+ }
682
+ );
683
+ init_remote_functions(m, "src/api/servers.remote.ts", "xxtqbu");
684
+ for (const [name, fn] of Object.entries(m)) {
685
+ fn.__.id = "xxtqbu/" + name;
686
+ fn.__.name = name;
687
+ }
688
+
689
+ export { deleteDocument as d, fetchMappedDocument as f, m, updateDocument as u };
690
+ //# sourceMappingURL=servers.remote-C2HuT43p.js.map