* feat: decouple Google provider from PI runtime into Google Interactions API
Introduces a new `google-interactions` runtime that calls the Google
Gemini Interactions API directly via the `@google/genai` SDK, mirroring
how the OpenAI provider uses its own Responses API runtime.
Key changes:
- New runtime files: googleInteractionsModel.ts, googleNativeInteractions.ts,
googleInteractionsRuntime.ts
- Added `google-interactions` to RUNTIME_NAMES and routing
- Google provider now routes to google-interactions runtime by default
- Removed Google-specific code from PI runtime (resolvePiModel, buildPiStreamOptions)
- Updated server protocol and client replay to handle new format
https://claude.ai/code/session_01WTb2HpoqFgBiENyX7w7QHC
* test: add Google Interactions runtime tests and Gemini 3.1 model configs
- Add 17 unit tests for the new Google Interactions runtime
- Add gemini-3.1-pro-preview and gemini-3.1-pro-preview-customtools models
- Update runtime selection tests for Google → google-interactions routing
- Update PI options test (Google no longer mapped through PI)
https://claude.ai/code/session_01WTb2HpoqFgBiENyX7w7QHC
* Fix Google interactions replay and desktop transcript dedupe
* Preserve raw Exa search citations across overflow hydration
* Update Gemini models and cancel child agents with parent turns
* fix: preserve LM Studio history and desktop dev imports
* Add subagent-aware cancel controls and preserve Google tool results
* Fix Google interaction turn boundaries and native tool gating
* Fix Google continuation state and remove Maps support
* fix preserve google replay signatures and tool history
* google fixes
* Preserve resumed thread providers during desktop reconnects
* fix: harden cross-platform skills and slide workflows
* Fix workspace settings sync and cover handshake races
* Fix idle subagent cancel and URL context result normalization
* Fix agent cancel and reasoning replay state handling
* fix: harden google continuation recovery and reasoning dedupe
* fix: address google runtime review follow-ups
* fix: stabilize google tool ids across replay
* Preserve native Google tool history in interaction transcripts
* fix mapping
* Preserve resumed child model defaults on desktop reconnect