feat(antigravity): sign out so a wrong Google account can be changed
Antigravity caches the Google account it signed in as and refreshes it silently, so `authenticate` returns no link and codeg's only auth affordance answered "already signed in" forever. The credential outlives both obvious remedies — it is in the macOS login keychain (service `gemini`, account `antigravity-acp`) or `<GEMINI_HOME>/antigravity-acp/ acp_token.json`, not in the CLI or in codeg — so a user who picked the wrong account was stuck with it. The agent has advertised `agentCapabilities.auth.logout` all along; nothing called it. Adds a Sign out control to the Antigravity settings panel (10 locales), `POST /acp_antigravity_sign_out` plus the matching Tauri command, and `antigravity_login::sign_out`, which drives the real ACP `logout`. Two things the credential store forces: - It refuses when the agent would clear nothing, reading the auth method from the same `settings.json` the server infers it from, with "unreadable" kept distinct from "absent" — codeg parses strict JSON where the server also accepts Hjson, and guessing there would report a sign-out that did not happen. - It ends this agent's processes first, under a spawn lockout held across the logout. An Antigravity process holds the credential in memory and writes it back on its next silent refresh, so one survivor restores the account being left. That sweep covers children an earlier disconnect left draining — invisible in the connections map, still holding the credential — and escalates SIGTERM to SIGKILL rather than returning the moment the signal is queued. Closes #666
X
xintaofei committed
7861d6ed04ad3cc94233949497838ea0bddcb4a6
Parent: f33c20b