This commit is contained in:
Eric Horacek 2025-07-13 18:25:53 -07:00
commit 444c6b5704

View file

@ -19,6 +19,10 @@ import ListPane from "./ListPane";
import JsonView from "./JsonView";
import ToolResults from "./ToolResults";
// Type guard to safely detect the optional _meta field without using `any`
const hasMeta = (tool: Tool): tool is Tool & { _meta: unknown } =>
typeof (tool as { _meta?: unknown })._meta !== "undefined";
const ToolsTab = ({
tools,
listTools,
@ -246,38 +250,40 @@ const ToolsTab = ({
</div>
</div>
)}
{selectedTool && (selectedTool as any)._meta && (
<div className="bg-gray-50 dark:bg-gray-900 p-3 rounded-lg">
<div className="flex items-center justify-between mb-2">
<h4 className="text-sm font-semibold">Meta:</h4>
<Button
size="sm"
variant="ghost"
onClick={() => setIsMetaExpanded(!isMetaExpanded)}
className="h-6 px-2"
{selectedTool &&
hasMeta(selectedTool) &&
selectedTool._meta && (
<div className="bg-gray-50 dark:bg-gray-900 p-3 rounded-lg">
<div className="flex items-center justify-between mb-2">
<h4 className="text-sm font-semibold">Meta:</h4>
<Button
size="sm"
variant="ghost"
onClick={() => setIsMetaExpanded(!isMetaExpanded)}
className="h-6 px-2"
>
{isMetaExpanded ? (
<>
<ChevronUp className="h-3 w-3 mr-1" />
Collapse
</>
) : (
<>
<ChevronDown className="h-3 w-3 mr-1" />
Expand
</>
)}
</Button>
</div>
<div
className={`transition-all ${
isMetaExpanded ? "" : "max-h-[8rem] overflow-y-auto"
}`}
>
{isMetaExpanded ? (
<>
<ChevronUp className="h-3 w-3 mr-1" />
Collapse
</>
) : (
<>
<ChevronDown className="h-3 w-3 mr-1" />
Expand
</>
)}
</Button>
<JsonView data={selectedTool._meta} />
</div>
</div>
<div
className={`transition-all ${
isMetaExpanded ? "" : "max-h-[8rem] overflow-y-auto"
}`}
>
<JsonView data={(selectedTool as any)._meta} />
</div>
</div>
)}
)}
<Button
onClick={async () => {
try {