Commit Graph

156 Commits

Author SHA1 Message Date
CD
c9524fc8a8 fix(extension): v0.3.7 — file_permission 3-button 주입 + active_project.lock 제거
- writePendingApproval()에서 step_type=file_permission일 때 자동 3-button 주입
- active_project.lock 메커니즘 제거 (멀티 프로젝트 동시 사용 지원)
- step_probe auto-resolve에 project_name 필터 추가
- known-issues 2건 추가
2026-03-10 18:48:51 +09:00
CD
bd46beabb1 release: v0.3.6 — deployment package (VSIX + bot launcher + stale response filter + project lock) 2026-03-10 17:44:24 +09:00
CD
95d4f854f5 fix: skip stale timeout responses (>2min old reject) to prevent phantom REJECT duplicates 2026-03-10 17:23:47 +09:00
CD
186875ad0b feat: single active project lock — warns if another project already connected to Discord 2026-03-10 17:13:20 +09:00
CD
d1586c5e97 fix: auto-detect file_permission for file-related tools in step_probe + always check cmd for allow 2026-03-10 15:50:01 +09:00
CD
4dcb78c1ce fix: focus dirty files before executing agentAcceptAllInFile command 2026-03-10 15:34:37 +09:00
CD
0470c03ab3 fix: add step_type to default approve/reject/timeout callbacks (not just multi-choice) 2026-03-10 15:29:55 +09:00
CD
7982263fcd fix: pass step_type through response file for diff_review routing 2026-03-10 15:02:24 +09:00
CD
8fbf6bf6b7 fix: diff review uses cumulative file tracking instead of IDLE-time step scan 2026-03-10 14:44:16 +09:00
CD
f8f9ce8f5f fix: init lastUserInputStepIdx + lastResponseCaptureStep on session change (prevents stale replay) 2026-03-10 14:35:56 +09:00
CD
82b727a1e6 fix: skip echo relay for Discord-origin user messages 2026-03-10 14:31:47 +09:00
CD
c15b0f676f feat: diff review Discord relay — Accept/Reject all via VS Code commands 2026-03-10 14:28:01 +09:00
CD
b50012075e feat: full conversation relay #253 — user messages + error notifications to Discord 2026-03-10 14:08:14 +09:00
CD
514c0f2738 fix: extract user message from userInput.userResponse field (discovered via step dump) 2026-03-10 14:05:22 +09:00
CD
17dd6654f1 feat: relay AG-side user messages to Discord via chat_snapshots 2026-03-10 13:58:19 +09:00
CD
048ffd90a3 feat: auto_resolved sync + expired card update + DOM step_index 2026-03-10 13:52:27 +09:00
CD
47dbd38c7c fix: show actual arg values (paths, queries) instead of parameter names in approval 2026-03-10 13:30:01 +09:00
CD
e107b70510 fix: dedup file_permission pendings (10s window) + clean description text 2026-03-10 13:21:18 +09:00
CD
bec38f9a6a fix: filter DOM Observer Run-only pendings when step_probe already has pending 2026-03-10 13:08:50 +09:00
CD
14d2acf6c4 feat: 3-button file permission UX (Allow Once / Allow This Conversation / Deny) 2026-03-10 12:45:12 +09:00
CD
c9b4fd4722 fix: route file_permission scope by cmd (once=1, conversation=2) 2026-03-10 11:20:55 +09:00
CD
c612c37105 fix: module-scope stallProbed + reset after approval for consecutive detection 2026-03-10 11:16:23 +09:00
CD
857e10126d fix: add verbosity=DEBUG to all step_probe calls for full command text 2026-03-10 11:11:10 +09:00
CD
75a3482a9c fix: command length 150->1500, filter EPHEMERAL_MESSAGE, widen approval gate 2026-03-10 11:01:45 +09:00
CD
df592723b7 feat: file_permission interaction + DOM Observer RPC passthrough 2026-03-10 10:54:28 +09:00
CD
2958bdc950 feat: real-time PLANNER_RESPONSE capture on every delta>0 during RUNNING 2026-03-10 09:54:30 +09:00
CD
9b047c0c7d fix: extract text from plannerResponse.modifiedResponse field 2026-03-10 09:38:24 +09:00
CD
7ed2db90df fix: add verbosity=DEBUG to GetCascadeTrajectorySteps for response text 2026-03-10 09:13:13 +09:00
CD
1089c6ce61 fix: extract text from plannerResponse field for Discord relay 2026-03-10 09:02:16 +09:00
CD
e586bb6d41 feat: capture AI text responses on RUNNING->IDLE for Discord relay 2026-03-10 08:43:57 +09:00
CD
8c6d25c6d4 fix: add snapshot diagnostics + lower content filter for Discord messages 2026-03-10 08:18:36 +09:00
CD
628b5ae2fa fix: use stepOffset to bypass 775-step API limit with full details 2026-03-10 08:08:36 +09:00
CD
2361aa7558 fix: disable ResolveOutstandingSteps + add 775-limit stall fallback 2026-03-10 08:03:57 +09:00
CD
0e3a896c86 feat: step_type routing for all approval interaction types 2026-03-10 07:56:36 +09:00
CD
1f63f60280 feat: proto-based RPC approval for Run commands via Discord
Decoded HandleCascadeUserInteractionRequest protobuf schema from AG's
extension.js (message #162, base64 FileDescriptor 78KB).

Working payload (variant PROTO-0):
  cascadeId + interaction.{trajectoryId, stepIndex, runCommand.confirm}

Changes:
- extension.ts: Added Strategy 0-PROTO with decoded proto RPC call
- extension.ts: Fixed processResponseFile to call tryApprovalStrategies()
  instead of direct clickTrigger (was bypassing all strategies)
- extension.ts: Fixed false positive Run detection (sessionStalled reset
  when step_probe confirms no WAITING)
- extension.ts: Moved lastPendingStepIndex to module scope
- extension.ts: Added activeTrajectoryId tracking from session init
- bot.py: Added MERGE detection + Discord message edit for command updates
- bot.py: Added _sent_commands tracking for merge detection

Proto RE methodology:
1. Found schema exports in AG extension.js
2. Located fileDesc() with base64 protobuf descriptor
3. Decoded 58KB raw proto, found message names
4. Extracted CascadeRunCommandInteraction.confirm field
5. Tested camelCase JSON via ConnectRPC = SUCCESS
2026-03-10 07:45:10 +09:00
CD
aab1cfba27 fix(bridge): approval ENOENT race condition + multi-choice button grouping #task-276 #task-277 2026-03-10 06:32:20 +09:00
CD
373c0f7ddc fix(bridge): approval flow robustness — pending cleanup, MERGE dedup, false positive filter, auto_resolve, 30min timeout 2026-03-10 00:41:39 +09:00
CD
4ba65f9fc7 feat(bridge): Retry/Dismiss/Reject-all button detection + agent_guide workflow integration #task-274 2026-03-09 23:26:04 +09:00
CD
18b3734c02 fix(bridge): approval flow tuning — dedup + text cleanup + stall fallback removal + safe reject #task-256 2026-03-09 22:31:44 +09:00
CD
08077e8afa fix(bridge): CSP script-src 'unsafe-inline' patch for renderer v3 execution #task-264 2026-03-09 20:35:38 +09:00
CD
5971a524ea fix(bridge): workbench.html inline v3 script injection + both-HTML loop patch #task-264 2026-03-09 19:38:06 +09:00
CD
a07d9d3803 feat(bridge): deep-inspect HTTP endpoint + recursive DOM inspector #task-264 2026-03-09 18:24:41 +09:00
CD
32bf5ae416 feat(bridge): renderer v3 deep DOM traversal (iframe/webview/shadow) #task-255
- deepFindButtons(): traverse iframe contentDocument, webview.executeJavaScript, shadow DOMs
- dumpDOMStructure(): startup diagnostic dump of all iframes/webviews/buttons
- 3-phase trigger-click: deep DOM → webview execJS → iframe direct
- known-issues: webview iframe isolation confirmed, v3 solution documented
2026-03-09 18:06:01 +09:00
CD
4497e966b9 feat(bridge): renderer DOM click approval + command discovery diagnostic
- CMD-DISCOVERY: enumerate all antigravity.* commands at activation (72) and during WAITING state (119)
- APPROVAL-CMD-CHECK: re-check commands inside tryApprovalStrategies for dynamic registration
- Confirmed: ALL 7 SDK approval commands NOT REGISTERED in current AG build
- Confirmed: sendChatActionMessage, executeCascadeAction also NOT REGISTERED
- Replaced failed keyboard simulation (Strategy 2) with renderer DOM click approach:
  - Added clickTrigger variable + GET /trigger-click HTTP endpoint
  - Renderer polls /trigger-click every 1s, clicks Run/Accept button via DOM
- Updated known-issues.md with comprehensive findings
- Added devlog entry 20260309-002
2026-03-09 15:09:13 +09:00
CD
3b1bb9246e feat(bridge): step-type-specific approval commands + SDK research
- tryApprovalStrategies: terminalCommand.run > terminalCommand.accept > command.accept > acceptAgentStep
- Step probe: immediate on first stall (5s), 775-limit detection with dynamic fallback
- NOTIFY filter: skip <50 chars, TASK dedup by taskName+taskStatus
- BTN-DUMP diagnostic removed from renderer
- Focus: agentPanel.focus + agentSidePanel.focus (verified SDK commands)
- known-issues: add step-type command mismatch finding
2026-03-09 09:19:36 +09:00
CD
027135e2b5 fix(bridge): response file race condition + Run button regex + known issues
- Fix: processResponseFile no longer deletes response files for DOM observer
  approvals, allowing renderer pollResponse to find and serve them via HTTP
- Fix: Run button regex ^Run$ → ^Run to match 'Run Alt+⏎' button text
- Fix: BTN-DUMP diagnostic added to generateApprovalObserverScript (source)
- Doc: 2 new known issues (race condition, renderer script 3-location confusion)
- Doc: devlog entry #19
2026-03-08 22:58:17 +09:00
CD
810fbcc114 feat(bridge): 승인 감지 최적화 — latestToolCallStep 즉시 감지 + DOM scan 확장
- latestToolCallStep RPC 기반 즉시 감지 (30초 stall → 5초 poll)
- DOM scan 범위: findPanel() → document.body 확장
- Accept all/Reject all 리뷰 바 패턴 추가
- Stall detection을 100초 fallback으로 약화
- extractToolCommand/extractToolDescription 헬퍼 추가
- known-issues 5건 신규 추가
- start/services workflow: Python 전체 경로 + services.md 로딩

#task-258 #task-262
2026-03-08 20:21:11 +09:00
CD
8ed1ece87a fix(bridge): renderer script debugging — async fetch, install path fix, product.json checksums
- Replace sync XHR tryPing() with async fetch tryPingAsync() for port discovery
- Add ag-sdk JS file to product.json checksums in updateProductChecksums()
- Revert to inline script approach for jetski HTML (vscode-file:// blocks custom .js)
- Remove old external script tag cleanup, add inline markers
- Update known-issues with 3 new findings
- Add devlog entry #16
2026-03-08 19:51:27 +09:00
CD
43f023c87e fix(bridge): v0.3.5 — inline script + deterministic port + auto-checksum
- vscode-file:// refuses custom .js files → inline script into HTML
- Random port → deterministic port from project name hash (gravity_control=34332)
- Hardcoded port in renderer script for immediate discovery
- Auto-update product.json SHA256 checksums after HTML modification
- Bump version 0.2.0 → 0.3.5
2026-03-08 18:37:09 +09:00
CD
b92c3c072f fix(bridge): multi-window isolation v0.3.4 2026-03-08 16:56:23 +09:00