fix(extension): step_type mapping bug + diff_review handler refactor

- Separate read tools (file_permission) from write tools (code_edit)
- write_to_file/replace_file_content now use AcknowledgeCascadeCodeEdit RPC
- diff_review: 2-strategy approach (RPC first, openReviewChanges fallback)
- Track modified_files and edit_step_indices in diff_review pending
- known-issues: 3 new entries (pending accumulation, step_type bug, isDirty failure)
This commit is contained in:
Variet Worker
2026-03-16 13:52:02 +09:00
parent 078f721187
commit d521dd5fa3
6 changed files with 252 additions and 63 deletions

View File

@@ -0,0 +1,29 @@
# DOM Observer 분석 + diff_review 수정
- **시간**: 2026-03-16 13:25~13:48
- **Commit**: ``
- **Vikunja**: 미정
## 분석 결과
extension.ts 3,166줄 전체를 5개 기능 영역으로 분류:
1. AG 정보 추출 (SDK, 세션 모니터, step probe) ~700줄
2. 승인 실행 (RPC) ~200줄
3. 파일 기반 IPC (리팩토링 대상) ~500줄
4. DOM Observer 인프라 (제거 검토) ~1,100줄
5. 기타 유틸 ~200줄
**DOM Observer는 제거 가능하다** — RPC가 모든 승인을 커버하며, diff_review도 VS Code 명령으로 처리 가능.
단, diff_review 원격 실행이 먼저 동작해야 DOM 제거에 동의 가능 (사용자 요구).
## 결정 사항
- write 도구를 `code_edit` step_type으로 분리 (기존: `file_permission`에 혼재)
- diff_review 핸들러를 2-strategy 방식으로 리팩토링:
1. `AcknowledgeCascadeCodeEdit` RPC (UI 조작 불필요)
2. `openReviewChanges` + 파일 포커스 + `agentAcceptAllInFile` (fallback)
- pending에 `modified_files`(전체경로)와 `edit_step_indices`(step 번호) 포함
## 미완료
- diff_review 실제 테스트 (AG 재시작 후 Accept all 버튼 동작 확인 필요)
- `AcknowledgeCascadeCodeEdit` RPC가 stepIndices 없이도 전체 수락하는지 확인 필요
- DOM Observer 제거 리팩토링 → diff_review 동작 확인 후 진행