Some checks failed
Release Gate / gate (push) Has been cancelled
- OperationalStatusPresentationCatalog를 추가해 compact strip과 quick strip의 색상/노출 계산을 AppStateService 밖으로 분리함 - PermissionRequestPresentationCatalog와 ToolResultPresentationCatalog에 Kind/Description 메타를 추가해 transcript fallback 설명을 타입 기반으로 정리함 - PermissionModePresentationCatalog와 ChatWindow.PermissionPresentation에서 제거된 계획 모드 표현 분기를 걷어 권한 UI를 실제 지원 모드만 다루도록 단순화함 - README, DEVELOPMENT, claw-code parity plan 문서를 2026-04-06 09:36 (KST) 기준으로 갱신함 - 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ (경고 0 / 오류 0)
42 lines
1.3 KiB
C#
42 lines
1.3 KiB
C#
namespace AxCopilot.Services.Agent;
|
|
|
|
internal sealed record PermissionModePresentation(
|
|
string Mode,
|
|
string Icon,
|
|
string Title,
|
|
string Description,
|
|
string ColorHex);
|
|
|
|
internal static class PermissionModePresentationCatalog
|
|
{
|
|
public static readonly IReadOnlyList<PermissionModePresentation> Ordered = new[]
|
|
{
|
|
new PermissionModePresentation(
|
|
PermissionModeCatalog.Default,
|
|
"\uE8D7",
|
|
"권한 요청",
|
|
"변경하기 전에 항상 확인합니다.",
|
|
"#2563EB"),
|
|
new PermissionModePresentation(
|
|
PermissionModeCatalog.AcceptEdits,
|
|
"\uE73E",
|
|
"편집 자동 승인",
|
|
"모든 파일 편집을 자동 승인합니다.",
|
|
"#107C10"),
|
|
new PermissionModePresentation(
|
|
PermissionModeCatalog.BypassPermissions,
|
|
"\uE814",
|
|
"권한 건너뛰기",
|
|
"파일 편집과 명령 실행까지 모두 자동 허용합니다.",
|
|
"#B45309"),
|
|
};
|
|
|
|
public static PermissionModePresentation Resolve(string? mode)
|
|
{
|
|
var normalized = PermissionModeCatalog.NormalizeGlobalMode(mode);
|
|
return Ordered.FirstOrDefault(item =>
|
|
string.Equals(item.Mode, normalized, StringComparison.OrdinalIgnoreCase))
|
|
?? Ordered[0];
|
|
}
|
|
}
|