commit 4f8a0a916ee8727d1bbb41e44bbf8a8314519fbb
Author: Ben Sima <ben@bensima.com>
Date: Mon Dec 1 10:32:56 2025
Make Result sections collapsible in Agent Log (collapsed by default)
Wrap entire tool result in a <details> element so it starts collapsed.
User can click to expand and see full output.
Task-Id: t-205
diff --git a/Omni/Jr/Web.hs b/Omni/Jr/Web.hs
index 6f5029d8..7555e22b 100644
--- a/Omni/Jr/Web.hs
+++ b/Omni/Jr/Web.hs
@@ -2487,20 +2487,14 @@ renderToolCallEvent content timestamp now =
renderToolResultEvent :: (Monad m) => Text -> UTCTime -> UTCTime -> Lucid.HtmlT m ()
renderToolResultEvent content timestamp now =
let lineCount = length (Text.lines content)
- isLong = lineCount > 20
- in Lucid.div_ [Lucid.class_ "event-tool-result"] <| do
- Lucid.div_ [Lucid.class_ "event-header result-header"] <| do
+ in Lucid.details_ [Lucid.class_ "event-tool-result"] <| do
+ Lucid.summary_ <| do
Lucid.span_ [Lucid.class_ "event-icon"] "📋"
Lucid.span_ [Lucid.class_ "event-label"] "Result"
when (lineCount > 1)
<| Lucid.span_ [Lucid.class_ "line-count"] (Lucid.toHtml (tshow lineCount <> " lines"))
renderRelativeTimestamp now timestamp
- if isLong
- then
- Lucid.details_ [Lucid.class_ "result-collapsible"] <| do
- Lucid.summary_ "Show output"
- Lucid.pre_ [Lucid.class_ "event-content tool-output"] (renderDecodedToolResult content)
- else Lucid.pre_ [Lucid.class_ "event-content tool-output"] (renderDecodedToolResult content)
+ Lucid.pre_ [Lucid.class_ "event-content tool-output"] (renderDecodedToolResult content)
renderCostEvent :: (Monad m) => Text -> Lucid.HtmlT m ()
renderCostEvent content =