AX Agent 진행 표시를 Claude Code 스타일에 가깝게 정리
Some checks failed
Release Gate / gate (push) Has been cancelled
Some checks failed
Release Gate / gate (push) Has been cancelled
- execution history를 접은 상태에서도 대기/압축/중요 진행 이벤트가 transcript에 계속 노출되도록 필터를 조정함 - 진행 줄 메타를 경과 시간 · 누적 토큰 형식으로 통일하고 일반 진행 이벤트를 평평한 line 스타일로 정리함 - 장기 대기/컨텍스트 압축 상태만 강조 배경과 펄스 마커를 유지해 살아 있는 작업이 더 잘 보이도록 개선함 - README와 DEVELOPMENT 문서에 2026-04-06 23:26 (KST) 기준 이력을 반영함 - 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ (경고 0 / 오류 0)
This commit is contained in:
@@ -28,9 +28,32 @@ public partial class ChatWindow
|
||||
|
||||
private List<ChatExecutionEvent> GetVisibleTimelineEvents(ChatConversation? conversation)
|
||||
{
|
||||
return (conversation?.ShowExecutionHistory ?? true)
|
||||
? conversation?.ExecutionEvents?.ToList() ?? new List<ChatExecutionEvent>()
|
||||
: new List<ChatExecutionEvent>();
|
||||
var events = conversation?.ExecutionEvents?.ToList() ?? new List<ChatExecutionEvent>();
|
||||
if (conversation?.ShowExecutionHistory ?? true)
|
||||
return events;
|
||||
|
||||
return events
|
||||
.Where(ShouldShowCollapsedProgressEvent)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
private static bool ShouldShowCollapsedProgressEvent(ChatExecutionEvent executionEvent)
|
||||
{
|
||||
var restoredEvent = ToAgentEvent(executionEvent);
|
||||
if (restoredEvent.Type == AgentEventType.Complete || restoredEvent.Type == AgentEventType.Error)
|
||||
return true;
|
||||
|
||||
if (restoredEvent.Type == AgentEventType.Thinking)
|
||||
{
|
||||
if (string.Equals(restoredEvent.ToolName, "agent_wait", StringComparison.OrdinalIgnoreCase)
|
||||
|| string.Equals(restoredEvent.ToolName, "context_compaction", StringComparison.OrdinalIgnoreCase))
|
||||
return true;
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(restoredEvent.Summary))
|
||||
return true;
|
||||
}
|
||||
|
||||
return IsProcessFeedEvent(restoredEvent);
|
||||
}
|
||||
|
||||
private List<(DateTime Timestamp, int Order, Action Render)> BuildTimelineRenderActions(
|
||||
@@ -48,6 +71,10 @@ public partial class ChatWindow
|
||||
timeline.Add((executionEvent.Timestamp, 1, () => AddAgentEventBanner(restoredEvent)));
|
||||
}
|
||||
|
||||
var liveProgressHint = GetLiveAgentProgressHint();
|
||||
if (liveProgressHint != null)
|
||||
timeline.Add((liveProgressHint.Timestamp, 2, () => AddAgentEventBanner(liveProgressHint)));
|
||||
|
||||
return timeline
|
||||
.OrderBy(x => x.Timestamp)
|
||||
.ThenBy(x => x.Order)
|
||||
|
||||
Reference in New Issue
Block a user