SIGN IN SIGN UP

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