Skip to content

Commit 874ec1f

Browse files
authored
Merge pull request #159 from rajbos/copilot/update-tools-display-to-table
2 parents 2712cd8 + 1cad48e commit 874ec1f

File tree

1 file changed

+60
-13
lines changed

1 file changed

+60
-13
lines changed

src/webview/logviewer/main.ts

Lines changed: 60 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -157,18 +157,28 @@ function renderTurnCard(turn: ChatTurn): string {
157157
const toolCallsHtml = hasToolCalls ? `
158158
<div class="turn-tools">
159159
<div class="tools-header">🔧 Tool Calls (${turn.toolCalls.length})</div>
160-
<div class="tools-list">
161-
${turn.toolCalls.map((tc, idx) => `
162-
<div class="tool-item">
163-
<div class="tool-item-header">
164-
<span class="tool-name tool-call-link" data-turn="${turn.turnNumber}" data-toolcall="${idx}" title="${escapeHtml(tc.toolName)}" style="cursor:pointer;">${escapeHtml(lookupToolName(tc.toolName))}</span>
165-
<span class="tool-call-pretty" data-turn="${turn.turnNumber}" data-toolcall="${idx}" title="View pretty JSON" style="cursor:pointer;color:#22c55e;">Investigate</span>
166-
</div>
167-
${tc.arguments ? `<details class="tool-details"><summary>Arguments</summary><pre>${escapeHtml(tc.arguments)}</pre></details>` : ''}
168-
${tc.result ? `<details class="tool-details"><summary>Result</summary><pre>${escapeHtml(truncateText(tc.result, 500))}</pre></details>` : ''}
169-
</div>
170-
`).join('')}
171-
</div>
160+
<table class="tools-table">
161+
<thead>
162+
<tr>
163+
<th scope="col">Tool Name</th>
164+
<th scope="col">Action</th>
165+
</tr>
166+
</thead>
167+
<tbody>
168+
${turn.toolCalls.map((tc, idx) => `
169+
<tr class="tool-row">
170+
<td class="tool-name-cell">
171+
<span class="tool-name tool-call-link" data-turn="${turn.turnNumber}" data-toolcall="${idx}" title="${escapeHtml(tc.toolName)}" style="cursor:pointer;">${escapeHtml(lookupToolName(tc.toolName))}</span>
172+
${tc.arguments ? `<details class="tool-details"><summary>Arguments</summary><pre>${escapeHtml(tc.arguments)}</pre></details>` : ''}
173+
${tc.result ? `<details class="tool-details"><summary>Result</summary><pre>${escapeHtml(truncateText(tc.result, 500))}</pre></details>` : ''}
174+
</td>
175+
<td class="tool-action-cell">
176+
<span class="tool-call-pretty" data-turn="${turn.turnNumber}" data-toolcall="${idx}" title="View pretty JSON" style="cursor:pointer;color:#22c55e;">Investigate</span>
177+
</td>
178+
</tr>
179+
`).join('')}
180+
</tbody>
181+
</table>
172182
</div>
173183
` : '';
174184

@@ -542,7 +552,43 @@ function renderLayout(data: SessionLogData): void {
542552
font-weight: 700;
543553
color: #fff;
544554
margin-bottom: 10px;
545-
text-t2px;
555+
text-transform: uppercase;
556+
letter-spacing: 0.5px;
557+
}
558+
.tools-table {
559+
width: 100%;
560+
border-collapse: collapse;
561+
font-size: 13px;
562+
}
563+
.tools-table thead th {
564+
text-align: left;
565+
padding: 8px 12px;
566+
background: #1a1a22;
567+
border-bottom: 2px solid #4a4a5a;
568+
color: #94a3b8;
569+
font-weight: 600;
570+
font-size: 12px;
571+
text-transform: uppercase;
572+
letter-spacing: 0.5px;
573+
}
574+
.tools-table thead th:nth-child(2) {
575+
text-align: right;
576+
}
577+
.tools-table tbody .tool-row {
578+
border-bottom: 1px solid #3a3a44;
579+
}
580+
.tools-table tbody .tool-row:last-child {
581+
border-bottom: none;
582+
}
583+
.tool-name-cell {
584+
padding: 10px 12px;
585+
vertical-align: top;
586+
}
587+
.tool-action-cell {
588+
padding: 10px 12px;
589+
text-align: right;
590+
vertical-align: top;
591+
width: 100px;
546592
}
547593
.tool-name {
548594
font-weight: 700;
@@ -554,6 +600,7 @@ function renderLayout(data: SessionLogData): void {
554600
color: #34d399;
555601
font-size: 12px;
556602
text-decoration: underline;
603+
white-space: nowrap;
557604
}
558605
.tool-call-pretty:hover {
559606
color: #6ee7b7;

0 commit comments

Comments
 (0)