5fe6d5c6ba
[Phase 17-UI-C/D/E] AgentSessionHeaderBar·AgentSidebarView·AgentInputArea UserControl 통합
...
Phase 17-UI-C: AgentSessionHeaderBar 통합 (ChatWindow.xaml 인라인 칩 교체)
- AgentSessionHeaderBar.xaml: 외부 Border 투명화, 높이 42→38px, PlanIcon/PermIcon x:Name 추가
- AgentSessionHeaderBar.xaml.cs: SetPlanMode() x:Name 직접 참조, ChipPermission_Click 이벤트 위임
- ChatWindow.xaml: ModelHeaderChip/BtnPlanMode/PermissionHeaderChip → SessionHeaderBar UserControl 교체
- ChatWindow.SessionHeaderBar.cs (신규, 46줄): InitSessionHeaderBar() 이벤트 구독
- ChatWindow.ModelSelector.cs: UpdateModelLabel() SessionHeaderBar.SetModel() 동기화
- ChatWindow.PermissionMenu.cs: UpdatePermissionUI() SessionHeaderBar.SetPermissionMode() 동기화
- ChatWindow.TabSwitching.cs: UpdatePlanModeUI() 단순화, UpdateTabUI() SetTabLabel() 동기화
Phase 17-UI-D: AgentSidebarView 통합 (SidebarPanel 인라인 110줄 → UserControl 1줄)
- AgentSidebarView.xaml: 7행 구조(헤더/탭세그먼트/검색/카테고리/대화목록/삭제/사용자계정) 재작성
- AgentSidebarView.xaml.cs: internal 프록시 프로퍼티 8개 + 5개 이벤트 추가, 완전 재작성
- ChatWindow.xaml: <Border x:Name="SidebarPanel"> 110줄 → <ctrl:AgentSidebarView x:Name="Sidebar"/> 1줄
- ChatWindow.SidebarCompat.cs (신규, 80줄): 프록시 계산 프로퍼티 8개 + InitSidebarEvents()
- ChatWindow.PermissionMenu.cs: SidebarPanel.Visibility → Sidebar.Visibility, PermissionHeaderChip → SessionHeaderBar
- ChatWindow.TabSwitching.cs: 탭 핸들러 3개 Sidebar?.SetActiveTab() 동기화 추가
Phase 17-UI-E: AgentInputArea IsToolbarOnly 모드 + 입력 툴바 추가
- AgentInputArea.xaml: OuterBorder/InputTextBoxRow/ChipsSendRow x:Name 추가
- AgentInputArea.xaml.cs: IsToolbarOnly 의존성 프로퍼티 + ApplyToolbarOnlyMode() 추가
- ChatWindow.xaml: InputBorder Grid에 Row 0 추가(AgentInputArea IsToolbarOnly=True), 기존 행 0→1/1→2/2→3 시프트
- ChatWindow.InputToolbar.cs (신규, 37줄): InitInputToolbar() — @/스킬/첨부 이벤트 기존 동작 위임
- ChatWindow.xaml.cs: Loaded에 InitSidebarEvents(), InitInputToolbar() 호출 추가
빌드: 경고 0, 오류 0
2026-04-03 22:36:19 +09:00
26c20cf3dc
[Phase 17-UI-B] 헤더 바 모델·권한 칩 추가
...
ChatWindow.xaml:
- 서브 헤더 바(Row 1) 우측에 ModelHeaderChip 버튼 추가
(Segoe MDL2 브레인 아이콘 + ModelHeaderLabel TextBlock)
- 서브 헤더 바 우측에 PermissionHeaderChip 버튼 추가
(잠금 아이콘 #4FC3F7 + PermissionHeaderLabel TextBlock)
ChatWindow.ModelSelector.cs:
- UpdateModelLabel(): ModelHeaderLabel 동기 갱신 코드 추가
ChatWindow.PermissionMenu.cs:
- UpdatePermissionUI(): PermissionHeaderLabel 동기 갱신 코드 추가
- PermissionHeaderChip_Click() 신규: PlacementTarget을 헤더 칩으로
교체 후 기존 BtnPermission_Click 호출
ChatWindow.xaml.cs:
- Loaded 핸들러에 UpdatePermissionUI() 초기 호출 추가
docs/NEXT_ROADMAP.md:
- Phase 17-UI-B 완료 항목 추가
빌드: 경고 0, 오류 0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-03 22:05:30 +09:00
e7aa107b16
[Phase 17-UI-A] AgentSettingsPanel 완전 통합 — 설정 버튼 직접 연결
...
ChatWindow.MoodMenu.cs (BtnSettings_Click 개선):
- Shift+클릭 조건 제거 → 기어 버튼 클릭 시 AgentSettingsPanel 직접 열기
- Ctrl+클릭으로 전역 SettingsWindow 열기 (기존 동작 유지)
- ToggleSettingsPanel(): _toolRegistry 패널에 전달, SettingsChanged 이벤트 연결
- OnSettingsPanelChanged() 신규: 설정 변경 시 ModelLabel·AnalyzerButton 즉시 갱신
ChatWindow.TabSwitching.cs:
- UpdateTabUI(): 설정 패널 열린 상태이면 UpdateActiveTab() 자동 호출
- 탭 전환 시 탭별 전용 설정(Cowork 검증/Code LSP 등) 패널 자동 반영
ChatWindow.xaml:
- 설정 버튼 ToolTip: "설정 패널 (Ctrl+클릭: 전역 설정)"으로 UX 안내 추가
AgentSettingsPanel.xaml.cs:
- LoadFromSettings(): ToolRegistry? 매개변수 추가 (외부 레지스트리 주입)
- BuildToolToggles(): 외부 레지스트리 우선, 없으면 ToolRegistry.CreateDefault() 폴백
- 반영 방식 개선: 리플렉션 해킹 제거 → 실제 ChatWindow._toolRegistry 참조
docs/NEXT_ROADMAP.md:
- Phase 17-UI-A 완료 항목 추가 (변경 파일 테이블, 개선 효과)
빌드: 경고 0, 오류 0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-03 21:57:58 +09:00
f5a1ba999c
[Phase 45] AppSettings.cs 클래스 파일 분리 (57% 감소)
...
31개 클래스 혼재 AppSettings.cs (1,320줄)를 3개 파일로 분리:
- AppSettings.cs → 564줄 (AppSettings·LauncherSettings·CustomThemeColors 등 17개 클래스)
- AppSettings.LlmSettings.cs → 481줄 (LlmSettings 408줄·CodeSettings)
- AppSettings.AgentConfig.cs → 284줄 (권한·훅·이벤트·모델·프리셋 등 12개 클래스)
모두 독립 top-level 클래스 (partial 불필요)
빌드: 경고 0, 오류 0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-03 20:10:03 +09:00
35e6e4c060
[Phase 44] LauncherViewModel·SettingsWindow.Tools·MarkdownRenderer 파셜 분할
...
LauncherViewModel (805줄 → 402줄, 50% 감소):
- LauncherViewModel.FileAction.cs (154줄): 파일 액션 서브메뉴, EnterActionMode, ExitActionMode
- LauncherViewModel.Commands.cs (273줄): CopySelectedPath, Favorite, Terminal, 클립보드 병합, INotifyPropertyChanged
- 오류 수정: FileAction.cs에 using AxCopilot.Themes 누락 → 추가
SettingsWindow.Tools (875줄 → 605줄):
- SettingsWindow.ToolCards.cs (283줄): AX Agent 서브탭 전환 + 도구 관리 카드 UI
MarkdownRenderer (825줄 → 621줄):
- MarkdownRenderer.Highlighting.cs (215줄): 구문 하이라이팅 전체 분리
빌드: 경고 0, 오류 0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-03 20:03:25 +09:00
2cf1fcd411
[Phase 43] 4개 대형 파일 파셜 클래스 분할
...
SettingsWindow.AgentConfig (1,202줄):
- AgentConfig.cs → 608줄 (등록모델·스킬·프롬프트·AI토글·사내외모드)
- AgentHooks.cs → 605줄 (에이전트훅·MCP서버·감사로그·폴백설정)
ChatWindow.Presets (1,280줄):
- Presets.cs → 315줄 (대화 주제 버튼)
- CustomPresets.cs → 978줄 (커스텀 프리셋 관리·하단바·포맷메뉴)
ChatWindow.PreviewAndFiles (1,105줄):
- PreviewAndFiles.cs → 709줄 (미리보기 패널)
- FileBrowser.cs → 408줄 (에이전트 진행률 바·파일 탐색기)
WorkflowAnalyzerWindow (929줄):
- WorkflowAnalyzerWindow.xaml.cs → 274줄 (리사이즈·탭·데이터수집)
- WorkflowAnalyzerWindow.Charts.cs → 667줄 (차트·타임라인·패널·유틸)
빌드: 경고 0, 오류 0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-03 19:55:03 +09:00
bf37800311
[Phase 42] ChatWindow.ResponseHandling·LlmService 파셜 분할
...
ChatWindow.ResponseHandling (1,494줄 → 741줄, 50% 감소):
- ChatWindow.MessageActions.cs (277줄): 버튼이벤트, 메시지검색, 에러복구
- ChatWindow.StatusAndUI.cs (498줄): 우클릭, 팁, AX.md, 글로우, 토스트, 하단바
LlmService (1,010줄 → 263줄, 74% 감소):
- LlmService.Streaming.cs (516줄): 스트리밍 응답, 백엔드별 구현
- LlmService.Helpers.cs (252줄): 헬퍼, 토큰 파싱, Dispose
- 빌드: 경고 0, 오류 0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-03 19:45:26 +09:00
c9a6e6442f
[Phase 41] SettingsViewModel·AgentLoopService 파셜 클래스 분할
...
SettingsViewModel (1,855줄 → 320줄, 82.7% 감소):
- SettingsViewModel.Properties.cs (837줄): 바인딩 프로퍼티 전체
- SettingsViewModel.Methods.cs (469줄): Save/Browse/Add 등 메서드
- SettingsViewModelModels.cs (265줄): 6개 모델 클래스 분리
AgentLoopService (1,823줄 → 1,334줄, 26.8% 감소):
- AgentLoopService.Execution.cs (498줄): 병렬 도구 실행, ToolExecutionState
- 빌드: 경고 0, 오류 0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-03 19:37:24 +09:00
6448451d78
[Phase 40] ChatWindow 2차 파셜 클래스 분할 (94.5% 감소)
...
4,767줄 ChatWindow.xaml.cs를 7개 파셜 파일로 추가 분할
메인 파일: 4,767줄 → 262줄 (94.5% 감소)
전체 ChatWindow 파셜 파일: 15개
- ChatWindow.Controls.cs (595줄): 사용자정보, 스크롤, 제목편집, 탭전환
- ChatWindow.WorkFolder.cs (359줄): 작업폴더, 폴더 설정
- ChatWindow.PermissionMenu.cs (498줄): 권한, 파일첨부, 사이드바
- ChatWindow.ConversationList.cs (747줄): 대화목록, 제목편집, 검색
- ChatWindow.Sending.cs (720줄): 전송, 편집모드, 타이머
- ChatWindow.HelpCommands.cs (157줄): /help 도움말
- ChatWindow.ResponseHandling.cs (1,494줄): 응답재생성, 스트리밍, 토스트
- 빌드: 경고 0, 오류 0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-03 19:21:52 +09:00
0c997f0149
[Phase 39] FontFamily 캐싱 + LauncherWindow 파셜 클래스 분할
...
- ThemeResourceHelper에 CascadiaCode/ConsolasCode/ConsolasCourierNew 정적 필드 추가
- 25개 파일, 89개 new FontFamily(...) 호출을 정적 캐시 참조로 교체
- LauncherWindow.xaml.cs (1,563줄) → 5개 파셜 파일로 분할 (63% 감소)
- LauncherWindow.Theme.cs (116줄): ApplyTheme, 커스텀 딕셔너리 빌드
- LauncherWindow.Animations.cs (153줄): 무지개 글로우, 애니메이션 헬퍼
- LauncherWindow.Keyboard.cs (593줄): 단축키 20종, ShowToast, IME 검색
- LauncherWindow.Shell.cs (177줄): Shell32, SendToRecycleBin, 클릭 핸들러
- 빌드: 경고 0, 오류 0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-03 18:54:35 +09:00
08524466d2
[Phase 37-38] ChatWindow·SettingsWindow 파셜 클래스 분할 + 코드 품질 개선
...
Phase 37 — ChatWindow God Class 파셜 분할 (10,184 → 4,767줄, -53%)
- ChatWindow.MessageRendering.cs (522줄): 메시지 렌더링, 체크 아이콘
- ChatWindow.SlashCommands.cs (579줄): 슬래시 명령, 드래그앤드롭
- ChatWindow.AgentSupport.cs (475줄): 에이전트 루프, 시스템 프롬프트
- ChatWindow.TaskDecomposition.cs (1,170줄): Plan UI, Diff, 이벤트 배너
- ChatWindow.Presets.cs (1,280줄): 프리셋, 하단바, 설정 토글
- ChatWindow.ModelSelector.cs (395줄): 모델 선택, 대화 관리
- ChatWindow.PreviewAndFiles.cs (1,105줄): 미리보기, 파일 탐색기
Phase 38 — SettingsWindow 파셜 분할 (3,216 → 373줄, -88%)
- SettingsWindow.UI.cs (802줄): 탭 전환, 독바, 스토리지, 핫키
- SettingsWindow.Tools.cs (875줄): 도구 카드 UI, AX Agent 탭
- SettingsWindow.AgentConfig.cs (1,202줄): 모델, 스킬, 훅, MCP
Phase 35-36 — 코드 품질 심층 정리
- bare catch 전량 → catch (Exception) (109개 파일)
- ColorConverter → ThemeResourceHelper.HexBrush() (81건)
- Application.Current as App → CurrentApp 프로퍼티 (15개 파일)
- AgentContext.Settings DI 주입 (11개 에이전트 도구)
- PopupMenuHelper 실제 적용 (4개 팝업)
CLAUDE.md: 작업 후 깃 푸시 + 오류 시 롤백 지침 추가
docs: TECHNOLOGY_OVERVIEW.md 신규 작성 (762줄 기술 문서)
빌드: 경고 0, 오류 0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-03 18:37:54 +09:00
deffb33cf9
Initial commit to new repository
2026-04-03 18:23:52 +09:00