@mcp-use/inspector 20.0.0-beta.1 → 20.0.0-beta.11

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 (276) hide show
  1. package/README.md +7 -18
  2. package/dist/cdn/{AnimatePresence-B4HhIdgq.js → AnimatePresence-D1bZ5_-l.js} +80 -79
  3. package/dist/cdn/ChatTab-KJDI5ycl.js +6811 -0
  4. package/dist/cdn/{CheckboxIndicator-BF2cKfbA.js → CheckboxIndicator-BjF73mGX.js} +74 -73
  5. package/dist/cdn/ConnectionSettingsForm-CAvpobCm.js +929 -0
  6. package/dist/cdn/ConnectionSettingsTab-Nhdvdpk5.js +151 -0
  7. package/dist/cdn/{ElicitationTab-upPXq2q7.js → ElicitationTab-PEmEDvC5.js} +48 -47
  8. package/dist/cdn/{FormContext-Cl51-7O7.js → FormContext-NtUiZclE.js} +26 -26
  9. package/dist/cdn/{InspectorContext-DzXtgyTx.js → InspectorContext-BBKCdfmK.js} +2 -22
  10. package/dist/cdn/{JSONDisplay-D3RcyO9z.js → JSONDisplay-BJqMz7Ny.js} +23 -23
  11. package/dist/cdn/{ListTabHeader-8lULn-90.js → ListTabHeader-DzmTtN1e.js} +21 -20
  12. package/dist/cdn/{WidgetWrapper-D29YDxIu.js → MCPAppsDebugControls-BIiauZ_A.js} +583 -620
  13. package/dist/cdn/{ManufactOAuthCallback-DEM8mhWD.js → ManufactOAuthCallback-ChbbjFIT.js} +3 -3
  14. package/dist/cdn/MarkdownRenderer-DZuWYsja.js +3610 -0
  15. package/dist/cdn/McpAppsViewPanel-BTOKcnV3.js +56 -0
  16. package/dist/cdn/{NotificationsTab-CWopTIzT.js → NotificationsTab-B7uebqMV.js} +13 -13
  17. package/dist/cdn/{OAuthCallback-k3oeLtIC.js → OAuthCallback-CBWWNg2N.js} +3 -3
  18. package/dist/cdn/PromptsTab-DuP66kUg.js +902 -0
  19. package/dist/cdn/{ResourcesTab-KfamsM6-.js → ResourcesTab-BJxaJgKU.js} +106 -124
  20. package/dist/cdn/{SamplingTab-vcufuK24.js → SamplingTab-Bfnd-TZ-.js} +43 -42
  21. package/dist/cdn/{ServerMetadataTab-DS0eiyyD.js → ServerMetadataTab-BM3VhSLf.js} +14 -14
  22. package/dist/cdn/{StatusIcon-BGXOEU2u.js → StatusIcon-Q3n3YRtE.js} +8 -9
  23. package/dist/cdn/{ToolsTab-DRjcZnpu.js → ToolsTab-DGBRXBW-.js} +671 -693
  24. package/dist/cdn/{ViewPreview-B_onhcUB.js → ViewPreview-DPWKMeND.js} +5 -4
  25. package/dist/cdn/{WidgetDebugContext-D4usL_MA.js → WidgetDebugContext-B6yoOVVV.js} +1 -11
  26. package/dist/cdn/WidgetWrapper-BlbQAh_X.js +12 -0
  27. package/dist/cdn/{bell-CGjAO_0s.js → bell-GrTZcnD2.js} +1 -1
  28. package/dist/cdn/{browser-CbQIH4w2.js → browser-DG2Z8392.js} +1 -1
  29. package/dist/cdn/{brush-B_mKhyxG.js → brush-CelVvMGp.js} +1 -1
  30. package/dist/cdn/button-CB4uOoUV.js +2509 -0
  31. package/dist/cdn/{card-DqjqAq0o.js → card-BA-DQk-G.js} +2 -2
  32. package/dist/cdn/{checkbox-B4oUG6Rr.js → checkbox-kwVa4gRX.js} +4 -4
  33. package/dist/cdn/{clock-CmUbSx_B.js → clock-YMF8Gtw5.js} +1 -1
  34. package/dist/cdn/{code-V_0nf5rg.js → code-C8sN2OGR.js} +1 -1
  35. package/dist/cdn/{jsx-runtime-CIxvMpEo.js → createLucideIcon-BONxC1L5.js} +57 -24
  36. package/dist/cdn/{dialog-Dnl-pZsY.js → dialog-CJGnC5Ag.js} +165 -165
  37. package/dist/cdn/{dist-mRDqCgKU.js → dist-BgB6gR-d.js} +116 -114
  38. package/dist/cdn/{dist-DjXr_YO3.js → dist-CTJnCYmk.js} +1 -1
  39. package/dist/cdn/{external-link-CjmfT6rW.js → external-link-Bo4lQxr1.js} +1 -1
  40. package/dist/cdn/{eye-B7H96av8.js → eye-pSGG7nvf.js} +1 -1
  41. package/dist/cdn/{folder-open-B3lu2rG_.js → folder-open-aM8CPtBO.js} +1 -1
  42. package/dist/cdn/{hash-BVQnWi7q.js → hash-DDs2vE1k.js} +1 -1
  43. package/dist/cdn/{history-Csw4rb44.js → history-BfUFpL1d.js} +1 -1
  44. package/dist/cdn/{index-browser-CVUwR-Bu.js → index-browser-Ds41Irtb.js} +120 -201
  45. package/dist/cdn/{info-CNiOwqkf.js → info-BMkB68mB.js} +1 -1
  46. package/dist/cdn/{input-BLxOA7V-.js → input-BCpgLXU1.js} +3039 -3600
  47. package/dist/cdn/inspector.css +1 -1
  48. package/dist/cdn/inspector.js +7797 -7857
  49. package/dist/cdn/{label-CBvG613A.js → label-A0UGV8FE.js} +8 -8
  50. package/dist/cdn/{loader-circle-BLy9A_pp.js → loader-circle-BKRHJEB7.js} +1 -1
  51. package/dist/cdn/{manufact-auth-0TVxpeTA.js → manufact-auth-BQMHhbLV.js} +142 -106
  52. package/dist/cdn/{maximize-2-CH5Lq90B.js → maximize-2-DdrB_spi.js} +1 -1
  53. package/dist/cdn/{maximize-BALCV_ep.js → maximize-hSOCz133.js} +1 -1
  54. package/dist/cdn/{message-square-BnxdpJxZ.js → message-square-D3tKB3uJ.js} +1 -1
  55. package/dist/cdn/{not-found-BcNNsTjS.js → not-found-BajFyZpp.js} +4 -6
  56. package/dist/cdn/{play-vuZ5PLnI.js → play-B1leulYf.js} +1 -1
  57. package/dist/cdn/providerMeta-CjGU4rID.js +436 -0
  58. package/dist/cdn/{react-BxO-uEDZ.js → react-BtzXvzGh.js} +855 -853
  59. package/dist/cdn/{refresh-cw-BXY-Pa0U.js → refresh-cw-CyvXrS91.js} +1 -1
  60. package/dist/cdn/{save-Tgil_AJZ.js → save-CmdEPUAm.js} +1 -1
  61. package/dist/cdn/{select-BZ_IoKxg.js → select-CCFHjOGk.js} +843 -842
  62. package/dist/cdn/{servers-Dm72iTpY.js → servers-Dd0Vcp81.js} +5 -1
  63. package/dist/cdn/{shared-uMiV6Fx1.js → shared-CJVHJhag.js} +35 -35
  64. package/dist/cdn/sheet-oyq1mIyg.js +2078 -0
  65. package/dist/cdn/{sparkles-BntO2rDR.js → sparkles-CxeZpVtX.js} +1 -1
  66. package/dist/cdn/{spinner-CWcJhIY_.js → spinner-Be1GlSGX.js} +3 -3
  67. package/dist/cdn/{square-check-big-BvwQ17Bl.js → square-check-big-C_4wbfwF.js} +1 -1
  68. package/dist/cdn/{switch-DtQOLb9R.js → switch-DHXEA_N5.js} +211 -210
  69. package/dist/cdn/{tabs-subtle-C5cy35sY.js → tabs-subtle-Dubd6Kj8.js} +259 -258
  70. package/dist/cdn/{telemetry-Ct6pVkM1.js → telemetry-B6Xh2ktb.js} +38 -70
  71. package/dist/cdn/{textarea-Bj-CT7hC.js → textarea-CwmI8_uI.js} +2 -2
  72. package/dist/cdn/{trash-2-RwpJY5SL.js → trash-2-BhumJAFE.js} +1 -1
  73. package/dist/cdn/{useAriaLabelledBy-Bm9qHGK6.js → useAriaLabelledBy-Cra6w3YY.js} +2 -1
  74. package/dist/cdn/{useCompositeItem-CNJ6MXdi.js → useCompositeItem-Dhnm-7el.js} +3 -3
  75. package/dist/cdn/{useConfig-CwxZ6Quj.js → useConfig-CLBnK-B4.js} +73 -46
  76. package/dist/cdn/{useSavedRequests-Ci2I919u.js → useSavedRequests-mSIsDd4c.js} +1 -1
  77. package/dist/cdn/{useViewHostProps-Dr6W2ooF.js → useViewHostProps-DRWpI0-w.js} +124 -108
  78. package/dist/cdn/{wrench-DzGmCfnb.js → wrench-DvK20LUT.js} +1 -1
  79. package/dist/cdn/{x-C3vRQIYu.js → x-EilKPiCX.js} +1 -1
  80. package/dist/cdn/{zap-Mb-pbw2X.js → zap-0Wr9QO7N.js} +1 -1
  81. package/dist/cli.js +87 -14
  82. package/dist/client/auth/manufact-auth.d.ts +3 -1
  83. package/dist/client/auth/manufact-auth.d.ts.map +1 -1
  84. package/dist/client/components/ChatTab.d.ts +1 -8
  85. package/dist/client/components/ChatTab.d.ts.map +1 -1
  86. package/dist/client/components/MCPAppsDebugControls.d.ts.map +1 -1
  87. package/dist/client/components/ResourcesTab.d.ts.map +1 -1
  88. package/dist/client/components/ToolsTab.d.ts.map +1 -1
  89. package/dist/client/components/chat/ChatHeader.d.ts +7 -2
  90. package/dist/client/components/chat/ChatHeader.d.ts.map +1 -1
  91. package/dist/client/components/chat/ChatLandingForm.d.ts +4 -2
  92. package/dist/client/components/chat/ChatLandingForm.d.ts.map +1 -1
  93. package/dist/client/components/chat/ChatManagedNotice.d.ts +10 -0
  94. package/dist/client/components/chat/ChatManagedNotice.d.ts.map +1 -0
  95. package/dist/client/components/chat/ChatScrollTopFade.d.ts +7 -0
  96. package/dist/client/components/chat/ChatScrollTopFade.d.ts.map +1 -0
  97. package/dist/client/components/chat/ConfigurationDialog.d.ts +11 -9
  98. package/dist/client/components/chat/ConfigurationDialog.d.ts.map +1 -1
  99. package/dist/client/components/chat/ConfigureEmptyState.d.ts +1 -6
  100. package/dist/client/components/chat/ConfigureEmptyState.d.ts.map +1 -1
  101. package/dist/client/components/chat/MessageList.d.ts +1 -0
  102. package/dist/client/components/chat/MessageList.d.ts.map +1 -1
  103. package/dist/client/components/chat/StreamingAssistantContent.d.ts.map +1 -1
  104. package/dist/client/components/chat/ToolResultRenderer.d.ts.map +1 -1
  105. package/dist/client/components/chat/chatModeStorage.d.ts +11 -0
  106. package/dist/client/components/chat/chatModeStorage.d.ts.map +1 -0
  107. package/dist/client/components/chat/managedChatNotice.d.ts +16 -0
  108. package/dist/client/components/chat/managedChatNotice.d.ts.map +1 -0
  109. package/dist/client/components/chat/partialToolArgs.d.ts +10 -0
  110. package/dist/client/components/chat/partialToolArgs.d.ts.map +1 -0
  111. package/dist/client/components/chat/providerMeta.d.ts +11 -0
  112. package/dist/client/components/chat/providerMeta.d.ts.map +1 -1
  113. package/dist/client/components/chat/types.d.ts +1 -0
  114. package/dist/client/components/chat/types.d.ts.map +1 -1
  115. package/dist/client/components/chat/useChatMessages.d.ts +7 -5
  116. package/dist/client/components/chat/useChatMessages.d.ts.map +1 -1
  117. package/dist/client/components/chat/useChatMessagesClientSide.d.ts +4 -6
  118. package/dist/client/components/chat/useChatMessagesClientSide.d.ts.map +1 -1
  119. package/dist/client/components/chat/useChatScrollToBottom.d.ts +1 -0
  120. package/dist/client/components/chat/useChatScrollToBottom.d.ts.map +1 -1
  121. package/dist/client/components/chat/useConfig.d.ts +1 -1
  122. package/dist/client/components/chat/useConfig.d.ts.map +1 -1
  123. package/dist/client/components/chat/useHostedChatMode.d.ts +1 -1
  124. package/dist/client/components/chat/useHostedChatMode.d.ts.map +1 -1
  125. package/dist/client/components/mcp-apps/McpAppsViewPanel.d.ts +29 -0
  126. package/dist/client/components/mcp-apps/McpAppsViewPanel.d.ts.map +1 -0
  127. package/dist/client/components/shared/MarkdownRenderer.d.ts +2 -1
  128. package/dist/client/components/shared/MarkdownRenderer.d.ts.map +1 -1
  129. package/dist/client/components/tools/ToolExecutionPanel.d.ts.map +1 -1
  130. package/dist/client/components/tools/ToolResultDisplay.d.ts +2 -1
  131. package/dist/client/components/tools/ToolResultDisplay.d.ts.map +1 -1
  132. package/dist/client/components/tools/useToolsTabNavigation.d.ts.map +1 -1
  133. package/dist/client/components/ui/MeshGradientCanvas.d.ts +13 -0
  134. package/dist/client/components/ui/MeshGradientCanvas.d.ts.map +1 -0
  135. package/dist/client/components/ui/chat-message.d.ts +1 -1
  136. package/dist/client/components/ui/chat-message.d.ts.map +1 -1
  137. package/dist/client/components/ui/file-thumbnail.d.ts.map +1 -1
  138. package/dist/client/components/ui/mesh-animation-pause.d.ts +14 -0
  139. package/dist/client/components/ui/mesh-animation-pause.d.ts.map +1 -0
  140. package/dist/client/components/ui/mesh-gradient-colors.d.ts +6 -0
  141. package/dist/client/components/ui/mesh-gradient-colors.d.ts.map +1 -0
  142. package/dist/client/components/ui/mesh-tab-background.d.ts +3 -1
  143. package/dist/client/components/ui/mesh-tab-background.d.ts.map +1 -1
  144. package/dist/client/components/ui/not-found.d.ts.map +1 -1
  145. package/dist/client/context/InspectorContext.d.ts.map +1 -1
  146. package/dist/client/context/WidgetDebugContext.d.ts +1 -11
  147. package/dist/client/context/WidgetDebugContext.d.ts.map +1 -1
  148. package/dist/client/hooks/useDeviceViewport.d.ts +1 -5
  149. package/dist/client/hooks/useDeviceViewport.d.ts.map +1 -1
  150. package/dist/client/hooks/useViewHostProps.d.ts +1 -1
  151. package/dist/client/hooks/useViewHostProps.d.ts.map +1 -1
  152. package/dist/client/index.js +4202 -3491
  153. package/dist/client/telemetry/init.d.ts.map +1 -1
  154. package/dist/client/telemetry/utils.d.ts.map +1 -1
  155. package/dist/client/utils/servers.d.ts +5 -0
  156. package/dist/client/utils/servers.d.ts.map +1 -1
  157. package/dist/server/asset-urls.d.ts +4 -0
  158. package/dist/server/asset-urls.d.ts.map +1 -1
  159. package/dist/server/asset-urls.js +7 -3
  160. package/dist/server/cdn-shell.d.ts.map +1 -1
  161. package/dist/server/cdn-shell.js +3 -3
  162. package/dist/server/{chunk-Y2GBQOQW.js → chunk-7BTEIKSA.js} +2 -9
  163. package/dist/server/{chunk-VDUV6LR6.js → chunk-FJ7P3RIU.js} +75 -5
  164. package/dist/server/{chunk-KBVKS4J5.js → chunk-H6ZCIKBS.js} +10 -0
  165. package/dist/server/{chunk-K2V2SDQD.js → chunk-OWR2BIBW.js} +1 -1
  166. package/dist/server/{chunk-IXYK6ZOY.js → chunk-PY5HM5DW.js} +2 -2
  167. package/dist/server/{chunk-5B3SXGZP.js → chunk-UJLXHNQP.js} +1 -1
  168. package/dist/server/{chunk-6XWDZEFF.js → chunk-XCNS5CIW.js} +8 -3
  169. package/dist/server/cli.js +5 -5
  170. package/dist/server/create-dev-api-app.js +3 -3
  171. package/dist/server/dev-callback-redirect.d.ts +3 -0
  172. package/dist/server/dev-callback-redirect.d.ts.map +1 -0
  173. package/dist/server/dev-callback-redirect.js +18 -0
  174. package/dist/server/index.js +6 -6
  175. package/dist/server/middleware.js +6 -6
  176. package/dist/server/proxy/index.js +1 -1
  177. package/dist/server/proxy/mcp-proxy.d.ts +2 -0
  178. package/dist/server/proxy/mcp-proxy.d.ts.map +1 -1
  179. package/dist/server/proxy/mcp-proxy.js +3 -1
  180. package/dist/server/proxy-routes.js +2 -2
  181. package/dist/server/server.js +3 -3
  182. package/dist/server/version.js +1 -1
  183. package/dist/server/vite-dev-api-plugin.js +3 -3
  184. package/dist/web/assets/AnimatePresence-FfDQQNFJ.js +9 -0
  185. package/dist/web/assets/ChatTab-B_CvwC4L.js +18 -0
  186. package/dist/web/assets/ConnectionSettingsTab-OhY1ex8u.js +1 -0
  187. package/dist/web/assets/ElicitationTab-CwkUbGUo.js +1 -0
  188. package/dist/web/assets/FormContext-sV-yByKz.js +1 -0
  189. package/dist/web/assets/ListTabHeader-CrGae306.js +1 -0
  190. package/dist/web/assets/MCPAppsDebugControls-SlpRw9KD.js +34 -0
  191. package/dist/web/assets/{ManufactOAuthCallback-DCLbW-mz.js → ManufactOAuthCallback-DgIxvi85.js} +1 -1
  192. package/dist/web/assets/MarkdownRenderer-B_n2JuA3.js +47 -0
  193. package/dist/web/assets/McpAppsViewPanel-CR8zhRi4.js +1 -0
  194. package/dist/web/assets/{NotificationsTab-JevzvJTg.js → NotificationsTab-DeGCkKLB.js} +1 -1
  195. package/dist/web/assets/{OAuthCallback-BjcRxLh5.js → OAuthCallback-DhFgvjS_.js} +1 -1
  196. package/dist/web/assets/PromptsTab-DZVkm_vn.js +15 -0
  197. package/dist/web/assets/ResourcesTab-5mZflymU.js +2 -0
  198. package/dist/web/assets/SamplingTab-TWoyNn8-.js +1 -0
  199. package/dist/web/assets/ServerMetadataTab-DZZpijCY.js +1 -0
  200. package/dist/web/assets/ToolsTab-DEZiEf9V.js +8 -0
  201. package/dist/web/assets/ViewPreview-ymDMBa0M.js +1 -0
  202. package/dist/web/assets/WidgetWrapper-cv_BM1bY.js +1 -0
  203. package/dist/web/assets/{brush--0LobUi4.js → brush-DX0UZ_pI.js} +1 -1
  204. package/dist/web/assets/button-C8Xa2k4x.js +1 -0
  205. package/dist/web/assets/checkbox-Wgm0SaKL.js +1 -0
  206. package/dist/web/assets/code-B14rVdNt.js +1 -0
  207. package/dist/web/assets/createLucideIcon-BEHeJH0M.js +1 -0
  208. package/dist/web/assets/dist-Bl7zPiY1.js +21 -0
  209. package/dist/web/assets/index-CpswgjB5.js +499 -0
  210. package/dist/web/assets/index-bCIH1Sdx.css +1 -0
  211. package/dist/web/assets/input-C0OQCUZy.js +1 -0
  212. package/dist/web/assets/{label-B5Q_Zr8M.js → label-CI7JWQOo.js} +1 -1
  213. package/dist/web/assets/{maximize-2-BTT9QQU9.js → maximize-2-Br1WQzT2.js} +1 -1
  214. package/dist/web/assets/{maximize-_O55kFcr.js → maximize-CJNgRe6S.js} +1 -1
  215. package/dist/web/assets/{refresh-cw-C9wQl8_d.js → refresh-cw-B5iaAZKn.js} +1 -1
  216. package/dist/web/assets/{save-B-MsgxX9.js → save-TM6fvNrt.js} +1 -1
  217. package/dist/web/assets/select-D6jzbLJn.js +1 -0
  218. package/dist/web/assets/shared-BtvKT_T4.js +1 -0
  219. package/dist/web/assets/{sparkles-2OAsc1aP.js → sparkles-BGYTDThM.js} +1 -1
  220. package/dist/web/assets/tabs-subtle-C5J9sUzi.js +1 -0
  221. package/dist/web/assets/textarea-CRTXuRmE.js +1 -0
  222. package/dist/web/assets/useConfig-CZkuy4Iy.js +1 -0
  223. package/dist/web/assets/useViewHostProps-nCaYmcbd.js +1 -0
  224. package/dist/web/assets/{zap-Du2Uc5pa.js → zap-BDWHCVHU.js} +1 -1
  225. package/dist/web/index.html +10 -11
  226. package/package.json +5 -12
  227. package/dist/cdn/ChatTab-D8uwCHAf.js +0 -13218
  228. package/dist/cdn/ConnectionSettingsForm-BNS6bOMD.js +0 -873
  229. package/dist/cdn/ConnectionSettingsTab-B97gPPJW.js +0 -145
  230. package/dist/cdn/PromptsTab-Cspfnl6n.js +0 -4400
  231. package/dist/cdn/bundle-mjs-B0nmHDtp.js +0 -1953
  232. package/dist/cdn/chunk-BO2N2NFS-Cy167e0X.js +0 -17500
  233. package/dist/cdn/createLucideIcon-C5fZZ6oB.js +0 -38
  234. package/dist/cdn/highlighted-body-OFNGDK62-CoReNbTX.js +0 -36
  235. package/dist/cdn/mermaid-GHXKKRXX-DgVIbk-D.js +0 -2
  236. package/dist/cdn/pdf-CxFT9FER.js +0 -16291
  237. package/dist/cdn/popover-C_SSrXT0.js +0 -2005
  238. package/dist/cdn/sheet-CerCdhxz.js +0 -78
  239. package/dist/cdn/useHostedSession-BA39Aegc.js +0 -153
  240. package/dist/cdn/useMCPPrompts-D3_Hla_z.js +0 -104
  241. package/dist/client/components/chat/streamdown-code-slim.d.ts +0 -4
  242. package/dist/client/components/chat/streamdown-code-slim.d.ts.map +0 -1
  243. package/dist/web/assets/AnimatePresence-CthXziG2.js +0 -9
  244. package/dist/web/assets/ChatTab-Cy8eyFYI.js +0 -460
  245. package/dist/web/assets/ConnectionSettingsTab-sDZGaUJn.js +0 -1
  246. package/dist/web/assets/ElicitationTab-wDKgU1qL.js +0 -1
  247. package/dist/web/assets/FormContext-Cqc_A12u.js +0 -1
  248. package/dist/web/assets/ListTabHeader-G-nQX18m.js +0 -1
  249. package/dist/web/assets/PromptsTab-DsQVOjKH.js +0 -61
  250. package/dist/web/assets/ResourcesTab-Bw8_p6M1.js +0 -2
  251. package/dist/web/assets/SamplingTab-BrcF1zJF.js +0 -1
  252. package/dist/web/assets/ServerMetadataTab-Bydeh1Po.js +0 -1
  253. package/dist/web/assets/ToolsTab-DJWF7Q_x.js +0 -8
  254. package/dist/web/assets/ViewPreview-jgeU7bY9.js +0 -1
  255. package/dist/web/assets/WidgetWrapper-B_vJU9uF.js +0 -34
  256. package/dist/web/assets/bundle-mjs-8puS6ou7.js +0 -1
  257. package/dist/web/assets/checkbox-BA-XURSj.js +0 -1
  258. package/dist/web/assets/chunk-BO2N2NFS-CGbd3eLY.js +0 -131
  259. package/dist/web/assets/code-tME-5H6D.js +0 -1
  260. package/dist/web/assets/createLucideIcon-B3b8EU0b.js +0 -1
  261. package/dist/web/assets/dist-BcAQZluc.js +0 -21
  262. package/dist/web/assets/highlighted-body-OFNGDK62-BBJFbIMp.js +0 -1
  263. package/dist/web/assets/index-BjH-Qp85.css +0 -1
  264. package/dist/web/assets/index-D2UxaT9v.js +0 -475
  265. package/dist/web/assets/input-CjmxOFr6.js +0 -1
  266. package/dist/web/assets/jsx-runtime-Cjj9sGSy.js +0 -1
  267. package/dist/web/assets/mermaid-GHXKKRXX-B4MKVODA.js +0 -1
  268. package/dist/web/assets/pdf-CuwKm9zO.js +0 -54
  269. package/dist/web/assets/select-C0xlfLAa.js +0 -1
  270. package/dist/web/assets/shared-DQE60Op-.js +0 -1
  271. package/dist/web/assets/sheet-7TIkLdpr.js +0 -1
  272. package/dist/web/assets/tabs-subtle-AkJZvdxS.js +0 -1
  273. package/dist/web/assets/textarea-Ci09-en6.js +0 -1
  274. package/dist/web/assets/useConfig-Qglo4xs1.js +0 -1
  275. package/dist/web/assets/useMCPPrompts-USLYc1I4.js +0 -1
  276. package/dist/web/assets/useViewHostProps-DXAD1g7g.js +0 -1
@@ -1,873 +0,0 @@
1
- import { s as e, t } from "./react-BIs9pQ3H.js";
2
- import { t as n } from "./jsx-runtime-CIxvMpEo.js";
3
- import { Rr as r, sr as i, t as a } from "./input-BLxOA7V-.js";
4
- import { t as o } from "./label-CBvG613A.js";
5
- import { a as s, i as c, n as l, r as u, t as d } from "./select-BZ_IoKxg.js";
6
- import { t as f } from "./createLucideIcon-C5fZZ6oB.js";
7
- import { c as p, l as m, n as h, o as g, r as _, t as v, w as y, x as b } from "./dialog-Dnl-pZsY.js";
8
- import { i as ee, t as te } from "./browser-CbQIH4w2.js";
9
- import { n as ne, t as x } from "./eye-B7H96av8.js";
10
- import { t as S } from "./trash-2-RwpJY5SL.js";
11
- import { t as C } from "./react-BxO-uEDZ.js";
12
- import { r as w } from "./basePath-B8HuhIMu.js";
13
- import { i as T, r as E } from "./servers-Dm72iTpY.js";
14
- import { n as D } from "./dist-DjXr_YO3.js";
15
- import { a as O, i as k, n as A, r as j, t as M } from "./card-DqjqAq0o.js";
16
- var re = f("cog", [
17
- ["path", {
18
- d: "M11 10.27 7 3.34",
19
- key: "16pf9h"
20
- }],
21
- ["path", {
22
- d: "m11 13.73-4 6.93",
23
- key: "794ttg"
24
- }],
25
- ["path", {
26
- d: "M12 22v-2",
27
- key: "1osdcq"
28
- }],
29
- ["path", {
30
- d: "M12 2v2",
31
- key: "tus03m"
32
- }],
33
- ["path", {
34
- d: "M14 12h8",
35
- key: "4f43i9"
36
- }],
37
- ["path", {
38
- d: "m17 20.66-1-1.73",
39
- key: "eq3orb"
40
- }],
41
- ["path", {
42
- d: "m17 3.34-1 1.73",
43
- key: "2wel8s"
44
- }],
45
- ["path", {
46
- d: "M2 12h2",
47
- key: "1t8f8n"
48
- }],
49
- ["path", {
50
- d: "m20.66 17-1.73-1",
51
- key: "sg0v6f"
52
- }],
53
- ["path", {
54
- d: "m20.66 7-1.73 1",
55
- key: "1ow05n"
56
- }],
57
- ["path", {
58
- d: "m3.34 17 1.73-1",
59
- key: "nuk764"
60
- }],
61
- ["path", {
62
- d: "m3.34 7 1.73 1",
63
- key: "1ulond"
64
- }],
65
- ["circle", {
66
- cx: "12",
67
- cy: "12",
68
- r: "2",
69
- key: "1c9p78"
70
- }],
71
- ["circle", {
72
- cx: "12",
73
- cy: "12",
74
- r: "8",
75
- key: "46899m"
76
- }]
77
- ]), ie = f("file-text", [
78
- ["path", {
79
- d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
80
- key: "1oefj6"
81
- }],
82
- ["path", {
83
- d: "M14 2v5a1 1 0 0 0 1 1h5",
84
- key: "wfsgrz"
85
- }],
86
- ["path", {
87
- d: "M10 9H8",
88
- key: "b1mrlr"
89
- }],
90
- ["path", {
91
- d: "M16 13H8",
92
- key: "t4e002"
93
- }],
94
- ["path", {
95
- d: "M16 17H8",
96
- key: "z1uh3a"
97
- }]
98
- ]), N = /* @__PURE__ */ e(t(), 1), P = n();
99
- function F() {
100
- if (typeof window > "u") return "";
101
- let e = window.__MCP_PROXY_URL__;
102
- return e === null ? "" : `${window.location.origin}${e || w("proxy")}`;
103
- }
104
- function I(e, t, n = !1) {
105
- return e === "auto" || e === "direct" || e === "proxy" ? e : t === "Via Proxy" ? "proxy" : t === "Direct" ? "auto" : n ? "proxy" : "auto";
106
- }
107
- function L(e) {
108
- return !e || typeof e == "boolean" ? "" : e.proxyAddress?.trim() || "";
109
- }
110
- var R = [
111
- "requestTimeout",
112
- "resetTimeoutOnProgress",
113
- "maxTotalTimeout"
114
- ];
115
- function z(e) {
116
- if (!e) return {};
117
- let t = {};
118
- for (let n of R) {
119
- let r = e[n];
120
- r !== void 0 && (t[n] = r);
121
- }
122
- return t;
123
- }
124
- function B(e, t) {
125
- try {
126
- let n = localStorage.getItem("mcp-inspector-connections"), r = n ? JSON.parse(n) : {};
127
- r[e] = {
128
- ...r[e],
129
- ...t
130
- }, localStorage.setItem("mcp-inspector-connections", JSON.stringify(r));
131
- } catch {}
132
- }
133
- function V(e, t, n) {
134
- let r = e.trim(), i = t.trim(), a = n.trim();
135
- if (!(!r && !a)) return {
136
- ...r ? { clientId: r } : {},
137
- ...r && i ? { clientSecret: i } : {},
138
- ...a ? { scope: a } : {}
139
- };
140
- }
141
- function H(e) {
142
- let t = e.headers || e.proxyConfig?.headers || e.proxyConfig?.customHeaders;
143
- return t && Object.keys(t).length > 0 ? t : void 0;
144
- }
145
- function U(e) {
146
- let t = e.proxyConfig, n = e.headers || e.customHeaders, r = t?.headers || t?.customHeaders || void 0, i = n || r, a = t ? {
147
- ...t,
148
- ...r ? { headers: r } : {},
149
- customHeaders: void 0
150
- } : void 0, { customHeaders: o, connectionType: s, transportType: c, ...l } = e;
151
- return {
152
- ...l,
153
- ...i && !a?.proxyAddress ? { headers: i } : {},
154
- ...a ? { proxyConfig: a } : {},
155
- connectionMode: I(e.connectionMode, e.connectionType, !!a?.proxyAddress)
156
- };
157
- }
158
- function W(e) {
159
- let t = q(e), n = e.proxyConfig?.proxyAddress?.trim() || L(e.autoProxyFallback), r = I(e.connectionMode, e.connectionType, !!n), i = {
160
- url: e.url,
161
- displayName: e.name?.trim() || e.url,
162
- connectionMode: r,
163
- ...e.oauth ? { oauth: e.oauth } : {}
164
- };
165
- return r === "proxy" && n ? i.proxyConfig = {
166
- proxyAddress: n,
167
- ...Object.keys(t).length > 0 ? { headers: t } : {}
168
- } : Object.keys(t).length > 0 && (i.headers = t), r === "auto" && (i.autoProxyFallback = e.autoProxyFallback ?? (n ? {
169
- enabled: !0,
170
- proxyAddress: n
171
- } : !1)), i;
172
- }
173
- function G(e, t) {
174
- let n = t ? U(t) : e, r = H(e) || {}, i = n.proxyConfig?.proxyAddress?.trim() || L(n.autoProxyFallback);
175
- return {
176
- url: e.url || "",
177
- name: e.displayName || e.url || "",
178
- transportType: "http",
179
- connectionMode: I(n.connectionMode, void 0, !!i),
180
- connectionType: n.connectionMode === "proxy" ? "Via Proxy" : "Direct",
181
- proxyConfig: n.connectionMode === "proxy" && i ? {
182
- proxyAddress: i,
183
- ...Object.keys(r).length > 0 ? { headers: r } : {}
184
- } : void 0,
185
- headers: r,
186
- oauth: n.oauth,
187
- autoProxyFallback: n.autoProxyFallback,
188
- ...z(t)
189
- };
190
- }
191
- function K(e) {
192
- try {
193
- let t = localStorage.getItem("mcp-inspector-connections");
194
- return t && JSON.parse(t)[e] || null;
195
- } catch {
196
- return null;
197
- }
198
- }
199
- function q(e) {
200
- let t = e.proxyConfig?.headers || e.proxyConfig?.customHeaders || e.headers || e.customHeaders || {};
201
- return Object.fromEntries(Object.entries(t).filter(([e, t]) => e && t).map(([e, t]) => [e, String(t)]).sort(([e], [t]) => e.localeCompare(t)));
202
- }
203
- function J(e) {
204
- let t = e.url?.trim() || "", n = e.proxyConfig?.proxyAddress?.trim() || L(e.autoProxyFallback);
205
- return {
206
- url: t,
207
- name: e.name?.trim() || t,
208
- transportType: e.transportType || "http",
209
- proxyAddress: n,
210
- connectionMode: I(e.connectionMode, e.connectionType, !!n),
211
- headers: q(e),
212
- oauthClientId: e.oauth?.clientId?.trim() || "",
213
- oauthClientSecret: e.oauth?.clientSecret?.trim() || "",
214
- oauthScope: e.oauth?.scope?.trim() || "",
215
- requestTimeout: "requestTimeout" in e ? e.requestTimeout : void 0,
216
- resetTimeoutOnProgress: "resetTimeoutOnProgress" in e ? e.resetTimeoutOnProgress : void 0,
217
- maxTotalTimeout: "maxTotalTimeout" in e ? e.maxTotalTimeout : void 0
218
- };
219
- }
220
- function ae(e, t) {
221
- let n = J(e), r = J(t);
222
- return n.url === r.url && n.transportType === r.transportType && n.proxyAddress === r.proxyAddress && n.connectionMode === r.connectionMode && JSON.stringify(n.headers) === JSON.stringify(r.headers) && n.oauthClientId === r.oauthClientId && n.oauthClientSecret === r.oauthClientSecret && n.oauthScope === r.oauthScope && n.requestTimeout === r.requestTimeout && n.resetTimeoutOnProgress === r.resetTimeoutOnProgress && n.maxTotalTimeout === r.maxTotalTimeout && n.name !== r.name;
223
- }
224
- var oe = class extends C {
225
- setServers(e) {
226
- let t = this.readRawStoredServers(), n = Object.fromEntries(Object.entries(e).map(([e, n]) => [e, {
227
- ...z(t[e]),
228
- ...n,
229
- ...E(e) && typeof n.url == "string" && T(n.url) ? { url: e } : {}
230
- }]));
231
- super.setServers(n);
232
- }
233
- setServer(e, t) {
234
- let n = this.getServers();
235
- n[e] = {
236
- ...z(this.readRawStoredServers()[e]),
237
- ...t
238
- }, this.setServers(n);
239
- }
240
- readRawStoredServers() {
241
- try {
242
- let e = localStorage.getItem("mcp-inspector-connections");
243
- return e ? JSON.parse(e) : {};
244
- } catch {
245
- return {};
246
- }
247
- }
248
- };
249
- //#endregion
250
- //#region src/client/components/CustomHeadersEditor.tsx
251
- function se({ headers: e, onChange: t, onSave: n, className: s, title: c = "Custom Headers", description: l = "Headers with both name and value will be sent", maxHeaders: u = 50 }) {
252
- let [d, f] = (0, N.useState)({}), [p, m] = (0, N.useState)(null), h = (0, N.useRef)({});
253
- (0, N.useEffect)(() => {
254
- p && h.current[p] && (h.current[p]?.focus(), m(null));
255
- }, [p, e]);
256
- let g = () => Math.random().toString(36).slice(2, 11), _ = () => {
257
- if (e.length >= u) return;
258
- let n = {
259
- id: g(),
260
- name: "",
261
- value: ""
262
- };
263
- t([...e, n]);
264
- }, v = (n) => {
265
- t(e.filter((e) => e.id !== n));
266
- }, b = (n, r, i) => {
267
- t(e.map((e) => e.id === n ? {
268
- ...e,
269
- [r]: i
270
- } : e));
271
- }, ee = (e) => {
272
- f((t) => ({
273
- ...t,
274
- [e]: !t[e]
275
- }));
276
- };
277
- return /* @__PURE__ */ (0, P.jsxs)("div", {
278
- className: r("space-y-3", s),
279
- children: [
280
- /* @__PURE__ */ (0, P.jsxs)("div", {
281
- className: "space-y-2",
282
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
283
- className: "text-base font-medium",
284
- children: c
285
- }), /* @__PURE__ */ (0, P.jsx)("p", {
286
- className: "text-sm text-muted-foreground",
287
- children: l
288
- })]
289
- }),
290
- /* @__PURE__ */ (0, P.jsxs)("div", {
291
- className: "space-y-2",
292
- children: [
293
- /* @__PURE__ */ (0, P.jsxs)("div", {
294
- className: "grid grid-cols-[1fr_1fr] gap-4 text-sm font-medium text-muted-foreground",
295
- children: [/* @__PURE__ */ (0, P.jsx)("div", { children: "Name" }), /* @__PURE__ */ (0, P.jsx)("div", { children: "Value" })]
296
- }),
297
- e.length === 0 ? /* @__PURE__ */ (0, P.jsxs)("div", {
298
- className: "grid grid-cols-[1fr_1fr] gap-4 items-center",
299
- children: [/* @__PURE__ */ (0, P.jsx)(a, {
300
- placeholder: "Authorization",
301
- value: "",
302
- onChange: (e) => {
303
- if (e.target.value.trim()) {
304
- let n = g();
305
- t([{
306
- id: n,
307
- name: e.target.value,
308
- value: ""
309
- }]), m(n);
310
- }
311
- },
312
- className: "text-sm",
313
- autoComplete: "off"
314
- }), /* @__PURE__ */ (0, P.jsxs)("div", {
315
- className: "flex items-center gap-2",
316
- children: [
317
- /* @__PURE__ */ (0, P.jsx)(a, {
318
- placeholder: "Bearer token...",
319
- value: "",
320
- onChange: () => {},
321
- type: "password",
322
- className: "font-mono text-sm",
323
- autoComplete: "off",
324
- disabled: !0
325
- }),
326
- /* @__PURE__ */ (0, P.jsx)(i, {
327
- type: "button",
328
- variant: "ghost",
329
- size: "icon-sm",
330
- className: "h-8 w-8 p-0",
331
- disabled: !0,
332
- children: /* @__PURE__ */ (0, P.jsx)(x, { className: "h-4 w-4" })
333
- }),
334
- /* @__PURE__ */ (0, P.jsx)(i, {
335
- type: "button",
336
- variant: "ghost",
337
- size: "icon-sm",
338
- className: "h-8 w-8 p-0",
339
- disabled: !0,
340
- children: /* @__PURE__ */ (0, P.jsx)(S, { className: "h-4 w-4" })
341
- })
342
- ]
343
- })]
344
- }) : e.map((e) => /* @__PURE__ */ (0, P.jsxs)("div", {
345
- className: "grid grid-cols-[1fr_1fr] gap-4 items-center",
346
- children: [/* @__PURE__ */ (0, P.jsx)(a, {
347
- ref: (t) => {
348
- h.current[e.id] = t;
349
- },
350
- placeholder: "Authorization",
351
- value: e.name,
352
- onChange: (t) => b(e.id, "name", t.target.value),
353
- className: "text-sm",
354
- autoComplete: "off"
355
- }), /* @__PURE__ */ (0, P.jsxs)("div", {
356
- className: "flex items-center gap-2",
357
- children: [
358
- /* @__PURE__ */ (0, P.jsx)(a, {
359
- placeholder: "",
360
- value: e.value,
361
- onChange: (t) => b(e.id, "value", t.target.value),
362
- type: d[e.id] ? "text" : "password",
363
- className: "font-mono text-sm",
364
- autoComplete: "off"
365
- }),
366
- /* @__PURE__ */ (0, P.jsx)(i, {
367
- type: "button",
368
- variant: "ghost",
369
- size: "icon-sm",
370
- onClick: () => ee(e.id),
371
- className: "h-8 w-8 p-0",
372
- children: d[e.id] ? /* @__PURE__ */ (0, P.jsx)(ne, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, P.jsx)(x, { className: "h-4 w-4" })
373
- }),
374
- /* @__PURE__ */ (0, P.jsx)(i, {
375
- type: "button",
376
- variant: "ghost",
377
- size: "icon-sm",
378
- onClick: () => v(e.id),
379
- className: "h-8 w-8 p-0",
380
- children: /* @__PURE__ */ (0, P.jsx)(S, { className: "h-4 w-4" })
381
- })
382
- ]
383
- })]
384
- }, e.id)),
385
- /* @__PURE__ */ (0, P.jsx)("div", {
386
- className: "flex justify-start mt-4",
387
- children: /* @__PURE__ */ (0, P.jsxs)(i, {
388
- type: "button",
389
- variant: "outline",
390
- size: "sm",
391
- onClick: _,
392
- disabled: e.length >= u,
393
- className: "flex items-center gap-2",
394
- children: [/* @__PURE__ */ (0, P.jsx)(y, { className: "h-4 w-4" }), "Add"]
395
- })
396
- })
397
- ]
398
- }),
399
- n && /* @__PURE__ */ (0, P.jsx)("div", {
400
- className: "flex justify-end",
401
- children: /* @__PURE__ */ (0, P.jsx)(i, {
402
- type: "button",
403
- onClick: n,
404
- className: "bg-black text-white hover:bg-gray-800",
405
- children: "Save"
406
- })
407
- })
408
- ]
409
- });
410
- }
411
- //#endregion
412
- //#region src/client/components/ConnectionSettingsForm.tsx
413
- function ce({ alias: e, setAlias: t, url: n, setUrl: f, connectionMode: y, setConnectionMode: ne, customHeaders: x, setCustomHeaders: S, requestTimeout: C, setRequestTimeout: w, resetTimeoutOnProgress: T, setResetTimeoutOnProgress: E, maxTotalTimeout: F, setMaxTotalTimeout: L, proxyAddress: R, setProxyAddress: z, clientId: B, setClientId: V, clientSecret: H, setClientSecret: U, scope: W, setScope: G, onConnect: K, onSave: q, onCancel: J, variant: ae = "default", showConnectButton: oe = !1, showSaveButton: ce = !1, showExportButton: le = !1, isConnecting: ue = !1, inlineSections: Y = !1, cardSections: X = !1 }) {
414
- let [de, fe] = (0, N.useState)(!1), [pe, me] = (0, N.useState)(!1), [he, ge] = (0, N.useState)(!1), Z = (0, N.useRef)(!1), _e = async () => {
415
- if (!n.trim()) {
416
- D.error("Please enter a URL first");
417
- return;
418
- }
419
- let t = {
420
- url: n,
421
- ...e.trim() ? { name: e.trim() } : {},
422
- transportType: "http",
423
- connectionMode: y,
424
- connectionType: y === "proxy" ? "Via Proxy" : "Direct",
425
- proxyConfig: y === "proxy" && R.trim() ? {
426
- proxyAddress: R.trim(),
427
- customHeaders: x.reduce((e, t) => (t.name && t.value && (e[t.name] = t.value), e), {})
428
- } : void 0,
429
- autoProxyFallback: y === "auto" && R.trim() ? {
430
- enabled: !0,
431
- proxyAddress: R.trim()
432
- } : void 0,
433
- customHeaders: x.reduce((e, t) => (t.name && t.value && (e[t.name] = t.value), e), {}),
434
- requestTimeout: Number.parseInt(C, 10),
435
- resetTimeoutOnProgress: T === "True",
436
- maxTotalTimeout: Number.parseInt(F, 10),
437
- oauth: B || W ? {
438
- clientId: B,
439
- ...B && H ? { clientSecret: H } : {},
440
- scope: W
441
- } : void 0
442
- };
443
- try {
444
- await te(JSON.stringify(t, null, 2)), D.success("Configuration copied to clipboard");
445
- } catch {
446
- D.error("Failed to copy configuration to clipboard");
447
- }
448
- }, Q = ae === "styled", ve = Q ? "bg-white/10 border-white/20 text-white placeholder:text-white/50" : "", ye = Q ? "text-white/90" : "", $ = Q ? "bg-white/10 border-white/20 text-white hover:bg-white/20" : "", be = async (e) => {
449
- let n = e.clipboardData.getData("text");
450
- try {
451
- let r = JSON.parse(n);
452
- if (r.url && typeof r.url == "string") {
453
- e.preventDefault(), f(r.url), t(typeof r.name == "string" && r.name !== r.url ? r.name : "");
454
- let n = r.proxyConfig?.proxyAddress || (typeof r.autoProxyFallback == "object" ? r.autoProxyFallback.proxyAddress : void 0);
455
- ne(I(r.connectionMode, r.connectionType, !!n)), n && z(n);
456
- let i = r.proxyConfig?.customHeaders || r.proxyConfig?.headers || r.customHeaders || r.headers || {};
457
- Object.keys(i).length > 0 && S(Object.entries(i).map(([e, t], n) => ({
458
- id: `header-${n}`,
459
- name: e,
460
- value: String(t)
461
- }))), r.requestTimeout && w(String(r.requestTimeout)), r.resetTimeoutOnProgress !== void 0 && E(r.resetTimeoutOnProgress ? "True" : "False"), r.maxTotalTimeout && L(String(r.maxTotalTimeout)), r.oauth && (V(r.oauth.clientId || ""), U(r.oauth.clientSecret || ""), G(r.oauth.scope || "")), D.success("Configuration pasted and form populated");
462
- }
463
- } catch {}
464
- }, xe = (e) => {
465
- Z.current || e.nativeEvent.isComposing || e.keyCode === 229 || e.key === "Enter" && !e.shiftKey && !e.metaKey && !e.ctrlKey && e.target.tagName !== "TEXTAREA" && (e.preventDefault(), K && n.trim() && K());
466
- }, Se = /* @__PURE__ */ (0, P.jsxs)("div", {
467
- className: "grid gap-4 sm:grid-cols-2",
468
- children: [
469
- !X && /* @__PURE__ */ (0, P.jsx)("h4", {
470
- className: "text-sm font-medium sm:col-span-2",
471
- children: "OAuth 2.0"
472
- }),
473
- /* @__PURE__ */ (0, P.jsxs)("div", {
474
- className: "space-y-2",
475
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
476
- className: "text-sm",
477
- children: "Client ID"
478
- }), /* @__PURE__ */ (0, P.jsx)(a, {
479
- "data-testid": "auth-dialog-client-id-input",
480
- placeholder: "Client ID",
481
- value: B,
482
- onChange: (e) => V(e.target.value)
483
- })]
484
- }),
485
- /* @__PURE__ */ (0, P.jsxs)("div", {
486
- className: "space-y-2",
487
- children: [
488
- /* @__PURE__ */ (0, P.jsx)(o, {
489
- className: "text-sm",
490
- children: "Client Secret"
491
- }),
492
- /* @__PURE__ */ (0, P.jsx)(a, {
493
- "data-testid": "auth-dialog-client-secret-input",
494
- type: "password",
495
- placeholder: "Client Secret (optional)",
496
- value: H,
497
- onChange: (e) => U(e.target.value)
498
- }),
499
- /* @__PURE__ */ (0, P.jsx)("p", {
500
- className: "text-xs text-muted-foreground",
501
- children: "Stored in your browser's localStorage."
502
- })
503
- ]
504
- }),
505
- /* @__PURE__ */ (0, P.jsxs)("div", {
506
- className: "space-y-2 sm:col-span-2",
507
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
508
- className: "text-sm",
509
- children: "Scope"
510
- }), /* @__PURE__ */ (0, P.jsx)(a, {
511
- "data-testid": "auth-dialog-scope-input",
512
- placeholder: "Scope (space-separated)",
513
- value: W,
514
- onChange: (e) => G(e.target.value)
515
- })]
516
- })
517
- ]
518
- }), Ce = /* @__PURE__ */ (0, P.jsx)(se, {
519
- title: /* @__PURE__ */ (0, P.jsx)(P.Fragment, {}),
520
- headers: x,
521
- onChange: S
522
- }), we = /* @__PURE__ */ (0, P.jsxs)("div", {
523
- className: "grid gap-4 sm:grid-cols-2",
524
- children: [
525
- /* @__PURE__ */ (0, P.jsxs)("div", {
526
- className: "space-y-2",
527
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
528
- className: "text-sm",
529
- children: "Connection Mode"
530
- }), /* @__PURE__ */ (0, P.jsxs)(d, {
531
- value: y,
532
- onValueChange: (e) => ne(e),
533
- children: [/* @__PURE__ */ (0, P.jsx)(c, {
534
- className: "w-full",
535
- "data-testid": "config-dialog-connection-mode-select",
536
- children: /* @__PURE__ */ (0, P.jsx)(s, {})
537
- }), /* @__PURE__ */ (0, P.jsxs)(l, { children: [
538
- /* @__PURE__ */ (0, P.jsx)(u, {
539
- value: "auto",
540
- children: "Auto"
541
- }),
542
- /* @__PURE__ */ (0, P.jsx)(u, {
543
- value: "direct",
544
- children: "Direct"
545
- }),
546
- /* @__PURE__ */ (0, P.jsx)(u, {
547
- value: "proxy",
548
- children: "Proxy"
549
- })
550
- ] })]
551
- })]
552
- }),
553
- /* @__PURE__ */ (0, P.jsxs)("div", {
554
- className: "space-y-2",
555
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
556
- className: "text-sm",
557
- children: "Proxy Endpoint"
558
- }), /* @__PURE__ */ (0, P.jsx)(a, {
559
- "data-testid": "config-dialog-proxy-address-input",
560
- value: R,
561
- onChange: (e) => z(e.target.value)
562
- })]
563
- }),
564
- /* @__PURE__ */ (0, P.jsxs)("div", {
565
- className: "space-y-2",
566
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
567
- className: "text-sm",
568
- children: "Request Timeout"
569
- }), /* @__PURE__ */ (0, P.jsx)(a, {
570
- "data-testid": "config-dialog-request-timeout-input",
571
- type: "number",
572
- value: C,
573
- onChange: (e) => w(e.target.value)
574
- })]
575
- }),
576
- /* @__PURE__ */ (0, P.jsxs)("div", {
577
- className: "space-y-2",
578
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
579
- className: "text-sm",
580
- children: "Maximum Total Timeout"
581
- }), /* @__PURE__ */ (0, P.jsx)(a, {
582
- "data-testid": "config-dialog-max-timeout-input",
583
- type: "number",
584
- value: F,
585
- onChange: (e) => L(e.target.value)
586
- })]
587
- }),
588
- /* @__PURE__ */ (0, P.jsxs)("div", {
589
- className: "space-y-2",
590
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
591
- className: "text-sm",
592
- children: "Reset Timeout on Progress"
593
- }), /* @__PURE__ */ (0, P.jsxs)(d, {
594
- value: T,
595
- onValueChange: E,
596
- children: [/* @__PURE__ */ (0, P.jsx)(c, {
597
- className: "w-full",
598
- "data-testid": "config-dialog-reset-timeout-select",
599
- children: /* @__PURE__ */ (0, P.jsx)(s, {})
600
- }), /* @__PURE__ */ (0, P.jsxs)(l, { children: [/* @__PURE__ */ (0, P.jsx)(u, {
601
- value: "True",
602
- children: "True"
603
- }), /* @__PURE__ */ (0, P.jsx)(u, {
604
- value: "False",
605
- children: "False"
606
- })] })]
607
- })]
608
- })
609
- ]
610
- }), Te = /* @__PURE__ */ (0, P.jsxs)("div", {
611
- className: Y || X ? "grid gap-4 sm:grid-cols-2" : "space-y-4",
612
- children: [/* @__PURE__ */ (0, P.jsxs)("div", {
613
- className: "space-y-2",
614
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
615
- className: ye,
616
- children: "Alias"
617
- }), /* @__PURE__ */ (0, P.jsx)(a, {
618
- "data-testid": "connection-form-alias-input",
619
- placeholder: "Optional server alias",
620
- value: e,
621
- onChange: (e) => t(e.target.value),
622
- className: ve
623
- })]
624
- }), /* @__PURE__ */ (0, P.jsxs)("div", {
625
- className: "space-y-2",
626
- children: [
627
- /* @__PURE__ */ (0, P.jsx)(o, {
628
- className: ye,
629
- children: "URL"
630
- }),
631
- /* @__PURE__ */ (0, P.jsx)(a, {
632
- "data-testid": "connection-form-url-input",
633
- placeholder: "http://localhost:3000",
634
- value: n,
635
- onChange: (e) => f(e.target.value),
636
- onPaste: be,
637
- className: ve
638
- }),
639
- /* @__PURE__ */ (0, P.jsx)("p", {
640
- className: r("text-xs text-muted-foreground", Q ? "text-white/60" : ""),
641
- children: "Tip: You can paste a copied connection config (JSON) to auto-populate the form"
642
- })
643
- ]
644
- })]
645
- }), Ee = {
646
- onCompositionStart: () => {
647
- Z.current = !0;
648
- },
649
- onCompositionEnd: () => {
650
- Z.current = !1;
651
- },
652
- onKeyDown: xe
653
- }, De = le ? /* @__PURE__ */ (0, P.jsxs)(i, {
654
- "data-testid": "connection-form-copy-config-button",
655
- variant: "ghost",
656
- onClick: _e,
657
- className: r(Q ? "absolute top-0 right-0 z-10 text-white hover:bg-white/20 dark:hover:bg-white/20" : "w-full", !Q && "mb-2"),
658
- children: [/* @__PURE__ */ (0, P.jsx)(ee, { className: "mr-2 h-4 w-4" }), "Copy Config"]
659
- }) : null;
660
- return Y && X ? /* @__PURE__ */ (0, P.jsxs)("div", {
661
- className: "relative space-y-6 @container",
662
- ...Ee,
663
- children: [
664
- De,
665
- /* @__PURE__ */ (0, P.jsxs)(M, {
666
- className: "border",
667
- children: [/* @__PURE__ */ (0, P.jsxs)(k, { children: [/* @__PURE__ */ (0, P.jsx)(O, {
668
- className: "text-base font-medium",
669
- children: "Endpoint"
670
- }), /* @__PURE__ */ (0, P.jsx)(j, { children: "MCP server URL and display alias" })] }), /* @__PURE__ */ (0, P.jsx)(A, {
671
- className: "pt-0",
672
- children: Te
673
- })]
674
- }),
675
- /* @__PURE__ */ (0, P.jsxs)(M, {
676
- className: "border",
677
- children: [/* @__PURE__ */ (0, P.jsxs)(k, { children: [/* @__PURE__ */ (0, P.jsx)(O, {
678
- className: "text-base font-medium",
679
- children: "Authentication"
680
- }), /* @__PURE__ */ (0, P.jsx)(j, { children: "OAuth 2.0 client credentials" })] }), /* @__PURE__ */ (0, P.jsx)(A, {
681
- className: "pt-0",
682
- children: Se
683
- })]
684
- }),
685
- /* @__PURE__ */ (0, P.jsxs)(M, {
686
- className: "border",
687
- children: [/* @__PURE__ */ (0, P.jsxs)(k, { children: [/* @__PURE__ */ (0, P.jsx)(O, {
688
- className: "text-base font-medium",
689
- children: "Custom Headers"
690
- }), /* @__PURE__ */ (0, P.jsx)(j, { children: "Extra HTTP headers sent with MCP requests" })] }), /* @__PURE__ */ (0, P.jsx)(A, {
691
- className: "pt-0",
692
- children: Ce
693
- })]
694
- }),
695
- /* @__PURE__ */ (0, P.jsxs)(M, {
696
- className: "border",
697
- children: [/* @__PURE__ */ (0, P.jsxs)(k, { children: [/* @__PURE__ */ (0, P.jsx)(O, {
698
- className: "text-base font-medium",
699
- children: "Configuration"
700
- }), /* @__PURE__ */ (0, P.jsx)(j, { children: "Connection mode, proxy, and request timeouts" })] }), /* @__PURE__ */ (0, P.jsx)(A, {
701
- className: "pt-0",
702
- children: we
703
- })]
704
- })
705
- ]
706
- }) : /* @__PURE__ */ (0, P.jsxs)("div", {
707
- className: "relative space-y-4 @container",
708
- ...Ee,
709
- children: [
710
- !Y && /* @__PURE__ */ (0, P.jsx)("h3", {
711
- className: "mb-4 text-xl font-semibold text-white",
712
- children: "Connect"
713
- }),
714
- De,
715
- Te,
716
- Y && !X && /* @__PURE__ */ (0, P.jsxs)("div", {
717
- className: "space-y-8 pt-2",
718
- children: [
719
- /* @__PURE__ */ (0, P.jsxs)("section", {
720
- className: "space-y-4",
721
- children: [/* @__PURE__ */ (0, P.jsx)("h3", {
722
- className: "text-xs font-medium uppercase tracking-wide text-muted-foreground",
723
- children: "Authentication"
724
- }), Se]
725
- }),
726
- /* @__PURE__ */ (0, P.jsxs)("section", {
727
- className: "space-y-4",
728
- children: [/* @__PURE__ */ (0, P.jsx)("h3", {
729
- className: "text-xs font-medium uppercase tracking-wide text-muted-foreground",
730
- children: "Custom Headers"
731
- }), Ce]
732
- }),
733
- /* @__PURE__ */ (0, P.jsxs)("section", {
734
- className: "space-y-4",
735
- children: [/* @__PURE__ */ (0, P.jsx)("h3", {
736
- className: "text-xs font-medium uppercase tracking-wide text-muted-foreground",
737
- children: "Configuration"
738
- }), we]
739
- })
740
- ]
741
- }),
742
- !Y && /* @__PURE__ */ (0, P.jsxs)("div", {
743
- className: "flex flex-row gap-3 @lg:flex-col",
744
- children: [
745
- /* @__PURE__ */ (0, P.jsxs)(v, {
746
- open: pe,
747
- onOpenChange: me,
748
- children: [/* @__PURE__ */ (0, P.jsx)(m, {
749
- render: /* @__PURE__ */ (0, P.jsx)("div", {
750
- className: "relative flex-1 ",
751
- children: /* @__PURE__ */ (0, P.jsxs)(i, {
752
- "data-testid": "connection-form-auth-button",
753
- variant: "outline",
754
- className: r((B || H || W) && "border-2", "w-full justify-center hover:text-white cursor-pointer", $),
755
- children: [/* @__PURE__ */ (0, P.jsx)(b, { className: "w-4 h-4 mr-0" }), "Authentication"]
756
- })
757
- }),
758
- nativeButton: !1
759
- }), /* @__PURE__ */ (0, P.jsxs)(_, {
760
- scrollable: !0,
761
- className: "w-[calc(100vw-2rem)] sm:w-full max-w-2xl max-h-[80vh]",
762
- children: [/* @__PURE__ */ (0, P.jsx)(g, { children: /* @__PURE__ */ (0, P.jsx)(p, { children: "Authentication" }) }), /* @__PURE__ */ (0, P.jsxs)(h, {
763
- className: "space-y-4",
764
- children: [Se, /* @__PURE__ */ (0, P.jsx)("div", {
765
- className: "flex justify-end",
766
- children: /* @__PURE__ */ (0, P.jsx)(i, {
767
- onClick: () => me(!1),
768
- children: "Save"
769
- })
770
- })]
771
- })]
772
- })]
773
- }),
774
- /* @__PURE__ */ (0, P.jsxs)(v, {
775
- open: de,
776
- onOpenChange: fe,
777
- children: [/* @__PURE__ */ (0, P.jsx)(m, {
778
- render: /* @__PURE__ */ (0, P.jsx)("div", {
779
- className: "relative flex-1 ",
780
- children: /* @__PURE__ */ (0, P.jsxs)(i, {
781
- "data-testid": "connection-form-headers-button",
782
- variant: "outline",
783
- className: r("w-full justify-center hover:text-white cursor-pointer", $),
784
- children: [/* @__PURE__ */ (0, P.jsx)(ie, { className: "w-4 h-4" }), "Custom Headers"]
785
- })
786
- }),
787
- nativeButton: !1
788
- }), /* @__PURE__ */ (0, P.jsxs)(_, {
789
- scrollable: !0,
790
- className: "w-full max-w-2xl max-h-[80vh]",
791
- children: [/* @__PURE__ */ (0, P.jsx)(g, { children: /* @__PURE__ */ (0, P.jsx)(p, { children: "Custom Headers" }) }), /* @__PURE__ */ (0, P.jsx)(h, { children: /* @__PURE__ */ (0, P.jsx)(se, {
792
- title: /* @__PURE__ */ (0, P.jsx)(P.Fragment, {}),
793
- headers: x,
794
- onChange: S,
795
- onSave: () => fe(!1)
796
- }) })]
797
- })]
798
- }),
799
- /* @__PURE__ */ (0, P.jsxs)(v, {
800
- open: he,
801
- onOpenChange: ge,
802
- children: [/* @__PURE__ */ (0, P.jsx)(m, {
803
- render: /* @__PURE__ */ (0, P.jsxs)(i, {
804
- "data-testid": "connection-form-config-button",
805
- variant: "outline",
806
- className: r("flex-1 justify-center hover:text-white cursor-pointer", $),
807
- children: [/* @__PURE__ */ (0, P.jsx)(re, { className: "w-4 h-4" }), "Configuration"]
808
- }),
809
- nativeButton: !0
810
- }), /* @__PURE__ */ (0, P.jsxs)(_, {
811
- scrollable: !0,
812
- className: "w-full max-w-2xl max-h-[80vh]",
813
- children: [/* @__PURE__ */ (0, P.jsx)(g, { children: /* @__PURE__ */ (0, P.jsx)(p, { children: "Configuration" }) }), /* @__PURE__ */ (0, P.jsxs)(h, {
814
- className: "space-y-4",
815
- children: [we, /* @__PURE__ */ (0, P.jsx)("div", {
816
- className: "flex justify-end",
817
- children: /* @__PURE__ */ (0, P.jsx)(i, {
818
- onClick: () => ge(!1),
819
- children: "Save"
820
- })
821
- })]
822
- })]
823
- })]
824
- })
825
- ]
826
- }),
827
- oe && /* @__PURE__ */ (0, P.jsx)(i, {
828
- "data-testid": "connection-form-connect-button",
829
- onClick: K,
830
- disabled: !n.trim() || ue,
831
- size: Q ? "lg" : void 0,
832
- className: r("w-full font-semibold", Q ? "rounded-full text-black [&_[aria-hidden]]:bg-white hover:[&_[aria-hidden]]:bg-white/90 group-active:[&_[aria-hidden]]:bg-white/80" : ""),
833
- children: ue ? /* @__PURE__ */ (0, P.jsxs)(P.Fragment, { children: [/* @__PURE__ */ (0, P.jsx)("svg", {
834
- className: "w-4 h-4 mr-2 animate-spin",
835
- fill: "none",
836
- stroke: "currentColor",
837
- viewBox: "0 0 24 24",
838
- children: /* @__PURE__ */ (0, P.jsx)("path", {
839
- strokeLinecap: "round",
840
- strokeLinejoin: "round",
841
- strokeWidth: 2,
842
- d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"
843
- })
844
- }), "Connecting..."] }) : /* @__PURE__ */ (0, P.jsxs)(P.Fragment, { children: [/* @__PURE__ */ (0, P.jsx)("svg", {
845
- className: "w-4 h-4 mr-2",
846
- fill: "none",
847
- stroke: "currentColor",
848
- viewBox: "0 0 24 24",
849
- children: /* @__PURE__ */ (0, P.jsx)("path", {
850
- strokeLinecap: "round",
851
- strokeLinejoin: "round",
852
- strokeWidth: 2,
853
- d: "M13 10V3L4 14h7v7l9-11h-7z"
854
- })
855
- }), "Connect"] })
856
- }),
857
- ce && /* @__PURE__ */ (0, P.jsxs)("div", {
858
- className: "flex justify-end gap-2",
859
- children: [J && /* @__PURE__ */ (0, P.jsx)(i, {
860
- variant: "outline",
861
- onClick: J,
862
- children: "Cancel"
863
- }), /* @__PURE__ */ (0, P.jsx)(i, {
864
- "data-testid": "connection-form-save-button",
865
- onClick: q,
866
- children: "Save Connection Options"
867
- })]
868
- })
869
- ]
870
- });
871
- }
872
- //#endregion
873
- export { H as a, I as c, W as d, ie as f, F as i, B as l, oe as n, K as o, V as r, ae as s, ce as t, G as u };