@@ -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