fix(bridge): v37 openReviewChanges 선호출 — agentAcceptAllInFile 실효성 보장 (v0.5.102)

agentAcceptAllInFile은 diff review 패널이 포커스되어야 동작.
v34에서 직접 호출만 했더니 SUCCESS 반환하지만 실제 효과 없음.
openReviewChanges → 500ms 대기 → agentAcceptAllInFile 순서로 수정.
This commit is contained in:
Variet Worker
2026-04-20 04:34:44 +09:00
parent e95e7791f9
commit 3cc3442fda
4 changed files with 18 additions and 8 deletions

View File

@@ -12,4 +12,4 @@
### 검증 결과 ### 검증 결과
- 14/14 E2E 테스트 통과 - 14/14 E2E 테스트 통과
- SYNTAX OK - SYNTAX OK
- Accept all (diff review) 자동 승인 테스트 — v0.5.100 04:13 KST - Accept all (diff review) v36 span 감지 테스트 — v0.5.101 04:30 KST

View File

@@ -1,12 +1,12 @@
{ {
"name": "gravity-bridge", "name": "gravity-bridge",
"version": "0.5.101", "version": "0.5.102",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "gravity-bridge", "name": "gravity-bridge",
"version": "0.5.101", "version": "0.5.102",
"dependencies": { "dependencies": {
"cheerio": "^1.2.0", "cheerio": "^1.2.0",
"ws": "^8.19.0" "ws": "^8.19.0"

View File

@@ -2,7 +2,7 @@
"name": "gravity-bridge", "name": "gravity-bridge",
"displayName": "Gravity Bridge", "displayName": "Gravity Bridge",
"description": "Discord-based unified approval system for Antigravity AI interactions.", "description": "Discord-based unified approval system for Antigravity AI interactions.",
"version": "0.5.101", "version": "0.5.102",
"publisher": "variet", "publisher": "variet",
"engines": { "engines": {
"vscode": "^1.100.0" "vscode": "^1.100.0"

View File

@@ -302,12 +302,22 @@ function _handlePending(req: any, res: any, ctx: HttpBridgeContext) {
// v34: If this is "Accept all" / "Accept", also call agentAcceptAllInFile directly // v34: If this is "Accept all" / "Accept", also call agentAcceptAllInFile directly
const isAcceptAll = /^Accept/i.test(rawCmd) || (data.step_type === 'diff_review'); const isAcceptAll = /^Accept/i.test(rawCmd) || (data.step_type === 'diff_review');
if (isAcceptAll) { if (isAcceptAll) {
ctx.logToFile(`[HTTP] AUTO-APPROVE Accept all → calling agentAcceptAllInFile directly`); ctx.logToFile(`[HTTP] AUTO-APPROVE Accept all → opening review + agentAcceptAllInFile`);
try { try {
const vscode = require('vscode'); const vscode = require('vscode');
vscode.commands.executeCommand('antigravity.prioritized.agentAcceptAllInFile') // v37: Must focus diff review panel BEFORE calling agentAcceptAllInFile
.then(() => ctx.logToFile(`[HTTP] ✅ agentAcceptAllInFile SUCCESS`)) // Without this, the command succeeds but has no effect
.catch((e: any) => ctx.logToFile(`[HTTP] ❌ agentAcceptAllInFile failed: ${e.message?.substring(0, 100)}`)); (async () => {
try {
await vscode.commands.executeCommand('antigravity.openReviewChanges');
ctx.logToFile(`[HTTP] openReviewChanges OK`);
await new Promise((r: any) => setTimeout(r, 500));
await vscode.commands.executeCommand('antigravity.prioritized.agentAcceptAllInFile');
ctx.logToFile(`[HTTP] ✅ agentAcceptAllInFile SUCCESS`);
} catch (e: any) {
ctx.logToFile(`[HTTP] ❌ agentAcceptAllInFile: ${e.message?.substring(0, 100)}`);
}
})();
} catch (e: any) { ctx.logToFile(`[HTTP] ❌ vscode require failed: ${e.message}`); } } catch (e: any) { ctx.logToFile(`[HTTP] ❌ vscode require failed: ${e.message}`); }
} }
// Try enrichment for better Discord display text // Try enrichment for better Discord display text