diff --git a/src/webview/logviewer/main.ts b/src/webview/logviewer/main.ts index d3101db..ff5aaf3 100644 --- a/src/webview/logviewer/main.ts +++ b/src/webview/logviewer/main.ts @@ -157,18 +157,28 @@ function renderTurnCard(turn: ChatTurn): string { const toolCallsHtml = hasToolCalls ? `
🔧 Tool Calls (${turn.toolCalls.length})
-
- ${turn.toolCalls.map((tc, idx) => ` -
-
- ${escapeHtml(lookupToolName(tc.toolName))} - Investigate -
- ${tc.arguments ? `
Arguments
${escapeHtml(tc.arguments)}
` : ''} - ${tc.result ? `
Result
${escapeHtml(truncateText(tc.result, 500))}
` : ''} -
- `).join('')} -
+ + + + + + + + + ${turn.toolCalls.map((tc, idx) => ` + + + + + `).join('')} + +
Tool NameAction
+ ${escapeHtml(lookupToolName(tc.toolName))} + ${tc.arguments ? `
Arguments
${escapeHtml(tc.arguments)}
` : ''} + ${tc.result ? `
Result
${escapeHtml(truncateText(tc.result, 500))}
` : ''} +
+ Investigate +
` : ''; @@ -542,7 +552,43 @@ function renderLayout(data: SessionLogData): void { font-weight: 700; color: #fff; margin-bottom: 10px; - text-t2px; + text-transform: uppercase; + letter-spacing: 0.5px; + } + .tools-table { + width: 100%; + border-collapse: collapse; + font-size: 13px; + } + .tools-table thead th { + text-align: left; + padding: 8px 12px; + background: #1a1a22; + border-bottom: 2px solid #4a4a5a; + color: #94a3b8; + font-weight: 600; + font-size: 12px; + text-transform: uppercase; + letter-spacing: 0.5px; + } + .tools-table thead th:nth-child(2) { + text-align: right; + } + .tools-table tbody .tool-row { + border-bottom: 1px solid #3a3a44; + } + .tools-table tbody .tool-row:last-child { + border-bottom: none; + } + .tool-name-cell { + padding: 10px 12px; + vertical-align: top; + } + .tool-action-cell { + padding: 10px 12px; + text-align: right; + vertical-align: top; + width: 100px; } .tool-name { font-weight: 700; @@ -554,6 +600,7 @@ function renderLayout(data: SessionLogData): void { color: #34d399; font-size: 12px; text-decoration: underline; + white-space: nowrap; } .tool-call-pretty:hover { color: #6ee7b7;