[Phase 18] 멀티에이전트 인프라 완성 + 리플레이 탭 통합

Phase 17-D3 수정:
- SkillManagerTool.ListSkills(): UserInvocable=false 내부 스킬 필터링 추가
  (SkillServiceExtensions.IsUserInvocable() 활용)

Phase 18-A 연결 완성:
- ToolRegistry: BackgroundAgentService 프로퍼티 노출 (AgentCompleted 구독용)
- ToolRegistry: WorktreeManager 인스턴스 생성 → DelegateAgentTool에 주입 (18-A2 완성)
- ChatWindow.xaml.cs: _toolRegistry.BackgroundAgentService.AgentCompleted 구독
- ChatWindow.AgentSupport.cs: OnBackgroundAgentCompleted() — 완료/실패 트레이 알림

Phase 18-B: 리플레이/디버깅 UI 통합:
- WorkflowAnalyzerWindow.xaml: "리플레이" 탭 버튼 추가 ()
- WorkflowAnalyzerWindow.xaml: 리플레이 패널 — 세션 목록, 재생 컨트롤, 속도 슬라이더, 진행 바, 이벤트 스트림
- WorkflowAnalyzerWindow.xaml.cs: TabReplay_Click, UpdateTabVisuals 3탭 지원
- WorkflowAnalyzerWindow.xaml.cs: LoadReplaySessions, BtnReplayStart/Stop, BuildReplayEventRow
- ReplayTimelineViewModel 통합 — StartReplayAsync/StopReplay, ReplayEventReceived 이벤트
- AGENT_ROADMAP.md: 18-A2/A3/A4/B1  완료 표시 갱신

빌드: 경고 0, 오류 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-04 01:30:29 +09:00
parent 0ef37554bc
commit 84e5cd9485
7 changed files with 294 additions and 16 deletions

View File

@@ -407,6 +407,32 @@ public partial class ChatWindow
}
}
// ─── Phase 18-A: 백그라운드 에이전트 완료 알림 ──────────────────────────
/// <summary>
/// 위임 에이전트(delegate_agent)가 백그라운드에서 완료되면 트레이 알림을 표시합니다.
/// </summary>
private void OnBackgroundAgentCompleted(object? sender, AgentCompletedEventArgs e)
{
// UI 스레드에서 안전하게 실행
Dispatcher.BeginInvoke(() =>
{
var task = e.Task;
if (e.Error != null)
{
Services.NotificationService.Notify(
$"에이전트 '{task.AgentType}' 실패",
$"ID {task.Id}: {e.Error[..Math.Min(80, e.Error.Length)]}");
}
else
{
Services.NotificationService.Notify(
$"에이전트 '{task.AgentType}' 완료",
$"ID {task.Id}: {task.Description[..Math.Min(60, task.Description.Length)]}");
}
});
}
/// <summary>에이전트 루프 동안 누적 토큰 (하단 바 표시용)</summary>
private int _agentCumulativeInputTokens;
private int _agentCumulativeOutputTokens;