권한·도구 결과 카드 액션 문구 고도화

파일 기반 transcript 카드의 액션 버튼 라벨을 상태와 종류에 맞게 세분화했습니다.

변경 확인, 작성 내용 보기, 부분 결과 보기, 오류 파일 보기, 승인 전 미리보기 등 맥락별 문구를 적용했습니다.

README와 DEVELOPMENT 문서를 갱신했고 dotnet build 기준 경고 0 / 오류 0을 확인했습니다.
This commit is contained in:
2026-04-06 14:29:05 +09:00
parent c4d050f2bf
commit 3feb1f0be4
3 changed files with 34 additions and 2 deletions

View File

@@ -1224,3 +1224,5 @@ MIT License
- 파일 경로가 있는 권한 요청/도구 결과 카드에는 [ChatWindow.AgentEventRendering.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.AgentEventRendering.cs) 에서 `프리뷰 열기` 액션을 직접 붙였다. 이제 `미리보기 권장` 상태나 파일 기반 결과에서 transcript 카드만 보고 끝나는 것이 아니라, 바로 우측 preview panel을 열어 확인 흐름으로 이어질 수 있다.
- 업데이트: 2026-04-06 13:31 (KST)
- [ChatWindow.AgentEventRendering.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.AgentEventRendering.cs)의 callout을 상태별 제목/강조선 구조로 다듬었다. 권한 요청은 `확인 포인트`, 승인 완료는 `적용 내용`, 도구 결과는 `승인 필요`, `오류 확인`, `부분 완료 점검`, `다음 권장 작업`처럼 제목이 달라져 카드 의미가 더 즉시 읽히게 정리했다.
- 업데이트: 2026-04-06 13:36 (KST)
- 파일 기반 transcript 카드의 액션 라벨도 상태별로 다르게 정리했다. [ChatWindow.AgentEventRendering.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.AgentEventRendering.cs) 에서 권한 요청은 `변경 확인`, `작성 내용 보기`, 도구 결과는 `결과 보기`, `부분 결과 보기`, `오류 파일 보기`, `승인 전 미리보기`처럼 더 맥락에 맞는 버튼 라벨을 사용한다.

View File

@@ -4951,3 +4951,4 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎.
- Document update: 2026-04-06 13:20 (KST) - Replaced the plain guidance line with typed callout boxes in `ChatWindow.AgentEventRendering.cs`. Permission requests now show an `확인 포인트` callout, while tool results show a `다음 권장 작업` callout, making the two transcript surfaces read differently even when they share the same chip language.
- Document update: 2026-04-06 13:26 (KST) - Added an inline `프리뷰 열기` action to file-backed permission/tool-result banners in `ChatWindow.AgentEventRendering.cs`. When a permission request requires preview or a tool result carries a real file path, the transcript card can now open the preview panel directly instead of forcing the user to find the file elsewhere first.
- Document update: 2026-04-06 13:31 (KST) - Refined the callout presentation in `ChatWindow.AgentEventRendering.cs` so the title and left accent strip vary by state. Permission requests now read as `확인 포인트` or `적용 내용`, while tool results read as `승인 필요`, `오류 확인`, `부분 완료 점검`, or `다음 권장 작업` depending on `StatusKind`.
- Document update: 2026-04-06 13:36 (KST) - Made file-backed transcript actions state-aware in `ChatWindow.AgentEventRendering.cs`. The inline preview button now changes label by context, such as `변경 확인`, `작성 내용 보기`, `부분 결과 보기`, `오류 파일 보기`, or `승인 전 미리보기`, instead of showing the same generic action for every case.

View File

@@ -148,6 +148,34 @@ public partial class ChatWindow
};
}
private static (string label, string icon) GetPreviewActionMeta(
PermissionRequestPresentation? permissionPresentation,
ToolResultPresentation? toolResultPresentation)
{
if (permissionPresentation != null)
{
return permissionPresentation.Kind switch
{
"file_edit" => ("변경 확인", "\uE70F"),
"file_write" => ("작성 내용 보기", "\uE8A1"),
_ => ("프리뷰 열기", "\uE8A1"),
};
}
if (toolResultPresentation != null)
{
return toolResultPresentation.StatusKind switch
{
"error" => ("오류 파일 보기", "\uE783"),
"partial" => ("부분 결과 보기", "\uE8A1"),
"approval_required" => ("승인 전 미리보기", "\uE8D7"),
_ => ("결과 보기", "\uE8A1"),
};
}
return ("프리뷰 열기", "\uE8A1");
}
private Border CreateAgentInlineActionButton(string text, string icon, Brush foreground, Brush borderBrush, Action onClick)
{
var button = new Border
@@ -379,9 +407,10 @@ public partial class ChatWindow
|| toolResultPresentation != null))
{
var previewPath = evt.FilePath!;
var (actionLabel, actionIcon) = GetPreviewActionMeta(permissionPresentation, toolResultPresentation);
stack.Children.Add(CreateAgentInlineActionButton(
"프리뷰 열기",
"\uE8A1",
actionLabel,
actionIcon,
BrushFromHex("#2563EB"),
BrushFromHex("#BFDBFE"),
() => ShowPreviewPanel(previewPath)));