Terminal verboso com eventos de tool, turno, sistema e stderr + cards com botões na base
- Executor envia 5 tipos de evento: chunk, tool, turn, system, stderr - Frontend renderiza cada tipo com cor e formatação distintas no terminal - Cards de agentes e pipelines com flex-column e botões alinhados na base - CSS para novos tipos de linha do terminal (tool amarelo, turn accent, stderr muted)
This commit is contained in:
@@ -1058,6 +1058,24 @@ textarea {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.terminal-line.tool .content {
|
||||
color: var(--warning);
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.terminal-line.turn .content {
|
||||
color: var(--accent);
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
.terminal-line.stderr .content {
|
||||
color: var(--text-muted);
|
||||
font-size: 11px;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.terminal-cursor {
|
||||
display: inline-block;
|
||||
width: 8px;
|
||||
|
||||
@@ -171,8 +171,18 @@ const App = {
|
||||
|
||||
case 'execution_output': {
|
||||
Terminal.stopProcessing();
|
||||
const evtType = data.data?.type || 'chunk';
|
||||
const content = data.data?.content || '';
|
||||
if (content) {
|
||||
if (!content) break;
|
||||
if (evtType === 'tool') {
|
||||
Terminal.addLine(`▸ ${content}`, 'tool', data.executionId);
|
||||
} else if (evtType === 'turn') {
|
||||
Terminal.addLine(`── ${content} ──`, 'turn', data.executionId);
|
||||
} else if (evtType === 'system') {
|
||||
Terminal.addLine(content, 'system', data.executionId);
|
||||
} else if (evtType === 'stderr') {
|
||||
Terminal.addLine(content, 'stderr', data.executionId);
|
||||
} else {
|
||||
Terminal.addLine(content, 'default', data.executionId);
|
||||
}
|
||||
App._updateActiveBadge();
|
||||
@@ -233,8 +243,18 @@ const App = {
|
||||
|
||||
case 'pipeline_step_output': {
|
||||
Terminal.stopProcessing();
|
||||
const stepEvtType = data.data?.type || 'chunk';
|
||||
const stepContent = data.data?.content || '';
|
||||
if (stepContent) {
|
||||
if (!stepContent) break;
|
||||
if (stepEvtType === 'tool') {
|
||||
Terminal.addLine(`▸ ${stepContent}`, 'tool', data.executionId);
|
||||
} else if (stepEvtType === 'turn') {
|
||||
Terminal.addLine(`── ${stepContent} ──`, 'turn', data.executionId);
|
||||
} else if (stepEvtType === 'system') {
|
||||
Terminal.addLine(stepContent, 'system', data.executionId);
|
||||
} else if (stepEvtType === 'stderr') {
|
||||
Terminal.addLine(stepContent, 'stderr', data.executionId);
|
||||
} else {
|
||||
Terminal.addLine(stepContent, 'default', data.executionId);
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user