This commit is contained in:
@@ -40,13 +40,11 @@
|
|||||||
|
|
||||||
## 미해결 이슈
|
## 미해결 이슈
|
||||||
|
|
||||||
### [2026-03-11] rejectAgentStep — AG 미등록 VS Code 커맨드
|
### [2026-03-11] rejectAgentStep / !stop — AG 미등록 커맨드 + 렌더러 전용 함수
|
||||||
- **증상**: `/stop` 및 거부 시 `antigravity.agent.rejectAgentStep` → `command not found`
|
- **증상**: `!stop` 명령이 AI를 멈추지 못함. 로그: "No active cascade to cancel"
|
||||||
- **원인**: AG IDE가 이 커맨드를 런타임에 등록하지 않음 (상수 정의만 존재)
|
- **원인**: (1) `antigravity.agent.rejectAgentStep`은 AG 미등록 커맨드. (2) 대체한 `getActiveCascadeId()`는 **렌더러(DOM) 전용 함수** (`document.querySelector` 사용) — Extension host에서 항상 `undefined` 반환
|
||||||
- **해결** (2026-03-18): `_cancelCurrentCascade()` 헬퍼 추가 — `sdk.titles.getActiveCascadeId()` → `ls.cancelCascade(cascadeId)` (CancelCascadeInvocation RPC).
|
- **해결** (2026-03-18): `getActiveSessionId()` 콜백 추가 — step-probe가 `GetAllCascadeTrajectories` 폴링으로 추적하는 `activeSessionId` 사용. 이 ID는 이미 `GetCascadeTrajectorySteps` RPC의 `cascadeId` 파라미터로 사용되는 동일한 값 (`d55b6b9`)
|
||||||
AG의 빨간색 ■ 버튼과 동일한 메커니즘. rawRPC fallback 포함.
|
- **주의**: **SDK의 renderer-side 코드와 extension-host-side 코드 구분 필수**. `window.__agSDKTitles`는 DOM 전용, `TitleManager` 클래스는 extension host 전용.
|
||||||
- ~~`sdk.cascade.cancelCurrentTask()` — SDK에 존재하지 않는 메서드, 무시됨~~
|
|
||||||
- **주의**: `getActiveCascadeId()`가 null이면 취소 불가 — 로그로 확인 필요
|
|
||||||
- **Vikunja**: #411
|
- **Vikunja**: #411
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -6,3 +6,4 @@
|
|||||||
| 002 | 06:33~06:50 | Hub/WS 단위 테스트 45개 작성 (연결 관리, pending_owners, 라우팅, 인증) | `ac803d4` | ✅ |
|
| 002 | 06:33~06:50 | Hub/WS 단위 테스트 45개 작성 (연결 관리, pending_owners, 라우팅, 인증) | `ac803d4` | ✅ |
|
||||||
| 003 | 06:50~07:05 | !stop 핸들러 SDK cancelCurrentTask() 교체 + VSIX 재빌드/설치 | `759dab5` | ✅ |
|
| 003 | 06:50~07:05 | !stop 핸들러 SDK cancelCurrentTask() 교체 + VSIX 재빌드/설치 | `759dab5` | ✅ |
|
||||||
| 004 | 07:03~07:15 | !stop 재수정 — cancelCurrentTask→CancelCascadeInvocation RPC (AG 빨간■ 동일) + VSIX 설치 | `8d5940b` | ✅ |
|
| 004 | 07:03~07:15 | !stop 재수정 — cancelCurrentTask→CancelCascadeInvocation RPC (AG 빨간■ 동일) + VSIX 설치 | `8d5940b` | ✅ |
|
||||||
|
| 005 | 07:50~08:20 | !stop 최종 수정 — getActiveCascadeId (렌더러 전용 DOM) → activeSessionId (step-probe 폴링) + 데이터 흐름 5경로 검증 | `d55b6b9` | ✅ |
|
||||||
|
|||||||
@@ -438,6 +438,7 @@ async function activate(context) {
|
|||||||
bridgePath, projectName, sdk, ls: sdk?.ls, autoApproveEnabled, logToFile,
|
bridgePath, projectName, sdk, ls: sdk?.ls, autoApproveEnabled, logToFile,
|
||||||
onAutoApproveChanged: (enabled) => { autoApproveEnabled = enabled; },
|
onAutoApproveChanged: (enabled) => { autoApproveEnabled = enabled; },
|
||||||
recentDiscordSentTexts,
|
recentDiscordSentTexts,
|
||||||
|
getActiveSessionId: () => activeSessionId,
|
||||||
}, data);
|
}, data);
|
||||||
},
|
},
|
||||||
onInstanceUpdate: (count, instances) => {
|
onInstanceUpdate: (count, instances) => {
|
||||||
@@ -561,6 +562,7 @@ async function activate(context) {
|
|||||||
bridgePath, projectName, sdk, ls: sdk?.ls, autoApproveEnabled, logToFile,
|
bridgePath, projectName, sdk, ls: sdk?.ls, autoApproveEnabled, logToFile,
|
||||||
onAutoApproveChanged: (enabled) => { autoApproveEnabled = enabled; },
|
onAutoApproveChanged: (enabled) => { autoApproveEnabled = enabled; },
|
||||||
recentDiscordSentTexts,
|
recentDiscordSentTexts,
|
||||||
|
getActiveSessionId: () => activeSessionId,
|
||||||
});
|
});
|
||||||
// Response watcher is now initialized by initStepProbe() above
|
// Response watcher is now initialized by initStepProbe() above
|
||||||
// Register basic commands
|
// Register basic commands
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user