diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx index 9a000f953c06..bafb6fb67841 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -1483,10 +1483,32 @@ type ToolProps = { part: ToolPart } function GenericTool(props: ToolProps) { + const { theme } = useTheme() + const [expanded, setExpanded] = createSignal(false) + return ( - - {props.tool} {input(props.input)} - + + + setExpanded((prev) => !prev)}> + + + {input(props.input)} + + + {props.output} + + + {expanded() ? "Click to collapse" : "Click to expand"} + + + + + + + {props.tool} {input(props.input)} + + + ) } diff --git a/packages/ui/src/components/basic-tool.tsx b/packages/ui/src/components/basic-tool.tsx index 725a7d0d6e51..7496eed2e481 100644 --- a/packages/ui/src/components/basic-tool.tsx +++ b/packages/ui/src/components/basic-tool.tsx @@ -113,6 +113,26 @@ export function BasicTool(props: BasicToolProps) { ) } -export function GenericTool(props: { tool: string; hideDetails?: boolean }) { - return +export function GenericTool(props: { + tool: string + output?: string + hideDetails?: boolean + defaultOpen?: boolean + forceOpen?: boolean + locked?: boolean +}) { + return ( + +
+
{props.output}
+
+
+ ) }