import type { JSX } from "react";
import type { AgentToolCallVM } from "../../contracts/agentToolCallVM";
import { AgentApprovalContent } from "./AgentApprovalContent";
import { AgentAskUserQuestionContent } from "./AgentAskUserQuestionContent";
import { AgentBashContent } from "./AgentBashContent";
import { AgentEditContent } from "./AgentEditContent";
import { AgentImageGenerationContent } from "./AgentImageGenerationContent";
import { AgentMcpToolContent } from "./AgentMcpToolContent";
import { AgentPlanModeContent } from "./AgentPlanModeContent";
import { AgentReadContent } from "./AgentReadContent";
import { AgentSearchContent } from "./AgentSearchContent";
import { AgentSkillContent } from "./AgentSkillContent";
import { AgentTaskContent } from "./AgentTaskContent";
import { AgentTodoWriteContent } from "./AgentTodoWriteContent";
import { AgentToolSearchContent } from "./AgentToolSearchContent";
import { AgentDefaultToolContent } from "./agentToolContentShared";
import { AgentWebFetchContent } from "./AgentWebFetchContent";
import { AgentWebSearchContent } from "./AgentWebSearchContent";
import { AgentWriteContent } from "./AgentWriteContent";
export function AgentExpandedToolContent({
call,
onLinkClick
}: {
call: AgentToolCallVM;
onLinkClick?: (href: string) => void;
}): JSX.Element | null {
"use memo";
const props = { call, onLinkClick };
let content: JSX.Element | null;
switch (call.rendererKind) {
case "approval":
content = ;
break;
case "plan-enter":
case "plan-exit":
content = ;
break;
case "ask-user":
content = ;
break;
case "task":
content = ;
break;
case "read":
content = ;
break;
case "write":
content = ;
break;
case "edit":
content = ;
break;
case "bash":
content = ;
break;
case "search":
content = ;
break;
case "web-search":
content = ;
break;
case "web-fetch":
content = ;
break;
case "image-generation":
content = ;
break;
case "todo-write":
content = ;
break;
case "tool-search":
content = ;
break;
case "skill":
content = ;
break;
case "mcp":
content = ;
break;
default:
content = ;
}
if (!content) {
return null;
}
return content;
}