Added general meta data section to add pairs for all requests
This commit is contained in:
parent
78c56b350b
commit
842aa3c8ca
1 changed files with 835 additions and 25 deletions
|
|
@ -47,6 +47,7 @@ import {
|
|||
Hash,
|
||||
Key,
|
||||
MessageSquare,
|
||||
Settings,
|
||||
} from "lucide-react";
|
||||
|
||||
import { z } from "zod";
|
||||
|
|
@ -80,6 +81,7 @@ import {
|
|||
CustomHeaders,
|
||||
migrateFromLegacyAuth,
|
||||
} from "./lib/types/customHeaders";
|
||||
import MetaDataTab from "./components/MetaDataTab";
|
||||
|
||||
const CONFIG_LOCAL_STORAGE_KEY = "inspectorConfig_v1";
|
||||
|
||||
|
|
@ -195,9 +197,27 @@ const App = () => {
|
|||
const [authState, setAuthState] =
|
||||
useState<AuthDebuggerState>(EMPTY_DEBUGGER_STATE);
|
||||
|
||||
// Meta data state - persisted in localStorage
|
||||
const [metaData, setMetaData] = useState<Record<string, string>>(() => {
|
||||
const savedMetaData = localStorage.getItem("lastMetaData");
|
||||
if (savedMetaData) {
|
||||
try {
|
||||
return JSON.parse(savedMetaData);
|
||||
} catch (error) {
|
||||
console.warn("Failed to parse saved meta data:", error);
|
||||
}
|
||||
}
|
||||
return {};
|
||||
});
|
||||
|
||||
const updateAuthState = (updates: Partial<AuthDebuggerState>) => {
|
||||
setAuthState((prev) => ({ ...prev, ...updates }));
|
||||
};
|
||||
|
||||
const handleMetaDataChange = (newMetaData: Record<string, string>) => {
|
||||
setMetaData(newMetaData);
|
||||
localStorage.setItem("lastMetaData", JSON.stringify(newMetaData));
|
||||
};
|
||||
const nextRequestId = useRef(0);
|
||||
const rootsRef = useRef<Root[]>([]);
|
||||
|
||||
|
|
@ -299,6 +319,7 @@ const App = () => {
|
|||
},
|
||||
getRoots: () => rootsRef.current,
|
||||
defaultLoggingLevel: logLevel,
|
||||
metaData,
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
|
|
@ -789,16 +810,21 @@ const App = () => {
|
|||
? cleanParams(params, tool.inputSchema as JsonSchemaType)
|
||||
: params;
|
||||
|
||||
// Merge general metadata with tool-specific metadata
|
||||
// Tool-specific metadata takes precedence over general metadata
|
||||
const mergedMeta = {
|
||||
...metaData, // General metadata first
|
||||
progressToken: progressTokenRef.current++,
|
||||
...(meta ?? {}), // Tool-specific metadata overrides
|
||||
};
|
||||
|
||||
const response = await sendMCPRequest(
|
||||
{
|
||||
method: "tools/call" as const,
|
||||
params: {
|
||||
name,
|
||||
arguments: cleanedParams,
|
||||
_meta: {
|
||||
progressToken: progressTokenRef.current++,
|
||||
...(meta ?? {}),
|
||||
},
|
||||
_meta: mergedMeta,
|
||||
},
|
||||
},
|
||||
CompatibilityCallToolResultSchema,
|
||||
|
|
@ -994,6 +1020,10 @@ const App = () => {
|
|||
<Key className="w-4 h-4 mr-2" />
|
||||
Auth
|
||||
</TabsTrigger>
|
||||
<TabsTrigger value="metadata">
|
||||
<Settings className="w-4 h-4 mr-2" />
|
||||
Meta Data
|
||||
</TabsTrigger>
|
||||
</TabsList>
|
||||
|
||||
<div className="w-full">
|
||||
|
|
@ -1154,6 +1184,10 @@ const App = () => {
|
|||
onRootsChange={handleRootsChange}
|
||||
/>
|
||||
<AuthDebuggerWrapper />
|
||||
<MetaDataTab
|
||||
metaData={metaData}
|
||||
onMetaDataChange={handleMetaDataChange}
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in a new issue