+ {detailModal.conversation_log &&
+ detailModal.conversation_log.length > 0 ? (
+ detailModal.conversation_log.map((msg, idx) => {
+ const timestamp = msg.timestamp
+ ? dayjs(msg.timestamp).format("HH:mm:ss")
+ : "";
+
+ if (msg.role === "user") {
+ return (
+
+ [{timestamp}]
+ [USER]
+ {msg.content}
+
+ );
+ }
+
+ if (msg.role === "assistant") {
+ return (
+
+
[{timestamp}]
+
[AGENT]
+ {msg.content && (
+
+ {msg.content}
+
+ )}
+ {msg.tool_calls && msg.tool_calls.length > 0 && (
+
+ {msg.tool_calls.map((tc, tcIdx) => (
+
+ -> Calling: {tc.name}(
+ {(() => {
+ try {
+ const args = JSON.parse(tc.arguments);
+ return Object.entries(args)
+ .map(
+ ([k, v]) => `${k}=${JSON.stringify(v)}`,
+ )
+ .join(", ");
+ } catch {
+ return tc.arguments;
+ }
+ })()}
+ )
+
+ ))}
+
+ )}
+
+ );
+ }
+
+ if (msg.role === "tool") {
+ let content = msg.content;
+ try {
+ const parsed = JSON.parse(msg.content);
+ content = JSON.stringify(parsed, null, 2);
+ } catch {
+ // Keep original
+ }
+ return (
+
+
[{timestamp}]
+
+ {" "}
+ [TOOL:{msg.name}]{" "}
+
+
+ {content}
+
+
+ );
+ }
+
+ return null;
+ })
+ ) : (
+
+ {detailLoading
+ ? "Loading logs..."
+ : detailModal.status === "pending"
+ ? "Waiting for agent to start..."
+ : "No logs available"}
+
+ )}
+
+ {/* Running indicator */}
+ {[
+ "pending",
+ "analyzing",
+ "querying_kb",
+ "exploring",
+ "benchmarking",
+ ].includes(detailModal.status) && (
+
+
+ [{dayjs().format("HH:mm:ss")}]
+
+ [STATUS]
+
+ {detailModal.status_message || "Processing..."}
+
+ {" "}
+ _
+
+
+
+ )}
+
+
+ {/* Best Config Section */}
+ {detailModal.best_config && (
+