Skip to content

feat(ai): add Google Interactions protocol - #52981

Merged
rekram1-node merged 2 commits into
v2from
google-interactions
Oct 4, 2026
Merged

rekram1-node merged 2 commits into
v2from
google-interactions

Conversation

@rekram1-node

Copy link
Copy Markdown
Collaborator

Summary

  • Add a separate Google Interactions protocol and Google.configure(...).interactions(modelID) selector; keep GenerateContent as the existing default.
  • Support native conversation/tool-result replay, streaming function arguments, thought signatures, usage accounting, and caller-controlled previousInteractionId.
  • Register @opencode/ai/providers/google/interactions with Core provider loading and API-key auth.
  • Record four live cassettes for text/usage, reasoning/signatures, stateless native tool replay, and stateful tool continuation (including deletion of the retained seed).

Scope

  • Full-history replay defaults to store: false. Stateful callers explicitly opt into storage and send only new messages after a predecessor ID.
  • Automatic Session continuation, explicit caching, hosted tools, and generated media are not included.
  • Preserve raw Google usage alongside normalized counts; context size can differ from top-level billed-token counters.

Verification

  • Live cassette recording: 4 scenarios, 7 HTTP interactions; credentials checked for redaction.
  • Replay without API keys: 73 focused existing/package and recorded tests passed.
  • bun typecheck in packages/ai passed.
  • New parser replayed 242 completed benchmark recordings successfully.
  • git diff --check passed.
  • Full bun run check blocked by unresolved UI dependencies; focused Core typecheck blocked by missing @opencode-ai/pty and @effect/opentelemetry modules.

@rekram1-node
rekram1-node merged commit 15c4e5d into v2 Oct 4, 2026
9 checks passed
@rekram1-node
rekram1-node deleted the google-interactions branch October 4, 2026 03:23
Ichinose-Kazuki pushed a commit to Ichinose-Kazuki/opencode that referenced this pull request Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant