0.5.1
Google shipped Gemini 3.7 Flash on August 13; this cohort makes the google-adk facet’s support attested rather than assumed, six days later. The wire format is untouched — AGJSON_VERSION stays 1.0.0-draft.2; everything here is adapter behavior and capture evidence.
Corpus: the gemini-3.7-flash validation trio
Three new live cassettes, captured at @google/adk 1.6.0 and enrolled as CI replay seeds in the same change: echo-gemini37 (tool loop), app-spec-gemini37 (re-attesting the MCP-Apps structuredContent/_meta.ui carry that only a live capture caught last generation), and thinking-gemini37 — the corpus’s first real Gemini thought: true capture. Until now the adapter’s reasoning path was attested only by synthetic frames: 3.7 returns no thought summaries by default, so the harness grew a per-scenario thinkingLevel knob (low/medium/high, 3.7’s set) that maps to thinkingConfig { includeThoughts, thinkingLevel } on the ADK agent. The capture yields real thought parts with signatures, normalized to reasoning.start/delta/end plus the signature’s reasoning.opaque carry. Census came back clean — no unknown 3.7 wire fields; the one new triage is the thought boolean itself, a structurally-consumed flag under the same rule as partial.
Finish reasons: the genai 2.16 tool-call pair, mapped and lossless
The SDK generation 3.7 launched with declares two finish reasons the adapter didn’t map: UNEXPECTED_TOOL_CALL now lands on its exact AgJSON home (unexpected_tool_call, in the superset since draft.1), and TOO_MANY_TOOL_CALLS maps to other pending a spec-process decision on first-class standing. More importantly, lossy mappings no longer discard the wire string: any finish reason that maps inexactly (the unknown arm included) is carried in message.metadata before the message seals — rawFinishReason, the same channel and key the vercel-ai facet already uses, or rawErrorCode when the wire field was actually a block reason. Exact mappings emit nothing, so existing streams are byte-identical.
Defaults and evidence
DEFAULT_MODEL for adk captures bumps to gemini-3.7-flash per the corpus-verified policy; the google-adk evidence log and the generated compatibility tables record the day-6 validation. No dependency changes were needed — @google/adk 1.6.0 with @google/genai 2.17.x already covers the model.