import React from 'react'; import { Text } from '../../ink.js'; import type { Tools } from '../../Tool.js'; import { findToolByName } from '../../Tool.js'; import type { ToolActivity } from '../../tasks/LocalAgentTask/LocalAgentTask.js'; import type { ThemeName } from '../../utils/theme.js'; export function renderToolActivity(activity: ToolActivity, tools: Tools, theme: ThemeName): React.ReactNode { const tool = findToolByName(tools, activity.toolName); if (!tool) { return activity.toolName; } try { const parsed = tool.inputSchema.safeParse(activity.input); const parsedInput = parsed.success ? parsed.data : {}; const userFacingName = tool.userFacingName(parsedInput); if (!userFacingName) { return activity.toolName; } const toolArgs = tool.renderToolUseMessage(parsedInput, { theme, verbose: false }); if (toolArgs) { return {userFacingName}({toolArgs}) ; } return userFacingName; } catch { return activity.toolName; } }