diff --git a/packages/blackbox/src/blackbox/dashboard/rendering.py b/packages/blackbox/src/blackbox/dashboard/rendering.py index a561251..ab2c73e 100644 --- a/packages/blackbox/src/blackbox/dashboard/rendering.py +++ b/packages/blackbox/src/blackbox/dashboard/rendering.py @@ -121,7 +121,7 @@ def tool_call_html(preview: str) -> str: ) -def render_log_html(entry: LogEntry) -> str: # noqa: C901, PLR0912 +def render_log_html(entry: LogEntry) -> str: ts = fmt_time(entry.timestamp) src_cls = SOURCE_CLASSES.get(entry.source, "bg-gray-600") src_label = SOURCE_LABELS.get(entry.source, entry.source[:3].upper()) @@ -138,31 +138,32 @@ def render_log_html(entry: LogEntry) -> str: # noqa: C901, PLR0912 badge_cls = src_cls badge_label = src_label - if entry.source == "user" and entry.level == "info": + level = entry.level + is_thinking = level == "assistant" and entry.message.strip() == "(thinking)" + + if entry.source == "user" and level == "info": msg = f'{esc_md(entry.message)}' - elif entry.level == "tool_call": + elif level == "tool_call": preview = entry.data.get("input_preview", "") msg = tool_call_html(preview) - elif entry.level == "tool_result": + elif level == "tool_result": text = entry.message[:500] if len(entry.message) > 500: text += "..." msg = f'{esc(shorten_paths(text))}' - elif entry.level == "assistant": - if entry.message.strip() == "(thinking)": + elif level == "assistant": + if is_thinking: msg = f'{esc(entry.message)}' else: msg = f'{esc_md(entry.message)}' - elif entry.level == "error": + elif level == "error": msg = f'{esc(entry.message)}' else: msg = f'{esc(entry.message)}' - extra_div_classes = "" - if entry.level == "assistant" and entry.message.strip() == "(thinking)": - extra_div_classes = " border-t border-surface-800 mt-2 pt-1" + extra_div_classes = " border-t border-surface-800 mt-2 pt-1" if is_thinking else "" - is_tool = entry.level in ("tool_call", "tool_result") + is_tool = level in {"tool_call", "tool_result"} opacity = " opacity-60" if is_tool else "" indent = " pl-4" if is_tool else ""