7982263fcd
fix: pass step_type through response file for diff_review routing
2026-03-10 15:02:24 +09:00
048ffd90a3
feat: auto_resolved sync + expired card update + DOM step_index
2026-03-10 13:52:27 +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
0c3d6cdb6d
fix(bridge): step structure discovery + approval watcher + AI text relay
...
- plannerResponse.response = user-facing text field (confirmed)
- step.runCommand.commandLine = command (not toolCall.argumentsJson)
- Add response watcher: bridge/response/ → ResolveOutstandingSteps RPC
- Fix AI text: use modifiedResponse/response, last-wins, dedup
- Fix flooding: slice(-delta) to skip old steps on reload
- Bot: 404 cache invalidation for deleted Discord channels
2026-03-08 02:29:17 +09:00
befa5d7c26
feat: start scanner loops, remove debug enum, enable chat response relay to Discord
2026-03-07 17:29:23 +09:00
0bd525a54c
feat: Discord slash commands /stop /auto /send with guild sync
2026-03-07 15:20:10 +09:00
02e9e4d424
fix: bot text confirmation on relay + rename @bridge to @gravity + channel dedup
2026-03-07 15:15:56 +09:00
af14e5fbc7
fix: _get_channel fetches existing channels before creating (prevents duplicates)
2026-03-07 15:10:43 +09:00
c8c9920dd0
feat: auto-create Discord channel when new project registration detected
2026-03-07 14:59:15 +09:00
d227ba57f7
fix: only log registration count when it changes (stop 3s spam)
2026-03-07 14:53:44 +09:00
35ee916440
feat: chat capture (@bridge participant, onDidChangeTextDocument), !stop command, chat snapshot scanner
2026-03-07 14:45:44 +09:00
d44b4c2f77
feat: full artifact content in Discord (split into chunks) + full task content display
2026-03-07 14:36:18 +09:00
046c58879c
fix: periodic register reload in approval scanner + direct project_name access
2026-03-07 14:31:14 +09:00
98bb037c81
feat: session connect command + auto-registration + bridge/register protocol
2026-03-07 14:15:53 +09:00
2c56fc7607
feat: multi-project routing — project_name in bridge, per-project channels, extension filtering
2026-03-07 14:07:40 +09:00
51cfd57930
fix: asyncio.Lock on channel create + PROJECT_NAME in .env.example
2026-03-07 13:37:22 +09:00
efaf29a6d2
refactor: single project channel - guild.fetch_channels API + project_channel singleton
2026-03-07 13:24:42 +09:00
7c081e70b5
fix: channel duplication root fix - ready gate + conv_id-first + Discord API search + hash pre-init
2026-03-07 13:09:05 +09:00
de6f1c7ffd
feat(phase4): !auto on/off 명령어 - Discord에서 Antigravity 자동승인 토글
2026-03-07 13:01:07 +09:00
8b3d723650
fix: 채널 중복 완전 근절 - reconnect 시 이름 dedup + 자동 삭제 + project name 최소 5자
2026-03-07 12:55:41 +09:00
ce2336c3d6
fix: 승인 메시지 중복 전송 수정 - in-memory sent tracking
2026-03-07 12:20:39 +09:00
51ece61a61
fix: 채널 중복 완전 해결 - Discord 캐시 대신 자체 dict로 이름 검색
2026-03-07 12:02:03 +09:00
b2622e9052
fix: 채널 중복 생성 근본 수정 - 글로벌 락 + 이름 기반 검색 + API 새로고침
2026-03-07 11:56:10 +09:00
e32be6b2f3
refactor: 전면 재설계 - 시작 시 채널 스팸 제거, content hash 중복 방지, 단일 이벤트 경로
2026-03-07 11:42:11 +09:00
a76208e4e6
fix: task embed 편집, metadata 중복 제거, closed- 채널 복원
2026-03-07 11:24:04 +09:00
5d95185ecd
feat(phase2): 승인/거부 버튼 + bridge 프로토콜 + 테이블 변환 수정 + 중복 메시지 해결
2026-03-07 11:12:56 +09:00
02c757f703
fix(bridge): 채널 중복 생성 race condition 수정 + AG- 접두사 + metadata 모니터링
2026-03-07 10:58:10 +09:00
ba8454c2e1
feat(bridge): 동적 채널 관리 - gravity-{프로젝트명} 채널 자동 생성/아카이브
2026-03-07 10:36:06 +09:00
ea5001f243
feat(bridge): Watcher, Parser, Bot, Main 핵심 컴포넌트 구현 #task-215 #task-216 #task-217 #task-218
2026-03-07 10:21:00 +09:00