@mcp-use/inspector 20.0.0-beta.0 → 20.0.0-beta.2
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.
- package/README.md +5 -0
- package/dist/cdn/{AnimatePresence-B4HhIdgq.js → AnimatePresence-Dcw-FOy8.js} +50 -50
- package/dist/cdn/ChatTab-DBl6dHVH.js +6744 -0
- package/dist/cdn/{CheckboxIndicator-BF2cKfbA.js → CheckboxIndicator-Bt4IICtv.js} +77 -77
- package/dist/cdn/{ConnectionSettingsForm-iwNW86ZU.js → ConnectionSettingsForm-BFsZpwK4.js} +348 -292
- package/dist/cdn/ConnectionSettingsTab-DDk06dhT.js +150 -0
- package/dist/cdn/{ElicitationTab-upPXq2q7.js → ElicitationTab-CL1KJ0bz.js} +39 -39
- package/dist/cdn/{FormContext-Cl51-7O7.js → FormContext-tmgN_Vdr.js} +1 -1
- package/dist/cdn/{InspectorContext-DzXtgyTx.js → InspectorContext-UjtEbNod.js} +1 -21
- package/dist/cdn/{JSONDisplay-D3RcyO9z.js → JSONDisplay-BFxf5oEu.js} +18 -18
- package/dist/cdn/{ListTabHeader-8lULn-90.js → ListTabHeader-Cv-GmtGF.js} +19 -19
- package/dist/cdn/{ManufactOAuthCallback-DEM8mhWD.js → ManufactOAuthCallback-B98kSYCj.js} +1 -1
- package/dist/cdn/MarkdownRenderer-DQflNTGo.js +3610 -0
- package/dist/cdn/{NotificationsTab-CWopTIzT.js → NotificationsTab-CeImSrhx.js} +13 -13
- package/dist/cdn/{OAuthCallback-BxuOVgdb.js → OAuthCallback-C4n2hqKU.js} +1 -1
- package/dist/cdn/PromptsTab-C84YLTSM.js +901 -0
- package/dist/cdn/{ResourcesTab-BczUMFil.js → ResourcesTab-CCa5bIHE.js} +35 -55
- package/dist/cdn/{SamplingTab-6u5s845G.js → SamplingTab-Bt9z8yQ2.js} +35 -35
- package/dist/cdn/{ServerMetadataTab-DS0eiyyD.js → ServerMetadataTab-CvrKX8fz.js} +12 -12
- package/dist/cdn/{StatusIcon-BGXOEU2u.js → StatusIcon-D0-ARyOh.js} +6 -6
- package/dist/cdn/{ToolsTab-CUhwP4rZ.js → ToolsTab-v9zgWmM6.js} +103 -137
- package/dist/cdn/{ViewPreview-CxJc1Kht.js → ViewPreview-DsPwZAwO.js} +2 -2
- package/dist/cdn/{WidgetWrapper-BJJtLqMb.js → WidgetWrapper-CwlpDv17.js} +529 -530
- package/dist/cdn/card-DgiYnSg-.js +41 -0
- package/dist/cdn/{checkbox-B4oUG6Rr.js → checkbox-By0FklhG.js} +6 -6
- package/dist/cdn/{dialog-Dnl-pZsY.js → dialog-BsDpuJd3.js} +151 -151
- package/dist/cdn/{dist-mRDqCgKU.js → dist-B0eL32Gb.js} +114 -113
- package/dist/cdn/{dist-DjXr_YO3.js → dist-DaMB0Su9.js} +1 -1
- package/dist/cdn/{index-browser-CVUwR-Bu.js → index-browser-QDjRGsPo.js} +1 -1
- package/dist/cdn/{input-BLxOA7V-.js → input-C2OBd4PJ.js} +4787 -2842
- package/dist/cdn/inspector.css +1 -1
- package/dist/cdn/inspector.js +7424 -7443
- package/dist/cdn/{label-CBvG613A.js → label-B9Jmm9be.js} +10 -10
- package/dist/cdn/{manufact-auth-0TVxpeTA.js → manufact-auth-BQMHhbLV.js} +142 -106
- package/dist/cdn/{not-found-BcNNsTjS.js → not-found-DEtSM_Wd.js} +7 -7
- package/dist/cdn/providerMeta-BQIfHuNL.js +379 -0
- package/dist/cdn/{react-yUi9mVK4.js → react-Dn8PWXwP.js} +33 -27
- package/dist/cdn/{select-BZ_IoKxg.js → select-DDdiIPR2.js} +726 -726
- package/dist/cdn/{shared-uMiV6Fx1.js → shared-DaILIQPP.js} +29 -29
- package/dist/cdn/{popover-C_SSrXT0.js → sheet-Br_l2kry.js} +694 -622
- package/dist/cdn/{spinner-CWcJhIY_.js → spinner-jQtC7EBj.js} +5 -5
- package/dist/cdn/{switch-DtQOLb9R.js → switch-C3IyQuid.js} +104 -104
- package/dist/cdn/{tabs-subtle-C5cy35sY.js → tabs-subtle-CkdI6Mac.js} +147 -147
- package/dist/cdn/{telemetry-Ct6pVkM1.js → telemetry-DGoIGfIS.js} +3 -3
- package/dist/cdn/{textarea-Bj-CT7hC.js → textarea-DSbwcFVt.js} +6 -6
- package/dist/cdn/{useAriaLabelledBy-Bm9qHGK6.js → useAriaLabelledBy-DqAdnppm.js} +1 -1
- package/dist/cdn/{useCompositeItem-CNJ6MXdi.js → useCompositeItem-BRqEzYh-.js} +2 -2
- package/dist/cdn/{useConfig-CwxZ6Quj.js → useConfig-CTb6GZbt.js} +73 -46
- package/dist/cdn/{useViewHostProps-C7vjco2m.js → useViewHostProps-DIIlz3tJ.js} +1 -1
- package/dist/cli.js +141 -25
- package/dist/client/auth/manufact-auth.d.ts +3 -1
- package/dist/client/auth/manufact-auth.d.ts.map +1 -1
- package/dist/client/components/ChatTab.d.ts +1 -8
- package/dist/client/components/ChatTab.d.ts.map +1 -1
- package/dist/client/components/ResourcesTab.d.ts.map +1 -1
- package/dist/client/components/chat/ChatHeader.d.ts +7 -2
- package/dist/client/components/chat/ChatHeader.d.ts.map +1 -1
- package/dist/client/components/chat/ChatLandingForm.d.ts +4 -2
- package/dist/client/components/chat/ChatLandingForm.d.ts.map +1 -1
- package/dist/client/components/chat/ChatManagedNotice.d.ts +10 -0
- package/dist/client/components/chat/ChatManagedNotice.d.ts.map +1 -0
- package/dist/client/components/chat/ChatScrollTopFade.d.ts +7 -0
- package/dist/client/components/chat/ChatScrollTopFade.d.ts.map +1 -0
- package/dist/client/components/chat/ConfigurationDialog.d.ts +11 -9
- package/dist/client/components/chat/ConfigurationDialog.d.ts.map +1 -1
- package/dist/client/components/chat/ConfigureEmptyState.d.ts +1 -6
- package/dist/client/components/chat/ConfigureEmptyState.d.ts.map +1 -1
- package/dist/client/components/chat/StreamingAssistantContent.d.ts.map +1 -1
- package/dist/client/components/chat/chatModeStorage.d.ts +11 -0
- package/dist/client/components/chat/chatModeStorage.d.ts.map +1 -0
- package/dist/client/components/chat/managedChatNotice.d.ts +16 -0
- package/dist/client/components/chat/managedChatNotice.d.ts.map +1 -0
- package/dist/client/components/chat/providerMeta.d.ts +11 -0
- package/dist/client/components/chat/providerMeta.d.ts.map +1 -1
- package/dist/client/components/chat/useChatMessages.d.ts +7 -5
- package/dist/client/components/chat/useChatMessages.d.ts.map +1 -1
- package/dist/client/components/chat/useChatMessagesClientSide.d.ts +4 -6
- package/dist/client/components/chat/useChatMessagesClientSide.d.ts.map +1 -1
- package/dist/client/components/chat/useChatScrollToBottom.d.ts +1 -0
- package/dist/client/components/chat/useChatScrollToBottom.d.ts.map +1 -1
- package/dist/client/components/chat/useConfig.d.ts +1 -1
- package/dist/client/components/chat/useConfig.d.ts.map +1 -1
- package/dist/client/components/chat/useHostedChatMode.d.ts +1 -1
- package/dist/client/components/chat/useHostedChatMode.d.ts.map +1 -1
- package/dist/client/components/shared/MarkdownRenderer.d.ts +2 -1
- package/dist/client/components/shared/MarkdownRenderer.d.ts.map +1 -1
- package/dist/client/components/tools/useToolsTabNavigation.d.ts.map +1 -1
- package/dist/client/components/ui/MeshGradientCanvas.d.ts +13 -0
- package/dist/client/components/ui/MeshGradientCanvas.d.ts.map +1 -0
- package/dist/client/components/ui/chat-message.d.ts +1 -1
- package/dist/client/components/ui/chat-message.d.ts.map +1 -1
- package/dist/client/components/ui/file-thumbnail.d.ts.map +1 -1
- package/dist/client/components/ui/mesh-tab-background.d.ts +3 -1
- package/dist/client/components/ui/mesh-tab-background.d.ts.map +1 -1
- package/dist/client/context/InspectorContext.d.ts.map +1 -1
- package/dist/client/index.js +2577 -2165
- package/dist/client/telemetry/utils.d.ts.map +1 -1
- package/dist/server/asset-urls.d.ts +18 -0
- package/dist/server/asset-urls.d.ts.map +1 -0
- package/dist/server/asset-urls.js +17 -0
- package/dist/server/cdn-shell.d.ts +3 -3
- package/dist/server/cdn-shell.d.ts.map +1 -1
- package/dist/server/cdn-shell.js +5 -3
- package/dist/server/chunk-H6ZCIKBS.js +63 -0
- package/dist/server/{chunk-ESODOPDD.js → chunk-J4FNYLBF.js} +4 -0
- package/dist/server/{chunk-TPHRVELX.js → chunk-K2DPKTIS.js} +27 -9
- package/dist/server/{chunk-THQ67TSE.js → chunk-LIM6NAUS.js} +2 -9
- package/dist/server/chunk-M5TZA42I.js +54 -0
- package/dist/server/{chunk-K2V2SDQD.js → chunk-OWR2BIBW.js} +1 -1
- package/dist/server/{chunk-J67FVPHF.js → chunk-R6RQMIXL.js} +2 -2
- package/dist/server/{chunk-5B3SXGZP.js → chunk-UJLXHNQP.js} +1 -1
- package/dist/server/{chunk-6XWDZEFF.js → chunk-XCNS5CIW.js} +8 -3
- package/dist/server/cli.js +8 -6
- package/dist/server/create-dev-api-app.js +3 -3
- package/dist/server/dev-callback-redirect.d.ts +3 -0
- package/dist/server/dev-callback-redirect.d.ts.map +1 -0
- package/dist/server/dev-callback-redirect.js +18 -0
- package/dist/server/favicon-static.d.ts.map +1 -1
- package/dist/server/favicon-static.js +1 -1
- package/dist/server/index.js +9 -7
- package/dist/server/middleware.js +9 -7
- package/dist/server/proxy/index.js +1 -1
- package/dist/server/proxy/mcp-proxy.d.ts +2 -0
- package/dist/server/proxy/mcp-proxy.d.ts.map +1 -1
- package/dist/server/proxy/mcp-proxy.js +3 -1
- package/dist/server/proxy-routes.js +2 -2
- package/dist/server/server.js +3 -3
- package/dist/server/static-assets.d.ts +5 -0
- package/dist/server/static-assets.d.ts.map +1 -0
- package/dist/server/static-assets.js +9 -0
- package/dist/server/version.js +1 -1
- package/dist/server/vite-dev-api-plugin.js +3 -3
- package/dist/web/assets/{AnimatePresence-CthXziG2.js → AnimatePresence-C5p0yiY1.js} +2 -2
- package/dist/web/assets/ChatTab-C2FtENBM.js +18 -0
- package/dist/web/assets/ConnectionSettingsTab-B2sUjytG.js +1 -0
- package/dist/web/assets/ElicitationTab-DwH08kDC.js +1 -0
- package/dist/web/assets/{FormContext-Cqc_A12u.js → FormContext-DH2caWKO.js} +1 -1
- package/dist/web/assets/ListTabHeader-R17w_JsB.js +1 -0
- package/dist/web/assets/{ManufactOAuthCallback-B-tdkUA2.js → ManufactOAuthCallback-Btu4B6u6.js} +1 -1
- package/dist/web/assets/MarkdownRenderer-DpIEt9wb.js +47 -0
- package/dist/web/assets/{NotificationsTab-BgLjxuos.js → NotificationsTab-CHB8mtSz.js} +1 -1
- package/dist/web/assets/{OAuthCallback-Bp-jLoQs.js → OAuthCallback-DV4MgX4Z.js} +1 -1
- package/dist/web/assets/PromptsTab-0GIapoSs.js +15 -0
- package/dist/web/assets/ResourcesTab-N9xjsI_b.js +2 -0
- package/dist/web/assets/SamplingTab-Dw0vpi4t.js +1 -0
- package/dist/web/assets/ServerMetadataTab-D-eQpLBF.js +1 -0
- package/dist/web/assets/ToolsTab-BMrMJ5JV.js +8 -0
- package/dist/web/assets/ViewPreview-N_cpEO0W.js +1 -0
- package/dist/web/assets/WidgetWrapper-pDgNVq9y.js +34 -0
- package/dist/web/assets/checkbox-CrnXSMh2.js +1 -0
- package/dist/web/assets/dist-CeWSydFI.js +21 -0
- package/dist/web/assets/index-Cfuv_gb3.js +475 -0
- package/dist/web/assets/index-fBX3akc8.css +1 -0
- package/dist/web/assets/input-CLYhA7PK.js +1 -0
- package/dist/web/assets/{label-B5Q_Zr8M.js → label-Cdim77Jw.js} +1 -1
- package/dist/web/assets/select-CJ57-Bor.js +1 -0
- package/dist/web/assets/shared-B1GD9FMm.js +1 -0
- package/dist/web/assets/{tabs-subtle-Dxgism9f.js → tabs-subtle-CG5cjC_N.js} +1 -1
- package/dist/web/assets/textarea-DLAmNVf_.js +1 -0
- package/dist/web/assets/useConfig-BTp15Lle.js +1 -0
- package/dist/web/assets/{useViewHostProps-BgsQ2yYl.js → useViewHostProps-BQlaFC2Q.js} +1 -1
- package/dist/web/index.html +8 -9
- package/package.json +5 -12
- package/dist/cdn/ChatTab-5ya_YTFV.js +0 -13218
- package/dist/cdn/ConnectionSettingsTab-CeK83dxn.js +0 -145
- package/dist/cdn/PromptsTab-Cspfnl6n.js +0 -4400
- package/dist/cdn/bundle-mjs-B0nmHDtp.js +0 -1953
- package/dist/cdn/card-DqjqAq0o.js +0 -41
- package/dist/cdn/chunk-BO2N2NFS-Cy167e0X.js +0 -17500
- package/dist/cdn/highlighted-body-OFNGDK62-CoReNbTX.js +0 -36
- package/dist/cdn/mermaid-GHXKKRXX-DgVIbk-D.js +0 -2
- package/dist/cdn/pdf-CxFT9FER.js +0 -16291
- package/dist/cdn/sheet-CerCdhxz.js +0 -78
- package/dist/cdn/useHostedSession-BA39Aegc.js +0 -153
- package/dist/cdn/useMCPPrompts-D3_Hla_z.js +0 -104
- package/dist/client/components/chat/streamdown-code-slim.d.ts +0 -4
- package/dist/client/components/chat/streamdown-code-slim.d.ts.map +0 -1
- package/dist/web/assets/ChatTab-CiAqtqhj.js +0 -460
- package/dist/web/assets/ConnectionSettingsTab-CTh6MFKE.js +0 -1
- package/dist/web/assets/ElicitationTab-B3Eg0_Jm.js +0 -1
- package/dist/web/assets/ListTabHeader-G-nQX18m.js +0 -1
- package/dist/web/assets/PromptsTab-CA-SZs43.js +0 -61
- package/dist/web/assets/ResourcesTab-DdMIW_af.js +0 -2
- package/dist/web/assets/SamplingTab-DjyDG01W.js +0 -1
- package/dist/web/assets/ServerMetadataTab-Q4PlqP_B.js +0 -1
- package/dist/web/assets/ToolsTab-BHk8GCmd.js +0 -8
- package/dist/web/assets/ViewPreview-DWtmwzCb.js +0 -1
- package/dist/web/assets/WidgetWrapper-B43lqbld.js +0 -34
- package/dist/web/assets/bundle-mjs-8puS6ou7.js +0 -1
- package/dist/web/assets/checkbox-_GzEPQic.js +0 -1
- package/dist/web/assets/chunk-BO2N2NFS-BdIeB5Lr.js +0 -131
- package/dist/web/assets/dist-DQjEDTKs.js +0 -21
- package/dist/web/assets/highlighted-body-OFNGDK62-Dp3e1QHL.js +0 -1
- package/dist/web/assets/index-Bbn-6QR2.js +0 -475
- package/dist/web/assets/index-BjH-Qp85.css +0 -1
- package/dist/web/assets/input-CjmxOFr6.js +0 -1
- package/dist/web/assets/mermaid-GHXKKRXX-yq1lkD3x.js +0 -1
- package/dist/web/assets/pdf-C3cfS_Ha.js +0 -54
- package/dist/web/assets/select-C0xlfLAa.js +0 -1
- package/dist/web/assets/shared-Dfwy7nyg.js +0 -1
- package/dist/web/assets/sheet-CRPrEqAa.js +0 -1
- package/dist/web/assets/textarea-Ci09-en6.js +0 -1
- package/dist/web/assets/useConfig-b1f_iVFH.js +0 -1
- package/dist/web/assets/useMCPPrompts-CPskz9af.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as e, o as t, r as n, t as r } from "./index-browser-
|
|
1
|
+
import { n as e, o as t, r as n, t as r } from "./index-browser-QDjRGsPo.js";
|
|
2
2
|
//#region src/client/telemetry/events.ts
|
|
3
3
|
var i = class {
|
|
4
4
|
name = "mcp_inspector_open";
|
|
@@ -160,9 +160,9 @@ function b() {
|
|
|
160
160
|
try {
|
|
161
161
|
if (typeof window < "u") {
|
|
162
162
|
let e = window.__INSPECTOR_VERSION__;
|
|
163
|
-
if (e !== void 0) return e;
|
|
163
|
+
if (e !== void 0 && e !== "") return e;
|
|
164
164
|
}
|
|
165
|
-
return "0.0.
|
|
165
|
+
return "20.0.0-beta.1";
|
|
166
166
|
} catch {
|
|
167
167
|
return "0.0.0";
|
|
168
168
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as e } from "./react-BIs9pQ3H.js";
|
|
2
|
-
import { t } from "./
|
|
3
|
-
import {
|
|
2
|
+
import { Rr as t } from "./input-C2OBd4PJ.js";
|
|
3
|
+
import { t as n } from "./jsx-runtime-CIxvMpEo.js";
|
|
4
4
|
e();
|
|
5
|
-
var r =
|
|
6
|
-
function i({ className: e, ...
|
|
5
|
+
var r = n();
|
|
6
|
+
function i({ className: e, ...n }) {
|
|
7
7
|
return /* @__PURE__ */ (0, r.jsx)("textarea", {
|
|
8
8
|
"data-slot": "textarea",
|
|
9
|
-
className:
|
|
10
|
-
...
|
|
9
|
+
className: t("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", e),
|
|
10
|
+
...n
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { s as e, t } from "./react-BIs9pQ3H.js";
|
|
2
|
-
import { Nn as n, Sr as r } from "./input-
|
|
2
|
+
import { Nn as n, Sr as r } from "./input-C2OBd4PJ.js";
|
|
3
3
|
//#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/internals/labelable-provider/useAriaLabelledBy.mjs
|
|
4
4
|
var i = /* @__PURE__ */ e(t(), 1);
|
|
5
5
|
function a(e, t, a, s = !0, c) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { s as e, t } from "./react-BIs9pQ3H.js";
|
|
2
|
-
import { gr as n, yr as r } from "./input-
|
|
3
|
-
import { b as i } from "./AnimatePresence-
|
|
2
|
+
import { gr as n, yr as r } from "./input-C2OBd4PJ.js";
|
|
3
|
+
import { b as i } from "./AnimatePresence-Dcw-FOy8.js";
|
|
4
4
|
//#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/internals/composite/item/useCompositeItem.mjs
|
|
5
5
|
var a = /* @__PURE__ */ e(t(), 1);
|
|
6
6
|
function o(e = {}) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { s as e, t } from "./react-BIs9pQ3H.js";
|
|
2
|
-
import { o as n, t as r } from "./telemetry-
|
|
3
|
-
import { t as i } from "./dist-
|
|
2
|
+
import { o as n, t as r } from "./telemetry-DGoIGfIS.js";
|
|
3
|
+
import { t as i } from "./dist-B0eL32Gb.js";
|
|
4
4
|
//#region src/client/components/chat/types.ts
|
|
5
5
|
var a = /* @__PURE__ */ e(t(), 1), o = {
|
|
6
6
|
openai: "gpt-5.6-terra",
|
|
@@ -69,9 +69,33 @@ async function y(e) {
|
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
71
|
//#endregion
|
|
72
|
+
//#region src/client/components/chat/chatModeStorage.ts
|
|
73
|
+
var b = "mcp-inspector:chat-mode";
|
|
74
|
+
function x() {
|
|
75
|
+
try {
|
|
76
|
+
let e = localStorage.getItem(b);
|
|
77
|
+
if (e === "byok" || e === "managed") return e;
|
|
78
|
+
} catch {}
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
function S(e) {
|
|
82
|
+
try {
|
|
83
|
+
localStorage.setItem(b, e);
|
|
84
|
+
} catch {}
|
|
85
|
+
}
|
|
86
|
+
function C(e, t) {
|
|
87
|
+
let n = x();
|
|
88
|
+
if (n === "byok") return !0;
|
|
89
|
+
if (n === "managed" || e) return !1;
|
|
90
|
+
try {
|
|
91
|
+
if (localStorage.getItem("mcp-inspector-llm-config")) return !0;
|
|
92
|
+
} catch {}
|
|
93
|
+
return !!t;
|
|
94
|
+
}
|
|
95
|
+
//#endregion
|
|
72
96
|
//#region src/client/components/chat/useConfig.ts
|
|
73
|
-
function
|
|
74
|
-
let [t, i] = (0, a.useState)(null), [s, f] = (0, a.useState)(null), [p, m] = (0, a.useState)(!1), [h, g] = (0, a.useState)("openai"), [_, v] = (0, a.useState)(""), [y, b] = (0, a.useState)(o.openai), [x,
|
|
97
|
+
function w({ mcpServerUrl: e }) {
|
|
98
|
+
let [t, i] = (0, a.useState)(null), [s, f] = (0, a.useState)(null), [p, m] = (0, a.useState)(!1), [h, g] = (0, a.useState)("openai"), [_, v] = (0, a.useState)(""), [y, b] = (0, a.useState)(o.openai), [x, C] = (0, a.useState)(u("openai")), w = (0, a.useCallback)(() => {
|
|
75
99
|
let e = localStorage.getItem("mcp-inspector-api-keys");
|
|
76
100
|
if (e) try {
|
|
77
101
|
return JSON.parse(e);
|
|
@@ -79,9 +103,9 @@ function b({ mcpServerUrl: e }) {
|
|
|
79
103
|
return console.error("Failed to load API keys:", e), {};
|
|
80
104
|
}
|
|
81
105
|
return {};
|
|
82
|
-
}, []),
|
|
106
|
+
}, []), T = (0, a.useCallback)((e) => {
|
|
83
107
|
localStorage.setItem("mcp-inspector-api-keys", JSON.stringify(e));
|
|
84
|
-
}, []),
|
|
108
|
+
}, []), E = (0, a.useCallback)(() => {
|
|
85
109
|
let e = localStorage.getItem("mcp-inspector-base-urls");
|
|
86
110
|
if (e) try {
|
|
87
111
|
return JSON.parse(e);
|
|
@@ -89,15 +113,15 @@ function b({ mcpServerUrl: e }) {
|
|
|
89
113
|
return console.error("Failed to load base URLs:", e), {};
|
|
90
114
|
}
|
|
91
115
|
return {};
|
|
92
|
-
}, []),
|
|
116
|
+
}, []), D = (0, a.useCallback)((e) => {
|
|
93
117
|
localStorage.setItem("mcp-inspector-base-urls", JSON.stringify(e));
|
|
94
|
-
}, []), [
|
|
95
|
-
|
|
118
|
+
}, []), [O, k] = (0, a.useState)("none"), [A, j] = (0, a.useState)(""), [M, N] = (0, a.useState)(""), [P, F] = (0, a.useState)("");
|
|
119
|
+
(0, a.useEffect)(() => {
|
|
96
120
|
let e = () => {
|
|
97
|
-
let e = localStorage.getItem("mcp-inspector-llm-config"), t =
|
|
121
|
+
let e = localStorage.getItem("mcp-inspector-llm-config"), t = w(), n = E();
|
|
98
122
|
if (e) try {
|
|
99
123
|
let r = JSON.parse(e);
|
|
100
|
-
i(r), g(r.provider), v(t[r.provider] || r.apiKey || ""), b(r.model),
|
|
124
|
+
i(r), g(r.provider), v(t[r.provider] || r.apiKey || ""), b(r.model), C(n[r.provider] || r.baseUrl || u(r.provider));
|
|
101
125
|
} catch (e) {
|
|
102
126
|
console.error("Failed to load LLM config:", e);
|
|
103
127
|
}
|
|
@@ -111,28 +135,31 @@ function b({ mcpServerUrl: e }) {
|
|
|
111
135
|
return window.addEventListener("llm-config-updated", t), window.addEventListener("storage", n), () => {
|
|
112
136
|
window.removeEventListener("llm-config-updated", t), window.removeEventListener("storage", n);
|
|
113
137
|
};
|
|
114
|
-
}, [
|
|
138
|
+
}, [w, E]), (0, a.useEffect)(() => {
|
|
115
139
|
let t = localStorage.getItem("mcp-inspector-auth-config");
|
|
116
140
|
if (t) try {
|
|
117
141
|
let e = JSON.parse(t);
|
|
118
|
-
f(e),
|
|
142
|
+
f(e), k(e.type), e.username && j(e.username), e.password && N(e.password), e.token && F(e.token);
|
|
119
143
|
} catch (e) {
|
|
120
144
|
console.error("Failed to load auth config:", e);
|
|
121
145
|
}
|
|
122
146
|
else try {
|
|
123
147
|
let t = `mcp:auth_${d(e)}_tokens`;
|
|
124
|
-
localStorage.getItem(t) && (f({ type: "oauth" }),
|
|
148
|
+
localStorage.getItem(t) && (f({ type: "oauth" }), k("oauth"));
|
|
125
149
|
} catch (e) {
|
|
126
150
|
console.error("Failed to check for OAuth tokens:", e);
|
|
127
151
|
}
|
|
128
|
-
}, [e])
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
152
|
+
}, [e]);
|
|
153
|
+
let I = (0, a.useRef)(h);
|
|
154
|
+
return (0, a.useEffect)(() => {
|
|
155
|
+
let e = I.current !== h;
|
|
156
|
+
I.current = h, e && !l(h) && b(o[h]);
|
|
157
|
+
let t = w(), n = E();
|
|
158
|
+
v(t[h] || ""), C(n[h] || u(h));
|
|
132
159
|
}, [
|
|
133
160
|
h,
|
|
134
|
-
|
|
135
|
-
|
|
161
|
+
w,
|
|
162
|
+
E
|
|
136
163
|
]), {
|
|
137
164
|
llmConfig: t,
|
|
138
165
|
authConfig: s,
|
|
@@ -145,14 +172,14 @@ function b({ mcpServerUrl: e }) {
|
|
|
145
172
|
tempModel: y,
|
|
146
173
|
setTempModel: b,
|
|
147
174
|
tempBaseUrl: x,
|
|
148
|
-
setTempBaseUrl:
|
|
149
|
-
tempAuthType:
|
|
175
|
+
setTempBaseUrl: C,
|
|
176
|
+
tempAuthType: O,
|
|
150
177
|
saveLLMConfig: (0, a.useCallback)(() => {
|
|
151
|
-
if (c(h) && !_.trim() || l(h) && !x.trim()) return;
|
|
152
|
-
let e =
|
|
153
|
-
if (e[h] = _,
|
|
154
|
-
let e =
|
|
155
|
-
e[h] = x.trim(),
|
|
178
|
+
if (c(h) && !_.trim() || l(h) && !x.trim()) return !1;
|
|
179
|
+
let e = w();
|
|
180
|
+
if (e[h] = _, T(e), l(h) && x.trim()) {
|
|
181
|
+
let e = E();
|
|
182
|
+
e[h] = x.trim(), D(e);
|
|
156
183
|
}
|
|
157
184
|
let t = {
|
|
158
185
|
provider: h,
|
|
@@ -160,12 +187,12 @@ function b({ mcpServerUrl: e }) {
|
|
|
160
187
|
model: y,
|
|
161
188
|
...l(h) ? { baseUrl: x.trim() || u(h) } : {}
|
|
162
189
|
}, a = {
|
|
163
|
-
type:
|
|
164
|
-
...
|
|
165
|
-
username:
|
|
166
|
-
password:
|
|
190
|
+
type: O,
|
|
191
|
+
...O === "basic" && {
|
|
192
|
+
username: A.trim(),
|
|
193
|
+
password: M.trim()
|
|
167
194
|
},
|
|
168
|
-
...
|
|
195
|
+
...O === "bearer" && { token: P.trim() }
|
|
169
196
|
};
|
|
170
197
|
i(t), f(a), localStorage.setItem("mcp-inspector-llm-config", JSON.stringify(t)), localStorage.setItem("mcp-inspector-auth-config", JSON.stringify(a)), window.dispatchEvent(new CustomEvent("llm-config-updated"));
|
|
171
198
|
try {
|
|
@@ -174,35 +201,35 @@ function b({ mcpServerUrl: e }) {
|
|
|
174
201
|
model: y
|
|
175
202
|
})).catch(() => {});
|
|
176
203
|
} catch {}
|
|
177
|
-
m(!1);
|
|
204
|
+
return m(!1), !0;
|
|
178
205
|
}, [
|
|
179
206
|
h,
|
|
180
207
|
_,
|
|
181
208
|
y,
|
|
182
209
|
x,
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
C,
|
|
210
|
+
O,
|
|
211
|
+
A,
|
|
212
|
+
M,
|
|
213
|
+
P,
|
|
188
214
|
w,
|
|
189
215
|
T,
|
|
190
|
-
E
|
|
216
|
+
E,
|
|
217
|
+
D
|
|
191
218
|
]),
|
|
192
219
|
clearConfig: (0, a.useCallback)(() => {
|
|
193
220
|
i(null), f(null);
|
|
194
|
-
let e =
|
|
195
|
-
delete e[h],
|
|
196
|
-
let t =
|
|
197
|
-
delete t[h],
|
|
221
|
+
let e = w();
|
|
222
|
+
delete e[h], T(e);
|
|
223
|
+
let t = E();
|
|
224
|
+
delete t[h], D(t), v(""), C(u(h)), j(""), N(""), F(""), k("none"), localStorage.removeItem("mcp-inspector-llm-config"), localStorage.removeItem("mcp-inspector-auth-config"), S("managed");
|
|
198
225
|
}, [
|
|
199
226
|
h,
|
|
200
|
-
C,
|
|
201
227
|
w,
|
|
202
228
|
T,
|
|
203
|
-
E
|
|
229
|
+
E,
|
|
230
|
+
D
|
|
204
231
|
])
|
|
205
232
|
};
|
|
206
233
|
}
|
|
207
234
|
//#endregion
|
|
208
|
-
export {
|
|
235
|
+
export { d as a, c, y as i, l, C as n, _ as o, S as r, u as s, w as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { s as e, t } from "./react-BIs9pQ3H.js";
|
|
2
|
-
import { d as n } from "./react-
|
|
2
|
+
import { d as n } from "./react-Dn8PWXwP.js";
|
|
3
3
|
import { i as r, r as i, s as a, t as o } from "./WidgetDebugContext-D4usL_MA.js";
|
|
4
4
|
//#region src/client/console-log-bus.ts
|
|
5
5
|
var s = /* @__PURE__ */ e(t(), 1), c = new class {
|
package/dist/cli.js
CHANGED
|
@@ -7,6 +7,61 @@ import { cors as cors2 } from "hono/cors";
|
|
|
7
7
|
import { logger as logger2 } from "hono/logger";
|
|
8
8
|
import open from "open";
|
|
9
9
|
|
|
10
|
+
// src/server/asset-urls.ts
|
|
11
|
+
var JSDELIVR_INSPECTOR_TAG = "beta";
|
|
12
|
+
var DEFAULT_REMOTE_ASSETS_URL = `https://cdn.jsdelivr.net/npm/@mcp-use/inspector@${JSDELIVR_INSPECTOR_TAG}/dist/cdn/inspector.js`;
|
|
13
|
+
function inspectorStylesUrl(assetsUrl) {
|
|
14
|
+
return assetsUrl.replace(/\.js(?=$|[?#])/, ".css");
|
|
15
|
+
}
|
|
16
|
+
function isDefaultJsdelivrInspectorUrl(url) {
|
|
17
|
+
return url.startsWith("https://cdn.jsdelivr.net/npm/@mcp-use/inspector@");
|
|
18
|
+
}
|
|
19
|
+
function withInspectorCacheBust(assetsUrl) {
|
|
20
|
+
if (!isDefaultJsdelivrInspectorUrl(assetsUrl)) return assetsUrl;
|
|
21
|
+
const sep = assetsUrl.includes("?") ? "&" : "?";
|
|
22
|
+
return `${assetsUrl}${sep}cb=${crypto.randomUUID()}`;
|
|
23
|
+
}
|
|
24
|
+
function resolveInspectorAssetUrls(inspectorMode2, basePath) {
|
|
25
|
+
const envUrl = process.env.INSPECTOR_ASSETS_URL ?? process.env.MCP_USE_INSPECTOR_ASSETS_URL;
|
|
26
|
+
if (envUrl) {
|
|
27
|
+
return {
|
|
28
|
+
jsUrl: envUrl,
|
|
29
|
+
cssUrl: inspectorStylesUrl(envUrl),
|
|
30
|
+
useLocal: false
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
const legacyBase = process.env.INSPECTOR_CDN_BASE;
|
|
34
|
+
if (legacyBase) {
|
|
35
|
+
const base = legacyBase.replace(/\/$/, "");
|
|
36
|
+
if (/\.js(?:$|[?#])/.test(base)) {
|
|
37
|
+
return {
|
|
38
|
+
jsUrl: base,
|
|
39
|
+
cssUrl: inspectorStylesUrl(base),
|
|
40
|
+
useLocal: false
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
jsUrl: `${base}/inspector.js`,
|
|
45
|
+
cssUrl: `${base}/inspector.css`,
|
|
46
|
+
useLocal: false
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
if (inspectorMode2 === "standalone") {
|
|
50
|
+
const prefix = basePath;
|
|
51
|
+
return {
|
|
52
|
+
jsUrl: `${prefix}/dist/cdn/inspector.js`,
|
|
53
|
+
cssUrl: `${prefix}/dist/cdn/inspector.css`,
|
|
54
|
+
useLocal: true
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
const jsUrl = DEFAULT_REMOTE_ASSETS_URL;
|
|
58
|
+
return {
|
|
59
|
+
jsUrl,
|
|
60
|
+
cssUrl: inspectorStylesUrl(jsUrl),
|
|
61
|
+
useLocal: false
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
10
65
|
// src/server/favicon-links.ts
|
|
11
66
|
var FAVICON_CACHE_VERSION = "4";
|
|
12
67
|
var INSPECTOR_FAVICON_ASSETS = [
|
|
@@ -39,8 +94,12 @@ var CONTENT_TYPES = {
|
|
|
39
94
|
function resolveFaviconDir() {
|
|
40
95
|
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
41
96
|
for (const dir of [
|
|
97
|
+
path.resolve(here, "cdn"),
|
|
98
|
+
// dist/cli.js (bundled)
|
|
42
99
|
path.resolve(here, "../cdn"),
|
|
100
|
+
// dist/server/*.js
|
|
43
101
|
path.resolve(here, "../../public")
|
|
102
|
+
// src/server/*.ts (dev)
|
|
44
103
|
]) {
|
|
45
104
|
if (existsSync(path.join(dir, "favicon-black.svg"))) {
|
|
46
105
|
return dir;
|
|
@@ -69,11 +128,61 @@ function registerInspectorFaviconStatic(app2, basePath = "") {
|
|
|
69
128
|
}
|
|
70
129
|
}
|
|
71
130
|
|
|
131
|
+
// src/server/static-assets.ts
|
|
132
|
+
import { existsSync as existsSync2, readFileSync as readFileSync2 } from "fs";
|
|
133
|
+
import path2 from "path";
|
|
134
|
+
import { fileURLToPath as fileURLToPath2 } from "url";
|
|
135
|
+
var CONTENT_TYPES2 = {
|
|
136
|
+
".js": "application/javascript",
|
|
137
|
+
".css": "text/css",
|
|
138
|
+
".svg": "image/svg+xml",
|
|
139
|
+
".png": "image/png",
|
|
140
|
+
".ico": "image/x-icon",
|
|
141
|
+
".webmanifest": "application/manifest+json"
|
|
142
|
+
};
|
|
143
|
+
function resolveDistCdnDir() {
|
|
144
|
+
const here = path2.dirname(fileURLToPath2(import.meta.url));
|
|
145
|
+
for (const dir of [
|
|
146
|
+
path2.resolve(here, "cdn"),
|
|
147
|
+
// dist/cli.js (bundled)
|
|
148
|
+
path2.resolve(here, "../cdn")
|
|
149
|
+
// dist/server/*.js
|
|
150
|
+
]) {
|
|
151
|
+
if (existsSync2(path2.join(dir, "inspector.js"))) {
|
|
152
|
+
return dir;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
throw new Error(
|
|
156
|
+
"Inspector bundle not found (expected dist/cdn/inspector.js)"
|
|
157
|
+
);
|
|
158
|
+
}
|
|
159
|
+
function registerInspectorStaticAssets(app2, basePath = "") {
|
|
160
|
+
const cdnDir = resolveDistCdnDir();
|
|
161
|
+
const mountPath = `${basePath}/dist/cdn`;
|
|
162
|
+
app2.get(`${mountPath}/*`, (c) => {
|
|
163
|
+
const subPath = c.req.path.slice(mountPath.length);
|
|
164
|
+
const relative = subPath.startsWith("/") ? subPath.slice(1) : subPath;
|
|
165
|
+
if (!relative || relative.includes("..")) {
|
|
166
|
+
return c.notFound();
|
|
167
|
+
}
|
|
168
|
+
const file = path2.resolve(cdnDir, relative);
|
|
169
|
+
const root = cdnDir.endsWith(path2.sep) ? cdnDir : `${cdnDir}${path2.sep}`;
|
|
170
|
+
if (!file.startsWith(root) || !existsSync2(file)) {
|
|
171
|
+
return c.notFound();
|
|
172
|
+
}
|
|
173
|
+
const ext = path2.extname(file);
|
|
174
|
+
return c.body(readFileSync2(file), 200, {
|
|
175
|
+
"Content-Type": CONTENT_TYPES2[ext] ?? "application/octet-stream",
|
|
176
|
+
"Cache-Control": "public, max-age=3600"
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
|
|
72
181
|
// package.json
|
|
73
182
|
var package_default = {
|
|
74
183
|
name: "@mcp-use/inspector",
|
|
75
184
|
type: "module",
|
|
76
|
-
version: "20.0.0-beta.
|
|
185
|
+
version: "20.0.0-beta.1",
|
|
77
186
|
description: "MCP Inspector - A tool for inspecting and debugging MCP servers",
|
|
78
187
|
author: "",
|
|
79
188
|
license: "MIT",
|
|
@@ -130,7 +239,7 @@ var package_default = {
|
|
|
130
239
|
"build:server": "tsup 'src/server/**/*.ts' --format esm --out-dir dist/server && tsc -p tsconfig.server.json --emitDeclarationOnly --declaration",
|
|
131
240
|
"build:cli": "tsup src/server/cli.ts --format esm --out-dir dist/",
|
|
132
241
|
prepublishOnly: "pnpm --filter @mcp-use/client build && pnpm build",
|
|
133
|
-
start: "node dist/
|
|
242
|
+
start: "node dist/cli.js --port 3000",
|
|
134
243
|
preview: "vite preview",
|
|
135
244
|
"type-check": "tsc --noEmit",
|
|
136
245
|
lint: "eslint .",
|
|
@@ -175,22 +284,15 @@ var package_default = {
|
|
|
175
284
|
"@hono/node-server": "^1.19.13",
|
|
176
285
|
"@mcp-use/agent": "workspace:*",
|
|
177
286
|
"@mcp-use/client": "workspace:*",
|
|
178
|
-
"@paper-design/shaders-react": "^0.0.77",
|
|
179
|
-
"@shikijs/langs": "^3.23.0",
|
|
180
|
-
"@shikijs/themes": "^3.23.0",
|
|
181
287
|
"class-variance-authority": "^0.7.1",
|
|
182
288
|
clsx: "^2.1.1",
|
|
183
|
-
"framer-motion": "^12.42.2",
|
|
184
289
|
hono: "^4.12.12",
|
|
185
290
|
"lucide-react": "^0.562.0",
|
|
186
291
|
"markdown-to-jsx": "^9.7.4",
|
|
187
292
|
motion: "^12.34.2",
|
|
188
293
|
open: "^11.0.0",
|
|
189
|
-
"pdfjs-dist": "^6.1.200",
|
|
190
294
|
"react-resizable-panels": "^4.6.4",
|
|
191
295
|
sonner: "^2.0.7",
|
|
192
|
-
shiki: "^3.23.0",
|
|
193
|
-
streamdown: "^2.5.0",
|
|
194
296
|
"tailwind-merge": "^3.5.0"
|
|
195
297
|
},
|
|
196
298
|
publishConfig: {
|
|
@@ -230,15 +332,12 @@ function getInspectorVersion() {
|
|
|
230
332
|
|
|
231
333
|
// src/server/cdn-shell.ts
|
|
232
334
|
var INSPECTOR_VERSION = getInspectorVersion();
|
|
233
|
-
var CDN_BASE = process.env.INSPECTOR_CDN_BASE ?? "https://inspector-cdn.mcp-use.com";
|
|
234
|
-
var CDN_JS_URL = `${CDN_BASE}/inspector@${INSPECTOR_VERSION}.js`;
|
|
235
|
-
var CDN_CSS_URL = `${CDN_BASE}/inspector@${INSPECTOR_VERSION}.css`;
|
|
236
335
|
var OAUTH_POPUP_CLOSED_HTML = `<!doctype html>
|
|
237
336
|
<html lang="en"><head><meta charset="utf-8"><title>Signed in</title><meta name="robots" content="noindex"><style>html,body{margin:0;height:100%;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#4b5563;background:#fff}</style></head>
|
|
238
337
|
<body><div>Signed in. You can close this window.</div>
|
|
239
338
|
<script>try{if(window.opener&&!window.opener.closed)window.opener.postMessage({type:"manufact:oauth-complete"},"*")}catch(e){}try{window.close()}catch(e){}</script>
|
|
240
339
|
</body></html>`;
|
|
241
|
-
function generateCdnShellHtml(config, basePath
|
|
340
|
+
function generateCdnShellHtml(config, basePath, assets) {
|
|
242
341
|
const scripts = [];
|
|
243
342
|
if (config?.basePath !== void 0) {
|
|
244
343
|
scripts.push(
|
|
@@ -283,7 +382,7 @@ function generateCdnShellHtml(config, basePath = "") {
|
|
|
283
382
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
284
383
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
285
384
|
<link href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@400;500;700&display=swap" rel="stylesheet" />
|
|
286
|
-
<link rel="stylesheet" href="${
|
|
385
|
+
<link rel="stylesheet" href="${assets.cssUrl}" />
|
|
287
386
|
<title>Inspector | mcp-use</title>
|
|
288
387
|
<meta name="description" content="Free, open-source MCP Inspector by mcp-use. Connect to any MCP server, test tools, prompts, and resources, inspect RPC logs, and debug MCP apps \u2014 all in your browser." />
|
|
289
388
|
<script>window.__INSPECTOR_VERSION__ = ${JSON.stringify(INSPECTOR_VERSION)};</script>
|
|
@@ -304,11 +403,12 @@ function generateCdnShellHtml(config, basePath = "") {
|
|
|
304
403
|
}
|
|
305
404
|
</script>
|
|
306
405
|
<div id="root"></div>
|
|
307
|
-
<script type="module" src="${
|
|
406
|
+
<script type="module" src="${assets.jsUrl}"></script>
|
|
308
407
|
</body>
|
|
309
408
|
</html>`;
|
|
310
409
|
}
|
|
311
410
|
function registerInspectorCdnShell(app2, config, basePath = "") {
|
|
411
|
+
const assets = resolveInspectorAssetUrls(config?.inspectorMode, basePath);
|
|
312
412
|
const p = (suffix) => `${basePath}${suffix}`;
|
|
313
413
|
const effectiveConfig = {
|
|
314
414
|
...config,
|
|
@@ -316,7 +416,16 @@ function registerInspectorCdnShell(app2, config, basePath = "") {
|
|
|
316
416
|
proxyUrl: config?.proxyUrl !== void 0 ? config.proxyUrl : p("/inspector/api/proxy"),
|
|
317
417
|
disableTelemetry: config?.disableTelemetry ?? process.env.MCP_USE_ANONYMIZED_TELEMETRY === "false"
|
|
318
418
|
};
|
|
319
|
-
const serveShell = (c) =>
|
|
419
|
+
const serveShell = (c) => {
|
|
420
|
+
const base = resolveInspectorAssetUrls(config?.inspectorMode, basePath);
|
|
421
|
+
const jsUrl = withInspectorCacheBust(base.jsUrl);
|
|
422
|
+
return c.html(
|
|
423
|
+
generateCdnShellHtml(effectiveConfig, basePath, {
|
|
424
|
+
jsUrl,
|
|
425
|
+
cssUrl: inspectorStylesUrl(jsUrl)
|
|
426
|
+
})
|
|
427
|
+
);
|
|
428
|
+
};
|
|
320
429
|
registerInspectorFaviconStatic(app2, basePath);
|
|
321
430
|
app2.get(
|
|
322
431
|
p("/inspector/oauth-popup-closed.html"),
|
|
@@ -343,6 +452,9 @@ function registerInspectorCdnShell(app2, config, basePath = "") {
|
|
|
343
452
|
return c.redirect(`${p("/inspector")}${url.search}`);
|
|
344
453
|
});
|
|
345
454
|
}
|
|
455
|
+
if (assets.useLocal) {
|
|
456
|
+
registerInspectorStaticAssets(app2, basePath);
|
|
457
|
+
}
|
|
346
458
|
}
|
|
347
459
|
|
|
348
460
|
// src/server/proxy/mcp-proxy.ts
|
|
@@ -645,18 +757,18 @@ function classifyMetadataTarget(serverUrl, target, binding) {
|
|
|
645
757
|
return void 0;
|
|
646
758
|
}
|
|
647
759
|
function protectedResourceMetadataUrls(serverUrl) {
|
|
648
|
-
const
|
|
760
|
+
const path3 = serverUrl.pathname === "/" ? "" : serverUrl.pathname;
|
|
649
761
|
return [
|
|
650
|
-
new URL(`/.well-known/oauth-protected-resource${
|
|
762
|
+
new URL(`/.well-known/oauth-protected-resource${path3}`, serverUrl.origin),
|
|
651
763
|
new URL("/.well-known/oauth-protected-resource", serverUrl.origin)
|
|
652
764
|
];
|
|
653
765
|
}
|
|
654
766
|
function authorizationServerMetadataUrls(issuer) {
|
|
655
|
-
const
|
|
767
|
+
const path3 = issuer.pathname === "/" ? "" : issuer.pathname;
|
|
656
768
|
return [
|
|
657
|
-
new URL(`/.well-known/oauth-authorization-server${
|
|
658
|
-
new URL(`/.well-known/openid-configuration${
|
|
659
|
-
new URL(`${
|
|
769
|
+
new URL(`/.well-known/oauth-authorization-server${path3}`, issuer.origin),
|
|
770
|
+
new URL(`/.well-known/openid-configuration${path3}`, issuer.origin),
|
|
771
|
+
new URL(`${path3 || ""}/.well-known/openid-configuration`, issuer.origin)
|
|
660
772
|
];
|
|
661
773
|
}
|
|
662
774
|
async function bindProtectedResource(metadata, serverUrl, binding, allowLoopback) {
|
|
@@ -965,6 +1077,9 @@ var InvalidUpstreamError = class extends Error {
|
|
|
965
1077
|
};
|
|
966
1078
|
|
|
967
1079
|
// src/server/proxy/mcp-proxy.ts
|
|
1080
|
+
function isOpenEndedSseResponse(contentType, contentLength) {
|
|
1081
|
+
return contentType.includes("text/event-stream") && !contentLength;
|
|
1082
|
+
}
|
|
968
1083
|
function mountMcpProxy(app2, options = {}) {
|
|
969
1084
|
const basePath = options.path || "/mcp/proxy";
|
|
970
1085
|
const enableLogging = options.enableLogging !== false;
|
|
@@ -1101,10 +1216,11 @@ function mountMcpProxy(app2, options = {}) {
|
|
|
1101
1216
|
}
|
|
1102
1217
|
});
|
|
1103
1218
|
const contentType = response.headers.get("content-type") || "";
|
|
1104
|
-
const isSSE = contentType.includes("text/event-stream");
|
|
1105
|
-
const isGetRequest = c.req.method === "GET";
|
|
1106
1219
|
const upstreamContentLength = response.headers.get("content-length");
|
|
1107
|
-
const isTrueStream =
|
|
1220
|
+
const isTrueStream = isOpenEndedSseResponse(
|
|
1221
|
+
contentType,
|
|
1222
|
+
upstreamContentLength
|
|
1223
|
+
);
|
|
1108
1224
|
if (isTrueStream) {
|
|
1109
1225
|
return new Response(response.body, {
|
|
1110
1226
|
status: response.status,
|
|
@@ -13,7 +13,9 @@ interface ManufactAuthSnapshot {
|
|
|
13
13
|
}
|
|
14
14
|
export declare function canShareManufactSession(inspectorUrl: string, cloudOrigin: string): boolean;
|
|
15
15
|
export declare function getSharedManufactSession(chatApiUrl: string): Promise<ManufactUser | null>;
|
|
16
|
-
export declare function authorizeManufact(chatApiUrl: string
|
|
16
|
+
export declare function authorizeManufact(chatApiUrl: string, options?: {
|
|
17
|
+
isRetry?: boolean;
|
|
18
|
+
}): Promise<void>;
|
|
17
19
|
export declare function completeManufactAuthorization(url?: URL): Promise<void>;
|
|
18
20
|
export declare function logoutManufact(chatApiUrl: string, mode: ManufactAuthSnapshot["mode"]): Promise<void>;
|
|
19
21
|
export declare function getManufactAccessToken(chatApiUrl: string): Promise<string | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manufact-auth.d.ts","sourceRoot":"","sources":["../../../src/client/auth/manufact-auth.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AA6BD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC;CAClC;
|
|
1
|
+
{"version":3,"file":"manufact-auth.d.ts","sourceRoot":"","sources":["../../../src/client/auth/manufact-auth.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AA6BD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC;CAClC;AAgDD,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,OAAO,CAeT;AAiUD,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAE9B;AAgED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9B,OAAO,CAAC,IAAI,CAAC,CAsEf;AAED,wBAAsB,6BAA6B,CACjD,GAAG,MAAgC,GAClC,OAAO,CAAC,IAAI,CAAC,CAmCf;AA0FD,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIxB;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG;IACtE,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B,CAiDA"}
|
|
@@ -64,13 +64,6 @@ export interface ChatTabProps {
|
|
|
64
64
|
credentials?: RequestCredentials;
|
|
65
65
|
/** Extra headers to send with every streaming request. */
|
|
66
66
|
extraHeaders?: Record<string, string>;
|
|
67
|
-
/**
|
|
68
|
-
* True when the hosted inspector's managed key isn't usable because the
|
|
69
|
-
* selected server is on localhost (the managed backend can't reach it).
|
|
70
|
-
* Surfaces an explanatory notice on the configure-key empty state so the
|
|
71
|
-
* BYOK fallback is explained rather than silent. Default: false.
|
|
72
|
-
*/
|
|
73
|
-
managedKeyUnavailable?: boolean;
|
|
74
67
|
/**
|
|
75
68
|
* Custom body builder for the streaming request.
|
|
76
69
|
* Use to send only `{ messages }` to a server-managed backend.
|
|
@@ -100,6 +93,6 @@ export interface ChatTabProps {
|
|
|
100
93
|
/** Raise ChatHeader above host chrome (cloud embed). */
|
|
101
94
|
elevatedHeader?: boolean;
|
|
102
95
|
}
|
|
103
|
-
export declare function ChatTab({ connection, isConnected, useClientSide, enableKeyboardShortcuts, prompts, serverId, callPrompt, readResource, chatApiUrl, waitForChatApiUrl, initialMessages, managedLlmConfig, managedCloudModel, enableFreeTierUpgrade, clearButtonLabel, hideTitle, hideModelBadge, clearButtonHideIcon, clearButtonHideShortcut, clearButtonVariant, hideClearButton, hideToolSelector, chatQuickQuestions, chatFollowups, streamProtocol, credentials, extraHeaders, body,
|
|
96
|
+
export declare function ChatTab({ connection, isConnected, useClientSide, enableKeyboardShortcuts, prompts, serverId, callPrompt, readResource, chatApiUrl, waitForChatApiUrl, initialMessages, managedLlmConfig, managedCloudModel, enableFreeTierUpgrade, clearButtonLabel, hideTitle, hideModelBadge, clearButtonHideIcon, clearButtonHideShortcut, clearButtonVariant, hideClearButton, hideToolSelector, chatQuickQuestions, chatFollowups, streamProtocol, credentials, extraHeaders, body, chatStorageProvider, enableChatHistory, activeChatId: controlledActiveChatId, onActiveChatIdChange, titleGenerationReady, activeChatTitle, onChatTitleGenerated, defaultView, systemPromptProvider: externalSystemPromptProvider, elevatedHeader, }: ChatTabProps): import("react/jsx-runtime").JSX.Element;
|
|
104
97
|
export {};
|
|
105
98
|
//# sourceMappingURL=ChatTab.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatTab.d.ts","sourceRoot":"","sources":["../../../src/client/components/ChatTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,MAAM,EACP,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAavD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAmBvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatTab.d.ts","sourceRoot":"","sources":["../../../src/client/components/ChatTab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourcesTab.d.ts","sourceRoot":"","sources":["../../../src/client/components/ResourcesTab.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAqBtD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,UAAU,iBAAiB;IACzB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,EAC3B,GAAG,EACH,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,EAAE,iBAAiB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"ResourcesTab.d.ts","sourceRoot":"","sources":["../../../src/client/components/ResourcesTab.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAqBtD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,UAAU,iBAAiB;IACzB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,EAC3B,GAAG,EACH,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,EAAE,iBAAiB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,CAAA;CAAE,2CAsevE;yBA9ee,YAAY"}
|