40e3cd550f
fix(bridge): 5 bug fixes for approval signal drop and Discord relay
...
- DEDUP: add conversation_id guard to prevent cross-session step_index collision
- step_probe: suppress pending when projectName=default (empty window)
- watchCommandsDir: add 3s polling fallback (fs.watch silent fail on Windows)
- auto toggle: write chat_snapshot confirmation back to Discord
- bot on_message: add message ID dedup for Gateway event replay
2026-03-15 08:18:26 +09:00
Variet Worker
e5a05e3ac4
feat(bot/extension/watcher): Discord 아티팩트 알림 개선 — 파일 첨부 전송, truncation 확대, 동적 .md 감시
2026-03-13 09:46:56 +09:00
Variet Worker
71f2a269f0
docs: devlog #003 추가 — workbench.html 크로스 복원 CSS 수정 (직전 세션 기록 복구)
2026-03-12 18:09:52 +09:00
Variet Worker
a9feee6faa
fix(extension): workbench.html 0-byte 파괴 방지 — pre-read/pre-write 안전 가드 추가
2026-03-12 17:05:29 +09:00
Variet Worker
6dbbb57fa7
feat(gateway): Docker Gateway 봇 + HTTP API 구현 #task-311
...
- gateway.py: Collector↔Gateway HTTP API (pending, response, chat, register, commands)
- Dockerfile + docker-compose.yml: BOT_MODE=gateway, port 8585
- main.py: gateway 모드 (watcher 비활성, GatewayAPI 시작)
- config.py: gateway 모드 BRAIN_PATH 검증 스킵
- requirements.txt: aiohttp 추가
- docs/usage-guide.md: Docker 배포 섹션 추가
- Extension VSIX v0.3.9 빌드 (auto-approve 포함)
2026-03-11 19:38:26 +09:00
Variet Worker
1696a2976b
fix(config,extension): BRAIN_PATH 빈문자열 버그 + 크로스프로젝트 DEDUP MERGE 수정
...
- config.py: os.getenv BRAIN_PATH 빈값 시 CWD 해석 → or 패턴으로 수정
- extension.ts: writePendingApproval DEDUP에 project_name 가드 3곳 추가
- extension.ts: HTTP /pending file_permission dedup에도 project_name 가드
- known-issues: 2건 추가 (BRAIN_PATH, DEDUP MERGE)
- devlog: 2026-03-11 생성
2026-03-11 09:36:55 +09:00
a0d46f1ff3
fix(extension): SDK LS 대소문자 매칭 버그 수정 — fixLSConnection() 추가 (멀티프로젝트 신호 누락 해결)
2026-03-10 22:51:02 +09:00
4d780ec5e7
docs: devlog 013 + known-issues (Reload Window stale session, RUNNING 우선 선택, IDLE 채널)
2026-03-10 22:21:32 +09:00
08c5cb461b
docs: devlog 011 + known-issues (workspace URI 세션 격리)
2026-03-10 19:33:39 +09:00
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
95d4f854f5
fix: skip stale timeout responses (>2min old reject) to prevent phantom REJECT duplicates
2026-03-10 17:23:47 +09:00
186875ad0b
feat: single active project lock — warns if another project already connected to Discord
2026-03-10 17:13:20 +09:00
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
4dcb78c1ce
fix: focus dirty files before executing agentAcceptAllInFile command
2026-03-10 15:34:37 +09:00
0470c03ab3
fix: add step_type to default approve/reject/timeout callbacks (not just multi-choice)
2026-03-10 15:29:55 +09:00
7982263fcd
fix: pass step_type through response file for diff_review routing
2026-03-10 15:02:24 +09:00
8fbf6bf6b7
fix: diff review uses cumulative file tracking instead of IDLE-time step scan
2026-03-10 14:44:16 +09:00
f8f9ce8f5f
fix: init lastUserInputStepIdx + lastResponseCaptureStep on session change (prevents stale replay)
2026-03-10 14:35:56 +09:00
82b727a1e6
fix: skip echo relay for Discord-origin user messages
2026-03-10 14:31:47 +09:00
c15b0f676f
feat: diff review Discord relay — Accept/Reject all via VS Code commands
2026-03-10 14:28:01 +09:00
b50012075e
feat: full conversation relay #253 — user messages + error notifications to Discord
2026-03-10 14:08:14 +09:00
514c0f2738
fix: extract user message from userInput.userResponse field (discovered via step dump)
2026-03-10 14:05:22 +09:00
17dd6654f1
feat: relay AG-side user messages to Discord via chat_snapshots
2026-03-10 13:58:19 +09:00
048ffd90a3
feat: auto_resolved sync + expired card update + DOM step_index
2026-03-10 13:52:27 +09:00
47dbd38c7c
fix: show actual arg values (paths, queries) instead of parameter names in approval
2026-03-10 13:30:01 +09:00
e107b70510
fix: dedup file_permission pendings (10s window) + clean description text
2026-03-10 13:21:18 +09:00
bec38f9a6a
fix: filter DOM Observer Run-only pendings when step_probe already has pending
2026-03-10 13:08:50 +09:00
14d2acf6c4
feat: 3-button file permission UX (Allow Once / Allow This Conversation / Deny)
2026-03-10 12:45:12 +09:00
c9b4fd4722
fix: route file_permission scope by cmd (once=1, conversation=2)
2026-03-10 11:20:55 +09:00
c612c37105
fix: module-scope stallProbed + reset after approval for consecutive detection
2026-03-10 11:16:23 +09:00
857e10126d
fix: add verbosity=DEBUG to all step_probe calls for full command text
2026-03-10 11:11:10 +09:00
75a3482a9c
fix: command length 150->1500, filter EPHEMERAL_MESSAGE, widen approval gate
2026-03-10 11:01:45 +09:00
df592723b7
feat: file_permission interaction + DOM Observer RPC passthrough
2026-03-10 10:54:28 +09:00
2958bdc950
feat: real-time PLANNER_RESPONSE capture on every delta>0 during RUNNING
2026-03-10 09:54:30 +09:00
9b047c0c7d
fix: extract text from plannerResponse.modifiedResponse field
2026-03-10 09:38:24 +09:00
7ed2db90df
fix: add verbosity=DEBUG to GetCascadeTrajectorySteps for response text
2026-03-10 09:13:13 +09:00
1089c6ce61
fix: extract text from plannerResponse field for Discord relay
2026-03-10 09:02:16 +09:00
e586bb6d41
feat: capture AI text responses on RUNNING->IDLE for Discord relay
2026-03-10 08:43:57 +09:00
8c6d25c6d4
fix: add snapshot diagnostics + lower content filter for Discord messages
2026-03-10 08:18:36 +09:00
628b5ae2fa
fix: use stepOffset to bypass 775-step API limit with full details
2026-03-10 08:08:36 +09:00
2361aa7558
fix: disable ResolveOutstandingSteps + add 775-limit stall fallback
2026-03-10 08:03:57 +09:00
0e3a896c86
feat: step_type routing for all approval interaction types
2026-03-10 07:56:36 +09:00
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
aab1cfba27
fix(bridge): approval ENOENT race condition + multi-choice button grouping #task-276 #task-277
2026-03-10 06:32:20 +09:00
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
4ba65f9fc7
feat(bridge): Retry/Dismiss/Reject-all button detection + agent_guide workflow integration #task-274
2026-03-09 23:26:04 +09:00
18b3734c02
fix(bridge): approval flow tuning — dedup + text cleanup + stall fallback removal + safe reject #task-256
2026-03-09 22:31:44 +09:00
08077e8afa
fix(bridge): CSP script-src 'unsafe-inline' patch for renderer v3 execution #task-264
2026-03-09 20:35:38 +09:00
5971a524ea
fix(bridge): workbench.html inline v3 script injection + both-HTML loop patch #task-264
2026-03-09 19:38:06 +09:00
a07d9d3803
feat(bridge): deep-inspect HTTP endpoint + recursive DOM inspector #task-264
2026-03-09 18:24:41 +09:00