fix(ext): !stop 핸들러 SDK cancelCurrentTask() 교체 — rejectAgentStep 미등록 이슈 해결 #task-411

This commit is contained in:
Variet Worker
2026-03-18 06:49:17 +09:00
parent bbfafdc5e4
commit 759dab55b6
2 changed files with 15 additions and 15 deletions

View File

@@ -43,17 +43,12 @@
### [2026-03-11] rejectAgentStep — AG 미등록 VS Code 커맨드
- **증상**: `/stop` 및 거부 시 `antigravity.agent.rejectAgentStep``command not found`
- **원인**: AG IDE가 이 커맨드를 런타임에 등록하지 않음 (상수 정의만 존재)
- **조사 결과** (2026-03-18):
- AG 소스에 `CASCADE_CHAT_CLIENT_REJECT_CASCADE_STEP: {id: "antigravity.agent.rejectAgentStep"}` 상수 정의는 존재
- 하지만 VS Code `registerCommand`로 등록되지 않아 런타임에 호출 불가
- **대안 후보**: AG LS에 gRPC 메서드 발견:
- `CancelCascadeInvocation` — requires `cascade_id` (= session ID)
- `CancelCascadeSteps` — step 단위 취소
- `ResolveOutstandingSteps` — 이미 테스트됨, **CANCEL 동작** (승인 아님)
- `CancelCascadeInvocation`은 cascade_id만 필요하므로 가장 유력한 대안
- **해결**: **미해결**`CancelCascadeInvocation` RPC 테스트 필요 (세션 중단 동작 확인)
- **주의**: `ResolveOutstandingSteps` = cancel 확정. `CancelCascadeInvocation`도 동일한 cancel 계열일 가능성.
AG 런타임 커맨드 119개 중 reject 관련 등록 커맨드 없음 (archive 참조)
- **해결** (2026-03-18): `command-handler.ts``!stop` 핸들러를 `sdk.cascade.cancelCurrentTask()`로 교체.
WS 경로는 이미 SDK 사용 중이었으므로 file-based 경로만 수정.
- `CancelCascadeInvocation` gRPC 메서드도 사용 가능 (cascade_id 필요)
- **E2E 검증 필요** — AG 가동 중 `!stop` 명령 테스트
- **주의**: `sdk.cascade.rejectStep()`은 여전히 내부적으로 `rejectAgentStep` 커맨드를 호출할 수 있음.
단일 step 거부보다 `cancelCurrentTask()`(전체 중단)가 더 안정적.
- **Vikunja**: #411
---