Files
AX-Copilot-Codex/src/AxCopilot/Services/Agent/PermissionModePresentationCatalog.cs
lacvet 72a8c0d541
Some checks failed
Release Gate / gate (push) Has been cancelled
빌드 부산물 추적 해제와 AX Agent 대기열·composer UI 정리
- .gitignore에 bin/obj/publish 및 IDE/OS/비밀정보 패턴 추가
- Git 인덱스에서 publish 및 src 하위 bin/obj 빌드 부산물 추적을 해제하여 저장소 노이즈를 정리
- DraftQueue를 실행 대기/최근 결과 섹션과 상태 요약 pill 구조로 재정리
- composer 상단 모델/컨텍스트/프리셋 줄과 하단 작업 위치 칩 UI를 더 평평한 시각 언어로 통일
- 워크스페이스·브랜치·워크트리 패널에 공통 row 및 요약 strip을 적용해 panel UX를 정돈
- README.md와 docs/DEVELOPMENT.md, docs/AGENT_ROADMAP.md, AGENTS.md 이력을 갱신

검증
- dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\
- 경고 0개, 오류 0개
2026-04-04 23:03:42 +09:00

48 lines
1.6 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.Plan,
"\uE7C3",
"계획 모드",
"변경하기 전에 계획을 먼저 만듭니다.",
"#4338CA"),
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];
}
}