diff --git a/packages/tui/src/routes/session/index.tsx b/packages/tui/src/routes/session/index.tsx index a6cf7532fc..2cd92782ed 100644 --- a/packages/tui/src/routes/session/index.tsx +++ b/packages/tui/src/routes/session/index.tsx @@ -1607,24 +1607,21 @@ function RevertMessage(props: { function ShellMessage(props: { message: Extract }) { const { themeV2 } = useTheme().contextual("elevated") + const ctx = use() const output = createMemo(() => stripAnsi(props.message.output?.output.trim() ?? "")) + const [expanded, setExpanded] = createSignal(false) + const maxLines = 10 + const maxChars = createMemo(() => maxLines * Math.max(20, ctx.width - 6)) + const collapsed = createMemo(() => collapseToolOutput(output(), maxLines, maxChars())) + const limited = createMemo(() => (expanded() ? output() : collapsed().output)) return ( - + setExpanded((value) => !value) : undefined}> $ {props.message.command} - {output()} + {limited()} - + ) }