feat(antigravity): history/delete/mark-read + model read/switch#1800
Conversation
|
Antigravity deep-audit summary (commits Live-snapshot of Antigravity (port 9234) revealed 49 visible interactive elements / 28 unique labels on the chat view. After the deep audit pass this PR now ships 22 commands across 4 layers.
Safety patterns:
Known limitation: E2E verified: |
Cross-surface naming harmonization (matches PR jackwener#1798 Grok / jackwener#1799 Codex / jackwener#1800 Antigravity): storage-* → renderer-side localStorage / sessionStorage (via CDP) state-* → on-disk VSCode state.vscdb (via sqlite3) Changes: - Renamed storage-keys → state-keys + storage-get → state-get (these query state.vscdb, kept their behavior 100% identical) - Added renderer-storage.js: storage-keys / storage-get / cookies / idb-list (CDP-based, query the Electron renderer's LS/SS/cookies/IDB) - Added settings.js: settings-read (parse User/settings.json, JSONC-aware) E2E verified against Leo's Trae SOLO: state-keys --filter "AI.agent" → 3 AI.agent.* keys (renamed, same behavior) settings-read → 1 key: AI.toolcall.v2.command.allowList Known limitation: renderer storage-keys / storage-get / cookies / idb-list return SecurityError on Trae SOLO because Trae's renderer runs under vscode-file:// scheme with strict sandboxing — opencli's eval context hits an isolated world without access to the main page's localStorage/cookies/IndexedDB. Direct CDP probes (bypassing opencli's session manager) CAN see the data (22 LS keys + @byted/ve-rtc IDB), but the standard adapter pathway is blocked. Documented as a structural limitation; the commands are wired correctly and will work on any Trae build that relaxes the sandbox. Brings Trae SOLO to 44 commands (38 + 1 settings-read + 4 renderer + 1 state-* alias gap).
|
Update — 9 storage commands (commit `2b61b6f9`) — renderer + VSCode FS state + settings Antigravity is VSCode-derived, so it has BOTH renderer-side (CDP) state AND the full VSCode FS state.vscdb on disk. This commit wraps both:
E2E verified: Brings Antigravity to 31 commands. |
Cross-surface naming harmonization (matches PR jackwener#1798 Grok / jackwener#1799 Codex / jackwener#1800 Antigravity): storage-* → renderer-side localStorage / sessionStorage (via CDP) state-* → on-disk VSCode state.vscdb (via sqlite3) Changes: - Renamed storage-keys → state-keys + storage-get → state-get (these query state.vscdb, kept their behavior 100% identical) - Added renderer-storage.js: storage-keys / storage-get / cookies / idb-list (CDP-based, query the Electron renderer's LS/SS/cookies/IDB) - Added settings.js: settings-read (parse User/settings.json, JSONC-aware) E2E verified against Leo's Trae SOLO: state-keys --filter "AI.agent" → 3 AI.agent.* keys (renamed, same behavior) settings-read → 1 key: AI.toolcall.v2.command.allowList Known limitation: renderer storage-keys / storage-get / cookies / idb-list return SecurityError on Trae SOLO because Trae's renderer runs under vscode-file:// scheme with strict sandboxing — opencli's eval context hits an isolated world without access to the main page's localStorage/cookies/IndexedDB. Direct CDP probes (bypassing opencli's session manager) CAN see the data (22 LS keys + @byted/ve-rtc IDB), but the standard adapter pathway is blocked. Documented as a structural limitation; the commands are wired correctly and will work on any Trae build that relaxes the sandbox. Brings Trae SOLO to 44 commands (38 + 1 settings-read + 4 renderer + 1 state-* alias gap).
a69f039 to
526efbd
Compare
Cross-surface naming harmonization (matches PR jackwener#1798 Grok / jackwener#1799 Codex / jackwener#1800 Antigravity): storage-* → renderer-side localStorage / sessionStorage (via CDP) state-* → on-disk VSCode state.vscdb (via sqlite3) Changes: - Renamed storage-keys → state-keys + storage-get → state-get (these query state.vscdb, kept their behavior 100% identical) - Added renderer-storage.js: storage-keys / storage-get / cookies / idb-list (CDP-based, query the Electron renderer's LS/SS/cookies/IDB) - Added settings.js: settings-read (parse User/settings.json, JSONC-aware) E2E verified against Leo's Trae SOLO: state-keys --filter "AI.agent" → 3 AI.agent.* keys (renamed, same behavior) settings-read → 1 key: AI.toolcall.v2.command.allowList Known limitation: renderer storage-keys / storage-get / cookies / idb-list return SecurityError on Trae SOLO because Trae's renderer runs under vscode-file:// scheme with strict sandboxing — opencli's eval context hits an isolated world without access to the main page's localStorage/cookies/IndexedDB. Direct CDP probes (bypassing opencli's session manager) CAN see the data (22 LS keys + @byted/ve-rtc IDB), but the standard adapter pathway is blocked. Documented as a structural limitation; the commands are wired correctly and will work on any Trae build that relaxes the sandbox. Brings Trae SOLO to 44 commands (38 + 1 settings-read + 4 renderer + 1 state-* alias gap).
Split from #1797. This PR contains all antigravity-adapter changes.
New commands:
opencli antigravity history— list visible conversations from sidebar (data-testid="convo-pill-<uuid>")opencli antigravity mark-read <uuid>— toggle read/unreadopencli antigravity delete <uuid> --yes— delete (clicks through confirm dialog)opencli antigravity rename— stub (destructive side effect on incomplete eval; followup needed)Fix:
opencli antigravity model— now supports read (parsesaria-label^="Select model, current:") +--list+ switch (previously required<name>and could only switch)Key gotcha: Antigravity menu click triggers a sidebar re-render that destroys eval replies ("Promise was collected" / 30s timeout). The click DOES fire — we catch those specific errors and treat as success-with-note. Verified live by toggling mark-read repeatedly.
Verified live on macOS, Chrome 146, Antigravity Desktop.