권한 팝업 순서/즉시반영 정렬: Deny 상단 배치와 탭 기본값 강제
Some checks failed
Release Gate / gate (push) Has been cancelled
Some checks failed
Release Gate / gate (push) Has been cancelled
- 권한 팝업 핵심 영역에 Deny(활용하지 않음) 포함, 고급은 DontAsk만 유지 - LoadConversationSettings가 대화 권한 미설정 시 탭 기본권한(Chat=Deny, Cowork/Code=DefaultAgentPermission) 즉시 적용 - PermissionModePresentationCatalog 한글 라벨/설명 문자열 정리 - README/DEVELOPMENT 이력(2026-04-04 15:52 KST) 동기화
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
namespace AxCopilot.Services.Agent;
|
||||
namespace AxCopilot.Services.Agent;
|
||||
|
||||
internal sealed record PermissionModePresentation(
|
||||
string Mode,
|
||||
@@ -15,37 +15,37 @@ internal static class PermissionModePresentationCatalog
|
||||
PermissionModeCatalog.Deny,
|
||||
"\uE711",
|
||||
"활용하지 않음",
|
||||
"파일 읽기만 허용하고 생성/수정/삭제를 차단합니다",
|
||||
"파일 읽기만 허용하고 생성/수정/삭제는 차단합니다.",
|
||||
"#107C10"),
|
||||
new PermissionModePresentation(
|
||||
PermissionModeCatalog.Default,
|
||||
"\uE8D7",
|
||||
"소극 활용",
|
||||
"변경 전 확인하며 필요할 때만 파일 접근을 진행합니다",
|
||||
"변경 전 확인하고, 필요한 경우에만 파일 접근을 진행합니다.",
|
||||
"#2563EB"),
|
||||
new PermissionModePresentation(
|
||||
PermissionModeCatalog.AcceptEdits,
|
||||
"\uE73E",
|
||||
"적극 활용",
|
||||
"파일 편집 도구를 자동 승인하고 명령 실행은 계속 확인합니다",
|
||||
"파일 편집 도구를 자동 승인하고 명령 실행은 계속 확인합니다.",
|
||||
"#107C10"),
|
||||
new PermissionModePresentation(
|
||||
PermissionModeCatalog.Plan,
|
||||
"\uE7C3",
|
||||
"계획 중심",
|
||||
"쓰기 전 계획/승인 흐름을 우선합니다",
|
||||
"쓰기 전 계획과 승인 흐름을 우선합니다.",
|
||||
"#4338CA"),
|
||||
new PermissionModePresentation(
|
||||
PermissionModeCatalog.BypassPermissions,
|
||||
"\uE814",
|
||||
"완전 자동",
|
||||
"권한 확인을 대부분 생략합니다. 민감 작업에 주의하세요",
|
||||
"권한 확인을 대부분 생략합니다. 민감한 작업은 주의하세요.",
|
||||
"#B45309"),
|
||||
new PermissionModePresentation(
|
||||
PermissionModeCatalog.DontAsk,
|
||||
"\uE8A5",
|
||||
"질문 없이 진행",
|
||||
"권한 질문 없이 진행합니다. 자동 실행 범위를 점검하세요",
|
||||
"권한 질문 없이 진행합니다. 자동 실행 범위를 점검하세요.",
|
||||
"#B91C1C"),
|
||||
};
|
||||
|
||||
|
||||
@@ -1561,8 +1561,13 @@ public partial class ChatWindow : Window
|
||||
lock (_convLock) conv = _currentConversation;
|
||||
var llm = _settings.Settings.Llm;
|
||||
|
||||
if (conv != null && conv.Permission != null)
|
||||
_settings.Settings.Llm.FilePermission = PermissionModeCatalog.NormalizeGlobalMode(conv.Permission);
|
||||
var fallbackPermission = _activeTab == "Chat"
|
||||
? PermissionModeCatalog.Deny
|
||||
: PermissionModeCatalog.NormalizeGlobalMode(llm.DefaultAgentPermission);
|
||||
var conversationPermission = !string.IsNullOrWhiteSpace(conv?.Permission)
|
||||
? PermissionModeCatalog.NormalizeGlobalMode(conv.Permission)
|
||||
: fallbackPermission;
|
||||
_settings.Settings.Llm.FilePermission = conversationPermission;
|
||||
|
||||
_folderDataUsage = conv?.DataUsage ?? llm.FolderDataUsage ?? "none";
|
||||
_selectedMood = conv?.Mood ?? llm.DefaultMood ?? "modern";
|
||||
@@ -1903,15 +1908,14 @@ public partial class ChatWindow : Window
|
||||
|
||||
var coreLevels = PermissionModePresentationCatalog.Ordered
|
||||
.Where(x =>
|
||||
string.Equals(x.Mode, PermissionModeCatalog.Deny, StringComparison.OrdinalIgnoreCase) ||
|
||||
string.Equals(x.Mode, PermissionModeCatalog.Default, StringComparison.OrdinalIgnoreCase) ||
|
||||
string.Equals(x.Mode, PermissionModeCatalog.AcceptEdits, StringComparison.OrdinalIgnoreCase) ||
|
||||
string.Equals(x.Mode, PermissionModeCatalog.Plan, StringComparison.OrdinalIgnoreCase) ||
|
||||
string.Equals(x.Mode, PermissionModeCatalog.BypassPermissions, StringComparison.OrdinalIgnoreCase))
|
||||
.ToList();
|
||||
var advancedLevels = PermissionModePresentationCatalog.Ordered
|
||||
.Where(x =>
|
||||
string.Equals(x.Mode, PermissionModeCatalog.Deny, StringComparison.OrdinalIgnoreCase) ||
|
||||
string.Equals(x.Mode, PermissionModeCatalog.DontAsk, StringComparison.OrdinalIgnoreCase))
|
||||
.Where(x => string.Equals(x.Mode, PermissionModeCatalog.DontAsk, StringComparison.OrdinalIgnoreCase))
|
||||
.ToList();
|
||||
var current = PermissionModeCatalog.NormalizeGlobalMode(_settings.Settings.Llm.FilePermission);
|
||||
void AddPermissionRows(Panel container, IEnumerable<PermissionModePresentation> levels)
|
||||
|
||||
Reference in New Issue
Block a user