1import type { ToolCallView } from '@/lib/types';2import { PythonExecCard } from './python-exec-card';3import { ExcelCard } from './excel-card';4import { WebSearchCard } from './web-search-card';5import { CourseSourceCard } from './course-source-card';6import { QuizCard } from './quiz-card';7import { FileAnalysisCard } from './file-analysis-card';8import { FinancialCalcCard } from './financial-calc-card';910export function ToolCard({ call, conversationId }: { call: ToolCallView; conversationId: string }) {11 if (call.status === 'error') {12 return <p className="text-sm text-semantic-error">{call.summary || "L'outil a échoué ; le tuteur a été informé."}</p>;13 }14 switch (call.name) {15 case 'execute_python':16 return <PythonExecCard call={call} conversationId={conversationId} />;17 case 'create_excel':18 return <ExcelCard call={call} />;19 case 'web_search':20 return <WebSearchCard call={call} />;21 case 'search_course_content':22 return <CourseSourceCard call={call} />;23 case 'generate_quiz':24 return <QuizCard call={call} />;25 case 'analyze_file':26 return <FileAnalysisCard call={call} />;27 case 'financial_calc':28 return <FinancialCalcCard call={call} />;29 default:30 return <pre className="text-xs whitespace-pre-wrap">{call.summary}</pre>;31 }32}33