From 571d4bfacac240b8f84f768f4295debcc4e009ca Mon Sep 17 00:00:00 2001 From: lacvet Date: Mon, 6 Apr 2026 13:26:20 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B6=8C=ED=95=9C=C2=B7=EB=8F=84=EA=B5=AC=20?= =?UTF-8?q?=EA=B2=B0=EA=B3=BC=20=EC=B9=B4=ED=85=8C=EA=B3=A0=EB=A6=AC=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C=20=EA=B0=95=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit transcript 카드에 작업 종류 chip을 추가해 권한 요청과 도구 결과의 성격을 더 빠르게 구분할 수 있게 했습니다. 명령 실행, 파일 수정, 웹 요청, Git, 문서, 스킬, MCP 등의 카테고리를 상태 chip과 함께 표시하도록 정리했습니다. README와 DEVELOPMENT 문서를 갱신했고 dotnet build 기준 경고 0 / 오류 0을 확인했습니다. --- README.md | 2 + docs/DEVELOPMENT.md | 1 + .../Views/ChatWindow.AgentEventRendering.cs | 54 +++++++++++++++++++ 3 files changed, 57 insertions(+) diff --git a/README.md b/README.md index 055cdcc..d8cce18 100644 --- a/README.md +++ b/README.md @@ -1216,3 +1216,5 @@ MIT License - 도구 결과 이벤트는 `FollowUpHint`, `NeedsAttention`, `StatusKind`를 이용해 `확인 필요`, `승인 후 계속`, `후속 점검` 같은 후속 행동 중심 안내를 transcript 안에서 바로 보여주도록 정리했다. - 업데이트: 2026-04-06 13:08 (KST) - 같은 metadata가 모두 회색 chip으로 보이던 부분을 보강했다. [ChatWindow.AgentEventRendering.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.AgentEventRendering.cs) 의 보조 chip 색을 `주의 필요=빨강`, `검토 권장/후속 점검=앰버`, `미리보기 권장=파랑`, `승인 후 계속=오렌지`로 나눠, 권한 요청과 도구 결과 상태가 시각적으로도 더 즉시 구분되게 맞췄다. +- 업데이트: 2026-04-06 13:14 (KST) + - [ChatWindow.AgentEventRendering.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.AgentEventRendering.cs)에 권한 요청/도구 결과 카테고리 chip을 추가했다. 이제 `명령 실행`, `파일 수정`, `웹 요청`, `Git`, `문서`, `스킬`, `MCP` 같은 종류가 상태 chip과 함께 보여서, 어떤 성격의 요청/결과인지 transcript에서 더 빨리 파악할 수 있다. diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md index 00c54d5..c5b2dd5 100644 --- a/docs/DEVELOPMENT.md +++ b/docs/DEVELOPMENT.md @@ -4947,3 +4947,4 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎. - Document update: 2026-04-06 13:01 (KST) - Wired the new permission/result metadata into transcript rendering. `ChatWindow.AgentEventRendering.cs` now appends action-level guidance and attention chips to permission/tool-result event banners instead of using badge labels alone. - Document update: 2026-04-06 13:01 (KST) - Permission events now surface `ActionHint`, `Severity`, and `RequiresPreview` through inline cues such as `미리보기 권장`, `주의 필요`, and `검토 권장`, while tool-result events surface `FollowUpHint`, `NeedsAttention`, and `StatusKind` through cues such as `확인 필요`, `승인 후 계속`, and `후속 점검`. - Document update: 2026-04-06 13:08 (KST) - Refined the transcript chips to visually differentiate metadata states instead of rendering every cue in the same neutral style. `ChatWindow.AgentEventRendering.cs` now uses blue for preview guidance, red for high-severity attention, amber for review/partial follow-up, and orange for approval-required continuation cues. +- Document update: 2026-04-06 13:14 (KST) - Added kind/category chips to permission and tool-result transcript banners so the action domain is visible at a glance. `ChatWindow.AgentEventRendering.cs` now surfaces labels such as `명령 실행`, `파일 수정`, `웹 요청`, `Git`, `문서`, `스킬`, and `MCP` alongside the status-oriented chips. diff --git a/src/AxCopilot/Views/ChatWindow.AgentEventRendering.cs b/src/AxCopilot/Views/ChatWindow.AgentEventRendering.cs index 01b0558..c5bd8d2 100644 --- a/src/AxCopilot/Views/ChatWindow.AgentEventRendering.cs +++ b/src/AxCopilot/Views/ChatWindow.AgentEventRendering.cs @@ -83,6 +83,46 @@ public partial class ChatWindow }; } + private static string GetPermissionKindLabel(string kind) + { + return kind switch + { + "bash" => "Bash", + "powershell" => "PowerShell", + "command" => "명령 실행", + "web_fetch" => "웹 요청", + "mcp" => "MCP", + "skill" => "스킬", + "question" => "의견 요청", + "file_edit" => "파일 수정", + "file_write" => "파일 쓰기", + "git" => "Git", + "document" => "문서 작업", + "filesystem" => "파일 접근", + _ => "권한 요청", + }; + } + + private static string GetToolResultKindLabel(string kind) + { + return kind switch + { + "file_edit" => "파일 수정", + "file_write" => "파일 쓰기", + "filesystem" => "파일 탐색", + "file" => "파일 작업", + "build_test" => "빌드/테스트", + "git" => "Git", + "document" => "문서", + "skill" => "스킬", + "mcp" => "MCP", + "question" => "의견 요청", + "web" => "웹 요청", + "command" => "명령 실행", + _ => "도구 결과", + }; + } + private void AppendAgentEventPresentationMeta( StackPanel stack, AgentEvent evt, @@ -103,6 +143,13 @@ public partial class ChatWindow { guidance = permissionPresentation.ActionHint; + chipRow.Children.Add(CreateAgentMetaChip( + GetPermissionKindLabel(permissionPresentation.Kind), + "\uE8A5", + BrushFromHex("#475569"), + BrushFromHex("#F8FAFC"), + BrushFromHex("#E2E8F0"))); + if (permissionPresentation.RequiresPreview) chipRow.Children.Add(CreateAgentMetaChip( "미리보기 권장", @@ -134,6 +181,13 @@ public partial class ChatWindow { guidance = toolResultPresentation.FollowUpHint; + chipRow.Children.Add(CreateAgentMetaChip( + GetToolResultKindLabel(toolResultPresentation.Kind), + "\uE9CE", + BrushFromHex("#475569"), + BrushFromHex("#F8FAFC"), + BrushFromHex("#E2E8F0"))); + if (toolResultPresentation.NeedsAttention) chipRow.Children.Add(CreateAgentMetaChip( "확인 필요",