/** * @license * Copyright 2025 Qwen Team * SPDX-License-Identifier: Apache-2.0 * * Shared layout components for tool call UI */ import type React from 'react'; import { FileLink } from '../../shared/FileLink.js'; /** * Props for ToolCallCard wrapper */ interface ToolCallCardProps { icon: string; children: React.ReactNode; } /** * Main card wrapper with icon */ export const ToolCallCard: React.FC = ({ icon: _icon, children, }) => (
{/*
{icon}
*/}
{children}
); /** * Props for ToolCallRow */ interface ToolCallRowProps { label: string; children: React.ReactNode; } /** * A single row in the tool call grid */ export const ToolCallRow: React.FC = ({ label, children, }) => (
{label}
{children}
); /** * Props for StatusIndicator */ interface StatusIndicatorProps { status: 'pending' | 'in_progress' | 'completed' | 'failed'; text: string; } /** * Status indicator with colored dot */ export const StatusIndicator: React.FC = ({ status, text, }) => (
{text}
); /** * Props for CodeBlock */ interface CodeBlockProps { children: string; } /** * Code block for displaying formatted code or output */ export const CodeBlock: React.FC = ({ children }) => (
{children}
); /** * Props for LocationsList */ interface LocationsListProps { locations: Array<{ path: string; line?: number | null; }>; } /** * List of file locations with clickable links */ export const LocationsList: React.FC = ({ locations }) => (
{locations.map((loc, idx) => ( ))}
);