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
@@ -10,61 +10,88 @@ return {
10
10
  assets: new Set(["robots.txt"]),
11
11
  mimeTypes: {".txt":"text/plain"},
12
12
  _: {
13
- client: {start:"_app/immutable/entry/start.CwqlbFyy.js",app:"_app/immutable/entry/app.Cc1FNLNH.js",imports:["_app/immutable/entry/start.CwqlbFyy.js","_app/immutable/chunks/CVoOGazw.js","_app/immutable/chunks/D_aTX_ol.js","_app/immutable/chunks/Dt6-JRym.js","_app/immutable/chunks/ChWB6xnu.js","_app/immutable/entry/app.Cc1FNLNH.js","_app/immutable/chunks/Dt6-JRym.js","_app/immutable/chunks/C1z4TjN7.js","_app/immutable/chunks/D_aTX_ol.js","_app/immutable/chunks/rtveiEyS.js","_app/immutable/chunks/QoKxaG0e.js","_app/immutable/chunks/CQBaNlA9.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
13
+ client: {start:"_app/immutable/entry/start.C1uqw3sp.js",app:"_app/immutable/entry/app.g5qLQ5x2.js",imports:["_app/immutable/entry/start.C1uqw3sp.js","_app/immutable/chunks/nVJvgG3c.js","_app/immutable/chunks/5nAxkTTP.js","_app/immutable/chunks/C82Rp5eQ.js","_app/immutable/chunks/3iRu_dUj.js","_app/immutable/chunks/4l_AWZos.js","_app/immutable/entry/app.g5qLQ5x2.js","_app/immutable/chunks/C82Rp5eQ.js","_app/immutable/chunks/3iRu_dUj.js","_app/immutable/chunks/BBg-V8FE.js","_app/immutable/chunks/5nAxkTTP.js","_app/immutable/chunks/D7E46CWw.js","_app/immutable/chunks/BE8UzJuY.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
14
14
  nodes: [
15
- __memo(() => import('./chunks/0-Cb5ytlMI.js')),
16
- __memo(() => import('./chunks/1-Cpb7zRtJ.js')),
17
- __memo(() => import('./chunks/2-B39zPvzn.js')),
18
- __memo(() => import('./chunks/3-B_DkgZkc.js')),
19
- __memo(() => import('./chunks/4-DzHoLo__.js')),
20
- __memo(() => import('./chunks/5-CCWbCDpk.js')),
21
- __memo(() => import('./chunks/6-Dok8svjB.js')),
22
- __memo(() => import('./chunks/7-CmgJSG2j.js'))
15
+ __memo(() => import('./chunks/0-hDOo8HzQ.js')),
16
+ __memo(() => import('./chunks/1-Dsw_dVjH.js')),
17
+ __memo(() => import('./chunks/2-ClkERMhY.js')),
18
+ __memo(() => import('./chunks/3-CTpqmxdo.js')),
19
+ __memo(() => import('./chunks/4-CUH4fZn8.js')),
20
+ __memo(() => import('./chunks/5-BSEdxfut.js')),
21
+ __memo(() => import('./chunks/6-ifXBeMPA.js')),
22
+ __memo(() => import('./chunks/7-CJJMTAtJ.js')),
23
+ __memo(() => import('./chunks/8-jBgxYwFg.js')),
24
+ __memo(() => import('./chunks/9-U8SAVx43.js')),
25
+ __memo(() => import('./chunks/10-Xy0rxLNm.js')),
26
+ __memo(() => import('./chunks/11-DBYsQ3ww.js')),
27
+ __memo(() => import('./chunks/12-D4aSEhYN.js')),
28
+ __memo(() => import('./chunks/13-CNu_Hz8r.js'))
23
29
  ],
24
30
  remotes: {
25
- 'xxtqbu': __memo(() => import('./chunks/remote-xxtqbu-BFzaWXy0.js'))
31
+ 'xxtqbu': __memo(() => import('./chunks/remote-xxtqbu-BJDSUh3k.js'))
26
32
  },
27
33
  routes: [
28
34
  {
29
35
  id: "/",
30
36
  pattern: /^\/$/,
31
37
  params: [],
32
- page: { layouts: [0,], errors: [1,], leaf: 2 },
38
+ page: { layouts: [0,], errors: [1,], leaf: 6 },
33
39
  endpoint: null
34
40
  },
41
+ {
42
+ id: "/favicon.ico",
43
+ pattern: /^\/favicon\.ico\/?$/,
44
+ params: [],
45
+ page: null,
46
+ endpoint: __memo(() => import('./chunks/_server.ts-06lGoPp8.js'))
47
+ },
35
48
  {
36
49
  id: "/servers",
37
50
  pattern: /^\/servers\/?$/,
38
51
  params: [],
39
- page: { layouts: [0,], errors: [1,], leaf: 3 },
52
+ page: { layouts: [0,], errors: [1,], leaf: 7 },
40
53
  endpoint: null
41
54
  },
42
55
  {
43
56
  id: "/servers/[server]/databases",
44
57
  pattern: /^\/servers\/([^/]+?)\/databases\/?$/,
45
58
  params: [{"name":"server","optional":false,"rest":false,"chained":false}],
46
- page: { layouts: [0,], errors: [1,], leaf: 4 },
59
+ page: { layouts: [0,2,], errors: [1,,], leaf: 8 },
47
60
  endpoint: null
48
61
  },
49
62
  {
50
63
  id: "/servers/[server]/databases/[database]/collections",
51
64
  pattern: /^\/servers\/([^/]+?)\/databases\/([^/]+?)\/collections\/?$/,
52
65
  params: [{"name":"server","optional":false,"rest":false,"chained":false},{"name":"database","optional":false,"rest":false,"chained":false}],
53
- page: { layouts: [0,], errors: [1,], leaf: 5 },
66
+ page: { layouts: [0,2,3,], errors: [1,,,], leaf: 9 },
54
67
  endpoint: null
55
68
  },
56
69
  {
57
- id: "/servers/[server]/databases/[database]/collections/[collection]",
58
- pattern: /^\/servers\/([^/]+?)\/databases\/([^/]+?)\/collections\/([^/]+?)\/?$/,
70
+ id: "/servers/[server]/databases/[database]/collections/[collection]/documents",
71
+ pattern: /^\/servers\/([^/]+?)\/databases\/([^/]+?)\/collections\/([^/]+?)\/documents\/?$/,
59
72
  params: [{"name":"server","optional":false,"rest":false,"chained":false},{"name":"database","optional":false,"rest":false,"chained":false},{"name":"collection","optional":false,"rest":false,"chained":false}],
60
- page: { layouts: [0,], errors: [1,], leaf: 6 },
73
+ page: { layouts: [0,2,3,4,], errors: [1,,,,], leaf: 10 },
61
74
  endpoint: null
62
75
  },
63
76
  {
64
77
  id: "/servers/[server]/databases/[database]/collections/[collection]/documents/[document]",
65
78
  pattern: /^\/servers\/([^/]+?)\/databases\/([^/]+?)\/collections\/([^/]+?)\/documents\/([^/]+?)\/?$/,
66
79
  params: [{"name":"server","optional":false,"rest":false,"chained":false},{"name":"database","optional":false,"rest":false,"chained":false},{"name":"collection","optional":false,"rest":false,"chained":false},{"name":"document","optional":false,"rest":false,"chained":false}],
67
- page: { layouts: [0,], errors: [1,], leaf: 7 },
80
+ page: { layouts: [0,2,3,4,5,], errors: [1,,,,,], leaf: 11 },
81
+ endpoint: null
82
+ },
83
+ {
84
+ id: "/servers/[server]/databases/[database]/collections/[collection]/indexes",
85
+ pattern: /^\/servers\/([^/]+?)\/databases\/([^/]+?)\/collections\/([^/]+?)\/indexes\/?$/,
86
+ params: [{"name":"server","optional":false,"rest":false,"chained":false},{"name":"database","optional":false,"rest":false,"chained":false},{"name":"collection","optional":false,"rest":false,"chained":false}],
87
+ page: { layouts: [0,2,3,4,], errors: [1,,,,], leaf: 12 },
88
+ endpoint: null
89
+ },
90
+ {
91
+ id: "/servers/[server]/databases/[database]/collections/[collection]/mappings",
92
+ pattern: /^\/servers\/([^/]+?)\/databases\/([^/]+?)\/collections\/([^/]+?)\/mappings\/?$/,
93
+ params: [{"name":"server","optional":false,"rest":false,"chained":false},{"name":"database","optional":false,"rest":false,"chained":false},{"name":"collection","optional":false,"rest":false,"chained":false}],
94
+ page: { layouts: [0,2,3,4,], errors: [1,,,,], leaf: 13 },
68
95
  endpoint: null
69
96
  }
70
97
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"robots.txt\"]),\n\tmimeTypes: {\".txt\":\"text/plain\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.CwqlbFyy.js\",app:\"_app/immutable/entry/app.Cc1FNLNH.js\",imports:[\"_app/immutable/entry/start.CwqlbFyy.js\",\"_app/immutable/chunks/CVoOGazw.js\",\"_app/immutable/chunks/D_aTX_ol.js\",\"_app/immutable/chunks/Dt6-JRym.js\",\"_app/immutable/chunks/ChWB6xnu.js\",\"_app/immutable/entry/app.Cc1FNLNH.js\",\"_app/immutable/chunks/Dt6-JRym.js\",\"_app/immutable/chunks/C1z4TjN7.js\",\"_app/immutable/chunks/D_aTX_ol.js\",\"_app/immutable/chunks/rtveiEyS.js\",\"_app/immutable/chunks/QoKxaG0e.js\",\"_app/immutable/chunks/CQBaNlA9.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js')),\n\t\t\t__memo(() => import('./nodes/5.js')),\n\t\t\t__memo(() => import('./nodes/6.js')),\n\t\t\t__memo(() => import('./nodes/7.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t'xxtqbu': __memo(() => import('./chunks/remote-xxtqbu.js'))\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers\",\n\t\t\t\tpattern: /^\\/servers\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 3 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 4 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 5 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections/[collection]\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"collection\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 6 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections/[collection]/documents/[document]\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/([^/]+?)\\/documents\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"collection\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"document\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 7 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"robots.txt\"]),\n\tmimeTypes: {\".txt\":\"text/plain\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.C1uqw3sp.js\",app:\"_app/immutable/entry/app.g5qLQ5x2.js\",imports:[\"_app/immutable/entry/start.C1uqw3sp.js\",\"_app/immutable/chunks/nVJvgG3c.js\",\"_app/immutable/chunks/5nAxkTTP.js\",\"_app/immutable/chunks/C82Rp5eQ.js\",\"_app/immutable/chunks/3iRu_dUj.js\",\"_app/immutable/chunks/4l_AWZos.js\",\"_app/immutable/entry/app.g5qLQ5x2.js\",\"_app/immutable/chunks/C82Rp5eQ.js\",\"_app/immutable/chunks/3iRu_dUj.js\",\"_app/immutable/chunks/BBg-V8FE.js\",\"_app/immutable/chunks/5nAxkTTP.js\",\"_app/immutable/chunks/D7E46CWw.js\",\"_app/immutable/chunks/BE8UzJuY.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js')),\n\t\t\t__memo(() => import('./nodes/5.js')),\n\t\t\t__memo(() => import('./nodes/6.js')),\n\t\t\t__memo(() => import('./nodes/7.js')),\n\t\t\t__memo(() => import('./nodes/8.js')),\n\t\t\t__memo(() => import('./nodes/9.js')),\n\t\t\t__memo(() => import('./nodes/10.js')),\n\t\t\t__memo(() => import('./nodes/11.js')),\n\t\t\t__memo(() => import('./nodes/12.js')),\n\t\t\t__memo(() => import('./nodes/13.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t'xxtqbu': __memo(() => import('./chunks/remote-xxtqbu.js'))\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 6 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/favicon.ico\",\n\t\t\t\tpattern: /^\\/favicon\\.ico\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/favicon.ico/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers\",\n\t\t\t\tpattern: /^\\/servers\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 7 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 8 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,3,], errors: [1,,,], leaf: 9 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections/[collection]/documents\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/([^/]+?)\\/documents\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"collection\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,3,4,], errors: [1,,,,], leaf: 10 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections/[collection]/documents/[document]\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/([^/]+?)\\/documents\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"collection\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"document\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,3,4,5,], errors: [1,,,,,], leaf: 11 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections/[collection]/indexes\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/([^/]+?)\\/indexes\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"collection\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,3,4,], errors: [1,,,,], leaf: 12 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections/[collection]/mappings\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/([^/]+?)\\/mappings\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"collection\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,3,4,], errors: [1,,,,], leaf: 13 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"AAAY,MAAC,QAAQ,GAAG,CAAC,MAAM;AAC/B,SAAS,MAAM,CAAC,EAAE,EAAE;AACpB,CAAC,IAAI,KAAK;AACV,CAAC,OAAO,MAAM,KAAK,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;AACtC;;AAEA,OAAO;AACP,CAAC,MAAM,EAAE,MAAM;AACf,CAAC,OAAO,EAAE,MAAM;AAChB,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;AACjC,CAAC,CAAC,EAAE;AACJ,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,wCAAwC,CAAC,GAAG,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC,wCAAwC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,sCAAsC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC;AACjoB,EAAE,KAAK,EAAE;AACT,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,yBAAe,CAAC,CAAC;AACxC,GAAG,MAAM,CAAC,MAAM,OAAO,yBAAe,CAAC,CAAC;AACxC,GAAG,MAAM,CAAC,MAAM,OAAO,yBAAe,CAAC,CAAC;AACxC,GAAG,MAAM,CAAC,MAAM,OAAO,yBAAe,CAAC;AACvC,GAAG;AACH,EAAE,OAAO,EAAE;AACX,GAAG,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,oCAA2B,CAAC;AAC7D,GAAG;AACH,EAAE,MAAM,EAAE;AACV,GAAG;AACH,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,cAAc;AACtB,IAAI,OAAO,EAAE,qBAAqB;AAClC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAA+C,CAAC;AAClF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,UAAU;AAClB,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,6BAA6B;AACrC,IAAI,OAAO,EAAE,qCAAqC;AAClD,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC7E,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;AACrD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,oDAAoD;AAC5D,IAAI,OAAO,EAAE,4DAA4D;AACzE,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/I,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;AACxD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,2EAA2E;AACnF,IAAI,OAAO,EAAE,iFAAiF;AAC9F,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACnN,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;AAC5D,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,sFAAsF;AAC9F,IAAI,OAAO,EAAE,2FAA2F;AACxG,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACrR,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;AAC/D,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,yEAAyE;AACjF,IAAI,OAAO,EAAE,+EAA+E;AAC5F,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACnN,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;AAC5D,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,0EAA0E;AAClF,IAAI,OAAO,EAAE,gFAAgF;AAC7F,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACnN,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;AAC5D,IAAI,QAAQ,EAAE;AACd;AACA,GAAG;AACH,EAAE,kBAAkB,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;AACjC,EAAE,QAAQ,EAAE,YAAY;AACxB;AACA,GAAG,OAAO,IAAI;AACd,EAAE,CAAC;AACH,EAAE,aAAa,EAAE;AACjB;AACA;AACA,CAAC;;AAEW,MAAC,WAAW,GAAG,IAAI,GAAG,CAAC,EAAE;;AAEzB,MAAC,IAAI,GAAG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongoku",
3
- "version": "2.0.4",
3
+ "version": "2.1.1",
4
4
  "license": "MIT",
5
5
  "author": "Anthony Moi <m.anthony.moi@gmail.com>",
6
6
  "type": "module",
@@ -21,6 +21,7 @@
21
21
  "@codemirror/state": "^6.4.0",
22
22
  "@codemirror/theme-one-dark": "^6.1.2",
23
23
  "@codemirror/view": "^6.23.0",
24
+ "aws4": "^1.13.2",
24
25
  "chalk": "^2.4.2",
25
26
  "codemirror": "^6.0.1",
26
27
  "commander": "^8.3.0",
@@ -61,14 +62,23 @@
61
62
  "globals": "^16.4.0",
62
63
  "prettier": "^3.6.2",
63
64
  "prettier-plugin-svelte": "^3.4.0",
65
+ "simple-git-hooks": "^2.13.1",
64
66
  "svelte": "^5.39.5",
65
67
  "svelte-check": "^4.3.2",
66
68
  "tailwindcss": "^4.1.14",
67
69
  "typescript": "^5.9.2",
68
70
  "typescript-eslint": "^8.44.1",
69
- "vite": "^7.1.7",
71
+ "vite": "^7.1.11",
70
72
  "vitest": "^3.2.4"
71
73
  },
74
+ "simple-git-hooks": {
75
+ "pre-commit": "npx lint-staged"
76
+ },
77
+ "lint-staged": {
78
+ "*.{js,ts,svelte}": [
79
+ "eslint --fix"
80
+ ]
81
+ },
72
82
  "scripts": {
73
83
  "dev": "vite dev --port 3100",
74
84
  "build": "vite build && tsc cli.ts --outDir dist --module esnext --target es2022 --moduleResolution bundler --esModuleInterop",
@@ -82,6 +92,7 @@
82
92
  "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
83
93
  "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
84
94
  "format": "prettier --write .",
95
+ "format:single": "prettier --write",
85
96
  "format:check": "prettier --check .",
86
97
  "lint": "eslint .",
87
98
  "lint:fix": "eslint . --fix"
@@ -1,8 +1,12 @@
1
- import { command } from "$app/server";
1
+ import { command, query } from "$app/server";
2
+ import { validateAggregationPipeline } from "$lib/server/aggregation";
2
3
  import JsonEncoder from "$lib/server/JsonEncoder";
3
4
  import { getMongo } from "$lib/server/mongo";
5
+ import { isEmptyObject } from "$lib/utils/isEmptyObject";
6
+ import { parseJSON } from "$lib/utils/jsonParser";
7
+ import { logger } from "$lib/utils/logger";
4
8
  import { error } from "@sveltejs/kit";
5
- import { ObjectId } from "mongodb";
9
+ import { ObjectId, type Document } from "mongodb";
6
10
  import { z } from "zod";
7
11
 
8
12
  // Check if read-only mode is enabled
@@ -18,6 +22,7 @@ export const addServer = command(
18
22
  url: z.string(),
19
23
  }),
20
24
  async ({ url }) => {
25
+ logger.log("addServer called with payload:", { url });
21
26
  const mongo = await getMongo();
22
27
  await mongo.addServer(url);
23
28
  return { ok: true };
@@ -26,6 +31,7 @@ export const addServer = command(
26
31
 
27
32
  // Remove a server
28
33
  export const removeServer = command(z.string(), async (serverName) => {
34
+ logger.log("removeServer called with payload:", { serverName });
29
35
  const mongo = await getMongo();
30
36
  await mongo.removeServer(serverName);
31
37
  return { ok: true };
@@ -40,27 +46,42 @@ export const updateDocument = command(
40
46
  document: z.string(),
41
47
  value: z.unknown(),
42
48
  partial: z.boolean().optional().default(false),
49
+ upsert: z.boolean().optional().default(false),
43
50
  }),
44
- async ({ server, database, collection, document, value, partial }) => {
51
+ async ({ server, database, collection, document, value, partial, upsert }) => {
52
+ logger.log("updateDocument called with payload:", { server, database, collection, document, partial, upsert });
45
53
  checkReadOnly();
46
54
 
47
55
  const mongo = await getMongo();
48
- const coll = mongo.getCollection(server, database, collection);
49
-
50
- if (!coll) {
51
- error(404, `Collection not found: ${server}.${database}.${collection}`);
52
- }
56
+ const client = mongo.getClient(server);
57
+ const coll = client.db(database).collection(collection);
53
58
 
54
59
  const newValue = JsonEncoder.decode(value);
55
60
 
56
61
  // TODO: For now it makes it impossible to remove fields from object with a projection
57
- const update = partial ? { $set: newValue } : JsonEncoder.decode(newValue);
58
- await coll.replaceOne(
59
- {
60
- _id: new ObjectId(document),
61
- },
62
- update,
63
- );
62
+ // Todo: handle multiple ID types
63
+ const _id = /^[0-9a-fA-F]{24}$/.test(document) ? new ObjectId(document) : document;
64
+ if (partial) {
65
+ await coll.updateOne(
66
+ {
67
+ _id: _id as unknown as ObjectId,
68
+ },
69
+ { $set: newValue },
70
+ { upsert: upsert },
71
+ );
72
+ } else {
73
+ await coll.replaceOne(
74
+ {
75
+ _id: _id as unknown as ObjectId,
76
+ },
77
+ JsonEncoder.decode(newValue),
78
+ { upsert: upsert },
79
+ );
80
+ }
81
+
82
+ if (collection === "mongoku.mappings") {
83
+ client.clearMappingsCache(database, document);
84
+ }
64
85
 
65
86
  return {
66
87
  ok: true,
@@ -69,6 +90,42 @@ export const updateDocument = command(
69
90
  },
70
91
  );
71
92
 
93
+ // Insert a document
94
+ export const insertDocument = command(
95
+ z.object({
96
+ server: z.string(),
97
+ database: z.string(),
98
+ collection: z.string(),
99
+ document: z.string(),
100
+ value: z.unknown(),
101
+ }),
102
+ async ({ server, database, collection, document, value }) => {
103
+ logger.log("insertDocument called with payload:", { server, database, collection, document });
104
+ checkReadOnly();
105
+
106
+ const mongo = await getMongo();
107
+ const client = mongo.getClient(server);
108
+ const coll = client.db(database).collection(collection);
109
+
110
+ const newValue = JsonEncoder.decode(value);
111
+
112
+ // Ensure _id matches the document parameter
113
+ const _id = /^[0-9a-fA-F]{24}$/.test(document) ? new ObjectId(document) : document;
114
+ newValue._id = _id;
115
+
116
+ await coll.insertOne(newValue);
117
+
118
+ if (collection === "mongoku.mappings") {
119
+ client.clearMappingsCache(database, document);
120
+ }
121
+
122
+ return {
123
+ ok: true,
124
+ insert: JsonEncoder.encode(newValue),
125
+ };
126
+ },
127
+ );
128
+
72
129
  // Delete a document
73
130
  export const deleteDocument = command(
74
131
  z.object({
@@ -78,17 +135,80 @@ export const deleteDocument = command(
78
135
  document: z.string(),
79
136
  }),
80
137
  async ({ server, database, collection, document }) => {
138
+ logger.log("deleteDocument called with payload:", { server, database, collection, document });
81
139
  checkReadOnly();
82
140
 
83
141
  const mongo = await getMongo();
84
- const coll = mongo.getCollection(server, database, collection);
142
+ const client = mongo.getClient(server);
143
+
144
+ await client
145
+ .db(database)
146
+ .collection(collection)
147
+ .deleteOne({
148
+ _id: new ObjectId(document),
149
+ });
85
150
 
86
- if (!coll) {
87
- error(404, `Collection not found: ${server}.${database}.${collection}`);
151
+ if (collection === "mongoku.mappings") {
152
+ client.clearMappingsCache(database, document);
88
153
  }
89
154
 
90
- await coll.deleteOne({
91
- _id: new ObjectId(document),
155
+ return {
156
+ ok: true,
157
+ };
158
+ },
159
+ );
160
+
161
+ // Update multiple documents with an arbitrary update query
162
+ export const updateMany = command(
163
+ z.object({
164
+ server: z.string(),
165
+ database: z.string(),
166
+ collection: z.string(),
167
+ filter: z.string(),
168
+ update: z.string(),
169
+ }),
170
+ async ({ server, database, collection, filter, update }) => {
171
+ logger.log("updateMany called with payload:", { server, database, collection, filter, update });
172
+ checkReadOnly();
173
+
174
+ const mongo = await getMongo();
175
+ const client = mongo.getClient(server);
176
+ const coll = client.db(database).collection(collection);
177
+
178
+ const filterDoc = JsonEncoder.decode(parseJSON(filter));
179
+ const updateDoc = JsonEncoder.decode(parseJSON(update));
180
+
181
+ const result = await coll.updateMany(filterDoc, updateDoc);
182
+
183
+ return {
184
+ ok: true,
185
+ matchedCount: result.matchedCount,
186
+ modifiedCount: result.modifiedCount,
187
+ };
188
+ },
189
+ );
190
+
191
+ // Hide an index
192
+ export const hideIndex = command(
193
+ z.object({
194
+ server: z.string(),
195
+ database: z.string(),
196
+ collection: z.string(),
197
+ index: z.string(),
198
+ }),
199
+ async ({ server, database, collection, index }) => {
200
+ logger.log("hideIndex called with payload:", { server, database, collection, index });
201
+ checkReadOnly();
202
+
203
+ const mongo = await getMongo();
204
+ const client = mongo.getClient(server);
205
+
206
+ await client.db(database).command({
207
+ collMod: collection,
208
+ index: {
209
+ name: index,
210
+ hidden: true,
211
+ },
92
212
  });
93
213
 
94
214
  return {
@@ -96,3 +216,244 @@ export const deleteDocument = command(
96
216
  };
97
217
  },
98
218
  );
219
+
220
+ // Unhide an index
221
+ export const unhideIndex = command(
222
+ z.object({
223
+ server: z.string(),
224
+ database: z.string(),
225
+ collection: z.string(),
226
+ index: z.string(),
227
+ }),
228
+ async ({ server, database, collection, index }) => {
229
+ logger.log("unhideIndex called with payload:", { server, database, collection, index });
230
+ checkReadOnly();
231
+
232
+ const mongo = await getMongo();
233
+ const client = mongo.getClient(server);
234
+
235
+ await client.db(database).command({
236
+ collMod: collection,
237
+ index: {
238
+ name: index,
239
+ hidden: false,
240
+ },
241
+ });
242
+
243
+ return {
244
+ ok: true,
245
+ };
246
+ },
247
+ );
248
+
249
+ // Drop an index
250
+ export const dropIndex = command(
251
+ z.object({
252
+ server: z.string(),
253
+ database: z.string(),
254
+ collection: z.string(),
255
+ index: z.string(),
256
+ }),
257
+ async ({ server, database, collection, index }) => {
258
+ logger.log("dropIndex called with payload:", { server, database, collection, index });
259
+ checkReadOnly();
260
+
261
+ const mongo = await getMongo();
262
+ const client = mongo.getClient(server);
263
+
264
+ await client.db(database).command({
265
+ dropIndexes: collection,
266
+ index: index,
267
+ });
268
+
269
+ return {
270
+ ok: true,
271
+ };
272
+ },
273
+ );
274
+
275
+ // Drop a collection
276
+ export const dropCollection = command(
277
+ z.object({
278
+ server: z.string(),
279
+ database: z.string(),
280
+ collection: z.string(),
281
+ }),
282
+ async ({ server, database, collection }) => {
283
+ logger.log("dropCollection called with payload:", { server, database, collection });
284
+ checkReadOnly();
285
+
286
+ const mongo = await getMongo();
287
+ const client = mongo.getClient(server);
288
+ const db = client.db(database);
289
+
290
+ await db.dropCollection(collection);
291
+
292
+ return {
293
+ ok: true,
294
+ };
295
+ },
296
+ );
297
+
298
+ // Retry connection to a server
299
+ export const retryConnection = command(z.string(), async (serverName) => {
300
+ logger.log("retryConnection called with payload:", { serverName });
301
+ const mongo = await getMongo();
302
+
303
+ // Reconnect the client (closes old connection and creates a new one)
304
+ await mongo.reconnectClient(serverName);
305
+
306
+ return { ok: true };
307
+ });
308
+
309
+ // Load documents from a collection
310
+ export const loadDocuments = query(
311
+ z.object({
312
+ server: z.string(),
313
+ database: z.string(),
314
+ collection: z.string(),
315
+ query: z.string().default("{}"),
316
+ sort: z.string().default("{}"),
317
+ project: z.string().default("{}"),
318
+ skip: z.number().int().default(0),
319
+ limit: z.number().int().default(20),
320
+ }),
321
+ async ({ server, database, collection, query: queryStr, sort, project, skip, limit }) => {
322
+ // Parse JSON strings - return error if invalid
323
+ let queryDoc: unknown;
324
+
325
+ try {
326
+ queryDoc = parseJSON(queryStr, { allowArray: true });
327
+ } catch (err) {
328
+ error(400, `Invalid query: ${err}`);
329
+ }
330
+
331
+ try {
332
+ parseJSON(sort);
333
+ } catch (err) {
334
+ error(400, `Invalid sort: ${err}`);
335
+ }
336
+
337
+ try {
338
+ parseJSON(project);
339
+ } catch (err) {
340
+ error(400, `Invalid project: ${err}`);
341
+ }
342
+
343
+ const sortDoc = parseJSON(sort);
344
+ const projectDoc = parseJSON(project) as Document;
345
+
346
+ const mongo = await getMongo();
347
+ const client = mongo.getClient(server);
348
+ const coll = client.db(database).collection(collection);
349
+
350
+ if (Array.isArray(queryDoc)) {
351
+ try {
352
+ validateAggregationPipeline(queryDoc);
353
+ } catch (err) {
354
+ error(400, `Invalid aggregation pipeline: ${err instanceof Error ? err.message : String(err)}`);
355
+ }
356
+
357
+ // Execute aggregation
358
+ const pipeline = JsonEncoder.decode(queryDoc);
359
+
360
+ try {
361
+ const results = await coll
362
+ .aggregate(
363
+ [
364
+ ...pipeline,
365
+ ...(isEmptyObject(projectDoc) ? [] : [{ $project: projectDoc }]),
366
+ ...(isEmptyObject(sortDoc as object) ? [] : [{ $sort: sortDoc }]),
367
+ { $limit: limit },
368
+ { $skip: skip },
369
+ ],
370
+ {
371
+ maxTimeMS: mongo.getQueryTimeout(),
372
+ },
373
+ )
374
+ .map((obj) => JsonEncoder.encode(obj))
375
+ .toArray();
376
+
377
+ return {
378
+ data: results,
379
+ error: null,
380
+ isAggregation: true,
381
+ };
382
+ } catch (err) {
383
+ logger.error("Error executing aggregation:", err);
384
+ error(500, `Failed to execute aggregation: ${err instanceof Error ? err.message : String(err)}`);
385
+ }
386
+ }
387
+
388
+ // Execute regular find query
389
+ try {
390
+ const results = await coll
391
+ .find(JsonEncoder.decode(queryDoc), { maxTimeMS: mongo.getQueryTimeout() })
392
+ .project(projectDoc)
393
+ .sort(JsonEncoder.decode(sortDoc))
394
+ .limit(limit)
395
+ .skip(skip)
396
+ .map((obj) => JsonEncoder.encode(obj))
397
+ .toArray();
398
+
399
+ return {
400
+ data: results,
401
+ error: null,
402
+ isAggregation: false,
403
+ };
404
+ } catch (err) {
405
+ logger.error("Error fetching query results:", err);
406
+ error(500, `Failed to fetch query results: ${err instanceof Error ? err.message : String(err)}`);
407
+ }
408
+ },
409
+ );
410
+
411
+ // Fetch a document by field value (for mappings)
412
+ // Tries multiple mapping targets and returns the first one that finds a document
413
+ export const fetchMappedDocument = query(
414
+ z.object({
415
+ server: z.string(),
416
+ database: z.string(),
417
+ mappings: z.array(
418
+ z.object({
419
+ collection: z.string(),
420
+ on: z.string(),
421
+ }),
422
+ ),
423
+ value: z.unknown(),
424
+ }),
425
+ async ({ server, database, mappings, value }) => {
426
+ const mongo = await getMongo();
427
+ const client = mongo.getClient(server);
428
+ const decodedValue = JsonEncoder.decode(value);
429
+
430
+ // Try each mapping in order and return the first match
431
+ for (const mapping of mappings) {
432
+ try {
433
+ const coll = client.db(database).collection(mapping.collection);
434
+ const query = { [mapping.on]: decodedValue };
435
+
436
+ const document = await coll.findOne(query, { maxTimeMS: mongo.getQueryTimeout() });
437
+
438
+ if (document) {
439
+ return {
440
+ data: JsonEncoder.encode(document),
441
+ collection: mapping.collection,
442
+ error: null,
443
+ };
444
+ }
445
+ } catch (err) {
446
+ logger.error(`Error fetching mapped document from ${mapping.collection}.${mapping.on}:`, err);
447
+ // Continue to next mapping on error
448
+ continue;
449
+ }
450
+ }
451
+
452
+ // No mapping found a document
453
+ return {
454
+ data: null,
455
+ collection: null,
456
+ error: "Document not found in any mapped collection",
457
+ };
458
+ },
459
+ );