mongoku 2.6.0-compat → 2.7.0-compat

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 (453) hide show
  1. package/Dockerfile +1 -0
  2. package/README.md +25 -0
  3. package/build/client/_app/immutable/assets/0.CdYhspVa.css +1 -0
  4. package/build/client/_app/immutable/assets/0.CdYhspVa.css.br +0 -0
  5. package/build/client/_app/immutable/assets/0.CdYhspVa.css.gz +0 -0
  6. package/build/client/_app/immutable/chunks/{DdLT9cdj.js → B59nRjE7.js} +1 -1
  7. package/build/client/_app/immutable/chunks/B59nRjE7.js.br +2 -0
  8. package/build/client/_app/immutable/chunks/B59nRjE7.js.gz +0 -0
  9. package/build/client/_app/immutable/chunks/BBqIHhSl.js +1 -0
  10. package/build/client/_app/immutable/chunks/BBqIHhSl.js.br +0 -0
  11. package/build/client/_app/immutable/chunks/BBqIHhSl.js.gz +0 -0
  12. package/build/client/_app/immutable/chunks/{BJ-rqge0.js → BIUJX0Ps.js} +6 -6
  13. package/build/client/_app/immutable/chunks/BIUJX0Ps.js.br +0 -0
  14. package/build/client/_app/immutable/chunks/BIUJX0Ps.js.gz +0 -0
  15. package/build/client/_app/immutable/chunks/C6nv_pni.js +1 -0
  16. package/build/client/_app/immutable/chunks/C6nv_pni.js.br +0 -0
  17. package/build/client/_app/immutable/chunks/C6nv_pni.js.gz +0 -0
  18. package/build/client/_app/immutable/chunks/{C5cMJ08W.js → CETiZ6GF.js} +1 -1
  19. package/build/client/_app/immutable/chunks/CETiZ6GF.js.br +0 -0
  20. package/build/client/_app/immutable/chunks/CETiZ6GF.js.gz +0 -0
  21. package/build/client/_app/immutable/chunks/CX0xC2bt.js +1 -0
  22. package/build/client/_app/immutable/chunks/CX0xC2bt.js.br +0 -0
  23. package/build/client/_app/immutable/chunks/CX0xC2bt.js.gz +0 -0
  24. package/build/client/_app/immutable/chunks/CeXlKXQN.js +1 -0
  25. package/build/client/_app/immutable/chunks/CeXlKXQN.js.br +0 -0
  26. package/build/client/_app/immutable/chunks/CeXlKXQN.js.gz +0 -0
  27. package/build/client/_app/immutable/chunks/ChTiw7nk.js +4 -0
  28. package/build/client/_app/immutable/chunks/ChTiw7nk.js.br +0 -0
  29. package/build/client/_app/immutable/chunks/ChTiw7nk.js.gz +0 -0
  30. package/build/client/_app/immutable/chunks/Czyt1_Wc.js +1 -0
  31. package/build/client/_app/immutable/chunks/Czyt1_Wc.js.br +0 -0
  32. package/build/client/_app/immutable/chunks/Czyt1_Wc.js.gz +0 -0
  33. package/build/client/_app/immutable/chunks/{B5NTIIm5.js → DJHYr09v.js} +1 -1
  34. package/build/client/_app/immutable/chunks/DJHYr09v.js.br +0 -0
  35. package/build/client/_app/immutable/chunks/DJHYr09v.js.gz +0 -0
  36. package/build/client/_app/immutable/chunks/{BER7n7JT.js → DZxZehvI.js} +1 -1
  37. package/build/client/_app/immutable/chunks/DZxZehvI.js.br +0 -0
  38. package/build/client/_app/immutable/chunks/DZxZehvI.js.gz +0 -0
  39. package/build/client/_app/immutable/chunks/DaNl6Y92.js +2 -0
  40. package/build/client/_app/immutable/chunks/DaNl6Y92.js.br +0 -0
  41. package/build/client/_app/immutable/chunks/DaNl6Y92.js.gz +0 -0
  42. package/build/client/_app/immutable/chunks/Dbu5gl04.js +1 -0
  43. package/build/client/_app/immutable/chunks/Dbu5gl04.js.br +0 -0
  44. package/build/client/_app/immutable/chunks/Dbu5gl04.js.gz +0 -0
  45. package/build/client/_app/immutable/chunks/DczwA5Ds.js +1 -0
  46. package/build/client/_app/immutable/chunks/DczwA5Ds.js.br +0 -0
  47. package/build/client/_app/immutable/chunks/DczwA5Ds.js.gz +0 -0
  48. package/build/client/_app/immutable/chunks/DjlV9yev.js +1 -0
  49. package/build/client/_app/immutable/chunks/DjlV9yev.js.br +0 -0
  50. package/build/client/_app/immutable/chunks/DjlV9yev.js.gz +0 -0
  51. package/build/client/_app/immutable/chunks/DkIdyQoH.js +1 -0
  52. package/build/client/_app/immutable/chunks/DkIdyQoH.js.br +0 -0
  53. package/build/client/_app/immutable/chunks/DkIdyQoH.js.gz +0 -0
  54. package/build/client/_app/immutable/chunks/DskkUG-R.js +41 -0
  55. package/build/client/_app/immutable/chunks/DskkUG-R.js.br +0 -0
  56. package/build/client/_app/immutable/chunks/DskkUG-R.js.gz +0 -0
  57. package/build/client/_app/immutable/chunks/DtqR9xj2.js +16 -0
  58. package/build/client/_app/immutable/chunks/DtqR9xj2.js.br +0 -0
  59. package/build/client/_app/immutable/chunks/DtqR9xj2.js.gz +0 -0
  60. package/build/client/_app/immutable/chunks/{c-rWvg5T.js → Dv9wDVNU.js} +1 -1
  61. package/build/client/_app/immutable/chunks/Dv9wDVNU.js.br +0 -0
  62. package/build/client/_app/immutable/chunks/Dv9wDVNU.js.gz +0 -0
  63. package/build/client/_app/immutable/chunks/{Bl8s7Z6r.js → DwvJoC1a.js} +1 -1
  64. package/build/client/_app/immutable/chunks/DwvJoC1a.js.br +0 -0
  65. package/build/client/_app/immutable/chunks/DwvJoC1a.js.gz +0 -0
  66. package/build/client/_app/immutable/chunks/ULh2o3ji.js +1 -0
  67. package/build/client/_app/immutable/chunks/ULh2o3ji.js.br +0 -0
  68. package/build/client/_app/immutable/chunks/ULh2o3ji.js.gz +0 -0
  69. package/build/client/_app/immutable/chunks/V1mdyEl2.js +1 -0
  70. package/build/client/_app/immutable/chunks/V1mdyEl2.js.br +0 -0
  71. package/build/client/_app/immutable/chunks/V1mdyEl2.js.gz +0 -0
  72. package/build/client/_app/immutable/chunks/{DUw-I2kh.js → gjWX2x82.js} +1 -1
  73. package/build/client/_app/immutable/chunks/gjWX2x82.js.br +0 -0
  74. package/build/client/_app/immutable/chunks/gjWX2x82.js.gz +0 -0
  75. package/build/client/_app/immutable/chunks/{CxcplU4Q.js → y5L2Na-S.js} +1 -1
  76. package/build/client/_app/immutable/chunks/y5L2Na-S.js.br +0 -0
  77. package/build/client/_app/immutable/chunks/y5L2Na-S.js.gz +0 -0
  78. package/build/client/_app/immutable/entry/app.DSC3O-oq.js +2 -0
  79. package/build/client/_app/immutable/entry/app.DSC3O-oq.js.br +0 -0
  80. package/build/client/_app/immutable/entry/app.DSC3O-oq.js.gz +0 -0
  81. package/build/client/_app/immutable/entry/start.DXWFdQeQ.js +1 -0
  82. package/build/client/_app/immutable/entry/start.DXWFdQeQ.js.br +0 -0
  83. package/build/client/_app/immutable/entry/start.DXWFdQeQ.js.gz +0 -0
  84. package/build/client/_app/immutable/nodes/0.CMAlzqMw.js +1 -0
  85. package/build/client/_app/immutable/nodes/0.CMAlzqMw.js.br +0 -0
  86. package/build/client/_app/immutable/nodes/0.CMAlzqMw.js.gz +0 -0
  87. package/build/client/_app/immutable/nodes/1.B6Npt7WS.js +1 -0
  88. package/build/client/_app/immutable/nodes/1.B6Npt7WS.js.br +4 -0
  89. package/build/client/_app/immutable/nodes/1.B6Npt7WS.js.gz +0 -0
  90. package/build/client/_app/immutable/nodes/10.UKtNnnWx.js +2 -0
  91. package/build/client/_app/immutable/nodes/10.UKtNnnWx.js.br +0 -0
  92. package/build/client/_app/immutable/nodes/10.UKtNnnWx.js.gz +0 -0
  93. package/build/client/_app/immutable/nodes/11.DZQrIhD6.js +6 -0
  94. package/build/client/_app/immutable/nodes/11.DZQrIhD6.js.br +0 -0
  95. package/build/client/_app/immutable/nodes/11.DZQrIhD6.js.gz +0 -0
  96. package/build/client/_app/immutable/nodes/12.Bb2XzJJ4.js +1 -0
  97. package/build/client/_app/immutable/nodes/12.Bb2XzJJ4.js.br +0 -0
  98. package/build/client/_app/immutable/nodes/12.Bb2XzJJ4.js.gz +0 -0
  99. package/build/client/_app/immutable/nodes/13.B_EllgAJ.js +1 -0
  100. package/build/client/_app/immutable/nodes/13.B_EllgAJ.js.br +0 -0
  101. package/build/client/_app/immutable/nodes/13.B_EllgAJ.js.gz +0 -0
  102. package/build/client/_app/immutable/nodes/14.Ds1Cbw86.js +65 -0
  103. package/build/client/_app/immutable/nodes/14.Ds1Cbw86.js.br +0 -0
  104. package/build/client/_app/immutable/nodes/14.Ds1Cbw86.js.gz +0 -0
  105. package/build/client/_app/immutable/nodes/{2.AM8fesja.js → 2.C6NzDBVE.js} +1 -1
  106. package/build/client/_app/immutable/nodes/2.C6NzDBVE.js.br +2 -0
  107. package/build/client/_app/immutable/nodes/2.C6NzDBVE.js.gz +0 -0
  108. package/build/client/_app/immutable/nodes/{3.BShuoOz5.js → 3.CZJqJ4La.js} +1 -1
  109. package/build/client/_app/immutable/nodes/3.CZJqJ4La.js.br +0 -0
  110. package/build/client/_app/immutable/nodes/3.CZJqJ4La.js.gz +0 -0
  111. package/build/client/_app/immutable/nodes/{4.BD6QbApY.js → 4.CNe3XPNo.js} +1 -1
  112. package/build/client/_app/immutable/nodes/4.CNe3XPNo.js.br +0 -0
  113. package/build/client/_app/immutable/nodes/4.CNe3XPNo.js.gz +0 -0
  114. package/build/client/_app/immutable/nodes/{5.JM_dwz0R.js → 5.BWhhv567.js} +1 -1
  115. package/build/client/_app/immutable/nodes/5.BWhhv567.js.br +0 -0
  116. package/build/client/_app/immutable/nodes/5.BWhhv567.js.gz +0 -0
  117. package/build/client/_app/immutable/nodes/7.DrDdJlUZ.js +1 -0
  118. package/build/client/_app/immutable/nodes/7.DrDdJlUZ.js.br +0 -0
  119. package/build/client/_app/immutable/nodes/7.DrDdJlUZ.js.gz +0 -0
  120. package/build/client/_app/immutable/nodes/8.DY5fyf2p.js +2 -0
  121. package/build/client/_app/immutable/nodes/8.DY5fyf2p.js.br +0 -0
  122. package/build/client/_app/immutable/nodes/8.DY5fyf2p.js.gz +0 -0
  123. package/build/client/_app/immutable/nodes/9.DSZg3ucy.js +1 -0
  124. package/build/client/_app/immutable/nodes/9.DSZg3ucy.js.br +0 -0
  125. package/build/client/_app/immutable/nodes/9.DSZg3ucy.js.gz +0 -0
  126. package/build/client/_app/version.json +1 -1
  127. package/build/client/_app/version.json.br +0 -0
  128. package/build/client/_app/version.json.gz +0 -0
  129. package/build/client/robots.txt.br +0 -0
  130. package/build/client/robots.txt.gz +0 -0
  131. package/build/handler.js +290 -228
  132. package/build/server/chunks/0-94hvO2vX.js +31 -0
  133. package/build/server/chunks/0-94hvO2vX.js.map +1 -0
  134. package/build/server/chunks/1-DU2n-wa5.js +9 -0
  135. package/build/server/chunks/1-DU2n-wa5.js.map +1 -0
  136. package/build/server/chunks/{9-DgCY2nR6.js → 10-CA3VfgE7.js} +7 -6
  137. package/build/server/chunks/10-CA3VfgE7.js.map +1 -0
  138. package/build/server/chunks/{10-FW86ZAmq.js → 11-xh-tBR25.js} +8 -7
  139. package/build/server/chunks/11-xh-tBR25.js.map +1 -0
  140. package/build/server/chunks/{11-DOvRxt7n.js → 12-CHoThn5d.js} +8 -7
  141. package/build/server/chunks/12-CHoThn5d.js.map +1 -0
  142. package/build/server/chunks/{12-Bf51NZHg.js → 13-s3o-iKja.js} +8 -7
  143. package/build/server/chunks/13-s3o-iKja.js.map +1 -0
  144. package/build/server/chunks/{13-CcZ-9baj.js → 14-Ch_I9f3x.js} +7 -6
  145. package/build/server/chunks/14-Ch_I9f3x.js.map +1 -0
  146. package/build/server/chunks/{2-DaZMexAs.js → 2-BNTmkYSf.js} +2 -2
  147. package/build/server/chunks/{2-DaZMexAs.js.map → 2-BNTmkYSf.js.map} +1 -1
  148. package/build/server/chunks/{3-Dr4vFhF1.js → 3-ClKd4dXQ.js} +2 -2
  149. package/build/server/chunks/{3-Dr4vFhF1.js.map → 3-ClKd4dXQ.js.map} +1 -1
  150. package/build/server/chunks/{4-K2WnEwm7.js → 4-BSPVNKkN.js} +2 -2
  151. package/build/server/chunks/{4-K2WnEwm7.js.map → 4-BSPVNKkN.js.map} +1 -1
  152. package/build/server/chunks/{5-Be-Du8oZ.js → 5-BzxZlQk0.js} +2 -2
  153. package/build/server/chunks/{5-Be-Du8oZ.js.map → 5-BzxZlQk0.js.map} +1 -1
  154. package/build/server/chunks/{6-DsYzHmsZ.js → 6-Bw8JUxiD.js} +3 -2
  155. package/build/server/chunks/6-Bw8JUxiD.js.map +1 -0
  156. package/build/server/chunks/7-B_ur3ckj.js +9 -0
  157. package/build/server/chunks/7-B_ur3ckj.js.map +1 -0
  158. package/build/server/chunks/{7-B04juXwR.js → 8-BEcdRamT.js} +8 -7
  159. package/build/server/chunks/8-BEcdRamT.js.map +1 -0
  160. package/build/server/chunks/{8-CBDbW932.js → 9-CeMYWy9o.js} +7 -6
  161. package/build/server/chunks/9-CeMYWy9o.js.map +1 -0
  162. package/build/server/chunks/JsonValue-CTg4aH_w.js +320 -0
  163. package/build/server/chunks/JsonValue-CTg4aH_w.js.map +1 -0
  164. package/build/server/chunks/{Modal-fWUUqg69.js → Modal-yO0qzufQ.js} +2 -3
  165. package/build/server/chunks/Modal-yO0qzufQ.js.map +1 -0
  166. package/build/server/chunks/{Panel-BXokpC3w.js → Panel-D9GzVDDt.js} +7 -12
  167. package/build/server/chunks/Panel-D9GzVDDt.js.map +1 -0
  168. package/build/server/chunks/{PrettyJson-CV4qF02W.js → PrettyJson-CzzntSVh.js} +15 -10
  169. package/build/server/chunks/PrettyJson-CzzntSVh.js.map +1 -0
  170. package/build/server/chunks/{Tooltip-1tZ4BUxU.js → Tooltip-D2BX7dwq.js} +2 -2
  171. package/build/server/chunks/Tooltip-D2BX7dwq.js.map +1 -0
  172. package/build/server/chunks/{TooltipTable-B2QGp4YW.js → TooltipTable-91W9LxGR.js} +3 -4
  173. package/build/server/chunks/TooltipTable-91W9LxGR.js.map +1 -0
  174. package/build/server/chunks/{_layout.svelte-DAGMbkJX.js → _layout.svelte-BFxKanne.js} +28 -24
  175. package/build/server/chunks/_layout.svelte-BFxKanne.js.map +1 -0
  176. package/build/server/chunks/{_page.svelte-DgQxD9T8.js → _page.svelte-CQzzieEo.js} +16 -18
  177. package/build/server/chunks/_page.svelte-CQzzieEo.js.map +1 -0
  178. package/build/server/chunks/_page.svelte-CSuE9bVi.js +14 -0
  179. package/build/server/chunks/_page.svelte-CSuE9bVi.js.map +1 -0
  180. package/build/server/chunks/{_page.svelte-DfZ2COw_.js → _page.svelte-CnboYQ1K.js} +11 -73
  181. package/build/server/chunks/_page.svelte-CnboYQ1K.js.map +1 -0
  182. package/build/server/chunks/{_page.svelte-ClakOyno.js → _page.svelte-D41VQj4U.js} +17 -19
  183. package/build/server/chunks/_page.svelte-D41VQj4U.js.map +1 -0
  184. package/build/server/chunks/{_page.svelte-CB9ZXhBt.js → _page.svelte-Dg71nX8A.js} +117 -97
  185. package/build/server/chunks/_page.svelte-Dg71nX8A.js.map +1 -0
  186. package/build/server/chunks/{_page.svelte-BUqI0nM9.js → _page.svelte-DxlZXLVf.js} +17 -19
  187. package/build/server/chunks/_page.svelte-DxlZXLVf.js.map +1 -0
  188. package/build/server/chunks/{_page.svelte-Ccc0KJ66.js → _page.svelte-SZxwc25D.js} +45 -39
  189. package/build/server/chunks/_page.svelte-SZxwc25D.js.map +1 -0
  190. package/build/server/chunks/{_page.svelte-wmgrrvR7.js → _page.svelte-THKAhY4k.js} +48 -51
  191. package/build/server/chunks/_page.svelte-THKAhY4k.js.map +1 -0
  192. package/build/server/chunks/_server.ts-B3lXxheE.js +15 -0
  193. package/build/server/chunks/_server.ts-B3lXxheE.js.map +1 -0
  194. package/build/server/chunks/_server.ts-Bs5HC7Wf.js +46 -0
  195. package/build/server/chunks/_server.ts-Bs5HC7Wf.js.map +1 -0
  196. package/build/server/chunks/_server.ts-DRL9sDg4.js +34 -0
  197. package/build/server/chunks/_server.ts-DRL9sDg4.js.map +1 -0
  198. package/build/server/chunks/_server.ts-DqL5edUL.js +24 -0
  199. package/build/server/chunks/_server.ts-DqL5edUL.js.map +1 -0
  200. package/build/server/chunks/client-C7bEwskR.js +7 -0
  201. package/build/server/chunks/{client-BCfAqu0g.js.map → client-C7bEwskR.js.map} +1 -1
  202. package/build/server/chunks/{client2-B-hc4vU8.js → client2-DcCKOWWC.js} +6 -6
  203. package/build/server/chunks/client2-DcCKOWWC.js.map +1 -0
  204. package/build/server/chunks/error.svelte-Bk-0XnBt.js +18 -0
  205. package/build/server/chunks/error.svelte-Bk-0XnBt.js.map +1 -0
  206. package/build/server/chunks/exports-B5ORJhfK.js +65 -0
  207. package/build/server/chunks/exports-B5ORJhfK.js.map +1 -0
  208. package/build/server/chunks/{filters-CbFjTNFI.js → filters-B3U8Nh9P.js} +16 -6
  209. package/build/server/chunks/filters-B3U8Nh9P.js.map +1 -0
  210. package/build/server/chunks/hooks.server-Cq7ufuFU.js +79 -0
  211. package/build/server/chunks/hooks.server-Cq7ufuFU.js.map +1 -0
  212. package/build/server/chunks/{index2-CJE0QJlP.js → index-CC9WtE-y.js} +3 -13
  213. package/build/server/chunks/index-CC9WtE-y.js.map +1 -0
  214. package/build/server/chunks/index-wpIsICWW.js.map +1 -1
  215. package/build/server/chunks/{index3-CQyDuV4f.js → index2-DMabdSHV.js} +3 -3
  216. package/build/server/chunks/index2-DMabdSHV.js.map +1 -0
  217. package/build/server/chunks/{logger-KF6KpVP6.js → logger-PfH_grbh.js} +4 -3
  218. package/build/server/chunks/logger-PfH_grbh.js.map +1 -0
  219. package/build/server/chunks/{mongo-CpQtfvt6.js → mongo-B92d7zNj.js} +25 -24
  220. package/build/server/chunks/mongo-B92d7zNj.js.map +1 -0
  221. package/build/server/chunks/oauth-BfIECOev.js +178 -0
  222. package/build/server/chunks/oauth-BfIECOev.js.map +1 -0
  223. package/build/server/chunks/remote-xxtqbu-D0yn6nhQ.js +22 -0
  224. package/build/server/chunks/remote-xxtqbu-D0yn6nhQ.js.map +1 -0
  225. package/build/server/chunks/{routing-BdGCua8Q.js → routing-CYknP78v.js} +23 -4
  226. package/build/server/chunks/routing-CYknP78v.js.map +1 -0
  227. package/build/server/chunks/{server2-CkPmd3Rb.js → server2-uigtM6st.js} +3 -3
  228. package/build/server/chunks/server2-uigtM6st.js.map +1 -0
  229. package/build/server/chunks/{servers.remote-OwAA4KJJ.js → servers.remote-BhpVo4Zs.js} +67 -42
  230. package/build/server/chunks/servers.remote-BhpVo4Zs.js.map +1 -0
  231. package/build/server/chunks/shared-BqTYMAzZ.js +1027 -0
  232. package/build/server/chunks/shared-BqTYMAzZ.js.map +1 -0
  233. package/build/server/chunks/shared-server-BmU87nph.js +11 -0
  234. package/build/server/chunks/shared-server-BmU87nph.js.map +1 -0
  235. package/build/server/chunks/{state.svelte-BfzDwKMC.js → state.svelte-Dzb7Lf2r.js} +2 -3
  236. package/build/server/chunks/state.svelte-Dzb7Lf2r.js.map +1 -0
  237. package/build/server/chunks/url-hmE1zcJ6.js +4721 -0
  238. package/build/server/chunks/url-hmE1zcJ6.js.map +1 -0
  239. package/build/server/chunks/{utils-kjxf7BZO.js → utils2-kjxf7BZO.js} +1 -1
  240. package/build/server/chunks/utils2-kjxf7BZO.js.map +1 -0
  241. package/build/server/index.js +381 -3466
  242. package/build/server/index.js.map +1 -1
  243. package/build/server/manifest.js +52 -23
  244. package/build/server/manifest.js.map +1 -1
  245. package/cli.ts +4 -0
  246. package/dist/cli.js +3 -0
  247. package/ecosystem.config.js +3 -0
  248. package/package.json +2 -2
  249. package/src/api/servers.remote.ts +20 -8
  250. package/src/app.d.ts +5 -0
  251. package/src/hooks.server.ts +38 -17
  252. package/src/lib/actions/jsonTextarea.ts +24 -8
  253. package/src/lib/actions/portal.ts +12 -5
  254. package/src/lib/components/ExplainPanel.svelte +42 -14
  255. package/src/lib/components/JsonValue.svelte +12 -4
  256. package/src/lib/components/PrettyJson.svelte +12 -4
  257. package/src/lib/components/ReplicaSetSelector.svelte +3 -1
  258. package/src/lib/components/SearchBox.svelte +12 -4
  259. package/src/lib/components/Tooltip.svelte +1 -1
  260. package/src/lib/server/HostsManager.ts +8 -17
  261. package/src/lib/server/logger.ts +4 -4
  262. package/src/lib/server/mongo.ts +17 -12
  263. package/src/lib/server/oauth.ts +276 -0
  264. package/src/lib/utils/filters.ts +15 -5
  265. package/src/lib/utils/formatSignificantDigits.ts +3 -1
  266. package/src/lib/utils/formatTimeAgo.ts +3 -1
  267. package/src/lib/utils/hostnames.ts +15 -5
  268. package/src/lib/utils/jsonParser.ts +21 -7
  269. package/src/lib/utils/longestCommonSuffix.ts +3 -1
  270. package/src/routes/+layout.server.ts +5 -1
  271. package/src/routes/+layout.svelte +16 -1
  272. package/src/routes/.well-known/cimd.json/+server.ts +34 -0
  273. package/src/routes/auth/callback/+server.ts +57 -0
  274. package/src/routes/auth/login/+server.ts +29 -0
  275. package/src/routes/auth/logout/+page.svelte +9 -0
  276. package/src/routes/auth/logout/+server.ts +9 -0
  277. package/src/routes/servers/+page.svelte +9 -4
  278. package/src/routes/servers/[server]/databases/+page.svelte +3 -1
  279. package/src/routes/servers/[server]/databases/[database]/collections/+page.svelte +3 -1
  280. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.svelte +3 -1
  281. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/[document]/+page.svelte +9 -6
  282. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.svelte +18 -6
  283. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/mappings/+page.svelte +3 -1
  284. package/build/client/_app/immutable/assets/0.Bg-3Xsxo.css +0 -1
  285. package/build/client/_app/immutable/assets/0.Bg-3Xsxo.css.br +0 -0
  286. package/build/client/_app/immutable/assets/0.Bg-3Xsxo.css.gz +0 -0
  287. package/build/client/_app/immutable/chunks/2G5jukcB.js +0 -1
  288. package/build/client/_app/immutable/chunks/2G5jukcB.js.br +0 -0
  289. package/build/client/_app/immutable/chunks/2G5jukcB.js.gz +0 -0
  290. package/build/client/_app/immutable/chunks/7qKXf-oy.js +0 -1
  291. package/build/client/_app/immutable/chunks/7qKXf-oy.js.br +0 -0
  292. package/build/client/_app/immutable/chunks/7qKXf-oy.js.gz +0 -0
  293. package/build/client/_app/immutable/chunks/B5NTIIm5.js.br +0 -0
  294. package/build/client/_app/immutable/chunks/B5NTIIm5.js.gz +0 -0
  295. package/build/client/_app/immutable/chunks/B8-w38Ky.js +0 -1
  296. package/build/client/_app/immutable/chunks/B8-w38Ky.js.br +0 -0
  297. package/build/client/_app/immutable/chunks/B8-w38Ky.js.gz +0 -0
  298. package/build/client/_app/immutable/chunks/BER7n7JT.js.br +0 -0
  299. package/build/client/_app/immutable/chunks/BER7n7JT.js.gz +0 -0
  300. package/build/client/_app/immutable/chunks/BJ-rqge0.js.br +0 -0
  301. package/build/client/_app/immutable/chunks/BJ-rqge0.js.gz +0 -0
  302. package/build/client/_app/immutable/chunks/BUr91kOw.js +0 -1
  303. package/build/client/_app/immutable/chunks/BUr91kOw.js.br +0 -0
  304. package/build/client/_app/immutable/chunks/BUr91kOw.js.gz +0 -0
  305. package/build/client/_app/immutable/chunks/BYPjaq07.js +0 -1
  306. package/build/client/_app/immutable/chunks/BYPjaq07.js.br +0 -0
  307. package/build/client/_app/immutable/chunks/BYPjaq07.js.gz +0 -0
  308. package/build/client/_app/immutable/chunks/Bl8s7Z6r.js.br +0 -1
  309. package/build/client/_app/immutable/chunks/Bl8s7Z6r.js.gz +0 -0
  310. package/build/client/_app/immutable/chunks/BnpHJF5-.js +0 -2
  311. package/build/client/_app/immutable/chunks/BnpHJF5-.js.br +0 -0
  312. package/build/client/_app/immutable/chunks/BnpHJF5-.js.gz +0 -0
  313. package/build/client/_app/immutable/chunks/C5cMJ08W.js.br +0 -0
  314. package/build/client/_app/immutable/chunks/C5cMJ08W.js.gz +0 -0
  315. package/build/client/_app/immutable/chunks/C93uPVVn.js +0 -1
  316. package/build/client/_app/immutable/chunks/C93uPVVn.js.br +0 -0
  317. package/build/client/_app/immutable/chunks/C93uPVVn.js.gz +0 -0
  318. package/build/client/_app/immutable/chunks/CKS6pEQE.js +0 -16
  319. package/build/client/_app/immutable/chunks/CKS6pEQE.js.br +0 -0
  320. package/build/client/_app/immutable/chunks/CKS6pEQE.js.gz +0 -0
  321. package/build/client/_app/immutable/chunks/CXNtxrhs.js +0 -1
  322. package/build/client/_app/immutable/chunks/CXNtxrhs.js.br +0 -0
  323. package/build/client/_app/immutable/chunks/CXNtxrhs.js.gz +0 -0
  324. package/build/client/_app/immutable/chunks/CxcplU4Q.js.br +0 -0
  325. package/build/client/_app/immutable/chunks/CxcplU4Q.js.gz +0 -0
  326. package/build/client/_app/immutable/chunks/DDy-Kuac.js +0 -1
  327. package/build/client/_app/immutable/chunks/DDy-Kuac.js.br +0 -0
  328. package/build/client/_app/immutable/chunks/DDy-Kuac.js.gz +0 -0
  329. package/build/client/_app/immutable/chunks/DUw-I2kh.js.br +0 -0
  330. package/build/client/_app/immutable/chunks/DUw-I2kh.js.gz +0 -0
  331. package/build/client/_app/immutable/chunks/Da8SMsGA.js +0 -4
  332. package/build/client/_app/immutable/chunks/Da8SMsGA.js.br +0 -0
  333. package/build/client/_app/immutable/chunks/Da8SMsGA.js.gz +0 -0
  334. package/build/client/_app/immutable/chunks/DdLT9cdj.js.br +0 -0
  335. package/build/client/_app/immutable/chunks/DdLT9cdj.js.gz +0 -0
  336. package/build/client/_app/immutable/chunks/Dmf2jfOR.js +0 -41
  337. package/build/client/_app/immutable/chunks/Dmf2jfOR.js.br +0 -0
  338. package/build/client/_app/immutable/chunks/Dmf2jfOR.js.gz +0 -0
  339. package/build/client/_app/immutable/chunks/LkvVkcQJ.js +0 -1
  340. package/build/client/_app/immutable/chunks/LkvVkcQJ.js.br +0 -0
  341. package/build/client/_app/immutable/chunks/LkvVkcQJ.js.gz +0 -0
  342. package/build/client/_app/immutable/chunks/c-rWvg5T.js.br +0 -0
  343. package/build/client/_app/immutable/chunks/c-rWvg5T.js.gz +0 -0
  344. package/build/client/_app/immutable/entry/app.CzAgfWF-.js +0 -2
  345. package/build/client/_app/immutable/entry/app.CzAgfWF-.js.br +0 -0
  346. package/build/client/_app/immutable/entry/app.CzAgfWF-.js.gz +0 -0
  347. package/build/client/_app/immutable/entry/start.BqhvOHS7.js +0 -1
  348. package/build/client/_app/immutable/entry/start.BqhvOHS7.js.br +0 -2
  349. package/build/client/_app/immutable/entry/start.BqhvOHS7.js.gz +0 -0
  350. package/build/client/_app/immutable/nodes/0.CfQvam5O.js +0 -1
  351. package/build/client/_app/immutable/nodes/0.CfQvam5O.js.br +0 -0
  352. package/build/client/_app/immutable/nodes/0.CfQvam5O.js.gz +0 -0
  353. package/build/client/_app/immutable/nodes/1.CT1dqOys.js +0 -1
  354. package/build/client/_app/immutable/nodes/1.CT1dqOys.js.br +0 -0
  355. package/build/client/_app/immutable/nodes/1.CT1dqOys.js.gz +0 -0
  356. package/build/client/_app/immutable/nodes/10.sOAG3GOP.js +0 -6
  357. package/build/client/_app/immutable/nodes/10.sOAG3GOP.js.br +0 -0
  358. package/build/client/_app/immutable/nodes/10.sOAG3GOP.js.gz +0 -0
  359. package/build/client/_app/immutable/nodes/11.CCoUVDmP.js +0 -1
  360. package/build/client/_app/immutable/nodes/11.CCoUVDmP.js.br +0 -0
  361. package/build/client/_app/immutable/nodes/11.CCoUVDmP.js.gz +0 -0
  362. package/build/client/_app/immutable/nodes/12.DXYwBajj.js +0 -1
  363. package/build/client/_app/immutable/nodes/12.DXYwBajj.js.br +0 -0
  364. package/build/client/_app/immutable/nodes/12.DXYwBajj.js.gz +0 -0
  365. package/build/client/_app/immutable/nodes/13.D1BtshxC.js +0 -65
  366. package/build/client/_app/immutable/nodes/13.D1BtshxC.js.br +0 -0
  367. package/build/client/_app/immutable/nodes/13.D1BtshxC.js.gz +0 -0
  368. package/build/client/_app/immutable/nodes/2.AM8fesja.js.br +0 -0
  369. package/build/client/_app/immutable/nodes/2.AM8fesja.js.gz +0 -0
  370. package/build/client/_app/immutable/nodes/3.BShuoOz5.js.br +0 -0
  371. package/build/client/_app/immutable/nodes/3.BShuoOz5.js.gz +0 -0
  372. package/build/client/_app/immutable/nodes/4.BD6QbApY.js.br +0 -0
  373. package/build/client/_app/immutable/nodes/4.BD6QbApY.js.gz +0 -0
  374. package/build/client/_app/immutable/nodes/5.JM_dwz0R.js.br +0 -0
  375. package/build/client/_app/immutable/nodes/5.JM_dwz0R.js.gz +0 -0
  376. package/build/client/_app/immutable/nodes/7.B828lV2z.js +0 -1
  377. package/build/client/_app/immutable/nodes/7.B828lV2z.js.br +0 -0
  378. package/build/client/_app/immutable/nodes/7.B828lV2z.js.gz +0 -0
  379. package/build/client/_app/immutable/nodes/8.jIKg6tO8.js +0 -1
  380. package/build/client/_app/immutable/nodes/8.jIKg6tO8.js.br +0 -0
  381. package/build/client/_app/immutable/nodes/8.jIKg6tO8.js.gz +0 -0
  382. package/build/client/_app/immutable/nodes/9.C0kZQQIe.js +0 -2
  383. package/build/client/_app/immutable/nodes/9.C0kZQQIe.js.br +0 -0
  384. package/build/client/_app/immutable/nodes/9.C0kZQQIe.js.gz +0 -0
  385. package/build/server/chunks/0-Cc_wO2h7.js +0 -22
  386. package/build/server/chunks/0-Cc_wO2h7.js.map +0 -1
  387. package/build/server/chunks/1-DG8uwx4O.js +0 -9
  388. package/build/server/chunks/1-DG8uwx4O.js.map +0 -1
  389. package/build/server/chunks/10-FW86ZAmq.js.map +0 -1
  390. package/build/server/chunks/11-DOvRxt7n.js.map +0 -1
  391. package/build/server/chunks/12-Bf51NZHg.js.map +0 -1
  392. package/build/server/chunks/13-CcZ-9baj.js.map +0 -1
  393. package/build/server/chunks/6-DsYzHmsZ.js.map +0 -1
  394. package/build/server/chunks/7-B04juXwR.js.map +0 -1
  395. package/build/server/chunks/8-CBDbW932.js.map +0 -1
  396. package/build/server/chunks/9-DgCY2nR6.js.map +0 -1
  397. package/build/server/chunks/JsonValue-Dj3vYG5T.js +0 -366
  398. package/build/server/chunks/JsonValue-Dj3vYG5T.js.map +0 -1
  399. package/build/server/chunks/Modal-fWUUqg69.js.map +0 -1
  400. package/build/server/chunks/Panel-BXokpC3w.js.map +0 -1
  401. package/build/server/chunks/PrettyJson-CV4qF02W.js.map +0 -1
  402. package/build/server/chunks/Tooltip-1tZ4BUxU.js.map +0 -1
  403. package/build/server/chunks/TooltipTable-B2QGp4YW.js.map +0 -1
  404. package/build/server/chunks/_layout.svelte-DAGMbkJX.js.map +0 -1
  405. package/build/server/chunks/_page.svelte-BUqI0nM9.js.map +0 -1
  406. package/build/server/chunks/_page.svelte-CB9ZXhBt.js.map +0 -1
  407. package/build/server/chunks/_page.svelte-Ccc0KJ66.js.map +0 -1
  408. package/build/server/chunks/_page.svelte-ClakOyno.js.map +0 -1
  409. package/build/server/chunks/_page.svelte-DfZ2COw_.js.map +0 -1
  410. package/build/server/chunks/_page.svelte-DgQxD9T8.js.map +0 -1
  411. package/build/server/chunks/_page.svelte-wmgrrvR7.js.map +0 -1
  412. package/build/server/chunks/client-BCfAqu0g.js +0 -7
  413. package/build/server/chunks/client2-B-hc4vU8.js.map +0 -1
  414. package/build/server/chunks/context-8UI9xWgq.js +0 -92
  415. package/build/server/chunks/context-8UI9xWgq.js.map +0 -1
  416. package/build/server/chunks/error.svelte-hj6GNaOv.js +0 -19
  417. package/build/server/chunks/error.svelte-hj6GNaOv.js.map +0 -1
  418. package/build/server/chunks/event-DVH-6ISX.js +0 -64
  419. package/build/server/chunks/event-DVH-6ISX.js.map +0 -1
  420. package/build/server/chunks/exports-CtTNDGe5.js +0 -161
  421. package/build/server/chunks/exports-CtTNDGe5.js.map +0 -1
  422. package/build/server/chunks/filters-CbFjTNFI.js.map +0 -1
  423. package/build/server/chunks/hooks.server-DRPXFQlL.js +0 -53
  424. package/build/server/chunks/hooks.server-DRPXFQlL.js.map +0 -1
  425. package/build/server/chunks/index-DOCFW0vv.js +0 -1355
  426. package/build/server/chunks/index-DOCFW0vv.js.map +0 -1
  427. package/build/server/chunks/index2-CJE0QJlP.js.map +0 -1
  428. package/build/server/chunks/index3-CQyDuV4f.js.map +0 -1
  429. package/build/server/chunks/logger-KF6KpVP6.js.map +0 -1
  430. package/build/server/chunks/mongo-CpQtfvt6.js.map +0 -1
  431. package/build/server/chunks/remote-xxtqbu-CbTWQ3bq.js +0 -21
  432. package/build/server/chunks/remote-xxtqbu-CbTWQ3bq.js.map +0 -1
  433. package/build/server/chunks/routing-BdGCua8Q.js.map +0 -1
  434. package/build/server/chunks/server2-CkPmd3Rb.js.map +0 -1
  435. package/build/server/chunks/servers.remote-OwAA4KJJ.js.map +0 -1
  436. package/build/server/chunks/shared-w5gO1Cte.js +0 -446
  437. package/build/server/chunks/shared-w5gO1Cte.js.map +0 -1
  438. package/build/server/chunks/state.svelte-BfzDwKMC.js.map +0 -1
  439. package/build/server/chunks/utils-kjxf7BZO.js.map +0 -1
  440. package/build/server/chunks/utils2-DrnJY_bz.js +0 -91
  441. package/build/server/chunks/utils2-DrnJY_bz.js.map +0 -1
  442. /package/build/client/_app/immutable/assets/{10.Wc4MTSzM.css → 11.Wc4MTSzM.css} +0 -0
  443. /package/build/client/_app/immutable/assets/{10.Wc4MTSzM.css.br → 11.Wc4MTSzM.css.br} +0 -0
  444. /package/build/client/_app/immutable/assets/{10.Wc4MTSzM.css.gz → 11.Wc4MTSzM.css.gz} +0 -0
  445. /package/build/client/_app/immutable/assets/{11.CEtFGlZU.css → 12.CEtFGlZU.css} +0 -0
  446. /package/build/client/_app/immutable/assets/{11.CEtFGlZU.css.br → 12.CEtFGlZU.css.br} +0 -0
  447. /package/build/client/_app/immutable/assets/{11.CEtFGlZU.css.gz → 12.CEtFGlZU.css.gz} +0 -0
  448. /package/build/client/_app/immutable/assets/{12.I1sSDJ6i.css → 13.I1sSDJ6i.css} +0 -0
  449. /package/build/client/_app/immutable/assets/{12.I1sSDJ6i.css.br → 13.I1sSDJ6i.css.br} +0 -0
  450. /package/build/client/_app/immutable/assets/{12.I1sSDJ6i.css.gz → 13.I1sSDJ6i.css.gz} +0 -0
  451. /package/build/client/_app/immutable/assets/{7.CRKE8WvY.css → 8.CRKE8WvY.css} +0 -0
  452. /package/build/client/_app/immutable/assets/{7.CRKE8WvY.css.br → 8.CRKE8WvY.css.br} +0 -0
  453. /package/build/client/_app/immutable/assets/{7.CRKE8WvY.css.gz → 8.CRKE8WvY.css.gz} +0 -0
@@ -1 +0,0 @@
1
- import{F as Z,i as N,a$ as F,b as p,g as i,a2 as $,u as R,d,p as ee,t as S,a as te,s as T,c as b,e as re,r as g,f as H}from"./BYPjaq07.js";import{a as B,b as w,q as m,c as se,r as O,d as M,H as E,g as ne,R as ae,e as z,f as J,v as oe}from"./Da8SMsGA.js";import{f as P,a as x,c as Q,t as ie}from"./BUr91kOw.js";import{s as ce}from"./BnpHJF5-.js";import{s as I}from"./2G5jukcB.js";import{p as ue,i as D}from"./CXNtxrhs.js";import{a as j}from"./Dmf2jfOR.js";import{b as de}from"./Bl8s7Z6r.js";async function le(o){const e=await fetch(o,{headers:{"x-sveltekit-pathname":location.pathname,"x-sveltekit-search":location.search}});if(!e.ok)throw new E(500,"Failed to execute remote function");const t=await e.json();if(t.type==="redirect")throw await ne(t.location),new ae(307,t.location);if(t.type==="error")throw new E(t.status??500,t.error);return t.result}function he(o,e){return t=>{const a=B(t,w.hooks.transport),r=se(o,a);let s=m.get(r),u=!0;try{Z(()=>(s&&s.count++,()=>{const l=m.get(r);l&&(l.count--,N().then(()=>{!l.count&&l===m.get(r)&&(m.delete(r),delete O[r])}))}))}catch{u=!1}let n=s?.resource;return n||(n=e(r,a),Object.defineProperty(n,"_key",{value:r}),m.set(r,s={count:u?1:0,resource:n}),n.then(()=>{N().then(()=>{!s.count&&s===m.get(r)&&m.delete(r)})}).catch(()=>{m.delete(r)})),n}}function C(o){for(const e of o)"release"in e&&e.release()}function fe(o,e=[]){const t=Object.entries(M(o,w.decoders));for(const[a,r]of t){const s=e.find(n=>n._key===a);s&&"release"in s&&s.release(),m.get(a)?.resource.set(r)}}function c(o){let e=p(0);const t=a=>{let r=[];F(e);const s=(async()=>{try{await Promise.resolve();const u=await fetch(`${z}/${J}/remote/${o}`,{method:"POST",body:JSON.stringify({payload:B(a,w.hooks.transport),refreshes:r.map(l=>l._key)}),headers:{"Content-Type":"application/json","x-sveltekit-pathname":location.pathname,"x-sveltekit-search":location.search}});if(!u.ok)throw C(r),new Error("Failed to execute remote function");const n=await u.json();if(n.type==="redirect")throw C(r),new Error("Redirects are not allowed in commands. Return a result instead and use goto on the client");if(n.type==="error")throw C(r),new E(n.status??500,n.error);return n.refreshes&&fe(n.refreshes,r),M(n.result,w.decoders)}finally{F(e,-1)}})();return s.updates=(...u)=>(r=u,delete s.updates,s),s};return Object.defineProperty(t,"pending",{get:()=>i(e)}),t}const A=`sveltekit:${oe}`;let me;(async()=>{if(typeof caches<"u")try{me=await caches.open(A);const o=await caches.keys();for(const e of o)e.startsWith("sveltekit:")&&e!==A&&await caches.delete(e)}catch(o){console.warn("Failed to initialize SvelteKit cache:",o)}})();function y(o){return he(o,(e,t)=>new xe(e,async()=>{if(Object.hasOwn(O,e))return O[e];const a=`${z}/${J}/remote/${o}${t?`?payload=${t}`:""}`,r=await le(a);return M(r,w.decoders)}))}class xe{_key;#c=!1;#u;#e=p(!0);#t=[];#n=p(!1);#i=p();#a;#r=p($([]));#d=R(()=>{if(i(this.#n))return i(this.#r).reduce((e,t)=>t(e),i(this.#i))});#o=p(void 0);#s=R(()=>{const e=i(this.#a);return i(this.#r).length,(t,a)=>{const r=(async()=>(await e,await N(),i(this.#d)))();return t||a?r.then(t,a):r}});constructor(e,t){this._key=e,this.#u=t,this.#a=p(this.#l())}#l(){this.#c?d(this.#e,!0):this.#c=!0;let e,t;const a=new Promise((r,s)=>{e=r,t=s});return this.#t.push(e),Promise.resolve(this.#u()).then(r=>{const s=this.#t.indexOf(e);s!==-1&&(this.#t.splice(0,s).forEach(u=>u()),d(this.#n,!0),d(this.#e,!1),d(this.#i,r),d(this.#o,void 0),e())}).catch(r=>{const s=this.#t.indexOf(e);s!==-1&&(this.#t.splice(0,s).forEach(u=>u()),d(this.#o,r),d(this.#e,!1),t(r))}),a}get then(){return i(this.#s)}get catch(){return i(this.#s),e=>i(this.#s)(void 0,e)}get finally(){return i(this.#s),e=>i(this.#s)(t=>(e(),t),t=>{throw e(),t})}get current(){return i(this.#d)}get error(){return i(this.#o)}get loading(){return i(this.#e)}get ready(){return i(this.#n)}refresh(){return delete O[this._key],d(this.#a,this.#l())}set(e){d(this.#n,!0),d(this.#e,!1),d(this.#o,void 0),d(this.#i,e),d(this.#a,Promise.resolve())}withOverride(e){return i(this.#r).push(e),{_key:this._key,release:()=>{const t=i(this.#r).indexOf(e);t!==-1&&i(this.#r).splice(t,1)}}}}const Se=c("xxtqbu/addServer"),Ie=c("xxtqbu/countDocuments"),je=y("xxtqbu/countDocumentsByTimeRange"),Ce=c("xxtqbu/createIndex"),Ne=c("xxtqbu/deleteDocument"),Ee=c("xxtqbu/deleteMany"),Me=y("xxtqbu/detectPrimaryNode"),Fe=c("xxtqbu/dropCollection"),Re=c("xxtqbu/dropDatabase"),Te=c("xxtqbu/dropIndex"),He=y("xxtqbu/explainQuery"),Qe=y("xxtqbu/fetchMappedDocument"),Ae=y("xxtqbu/getIndexStatsFromNodes"),Be=y("xxtqbu/getServerNodes"),ze=c("xxtqbu/hideIndex"),Je=c("xxtqbu/insertDocument"),Ke=c("xxtqbu/loadDocuments"),We=c("xxtqbu/removeServer"),Ge=c("xxtqbu/retryConnection"),Le=c("xxtqbu/unhideIndex"),Ue=c("xxtqbu/updateDocument"),Ve=c("xxtqbu/updateMany");var pe=P("<span> </span>"),ve=P('<div class="flex gap-2 items-center"><!></div>'),ye=P('<div><div style="color: var(--text);"><!></div> <!></div>'),_e=P("<div><!> <!></div>");function Xe(o,e){ee(e,!0);let t=ue(e,"ref",15);var a=_e(),r=b(a);{var s=n=>{var l=ye(),q=b(l),K=b(q);{var W=h=>{var f=pe(),_=b(f,!0);g(f),S(()=>ce(_,e.title)),x(h,f)},G=h=>{var f=Q(),_=H(f);{var V=v=>{var k=Q(),Y=H(k);I(Y,()=>e.title),x(v,k)},X=v=>{var k=ie(" ");x(v,k)};D(_,v=>{e.title?v(V):v(X,!1)},!0)}x(h,f)};D(K,h=>{typeof e.title=="string"?h(W):h(G,!1)})}g(q);var L=T(q,2);{var U=h=>{var f=ve(),_=b(f);I(_,()=>e.actions),g(f),x(h,f)};D(L,h=>{e.actions&&h(U)})}g(l),S(()=>{j(l,1,`px-3 sm:px-4 py-2 flex justify-between items-center ${e.children?"border-b border-[var(--border-color)]":""}`),j(q,1,`text-sm font-medium ${e.titleClass??""}`)}),x(n,l)};D(r,n=>{(e.title||e.actions)&&n(s)})}var u=T(r,2);I(u,()=>e.children??re),g(a),de(a,n=>t(n),()=>t()),S(()=>j(a,1,`rounded-2xl border border-[var(--border-color)] bg-[var(--light-background)]/70 shadow-sm ${e.class??""}`)),x(o,a),te()}export{Xe as P,Fe as a,Ne as b,Se as c,Re as d,We as e,Qe as f,Be as g,Me as h,Je as i,Ae as j,Te as k,Ce as l,Le as m,ze as n,je as o,Ke as p,Ie as q,Ge as r,He as s,Ve as t,Ue as u,Ee as v};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.CfQvam5O.js","../chunks/BUr91kOw.js","../chunks/BYPjaq07.js","../chunks/2G5jukcB.js","../chunks/B5NTIIm5.js","../chunks/DdLT9cdj.js","../chunks/Dmf2jfOR.js","../chunks/Da8SMsGA.js","../chunks/CxcplU4Q.js","../chunks/c-rWvg5T.js","../chunks/BnpHJF5-.js","../chunks/CXNtxrhs.js","../chunks/B8-w38Ky.js","../assets/0.Bg-3Xsxo.css","../nodes/1.CT1dqOys.js","../nodes/2.AM8fesja.js","../chunks/C93uPVVn.js","../nodes/3.BShuoOz5.js","../nodes/4.BD6QbApY.js","../nodes/5.JM_dwz0R.js","../chunks/Bl8s7Z6r.js","../nodes/7.B828lV2z.js","../chunks/DDy-Kuac.js","../chunks/DUw-I2kh.js","../chunks/LkvVkcQJ.js","../chunks/C5cMJ08W.js","../chunks/BER7n7JT.js","../assets/7.CRKE8WvY.css","../nodes/8.jIKg6tO8.js","../chunks/7qKXf-oy.js","../assets/Modal.CZgFKXkP.css","../nodes/9.C0kZQQIe.js","../nodes/10.sOAG3GOP.js","../chunks/CKS6pEQE.js","../assets/JsonValue.D87iuwcT.css","../chunks/BJ-rqge0.js","../assets/10.Wc4MTSzM.css","../nodes/11.CCoUVDmP.js","../assets/11.CEtFGlZU.css","../nodes/12.DXYwBajj.js","../assets/12.I1sSDJ6i.css","../nodes/13.D1BtshxC.js"])))=>i.map(i=>d[i]);
2
- import{m as Nt,N as Mt,q as qt,E as Bt,d as J,ap as Ft,g as i,b0 as pt,a0 as Gt,aJ as Ut,W as Wt,p as Jt,F as Yt,G as zt,b as it,i as Ht,f as u,s as Kt,a as Qt,c as Xt,r as Zt,u as g,t as $t}from"../chunks/BYPjaq07.js";import{h as te,m as ee,u as re,s as ae}from"../chunks/BnpHJF5-.js";import{f as vt,a as c,c as l,t as se}from"../chunks/BUr91kOw.js";import{o as ne}from"../chunks/CxcplU4Q.js";import{p as L,i as T}from"../chunks/CXNtxrhs.js";import{B as oe}from"../chunks/B5NTIIm5.js";import{b as h}from"../chunks/Bl8s7Z6r.js";function E(n,t,e){Nt&&Mt();var m=new oe(n);qt(()=>{var o=t()??null;m.ensure(o,o&&(a=>e(a,o)))},Bt)}function ce(n){return class extends ie{constructor(t){super({component:n,...t})}}}class ie{#e;#t;constructor(t){var e=new Map,m=(a,r)=>{var s=Wt(r,!1,!1);return e.set(a,s),s};const o=new Proxy({...t.props||{},$$events:{}},{get(a,r){return i(e.get(r)??m(r,Reflect.get(a,r)))},has(a,r){return r===Ft?!0:(i(e.get(r)??m(r,Reflect.get(a,r))),Reflect.has(a,r))},set(a,r,s){return J(e.get(r)??m(r,s),s),Reflect.set(a,r,s)}});this.#t=(t.hydrate?te:ee)(t.component,{target:t.target,anchor:t.anchor,props:o,context:t.context,intro:t.intro??!1,recover:t.recover}),!pt&&(!t?.props?.$$host||t.sync===!1)&&Gt(),this.#e=o.$$events;for(const a of Object.keys(this.#t))a==="$set"||a==="$destroy"||a==="$on"||Ut(this,a,{get(){return this.#t[a]},set(r){this.#t[a]=r},enumerable:!0});this.#t.$set=a=>{Object.assign(o,a)},this.#t.$destroy=()=>{re(this.#t)}}$set(t){this.#t.$set(t)}$on(t,e){this.#e[t]=this.#e[t]||[];const m=(...o)=>e.call(this,...o);return this.#e[t].push(m),()=>{this.#e[t]=this.#e[t].filter(o=>o!==m)}}$destroy(){this.#t.$destroy()}}const ue="modulepreload",me=function(n,t){return new URL(n,t).href},ft={},_=function(t,e,m){let o=Promise.resolve();if(e&&e.length>0){let j=function(d){return Promise.all(d.map(P=>Promise.resolve(P).then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))};const r=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),S=s?.nonce||s?.getAttribute("nonce");o=j(e.map(d=>{if(d=me(d,m),d in ft)return;ft[d]=!0;const P=d.endsWith(".css"),y=P?'[rel="stylesheet"]':"";if(m)for(let b=r.length-1;b>=0;b--){const w=r[b];if(w.href===d&&(!P||w.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${d}"]${y}`))return;const v=document.createElement("link");if(v.rel=P?"stylesheet":ue,P||(v.as="script"),v.crossOrigin="",v.href=d,S&&v.setAttribute("nonce",S),document.head.appendChild(v),P)return new Promise((b,w)=>{v.addEventListener("load",b),v.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${d}`)))})}))}function a(r){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=r,window.dispatchEvent(s),!s.defaultPrevented)throw r}return o.then(r=>{for(const s of r||[])s.status==="rejected"&&a(s.reason);return t().catch(a)})},we={};var le=vt('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),de=vt("<!> <!>",1);function _e(n,t){Jt(t,!0);let e=L(t,"components",23,()=>[]),m=L(t,"data_0",3,null),o=L(t,"data_1",3,null),a=L(t,"data_2",3,null),r=L(t,"data_3",3,null),s=L(t,"data_4",3,null),S=L(t,"data_5",3,null);Yt(()=>t.stores.page.set(t.page)),zt(()=>{t.stores,t.page,t.constructors,e(),t.form,m(),o(),a(),r(),s(),S(),t.stores.page.notify()});let j=it(!1),d=it(!1),P=it(null);ne(()=>{const f=t.stores.page.subscribe(()=>{i(j)&&(J(d,!0),Ht().then(()=>{J(P,document.title||"untitled page",!0)}))});return J(j,!0),f});const y=g(()=>t.constructors[5]);var v=de(),b=u(v);{var w=f=>{const R=g(()=>t.constructors[0]);var O=l(),C=u(O);E(C,()=>i(R),(A,D)=>{h(D(A,{get data(){return m()},get form(){return t.form},get params(){return t.page.params},children:(N,ve)=>{var ut=l(),bt=u(ut);{var yt=I=>{const Y=g(()=>t.constructors[1]);var M=l(),z=u(M);E(z,()=>i(Y),(H,K)=>{h(K(H,{get data(){return o()},get form(){return t.form},get params(){return t.page.params},children:(q,ge)=>{var mt=l(),Ot=u(mt);{var At=V=>{const Q=g(()=>t.constructors[2]);var B=l(),X=u(B);E(X,()=>i(Q),(Z,$)=>{h($(Z,{get data(){return a()},get form(){return t.form},get params(){return t.page.params},children:(F,he)=>{var lt=l(),Tt=u(lt);{var wt=k=>{const tt=g(()=>t.constructors[3]);var p=l(),et=u(p);E(et,()=>i(tt),(rt,at)=>{h(at(rt,{get data(){return r()},get form(){return t.form},get params(){return t.page.params},children:(G,Ee)=>{var dt=l(),It=u(dt);{var Vt=x=>{const st=g(()=>t.constructors[4]);var U=l(),nt=u(U);E(nt,()=>i(st),(ot,ct)=>{h(ct(ot,{get data(){return s()},get form(){return t.form},get params(){return t.page.params},children:(W,Pe)=>{var _t=l(),xt=u(_t);E(xt,()=>i(y),(St,jt)=>{h(jt(St,{get data(){return S()},get form(){return t.form},get params(){return t.page.params}}),Ct=>e()[5]=Ct,()=>e()?.[5])}),c(W,_t)},$$slots:{default:!0}}),W=>e()[4]=W,()=>e()?.[4])}),c(x,U)},kt=x=>{const st=g(()=>t.constructors[4]);var U=l(),nt=u(U);E(nt,()=>i(st),(ot,ct)=>{h(ct(ot,{get data(){return s()},get form(){return t.form},get params(){return t.page.params}}),W=>e()[4]=W,()=>e()?.[4])}),c(x,U)};T(It,x=>{t.constructors[5]?x(Vt):x(kt,!1)})}c(G,dt)},$$slots:{default:!0}}),G=>e()[3]=G,()=>e()?.[3])}),c(k,p)},Dt=k=>{const tt=g(()=>t.constructors[3]);var p=l(),et=u(p);E(et,()=>i(tt),(rt,at)=>{h(at(rt,{get data(){return r()},get form(){return t.form},get params(){return t.page.params}}),G=>e()[3]=G,()=>e()?.[3])}),c(k,p)};T(Tt,k=>{t.constructors[4]?k(wt):k(Dt,!1)})}c(F,lt)},$$slots:{default:!0}}),F=>e()[2]=F,()=>e()?.[2])}),c(V,B)},Lt=V=>{const Q=g(()=>t.constructors[2]);var B=l(),X=u(B);E(X,()=>i(Q),(Z,$)=>{h($(Z,{get data(){return a()},get form(){return t.form},get params(){return t.page.params}}),F=>e()[2]=F,()=>e()?.[2])}),c(V,B)};T(Ot,V=>{t.constructors[3]?V(At):V(Lt,!1)})}c(q,mt)},$$slots:{default:!0}}),q=>e()[1]=q,()=>e()?.[1])}),c(I,M)},Rt=I=>{const Y=g(()=>t.constructors[1]);var M=l(),z=u(M);E(z,()=>i(Y),(H,K)=>{h(K(H,{get data(){return o()},get form(){return t.form},get params(){return t.page.params}}),q=>e()[1]=q,()=>e()?.[1])}),c(I,M)};T(bt,I=>{t.constructors[2]?I(yt):I(Rt,!1)})}c(N,ut)},$$slots:{default:!0}}),N=>e()[0]=N,()=>e()?.[0])}),c(f,O)},ht=f=>{const R=g(()=>t.constructors[0]);var O=l(),C=u(O);E(C,()=>i(R),(A,D)=>{h(D(A,{get data(){return m()},get form(){return t.form},get params(){return t.page.params}}),N=>e()[0]=N,()=>e()?.[0])}),c(f,O)};T(b,f=>{t.constructors[1]?f(w):f(ht,!1)})}var Et=Kt(b,2);{var Pt=f=>{var R=le(),O=Xt(R);{var C=A=>{var D=se();$t(()=>ae(D,i(P))),c(A,D)};T(O,A=>{i(d)&&A(C)})}Zt(R),c(f,R)};T(Et,f=>{i(j)&&f(Pt)})}c(n,v),Qt()}const De=ce(_e),Ie=[()=>_(()=>import("../nodes/0.CfQvam5O.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url),()=>_(()=>import("../nodes/1.CT1dqOys.js"),__vite__mapDeps([14,1,2,9,10,12,7,8]),import.meta.url),()=>_(()=>import("../nodes/2.AM8fesja.js"),__vite__mapDeps([15,16,1,2,3,4]),import.meta.url),()=>_(()=>import("../nodes/3.BShuoOz5.js"),__vite__mapDeps([17,16,1,2,3,4]),import.meta.url),()=>_(()=>import("../nodes/4.BD6QbApY.js"),__vite__mapDeps([18,16,1,2,3,4]),import.meta.url),()=>_(()=>import("../nodes/5.JM_dwz0R.js"),__vite__mapDeps([19,16,1,2,3,4]),import.meta.url),()=>_(()=>import("../chunks/Bl8s7Z6r.js").then(n=>n._),__vite__mapDeps([20,2]),import.meta.url),()=>_(()=>import("../nodes/7.B828lV2z.js"),__vite__mapDeps([21,1,2,10,22,4,11,6,7,8,23,24,3,20,25,26,5,27]),import.meta.url),()=>_(()=>import("../nodes/8.jIKg6tO8.js"),__vite__mapDeps([28,1,2,10,22,4,11,6,7,8,24,3,20,29,30,25,26,5]),import.meta.url),()=>_(()=>import("../nodes/9.C0kZQQIe.js"),__vite__mapDeps([31,1,2,10,22,4,11,6,7,8,24,3,20,29,30,25,26,5]),import.meta.url),()=>_(()=>import("../nodes/10.sOAG3GOP.js"),__vite__mapDeps([32,1,2,10,22,4,11,6,7,8,5,23,24,3,20,33,26,34,29,30,35,12,36]),import.meta.url),()=>_(()=>import("../nodes/11.CCoUVDmP.js"),__vite__mapDeps([37,1,2,10,11,4,24,7,8,3,6,20,35,5,23,33,26,34,38]),import.meta.url),()=>_(()=>import("../nodes/12.DXYwBajj.js"),__vite__mapDeps([39,1,2,10,22,4,11,6,7,8,5,23,24,3,20,12,33,26,34,29,30,40]),import.meta.url),()=>_(()=>import("../nodes/13.D1BtshxC.js"),__vite__mapDeps([41,1,2,10,11,4,6,7,8,23,24,3,20]),import.meta.url)],Ve=[0],ke={"/":[-7],"/servers":[-8],"/servers/[server]/databases":[-9,[2]],"/servers/[server]/databases/[database]/collections":[-10,[2,3]],"/servers/[server]/databases/[database]/collections/[collection]/documents":[-11,[2,3,4]],"/servers/[server]/databases/[database]/collections/[collection]/documents/[document]":[-12,[2,3,4,5]],"/servers/[server]/databases/[database]/collections/[collection]/indexes":[-13,[2,3,4]],"/servers/[server]/databases/[database]/collections/[collection]/mappings":[-14,[2,3,4]]},gt={handleError:(({error:n})=>{console.error(n)}),reroute:(()=>{}),transport:{}},fe=Object.fromEntries(Object.entries(gt.transport).map(([n,t])=>[n,t.decode])),xe=Object.fromEntries(Object.entries(gt.transport).map(([n,t])=>[n,t.encode])),Se=!1,je=(n,t)=>fe[n](t);export{je as decode,fe as decoders,ke as dictionary,xe as encoders,Se as hash,gt as hooks,we as matchers,Ie as nodes,De as root,Ve as server_loads};
@@ -1 +0,0 @@
1
- import{n as o,m as r}from"../chunks/Da8SMsGA.js";export{o as load_css,r as start};
@@ -1,2 +0,0 @@
1
- )�import{n as o,m as r}from"../chunks/Da8SMsGA.js";export{o as load_css,r as start};
2
- 
@@ -1 +0,0 @@
1
- import{c as z,a as m,f as w,b as G}from"../chunks/BUr91kOw.js";import{z as se,q as re,b2 as ne,m as R,aL as oe,as as ie,aN as V,S as Y,Q as $,B as le,p as B,f as q,a as A,g as c,s as f,c as o,r as t,t as E,G as ee,d as L,b as W,u as j,n as P,b3 as ve,b4 as de}from"../chunks/BYPjaq07.js";import{s as ce}from"../chunks/2G5jukcB.js";import{a as me,c as ge}from"../chunks/DdLT9cdj.js";import{e as F,r as H,s as K,i as ue,a as Q,c as pe,n as J}from"../chunks/Dmf2jfOR.js";import{i as te}from"../chunks/c-rWvg5T.js";import{s as S,d as U}from"../chunks/BnpHJF5-.js";import{i as C,p as he}from"../chunks/CXNtxrhs.js";import{p as I}from"../chunks/B8-w38Ky.js";function fe(v,e){let a=null,i=R;var d;if(R){a=le;for(var s=oe(document.head);s!==null&&(s.nodeType!==ie||s.data!==v);)s=V(s);if(s===null)Y(!1);else{var p=V(s);s.remove(),$(p)}}R||(d=document.head.appendChild(se()));try{re(()=>e(d),ne)}finally{i&&(Y(!0),$(a))}}const D={get items(){return(I.data.breadcrumbs??[]).reduce((e,a)=>[...e,{label:a.label,href:`${e.at(-1)?.href??""}${a.path}`}],[])}};var xe=w('<a class="px-2 py-1 rounded-md hover:bg-[var(--color-3)] transition no-underline" style="color: var(--text);"> </a>'),_e=w('<span aria-current="page" class="px-2 py-1 rounded-md font-medium" style="color: var(--text);"> </span>'),be=w('<span style="color: var(--text-secondary);">/</span>'),ye=w("<!> <!>",1),we=w('<nav aria-label="Breadcrumb" class="hidden md:flex items-center gap-1 text-sm"></nav>');function ke(v,e){B(e,!1),te();var a=z(),i=q(a);{var d=s=>{var p=we();F(p,5,()=>D.items,ue,(g,r,u)=>{var x=ye(),b=q(x);{var k=l=>{var n=xe(),h=o(n,!0);t(n),E(y=>{K(n,"href",y),S(h,c(r).label)},[()=>H(c(r).href)]),m(l,n)},_=l=>{var n=_e(),h=o(n,!0);t(n),E(()=>S(h,c(r).label)),m(l,n)};C(b,l=>{c(r).href&&u<D.items.length-1?l(k):l(_,!1)})}var T=f(b,2);{var O=l=>{var n=be();m(l,n)};C(T,l=>{u<D.items.length-1&&l(O)})}m(g,x)}),t(p),m(s,p)};C(i,s=>{D.items.length>0&&s(d)})}m(v,a),A()}var Oe=G('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>');function Me(v,e){let a=he(e,"class",3,"w-4 h-4");var i=Oe();E(()=>Q(i,0,pe(a()))),m(v,i)}var Te=w('<div><span> </span> <button aria-label="Dismiss notification" class="svelte-2qov3s"><!></button></div>'),Ee=w('<div class="notifications svelte-2qov3s"></div>');function Se(v,e){B(e,!1),te();var a=Ee();F(a,5,()=>J.items,i=>i.id,(i,d)=>{var s=Te(),p=o(s),g=o(p,!0);t(p);var r=f(p,2);r.__click=()=>J.remove(c(d).id);var u=o(r);Me(u,{class:"w-[18px] h-[18px]"}),t(r),t(s),E(()=>{Q(s,1,`notification notification-${c(d).type??""}`,"svelte-2qov3s"),S(g,c(d).message)}),m(i,s)}),t(a),m(v,a),A()}U(["click"]);var Le=w('<div class="warning-banner svelte-1358fs2"><div class="warning-content svelte-1358fs2"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1358fs2"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg> <span class="svelte-1358fs2"> <code class="svelte-1358fs2">MONGOKU_SERVER_ORIGIN</code> environment variable to <code class="svelte-1358fs2"> </code>. Current server origin is <code class="svelte-1358fs2"> </code></span> <button class="dismiss-button svelte-1358fs2" aria-label="Dismiss warning">&times;</button></div></div>');function Ce(v,e){B(e,!0);const a="mongoku:origin-warning-dismissed";let i=W(!1);ee(()=>{if(e.serverOrigin!==I.url.origin){const r=sessionStorage.getItem(a);L(i,!r)}});function d(){sessionStorage.setItem(a,"true"),L(i,!1)}var s=z(),p=q(s);{var g=r=>{var u=Le(),x=o(u),b=f(o(x),2),k=o(b),_=f(k,3),T=o(_,!0);t(_);var O=f(_,2),l=o(O,!0);t(O),t(b);var n=f(b,2);n.__click=d,t(x),t(u),E(()=>{S(k,`To enable ${e.readOnly?"server configuration":"write operations"}, set the `),S(T,I.url.origin),S(l,e.serverOrigin)}),m(r,u)};C(p,r=>{c(i)&&r(g)})}m(v,s),A()}U(["click"]);var Ie=w('<span class="px-3 py-1.5 text-[13px] font-medium bg-[var(--color-1)] shadow-[inset_0_-1px_0_rgba(0,0,0,0.06)] cursor-default" style="color: var(--text);"> </span>'),Be=w('<a data-sveltekit-reload="" class="px-3 py-1.5 text-[13px] hover:bg-[var(--color-3)] transition no-underline" style="color: var(--text-secondary);"> </a>'),Ae=w("<div></div>");function Ne(v,e){B(e,!0);const a=j(()=>(I.data.categories??[]).map(g=>({...g,href:I.url.pathname.split("/").slice(0,-1).join("/")+"/"+g.key}))),i=j(()=>I.url.pathname.split("/").pop());var d=z(),s=q(d);{var p=g=>{var r=Ae();F(r,21,()=>c(a),u=>u.key,(u,x)=>{const b=j(()=>c(i)===c(x).key);var k=z(),_=q(k);{var T=l=>{var n=Ie(),h=o(n,!0);t(n),E(()=>S(h,c(x).label)),m(l,n)},O=l=>{var n=Be(),h=o(n,!0);t(n),E(y=>{K(n,"href",y),S(h,c(x).label)},[()=>H(c(x).href)]),m(l,n)};C(_,l=>{c(b)?l(T):l(O,!1)})}m(u,k)}),t(r),E(()=>Q(r,1,`hidden sm:flex rounded-lg border border-[var(--border-color)] overflow-hidden bg-[var(--light-background)] shadow-sm ${e.class??""}`)),m(g,r)};C(s,g=>{c(a).length&&g(p)})}m(v,d),A()}const X=v=>{var e=je();m(v,e)},Z=v=>{var e=qe();m(v,e)},De=v=>{var e=ze();m(v,e)};var je=G('<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2m0 16v2m10-10h-2M4 12H2m15.364-7.364-1.414 1.414M8.05 16.95l-1.414 1.414m0-12.728L8.05 6.364m10.607 10.607 1.414 1.414"></path></svg>'),qe=G('<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg>'),ze=G('<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6"><rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect><line x1="8" y1="21" x2="16" y2="21"></line><line x1="12" y1="17" x2="12" y2="21"></line></svg>'),Ge=w('<div class="theme-switcher inline-flex rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] overflow-hidden text-sm font-medium svelte-u8uo5a" style="color: var(--text);"><button class="inline-flex items-center gap-2 px-2.5 py-1.5 hover:bg-[var(--color-3)] transition cursor-pointer svelte-u8uo5a" aria-label="Toggle theme"><span class="theme-content theme-light inline-flex items-center gap-2 svelte-u8uo5a"><!> <span class="hidden sm:inline text-[13px]" style="color: var(--text-secondary);">Light</span></span> <span class="theme-content theme-dark inline-flex items-center gap-2 svelte-u8uo5a"><!> <span class="hidden sm:inline text-[13px]" style="color: var(--text-secondary);">Dark</span></span> <span class="theme-content theme-system-light inline-flex items-center gap-2 svelte-u8uo5a"><!></span> <span class="theme-content theme-system-dark inline-flex items-center gap-2 svelte-u8uo5a"><!></span></button> <div class="w-px bg-[var(--border-color)]"></div> <button class="inline-flex items-center gap-2 px-2.5 py-1.5 hover:bg-[var(--color-3)] transition cursor-pointer svelte-u8uo5a" aria-label="Switch to system theme"><!> <span class="theme-text-system hidden sm:inline text-[13px] svelte-u8uo5a" style="color: var(--text-secondary);">System</span></button></div>');function Re(v,e){B(e,!0);let a=W("system"),i=W("light");ee(()=>{if(typeof window<"u"){const y=localStorage.getItem("theme");L(a,y||"system",!0);const M=window.matchMedia("(prefers-color-scheme: dark)");L(i,M.matches?"dark":"light",!0);const N=ae=>{L(i,ae.matches?"dark":"light",!0),c(a)==="system"&&d("system")};return M.addEventListener("change",N),()=>M.removeEventListener("change",N)}});function d(y){L(a,y,!0),localStorage.setItem("theme",y);const M=document.documentElement;if(y==="system"){const N=window.matchMedia("(prefers-color-scheme: dark)").matches;M.setAttribute("data-theme",N?"dark":"light"),N?M.classList.add("dark"):M.classList.remove("dark")}else M.setAttribute("data-theme",y),y==="dark"?M.classList.add("dark"):M.classList.remove("dark");M.setAttribute("data-theme-mode",y)}const s=j(()=>c(i)==="dark"?"light":"dark");function p(){c(a)==="system"?d(c(s)):d(c(a)==="light"?"dark":"light")}var g=Ge(),r=o(g);r.__click=p;var u=o(r),x=o(u);X(x),P(2),t(u);var b=f(u,2),k=o(b);Z(k),P(2),t(b);var _=f(b,2),T=o(_);X(T),t(_);var O=f(_,2),l=o(O);Z(l),t(O),t(r);var n=f(r,4);n.__click=()=>d("system");var h=o(n);De(h),P(2),t(n),t(g),m(v,g),A()}U(["click"]);var Pe=w('<div style="min-height: 100vh"><header class="sticky top-0 z-50 border-b border-[var(--border-color)] bg-[var(--background-color)]/80"><div class="max-w-[96rem] mx-auto px-4 sm:px-6 lg:px-8"><div class="h-14 flex items-center gap-3"><a class="inline-flex items-center gap-2 group no-underline hover:no-underline"><span class="inline-flex items-center justify-center w-7 h-7 rounded-md bg-black dark:bg-white text-white dark:text-black text-sm font-semibold select-none">M</span> <span class="text-lg font-semibold tracking-tight" style="color: var(--text);">Mongoku</span></a> <div class="hidden md:block w-px h-5 bg-[var(--border-color)]"></div> <!> <div class="ml-auto flex items-center gap-2"><!> <!></div></div></div></header> <!> <main class="max-w-[96rem] mx-auto px-4 sm:px-6 lg:px-8 py-6 md:py-10"><!> <div class="flex flex-col gap-6"><!></div></main> <div></div></div>');function Je(v,e){B(e,!0);const a=j(()=>{const h=D.items.slice(-2).reverse();return h.length===0?"Mongoku":h.map(y=>y.label).join(" - ")});var i=Pe();fe("12qhfyh",h=>{ve(()=>{de.title=c(a)??""})});var d=o(i),s=o(d),p=o(s),g=o(p),r=f(g,4);ke(r,{});var u=f(r,2),x=o(u);Ne(x,{class:""});var b=f(x,2);Re(b,{}),t(u),t(p),t(s),t(d);var k=f(d,2);Ce(k,{get serverOrigin(){return e.data.serverOrigin},get readOnly(){return e.data.readOnly}});var _=f(k,2),T=o(_);Se(T,{});var O=f(T,2),l=o(O);ce(l,()=>e.children),t(O),t(_);var n=f(_,2);me(n,h=>ge?.(h)),t(i),E(h=>K(g,"href",h),[()=>H("/")]),m(v,i),A()}export{Je as component};
@@ -1 +0,0 @@
1
- import{f as h,a as c}from"../chunks/BUr91kOw.js";import{i as l}from"../chunks/c-rWvg5T.js";import{p as v,f as u,t as _,a as g,s as x,c as s,r as e}from"../chunks/BYPjaq07.js";import{s as o}from"../chunks/BnpHJF5-.js";import{p}from"../chunks/B8-w38Ky.js";var d=h("<h1> </h1> <p> </p>",1);function w(m,f){v(f,!1),l();var t=d(),r=u(t),i=s(r,!0);e(r);var a=x(r,2),n=s(a,!0);e(a),_(()=>{o(i,p.status),o(n,p.error?.message)}),c(m,t),g()}export{w as component};
@@ -1,6 +0,0 @@
1
- import{f as k,a as m,b as pt,c as Ge,t as Dt}from"../chunks/BUr91kOw.js";import{b as I,a7 as ut,g as e,p as Pt,a as Mt,f as O,s as n,c as i,u as A,r as l,t as P,a2 as Je,G as Ue,i as We,d as v,n as rt,a$ as er,aq as _t,a3 as kt,e as vt}from"../chunks/BYPjaq07.js";import{d as Rt,s as F,e as Ft}from"../chunks/BnpHJF5-.js";import{b as ee,a as Qt}from"../chunks/DDy-Kuac.js";import{i as S,p as qe}from"../chunks/CXNtxrhs.js";import{a as He,c as mt,b as ve,d as wt,r as Tt,s as Le,e as Kt,n as K}from"../chunks/Dmf2jfOR.js";import{a as Oe,p as Bt}from"../chunks/DdLT9cdj.js";import{b as pe}from"../chunks/DUw-I2kh.js";import{o as tr,P as gt,p as xt,q as zt,s as rr,t as or,i as ar,u as nr,b as sr,v as lr}from"../chunks/LkvVkcQJ.js";import{g as ir,j as jt}from"../chunks/Da8SMsGA.js";import{J as cr,j as St}from"../chunks/CKS6pEQE.js";import{s as Ut}from"../chunks/BER7n7JT.js";import{M as dr}from"../chunks/7qKXf-oy.js";import{p as yt,s as ht,P as ur}from"../chunks/BJ-rqge0.js";import{b as tt}from"../chunks/Bl8s7Z6r.js";import{p as Wt}from"../chunks/B8-w38Ky.js";const vr=Symbol();class Jt extends URLSearchParams{#e=I(0);#o=mr();#t=!1;#r(){if(!this.#o||this.#t)return;this.#t=!0;const c=this.toString();this.#o.search=c&&`?${c}`,this.#t=!1}[vr](c){if(!this.#t){this.#t=!0;for(const y of[...super.keys()])super.delete(y);for(const[y,r]of c)super.append(y,r);ut(this.#e),this.#t=!1}}append(c,y){super.append(c,y),this.#r(),ut(this.#e)}delete(c,y){var r=super.has(c,y);super.delete(c,y),r&&(this.#r(),ut(this.#e))}get(c){return e(this.#e),super.get(c)}getAll(c){return e(this.#e),super.getAll(c)}has(c,y){return e(this.#e),super.has(c,y)}keys(){return e(this.#e),super.keys()}set(c,y){var r=super.getAll(c).join("");super.set(c,y),r!==super.getAll(c).join("")&&(this.#r(),ut(this.#e))}sort(){super.sort(),this.#r(),ut(this.#e)}toString(){return e(this.#e),super.toString()}values(){return e(this.#e),super.values()}entries(){return e(this.#e),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return e(this.#e),super.size}}let pr=null;function mr(){return pr}const fr=async D=>({...D.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),Eo=Object.freeze(Object.defineProperty({__proto__:null,load:fr},Symbol.toStringTag,{value:"Module"}));var br=k('<button class="btn btn-default btn-sm">Close</button>'),gr=k('<p class="text-xs mt-2" style="color: var(--error);">⚠️ This query is using a collection scan (COLLSCAN). Consider adding an index for better performance.</p>'),xr=k('<div class="efficiency-bar mb-6"><div class="flex justify-between items-center mb-2"><span class="text-sm font-semibold" style="color: var(--text);">Efficiency</span> <span class="text-sm font-mono" style="color: var(--text-secondary);"> </span></div> <div class="h-2 rounded-full bg-[var(--color-3)] overflow-hidden"><div></div></div> <!></div>'),yr=k('<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mb-6"><div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Execution Time</span> <span class="metric-value svelte-10vh4gh"> </span></div> <div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Documents Returned</span> <span class="metric-value svelte-10vh4gh"> </span></div> <div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Documents Examined</span> <span class="metric-value svelte-10vh4gh"> </span></div> <div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Keys Examined</span> <span class="metric-value svelte-10vh4gh"> </span></div> <div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Index Used</span> <span> </span></div> <div class="metric-card svelte-10vh4gh"><span class="metric-label svelte-10vh4gh">Query Stage</span> <span class="metric-value svelte-10vh4gh"> </span></div></div> <!>',1),hr=k('<!> <details class="mt-4"><summary class="cursor-pointer text-sm font-semibold mb-3" style="color: var(--link);">View full explain output</summary> <div class="p-4 rounded-xl bg-[var(--color-3)] font-mono text-sm overflow-auto max-h-[400px] border border-[var(--border-color)]"><!></div></details>',1);function _r(D,c){Pt(c,!0);function y(h){if(!h)return null;if(h.indexName||h.stage==="IXSCAN"&&h.indexName)return String(h.indexName);if(h.inputStage){const f=y(h.inputStage);if(f)return f}if(Array.isArray(h.inputStages))for(const f of h.inputStages){const M=y(f);if(M)return M}if(h.queryPlan){const f=y(h.queryPlan);if(f)return f}return null}function r(h){if(!h)return!1;if(h.stage==="COLLSCAN"||h.inputStage&&r(h.inputStage))return!0;if(Array.isArray(h.inputStages)){for(const f of h.inputStages)if(r(f))return!0}return!!(h.queryPlan&&r(h.queryPlan))}const t=A(()=>{if(!c.data||typeof c.data!="object")return null;const h=c.data,f=h.executionStats,W=h.queryPlanner?.winningPlan,te=y(W),Ce=r(W);let _;te?_=te:Ce?_="COLLSCAN":_="N/A";const X=W?.stage??"N/A";return{executionTimeMs:f?.executionTimeMillis??"N/A",docsExamined:f?.totalDocsExamined??"N/A",keysExamined:f?.totalKeysExamined??"N/A",nReturned:f?.nReturned??"N/A",indexUsed:_,stage:X}}),d=A(()=>{if(!e(t))return null;const h=Number(e(t).keysExamined),f=Number(e(t).nReturned);return h>0?(f/h*100).toFixed(1):"0.0"}),ie=A(()=>{if(!e(t))return"";const h=Number(e(t).keysExamined),f=Number(e(t).docsExamined),M=Number(e(t).nReturned);return h>0?`${M} / ${h} keys to docs`:`${h} keys / ${f} docs`}),z=A(()=>e(t)?!(e(t).indexUsed==="COLLSCAN"||e(t).indexUsed==="N/A"):null);dr(D,{get show(){return c.show},get onclose(){return c.onclose},title:"Execution Stats",wide:!0,footer:f=>{var M=br();M.__click=function(...W){c.onclose?.apply(this,W)},m(f,M)},children:(f,M)=>{var W=hr(),te=O(W);{var Ce=V=>{var me=yr(),ye=O(me),re=i(ye),fe=n(i(re),2),be=i(fe);l(fe),l(re);var ce=n(re,2),Ee=n(i(ce),2),ge=i(Ee,!0);l(Ee),l(ce);var Pe=n(ce,2),Fe=n(i(Pe),2),Ne=i(Fe,!0);l(Fe),l(Pe);var De=n(Pe,2),Me=n(i(De),2),oe=i(Me,!0);l(Me),l(De);var he=n(De,2),je=n(i(he),2);let _e;var Qe=i(je,!0);l(je),l(he);var Ve=n(he,2),Xe=n(i(Ve),2),ot=i(Xe,!0);l(Xe),l(Ve),l(ye);var at=n(ye,2);{var Ye=de=>{var ue=xr(),xe=i(ue),Be=n(i(xe),2),nt=i(Be);l(Be),l(xe);var a=n(xe,2),u=i(a);let p;l(a);var C=n(a,2);{var Q=J=>{var U=gr();m(J,U)};S(C,J=>{e(z)===!1&&J(Q)})}l(ue),P((J,U)=>{F(nt,`${e(ie)??""} (${e(d)??""}%)`),p=He(u,1,"h-full rounded-full transition-all duration-300",null,p,J),Ut(u,`width: ${U??""}%`)},[()=>({"bg-green-500":e(z)&&Number(e(d))>=70,"bg-yellow-500":e(z)&&Number(e(d))>=30&&Number(e(d))<70,"bg-red-500":!e(z)||Number(e(d))<30}),()=>e(z)?Math.min(Number(e(d)),100):100]),m(de,ue)};S(at,de=>{e(d)!==null&&de(Ye)})}P((de,ue,xe)=>{F(be,`${e(t).executionTimeMs??""}ms`),F(ge,de),F(Ne,ue),F(oe,xe),_e=He(je,1,"metric-value svelte-10vh4gh",null,_e,{warning:e(t).indexUsed==="COLLSCAN",good:e(t).indexUsed!=="COLLSCAN"}),F(Qe,e(t).indexUsed),F(ot,e(t).stage)},[()=>typeof e(t).nReturned=="number"?e(t).nReturned.toLocaleString():e(t).nReturned,()=>typeof e(t).docsExamined=="number"?e(t).docsExamined.toLocaleString():e(t).docsExamined,()=>typeof e(t).keysExamined=="number"?e(t).keysExamined.toLocaleString():e(t).keysExamined]),m(V,me)};S(te,V=>{e(t)&&V(Ce)})}var _=n(te,2),X=n(i(_),2),Ke=i(X);cr(Ke,{get value(){return c.data},collapsed:!1}),l(X),l(_),m(f,W)},$$slots:{footer:!0,default:!0}}),Mt()}Rt(["click"]);function Gt(D,c){const y=t=>{D&&!D.contains(t.target)&&c()},r=setTimeout(()=>{document.addEventListener("click",y,!0)},0);return{destroy(){clearTimeout(r),document.removeEventListener("click",y,!0)}}}var kr=pt('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"></path></svg>');function Ht(D,c){let y=qe(c,"class",3,"w-4 h-4");var r=kr();P(()=>He(r,0,mt(y()))),m(D,r)}var wr=pt('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4"></path></svg>');function Sr(D,c){let y=qe(c,"class",3,"w-4 h-4");var r=wr();P(()=>He(r,0,mt(y()))),m(D,r)}var qr=k('<textarea placeholder="[]" name="query" rows="5" class="w-full px-3 py-2 bg-transparent outline-none font-mono text-[13px] resize-y svelte-1o0c7a1" style="color: var(--text);"></textarea>'),Cr=k('<input type="text" name="field" placeholder="field name" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/>'),Er=k('<textarea name="query" rows="5" class="w-full px-3 py-2 bg-transparent outline-none font-mono text-[13px] resize-y svelte-1o0c7a1" style="color: var(--text);"></textarea>'),Nr=k('<input type="text" name="query" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/>'),Dr=k('<button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] transition cursor-pointer text-[13px] font-medium flex items-center gap-1" style="color: var(--text-secondary);" title="Filter by document creation time"><span>📊</span> <!></button>'),jr=k('<button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] transition disabled:opacity-50 cursor-pointer" style="color: var(--text);"><!></button>'),Ir=k('<button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] transition disabled:opacity-50 cursor-pointer text-[13px] font-medium" style="color: var(--link);"> </button>'),Lr=k('<div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50 sm:col-span-2"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Filter (optional)</div> <input type="text" name="query" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div>'),Ur=k('<div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Sort</div> <input type="text" name="sort" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div> <div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Project</div> <input type="text" name="project" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div>',1),Pr=k('<div class="grid gap-2 sm:grid-cols-2"><!> <div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Skip</div> <input type="number" name="skip" min="0" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div> <div class="rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><div class="px-3 py-1.5 text-[12px] border-b border-[var(--border-color)]" style="color: var(--text-secondary);">Limit</div> <input type="number" name="limit" min="1" class="w-full h-9 px-3 bg-transparent outline-none font-mono text-[13px] border-0 !rounded-none svelte-1o0c7a1" style="color: var(--text);"/></div></div>'),Mr=k('<div class="fixed z-[1000] rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] shadow-lg overflow-hidden"><button type="button" class="w-full px-3 py-2 text-left text-[13px] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text);">Query</button> <button type="button" class="w-full px-3 py-2 text-left text-[13px] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text);">Distinct</button> <button type="button" class="w-full px-3 py-2 text-left text-[13px] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text);">Aggregation</button></div>'),Rr=k('<span class="inline-block w-3 h-3 border-2 border-[var(--border-color)] border-t-[var(--link)] rounded-full animate-spin"></span>'),Tr=k('<button type="button" class="w-full px-3 py-2 text-left text-[13px] hover:bg-[var(--color-3)] transition cursor-pointer flex justify-between items-center" style="color: var(--text);"><span> </span> <span class="font-medium tabular-nums" style="color: var(--text-secondary);"><!></span></button>'),$r=k('<div class="fixed z-[1000] rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] shadow-lg overflow-hidden"></div>'),Ar=k('<div class="rounded-2xl border border-[var(--border-color)] bg-[var(--light-background)]/70 shadow-sm p-3 sm:p-4"><form class="flex flex-col gap-3" method="GET" action="?"><div class="flex items-stretch gap-2"><div class="flex-1 flex items-stretch rounded-xl border border-[var(--border-color)] overflow-hidden bg-[var(--color-3)]/50"><button type="button" class="h-full px-3 flex items-center gap-1 text-[13px] border-r border-[var(--border-color)] hover:bg-[var(--color-3)] transition cursor-pointer" style="color: var(--text-secondary);"><span class="capitalize"> </span> <!></button> <!></div> <input type="hidden" name="mode"/> <input type="hidden" name="v"/> <div class="flex items-center gap-2"><!> <button type="button" class="h-9 px-3 rounded-xl border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[15px] font-semibold leading-none transition cursor-pointer" style="color: var(--text);" title="Toggle optional fields"> </button> <!> <!> <button type="submit" class="h-9 px-4 py-0 rounded-xl btn btn-success text-lg font-semibold transition">Go</button></div></div> <!></form></div> <!> <!>',1);function Or(D,c){Pt(c,!0);const y=2e4;let r=qe(c,"params",15),t=qe(c,"editMode",15,!1),d=qe(c,"readonly",11,!1),ie=qe(c,"explainLoading",3,!1),z=I(Je(r().sort!=="{}"||r().project!=="{}"||r().skip!==0||r().limit!==20)),h=I(Je(Math.random())),f=I(void 0),M=I(!1),W=I(void 0),te=I(Je({left:"0px",top:"0px",minWidth:"140px"})),Ce=A(()=>r().query?.includes(`
2
- `)??!1);function _(s){if(s.key==="Enter"&&s.shiftKey){s.preventDefault();const b=s.target.selectionStart??0,g=r().query.slice(0,b),w=r().query.slice(b);r(r().query=g+`
3
- `+w,!0),We().then(()=>{We().then(()=>{e(f)?.setSelectionRange(b+1,b+1)})})}}function X(s){const o=s.clipboardData?.getData("text");if(o&&o.includes(`
4
- `)){s.preventDefault();const b=s.target,g=b.selectionStart??0,w=b.selectionEnd??g,q=r().query.slice(0,g),x=r().query.slice(w);r(r().query=q+o+x,!0);const j=g+o.length;We().then(()=>{We().then(()=>{e(f)?.setSelectionRange(j,j)})})}}Ue(()=>{e(M)&&e(W)&&We().then(()=>{if(!e(W))return;const s=e(W).getBoundingClientRect();v(te,{left:`${s.left}px`,top:`${s.bottom+5}px`,minWidth:`${s.width}px`},!0)})}),Ue(()=>{(r().mode==="aggregation"||r().mode==="distinct")&&t()&&t(!1)}),Ue(()=>{e(f)&&(e(f).setSelectionRange(1,1),e(f).focus())});async function Ke(s){s.preventDefault(),er(h);const o=new FormData(e(me)),b=[...o.entries()].map(w=>encodeURIComponent(w[0])+"="+encodeURIComponent(w[1])).join("&");if((Wt.url.pathname+"?"+b).length>y&&c.onsearch){c.onsearch(r());return}await ir(Tt(Wt.url.pathname+"?"+[...o.entries()].map(w=>encodeURIComponent(w[0])+"="+encodeURIComponent(w[1])).join("&")),{keepFocus:!0})}function V(s){r(r().mode=s,!0),v(M,!1),s==="aggregation"&&!r().query?.trimStart().startsWith("[")?r(r().query="[]",!0):s==="query"&&r().query?.trimStart().startsWith("[")?r(r().query="{}",!0):s==="distinct"&&(r(r().field=void 0,!0),!r().query||r().query.trim()===""?r(r().query="{}",!0):r().query.trim()!=="{}"&&v(z,!0))}let me=I(void 0);const ye=[{label:"Last 24 hours",days:1},{label:"Last 7 days",days:7},{label:"Last 30 days",days:30},{label:"Last 90 days",days:90},{label:"Last 180 days",days:180}];let re=I(!1),fe=I(void 0),be=I(Je({left:"0px",top:"0px",minWidth:"200px"})),ce=I(!1),Ee=I(void 0),ge=I(Je(ye.map(s=>({...s,count:null,error:null,loading:!1}))));Ue(()=>{e(re)&&e(fe)&&We().then(()=>{if(!e(fe))return;const s=e(fe).getBoundingClientRect();v(be,{left:`${s.right-200}px`,top:`${s.bottom+5}px`,minWidth:"200px"},!0)})});async function Pe(){if(!c.server||!c.database||!c.collection||e(ce))return;v(ce,!0),v(ge,ye.map(o=>({...o,count:null,error:null,loading:!0})),!0);const s=r().mode==="query"?r().query:void 0;v(Ee,s,!0);for(let o=0;o<ye.length;o++){const b=ye[o];try{const g=await tr({server:c.server,database:c.database,collection:c.collection,days:b.days,query:s});e(ge)[o]={...b,count:g.count,error:g.error,loading:!1}}catch(g){e(ge)[o]={...b,count:null,error:g instanceof Error?g.message:String(g),loading:!1}}}v(ce,!1)}function Fe(){if(v(re,!e(re)),!e(re))return;const s=r().mode==="query"?r().query:void 0;(e(ge).every(b=>b.count===null&&!b.error&&!b.loading)||e(Ee)!==s)&&Pe()}function Ne(s){const o=Date.now(),b=s*24*60*60*1e3,w=Math.floor((o-b)/1e3).toString(16).padStart(8,"0")+"0000000000000000",q={$gte:{$type:"ObjectId",$value:w}};let x=`{_id: {$gte: ObjectId("${w}")}}`;try{const j=yt(r().query);if(j&&typeof j=="object"&&!Array.isArray(j)){const Y={...j,_id:q};x=ht(Y)}}catch{}r(r().query=x,!0),r(r().mode="query",!0),v(re,!1),We().then(()=>{e(me)?.requestSubmit()})}var De=Ar(),Me=O(De),oe=i(Me),he=i(oe),je=i(he),_e=i(je);_e.__click=()=>v(M,!e(M));var Qe=i(_e),Ve=i(Qe,!0);l(Qe);var Xe=n(Qe,2);Ht(Xe,{class:"w-3 h-3"}),l(_e),tt(_e,s=>v(W,s),()=>e(W));var ot=n(_e,2);{var at=s=>{var o=qr();_t(o),tt(o,b=>v(f,b),()=>e(f)),kt(()=>pe(o,()=>r().query,b=>r(r().query=b,!0))),Oe(o,(b,g)=>St?.(b,g),()=>({onsubmit:()=>e(me)?.requestSubmit()})),m(s,o)},Ye=s=>{var o=Ge(),b=O(o);{var g=q=>{var x=Cr();ve(x),pe(x,()=>r().field,j=>r(r().field=j,!0)),m(q,x)},w=q=>{var x=Ge(),j=O(x);{var Y=$=>{var E=Er();_t(E),Le(E,"placeholder","{}"),tt(E,N=>v(f,N),()=>e(f)),kt(()=>pe(E,()=>r().query,N=>r(r().query=N,!0))),Oe(E,(N,se)=>St?.(N,se),()=>({onsubmit:()=>e(me)?.requestSubmit()})),m($,E)},H=$=>{var E=Nr();ve(E),Le(E,"placeholder","{}"),E.__keydown=_,tt(E,N=>v(f,N),()=>e(f)),Ft("paste",E,X),pe(E,()=>r().query,N=>r(r().query=N,!0)),m($,E)};S(j,$=>{e(Ce)?$(Y):$(H,!1)},!0)}m(q,x)};S(b,q=>{r().mode==="distinct"?q(g):q(w,!1)},!0)}m(s,o)};S(ot,s=>{r().mode==="aggregation"?s(at):s(Ye,!1)})}l(je);var de=n(je,2);ve(de);var ue=n(de,2);ve(ue);var xe=n(ue,2),Be=i(xe);{var nt=s=>{var o=Dr();o.__click=Fe;var b=n(i(o),2);Ht(b,{class:"w-3 h-3"}),l(o),tt(o,g=>v(fe,g),()=>e(fe)),m(s,o)};S(Be,s=>{c.server&&c.database&&c.collection&&s(nt)})}var a=n(Be,2);a.__click=()=>{v(z,!e(z))};var u=i(a,!0);l(a);var p=n(a,2);{var C=s=>{var o=jr();o.__click=()=>{t(!t())};var b=i(o);Sr(b,{class:"w-4 h-4"}),l(o),P(()=>{Le(o,"title",r().mode!=="query"?"Update not available in this mode":"Update multiple documents"),o.disabled=r().mode!=="query"}),m(s,o)};S(p,s=>{d()||s(C)})}var Q=n(p,2);{var J=s=>{var o=Ir();o.__click=function(...g){c.onexplain?.apply(this,g)};var b=i(o,!0);l(o),P(()=>{Le(o,"title",r().mode==="distinct"?"Explain not available for distinct queries":"Show query execution plan"),o.disabled=r().mode==="distinct"||ie(),F(b,ie()?"...":"Explain")}),m(s,o)};S(Q,s=>{c.onexplain&&s(J)})}rt(2),l(xe),l(he);var U=n(he,2);{var R=s=>{var o=Pr(),b=i(o);{var g=H=>{var $=Lr(),E=n(i($),2);ve(E),Le(E,"placeholder","{}"),l($),pe(E,()=>r().query,N=>r(r().query=N,!0)),m(H,$)},w=H=>{var $=Ur(),E=O($),N=n(i(E),2);ve(N),Le(N,"placeholder","{}"),l(E);var se=n(E,2),ke=n(i(se),2);ve(ke),Le(ke,"placeholder","{}"),l(se),pe(N,()=>r().sort,L=>r(r().sort=L,!0)),pe(ke,()=>r().project,L=>r(r().project=L,!0)),m(H,$)};S(b,H=>{r().mode==="distinct"?H(g):H(w,!1)})}var q=n(b,2),x=n(i(q),2);ve(x),l(q);var j=n(q,2),Y=n(i(j),2);ve(Y),l(j),l(o),pe(x,()=>r().skip,H=>r(r().skip=H,!0)),pe(Y,()=>r().limit,H=>r(r().limit=H,!0)),m(s,o)};S(U,s=>{e(z)&&s(R)})}l(oe),tt(oe,s=>v(me,s),()=>e(me)),l(Me);var G=n(Me,2);{var ae=s=>{var o=Mr();let b;var g=i(o);g.__click=()=>V("query");var w=n(g,2);w.__click=()=>V("distinct");var q=n(w,2);q.__click=()=>V("aggregation"),l(o),Oe(o,x=>Bt?.(x)),Oe(o,(x,j)=>Gt?.(x,j),()=>()=>v(M,!1)),P(()=>b=Ut(o,"",b,{left:e(te).left,top:e(te).top,"min-width":e(te).minWidth})),m(s,o)};S(G,s=>{e(M)&&s(ae)})}var Z=n(G,2);{var ne=s=>{var o=$r();let b;Kt(o,21,()=>e(ge),g=>g.label,(g,w)=>{var q=Tr();q.__click=()=>Ne(e(w).days);var x=i(q),j=i(x,!0);l(x);var Y=n(x,2),H=i(Y);{var $=N=>{var se=Rr();m(N,se)},E=N=>{var se=Ge(),ke=O(se);{var L=we=>{var Ze=Dt("⚠️");m(we,Ze)},qt=we=>{var Ze=Ge(),st=O(Ze);{var Ct=Re=>{var T=Dt();P(B=>F(T,B),[()=>ee(e(w).count)]),m(Re,T)},ft=Re=>{var T=Dt("—");m(Re,T)};S(st,Re=>{e(w).count!==null?Re(Ct):Re(ft,!1)},!0)}m(we,Ze)};S(ke,we=>{e(w).error?we(L):we(qt,!1)},!0)}m(N,se)};S(H,N=>{e(w).loading?N($):N(E,!1)})}l(Y),l(q),P(()=>{q.disabled=e(w).loading,F(j,e(w).label)}),m(g,q)}),l(o),Oe(o,g=>Bt?.(g)),Oe(o,(g,w)=>Gt?.(g,w),()=>()=>v(re,!1)),P(()=>b=Ut(o,"",b,{left:e(be).left,top:e(be).top,"min-width":e(be).minWidth})),m(s,o)};S(Z,s=>{e(re)&&s(ne)})}P(()=>{F(Ve,r().mode),wt(de,r().mode),wt(ue,e(h)),F(u,e(z)?"−":"+")}),Ft("submit",oe,Ke),m(D,De),Mt()}Rt(["click","keydown"]);var Fr=pt('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>');function Qr(D,c){let y=qe(c,"class",3,"w-4 h-4");var r=Fr();P(()=>He(r,0,mt(y()))),m(D,r)}var Br=pt('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14M5 12h14"></path></svg>');function zr(D,c){let y=qe(c,"class",3,"w-4 h-4");var r=Br();P(()=>He(r,0,mt(y()))),m(D,r)}var Wr=pt('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18"></path><path d="M7 12h10"></path><path d="M10 18h4"></path><path d="m7 16 3 3 3-3"></path></svg>');function Jr(D,c){let y=qe(c,"class",3,"w-4 h-4");var r=Wr();P(()=>He(r,0,mt(y()))),m(D,r)}const It=(D,c=vt,y=vt)=>{var r=Gr();r.__click=function(...t){y()?.apply(this,t)},P(t=>Le(r,"href",t),[()=>Tt(c())]),m(D,r)},Lt=(D,c=vt,y=vt)=>{var r=Hr();r.__click=function(...t){y()?.apply(this,t)},P(t=>Le(r,"href",t),[()=>Tt(c())]),m(D,r)};var Gr=k('<a class="px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition no-underline -my-2" style="color: var(--text);">Previous</a>'),Hr=k('<a class="px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition no-underline" style="color: var(--text);">Next</a>'),Kr=k('<button class="px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition" style="color: var(--text); cursor: pointer;" title="Reverse sort order"><!></button>'),Vr=k('<button class="px-3 py-1 rounded-lg border border-[var(--border-color)] bg-[var(--light-background)] hover:bg-[var(--color-3)] text-[13px] transition" style="color: var(--text); cursor: pointer;" title="Copy distinct values"><!></button>'),Xr=k('<button class="btn btn-success"><!> Insert Document</button>'),Yr=k('<div class="space-y-3"><label for="insert-document" class="block text-sm font-semibold mb-2" style="color: var(--text);">Document JSON:</label> <textarea id="insert-document" placeholder="Document JSON" rows="6" class="w-full p-3 rounded-xl border border-[var(--border-color)] bg-[var(--color-3)] font-mono text-sm focus:outline-none focus:ring-2" style="color: var(--text); --tw-ring-color: var(--link);"></textarea> <div class="flex gap-3"><button class="btn btn-success hover:bg-[var(--button-success-l)]"> </button> <button class="btn btn-default">Cancel</button></div></div>'),Zr=k('<div class="flex gap-3"><button class="btn btn-default"> </button></div>'),eo=k(`<div class="text-sm rounded-xl bg-yellow-500/10 p-4 border border-yellow-500/30" style="color: var(--text-secondary);"><p class="font-semibold text-yellow-600 mb-2">⚠️ Query Changed</p> <p style="color: var(--text);">The filter has changed since you last checked the count. Please check the document count again before
5
- proceeding.</p></div> <div class="flex gap-3"><button class="btn btn-default"> </button> <button class="btn btn-default">Cancel</button></div>`,1),to=k(`<p class="mb-2" style="color: var(--text);"> </p> <p>You can still proceed with deletion, but please be cautious. This operation will permanently delete
6
- all documents matching the filter. This action cannot be undone.</p>`,1),ro=k('<p class="mb-2" style="color: var(--text);">This will delete <strong class="text-red-600"> </strong> </p> <p>This operation is permanent and cannot be undone.</p>',1),oo=k(`<div class="text-sm rounded-xl bg-red-500/10 p-4 border border-red-500/30" style="color: var(--text-secondary);"><p class="font-semibold text-red-600 mb-2">⚠️ Warning</p> <!></div> <div><label for="delete-confirm" class="block text-sm font-semibold mb-2" style="color: var(--text);">Type <code class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs">confirm</code> to proceed:</label> <input type="text" id="delete-confirm" placeholder="Type 'confirm' to enable deletion" class="w-full p-3 rounded-xl border border-[var(--border-color)] bg-[var(--color-3)] font-mono text-sm focus:outline-none focus:ring-2" style="color: var(--text); --tw-ring-color: var(--link);"/></div> <div class="flex gap-3"><button class="btn btn-danger hover:bg-red-700"> </button> <button class="btn btn-default">Cancel</button></div>`,1),ao=k('<div class="p-4 sm:p-6 space-y-6"><div class="rounded-xl bg-[var(--color-3)]/30 p-4 border border-[var(--border-color)]"><h3 class="text-lg font-semibold mb-3" style="color: var(--text);">Insert New Document</h3> <!></div> <div class="rounded-xl bg-[var(--color-3)]/30 p-4 border border-[var(--border-color)]"><h3 class="text-lg font-semibold mb-3" style="color: var(--text);">Update Multiple Documents</h3> <div class="space-y-4"><div><label for="update-filter" class="block text-sm font-semibold mb-2" style="color: var(--text);">Filter (which documents to update):</label> <input type="text" id="update-filter" readonly="" class="w-full p-3 rounded-xl border border-[var(--border-color)] bg-[var(--color-3)] font-mono text-sm opacity-75 cursor-not-allowed" style="color: var(--text);"/> <p class="text-xs mt-2" style="color: var(--text-secondary);">This filter is taken from the query above. Modify the query to change which documents will be updated.</p></div> <div><label for="update-operation" class="block text-sm font-semibold mb-2" style="color: var(--text);">Update Operation (e.g., $set, $inc, $unset):</label> <textarea placeholder="Update operation" rows="4" class="w-full p-3 rounded-xl border border-[var(--border-color)] bg-[var(--color-3)] font-mono text-sm focus:outline-none focus:ring-2" style="color: var(--text); --tw-ring-color: var(--link);"></textarea></div> <div class="flex gap-3"><button class="btn btn-success hover:bg-[var(--button-success-l)]"> </button></div></div></div> <div class="rounded-xl bg-[var(--color-3)]/30 p-4 border border-[var(--border-color)]"><h3 class="text-lg font-semibold mb-3" style="color: var(--text);">Delete Multiple Documents</h3> <div class="space-y-4"><div><label for="delete-filter" class="block text-sm font-semibold mb-2" style="color: var(--text);">Filter (which documents to delete):</label> <input type="text" id="delete-filter" readonly="" class="w-full p-3 rounded-xl border border-[var(--border-color)] bg-[var(--color-3)] font-mono text-sm opacity-75 cursor-not-allowed" style="color: var(--text);"/> <p class="text-xs mt-2" style="color: var(--text-secondary);">This filter is taken from the query above. Modify the query to change which documents will be deleted.</p></div> <!></div></div> <div class="flex justify-end"><button class="btn btn-default hover:bg-[var(--color-3)]">Close Edit Mode</button></div> <div class="text-sm rounded-xl bg-[var(--color-3)]/50 p-4 border border-[var(--border-color)]" style="color: var(--text-secondary);"><p class="mb-2 font-semibold" style="color: var(--text);">Update Operation Examples:</p> <p class="mb-2">• Set a field: <code class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs"></code></p> <p class="mb-2">• Increment a value: <code class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs"></code></p> <p class="mb-2">• Unset a field: <code class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs"></code></p> <p>• Pipeline (compute from existing fields): <code class="bg-[var(--light-background)] px-2 py-1 rounded border border-[var(--border-color)] font-mono text-xs"></code></p></div></div>'),no=k("<!> <!> <!>",1),so=k("<!> <!> <!>",1),lo=k("<!> <!>",1),io=k("<!> <!>",1),co=k("<!> <!> <!> <!>",1);function No(D,c){Pt(c,!0);const y=a=>{var u=Kr();u.__click=Ve;var p=i(u);Jr(p,{class:"w-4 h-4"}),l(u),m(a,u)},r=(a,u=vt)=>{var p=Vr();p.__click=()=>Xe(u());var C=i(p);Qr(C,{class:"w-4 h-4"}),l(p),m(a,p)};let t=qe(c,"data",7),d=I(Je({...t().params})),ie=A(()=>t().results),z=I(!1),h=I("{}"),f=I(!1),M=I(!1),W=I(!1),te=I(null),Ce=I(!1),_=Je({countChecked:!1,count:null,countError:null,confirmText:"",isCounting:!1,countQuery:null}),X=I(null),Ke=0;Ue(()=>{v(d,{...t().params},!0),Ne()}),Ue(()=>{const a=++Ke;v(X,null),t().count.then(u=>{a===Ke&&v(X,u.error?null:u.data,!0)})}),Ue(()=>{e(ie)&&v(V,null),e(ie).then(a=>{a.error&&K.notifyError(a.error)})}),Ue(()=>{t().count.then(a=>{a.error&&!a.error.includes("operation exceeded time limit")&&K.notifyError(a.error)})});let V=I(null),me=A(()=>e(V)?{data:e(V),error:null}:e(ie));async function ye(a,u,p){const C=!!(e(d).project&&e(d).project!=="{}"&&Object.keys(yt(e(d).project)).length>0),Q=u?._id?.$value,J=a?.$value;if(Q!==J){K.notifyError("ObjectId changed. This is not supported, update canceled.");return}if(J)try{const U=await nr({server:t().server,database:t().database,collection:t().collection,document:J,value:u,partial:C});if(U.ok){K.notifySuccess("Document updated successfully");const R=p.findIndex(G=>G._id?.$value===J);R!==-1&&(p[R]=U.update),v(V,p,!0)}}catch(U){console.error(U),K.notifyError(U,"Failed to update document")}}async function re(a,u){const p=a?.$value??a;if(!(!p||typeof p!="string"))try{await sr({server:t().server,database:t().database,collection:t().collection,document:p}),K.notifySuccess("Document removed successfully"),v(V,u.filter(C=>(C._id?.$value??C._id)!==p),!0)}catch(C){K.notifyError(C,"Failed to remove document")}}function fe(a){const u=new Jt;return u.set("query",e(d).query||"{}"),u.set("sort",e(d).sort||""),u.set("project",e(d).project||""),u.set("skip",String(a)),u.set("limit",String(e(d).limit)),`/servers/${encodeURIComponent(t().server)}/databases/${encodeURIComponent(t().database)}/collections/${encodeURIComponent(t().collection)}/documents?${u.toString()}`}const be=A(()=>fe(e(d).skip+e(d).limit)),ce=A(()=>fe(Math.max(0,e(d).skip-e(d).limit)));function Ee(a){a.preventDefault(),t().params.skip+=t().params.limit,e(d).skip=t().params.skip,jt(e(be),{}),v(ie,xt({server:t().server,database:t().database,collection:t().collection,query:e(d).query,sort:e(d).sort,project:e(d).project,skip:e(d).skip,limit:e(d).limit,mode:e(d).mode,field:e(d).field}))}function ge(a){a.preventDefault(),t().params.skip=Math.max(0,t().params.skip-t().params.limit),e(d).skip=t().params.skip,jt(e(ce),{}),v(ie,xt({server:t().server,database:t().database,collection:t().collection,query:e(d).query,sort:e(d).sort,project:e(d).project,skip:e(d).skip,limit:e(d).limit,mode:e(d).mode,field:e(d).field}))}async function Pe(){v(f,!0);try{const a=await or({server:t().server,database:t().database,collection:t().collection,filter:e(d).query||"{}",update:e(h)});a.ok&&(K.notifySuccess(`Updated ${a.modifiedCount} document(s) (matched ${a.matchedCount})`),v(V,null),v(z,!1))}catch(a){console.error(a),K.notifyError(a,"Failed to update documents")}finally{v(f,!1)}}async function Fe(){_.isCounting=!0,_.countError=null;const a=e(d).query||"{}";try{const u=await zt({server:t().server,database:t().database,collection:t().collection,filter:a});_.count=u.data,_.countError=u.error,_.countChecked=!0,_.countQuery=a}catch(u){K.notifyError(u,"Failed to count documents"),_.countError=u instanceof Error?u.message:String(u)}finally{_.isCounting=!1}}function Ne(){_.countChecked=!1,_.count=null,_.countError=null,_.confirmText="",_.countQuery=null}let De=A(()=>_.countChecked&&_.countQuery!==(e(d).query||"{}"));Ue(()=>{e(De)&&(_.confirmText="")});async function Me(){v(f,!0);try{const a=await lr({server:t().server,database:t().database,collection:t().collection,filter:e(d).query||"{}"});a.ok&&(K.notifySuccess(`Deleted ${a.deletedCount} document(s)`),v(V,null),v(z,!1),Ne())}catch(a){console.error(a),K.notifyError(a,"Failed to delete documents")}finally{v(f,!1)}}let oe=I("{}");async function he(){v(f,!0);try{const a=yt(e(oe));(await ar({server:t().server,database:t().database,collection:t().collection,document:null,value:a})).ok&&(K.notifySuccess("Document inserted successfully"),v(V,null),v(M,!1),v(oe,"{}"))}catch(a){console.error(a),K.notifyError(a,"Failed to insert document")}finally{v(f,!1)}}function je(){v(M,!0),v(oe,"{}")}function _e(){v(M,!1),v(oe,"{}")}function Qe(){const a=e(d).sort||"{}";if(a.replace(/\s/g,"")==="{}")return ht({_id:-1}).replace(/[\n\t]/g," ").replace(/\s+/g," ");const u=yt(a),p={};for(const[C,Q]of Object.entries(u))typeof Q=="number"?p[C]=Q===1?-1:1:p[C]=Q;return ht(p).replace(/[\n\t]/g," ").replace(/\s+/g," ")}function Ve(a){a.preventDefault();const u=Qe();e(d).sort=u,t().params.sort=u,t().params.skip=0,e(d).skip=0;const p=new Jt;p.set("query",e(d).query||"{}"),p.set("sort",u),p.set("project",e(d).project||""),p.set("skip","0"),p.set("limit",String(e(d).limit));const C=`/servers/${encodeURIComponent(t().server)}/databases/${encodeURIComponent(t().database)}/collections/${encodeURIComponent(t().collection)}/documents?${p.toString()}`;jt(C,{}),v(ie,xt({server:t().server,database:t().database,collection:t().collection,query:e(d).query,sort:u,project:e(d).project,skip:0,limit:e(d).limit,mode:e(d).mode,field:e(d).field}))}async function Xe(a){try{const u=a.map(C=>C.value),p=ht(u);await navigator.clipboard.writeText(p),K.notifySuccess("Copied distinct values to clipboard")}catch(u){console.error(u),K.notifyError(u,"Failed to copy to clipboard")}}async function ot(){v(W,!0);try{const a=await rr({server:t().server,database:t().database,collection:t().collection,query:e(d).query||"{}",sort:e(d).sort||"{}",project:e(d).project||"{}",skip:e(d).skip,limit:e(d).limit,mode:e(d).mode==="aggregation"?"aggregation":"query",verbosity:"executionStats"});a.error?K.notifyError(a.error):(v(te,a.data,!0),v(Ce,!0))}catch(a){console.error(a),K.notifyError(a,"Failed to explain query")}finally{v(W,!1)}}function at(a){const u={...a,field:a.field??""};t().params=u,v(d,u,!0),v(ie,xt({server:t().server,database:t().database,collection:t().collection,query:u.query,sort:u.sort,project:u.project,skip:u.skip,limit:u.limit,mode:u.mode,field:u.field})),t().count=zt({server:t().server,database:t().database,collection:t().collection,filter:u.query})}var Ye=co(),de=O(Ye);Or(de,{get readonly(){return t().readOnly},get explainLoading(){return e(W)},onexplain:ot,onsearch:at,get server(){return t().server},get database(){return t().database},get collection(){return t().collection},get params(){return e(d)},set params(a){v(d,a,!0)},get editMode(){return e(z)},set editMode(a){v(z,a,!0)}});var ue=n(de,2);_r(ue,{get data(){return e(te)},get show(){return e(Ce)},onclose:()=>v(Ce,!1)});var xe=n(ue,2);{var Be=a=>{gt(a,{title:"Edit Mode",children:(u,p)=>{var C=ao(),Q=i(C),J=n(i(Q),2);{var U=T=>{var B=Xr();B.__click=je;var le=i(B);zr(le,{class:"w-4 h-4 inline mr-2"}),rt(),l(B),m(T,B)},R=T=>{var B=Yr(),le=n(i(B),2);_t(le),kt(()=>pe(le,()=>e(oe),Se=>v(oe,Se))),Oe(le,(Se,Ie)=>St?.(Se,Ie),()=>({onsubmit:he}));var et=n(le,2),ze=i(et);ze.__click=he;var Te=i(ze,!0);l(ze);var $e=n(ze,2);$e.__click=_e,l(et),l(B),P(()=>{ze.disabled=e(f),F(Te,e(f)?"Inserting...":"Insert"),$e.disabled=e(f)}),m(T,B)};S(J,T=>{e(M)?T(R,!1):T(U)})}l(Q);var G=n(Q,2),ae=n(i(G),2),Z=i(ae),ne=n(i(Z),2);ve(ne),rt(2),l(Z);var s=n(Z,2),o=n(i(s),2);_t(o),kt(()=>pe(o,()=>e(h),T=>v(h,T))),Oe(o,(T,B)=>St?.(T,B),()=>({onsubmit:Pe})),l(s);var b=n(s,2),g=i(b);g.__click=Pe;var w=i(g,!0);l(g),l(b),l(ae),l(G);var q=n(G,2),x=n(i(q),2),j=i(x),Y=n(i(j),2);ve(Y),rt(2),l(j);var H=n(j,2);{var $=T=>{var B=Zr(),le=i(B);le.__click=Fe;var et=i(le,!0);l(le),l(B),P(()=>{le.disabled=_.isCounting,F(et,_.isCounting?"Counting...":"Check Document Count")}),m(T,B)},E=T=>{var B=Ge(),le=O(B);{var et=Te=>{var $e=eo(),Se=n(O($e),2),Ie=i(Se);Ie.__click=Fe;var Et=i(Ie,!0);l(Ie);var bt=n(Ie,2);bt.__click=Ne,l(Se),P(()=>{Ie.disabled=_.isCounting,F(Et,_.isCounting?"Counting...":"Check Count Again"),bt.disabled=_.isCounting}),m(Te,$e)},ze=Te=>{var $e=oo(),Se=O($e),Ie=n(i(Se),2);{var Et=Ae=>{var it=to(),ct=O(it),dt=i(ct);l(ct),rt(2),P(()=>F(dt,`Unable to count documents: ${_.countError??""}`)),m(Ae,it)},bt=Ae=>{var it=ro(),ct=O(it),dt=n(i(ct)),Xt=i(dt,!0);l(dt);var Yt=n(dt);l(ct),rt(2),P(Zt=>{F(Xt,Zt),F(Yt,` document${_.count===1?"":"s"}.`)},[()=>_.count?.toLocaleString()]),m(Ae,it)};S(Ie,Ae=>{_.countError?Ae(Et):Ae(bt,!1)})}l(Se);var Nt=n(Se,2),$t=n(i(Nt),2);ve($t),l(Nt);var At=n(Nt,2),lt=i(At);lt.__click=Me;var Vt=i(lt,!0);l(lt);var Ot=n(lt,2);Ot.__click=Ne,l(At),P(()=>{lt.disabled=e(f)||_.confirmText!=="confirm",F(Vt,e(f)?"Deleting...":"Execute Delete"),Ot.disabled=e(f)}),pe($t,()=>_.confirmText,Ae=>_.confirmText=Ae),m(Te,$e)};S(le,Te=>{e(De)?Te(et):Te(ze,!1)},!0)}m(T,B)};S(H,T=>{_.countChecked?T(E,!1):T($)})}l(x),l(q);var N=n(q,2),se=i(N);se.__click=()=>{v(z,!1),v(M,!1),Ne()},l(N);var ke=n(N,2),L=n(i(ke),2),qt=n(i(L));qt.textContent='{"$set": {"status": "active"}}',l(L);var we=n(L,2),Ze=n(i(we));Ze.textContent='{"$inc": {"count": 1}}',l(we);var st=n(we,2),Ct=n(i(st));Ct.textContent='{"$unset": {"oldField": ""}}',l(st);var ft=n(st,2),Re=n(i(ft));Re.textContent='[{"$set": {"fullName": {"$concat": ["$firstName", " ", "$lastName"]}}}]',l(ft),l(ke),l(C),P(()=>{wt(ne,e(d).query||"{}"),g.disabled=e(f),F(w,e(f)?"Updating...":"Execute Update"),wt(Y,e(d).query||"{}")}),m(u,C)},$$slots:{default:!0}})};S(xe,a=>{e(z)&&a(Be)})}var nt=n(xe,2);Qt(nt,()=>e(me),a=>{{const u=C=>{var Q=Ge(),J=O(Q);{var U=R=>{var G=io(),ae=O(G);{var Z=o=>{It(o,()=>e(ce),()=>ge)};S(ae,o=>{t().params.skip>0&&o(Z)})}var ne=n(ae,2);{var s=o=>{Lt(o,()=>e(be),()=>Ee)};S(ne,o=>{t().params.skip+t().params.limit<e(X)&&o(s)})}m(R,G)};S(J,R=>{e(X)!==null&&R(U)})}m(C,Q)};let p=A(()=>e(X)!==null?t().params.mode==="distinct"?`${ee(e(X))} distinct value${e(X)===1?"":"s"}...`:`${ee(t().params.skip+1)} - ${ee(t().params.skip+t().params.limit)} of ${ee(e(X))} documents...`:t().params.mode==="distinct"?"Loading distinct values...":"Loading documents...");gt(a,{get title(){return e(p)},titleClass:"py-1",actions:u,$$slots:{actions:!0}})}},(a,u)=>{const p=A(()=>e(u)?.data??[]);var C=lo(),Q=O(C);Qt(Q,()=>t().count,U=>{{const R=ae=>{var Z=so(),ne=O(Z);{var s=x=>{It(x,()=>e(ce),()=>ge)};S(ne,x=>{t().params.skip>0&&x(s)})}var o=n(ne,2);{var b=x=>{Lt(x,()=>e(be),()=>Ee)};S(o,x=>{e(p).length>=t().params.limit&&x(b)})}var g=n(o,2);{var w=x=>{r(x,()=>e(p))},q=x=>{y(x)};S(g,x=>{t().params.mode==="distinct"?x(w):x(q,!1)})}m(ae,Z)};let G=A(()=>e(p).length>0?t().params.mode==="distinct"?`${ee(e(p).length)} distinct value${e(p).length===1?"":"s"} (counting...)`:`${ee(t().params.skip+1)} - ${ee(t().params.skip+e(p).length)} Documents (counting...)`:t().params.mode==="distinct"?"No distinct values":"No documents");gt(U,{titleClass:"py-1",get title(){return e(G)},actions:R,$$slots:{actions:!0}})}},(U,R)=>{var G=Ge(),ae=O(G);{var Z=ne=>{const s=A(()=>e(R).data),o=A(()=>e(R).error?e(p).length>=t().params.limit:t().params.skip+e(p).length<e(s)),b=A(()=>t().params.skip>0),g=A(()=>e(R).error?.includes("operation exceeded time limit"));{const w=x=>{var j=no(),Y=O(j);{var H=L=>{It(L,()=>e(ce),()=>ge)};S(Y,L=>{e(b)&&L(H)})}var $=n(Y,2);{var E=L=>{Lt(L,()=>e(be),()=>Ee)};S($,L=>{e(o)&&L(E)})}var N=n($,2);{var se=L=>{r(L,()=>e(p))},ke=L=>{y(L)};S(N,L=>{t().params.mode==="distinct"?L(se):L(ke,!1)})}m(x,j)};let q=A(()=>e(p).length>0?t().params.mode==="distinct"?`${ee(e(s))} distinct value${e(s)===1?"":"s"}`:e(s)>0?`${ee(t().params.skip+1)} - ${ee(t().params.skip+e(p).length)} of ${ee(e(s))} documents`:`${ee(t().params.skip+1)} - ${ee(t().params.skip+e(p).length)} documents (count ${e(g)?"timeout":"unavailable"})`:t().params.mode==="distinct"?"No distinct values":"No documents");gt(ne,{get title(){return e(q)},titleClass:"py-1",actions:w,$$slots:{actions:!0}})}};S(ae,ne=>{t().params&&ne(Z)})}m(U,G)});var J=n(Q,2);Kt(J,19,()=>e(p),(U,R)=>U._id?.$value||R,(U,R)=>{{let G=A(()=>t().params.mode==="aggregation"||t().params.mode==="distinct"||t().readOnly?void 0:Z=>ye(e(R)._id,Z,e(p))),ae=A(()=>t().params.mode==="aggregation"||t().params.mode==="distinct"||t().readOnly?void 0:()=>re(e(R)._id,e(p)));ur(U,{get json(){return e(R)},autoCollapse:!0,get onedit(){return e(G)},get onremove(){return e(ae)},get server(){return t().server},get database(){return t().database},get collection(){return t().collection},get mappings(){return t().mappings}})}}),m(a,C)}),m(D,Ye),Mt()}Rt(["click"]);export{No as component,Eo as universal};
@@ -1 +0,0 @@
1
- import{c as q,a as d,f as I}from"../chunks/BUr91kOw.js";import{p as K,f as C,a as N,g as n,b as S,u as y,d as s,c as E,r as O,s as x,t as Q}from"../chunks/BYPjaq07.js";import{d as V,s as W}from"../chunks/BnpHJF5-.js";import{i as h}from"../chunks/CXNtxrhs.js";import{b as X,u as Y,i as Z}from"../chunks/LkvVkcQJ.js";import{g as p}from"../chunks/Da8SMsGA.js";import{n as c,r as $}from"../chunks/Dmf2jfOR.js";import{P as U}from"../chunks/BJ-rqge0.js";var ee=I('<div class="loading svelte-khslrq">Loading...</div>'),te=I('<div class="insert-container svelte-khslrq"><h3 class="svelte-khslrq"> </h3> <!> <button class="btn btn-default mt-4">Cancel</button></div>'),ae=I('<button class="btn btn-success">Insert Document</button>'),ne=I('<div class="not-found-container svelte-khslrq"><div class="text-center svelte-khslrq">Document not found</div> <!></div>');function ve(j,e){K(e,!0);let m=S(!1),r=y(()=>e.data.document),k=S(!1);async function F(t){const a=t?._id?.$value??t?._id,f=n(r)?._id?.$value??n(r)?._id;if(a!==f){c.notifyError("ObjectId changed. This is not supported, update canceled.");return}if(f){s(m,!0);try{const i=await Y({server:e.data.server,database:e.data.database,collection:e.data.collection,document:f,value:t,partial:!1});i.ok&&(c.notifySuccess("Document updated successfully"),s(r,i.update))}catch(i){c.notifyError(i,"Failed to update document")}finally{s(m,!1)}}}async function P(){const t=n(r)?._id?.$value??n(r)?._id;if(t)try{await X({server:e.data.server,database:e.data.database,collection:e.data.collection,document:t}),c.notifySuccess("Document removed successfully"),p($(`/servers/${encodeURIComponent(e.data.server)}/databases/${encodeURIComponent(e.data.database)}/collections/${encodeURIComponent(e.data.collection)}?query=${encodeURIComponent("{}")}&sort=&project=&skip=0&limit=20`))}catch(a){c.notifyError(a,"Failed to remove document")}}async function J(t){s(m,!0);try{(await Z({server:e.data.server,database:e.data.database,collection:e.data.collection,document:e.data.documentId,value:t})).ok&&(c.notifySuccess("Document inserted successfully"),window.location.reload())}catch(a){c.notifyError(a,"Failed to insert document")}finally{s(m,!1)}}function L(){s(k,!0)}var R=q(),M=C(R);{var T=t=>{var a=ee();d(t,a)},z=t=>{var a=q(),f=C(a);{var i=l=>{{let g=y(()=>e.data.readOnly?void 0:F),D=y(()=>e.data.readOnly?void 0:P);U(l,{get json(){return n(r)},get onedit(){return n(g)},get onremove(){return n(D)},get server(){return e.data.server},get database(){return e.data.database},get collection(){return e.data.collection},get mappings(){return e.data.mappings}})}},A=l=>{var g=q(),D=C(g);{var B=u=>{var o=te(),_=E(o),w=E(_);O(_);var v=x(_,2);{let H=y(()=>({_id:{$type:"ObjectId",$value:e.data.documentId}}));U(v,{get json(){return n(H)},onedit:J,get server(){return e.data.server},get database(){return e.data.database},get collection(){return e.data.collection},get mappings(){return e.data.mappings},startInEditMode:!0})}var b=x(v,2);b.__click=()=>s(k,!1),O(o),Q(()=>W(w,`Insert Document with ID: ${e.data.documentId??""}`)),d(u,o)},G=u=>{var o=ne(),_=x(E(o),2);{var w=v=>{var b=ae();b.__click=L,d(v,b)};h(_,v=>{e.data.readOnly||v(w)})}O(o),d(u,o)};h(D,u=>{n(k)?u(B):u(G,!1)},!0)}d(l,g)};h(f,l=>{n(r)?l(i):l(A,!1)},!0)}d(t,a)};h(M,t=>{n(m)?t(T):t(z,!1)})}d(j,R),N()}V(["click"]);export{ve as component};
@@ -1 +0,0 @@
1
- import{f as v,a as n,c as it,t as Lt}from"../chunks/BUr91kOw.js";import{p as Ht,a2 as ee,s as d,c as a,r as t,a as Jt,f as K,g as e,u as E,t as I,b as x,G as Re,d as l,a3 as Tt,n as Oe,aq as $t,b1 as Pa}from"../chunks/BYPjaq07.js";import{d as Kt,s as j}from"../chunks/BnpHJF5-.js";import{a as Oa,f as Ma}from"../chunks/DDy-Kuac.js";import{p as lt,i as y}from"../chunks/CXNtxrhs.js";import{e as dt,b as _e,s as me,n as D,a as At,i as Bt}from"../chunks/Dmf2jfOR.js";import{a as Rt}from"../chunks/DdLT9cdj.js";import{a as We,b as ot}from"../chunks/DUw-I2kh.js";import{g as Ia,h as Ea,j as Ca,k as Fa,l as Da,P as qe,m as Ua,n as La}from"../chunks/LkvVkcQJ.js";import{h as Ta,j as $a,k as Aa}from"../chunks/Da8SMsGA.js";import{p as Me}from"../chunks/B8-w38Ky.js";import{j as qt,J as Ba}from"../chunks/CKS6pEQE.js";import{M as Wt}from"../chunks/7qKXf-oy.js";const Ra=async i=>({...i.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),Xs=Object.freeze(Object.defineProperty({__proto__:null,load:Ra},Symbol.toStringTag,{value:"Module"}));function qa(i,o){if(i.length<o.length&&o.endsWith(i))return i;if(o.length<i.length&&i.endsWith(o))return o;let c="",s=i.length-1,b=o.length-1;for(;s>=0&&b>=0&&i[s]===o[b];)c=i.slice(s),s--,b--;return c}function Wa(i,o){if(!i||o.length===0)return null;let c=null,s=0;for(const b of o){const C=qa(i,b);C.length>s?(s=C.length,c=b):C.length===s&&(c=null)}return c}var za=v('<div class="loading-message svelte-14baj27">Loading nodes...</div>'),Ha=v('<div class="no-nodes-message svelte-14baj27">No nodes found. Click "Fetch Usage" to load nodes.</div>'),Ja=v('<span class="primary-badge svelte-14baj27">PRIMARY</span>'),Ka=v('<label class="checkbox-label svelte-14baj27"><input type="checkbox" class="svelte-14baj27"/> <span class="node-name svelte-14baj27"> <!></span></label>'),Va=v('<div class="selector-options svelte-14baj27"></div>'),Ga=v('<div class="replica-set-selector svelte-14baj27"><div class="selector-header svelte-14baj27"><span class="selector-title svelte-14baj27">Replica Set Nodes</span> <span class="selector-subtitle svelte-14baj27">Select specific nodes to fetch index stats from</span></div> <!></div>');function Ya(i,o){Ht(o,!0);let c=lt(o,"availableNodes",27,()=>ee([])),s=lt(o,"selectedNodes",31,()=>ee([])),b=lt(o,"loading",3,!1),C=lt(o,"primaryNode",3,null),R=E(()=>Object.fromEntries(c().map(S=>[S,s().includes(S)])));const Ie=E(()=>!C()||c().length===0?null:Wa(C(),c()));function te(){s(Object.keys(e(R)).filter(S=>e(R)[S]))}var U=Ga(),B=d(a(U),2);{var ge=S=>{var ae=za();n(S,ae)},ze=S=>{var ae=it(),He=K(ae);{var he=L=>{var V=Ha();n(L,V)},de=L=>{var V=Va();dt(V,20,c,ce=>ce,(ce,se)=>{var Ee=Ka(),ve=a(Ee);_e(ve),ve.__change=te;var H=d(ve,2),Je=a(H),we=d(Je);{var xe=J=>{var ye=Ja();n(J,ye)};y(we,J=>{se===e(Ie)&&J(xe)})}t(H),t(Ee),I(()=>{me(H,"title",se),j(Je,`${se??""} `)}),We(ve,()=>e(R)[se],J=>e(R)[se]=J),n(ce,Ee)}),t(V),n(L,V)};y(He,L=>{c().length===0?L(he):L(de,!1)},!0)}n(S,ae)};y(B,S=>{b()?S(ge):S(ze,!1)})}t(U),n(i,U),Jt()}Kt(["change"]);function nt(i,o=3){if(i===0)return"0";const c=Math.abs(i),s=i<0?"-":"";if(c>=1e9){const b=c/1e9;return`${s}${b.toPrecision(o)}B`}else if(c>=1e6){const b=c/1e6;return`${s}${b.toPrecision(o)}M`}else if(c>=1e3){const b=c/1e3;return`${s}${b.toPrecision(o)}k`}else return`${s}${c.toPrecision(Math.min(o,Math.ceil(Math.log10(c+1))))}`}function Qa(i){if(!i)return"";const c=new Date().getTime()-i.getTime(),s=Math.floor(c/1e3),b=Math.floor(s/60),C=Math.floor(b/60);return C>0?`${C}h ${b%60}m ago`:b>0?`${b}m ${s%60}s ago`:`${s}s ago`}function Vt(i){if(i.length===0||i.length===1)return"";let o=i[0];for(let c=1;c<i.length;c++)for(;i[c].indexOf(o)!==0;)if(o=o.substring(0,o.length-1),o==="")return"";return o}function Xa(i){if(i.length===0||i.length===1)return"";const o=i.map(s=>s.split("").reverse().join(""));return Vt(o).split("").reverse().join("")}function Za(i,o,c){if(!o&&!c)return i;let s=i;if(o&&s.startsWith(o)&&(s=s.slice(o.length)),c&&s.endsWith(c)&&(s=s.slice(0,-c.length)),s.length===0)return i;const b=o.length>0,C=c.length>0;return b&&C?`…${s}…`:b?`…${s}`:C?`${s}…`:s}function es(i){if(i.length<=1)return Object.fromEntries(i.map(s=>[s,s]));const o=Vt(i),c=Xa(i);return Object.fromEntries(i.map(s=>[s,Za(s,o,c)]))}function ts(i,o){return Object.fromEntries(Object.entries(i).filter(([c])=>!o.includes(c)))}function zt(i){let o=0;for(const c of i)o+=c;return o}var as=v('<div class="p-4 svelte-l3ef1w"><p class="error svelte-l3ef1w"> </p></div>'),ss=v('<button class="btn btn-success btn-sm flex items-center svelte-l3ef1w" type="button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-4 h-4 inline mr-1 svelte-l3ef1w"><path d="M12 5v14M5 12h14" class="svelte-l3ef1w"></path></svg> Create Index</button>'),rs=v('<div class="text-center p-4 svelte-l3ef1w" style="color: var(--text-darker)">No indexes found</div>'),ls=v('<label class="flex items-center gap-2 cursor-pointer svelte-l3ef1w"><input type="checkbox" class="cursor-pointer svelte-l3ef1w"/> <span class="text-sm svelte-l3ef1w" style="color: var(--text);">Aggregate usage</span></label>'),os=v('<div class="mb-4 svelte-l3ef1w"><!> <div class="mt-3 flex gap-3 items-center flex-wrap svelte-l3ef1w"><button><!></button> <!></div></div>'),ns=v('<th style="width: 150px" class="svelte-l3ef1w">Actions</th>'),is=v('<span class="index-key svelte-l3ef1w"> </span>'),ds=v('<div class="flex flex-wrap gap-2 svelte-l3ef1w"></div>'),cs=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),vs=v('<span class="badge badge-building svelte-l3ef1w">building</span>'),fs=v('<span class="badge badge-hidden svelte-l3ef1w">hidden</span>'),us=v('<span class="badge badge-unique svelte-l3ef1w">unique</span>'),ps=v('<span class="badge badge-sparse svelte-l3ef1w">sparse</span>'),bs=v('<span class="badge badge-partial svelte-l3ef1w">partial</span>'),_s=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),ms=v('<span class="text-sm whitespace-nowrap svelte-l3ef1w"> </span>'),gs=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),hs=v('<span class="increment-badge svelte-l3ef1w"> </span>'),ws=v('<div class="svelte-l3ef1w"> <!> <span class="text-xs svelte-l3ef1w" style="color: var(--text-darker)"> </span></div>'),xs=v('<span class="increment-badge svelte-l3ef1w"> </span>'),ys=v('<div class="separate-stat svelte-l3ef1w"><span class="stat-host svelte-l3ef1w"> </span> <span class="stat-value svelte-l3ef1w"> <!></span></div>'),ks=v('<div class="svelte-l3ef1w"> </div>'),Ss=v('<div class="text-sm mt-1 svelte-l3ef1w"><!></div>'),Ns=v('<span style="color: var(--text-darker)" class="svelte-l3ef1w">-</span>'),js=v('<div class="flex gap-2 hidden group-hover:flex -my-2 svelte-l3ef1w"><button class="btn btn-outline-light btn-sm svelte-l3ef1w"> </button> <button class="btn btn-outline-danger btn-sm svelte-l3ef1w">Drop</button></div>'),Ps=v('<td class="svelte-l3ef1w"><!></td>'),Os=v('<tr><td class="name-cell svelte-l3ef1w"><span class="font-mono text-sm index-name svelte-l3ef1w"> </span></td><td class="svelte-l3ef1w"><!></td><td class="svelte-l3ef1w"><div class="flex flex-wrap gap-2 svelte-l3ef1w"><!> <!> <!> <!> <!> <!></div></td><td class="svelte-l3ef1w"><!></td><td class="svelte-l3ef1w"><!></td><td class="svelte-l3ef1w"><details class="cursor-pointer svelte-l3ef1w"><summary class="details-link svelte-l3ef1w">View full</summary> <div class="details-content svelte-l3ef1w"><!></div></details></td><!></tr>'),Ms=v('<div class="table-wrapper svelte-l3ef1w"><table class="table svelte-l3ef1w"><thead class="svelte-l3ef1w"><tr class="svelte-l3ef1w"><th class="name-column svelte-l3ef1w">Name</th><th class="svelte-l3ef1w">Keys</th><th class="svelte-l3ef1w">Properties</th><th class="shrink-column svelte-l3ef1w">Size</th><th class="shrink-column svelte-l3ef1w">Usage</th><th style="min-width: 300px" class="svelte-l3ef1w">Details</th><!></tr></thead><tbody class="svelte-l3ef1w"></tbody></table></div>'),Is=v("<!> <!>",1),Es=v('<div class="mb-4 flex gap-3 svelte-l3ef1w"><!> <button class="btn btn-primary btn-sm svelte-l3ef1w"> </button></div> <!>',1),Cs=v('<div class="p-4 svelte-l3ef1w"><p class="error svelte-l3ef1w"> </p></div>'),Fs=v('<div class="loading svelte-l3ef1w">Loading indexes...</div>'),Ds=v('<button class="btn btn-default btn-sm svelte-l3ef1w">Cancel</button> <button class="btn btn-danger btn-sm svelte-l3ef1w">Drop Index</button>',1),Us=v('<p class="svelte-l3ef1w">Are you sure you want to drop the index <strong class="svelte-l3ef1w"> </strong>?</p> <p class="text-sm mt-2 svelte-l3ef1w" style="color: var(--text-darker)">This action cannot be undone. The index will need to be recreated if needed again.</p>',1),Ls=v('<button class="btn btn-default btn-sm svelte-l3ef1w">Cancel</button> <button class="btn btn-success btn-sm svelte-l3ef1w"> </button>',1),Ts=v('<div class="space-y-4 svelte-l3ef1w"><div class="svelte-l3ef1w"><label for="index-keys" class="block text-sm font-semibold mb-2 svelte-l3ef1w" style="color: var(--text);">Index Keys (JSON) <span style="color: var(--error);" class="svelte-l3ef1w">*</span></label> <p class="text-xs mb-2 svelte-l3ef1w" style="color: var(--text-darker);">Define the fields to index. Use 1 for ascending, -1 for descending. Example: <code class="svelte-l3ef1w"></code></p> <textarea id="index-keys" rows="3" class="w-full p-3 rounded border border-[var(--border-color)] bg-[var(--color-1)] font-mono text-sm focus:outline-none focus:ring-2 svelte-l3ef1w" style="color: var(--text); --tw-ring-color: var(--link);"></textarea></div> <div class="svelte-l3ef1w"><label for="index-name" class="block text-sm font-semibold mb-2 svelte-l3ef1w" style="color: var(--text);">Index Name (Optional)</label> <p class="text-xs mb-2 svelte-l3ef1w" style="color: var(--text-darker);">Leave empty to auto-generate based on fields</p> <input id="index-name" type="text" placeholder="e.g., user_email_idx" class="w-full p-2 rounded border border-[var(--border-color)] bg-[var(--color-1)] text-sm focus:outline-none focus:ring-2 svelte-l3ef1w" style="color: var(--text); --tw-ring-color: var(--link);"/></div> <div class="grid grid-cols-2 gap-3 svelte-l3ef1w"><label class="flex items-center gap-2 cursor-pointer svelte-l3ef1w"><input type="checkbox" class="cursor-pointer svelte-l3ef1w"/> <span class="text-sm svelte-l3ef1w" style="color: var(--text);">Unique</span></label> <label class="flex items-center gap-2 cursor-pointer svelte-l3ef1w"><input type="checkbox" class="cursor-pointer svelte-l3ef1w"/> <span class="text-sm svelte-l3ef1w" style="color: var(--text);">Sparse</span></label> <label class="flex items-center gap-2 cursor-pointer svelte-l3ef1w"><input type="checkbox" class="cursor-pointer svelte-l3ef1w"/> <span class="text-sm svelte-l3ef1w" style="color: var(--text);">Background</span></label></div> <div class="svelte-l3ef1w"><label for="index-partial" class="block text-sm font-semibold mb-2 svelte-l3ef1w" style="color: var(--text);">Partial Filter Expression (Optional)</label> <p class="text-xs mb-2 svelte-l3ef1w" style="color: var(--text-darker);">Only index documents that match this filter. Example: <code class="svelte-l3ef1w"></code></p> <textarea id="index-partial" rows="2" class="w-full p-3 rounded border border-[var(--border-color)] bg-[var(--color-1)] font-mono text-sm focus:outline-none focus:ring-2 svelte-l3ef1w" style="color: var(--text); --tw-ring-color: var(--link);"></textarea></div> <div class="svelte-l3ef1w"><label for="index-ttl" class="block text-sm font-semibold mb-2 svelte-l3ef1w" style="color: var(--text);">TTL - Expire After Seconds (Optional)</label> <p class="text-xs mb-2 svelte-l3ef1w" style="color: var(--text-darker);">Automatically delete documents after specified seconds (for TTL indexes)</p> <input id="index-ttl" type="number" placeholder="e.g., 3600" min="0" class="w-full p-2 rounded border border-[var(--border-color)] bg-[var(--color-1)] text-sm focus:outline-none focus:ring-2 svelte-l3ef1w" style="color: var(--text); --tw-ring-color: var(--link);"/></div></div>'),$s=v("<!> <!> <!>",1);function Zs(i,o){Ht(o,!0);const c=E(()=>o.data.readOnly);let s=x(null),b=x(ee(new Set)),C=x(!1),R=x(null),Ie=x(!1),te=x(!1),U=x(ee([])),B=x(ee([])),ge=x(!1),ze=x(null),S=x(ee({})),ae=x(ee({})),He=x(null),he=x(!1),de=x(!1),L=x(!1),V=x(!1),ce=x(ee([])),se=x(ee(new Date));const Ee=E(()=>{const f=[...new Set(Object.values(e(S)).map(p=>p.host))];return es(f)}),ve=E(()=>e(B).length!==e(ce).length||!e(B).every(f=>e(ce).includes(f))),H=E(()=>Object.keys(e(ae)).length>0&&!e(ve)),Je=E(()=>(e(se),Qa(e(He))));Re(()=>{const f=setInterval(()=>{l(se,new Date,!0)},1e3);return()=>clearInterval(f)});let we=x('{ "fieldName": 1 }'),xe=x(""),J=x(!1),ye=x(!1),Ke=x(""),Ve=x(void 0),Ge=x(!1);Re(()=>{o.data.indexes.then(f=>{e(s)||l(s,f,!0)})});const Gt=E(()=>e(s)||o.data.indexes);async function Yt(f,p){const{server:g,database:u,collection:m}=Me.params;if(!(!g||!u||!m)){e(b).add(f),l(b,e(b),!0);try{const w={server:g,database:u,collection:m,index:f};if(p?await Ua(w):await La(w),e(s)&&e(s).data){const P=e(s).data.map(N=>N.name===f?{...N,hidden:!p}:N);l(s,{...e(s),data:P},!0)}D.notifySuccess(`Index ${p?"unhidden":"hidden"} successfully`)}catch(w){D.notifyError(w,`Failed to ${p?"unhide":"hide"} index`)}finally{e(b).delete(f),l(b,e(b),!0)}}}function Qt(){l(we,'{ "fieldName": 1 }'),l(xe,""),l(J,!1),l(ye,!1),l(Ke,""),l(Ve,void 0),l(Ge,!1),l(Ie,!0)}function ct(){l(Ie,!1)}async function Xt(){const{server:f,database:p,collection:g}=Me.params;if(!(!f||!p||!g)){l(de,!0);try{await Da({server:f,database:p,collection:g,keys:e(we),name:e(xe)||void 0,unique:e(J)||void 0,sparse:e(ye)||void 0,partialFilterExpression:e(Ke)||void 0,expireAfterSeconds:e(Ve),background:e(Ge)||void 0}),D.notifySuccess("Index created successfully"),ct(),await Aa("app:indexes")}catch(u){D.notifyError(u,"Failed to create index")}finally{l(de,!1)}}}function Zt(f){l(R,f,!0),l(C,!0)}function vt(){l(C,!1),l(R,null)}async function ea(){if(!e(R))return;const{server:f,database:p,collection:g}=Me.params;if(!f||!p||!g)return;e(b).add(e(R)),l(b,e(b),!0);const u=e(R);try{if(await Fa({server:f,database:p,collection:g,index:u}),e(s)&&e(s).data){const m=e(s).data.filter(w=>w.name!==u);l(s,{...e(s),data:m},!0)}D.notifySuccess(`Index "${u}" dropped successfully`),vt()}catch(m){D.notifyError(m,"Failed to drop index")}finally{e(b).delete(u),l(b,e(b),!0)}}async function kt(){const{server:f,database:p,collection:g}=Me.params;if(!(!f||!p||!g)){l(ge,!0);try{const u=await Ia({server:f});if(u.error)D.notifyError(u.error,"Failed to load nodes"),l(U,[],!0);else if(l(U,u.data,!0),e(U).length>0){D.notifySuccess(`Found ${e(U).length} node(s)`);const m=await Ea({server:f,database:p,collection:g});!m.error&&m.data&&l(ze,m.data,!0)}}catch(u){D.notifyError(u,"Failed to load nodes"),l(U,[],!0)}finally{l(ge,!1)}}}async function St(f=!0){const{server:p,database:g,collection:u}=Me.params;if(!p||!g||!u)return;if(e(B).length===0){D.notifyError("No nodes selected","Please select at least one node");return}l(he,!0);const m=e(ve)||!e(H);try{const w=await Ca({server:p,database:g,collection:u,nodes:e(B)});w.error&&D.notifyError(w.error,"Failed to fetch stats from some nodes"),l(S,w.data,!0),l(ce,[...e(B)],!0),m&&(l(ae,{...e(S)},!0),l(He,new Date,!0));const P=Object.keys(e(S)).length;if(P===0)D.notifyError("No stats found","No index stats found for selected nodes");else{const N=m?`Fetched stats from ${P} index/host combination(s)`:`Updated stats from ${P} index/host combination(s)`;D.notifySuccess(N)}if(f){const N=new URL(window.location.href);N.searchParams.set("nodes",e(B).join(",")),e(L)&&N.searchParams.set("aggregate","true"),$a(N.toString(),{})}}catch(w){D.notifyError(w,"Failed to fetch multi-node usage")}finally{l(he,!1)}}Re(()=>{e(te)&&e(U).length===0&&!e(ge)&&kt()}),Re(()=>{if(!e(V)){const f=new URL(Me.url),p=f.searchParams.get("nodes"),g=f.searchParams.get("aggregate");if(p){const u=p.split(",").filter(m=>m.length>0);u.length>0&&(l(te,!0),l(B,u,!0),e(U).length===0&&kt().then(()=>{u.length>0&&St(!1)}))}g!==null&&l(L,g==="true"),l(V,!0)}}),Re(()=>{if(e(V)&&Object.keys(e(S)).length>0){const f=new URL(window.location.href);e(L)?f.searchParams.set("aggregate","true"):f.searchParams.delete("aggregate"),Ta(f.toString(),{})}});var Nt=$s(),jt=K(Nt);Oa(jt,()=>e(Gt),f=>{qe(f,{title:"Indexes",children:(p,g)=>{var u=Fs();n(p,u)},$$slots:{default:!0}})},(f,p)=>{var g=it(),u=K(g);{var m=P=>{qe(P,{title:"Indexes",children:(N,re)=>{var G=as(),le=a(G),Y=a(le,!0);t(le),t(G),I(()=>j(Y,e(p).error)),n(N,G)},$$slots:{default:!0}})},w=P=>{var N=Es(),re=K(N),G=a(re);{var le=T=>{var q=ss();q.__click=Qt,n(T,q)};y(G,T=>{e(c)||T(le)})}var Y=d(G,2);Y.__click=()=>l(te,!e(te));var Ye=a(Y);t(Y),t(re);var Ce=d(re,2);{var Qe=T=>{qe(T,{title:"Indexes",children:(q,fe)=>{var Fe=rs();n(q,Fe)},$$slots:{default:!0}})},Xe=T=>{var q=Is(),fe=K(q);{var Fe=oe=>{var ue=os(),k=a(ue);Ya(k,{get loading(){return e(ge)},get primaryNode(){return e(ze)},get availableNodes(){return e(U)},set availableNodes(O){l(U,O,!0)},get selectedNodes(){return e(B)},set selectedNodes(O){l(B,O,!0)}});var De=d(k,2),W=a(De);let Ue;W.__click=()=>St();var ft=a(W);{var ut=O=>{var F=Lt();I(()=>j(F,e(H)?"Checking Δ...":"Fetching...")),n(O,F)},Ze=O=>{var F=Lt();I(()=>j(F,e(H)?"Δ Usage":"Fetch Usage")),n(O,F)};y(ft,O=>{e(he)?O(ut):O(Ze,!1)})}t(W);var Q=d(W,2);{var h=O=>{var F=ls(),Le=a(F);_e(Le),Oe(2),t(F),We(Le,()=>e(L),Te=>l(L,Te)),n(O,F)};y(Q,O=>{Object.keys(e(S)).length>0&&O(h)})}t(De),t(ue),I(()=>{Ue=At(W,1,"btn btn-sm svelte-l3ef1w",null,Ue,{"btn-primary":!e(H),"btn-outline-primary":e(H)}),W.disabled=e(he)||e(B).length===0,me(W,"title",e(H)?`Baseline from ${e(Je)}`:"Fetch index usage statistics")}),n(oe,ue)};y(fe,oe=>{e(te)&&oe(Fe)})}var ke=d(fe,2);qe(ke,{title:"Indexes",children:(oe,ue)=>{var k=Ms(),De=a(k),W=a(De),Ue=a(W),ft=d(a(Ue),6);{var ut=Q=>{var h=ns();n(Q,h)};y(ft,Q=>{e(c)||Q(ut)})}t(Ue),t(W);var Ze=d(W);dt(Ze,21,()=>e(p).data,Q=>Q.name,(Q,h)=>{const O=E(()=>e(b).has(e(h).name));var F=Os();let Le;var Te=a(F),pt=a(Te),aa=a(pt,!0);t(pt),t(Te);var bt=d(Te),sa=a(bt);{var ra=r=>{var _=ds();dt(_,21,()=>Object.entries(e(h).key),Bt,(ne,X)=>{var ie=E(()=>Pa(e(X),2));let pe=()=>e(ie)[0],z=()=>e(ie)[1];var M=is(),$=a(M);t(M),I(()=>j($,`${pe()??""}: ${(z()===1?"↑":z()===-1?"↓":z())??""}`)),n(ne,M)}),t(_),n(r,_)},la=r=>{var _=cs();n(r,_)};y(sa,r=>{e(h).key?r(ra):r(la,!1)})}t(bt);var _t=d(bt),Ot=a(_t),Mt=a(Ot);{var oa=r=>{var _=vs();n(r,_)};y(Mt,r=>{e(h).stats?.building&&r(oa)})}var It=d(Mt,2);{var na=r=>{var _=fs();n(r,_)};y(It,r=>{e(h).hidden&&r(na)})}var Et=d(It,2);{var ia=r=>{var _=us();n(r,_)};y(Et,r=>{e(h).unique&&r(ia)})}var Ct=d(Et,2);{var da=r=>{var _=ps();n(r,_)};y(Ct,r=>{e(h).sparse&&r(da)})}var Ft=d(Ct,2);{var ca=r=>{var _=bs();n(r,_)};y(Ft,r=>{e(h).partialFilterExpression&&r(ca)})}var va=d(Ft,2);{var fa=r=>{var _=_s();n(r,_)};y(va,r=>{!e(h).stats?.building&&!e(h).hidden&&!e(h).unique&&!e(h).sparse&&!e(h).partialFilterExpression&&r(fa)})}t(Ot),t(_t);var mt=d(_t),ua=a(mt);{var pa=r=>{var _=ms(),ne=a(_,!0);t(_),I(X=>j(ne,X),[()=>Ma(e(h).size)]),n(r,_)},ba=r=>{var _=gs();n(r,_)};y(ua,r=>{e(h).size?r(pa):r(ba,!1)})}t(mt);var gt=d(mt),_a=a(gt);{var ma=r=>{const _=E(()=>Object.entries(e(S)).filter(([M])=>M.startsWith(`${e(h).name}::`)).map(([M,$])=>({key:M,stats:$}))),ne=E(()=>Object.fromEntries(Object.entries(e(ae)).filter(([M])=>M.startsWith(`${e(h).name}::`))));var X=Ss(),ie=a(X);{var pe=M=>{var $=it(),wt=K($);{var xt=Se=>{const Ne=E(()=>zt(e(_).map(A=>A.stats.ops))),et=E(()=>zt(Object.values(e(ne)).map(A=>A.ops))),$e=E(()=>e(et)>0?e(Ne)-e(et):0);var be=ws(),tt=a(be),Z=d(tt);{var at=A=>{var Ae=hs(),st=a(Ae);t(Ae),I(rt=>j(st,`+${rt??""}`),[()=>nt(e($e))]),n(A,Ae)};y(Z,A=>{e($e)>0&&A(at)})}var je=d(Z,2),Pe=a(je);t(je),t(be),I(A=>{me(be,"title",`Aggregated across ${e(_).length??""} node(s)`),j(tt,`${A??""} `),j(Pe,`(${e(_).length??""} node${e(_).length>1?"s":""})`)},[()=>e($e)>0?nt(e(Ne)):e(Ne).toLocaleString()]),n(Se,be)},ya=Se=>{var Ne=it(),et=K(Ne);dt(et,17,()=>e(_),Bt,($e,be)=>{let tt=()=>e(be).key,Z=()=>e(be).stats;const at=E(()=>e(ne)[tt()]?.ops||0),je=E(()=>e(at)>0?Z().ops-e(at):0);var Pe=ys(),A=a(Pe),Ae=a(A);t(A);var st=d(A,2),rt=a(st),ka=d(rt);{var Sa=Be=>{var yt=xs(),Na=a(yt);t(yt),I(ja=>j(Na,`+${ja??""}`),[()=>nt(e(je))]),n(Be,yt)};y(ka,Be=>{e(je)>0&&Be(Sa)})}t(st),t(Pe),I(Be=>{me(Pe,"title",Z().host),j(Ae,`${(e(Ee)[Z().host]||Z().host)??""}:`),j(rt,`${Be??""} `)},[()=>e(je)>0?nt(Z().ops):Z().ops.toLocaleString()]),n($e,Pe)}),n(Se,Ne)};y(wt,Se=>{e(L)?Se(xt):Se(ya,!1)})}n(M,$)},z=M=>{var $=ks(),wt=a($,!0);t($),I(xt=>j(wt,xt),[()=>e(h).stats.ops.toLocaleString()]),n(M,$)};y(ie,M=>{e(_).length>0?M(pe):M(z,!1)})}t(X),n(r,X)},ga=r=>{var _=Ns();n(r,_)};y(_a,r=>{e(h).stats?r(ma):r(ga,!1)})}t(gt);var ht=d(gt),Dt=a(ht),Ut=d(a(Dt),2),ha=a(Ut);{let r=E(()=>ts(e(h),["stats"]));Ba(ha,{get value(){return e(r)},collapsed:!1})}t(Ut),t(Dt),t(ht);var wa=d(ht);{var xa=r=>{var _=Ps(),ne=a(_);{var X=ie=>{var pe=js(),z=a(pe);z.__click=()=>Yt(e(h).name,e(h).hidden);var M=a(z,!0);t(z);var $=d(z,2);$.__click=()=>Zt(e(h).name),t(pe),I(()=>{z.disabled=e(O),j(M,e(h).hidden?"Unhide":"Hide"),$.disabled=e(O)}),n(ie,pe)};y(ne,ie=>{e(h).name!=="_id_"&&ie(X)})}t(_),n(r,_)};y(wa,r=>{e(c)||r(xa)})}t(F),I(()=>{Le=At(F,1,"group svelte-l3ef1w",null,Le,{"opacity-50":e(O)}),me(pt,"title",e(h).name),j(aa,e(h).name)}),n(Q,F)}),t(Ze),t(De),t(k),n(oe,k)},$$slots:{default:!0}}),n(T,q)};y(Ce,T=>{e(p).data.length===0?T(Qe):T(Xe,!1)})}I(()=>j(Ye,`${e(te)?"Hide":"Show"} Multi-Node Usage`)),n(P,N)};y(u,P=>{e(p).error?P(m):P(w,!1)})}n(f,g)},(f,p)=>{qe(f,{title:"Indexes",children:(g,u)=>{var m=Cs(),w=a(m),P=a(w);t(w),t(m),I(()=>j(P,`Error loading indexes: ${e(p)??""}`)),n(g,m)},$$slots:{default:!0}})});var Pt=d(jt,2);Wt(Pt,{get show(){return e(C)},onclose:vt,footer:p=>{var g=Ds(),u=K(g);u.__click=vt;var m=d(u,2);m.__click=ea,n(p,g)},children:(p,g)=>{var u=Us(),m=K(u),w=d(a(m)),P=a(w,!0);t(w),Oe(),t(m),Oe(2),I(()=>j(P,e(R))),n(p,u)},$$slots:{footer:!0,default:!0}});var ta=d(Pt,2);Wt(ta,{get show(){return e(Ie)},onclose:ct,title:"Create Index",footer:p=>{var g=Ls(),u=K(g);u.__click=ct;var m=d(u,2);m.__click=Xt;var w=a(m,!0);t(m),I(()=>{u.disabled=e(de),m.disabled=e(de),j(w,e(de)?"Creating...":"Create Index")}),n(p,g)},children:(p,g)=>{var u=Ts(),m=a(u),w=d(a(m),2),P=d(a(w));P.textContent='{ "fieldName": 1 }',t(w);var N=d(w,2);$t(N),me(N,"placeholder",'{"fieldName": 1}'),Tt(()=>ot(N,()=>e(we),k=>l(we,k))),Rt(N,k=>qt?.(k)),t(m);var re=d(m,2),G=d(a(re),4);_e(G),t(re);var le=d(re,2),Y=a(le),Ye=a(Y);_e(Ye),Oe(2),t(Y);var Ce=d(Y,2),Qe=a(Ce);_e(Qe),Oe(2),t(Ce);var Xe=d(Ce,2),T=a(Xe);_e(T),Oe(2),t(Xe),t(le);var q=d(le,2),fe=d(a(q),2),Fe=d(a(fe));Fe.textContent='{ "status": "active" }',t(fe);var ke=d(fe,2);$t(ke),me(ke,"placeholder",'{"status": "active"}'),Tt(()=>ot(ke,()=>e(Ke),k=>l(Ke,k))),Rt(ke,k=>qt?.(k)),t(q);var oe=d(q,2),ue=d(a(oe),4);_e(ue),t(oe),t(u),ot(G,()=>e(xe),k=>l(xe,k)),We(Ye,()=>e(J),k=>l(J,k)),We(Qe,()=>e(ye),k=>l(ye,k)),We(T,()=>e(Ge),k=>l(Ge,k)),ot(ue,()=>e(Ve),k=>l(Ve,k)),n(p,u)},$$slots:{footer:!0,default:!0}}),n(i,Nt),Jt()}Kt(["click"]);export{Zs as component,Xs as universal};
@@ -1,65 +0,0 @@
1
- import{f as c,a as d}from"../chunks/BUr91kOw.js";import{a8 as $e,a9 as et,aa as tt,ab as at,l as ot,h as Ae,a3 as rt,o as lt,p as it,a2 as nt,f as ue,a as st,s as r,c as o,t as U,d as n,b as Q,r as t,n as Fe,g as a,u as ye}from"../chunks/BYPjaq07.js";import{d as dt,s as xe}from"../chunks/BnpHJF5-.js";import{i as F}from"../chunks/CXNtxrhs.js";import{r as ct,s as vt,e as ke,i as Ne,b as oe,n as W}from"../chunks/Dmf2jfOR.js";import{b as re}from"../chunks/DUw-I2kh.js";import{P as ut,u as bt}from"../chunks/LkvVkcQJ.js";function Ee(i,e,J=!1){if(i.multiple){if(e==null)return;if(!et(e))return tt();for(var p of i.options)p.selected=e.includes(be(p));return}for(p of i.options){var x=be(p);if(at(x,e)){p.selected=!0;return}}(!J||e!==void 0)&&(i.selectedIndex=-1)}function ze(i){var e=new MutationObserver(()=>{Ee(i,i.__value)});e.observe(i,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),$e(()=>{e.disconnect()})}function Oe(i,e,J=e){var p=new WeakSet,x=!0;ot(i,"change",m=>{var T=m?"[selected]":":checked",k;if(i.multiple)k=[].map.call(i.querySelectorAll(T),be);else{var O=i.querySelector(T)??i.querySelector("option:not([disabled])");k=O&&be(O)}J(k),Ae!==null&&p.add(Ae)}),rt(()=>{var m=e();if(i===document.activeElement){var T=lt??Ae;if(p.has(T))return}if(Ee(i,m,x),x&&m===void 0){var k=i.querySelector(":checked");k!==null&&(m=be(k),J(m))}i.__value=m,x=!1}),ze(i)}function be(i){return"__value"in i?i.__value:i.value}const pt=async i=>({...i.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),Bt=Object.freeze(Object.defineProperty({__proto__:null,load:pt},Symbol.toStringTag,{value:"Module"}));var mt=c('<button class="btn btn-success btn-sm -my-2">Save</button>'),_t=c('<button class="btn btn-outline-light btn-sm -my-2 hover:bg-[var(--color-3)]">🤖 AI Helper</button> <!>',1),ft=c('<button class="btn btn-outline-danger btn-sm mt-6 hover:bg-[rgba(255,59,48,0.1)]">Remove Mapping</button>'),gt=c("<option> </option>"),ht=c('<div class="flex-1"><label class="block text-xs mb-1">Target Collection <select class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"><option>Select collection...</option><!></select></label></div> <div class="flex-1"><label class="block text-xs mb-1">Target Field <input type="text" placeholder="_id" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"/></label></div>',1),yt=c('<div class="flex-[2]"><label class="block text-xs mb-1">URL Template (use &#123;value&#125; for interpolation) <input type="text" placeholder="https://example.com/{value}" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"/></label></div>'),xt=c('<button class="btn btn-outline-danger btn-sm mt-5 hover:bg-[rgba(255,59,48,0.1)]">×</button>'),kt=c('<div class="flex items-start gap-2 pl-4 border-l-2 border-[var(--color-3)]"><div class="flex-1"><label class="block text-xs mb-1">Type <select class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"><option>Document</option><option>URL</option></select></label></div> <!> <!></div>'),wt=c('<div class="flex gap-2 mt-2 ml-4"><button class="btn btn-outline-light btn-sm hover:bg-[var(--color-3)]">+ Add Document Target</button> <button class="btn btn-outline-light btn-sm hover:bg-[var(--color-3)]">+ Add URL Target</button></div>'),Tt=c('<div class="border border-[var(--border-color)] rounded p-4"><div class="flex items-start gap-4 mb-3"><div class="flex-1"><label class="block text-sm font-medium mb-1">Field Path <input type="text" placeholder="e.g., authorId or comments.authorId" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"/></label></div> <!></div> <div class="space-y-2"></div> <!></div>'),It=c('<div class="space-y-4"></div>'),Mt=c('<div class="text-center py-8" style="color: var(--text-secondary);">No mappings defined yet.</div>'),Ct=c('<button class="btn btn-success">+ Add New Mapping</button>'),Pt=c("<option> </option>"),At=c('<label class="block text-sm font-medium mb-1">Target Collection <select class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"><option>Select collection...</option><!></select></label> <label class="block text-sm font-medium mb-1">Target Field <input type="text" placeholder="_id" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"/></label>',1),Ft=c(`<label class="block text-sm font-medium mb-1">URL Template <input type="text" placeholder="https://hf.co/datasets/{value}" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"/></label> <p class="text-xs" style="color: var(--text-secondary);">Use <code class="px-1 bg-[var(--color-2)] rounded">&#123;value&#125;</code> as a placeholder for the field
2
- value. Example: if the field is "abc/glue", and template is "https://hf.co/datasets/&#123;value&#125;",
3
- the result will be "https://hf.co/datasets/abc/glue"</p>`,1),Ot=c('<div class="border border-[var(--border-color)] rounded p-4 bg-[var(--light-background)]"><h3 class="text-lg font-medium mb-3">New Mapping</h3> <div class="space-y-3"><label class="block text-sm font-medium mb-1">Field Path <input type="text" placeholder="e.g., authorId or comments.authorId" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"/></label> <label class="block text-sm font-medium mb-1">Mapping Type <select class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"><option>Document</option><option>URL</option></select></label> <!> <div class="flex gap-2"><button class="btn btn-success">Add</button> <button class="btn btn-default hover:bg-[var(--color-3)]">Cancel</button></div></div></div>'),Et=c('<div class="mt-4"><!></div>'),jt=c(`<div class="p-4"><div class="mb-4"><p class="mb-3">Define relationships between collections or external URLs to enable hover tooltips, navigation on foreign key
4
- fields, and clickable external links. This will be stored in the <code class="px-1 bg-[var(--light-background)] rounded">mongoku.mappings</code> collection as a document with <a class="text-blue-500"> </a>.</p> <details class="mb-2" style="color: var(--text-secondary);"><summary class="cursor-pointer font-medium mb-2">Examples</summary> <div class="mt-2 space-y-3"><div><div class="font-medium mb-1">Document Mapping Example:</div> <div class="mb-1">Document in collection <code class="px-1 bg-[var(--light-background)] rounded">posts</code>:</div> <code class="block px-2 py-1 bg-[var(--light-background)] rounded text-xs mb-2">&#123; _id: "post1", title: "Hello", authorId: "user123", comments: [&#123;authorId: "user456", text:
5
- "Nice!"&#125;] &#125;</code> <div class="text space-y-1"><div>→ Mapping 1: Field path <code class="px-1 bg-[var(--light-background)] rounded">authorId</code>, type <strong>document</strong>, target collection <code class="px-1 bg-[var(--light-background)] rounded">users</code>, target field <code class="px-1 bg-[var(--light-background)] rounded">_id</code></div> <div>→ Mapping 2: Field path <code class="px-1 bg-[var(--light-background)] rounded">comments.authorId</code>, type <strong>document</strong>, target collection <code class="px-1 bg-[var(--light-background)] rounded">users</code>, target field <code class="px-1 bg-[var(--light-background)] rounded">_id</code></div></div></div> <div><div class="font-medium mb-1">URL Mapping Example:</div> <div class="mb-1">Document in collection <code class="px-1 bg-[var(--light-background)] rounded">dataset_info_cache</code>:</div> <code class="block px-2 py-1 bg-[var(--light-background)] rounded text-xs mb-2">&#123; _id: "abc/glue", name: "GLUE Benchmark", ... &#125;</code> <div class="text space-y-1"><div>→ Mapping: Field path <code class="px-1 bg-[var(--light-background)] rounded">_id</code>, type <strong>URL</strong>, template <code class="px-1 bg-[var(--light-background)] rounded">https://hf.co/datasets/&#123;value&#125;</code></div> <div class="ml-4">Result: Clicking the _id will open "https://hf.co/datasets/abc/glue" in a new tab</div></div></div></div></details></div> <!> <!></div>`),Dt=c(`<div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4" role="button" tabindex="0"><div class="bg-[var(--color-1)] border border-[var(--border-color)] rounded-lg max-w-4xl w-full max-h-[80vh] overflow-hidden flex flex-col" role="dialog" tabindex="-1"><div class="p-4 border-b border-[var(--border-color)] flex justify-between items-center"><h2 class="text-xl font-semibold">AI Mapping Generator Prompt</h2> <button class="btn btn-outline-light btn-sm hover:bg-[var(--color-3)]">Close</button></div> <div class="p-4 overflow-auto flex-1"><p class="mb-3 text-sm" style="color: var(--text-secondary);">Copy this prompt and paste it into your IDE's AI assistant (Cursor, GitHub Copilot, etc.) to automatically
6
- generate mappings for this collection.</p> <pre class="bg-[var(--color-2)] border border-[var(--border-color)] rounded p-4 text-sm whitespace-pre-wrap overflow-auto"> </pre></div> <div class="p-4 border-t border-[var(--border-color)] flex justify-end gap-2"><button class="btn btn-default hover:bg-[var(--color-3)]">Close</button> <button class="btn btn-primary hover:brightness-110">Copy to Clipboard</button></div></div></div>`),St=c("<!> <!>",1);function Ht(i,e){it(e,!0);function J(l){return"type"in l?l:{type:"document",collection:l.collection,on:l.on}}let p=nt(Object.entries(e.data.mappings).map(([l,s])=>({fieldPath:l,targets:(Array.isArray(s)?s:[s]).map(J)}))),x=Q(""),m=Q("document"),T=Q(""),k=Q("_id"),O=Q(""),pe=Q(!1),K=Q(!1);const je=ye(()=>`I need help generating MongoDB collection mappings for my database.
7
-
8
- **Context:**
9
- - Database: ${e.data.database}
10
- - Collection: ${e.data.collection}
11
- - Available collections: ${e.data.availableCollections.join(", ")}
12
-
13
- **Task:**
14
- Please analyze my codebase to identify relationships between the "${e.data.collection}" collection and other collections. Look for:
15
- 1. Fields that reference documents in other collections (foreign keys)
16
- 2. Nested fields within arrays or objects that reference other documents
17
- 3. Common patterns like userId, authorId, etc.
18
-
19
- If you have access to the MongoDB MCP server, use it to:
20
- 1. Query sample documents from the "${e.data.collection}" collection
21
- 2. Analyze the schema and field types
22
- 3. Identify potential foreign key relationships
23
-
24
- **Output Format:**
25
- Create a file named \`${e.data.collection}.mappings.json\` with the following structure:
26
-
27
- \`\`\`json
28
- {
29
- "_id": "${e.data.collection}",
30
- "mappings": {
31
- "fieldPath": { "type": "document", "collection": "targetCollection", "on": "targetField" },
32
- "nested.fieldPath": { "type": "document", "collection": "targetCollection", "on": "targetField" }
33
- }
34
- }
35
- \`\`\`
36
-
37
- **Example:**
38
- If the collection has documents like:
39
- \`\`\`json
40
- {
41
- "_id": "post1",
42
- "authorId": "user123",
43
- "comments": [
44
- { "authorId": "user456", "text": "Great post!" }
45
- ]
46
- }
47
- \`\`\`
48
-
49
- The mappings would be:
50
- \`\`\`json
51
- {
52
- "_id": "${e.data.collection}",
53
- "mappings": {
54
- "authorId": { "type": "document", "collection": "users", "on": "_id" },
55
- "comments.authorId": { "type": "document", "collection": "users", "on": "_id" }
56
- }
57
- }
58
- \`\`\`
59
-
60
- **Notes:**
61
- - Use dot notation for nested fields (e.g., "comments.authorId")
62
- - Multiple mappings for the same field can be expressed as an array
63
- - Target field is usually "_id" but can be any unique field
64
-
65
- Please analyze the codebase and database, then generate the appropriate mappings file.`);async function Ge(){try{await navigator.clipboard.writeText(a(je)),W.notifySuccess("AI prompt copied to clipboard")}catch(l){W.notifyError(l,"Failed to copy to clipboard")}}function De(l,s="document"){s==="document"?l.targets.push({type:"document",collection:"",on:"_id"}):l.targets.push({type:"url",template:""})}function Be(l,s){l.targets.splice(s,1)}function He(l){p.splice(l,1)}function Qe(){if(!a(x).trim()){W.notifyError("Field path is required");return}let l;if(a(m)==="document"){if(!a(T).trim()){W.notifyError("Target collection is required");return}l={type:"document",collection:a(T).trim(),on:a(k).trim()||"_id"}}else{if(!a(O).trim()){W.notifyError("URL template is required");return}l={type:"url",template:a(O).trim()}}p.push({fieldPath:a(x).trim(),targets:[l]}),n(x,""),n(m,"document"),n(T,""),n(k,"_id"),n(O,""),n(pe,!1)}function We(){n(x,""),n(m,"document"),n(T,""),n(k,"_id"),n(O,""),n(pe,!1)}async function Je(){try{const l={};for(const s of p)if(s.fieldPath.trim()){const g=s.targets.filter(v=>{if("type"in v){if(v.type==="document")return v.collection.trim()&&v.on.trim();if(v.type==="url")return v.template.trim()}else return v.collection.trim()&&v.on.trim();return!1});g.length>0&&(l[s.fieldPath]=g.length===1?g[0]:g)}await bt({server:e.data.server,database:e.data.database,collection:"mongoku.mappings",document:e.data.collection,value:{mappings:l,_id:e.data.collection},partial:!1,upsert:!0}),W.notifySuccess("Mappings saved successfully")}catch(l){console.error("Error saving mappings:",l),W.notifyError(l,"Failed to save mappings")}}var Se=St(),Ue=ue(Se);ut(Ue,{get title(){return`Mappings for ${e.data.collection??""}`},titleClass:"py-2",actions:s=>{var g=_t(),v=ue(g);v.__click=()=>n(K,!0);var N=r(v,2);{var L=M=>{var V=mt();V.__click=Je,d(M,V)};F(N,M=>{e.data.readOnly||M(L)})}d(s,g)},children:(s,g)=>{var v=jt(),N=o(v),L=o(N),M=r(o(L),3),V=o(M);t(M),Fe(),t(L),Fe(2),t(N);var le=r(N,2);{var me=w=>{var E=It();ke(E,21,()=>p,Ne,(Te,I,Ie)=>{var C=Tt(),P=o(C),X=o(P),Y=o(X),Z=r(o(Y));oe(Z),t(Y),t(X);var ie=r(X,2);{var ne=h=>{var y=ft();y.__click=()=>He(Ie),d(h,y)};F(ie,h=>{e.data.readOnly||h(ne)})}t(P);var G=r(P,2);ke(G,21,()=>a(I).targets,Ne,(h,y,j)=>{const D=ye(()=>"type"in a(y)?a(y).type:"document");var se=kt(),_=o(se),R=o(_),u=r(o(R));u.__change=f=>{f.currentTarget.value==="document"?a(I).targets[j]={type:"document",collection:"",on:"_id"}:a(I).targets[j]={type:"url",template:""}};var A=o(u);A.value=A.__value="document";var q=r(A);q.value=q.__value="url",t(u);var ge;ze(u),t(R),t(_);var de=r(_,2);{var he=f=>{const b=ye(()=>a(y));var $=ht(),ee=ue($),te=o(ee),ae=r(o(te)),Me=o(ae);Me.value=Me.__value="";var Ye=r(Me);ke(Ye,16,()=>e.data.availableCollections,H=>H,(H,Pe)=>{var ve=gt(),Ze=o(ve,!0);t(ve);var qe={};U(()=>{xe(Ze,Pe),qe!==(qe=Pe)&&(ve.value=(ve.__value=Pe)??"")}),d(H,ve)}),t(ae),t(te),t(ee);var Le=r(ee,2),Re=o(Le),Ce=r(o(Re));oe(Ce),t(Re),t(Le),U(()=>{ae.disabled=e.data.readOnly,Ce.disabled=e.data.readOnly}),Oe(ae,()=>a(b).collection,H=>a(b).collection=H),re(Ce,()=>a(b).on,H=>a(b).on=H),d(f,$)},S=f=>{const b=ye(()=>a(y));var $=yt(),ee=o($),te=r(o(ee));oe(te),t(ee),t($),U(()=>te.disabled=e.data.readOnly),re(te,()=>a(b).template,ae=>a(b).template=ae),d(f,$)};F(de,f=>{a(D)==="document"?f(he):f(S,!1)})}var ce=r(de,2);{var B=f=>{var b=xt();b.__click=()=>Be(a(I),j),U(()=>b.disabled=a(I).targets.length===1),d(f,b)};F(ce,f=>{e.data.readOnly||f(B)})}t(se),U(()=>{u.disabled=e.data.readOnly,ge!==(ge=a(D))&&(u.value=(u.__value=a(D))??"",Ee(u,a(D)))}),d(h,se)}),t(G);var _e=r(G,2);{var fe=h=>{var y=wt(),j=o(y);j.__click=()=>De(a(I),"document");var D=r(j,2);D.__click=()=>De(a(I),"url"),t(y),d(h,y)};F(_e,h=>{e.data.readOnly||h(fe)})}t(C),U(()=>Z.disabled=e.data.readOnly),re(Z,()=>a(I).fieldPath,h=>a(I).fieldPath=h),d(Te,C)}),t(E),d(w,E)},we=w=>{var E=Mt();d(w,E)};F(le,w=>{p.length>0?w(me):w(we,!1)})}var z=r(le,2);{var Xe=w=>{var E=Et(),Te=o(E);{var I=C=>{var P=Ct();P.__click=()=>n(pe,!0),d(C,P)},Ie=C=>{var P=Ot(),X=r(o(P),2),Y=o(X),Z=r(o(Y));oe(Z),t(Y);var ie=r(Y,2),ne=r(o(ie)),G=o(ne);G.value=G.__value="document";var _e=r(G);_e.value=_e.__value="url",t(ne),t(ie);var fe=r(ie,2);{var h=_=>{var R=At(),u=ue(R),A=r(o(u)),q=o(A);q.value=q.__value="";var ge=r(q);ke(ge,16,()=>e.data.availableCollections,S=>S,(S,ce)=>{var B=Pt(),f=o(B,!0);t(B);var b={};U(()=>{xe(f,ce),b!==(b=ce)&&(B.value=(B.__value=ce)??"")}),d(S,B)}),t(A),t(u);var de=r(u,2),he=r(o(de));oe(he),t(de),Oe(A,()=>a(T),S=>n(T,S)),re(he,()=>a(k),S=>n(k,S)),d(_,R)},y=_=>{var R=Ft(),u=ue(R),A=r(o(u));oe(A),t(u),Fe(2),re(A,()=>a(O),q=>n(O,q)),d(_,R)};F(fe,_=>{a(m)==="document"?_(h):_(y,!1)})}var j=r(fe,2),D=o(j);D.__click=Qe;var se=r(D,2);se.__click=We,t(j),t(X),t(P),re(Z,()=>a(x),_=>n(x,_)),Oe(ne,()=>a(m),_=>n(m,_)),d(C,P)};F(Te,C=>{a(pe)?C(Ie,!1):C(I)})}t(E),d(w,E)};F(z,w=>{e.data.readOnly||w(Xe)})}t(v),U(w=>{vt(M,"href",w),xe(V,`_id: "${e.data.collection??""}"`)},[()=>ct(`/servers/${e.data.server}/databases/${e.data.database}/collections/mongoku.mappings/documents/${e.data.collection}`)]),d(s,v)},$$slots:{actions:!0,default:!0}});var Ke=r(Ue,2);{var Ve=l=>{var s=Dt();s.__click=()=>n(K,!1),s.__keydown=z=>{z.key==="Escape"&&n(K,!1)};var g=o(s);g.__click=z=>z.stopPropagation(),g.__keydown=z=>z.stopPropagation();var v=o(g),N=r(o(v),2);N.__click=()=>n(K,!1),t(v);var L=r(v,2),M=r(o(L),2),V=o(M,!0);t(M),t(L);var le=r(L,2),me=o(le);me.__click=()=>n(K,!1);var we=r(me,2);we.__click=Ge,t(le),t(g),t(s),U(()=>xe(V,a(je))),d(l,s)};F(Ke,l=>{a(K)&&l(Ve)})}d(i,Se),st()}dt(["click","change","keydown"]);export{Ht as component,Bt as universal};
@@ -1 +0,0 @@
1
- import{f as p,a,c as q,t as ne}from"../chunks/BUr91kOw.js";import{b as F,a6 as ie,V as Se,g as e,d as m,a7 as Z,p as xe,f as z,a as ze,s as y,$ as Re,c as v,r as c,t as R,n as Ce,u as Ee}from"../chunks/BYPjaq07.js";import{d as De,e as Pe,s as T}from"../chunks/BnpHJF5-.js";import{a as V,s as G,f as de}from"../chunks/DDy-Kuac.js";import{i as A}from"../chunks/CXNtxrhs.js";import{e as Te,b as Ae,s as le,r as Fe,n as M}from"../chunks/Dmf2jfOR.js";import{b as Me}from"../chunks/DUw-I2kh.js";import{P as Ne,c as $e,r as je,e as Oe}from"../chunks/LkvVkcQJ.js";import{i as ee}from"../chunks/Da8SMsGA.js";import{T as Ye}from"../chunks/C5cMJ08W.js";var qe=["forEach","isDisjointFrom","isSubsetOf","isSupersetOf"],Be=["difference","intersection","symmetricDifference","union"],ve=!1;class H extends Set{#r=new Map;#e=F(0);#t=F(0);#a=ie||-1;constructor(t){if(super(),t){for(var s of t)super.add(s);this.#t.v=super.size}ve||this.#o()}#s(t){return ie===this.#a?F(t):Se(t)}#o(){ve=!0;var t=H.prototype,s=Set.prototype;for(const o of qe)t[o]=function(...d){return e(this.#e),s[o].apply(this,d)};for(const o of Be)t[o]=function(...d){e(this.#e);var N=s[o].apply(this,d);return new H(N)}}has(t){var s=super.has(t),o=this.#r,d=o.get(t);if(d===void 0){if(!s)return e(this.#e),!1;d=this.#s(!0),o.set(t,d)}return e(d),s}add(t){return super.has(t)||(super.add(t),m(this.#t,super.size),Z(this.#e)),this}delete(t){var s=super.delete(t),o=this.#r,d=o.get(t);return d!==void 0&&(o.delete(t),m(d,!1)),s&&(m(this.#t,super.size),Z(this.#e)),s}clear(){if(super.size!==0){super.clear();var t=this.#r;for(var s of t.values())m(s,!1);t.clear(),m(this.#t,0),Z(this.#e)}}keys(){return this.values()}values(){return e(this.#e),super.values()}entries(){return e(this.#e),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return e(this.#t)}}var Ie=p('<input type="text" placeholder="mongodb://user:password@hostname:port?directConnection=true" class="form-input svelte-gqreh7"/> <button class="btn btn-outline-success btn-sm">Add</button>',1),Ke=p('<button class="btn btn-default btn-sm"> </button> <!>',1),Ue=p('<span class="error"><span class="badge badge-danger">Error</span> </span>'),Ve=p("<a> </a>"),Ge=p("<span> </span>"),He=p('<span style="color: var(--text-secondary);">...</span>'),Je=p('<span style="color: var(--text-secondary);">...</span>'),Le=p('<button class="btn btn-default btn-sm -my-2 hidden group-hover:inline"> </button>'),Qe=p('<tr class="group"><td><!></td><td><!></td><td><!></td><td style="width: 250px"><div class="flex gap-2 justify-end"><!> <button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Remove from list</button></div></td></tr>'),We=p('<tr><td colspan="4"><div class="text-center">No servers...</div></td></tr>'),Xe=p('<table class="table"><thead><tr><th>Name</th><th>Databases</th><th>Size</th><th></th></tr></thead><tbody><!></tbody></table>'),Ze=p('<div class="modal-overlay"><div class="modal"><div class="modal-body"><p>Are you sure you want to remove this server? This will only remove it from this list. You can add it back.</p></div> <div class="modal-footer"><button class="btn btn-default btn-sm">No</button> <button class="btn btn-outline-danger btn-sm">Yes</button></div></div></div>'),et=p("<!> <!>",1);function ct(ce,t){xe(t,!0);let s=F(!1),o=F(""),d=F(!1),N=F(!1),B=null;const I=new H;async function ue(){if(e(o)){m(d,!0);try{await $e({url:e(o)}),m(o,""),m(s,!1),M.notifySuccess("Server added successfully"),await ee()}catch(l){M.notifyError(l,"Failed to add server")}finally{m(d,!1)}}}function fe(l){B=l,m(N,!0)}function K(){m(N,!1),B=null}async function _e(){if(B)try{await Oe(B.name),M.notifySuccess("Server removed successfully"),K(),await ee()}catch(l){M.notifyError(l,"Failed to remove server")}}function me(l){l.key==="Escape"&&K()}async function pe(l){I.add(l._id);try{await je(l._id),M.notifySuccess("Connection restored successfully"),await ee()}catch(g){M.notifyError(g,"Failed to retry connection")}finally{I.delete(l._id)}}var te=et();Pe("keydown",Re,me);var re=z(te);Ne(re,{title:"Servers",actions:g=>{var C=Ke(),b=z(C);b.__click=()=>m(s,!e(s));var E=v(b,!0);c(b);var $=y(b,2);{var j=O=>{var w=Ie(),k=z(w);Ae(k);var U=y(k,2);U.__click=ue,R(()=>{k.disabled=e(d),U.disabled=!e(o).length||e(d)}),Me(k,()=>e(o),Y=>m(o,Y)),a(O,w)};A($,O=>{e(s)&&O(j)})}R(()=>T(E,e(s)?"Cancel":"Add Server")),a(g,C)},children:(g,C)=>{var b=Xe(),E=y(v(b)),$=v(E);{var j=w=>{var k=q(),U=z(k);Te(U,17,()=>t.data.servers,Y=>Y._id,(Y,h)=>{var J=Qe(),L=v(J),ye=v(L);V(ye,()=>e(h).details,u=>{var r=Ge(),f=v(r,!0);c(r),R(S=>T(f,S),[()=>G(e(h).name)]),a(u,r)},(u,r)=>{var f=q(),S=z(f);{var D=i=>{var n=Ue(),P=v(n),x=y(P);c(n),R(X=>{le(P,"title",e(r).error.message),T(x,` ${X??""}`)},[()=>G(e(h).name)]),a(i,n)},_=i=>{var n=Ve(),P=v(n,!0);c(n),R((x,X)=>{le(n,"href",x),T(P,X)},[()=>Fe(`/servers/${encodeURIComponent(G(e(h).name))}/databases`),()=>G(e(h).name)]),a(i,n)};A(S,i=>{"error"in e(r)&&e(r).error?i(D):i(_,!1)})}a(u,f)}),c(L);var Q=y(L),ge=v(Q);V(ge,()=>e(h).details,u=>{var r=He();a(u,r)},(u,r)=>{var f=q(),S=z(f);{var D=_=>{{let i=Ee(()=>e(r).databases.map(n=>({name:n.name,collections:n.collections,size:de(n.size)})));Ye(_,{columns:[{header:"Database",key:"name"},{header:"Collections",key:"collections"},{header:"Size",key:"size"}],get rows(){return e(i)},children:(n,P)=>{Ce();var x=ne();R(()=>T(x,e(r).databases.length)),a(n,x)},$$slots:{default:!0}})}};A(S,_=>{"databases"in e(r)&&e(r).databases&&_(D)})}a(u,f)}),c(Q);var W=y(Q),we=v(W);V(we,()=>e(h).details,u=>{var r=Je();a(u,r)},(u,r)=>{var f=q(),S=z(f);{var D=_=>{var i=ne();R(n=>T(i,n),[()=>de(e(r).size)]),a(_,i)};A(S,_=>{"size"in e(r)&&e(r).size!==void 0&&_(D)})}a(u,f)}),c(W);var ae=y(W),se=v(ae),oe=v(se);V(oe,()=>e(h).details,null,(u,r)=>{var f=q(),S=z(f);{var D=_=>{var i=Le();i.__click=()=>pe(e(h));var n=v(i,!0);c(i),R((P,x)=>{i.disabled=P,T(n,x)},[()=>I.has(e(h)._id),()=>I.has(e(h)._id)?"Retrying...":"Retry"]),a(_,i)};A(S,_=>{"error"in e(r)&&e(r).error&&_(D)})}a(u,f)});var ke=y(oe,2);ke.__click=()=>fe(e(h)),c(se),c(ae),c(J),a(Y,J)}),a(w,k)},O=w=>{var k=We();a(w,k)};A($,w=>{t.data.servers&&t.data.servers.length>0?w(j):w(O,!1)})}c(E),c(b),a(g,b)},$$slots:{actions:!0,default:!0}});var he=y(re,2);{var be=l=>{var g=Ze();g.__click=K;var C=v(g);C.__click=j=>j.stopPropagation();var b=y(v(C),2),E=v(b);E.__click=K;var $=y(E,2);$.__click=_e,c(b),c(C),c(g),a(l,g)};A(he,l=>{e(N)&&l(be)})}a(ce,te),ze()}De(["click"]);export{ct as component};
@@ -1 +0,0 @@
1
- import{f as b,a as r,c as nt,t as S}from"../chunks/BUr91kOw.js";import{p as lt,f as U,a as it,s as p,c as o,r as s,n as B,t as y,g as t,b as F,d as _,u as J}from"../chunks/BYPjaq07.js";import{d as dt,s as k}from"../chunks/BnpHJF5-.js";import{a as vt,f as H}from"../chunks/DDy-Kuac.js";import{i as M}from"../chunks/CXNtxrhs.js";import{e as ct,n as K,r as ut,s as mt}from"../chunks/Dmf2jfOR.js";import{P as ft,d as pt}from"../chunks/LkvVkcQJ.js";import{i as _t}from"../chunks/Da8SMsGA.js";import{M as bt}from"../chunks/7qKXf-oy.js";import{T as L}from"../chunks/C5cMJ08W.js";var ht=b('<button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Drop</button>'),gt=b('<tr class="group"><td><a> </a></td><td><!></td><td><!></td><td style="width: 100px"><div class="flex justify-end"><!></div></td></tr>'),yt=b('<tr><td colspan="4"><div class="text-center">No databases...</div></td></tr>'),zt=b('<table class="table"><thead><tr><th>Name</th><th>Collections</th><th>Size</th><th></th></tr></thead><tbody><!></tbody></table>'),xt=b('<button class="btn btn-default btn-sm">Cancel</button> <button class="btn btn-outline-danger btn-sm"><!></button>',1),Dt=b("<p>Are you sure you want to drop the database <strong> </strong>? This action cannot be undone.</p>"),St=b("<!> <!>",1);function Nt(Q,v){lt(v,!0);let P=F(!1),h=F(null),m=F(!1);function W(g){_(h,g,!0),_(P,!0)}function T(){_(P,!1),_(h,null),_(m,!1)}async function X(){if(!(!t(h)||t(m))){_(m,!0);try{await pt({server:v.data.server,database:t(h).name}),K.notifySuccess(`Database "${t(h).name}" dropped successfully`),T(),await _t()}catch(g){K.notifyError(g,"Failed to drop database"),_(m,!1)}}}var V=St(),Y=U(V);ft(Y,{get title(){return`Databases on ${v.data.server??""}`},children:(g,C)=>{var f=zt(),l=p(o(f)),i=o(l);{var z=c=>{var n=nt(),x=U(n);ct(x,17,()=>v.data.databases,I=>I.name,(I,e)=>{var j=gt(),A=o(j),N=o(A),tt=o(N,!0);s(N),s(A);var O=p(A),et=o(O);vt(et,()=>t(e).collections,a=>{var d=S();y(()=>k(d,t(e).nCollections)),r(a,d)},(a,d)=>{{let u=J(()=>t(d).map(D=>({name:D.name,size:H(D.size)})));L(a,{columns:[{header:"Collection",key:"name",align:"left"},{header:"Size",key:"size",align:"right"}],get rows(){return t(u)},children:(D,R)=>{B();var w=S();y(()=>k(w,t(e).nCollections)),r(D,w)},$$slots:{default:!0}})}}),s(O);var E=p(O),at=o(E);{var rt=a=>{{let d=J(()=>[{metric:"Total Size",value:t(e).size},{metric:"Data Size",value:t(e).dataSize},{metric:"Storage Size",value:t(e).storageSize},{metric:"Index Size",value:t(e).totalIndexSize},{metric:"Avg Object Size",value:t(e).avgObjSize},{metric:"Empty",value:t(e).empty?"Yes":"No"}].map(u=>({...u,value:typeof u.value=="number"?H(u.value):u.value})));L(a,{hideHeader:!0,columns:[{header:"Metric",key:"metric",align:"left"},{header:"Value",key:"value",align:"right"}],get rows(){return t(d)},children:(u,D)=>{B();var R=S();y(w=>k(R,w),[()=>H(t(e).size)]),r(u,R)},$$slots:{default:!0}})}};M(at,a=>{t(e).size!==void 0&&a(rt)})}s(E);var q=p(E),G=o(q),ot=o(G);{var st=a=>{var d=ht();d.__click=()=>W(t(e)),r(a,d)};M(ot,a=>{v.data.readOnly||a(st)})}s(G),s(q),s(j),y(a=>{mt(N,"href",a),k(tt,t(e).name)},[()=>ut(`/servers/${encodeURIComponent(v.data.server)}/databases/${encodeURIComponent(t(e).name)}/collections`)]),r(I,j)}),r(c,n)},$=c=>{var n=yt();r(c,n)};M(i,c=>{v.data.databases&&v.data.databases.length>0?c(z):c($,!1)})}s(l),s(f),r(g,f)},$$slots:{default:!0}});var Z=p(Y,2);bt(Z,{get show(){return t(P)},onclose:T,title:"Drop Database",footer:C=>{var f=xt(),l=U(f);l.__click=T;var i=p(l,2);i.__click=X;var z=o(i);{var $=n=>{var x=S("Dropping...");r(n,x)},c=n=>{var x=S("Drop Database");r(n,x)};M(z,n=>{t(m)?n($):n(c,!1)})}s(i),y(()=>{l.disabled=t(m),i.disabled=t(m)}),r(C,f)},children:(C,f)=>{var l=Dt(),i=p(o(l)),z=o(i,!0);s(i),B(),s(l),y(()=>k(z,t(h)?.name)),r(C,l)},$$slots:{footer:!0,default:!0}}),r(Q,V),it()}dt(["click"]);export{Nt as component};
@@ -1,2 +0,0 @@
1
- import{f as i,a as e,c as A,t as F}from"../chunks/BUr91kOw.js";import{p as pa,f as k,a as ba,s as p,c as n,t as D,g as a,b as K,d as g,r as l,n as Q,u as ta}from"../chunks/BYPjaq07.js";import{d as ha,s as N}from"../chunks/BnpHJF5-.js";import{a as W,b as ea,f as X}from"../chunks/DDy-Kuac.js";import{i as S}from"../chunks/CXNtxrhs.js";import{n as ra,e as ga,r as ya,s as xa}from"../chunks/Dmf2jfOR.js";import{P as za,a as ka}from"../chunks/LkvVkcQJ.js";import{i as Da}from"../chunks/Da8SMsGA.js";import{M as Sa}from"../chunks/7qKXf-oy.js";import{T as oa}from"../chunks/C5cMJ08W.js";var Ca=i('<span title="Failed to load">❌</span>'),Ia=i('<span style="color: var(--text-secondary);">...</span>'),wa=i('<span title="Failed to load">❌</span>'),Pa=i('<span style="color: var(--text-secondary);">...</span>'),Ma=i('<span title="Failed to load">❌</span>'),Ta=i('<span style="color: var(--text-secondary);">...</span>'),Fa=i('<button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Drop</button>'),Na=i('<tr class="group"><td><a> </a></td><td><!></td><td><!></td><td><!></td><td style="width: 100px"><div class="flex justify-end"><!></div></td></tr>'),ja=i('<tr><td colspan="5"><div class="text-center">No collections...</div></td></tr>'),Aa=i('<table class="table"><thead><tr><th>Name</th><th>Documents</th><th>Indexes</th><th>Size</th><th></th></tr></thead><tbody><!></tbody></table>'),Oa=i('<button class="btn btn-default btn-sm">Cancel</button> <button class="btn btn-outline-danger btn-sm"><!></button>',1),Ra=i(`<p>Are you sure you want to drop the collection <strong> </strong>? This action cannot be
2
- undone.</p>`),Ua=i("<!> <!>",1);function Wa(sa,c){pa(c,!0);let O=K(!1),y=K(null),b=K(!1);function na(x){g(y,x,!0),g(O,!0)}function R(){g(O,!1),g(y,null),g(b,!1)}async function la(){if(!(!a(y)||a(b))){g(b,!0);try{await ka({server:c.data.server,database:c.data.database,collection:a(y).name}),ra.notifySuccess(`Collection "${a(y).name}" dropped successfully`),R(),await Da()}catch(x){ra.notifyError(x,"Failed to drop collection"),g(b,!1)}}}var Y=Ua(),Z=k(Y);za(Z,{get title(){return`${c.data.database??""} collections`},children:(x,j)=>{var h=Aa(),u=p(n(h)),f=n(u);{var C=_=>{var v=A(),I=k(v);ga(I,17,()=>c.data.collections,B=>B.name,(B,z)=>{var E=Na(),H=n(E),J=n(H),da=n(J,!0);l(J),l(H);var L=p(H),va=n(L);W(va,()=>a(z).details,o=>{var t=Ia();e(o,t)},(o,t)=>{var m=A(),w=k(m);{var P=r=>{var d=F();D(s=>N(d,s),[()=>ea(a(t).count)]),e(r,d)},M=r=>{var d=Ca();e(r,d)};S(w,r=>{a(t)?r(P):r(M,!1)})}e(o,m)}),l(L);var V=p(L),ca=n(V);W(ca,()=>a(z).details,o=>{var t=Pa();e(o,t)},(o,t)=>{var m=A(),w=k(m);{var P=r=>{{let d=ta(()=>a(t).indexes.map(s=>({definition:s.key?JSON.stringify(s.key,null,1):s.name,size:X(s.size)})));oa(r,{columns:[{header:"Index",key:"definition",align:"left"},{header:"Size",key:"size",align:"right"}],get rows(){return a(d)},children:(s,ma)=>{Q();var T=F();D(G=>N(T,G),[()=>ea(a(t).nIndexes)]),e(s,T)},$$slots:{default:!0}})}},M=r=>{var d=wa();e(r,d)};S(w,r=>{a(t)?r(P):r(M,!1)})}e(o,m)}),l(V);var q=p(V),ua=n(q);W(ua,()=>a(z).details,o=>{var t=Ta();e(o,t)},(o,t)=>{var m=A(),w=k(m);{var P=r=>{{let d=ta(()=>[{label:"Average obj. size",value:a(t).avgObjSize},{label:"Data size",value:a(t).dataSize},{label:"Storage size",value:a(t).storageSize},{label:"Index size",value:a(t).totalIndexSize}].map(s=>({...s,value:typeof s.value=="number"?X(s.value):s.value})));oa(r,{hideHeader:!0,columns:[{header:"Label",key:"label",align:"left"},{header:"Value",key:"value",align:"right"}],get rows(){return a(d)},children:(s,ma)=>{Q();var T=F();D(G=>N(T,G),[()=>X(a(t).size)]),e(s,T)},$$slots:{default:!0}})}},M=r=>{var d=Ma();e(r,d)};S(w,r=>{a(t)?r(P):r(M,!1)})}e(o,m)}),l(q);var $=p(q),aa=n($),fa=n(aa);{var _a=o=>{var t=Fa();t.__click=()=>na(a(z)),e(o,t)};S(fa,o=>{c.data.readOnly||o(_a)})}l(aa),l($),l(E),D(o=>{xa(J,"href",o),N(da,a(z).name)},[()=>ya(`/servers/${encodeURIComponent(c.data.server)}/databases/${encodeURIComponent(c.data.database)}/collections/${encodeURIComponent(a(z).name)}/documents`)]),e(B,E)}),e(_,v)},U=_=>{var v=ja();e(_,v)};S(f,_=>{c.data.collections&&c.data.collections.length>0?_(C):_(U,!1)})}l(u),l(h),e(x,h)},$$slots:{default:!0}});var ia=p(Z,2);Sa(ia,{get show(){return a(O)},onclose:R,title:"Drop Collection",footer:j=>{var h=Oa(),u=k(h);u.__click=R;var f=p(u,2);f.__click=la;var C=n(f);{var U=v=>{var I=F("Dropping...");e(v,I)},_=v=>{var I=F("Drop Collection");e(v,I)};S(C,v=>{a(b)?v(U):v(_,!1)})}l(f),D(()=>{u.disabled=a(b),f.disabled=a(b)}),e(j,h)},children:(j,h)=>{var u=Ra(),f=p(n(u)),C=n(f,!0);l(f),Q(),l(u),D(()=>N(C,a(y)?.name)),e(j,u)},$$slots:{footer:!0,default:!0}}),e(sa,Y),ba()}ha(["click"]);export{Wa as component};
@@ -1,22 +0,0 @@
1
- const load = async (event) => {
2
- return {
3
- readOnly: process.env.MONGOKU_READ_ONLY_MODE === "true",
4
- serverOrigin: event.url.origin
5
- };
6
- };
7
-
8
- var _layout_server_ts = /*#__PURE__*/Object.freeze({
9
- __proto__: null,
10
- load: load
11
- });
12
-
13
- const index = 0;
14
- let component_cache;
15
- const component = async () => component_cache ??= (await import('./_layout.svelte-DAGMbkJX.js')).default;
16
- const server_id = "src/routes/+layout.server.ts";
17
- const imports = ["_app/immutable/nodes/0.CfQvam5O.js","_app/immutable/chunks/BUr91kOw.js","_app/immutable/chunks/BYPjaq07.js","_app/immutable/chunks/2G5jukcB.js","_app/immutable/chunks/B5NTIIm5.js","_app/immutable/chunks/DdLT9cdj.js","_app/immutable/chunks/Dmf2jfOR.js","_app/immutable/chunks/Da8SMsGA.js","_app/immutable/chunks/CxcplU4Q.js","_app/immutable/chunks/c-rWvg5T.js","_app/immutable/chunks/BnpHJF5-.js","_app/immutable/chunks/CXNtxrhs.js","_app/immutable/chunks/B8-w38Ky.js"];
18
- const stylesheets = ["_app/immutable/assets/0.Bg-3Xsxo.css"];
19
- const fonts = [];
20
-
21
- export { component, fonts, imports, index, _layout_server_ts as server, server_id, stylesheets };
22
- //# sourceMappingURL=0-Cc_wO2h7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"0-Cc_wO2h7.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.server.ts.js","../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["const load = async (event) => {\n return {\n readOnly: process.env.MONGOKU_READ_ONLY_MODE === \"true\",\n serverOrigin: event.url.origin\n };\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/_layout.server.ts.js';\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+layout.server.ts\";\nexport const imports = [\"_app/immutable/nodes/0.CfQvam5O.js\",\"_app/immutable/chunks/BUr91kOw.js\",\"_app/immutable/chunks/BYPjaq07.js\",\"_app/immutable/chunks/2G5jukcB.js\",\"_app/immutable/chunks/B5NTIIm5.js\",\"_app/immutable/chunks/DdLT9cdj.js\",\"_app/immutable/chunks/Dmf2jfOR.js\",\"_app/immutable/chunks/Da8SMsGA.js\",\"_app/immutable/chunks/CxcplU4Q.js\",\"_app/immutable/chunks/c-rWvg5T.js\",\"_app/immutable/chunks/BnpHJF5-.js\",\"_app/immutable/chunks/CXNtxrhs.js\",\"_app/immutable/chunks/B8-w38Ky.js\"];\nexport const stylesheets = [\"_app/immutable/assets/0.Bg-3Xsxo.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK;AAC9B,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,MAAM;AAC3D,IAAI,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC;AAC5B,GAAG;AACH,CAAC;;;;;;;ACHW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAAoC,CAAC,EAAE;AAElG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChe,MAAC,WAAW,GAAG,CAAC,sCAAsC;AACtD,MAAC,KAAK,GAAG;;;;"}