2.5 KiB
Antigravity terminal-backed Chat UI
Antigravity uses the existing experimental Chat UI over its terminal and saved transcript. It is not a structured-session provider. The opt-in default-chat setting applies, and users can return to the terminal.
Transcript contract
The execution host reads
.gemini/antigravity-cli/brain/<conversation-id>/.system_generated/logs/transcript.jsonl.
A hook-reported transcript path takes precedence. Existing WSL exact-path and
host-isolation rules apply; a missing guest transcript must not fall back to a
native host's same-named conversation.
The sanitized fixture in src/main/native-chat/__fixtures__/antigravity/ records
these observed shapes:
- User input is
USER_EXPLICIT/USER_INPUTwith aUSER_REQUESTwrapper. - Planner responses carry text, thinking, or tool calls. Tool arguments are in
args. - Tool output is a
MODELrecord with a tool-specific type such asRUN_COMMANDorVIEW_FILE. It is not aTOOL_RESULTrecord. - A planner step marked
DONEcan precede more tool work in the same user turn. The decoder therefore emits no turn-completion verdict. The existing host-owned hook/status system remains authoritative.
Full reads, incremental tails, and legacy journal imports reuse the same decoder.
Unknown record types are skipped. Tool failures retain a nonzero exit code or
ERROR status as an error result.
Mixed versions
New hosts advertise native-chat.antigravity.v1. A new client's chat transport
checks the owning host before reading or subscribing to Antigravity. An older
host gets the existing update-runtime error; a failed capability probe gets the
existing read error. Neither becomes a perpetual first-transcript wait.
No stream opcode or message-block type was added.
Verification limits
On macOS with installed agy 1.2.7, a resumed test conversation rendered from its
real saved transcript, and a message submitted in the chat composer appeared in
that transcript. Generation returned 401 ACCESS_TOKEN_TYPE_UNSUPPORTED.
Hooks were disabled in the isolated app profile, so pane/session metadata was
supplied as a fixture; this did not validate actual hook delivery or live status
transitions. Tool rendering was checked separately with the sanitized fixture.
Five bounded real transcript samples supplied 309 tool/activity records; the corrected decoder preserved all 309. This is offline format evidence, not proof of a successful new model turn. Windows, Linux, WSL, SSH, paired-runtime execution, permission questions, and successful tool-generating turns still need live QA.