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

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 (196) hide show
  1. package/README.md +5 -0
  2. package/dist/cdn/{AnimatePresence-B4HhIdgq.js → AnimatePresence-Dcw-FOy8.js} +50 -50
  3. package/dist/cdn/ChatTab-BS5Tlm2y.js +6744 -0
  4. package/dist/cdn/{CheckboxIndicator-BF2cKfbA.js → CheckboxIndicator-Bt4IICtv.js} +77 -77
  5. package/dist/cdn/{ConnectionSettingsForm-BNS6bOMD.js → ConnectionSettingsForm-BFsZpwK4.js} +348 -292
  6. package/dist/cdn/ConnectionSettingsTab-DDk06dhT.js +150 -0
  7. package/dist/cdn/{ElicitationTab-upPXq2q7.js → ElicitationTab-CL1KJ0bz.js} +39 -39
  8. package/dist/cdn/{FormContext-Cl51-7O7.js → FormContext-tmgN_Vdr.js} +1 -1
  9. package/dist/cdn/{InspectorContext-DzXtgyTx.js → InspectorContext-UjtEbNod.js} +1 -21
  10. package/dist/cdn/{JSONDisplay-D3RcyO9z.js → JSONDisplay-BFxf5oEu.js} +18 -18
  11. package/dist/cdn/{ListTabHeader-8lULn-90.js → ListTabHeader-Cv-GmtGF.js} +19 -19
  12. package/dist/cdn/{ManufactOAuthCallback-DEM8mhWD.js → ManufactOAuthCallback-B98kSYCj.js} +1 -1
  13. package/dist/cdn/MarkdownRenderer-_aYcof42.js +3610 -0
  14. package/dist/cdn/{NotificationsTab-CWopTIzT.js → NotificationsTab-CeImSrhx.js} +13 -13
  15. package/dist/cdn/{OAuthCallback-k3oeLtIC.js → OAuthCallback-C4n2hqKU.js} +1 -1
  16. package/dist/cdn/PromptsTab-BajHFLa3.js +901 -0
  17. package/dist/cdn/{ResourcesTab-KfamsM6-.js → ResourcesTab-BgeMlTdR.js} +35 -55
  18. package/dist/cdn/{SamplingTab-vcufuK24.js → SamplingTab-CnJB229N.js} +35 -35
  19. package/dist/cdn/{ServerMetadataTab-DS0eiyyD.js → ServerMetadataTab-CvrKX8fz.js} +12 -12
  20. package/dist/cdn/{StatusIcon-BGXOEU2u.js → StatusIcon-D0-ARyOh.js} +6 -6
  21. package/dist/cdn/{ToolsTab-DRjcZnpu.js → ToolsTab-ACLxPxR6.js} +103 -137
  22. package/dist/cdn/{ViewPreview-B_onhcUB.js → ViewPreview-DsPwZAwO.js} +2 -2
  23. package/dist/cdn/{WidgetWrapper-D29YDxIu.js → WidgetWrapper-CwlpDv17.js} +529 -530
  24. package/dist/cdn/card-DgiYnSg-.js +41 -0
  25. package/dist/cdn/{checkbox-B4oUG6Rr.js → checkbox-By0FklhG.js} +6 -6
  26. package/dist/cdn/{dialog-Dnl-pZsY.js → dialog-BsDpuJd3.js} +151 -151
  27. package/dist/cdn/{dist-mRDqCgKU.js → dist-B0eL32Gb.js} +114 -113
  28. package/dist/cdn/{dist-DjXr_YO3.js → dist-DaMB0Su9.js} +1 -1
  29. package/dist/cdn/{index-browser-CVUwR-Bu.js → index-browser-QDjRGsPo.js} +1 -1
  30. package/dist/cdn/{input-BLxOA7V-.js → input-C2OBd4PJ.js} +4787 -2842
  31. package/dist/cdn/inspector.css +1 -1
  32. package/dist/cdn/inspector.js +7419 -7445
  33. package/dist/cdn/{label-CBvG613A.js → label-B9Jmm9be.js} +10 -10
  34. package/dist/cdn/{manufact-auth-0TVxpeTA.js → manufact-auth-BQMHhbLV.js} +142 -106
  35. package/dist/cdn/{not-found-BcNNsTjS.js → not-found-DEtSM_Wd.js} +7 -7
  36. package/dist/cdn/providerMeta-BQIfHuNL.js +379 -0
  37. package/dist/cdn/{react-BxO-uEDZ.js → react-Dn8PWXwP.js} +1 -1
  38. package/dist/cdn/{select-BZ_IoKxg.js → select-DDdiIPR2.js} +726 -726
  39. package/dist/cdn/{shared-uMiV6Fx1.js → shared-DaILIQPP.js} +29 -29
  40. package/dist/cdn/{popover-C_SSrXT0.js → sheet-Br_l2kry.js} +694 -622
  41. package/dist/cdn/{spinner-CWcJhIY_.js → spinner-jQtC7EBj.js} +5 -5
  42. package/dist/cdn/{switch-DtQOLb9R.js → switch-C3IyQuid.js} +104 -104
  43. package/dist/cdn/{tabs-subtle-C5cy35sY.js → tabs-subtle-CkdI6Mac.js} +147 -147
  44. package/dist/cdn/{telemetry-Ct6pVkM1.js → telemetry-gHF-tMli.js} +3 -3
  45. package/dist/cdn/{textarea-Bj-CT7hC.js → textarea-DSbwcFVt.js} +6 -6
  46. package/dist/cdn/{useAriaLabelledBy-Bm9qHGK6.js → useAriaLabelledBy-DqAdnppm.js} +1 -1
  47. package/dist/cdn/{useCompositeItem-CNJ6MXdi.js → useCompositeItem-BRqEzYh-.js} +2 -2
  48. package/dist/cdn/{useConfig-CwxZ6Quj.js → useConfig-BWcNCqwi.js} +73 -46
  49. package/dist/cdn/{useViewHostProps-Dr6W2ooF.js → useViewHostProps-DIIlz3tJ.js} +1 -1
  50. package/dist/cli.js +27 -13
  51. package/dist/client/auth/manufact-auth.d.ts +3 -1
  52. package/dist/client/auth/manufact-auth.d.ts.map +1 -1
  53. package/dist/client/components/ChatTab.d.ts +1 -8
  54. package/dist/client/components/ChatTab.d.ts.map +1 -1
  55. package/dist/client/components/ResourcesTab.d.ts.map +1 -1
  56. package/dist/client/components/chat/ChatHeader.d.ts +7 -2
  57. package/dist/client/components/chat/ChatHeader.d.ts.map +1 -1
  58. package/dist/client/components/chat/ChatLandingForm.d.ts +4 -2
  59. package/dist/client/components/chat/ChatLandingForm.d.ts.map +1 -1
  60. package/dist/client/components/chat/ChatManagedNotice.d.ts +10 -0
  61. package/dist/client/components/chat/ChatManagedNotice.d.ts.map +1 -0
  62. package/dist/client/components/chat/ChatScrollTopFade.d.ts +7 -0
  63. package/dist/client/components/chat/ChatScrollTopFade.d.ts.map +1 -0
  64. package/dist/client/components/chat/ConfigurationDialog.d.ts +11 -9
  65. package/dist/client/components/chat/ConfigurationDialog.d.ts.map +1 -1
  66. package/dist/client/components/chat/ConfigureEmptyState.d.ts +1 -6
  67. package/dist/client/components/chat/ConfigureEmptyState.d.ts.map +1 -1
  68. package/dist/client/components/chat/StreamingAssistantContent.d.ts.map +1 -1
  69. package/dist/client/components/chat/chatModeStorage.d.ts +11 -0
  70. package/dist/client/components/chat/chatModeStorage.d.ts.map +1 -0
  71. package/dist/client/components/chat/managedChatNotice.d.ts +16 -0
  72. package/dist/client/components/chat/managedChatNotice.d.ts.map +1 -0
  73. package/dist/client/components/chat/providerMeta.d.ts +11 -0
  74. package/dist/client/components/chat/providerMeta.d.ts.map +1 -1
  75. package/dist/client/components/chat/useChatMessages.d.ts +7 -5
  76. package/dist/client/components/chat/useChatMessages.d.ts.map +1 -1
  77. package/dist/client/components/chat/useChatMessagesClientSide.d.ts +4 -6
  78. package/dist/client/components/chat/useChatMessagesClientSide.d.ts.map +1 -1
  79. package/dist/client/components/chat/useChatScrollToBottom.d.ts +1 -0
  80. package/dist/client/components/chat/useChatScrollToBottom.d.ts.map +1 -1
  81. package/dist/client/components/chat/useConfig.d.ts +1 -1
  82. package/dist/client/components/chat/useConfig.d.ts.map +1 -1
  83. package/dist/client/components/chat/useHostedChatMode.d.ts +1 -1
  84. package/dist/client/components/chat/useHostedChatMode.d.ts.map +1 -1
  85. package/dist/client/components/shared/MarkdownRenderer.d.ts +2 -1
  86. package/dist/client/components/shared/MarkdownRenderer.d.ts.map +1 -1
  87. package/dist/client/components/tools/useToolsTabNavigation.d.ts.map +1 -1
  88. package/dist/client/components/ui/MeshGradientCanvas.d.ts +13 -0
  89. package/dist/client/components/ui/MeshGradientCanvas.d.ts.map +1 -0
  90. package/dist/client/components/ui/chat-message.d.ts +1 -1
  91. package/dist/client/components/ui/chat-message.d.ts.map +1 -1
  92. package/dist/client/components/ui/file-thumbnail.d.ts.map +1 -1
  93. package/dist/client/components/ui/mesh-tab-background.d.ts +3 -1
  94. package/dist/client/components/ui/mesh-tab-background.d.ts.map +1 -1
  95. package/dist/client/context/InspectorContext.d.ts.map +1 -1
  96. package/dist/client/index.js +2577 -2165
  97. package/dist/client/telemetry/utils.d.ts.map +1 -1
  98. package/dist/server/asset-urls.d.ts +4 -0
  99. package/dist/server/asset-urls.d.ts.map +1 -1
  100. package/dist/server/asset-urls.js +7 -3
  101. package/dist/server/cdn-shell.d.ts.map +1 -1
  102. package/dist/server/cdn-shell.js +3 -3
  103. package/dist/server/{chunk-KBVKS4J5.js → chunk-H6ZCIKBS.js} +10 -0
  104. package/dist/server/{chunk-Y2GBQOQW.js → chunk-H7UBATRR.js} +2 -9
  105. package/dist/server/{chunk-VDUV6LR6.js → chunk-HGPQON3P.js} +15 -4
  106. package/dist/server/{chunk-K2V2SDQD.js → chunk-OWR2BIBW.js} +1 -1
  107. package/dist/server/{chunk-5B3SXGZP.js → chunk-UJLXHNQP.js} +1 -1
  108. package/dist/server/{chunk-IXYK6ZOY.js → chunk-W3PVQLOP.js} +2 -2
  109. package/dist/server/{chunk-6XWDZEFF.js → chunk-XCNS5CIW.js} +8 -3
  110. package/dist/server/cli.js +5 -5
  111. package/dist/server/create-dev-api-app.js +3 -3
  112. package/dist/server/dev-callback-redirect.d.ts +3 -0
  113. package/dist/server/dev-callback-redirect.d.ts.map +1 -0
  114. package/dist/server/dev-callback-redirect.js +18 -0
  115. package/dist/server/index.js +6 -6
  116. package/dist/server/middleware.js +6 -6
  117. package/dist/server/proxy/index.js +1 -1
  118. package/dist/server/proxy/mcp-proxy.d.ts +2 -0
  119. package/dist/server/proxy/mcp-proxy.d.ts.map +1 -1
  120. package/dist/server/proxy/mcp-proxy.js +3 -1
  121. package/dist/server/proxy-routes.js +2 -2
  122. package/dist/server/server.js +3 -3
  123. package/dist/server/version.js +1 -1
  124. package/dist/server/vite-dev-api-plugin.js +3 -3
  125. package/dist/web/assets/{AnimatePresence-CthXziG2.js → AnimatePresence-C5p0yiY1.js} +2 -2
  126. package/dist/web/assets/ChatTab-C2FtENBM.js +18 -0
  127. package/dist/web/assets/ConnectionSettingsTab-B2sUjytG.js +1 -0
  128. package/dist/web/assets/ElicitationTab-DwH08kDC.js +1 -0
  129. package/dist/web/assets/{FormContext-Cqc_A12u.js → FormContext-DH2caWKO.js} +1 -1
  130. package/dist/web/assets/ListTabHeader-R17w_JsB.js +1 -0
  131. package/dist/web/assets/{ManufactOAuthCallback-DCLbW-mz.js → ManufactOAuthCallback-Btu4B6u6.js} +1 -1
  132. package/dist/web/assets/MarkdownRenderer-DpIEt9wb.js +47 -0
  133. package/dist/web/assets/{NotificationsTab-JevzvJTg.js → NotificationsTab-CHB8mtSz.js} +1 -1
  134. package/dist/web/assets/{OAuthCallback-BjcRxLh5.js → OAuthCallback-DV4MgX4Z.js} +1 -1
  135. package/dist/web/assets/PromptsTab-0GIapoSs.js +15 -0
  136. package/dist/web/assets/ResourcesTab-N9xjsI_b.js +2 -0
  137. package/dist/web/assets/SamplingTab-Dw0vpi4t.js +1 -0
  138. package/dist/web/assets/ServerMetadataTab-D-eQpLBF.js +1 -0
  139. package/dist/web/assets/ToolsTab-BMrMJ5JV.js +8 -0
  140. package/dist/web/assets/ViewPreview-N_cpEO0W.js +1 -0
  141. package/dist/web/assets/WidgetWrapper-pDgNVq9y.js +34 -0
  142. package/dist/web/assets/checkbox-CrnXSMh2.js +1 -0
  143. package/dist/web/assets/dist-CeWSydFI.js +21 -0
  144. package/dist/web/assets/index-Cfuv_gb3.js +475 -0
  145. package/dist/web/assets/index-fBX3akc8.css +1 -0
  146. package/dist/web/assets/input-CLYhA7PK.js +1 -0
  147. package/dist/web/assets/{label-B5Q_Zr8M.js → label-Cdim77Jw.js} +1 -1
  148. package/dist/web/assets/select-CJ57-Bor.js +1 -0
  149. package/dist/web/assets/shared-B1GD9FMm.js +1 -0
  150. package/dist/web/assets/{tabs-subtle-AkJZvdxS.js → tabs-subtle-CG5cjC_N.js} +1 -1
  151. package/dist/web/assets/textarea-DLAmNVf_.js +1 -0
  152. package/dist/web/assets/useConfig-BTp15Lle.js +1 -0
  153. package/dist/web/assets/{useViewHostProps-DXAD1g7g.js → useViewHostProps-BQlaFC2Q.js} +1 -1
  154. package/dist/web/index.html +8 -9
  155. package/package.json +5 -12
  156. package/dist/cdn/ChatTab-D8uwCHAf.js +0 -13218
  157. package/dist/cdn/ConnectionSettingsTab-B97gPPJW.js +0 -145
  158. package/dist/cdn/PromptsTab-Cspfnl6n.js +0 -4400
  159. package/dist/cdn/bundle-mjs-B0nmHDtp.js +0 -1953
  160. package/dist/cdn/card-DqjqAq0o.js +0 -41
  161. package/dist/cdn/chunk-BO2N2NFS-Cy167e0X.js +0 -17500
  162. package/dist/cdn/highlighted-body-OFNGDK62-CoReNbTX.js +0 -36
  163. package/dist/cdn/mermaid-GHXKKRXX-DgVIbk-D.js +0 -2
  164. package/dist/cdn/pdf-CxFT9FER.js +0 -16291
  165. package/dist/cdn/sheet-CerCdhxz.js +0 -78
  166. package/dist/cdn/useHostedSession-BA39Aegc.js +0 -153
  167. package/dist/cdn/useMCPPrompts-D3_Hla_z.js +0 -104
  168. package/dist/client/components/chat/streamdown-code-slim.d.ts +0 -4
  169. package/dist/client/components/chat/streamdown-code-slim.d.ts.map +0 -1
  170. package/dist/web/assets/ChatTab-Cy8eyFYI.js +0 -460
  171. package/dist/web/assets/ConnectionSettingsTab-sDZGaUJn.js +0 -1
  172. package/dist/web/assets/ElicitationTab-wDKgU1qL.js +0 -1
  173. package/dist/web/assets/ListTabHeader-G-nQX18m.js +0 -1
  174. package/dist/web/assets/PromptsTab-DsQVOjKH.js +0 -61
  175. package/dist/web/assets/ResourcesTab-Bw8_p6M1.js +0 -2
  176. package/dist/web/assets/SamplingTab-BrcF1zJF.js +0 -1
  177. package/dist/web/assets/ServerMetadataTab-Bydeh1Po.js +0 -1
  178. package/dist/web/assets/ToolsTab-DJWF7Q_x.js +0 -8
  179. package/dist/web/assets/ViewPreview-jgeU7bY9.js +0 -1
  180. package/dist/web/assets/WidgetWrapper-B_vJU9uF.js +0 -34
  181. package/dist/web/assets/bundle-mjs-8puS6ou7.js +0 -1
  182. package/dist/web/assets/checkbox-BA-XURSj.js +0 -1
  183. package/dist/web/assets/chunk-BO2N2NFS-CGbd3eLY.js +0 -131
  184. package/dist/web/assets/dist-BcAQZluc.js +0 -21
  185. package/dist/web/assets/highlighted-body-OFNGDK62-BBJFbIMp.js +0 -1
  186. package/dist/web/assets/index-BjH-Qp85.css +0 -1
  187. package/dist/web/assets/index-D2UxaT9v.js +0 -475
  188. package/dist/web/assets/input-CjmxOFr6.js +0 -1
  189. package/dist/web/assets/mermaid-GHXKKRXX-B4MKVODA.js +0 -1
  190. package/dist/web/assets/pdf-CuwKm9zO.js +0 -54
  191. package/dist/web/assets/select-C0xlfLAa.js +0 -1
  192. package/dist/web/assets/shared-DQE60Op-.js +0 -1
  193. package/dist/web/assets/sheet-7TIkLdpr.js +0 -1
  194. package/dist/web/assets/textarea-Ci09-en6.js +0 -1
  195. package/dist/web/assets/useConfig-Qglo4xs1.js +0 -1
  196. package/dist/web/assets/useMCPPrompts-USLYc1I4.js +0 -1
@@ -1,19 +1,19 @@
1
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";
2
+ import { Rr as n, sr as r, t as i } from "./input-C2OBd4PJ.js";
3
+ import { t as a } from "./jsx-runtime-CIxvMpEo.js";
4
+ import { t as o } from "./label-B9Jmm9be.js";
5
+ import { a as s, i as c, n as l, r as u, t as d } from "./select-DDdiIPR2.js";
6
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";
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-BsDpuJd3.js";
8
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", [
9
+ import { n as x, t as S } from "./eye-B7H96av8.js";
10
+ import { t as C } from "./trash-2-RwpJY5SL.js";
11
+ import { t as w } from "./react-Dn8PWXwP.js";
12
+ import { r as T } from "./basePath-B8HuhIMu.js";
13
+ import { i as E, r as D } from "./servers-Dm72iTpY.js";
14
+ import { n as O } from "./dist-DaMB0Su9.js";
15
+ import { a as k, i as A, n as j, r as M, t as N } from "./card-DgiYnSg-.js";
16
+ var ne = f("cog", [
17
17
  ["path", {
18
18
  d: "M11 10.27 7 3.34",
19
19
  key: "16pf9h"
@@ -74,7 +74,7 @@ var re = f("cog", [
74
74
  r: "8",
75
75
  key: "46899m"
76
76
  }]
77
- ]), ie = f("file-text", [
77
+ ]), re = f("file-text", [
78
78
  ["path", {
79
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
80
  key: "1oefj6"
@@ -95,33 +95,43 @@ var re = f("cog", [
95
95
  d: "M16 17H8",
96
96
  key: "z1uh3a"
97
97
  }]
98
- ]), N = /* @__PURE__ */ e(t(), 1), P = n();
99
- function F() {
98
+ ]), P = /* @__PURE__ */ e(t(), 1), F = a(), I = "2026-07-28";
99
+ function ie(e) {
100
+ switch (e) {
101
+ case "v1": return "legacy";
102
+ case "v2": return { pin: I };
103
+ default: return "auto";
104
+ }
105
+ }
106
+ function ae(e) {
107
+ return e === "legacy" ? "v1" : typeof e == "object" && e?.pin ? "v2" : "auto";
108
+ }
109
+ function oe() {
100
110
  if (typeof window > "u") return "";
101
111
  let e = window.__MCP_PROXY_URL__;
102
- return e === null ? "" : `${window.location.origin}${e || w("proxy")}`;
112
+ return e === null ? "" : `${window.location.origin}${e || T("proxy")}`;
103
113
  }
104
- function I(e, t, n = !1) {
114
+ function L(e, t, n = !1) {
105
115
  return e === "auto" || e === "direct" || e === "proxy" ? e : t === "Via Proxy" ? "proxy" : t === "Direct" ? "auto" : n ? "proxy" : "auto";
106
116
  }
107
- function L(e) {
117
+ function R(e) {
108
118
  return !e || typeof e == "boolean" ? "" : e.proxyAddress?.trim() || "";
109
119
  }
110
- var R = [
120
+ var z = [
111
121
  "requestTimeout",
112
122
  "resetTimeoutOnProgress",
113
123
  "maxTotalTimeout"
114
124
  ];
115
- function z(e) {
125
+ function B(e) {
116
126
  if (!e) return {};
117
127
  let t = {};
118
- for (let n of R) {
128
+ for (let n of z) {
119
129
  let r = e[n];
120
130
  r !== void 0 && (t[n] = r);
121
131
  }
122
132
  return t;
123
133
  }
124
- function B(e, t) {
134
+ function V(e, t) {
125
135
  try {
126
136
  let n = localStorage.getItem("mcp-inspector-connections"), r = n ? JSON.parse(n) : {};
127
137
  r[e] = {
@@ -130,7 +140,7 @@ function B(e, t) {
130
140
  }, localStorage.setItem("mcp-inspector-connections", JSON.stringify(r));
131
141
  } catch {}
132
142
  }
133
- function V(e, t, n) {
143
+ function H(e, t, n) {
134
144
  let r = e.trim(), i = t.trim(), a = n.trim();
135
145
  if (!(!r && !a)) return {
136
146
  ...r ? { clientId: r } : {},
@@ -138,11 +148,11 @@ function V(e, t, n) {
138
148
  ...a ? { scope: a } : {}
139
149
  };
140
150
  }
141
- function H(e) {
151
+ function U(e) {
142
152
  let t = e.headers || e.proxyConfig?.headers || e.proxyConfig?.customHeaders;
143
153
  return t && Object.keys(t).length > 0 ? t : void 0;
144
154
  }
145
- function U(e) {
155
+ function W(e) {
146
156
  let t = e.proxyConfig, n = e.headers || e.customHeaders, r = t?.headers || t?.customHeaders || void 0, i = n || r, a = t ? {
147
157
  ...t,
148
158
  ...r ? { headers: r } : {},
@@ -152,14 +162,15 @@ function U(e) {
152
162
  ...l,
153
163
  ...i && !a?.proxyAddress ? { headers: i } : {},
154
164
  ...a ? { proxyConfig: a } : {},
155
- connectionMode: I(e.connectionMode, e.connectionType, !!a?.proxyAddress)
165
+ connectionMode: L(e.connectionMode, e.connectionType, !!a?.proxyAddress)
156
166
  };
157
167
  }
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 = {
168
+ function G(e) {
169
+ let t = J(e), n = e.proxyConfig?.proxyAddress?.trim() || R(e.autoProxyFallback), r = L(e.connectionMode, e.connectionType, !!n), i = {
160
170
  url: e.url,
161
171
  displayName: e.name?.trim() || e.url,
162
172
  connectionMode: r,
173
+ protocolNegotiation: e.protocolNegotiation ?? "auto",
163
174
  ...e.oauth ? { oauth: e.oauth } : {}
164
175
  };
165
176
  return r === "proxy" && n ? i.proxyConfig = {
@@ -170,13 +181,13 @@ function W(e) {
170
181
  proxyAddress: n
171
182
  } : !1)), i;
172
183
  }
173
- function G(e, t) {
174
- let n = t ? U(t) : e, r = H(e) || {}, i = n.proxyConfig?.proxyAddress?.trim() || L(n.autoProxyFallback);
184
+ function K(e, t) {
185
+ let n = t ? W(t) : e, r = U(e) || {}, i = n.proxyConfig?.proxyAddress?.trim() || R(n.autoProxyFallback);
175
186
  return {
176
187
  url: e.url || "",
177
188
  name: e.displayName || e.url || "",
178
189
  transportType: "http",
179
- connectionMode: I(n.connectionMode, void 0, !!i),
190
+ connectionMode: L(n.connectionMode, void 0, !!i),
180
191
  connectionType: n.connectionMode === "proxy" ? "Via Proxy" : "Direct",
181
192
  proxyConfig: n.connectionMode === "proxy" && i ? {
182
193
  proxyAddress: i,
@@ -185,10 +196,11 @@ function G(e, t) {
185
196
  headers: r,
186
197
  oauth: n.oauth,
187
198
  autoProxyFallback: n.autoProxyFallback,
188
- ...z(t)
199
+ protocolNegotiation: n.protocolNegotiation ?? "auto",
200
+ ...B(t)
189
201
  };
190
202
  }
191
- function K(e) {
203
+ function q(e) {
192
204
  try {
193
205
  let t = localStorage.getItem("mcp-inspector-connections");
194
206
  return t && JSON.parse(t)[e] || null;
@@ -196,44 +208,45 @@ function K(e) {
196
208
  return null;
197
209
  }
198
210
  }
199
- function q(e) {
211
+ function J(e) {
200
212
  let t = e.proxyConfig?.headers || e.proxyConfig?.customHeaders || e.headers || e.customHeaders || {};
201
213
  return Object.fromEntries(Object.entries(t).filter(([e, t]) => e && t).map(([e, t]) => [e, String(t)]).sort(([e], [t]) => e.localeCompare(t)));
202
214
  }
203
- function J(e) {
204
- let t = e.url?.trim() || "", n = e.proxyConfig?.proxyAddress?.trim() || L(e.autoProxyFallback);
215
+ function Y(e) {
216
+ let t = e.url?.trim() || "", n = e.proxyConfig?.proxyAddress?.trim() || R(e.autoProxyFallback);
205
217
  return {
206
218
  url: t,
207
219
  name: e.name?.trim() || t,
208
220
  transportType: e.transportType || "http",
209
221
  proxyAddress: n,
210
- connectionMode: I(e.connectionMode, e.connectionType, !!n),
211
- headers: q(e),
222
+ connectionMode: L(e.connectionMode, e.connectionType, !!n),
223
+ headers: J(e),
212
224
  oauthClientId: e.oauth?.clientId?.trim() || "",
213
225
  oauthClientSecret: e.oauth?.clientSecret?.trim() || "",
214
226
  oauthScope: e.oauth?.scope?.trim() || "",
215
227
  requestTimeout: "requestTimeout" in e ? e.requestTimeout : void 0,
216
228
  resetTimeoutOnProgress: "resetTimeoutOnProgress" in e ? e.resetTimeoutOnProgress : void 0,
217
- maxTotalTimeout: "maxTotalTimeout" in e ? e.maxTotalTimeout : void 0
229
+ maxTotalTimeout: "maxTotalTimeout" in e ? e.maxTotalTimeout : void 0,
230
+ protocolMode: ae(e.protocolNegotiation)
218
231
  };
219
232
  }
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;
233
+ function X(e, t) {
234
+ let n = Y(e), r = Y(t);
235
+ 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.protocolMode === r.protocolMode && n.name !== r.name;
223
236
  }
224
- var oe = class extends C {
237
+ var se = class extends w {
225
238
  setServers(e) {
226
239
  let t = this.readRawStoredServers(), n = Object.fromEntries(Object.entries(e).map(([e, n]) => [e, {
227
- ...z(t[e]),
240
+ ...B(t[e]),
228
241
  ...n,
229
- ...E(e) && typeof n.url == "string" && T(n.url) ? { url: e } : {}
242
+ ...D(e) && typeof n.url == "string" && E(n.url) ? { url: e } : {}
230
243
  }]));
231
244
  super.setServers(n);
232
245
  }
233
246
  setServer(e, t) {
234
247
  let n = this.getServers();
235
248
  n[e] = {
236
- ...z(this.readRawStoredServers()[e]),
249
+ ...B(this.readRawStoredServers()[e]),
237
250
  ...t
238
251
  }, this.setServers(n);
239
252
  }
@@ -248,9 +261,9 @@ var oe = class extends C {
248
261
  };
249
262
  //#endregion
250
263
  //#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)(() => {
264
+ function ce({ headers: e, onChange: t, onSave: a, className: s, title: c = "Custom Headers", description: l = "Headers with both name and value will be sent", maxHeaders: u = 50 }) {
265
+ let [d, f] = (0, P.useState)({}), [p, m] = (0, P.useState)(null), h = (0, P.useRef)({});
266
+ (0, P.useEffect)(() => {
254
267
  p && h.current[p] && (h.current[p]?.focus(), m(null));
255
268
  }, [p, e]);
256
269
  let g = () => Math.random().toString(36).slice(2, 11), _ = () => {
@@ -274,29 +287,29 @@ function se({ headers: e, onChange: t, onSave: n, className: s, title: c = "Cust
274
287
  [e]: !t[e]
275
288
  }));
276
289
  };
277
- return /* @__PURE__ */ (0, P.jsxs)("div", {
278
- className: r("space-y-3", s),
290
+ return /* @__PURE__ */ (0, F.jsxs)("div", {
291
+ className: n("space-y-3", s),
279
292
  children: [
280
- /* @__PURE__ */ (0, P.jsxs)("div", {
293
+ /* @__PURE__ */ (0, F.jsxs)("div", {
281
294
  className: "space-y-2",
282
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
295
+ children: [/* @__PURE__ */ (0, F.jsx)(o, {
283
296
  className: "text-base font-medium",
284
297
  children: c
285
- }), /* @__PURE__ */ (0, P.jsx)("p", {
298
+ }), /* @__PURE__ */ (0, F.jsx)("p", {
286
299
  className: "text-sm text-muted-foreground",
287
300
  children: l
288
301
  })]
289
302
  }),
290
- /* @__PURE__ */ (0, P.jsxs)("div", {
303
+ /* @__PURE__ */ (0, F.jsxs)("div", {
291
304
  className: "space-y-2",
292
305
  children: [
293
- /* @__PURE__ */ (0, P.jsxs)("div", {
306
+ /* @__PURE__ */ (0, F.jsxs)("div", {
294
307
  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" })]
308
+ children: [/* @__PURE__ */ (0, F.jsx)("div", { children: "Name" }), /* @__PURE__ */ (0, F.jsx)("div", { children: "Value" })]
296
309
  }),
297
- e.length === 0 ? /* @__PURE__ */ (0, P.jsxs)("div", {
310
+ e.length === 0 ? /* @__PURE__ */ (0, F.jsxs)("div", {
298
311
  className: "grid grid-cols-[1fr_1fr] gap-4 items-center",
299
- children: [/* @__PURE__ */ (0, P.jsx)(a, {
312
+ children: [/* @__PURE__ */ (0, F.jsx)(i, {
300
313
  placeholder: "Authorization",
301
314
  value: "",
302
315
  onChange: (e) => {
@@ -311,10 +324,10 @@ function se({ headers: e, onChange: t, onSave: n, className: s, title: c = "Cust
311
324
  },
312
325
  className: "text-sm",
313
326
  autoComplete: "off"
314
- }), /* @__PURE__ */ (0, P.jsxs)("div", {
327
+ }), /* @__PURE__ */ (0, F.jsxs)("div", {
315
328
  className: "flex items-center gap-2",
316
329
  children: [
317
- /* @__PURE__ */ (0, P.jsx)(a, {
330
+ /* @__PURE__ */ (0, F.jsx)(i, {
318
331
  placeholder: "Bearer token...",
319
332
  value: "",
320
333
  onChange: () => {},
@@ -323,27 +336,27 @@ function se({ headers: e, onChange: t, onSave: n, className: s, title: c = "Cust
323
336
  autoComplete: "off",
324
337
  disabled: !0
325
338
  }),
326
- /* @__PURE__ */ (0, P.jsx)(i, {
339
+ /* @__PURE__ */ (0, F.jsx)(r, {
327
340
  type: "button",
328
341
  variant: "ghost",
329
342
  size: "icon-sm",
330
343
  className: "h-8 w-8 p-0",
331
344
  disabled: !0,
332
- children: /* @__PURE__ */ (0, P.jsx)(x, { className: "h-4 w-4" })
345
+ children: /* @__PURE__ */ (0, F.jsx)(S, { className: "h-4 w-4" })
333
346
  }),
334
- /* @__PURE__ */ (0, P.jsx)(i, {
347
+ /* @__PURE__ */ (0, F.jsx)(r, {
335
348
  type: "button",
336
349
  variant: "ghost",
337
350
  size: "icon-sm",
338
351
  className: "h-8 w-8 p-0",
339
352
  disabled: !0,
340
- children: /* @__PURE__ */ (0, P.jsx)(S, { className: "h-4 w-4" })
353
+ children: /* @__PURE__ */ (0, F.jsx)(C, { className: "h-4 w-4" })
341
354
  })
342
355
  ]
343
356
  })]
344
- }) : e.map((e) => /* @__PURE__ */ (0, P.jsxs)("div", {
357
+ }) : e.map((e) => /* @__PURE__ */ (0, F.jsxs)("div", {
345
358
  className: "grid grid-cols-[1fr_1fr] gap-4 items-center",
346
- children: [/* @__PURE__ */ (0, P.jsx)(a, {
359
+ children: [/* @__PURE__ */ (0, F.jsx)(i, {
347
360
  ref: (t) => {
348
361
  h.current[e.id] = t;
349
362
  },
@@ -352,10 +365,10 @@ function se({ headers: e, onChange: t, onSave: n, className: s, title: c = "Cust
352
365
  onChange: (t) => b(e.id, "name", t.target.value),
353
366
  className: "text-sm",
354
367
  autoComplete: "off"
355
- }), /* @__PURE__ */ (0, P.jsxs)("div", {
368
+ }), /* @__PURE__ */ (0, F.jsxs)("div", {
356
369
  className: "flex items-center gap-2",
357
370
  children: [
358
- /* @__PURE__ */ (0, P.jsx)(a, {
371
+ /* @__PURE__ */ (0, F.jsx)(i, {
359
372
  placeholder: "",
360
373
  value: e.value,
361
374
  onChange: (t) => b(e.id, "value", t.target.value),
@@ -363,44 +376,44 @@ function se({ headers: e, onChange: t, onSave: n, className: s, title: c = "Cust
363
376
  className: "font-mono text-sm",
364
377
  autoComplete: "off"
365
378
  }),
366
- /* @__PURE__ */ (0, P.jsx)(i, {
379
+ /* @__PURE__ */ (0, F.jsx)(r, {
367
380
  type: "button",
368
381
  variant: "ghost",
369
382
  size: "icon-sm",
370
383
  onClick: () => ee(e.id),
371
384
  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" })
385
+ children: d[e.id] ? /* @__PURE__ */ (0, F.jsx)(x, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, F.jsx)(S, { className: "h-4 w-4" })
373
386
  }),
374
- /* @__PURE__ */ (0, P.jsx)(i, {
387
+ /* @__PURE__ */ (0, F.jsx)(r, {
375
388
  type: "button",
376
389
  variant: "ghost",
377
390
  size: "icon-sm",
378
391
  onClick: () => v(e.id),
379
392
  className: "h-8 w-8 p-0",
380
- children: /* @__PURE__ */ (0, P.jsx)(S, { className: "h-4 w-4" })
393
+ children: /* @__PURE__ */ (0, F.jsx)(C, { className: "h-4 w-4" })
381
394
  })
382
395
  ]
383
396
  })]
384
397
  }, e.id)),
385
- /* @__PURE__ */ (0, P.jsx)("div", {
398
+ /* @__PURE__ */ (0, F.jsx)("div", {
386
399
  className: "flex justify-start mt-4",
387
- children: /* @__PURE__ */ (0, P.jsxs)(i, {
400
+ children: /* @__PURE__ */ (0, F.jsxs)(r, {
388
401
  type: "button",
389
402
  variant: "outline",
390
403
  size: "sm",
391
404
  onClick: _,
392
405
  disabled: e.length >= u,
393
406
  className: "flex items-center gap-2",
394
- children: [/* @__PURE__ */ (0, P.jsx)(y, { className: "h-4 w-4" }), "Add"]
407
+ children: [/* @__PURE__ */ (0, F.jsx)(y, { className: "h-4 w-4" }), "Add"]
395
408
  })
396
409
  })
397
410
  ]
398
411
  }),
399
- n && /* @__PURE__ */ (0, P.jsx)("div", {
412
+ a && /* @__PURE__ */ (0, F.jsx)("div", {
400
413
  className: "flex justify-end",
401
- children: /* @__PURE__ */ (0, P.jsx)(i, {
414
+ children: /* @__PURE__ */ (0, F.jsx)(r, {
402
415
  type: "button",
403
- onClick: n,
416
+ onClick: a,
404
417
  className: "bg-black text-white hover:bg-gray-800",
405
418
  children: "Save"
406
419
  })
@@ -410,412 +423,455 @@ function se({ headers: e, onChange: t, onSave: n, className: s, title: c = "Cust
410
423
  }
411
424
  //#endregion
412
425
  //#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");
426
+ function le({ alias: e, setAlias: t, url: a, setUrl: f, connectionMode: y, setConnectionMode: x, protocolMode: S, setProtocolMode: C, customHeaders: w, setCustomHeaders: T, requestTimeout: E, setRequestTimeout: D, resetTimeoutOnProgress: I, setResetTimeoutOnProgress: oe, maxTotalTimeout: R, setMaxTotalTimeout: z, proxyAddress: B, setProxyAddress: V, clientId: H, setClientId: U, clientSecret: W, setClientSecret: G, scope: K, setScope: q, onConnect: J, onSave: Y, onCancel: X, variant: se = "default", showConnectButton: le = !1, showSaveButton: ue = !1, showExportButton: de = !1, isConnecting: fe = !1, inlineSections: Z = !1, cardSections: Q = !1 }) {
427
+ let [pe, me] = (0, P.useState)(!1), [he, ge] = (0, P.useState)(!1), [_e, ve] = (0, P.useState)(!1), ye = (0, P.useRef)(!1), be = async () => {
428
+ if (!a.trim()) {
429
+ O.error("Please enter a URL first");
417
430
  return;
418
431
  }
419
432
  let t = {
420
- url: n,
433
+ url: a,
421
434
  ...e.trim() ? { name: e.trim() } : {},
422
435
  transportType: "http",
423
436
  connectionMode: y,
437
+ protocolNegotiation: ie(S),
424
438
  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), {})
439
+ proxyConfig: y === "proxy" && B.trim() ? {
440
+ proxyAddress: B.trim(),
441
+ customHeaders: w.reduce((e, t) => (t.name && t.value && (e[t.name] = t.value), e), {})
428
442
  } : void 0,
429
- autoProxyFallback: y === "auto" && R.trim() ? {
443
+ autoProxyFallback: y === "auto" && B.trim() ? {
430
444
  enabled: !0,
431
- proxyAddress: R.trim()
445
+ proxyAddress: B.trim()
432
446
  } : 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
447
+ customHeaders: w.reduce((e, t) => (t.name && t.value && (e[t.name] = t.value), e), {}),
448
+ requestTimeout: Number.parseInt(E, 10),
449
+ resetTimeoutOnProgress: I === "True",
450
+ maxTotalTimeout: Number.parseInt(R, 10),
451
+ oauth: H || K ? {
452
+ clientId: H,
453
+ ...H && W ? { clientSecret: W } : {},
454
+ scope: K
441
455
  } : void 0
442
456
  };
443
457
  try {
444
- await te(JSON.stringify(t, null, 2)), D.success("Configuration copied to clipboard");
458
+ await te(JSON.stringify(t, null, 2)), O.success("Configuration copied to clipboard");
445
459
  } catch {
446
- D.error("Failed to copy configuration to clipboard");
460
+ O.error("Failed to copy configuration to clipboard");
447
461
  }
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) => {
462
+ }, $ = se === "styled", xe = $ ? "bg-white/10 border-white/20 text-white placeholder:text-white/50" : "", Se = $ ? "text-white/90" : "", Ce = $ ? "bg-white/10 border-white/20 text-white hover:bg-white/20" : "", we = async (e) => {
449
463
  let n = e.clipboardData.getData("text");
450
464
  try {
451
465
  let r = JSON.parse(n);
452
466
  if (r.url && typeof r.url == "string") {
453
467
  e.preventDefault(), f(r.url), t(typeof r.name == "string" && r.name !== r.url ? r.name : "");
454
468
  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);
469
+ x(L(r.connectionMode, r.connectionType, !!n)), C(ae(r.protocolNegotiation)), n && V(n);
456
470
  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) => ({
471
+ Object.keys(i).length > 0 && T(Object.entries(i).map(([e, t], n) => ({
458
472
  id: `header-${n}`,
459
473
  name: e,
460
474
  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");
475
+ }))), r.requestTimeout && D(String(r.requestTimeout)), r.resetTimeoutOnProgress !== void 0 && oe(r.resetTimeoutOnProgress ? "True" : "False"), r.maxTotalTimeout && z(String(r.maxTotalTimeout)), r.oauth && (U(r.oauth.clientId || ""), G(r.oauth.clientSecret || ""), q(r.oauth.scope || "")), O.success("Configuration pasted and form populated");
462
476
  }
463
477
  } 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", {
478
+ }, Te = (e) => {
479
+ ye.current || e.nativeEvent.isComposing || e.keyCode === 229 || e.key === "Enter" && !e.shiftKey && !e.metaKey && !e.ctrlKey && e.target.tagName !== "TEXTAREA" && (e.preventDefault(), J && a.trim() && J());
480
+ }, Ee = /* @__PURE__ */ (0, F.jsxs)("div", {
467
481
  className: "grid gap-4 sm:grid-cols-2",
468
482
  children: [
469
- !X && /* @__PURE__ */ (0, P.jsx)("h4", {
483
+ !Q && /* @__PURE__ */ (0, F.jsx)("h4", {
470
484
  className: "text-sm font-medium sm:col-span-2",
471
485
  children: "OAuth 2.0"
472
486
  }),
473
- /* @__PURE__ */ (0, P.jsxs)("div", {
487
+ /* @__PURE__ */ (0, F.jsxs)("div", {
474
488
  className: "space-y-2",
475
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
489
+ children: [/* @__PURE__ */ (0, F.jsx)(o, {
476
490
  className: "text-sm",
477
491
  children: "Client ID"
478
- }), /* @__PURE__ */ (0, P.jsx)(a, {
492
+ }), /* @__PURE__ */ (0, F.jsx)(i, {
479
493
  "data-testid": "auth-dialog-client-id-input",
480
494
  placeholder: "Client ID",
481
- value: B,
482
- onChange: (e) => V(e.target.value)
495
+ value: H,
496
+ onChange: (e) => U(e.target.value)
483
497
  })]
484
498
  }),
485
- /* @__PURE__ */ (0, P.jsxs)("div", {
499
+ /* @__PURE__ */ (0, F.jsxs)("div", {
486
500
  className: "space-y-2",
487
501
  children: [
488
- /* @__PURE__ */ (0, P.jsx)(o, {
502
+ /* @__PURE__ */ (0, F.jsx)(o, {
489
503
  className: "text-sm",
490
504
  children: "Client Secret"
491
505
  }),
492
- /* @__PURE__ */ (0, P.jsx)(a, {
506
+ /* @__PURE__ */ (0, F.jsx)(i, {
493
507
  "data-testid": "auth-dialog-client-secret-input",
494
508
  type: "password",
495
509
  placeholder: "Client Secret (optional)",
496
- value: H,
497
- onChange: (e) => U(e.target.value)
510
+ value: W,
511
+ onChange: (e) => G(e.target.value)
498
512
  }),
499
- /* @__PURE__ */ (0, P.jsx)("p", {
513
+ /* @__PURE__ */ (0, F.jsx)("p", {
500
514
  className: "text-xs text-muted-foreground",
501
515
  children: "Stored in your browser's localStorage."
502
516
  })
503
517
  ]
504
518
  }),
505
- /* @__PURE__ */ (0, P.jsxs)("div", {
519
+ /* @__PURE__ */ (0, F.jsxs)("div", {
506
520
  className: "space-y-2 sm:col-span-2",
507
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
521
+ children: [/* @__PURE__ */ (0, F.jsx)(o, {
508
522
  className: "text-sm",
509
523
  children: "Scope"
510
- }), /* @__PURE__ */ (0, P.jsx)(a, {
524
+ }), /* @__PURE__ */ (0, F.jsx)(i, {
511
525
  "data-testid": "auth-dialog-scope-input",
512
526
  placeholder: "Scope (space-separated)",
513
- value: W,
514
- onChange: (e) => G(e.target.value)
527
+ value: K,
528
+ onChange: (e) => q(e.target.value)
515
529
  })]
516
530
  })
517
531
  ]
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", {
532
+ }), De = /* @__PURE__ */ (0, F.jsx)(ce, {
533
+ title: /* @__PURE__ */ (0, F.jsx)(F.Fragment, {}),
534
+ headers: w,
535
+ onChange: T
536
+ }), Oe = /* @__PURE__ */ (0, F.jsxs)("div", {
523
537
  className: "grid gap-4 sm:grid-cols-2",
524
538
  children: [
525
- /* @__PURE__ */ (0, P.jsxs)("div", {
539
+ /* @__PURE__ */ (0, F.jsxs)("div", {
526
540
  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
- })]
541
+ children: [
542
+ /* @__PURE__ */ (0, F.jsx)(o, {
543
+ className: "text-sm",
544
+ children: "Connection Mode"
545
+ }),
546
+ /* @__PURE__ */ (0, F.jsxs)(d, {
547
+ value: y,
548
+ onValueChange: (e) => x(e),
549
+ children: [/* @__PURE__ */ (0, F.jsx)(c, {
550
+ className: "w-full",
551
+ "data-testid": "config-dialog-connection-mode-select",
552
+ children: /* @__PURE__ */ (0, F.jsx)(s, {})
553
+ }), /* @__PURE__ */ (0, F.jsxs)(l, { children: [
554
+ /* @__PURE__ */ (0, F.jsx)(u, {
555
+ value: "auto",
556
+ children: "Auto"
557
+ }),
558
+ /* @__PURE__ */ (0, F.jsx)(u, {
559
+ value: "direct",
560
+ children: "Direct"
561
+ }),
562
+ /* @__PURE__ */ (0, F.jsx)(u, {
563
+ value: "proxy",
564
+ children: "Proxy"
565
+ })
566
+ ] })]
567
+ }),
568
+ /* @__PURE__ */ (0, F.jsx)("p", {
569
+ className: "text-xs text-muted-foreground",
570
+ children: "Auto tries a direct connection first and falls back to the proxy. Direct bypasses the proxy; Proxy always routes through it."
571
+ })
572
+ ]
552
573
  }),
553
- /* @__PURE__ */ (0, P.jsxs)("div", {
574
+ /* @__PURE__ */ (0, F.jsxs)("div", {
554
575
  className: "space-y-2",
555
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
576
+ children: [
577
+ /* @__PURE__ */ (0, F.jsx)(o, {
578
+ className: "text-sm",
579
+ children: "Protocol"
580
+ }),
581
+ /* @__PURE__ */ (0, F.jsxs)(d, {
582
+ value: S,
583
+ onValueChange: (e) => C(e),
584
+ children: [/* @__PURE__ */ (0, F.jsx)(c, {
585
+ className: "w-full",
586
+ "data-testid": "config-dialog-protocol-mode-select",
587
+ children: /* @__PURE__ */ (0, F.jsx)(s, {})
588
+ }), /* @__PURE__ */ (0, F.jsxs)(l, { children: [
589
+ /* @__PURE__ */ (0, F.jsx)(u, {
590
+ value: "auto",
591
+ children: "Auto (recommended)"
592
+ }),
593
+ /* @__PURE__ */ (0, F.jsx)(u, {
594
+ value: "v1",
595
+ children: "Force v1 (2024/2025)"
596
+ }),
597
+ /* @__PURE__ */ (0, F.jsx)(u, {
598
+ value: "v2",
599
+ children: "Force v2 (2026-07-28)"
600
+ })
601
+ ] })]
602
+ }),
603
+ /* @__PURE__ */ (0, F.jsx)("p", {
604
+ className: "text-xs text-muted-foreground",
605
+ children: "Auto probes for v2 and falls back to the legacy v1 initialize flow. Forced modes fail when the server is incompatible."
606
+ })
607
+ ]
608
+ }),
609
+ /* @__PURE__ */ (0, F.jsxs)("div", {
610
+ className: "space-y-2",
611
+ children: [/* @__PURE__ */ (0, F.jsx)(o, {
556
612
  className: "text-sm",
557
613
  children: "Proxy Endpoint"
558
- }), /* @__PURE__ */ (0, P.jsx)(a, {
614
+ }), /* @__PURE__ */ (0, F.jsx)(i, {
559
615
  "data-testid": "config-dialog-proxy-address-input",
560
- value: R,
561
- onChange: (e) => z(e.target.value)
616
+ value: B,
617
+ onChange: (e) => V(e.target.value)
562
618
  })]
563
619
  }),
564
- /* @__PURE__ */ (0, P.jsxs)("div", {
620
+ /* @__PURE__ */ (0, F.jsxs)("div", {
565
621
  className: "space-y-2",
566
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
622
+ children: [/* @__PURE__ */ (0, F.jsx)(o, {
567
623
  className: "text-sm",
568
624
  children: "Request Timeout"
569
- }), /* @__PURE__ */ (0, P.jsx)(a, {
625
+ }), /* @__PURE__ */ (0, F.jsx)(i, {
570
626
  "data-testid": "config-dialog-request-timeout-input",
571
627
  type: "number",
572
- value: C,
573
- onChange: (e) => w(e.target.value)
628
+ value: E,
629
+ onChange: (e) => D(e.target.value)
574
630
  })]
575
631
  }),
576
- /* @__PURE__ */ (0, P.jsxs)("div", {
632
+ /* @__PURE__ */ (0, F.jsxs)("div", {
577
633
  className: "space-y-2",
578
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
634
+ children: [/* @__PURE__ */ (0, F.jsx)(o, {
579
635
  className: "text-sm",
580
636
  children: "Maximum Total Timeout"
581
- }), /* @__PURE__ */ (0, P.jsx)(a, {
637
+ }), /* @__PURE__ */ (0, F.jsx)(i, {
582
638
  "data-testid": "config-dialog-max-timeout-input",
583
639
  type: "number",
584
- value: F,
585
- onChange: (e) => L(e.target.value)
640
+ value: R,
641
+ onChange: (e) => z(e.target.value)
586
642
  })]
587
643
  }),
588
- /* @__PURE__ */ (0, P.jsxs)("div", {
644
+ /* @__PURE__ */ (0, F.jsxs)("div", {
589
645
  className: "space-y-2",
590
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
646
+ children: [/* @__PURE__ */ (0, F.jsx)(o, {
591
647
  className: "text-sm",
592
648
  children: "Reset Timeout on Progress"
593
- }), /* @__PURE__ */ (0, P.jsxs)(d, {
594
- value: T,
595
- onValueChange: E,
596
- children: [/* @__PURE__ */ (0, P.jsx)(c, {
649
+ }), /* @__PURE__ */ (0, F.jsxs)(d, {
650
+ value: I,
651
+ onValueChange: oe,
652
+ children: [/* @__PURE__ */ (0, F.jsx)(c, {
597
653
  className: "w-full",
598
654
  "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, {
655
+ children: /* @__PURE__ */ (0, F.jsx)(s, {})
656
+ }), /* @__PURE__ */ (0, F.jsxs)(l, { children: [/* @__PURE__ */ (0, F.jsx)(u, {
601
657
  value: "True",
602
658
  children: "True"
603
- }), /* @__PURE__ */ (0, P.jsx)(u, {
659
+ }), /* @__PURE__ */ (0, F.jsx)(u, {
604
660
  value: "False",
605
661
  children: "False"
606
662
  })] })]
607
663
  })]
608
664
  })
609
665
  ]
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", {
666
+ }), ke = /* @__PURE__ */ (0, F.jsxs)("div", {
667
+ className: Z || Q ? "grid gap-4 sm:grid-cols-2" : "space-y-4",
668
+ children: [/* @__PURE__ */ (0, F.jsxs)("div", {
613
669
  className: "space-y-2",
614
- children: [/* @__PURE__ */ (0, P.jsx)(o, {
615
- className: ye,
670
+ children: [/* @__PURE__ */ (0, F.jsx)(o, {
671
+ className: Se,
616
672
  children: "Alias"
617
- }), /* @__PURE__ */ (0, P.jsx)(a, {
673
+ }), /* @__PURE__ */ (0, F.jsx)(i, {
618
674
  "data-testid": "connection-form-alias-input",
619
675
  placeholder: "Optional server alias",
620
676
  value: e,
621
677
  onChange: (e) => t(e.target.value),
622
- className: ve
678
+ className: xe
623
679
  })]
624
- }), /* @__PURE__ */ (0, P.jsxs)("div", {
680
+ }), /* @__PURE__ */ (0, F.jsxs)("div", {
625
681
  className: "space-y-2",
626
682
  children: [
627
- /* @__PURE__ */ (0, P.jsx)(o, {
628
- className: ye,
683
+ /* @__PURE__ */ (0, F.jsx)(o, {
684
+ className: Se,
629
685
  children: "URL"
630
686
  }),
631
- /* @__PURE__ */ (0, P.jsx)(a, {
687
+ /* @__PURE__ */ (0, F.jsx)(i, {
632
688
  "data-testid": "connection-form-url-input",
633
689
  placeholder: "http://localhost:3000",
634
- value: n,
690
+ value: a,
635
691
  onChange: (e) => f(e.target.value),
636
- onPaste: be,
637
- className: ve
692
+ onPaste: we,
693
+ className: xe
638
694
  }),
639
- /* @__PURE__ */ (0, P.jsx)("p", {
640
- className: r("text-xs text-muted-foreground", Q ? "text-white/60" : ""),
695
+ /* @__PURE__ */ (0, F.jsx)("p", {
696
+ className: n("text-xs text-muted-foreground", $ ? "text-white/60" : ""),
641
697
  children: "Tip: You can paste a copied connection config (JSON) to auto-populate the form"
642
698
  })
643
699
  ]
644
700
  })]
645
- }), Ee = {
701
+ }), Ae = {
646
702
  onCompositionStart: () => {
647
- Z.current = !0;
703
+ ye.current = !0;
648
704
  },
649
705
  onCompositionEnd: () => {
650
- Z.current = !1;
706
+ ye.current = !1;
651
707
  },
652
- onKeyDown: xe
653
- }, De = le ? /* @__PURE__ */ (0, P.jsxs)(i, {
708
+ onKeyDown: Te
709
+ }, je = de ? /* @__PURE__ */ (0, F.jsxs)(r, {
654
710
  "data-testid": "connection-form-copy-config-button",
655
711
  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"]
712
+ onClick: be,
713
+ className: n($ ? "absolute top-0 right-0 z-10 text-white hover:bg-white/20 dark:hover:bg-white/20" : "w-full", !$ && "mb-2"),
714
+ children: [/* @__PURE__ */ (0, F.jsx)(ee, { className: "mr-2 h-4 w-4" }), "Copy Config"]
659
715
  }) : null;
660
- return Y && X ? /* @__PURE__ */ (0, P.jsxs)("div", {
716
+ return Z && Q ? /* @__PURE__ */ (0, F.jsxs)("div", {
661
717
  className: "relative space-y-6 @container",
662
- ...Ee,
718
+ ...Ae,
663
719
  children: [
664
- De,
665
- /* @__PURE__ */ (0, P.jsxs)(M, {
720
+ je,
721
+ /* @__PURE__ */ (0, F.jsxs)(N, {
666
722
  className: "border",
667
- children: [/* @__PURE__ */ (0, P.jsxs)(k, { children: [/* @__PURE__ */ (0, P.jsx)(O, {
723
+ children: [/* @__PURE__ */ (0, F.jsxs)(A, { children: [/* @__PURE__ */ (0, F.jsx)(k, {
668
724
  className: "text-base font-medium",
669
725
  children: "Endpoint"
670
- }), /* @__PURE__ */ (0, P.jsx)(j, { children: "MCP server URL and display alias" })] }), /* @__PURE__ */ (0, P.jsx)(A, {
726
+ }), /* @__PURE__ */ (0, F.jsx)(M, { children: "MCP server URL and display alias" })] }), /* @__PURE__ */ (0, F.jsx)(j, {
671
727
  className: "pt-0",
672
- children: Te
728
+ children: ke
673
729
  })]
674
730
  }),
675
- /* @__PURE__ */ (0, P.jsxs)(M, {
731
+ /* @__PURE__ */ (0, F.jsxs)(N, {
676
732
  className: "border",
677
- children: [/* @__PURE__ */ (0, P.jsxs)(k, { children: [/* @__PURE__ */ (0, P.jsx)(O, {
733
+ children: [/* @__PURE__ */ (0, F.jsxs)(A, { children: [/* @__PURE__ */ (0, F.jsx)(k, {
678
734
  className: "text-base font-medium",
679
735
  children: "Authentication"
680
- }), /* @__PURE__ */ (0, P.jsx)(j, { children: "OAuth 2.0 client credentials" })] }), /* @__PURE__ */ (0, P.jsx)(A, {
736
+ }), /* @__PURE__ */ (0, F.jsx)(M, { children: "OAuth 2.0 client credentials" })] }), /* @__PURE__ */ (0, F.jsx)(j, {
681
737
  className: "pt-0",
682
- children: Se
738
+ children: Ee
683
739
  })]
684
740
  }),
685
- /* @__PURE__ */ (0, P.jsxs)(M, {
741
+ /* @__PURE__ */ (0, F.jsxs)(N, {
686
742
  className: "border",
687
- children: [/* @__PURE__ */ (0, P.jsxs)(k, { children: [/* @__PURE__ */ (0, P.jsx)(O, {
743
+ children: [/* @__PURE__ */ (0, F.jsxs)(A, { children: [/* @__PURE__ */ (0, F.jsx)(k, {
688
744
  className: "text-base font-medium",
689
745
  children: "Custom Headers"
690
- }), /* @__PURE__ */ (0, P.jsx)(j, { children: "Extra HTTP headers sent with MCP requests" })] }), /* @__PURE__ */ (0, P.jsx)(A, {
746
+ }), /* @__PURE__ */ (0, F.jsx)(M, { children: "Extra HTTP headers sent with MCP requests" })] }), /* @__PURE__ */ (0, F.jsx)(j, {
691
747
  className: "pt-0",
692
- children: Ce
748
+ children: De
693
749
  })]
694
750
  }),
695
- /* @__PURE__ */ (0, P.jsxs)(M, {
751
+ /* @__PURE__ */ (0, F.jsxs)(N, {
696
752
  className: "border",
697
- children: [/* @__PURE__ */ (0, P.jsxs)(k, { children: [/* @__PURE__ */ (0, P.jsx)(O, {
753
+ children: [/* @__PURE__ */ (0, F.jsxs)(A, { children: [/* @__PURE__ */ (0, F.jsx)(k, {
698
754
  className: "text-base font-medium",
699
755
  children: "Configuration"
700
- }), /* @__PURE__ */ (0, P.jsx)(j, { children: "Connection mode, proxy, and request timeouts" })] }), /* @__PURE__ */ (0, P.jsx)(A, {
756
+ }), /* @__PURE__ */ (0, F.jsx)(M, { children: "Connection mode, proxy, and request timeouts" })] }), /* @__PURE__ */ (0, F.jsx)(j, {
701
757
  className: "pt-0",
702
- children: we
758
+ children: Oe
703
759
  })]
704
760
  })
705
761
  ]
706
- }) : /* @__PURE__ */ (0, P.jsxs)("div", {
762
+ }) : /* @__PURE__ */ (0, F.jsxs)("div", {
707
763
  className: "relative space-y-4 @container",
708
- ...Ee,
764
+ ...Ae,
709
765
  children: [
710
- !Y && /* @__PURE__ */ (0, P.jsx)("h3", {
766
+ !Z && /* @__PURE__ */ (0, F.jsx)("h3", {
711
767
  className: "mb-4 text-xl font-semibold text-white",
712
768
  children: "Connect"
713
769
  }),
714
- De,
715
- Te,
716
- Y && !X && /* @__PURE__ */ (0, P.jsxs)("div", {
770
+ je,
771
+ ke,
772
+ Z && !Q && /* @__PURE__ */ (0, F.jsxs)("div", {
717
773
  className: "space-y-8 pt-2",
718
774
  children: [
719
- /* @__PURE__ */ (0, P.jsxs)("section", {
775
+ /* @__PURE__ */ (0, F.jsxs)("section", {
720
776
  className: "space-y-4",
721
- children: [/* @__PURE__ */ (0, P.jsx)("h3", {
777
+ children: [/* @__PURE__ */ (0, F.jsx)("h3", {
722
778
  className: "text-xs font-medium uppercase tracking-wide text-muted-foreground",
723
779
  children: "Authentication"
724
- }), Se]
780
+ }), Ee]
725
781
  }),
726
- /* @__PURE__ */ (0, P.jsxs)("section", {
782
+ /* @__PURE__ */ (0, F.jsxs)("section", {
727
783
  className: "space-y-4",
728
- children: [/* @__PURE__ */ (0, P.jsx)("h3", {
784
+ children: [/* @__PURE__ */ (0, F.jsx)("h3", {
729
785
  className: "text-xs font-medium uppercase tracking-wide text-muted-foreground",
730
786
  children: "Custom Headers"
731
- }), Ce]
787
+ }), De]
732
788
  }),
733
- /* @__PURE__ */ (0, P.jsxs)("section", {
789
+ /* @__PURE__ */ (0, F.jsxs)("section", {
734
790
  className: "space-y-4",
735
- children: [/* @__PURE__ */ (0, P.jsx)("h3", {
791
+ children: [/* @__PURE__ */ (0, F.jsx)("h3", {
736
792
  className: "text-xs font-medium uppercase tracking-wide text-muted-foreground",
737
793
  children: "Configuration"
738
- }), we]
794
+ }), Oe]
739
795
  })
740
796
  ]
741
797
  }),
742
- !Y && /* @__PURE__ */ (0, P.jsxs)("div", {
798
+ !Z && /* @__PURE__ */ (0, F.jsxs)("div", {
743
799
  className: "flex flex-row gap-3 @lg:flex-col",
744
800
  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", {
801
+ /* @__PURE__ */ (0, F.jsxs)(v, {
802
+ open: he,
803
+ onOpenChange: ge,
804
+ children: [/* @__PURE__ */ (0, F.jsx)(m, {
805
+ render: /* @__PURE__ */ (0, F.jsx)("div", {
750
806
  className: "relative flex-1 ",
751
- children: /* @__PURE__ */ (0, P.jsxs)(i, {
807
+ children: /* @__PURE__ */ (0, F.jsxs)(r, {
752
808
  "data-testid": "connection-form-auth-button",
753
809
  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"]
810
+ className: n((H || W || K) && "border-2", "w-full justify-center hover:text-white cursor-pointer", Ce),
811
+ children: [/* @__PURE__ */ (0, F.jsx)(b, { className: "w-4 h-4 mr-0" }), "Authentication"]
756
812
  })
757
813
  }),
758
814
  nativeButton: !1
759
- }), /* @__PURE__ */ (0, P.jsxs)(_, {
815
+ }), /* @__PURE__ */ (0, F.jsxs)(_, {
760
816
  scrollable: !0,
761
817
  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, {
818
+ children: [/* @__PURE__ */ (0, F.jsx)(g, { children: /* @__PURE__ */ (0, F.jsx)(p, { children: "Authentication" }) }), /* @__PURE__ */ (0, F.jsxs)(h, {
763
819
  className: "space-y-4",
764
- children: [Se, /* @__PURE__ */ (0, P.jsx)("div", {
820
+ children: [Ee, /* @__PURE__ */ (0, F.jsx)("div", {
765
821
  className: "flex justify-end",
766
- children: /* @__PURE__ */ (0, P.jsx)(i, {
767
- onClick: () => me(!1),
822
+ children: /* @__PURE__ */ (0, F.jsx)(r, {
823
+ onClick: () => ge(!1),
768
824
  children: "Save"
769
825
  })
770
826
  })]
771
827
  })]
772
828
  })]
773
829
  }),
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", {
830
+ /* @__PURE__ */ (0, F.jsxs)(v, {
831
+ open: pe,
832
+ onOpenChange: me,
833
+ children: [/* @__PURE__ */ (0, F.jsx)(m, {
834
+ render: /* @__PURE__ */ (0, F.jsx)("div", {
779
835
  className: "relative flex-1 ",
780
- children: /* @__PURE__ */ (0, P.jsxs)(i, {
836
+ children: /* @__PURE__ */ (0, F.jsxs)(r, {
781
837
  "data-testid": "connection-form-headers-button",
782
838
  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"]
839
+ className: n("w-full justify-center hover:text-white cursor-pointer", Ce),
840
+ children: [/* @__PURE__ */ (0, F.jsx)(re, { className: "w-4 h-4" }), "Custom Headers"]
785
841
  })
786
842
  }),
787
843
  nativeButton: !1
788
- }), /* @__PURE__ */ (0, P.jsxs)(_, {
844
+ }), /* @__PURE__ */ (0, F.jsxs)(_, {
789
845
  scrollable: !0,
790
846
  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)
847
+ children: [/* @__PURE__ */ (0, F.jsx)(g, { children: /* @__PURE__ */ (0, F.jsx)(p, { children: "Custom Headers" }) }), /* @__PURE__ */ (0, F.jsx)(h, { children: /* @__PURE__ */ (0, F.jsx)(ce, {
848
+ title: /* @__PURE__ */ (0, F.jsx)(F.Fragment, {}),
849
+ headers: w,
850
+ onChange: T,
851
+ onSave: () => me(!1)
796
852
  }) })]
797
853
  })]
798
854
  }),
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, {
855
+ /* @__PURE__ */ (0, F.jsxs)(v, {
856
+ open: _e,
857
+ onOpenChange: ve,
858
+ children: [/* @__PURE__ */ (0, F.jsx)(m, {
859
+ render: /* @__PURE__ */ (0, F.jsxs)(r, {
804
860
  "data-testid": "connection-form-config-button",
805
861
  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"]
862
+ className: n("flex-1 justify-center hover:text-white cursor-pointer", Ce),
863
+ children: [/* @__PURE__ */ (0, F.jsx)(ne, { className: "w-4 h-4" }), "Configuration"]
808
864
  }),
809
865
  nativeButton: !0
810
- }), /* @__PURE__ */ (0, P.jsxs)(_, {
866
+ }), /* @__PURE__ */ (0, F.jsxs)(_, {
811
867
  scrollable: !0,
812
868
  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, {
869
+ children: [/* @__PURE__ */ (0, F.jsx)(g, { children: /* @__PURE__ */ (0, F.jsx)(p, { children: "Configuration" }) }), /* @__PURE__ */ (0, F.jsxs)(h, {
814
870
  className: "space-y-4",
815
- children: [we, /* @__PURE__ */ (0, P.jsx)("div", {
871
+ children: [Oe, /* @__PURE__ */ (0, F.jsx)("div", {
816
872
  className: "flex justify-end",
817
- children: /* @__PURE__ */ (0, P.jsx)(i, {
818
- onClick: () => ge(!1),
873
+ children: /* @__PURE__ */ (0, F.jsx)(r, {
874
+ onClick: () => ve(!1),
819
875
  children: "Save"
820
876
  })
821
877
  })]
@@ -824,29 +880,29 @@ function ce({ alias: e, setAlias: t, url: n, setUrl: f, connectionMode: y, setCo
824
880
  })
825
881
  ]
826
882
  }),
827
- oe && /* @__PURE__ */ (0, P.jsx)(i, {
883
+ le && /* @__PURE__ */ (0, F.jsx)(r, {
828
884
  "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", {
885
+ onClick: J,
886
+ disabled: !a.trim() || fe,
887
+ size: $ ? "lg" : void 0,
888
+ className: n("w-full font-semibold", $ ? "rounded-full text-black [&_[aria-hidden]]:bg-white hover:[&_[aria-hidden]]:bg-white/90 group-active:[&_[aria-hidden]]:bg-white/80" : ""),
889
+ children: fe ? /* @__PURE__ */ (0, F.jsxs)(F.Fragment, { children: [/* @__PURE__ */ (0, F.jsx)("svg", {
834
890
  className: "w-4 h-4 mr-2 animate-spin",
835
891
  fill: "none",
836
892
  stroke: "currentColor",
837
893
  viewBox: "0 0 24 24",
838
- children: /* @__PURE__ */ (0, P.jsx)("path", {
894
+ children: /* @__PURE__ */ (0, F.jsx)("path", {
839
895
  strokeLinecap: "round",
840
896
  strokeLinejoin: "round",
841
897
  strokeWidth: 2,
842
898
  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
899
  })
844
- }), "Connecting..."] }) : /* @__PURE__ */ (0, P.jsxs)(P.Fragment, { children: [/* @__PURE__ */ (0, P.jsx)("svg", {
900
+ }), "Connecting..."] }) : /* @__PURE__ */ (0, F.jsxs)(F.Fragment, { children: [/* @__PURE__ */ (0, F.jsx)("svg", {
845
901
  className: "w-4 h-4 mr-2",
846
902
  fill: "none",
847
903
  stroke: "currentColor",
848
904
  viewBox: "0 0 24 24",
849
- children: /* @__PURE__ */ (0, P.jsx)("path", {
905
+ children: /* @__PURE__ */ (0, F.jsx)("path", {
850
906
  strokeLinecap: "round",
851
907
  strokeLinejoin: "round",
852
908
  strokeWidth: 2,
@@ -854,15 +910,15 @@ function ce({ alias: e, setAlias: t, url: n, setUrl: f, connectionMode: y, setCo
854
910
  })
855
911
  }), "Connect"] })
856
912
  }),
857
- ce && /* @__PURE__ */ (0, P.jsxs)("div", {
913
+ ue && /* @__PURE__ */ (0, F.jsxs)("div", {
858
914
  className: "flex justify-end gap-2",
859
- children: [J && /* @__PURE__ */ (0, P.jsx)(i, {
915
+ children: [X && /* @__PURE__ */ (0, F.jsx)(r, {
860
916
  variant: "outline",
861
- onClick: J,
917
+ onClick: X,
862
918
  children: "Cancel"
863
- }), /* @__PURE__ */ (0, P.jsx)(i, {
919
+ }), /* @__PURE__ */ (0, F.jsx)(r, {
864
920
  "data-testid": "connection-form-save-button",
865
- onClick: q,
921
+ onClick: Y,
866
922
  children: "Save Connection Options"
867
923
  })]
868
924
  })
@@ -870,4 +926,4 @@ function ce({ alias: e, setAlias: t, url: n, setUrl: f, connectionMode: y, setCo
870
926
  });
871
927
  }
872
928
  //#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 };
929
+ export { U as a, L as c, V as d, K as f, oe as i, ae as l, re as m, se as n, q as o, G as p, H as r, X as s, le as t, ie as u };