Repository navigation
Conversation
✅ Deploy Preview for adk-docs-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
GWeale
force-pushed
the
docs-audit-streaming
branch
2 times, most recently
from
August 7, 2026 20:37
1a1eab9 to
640dd09
Compare
Re-applies the corrections from google#2023 to the capability pages that replaced dev-guide/part1-5 in google#2086. Most of the original audit is already fixed by that rewrite; these seven claims are not, and each is verified against google-adk 2.8.0. - sessions: run_live() raises SessionNotFoundError, a ValueError subclass, and Runner(auto_create_session=True) avoids it. - sessions: LiveRequest is missing audio_stream_end, partial and state_delta. - sessions: a tool cannot set end_invocation; ADK sets it, for instance when a before_agent_callback returns content. - tools: a tool gets a ToolContext and a callback a CallbackContext, not an InvocationContext. get_invocation_context() returns a copy, so setting end_invocation on it does nothing. - events: live text is accumulated in GeminiLlmConnection.receive(); StreamingResponseAggregator is the run_async() path. - events: the streaming flags are Optional[bool] defaulting to None, so the example stream showed values the runtime never produces. - configuration: response_modalities is list[Modality], and plain strings are accepted.
GWeale
force-pushed
the
docs-audit-streaming
branch
from
September 3, 2026 20:56
04c0fba to
f524443
Compare
# Conflicts: # docs/live/configuration.md
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rebased onto the Live rewrite in #2086, which deleted
dev-guide/part1-5.mdand split theminto the capability pages. This PR now targets those pages instead.
Most of the original audit is already fixed by that rewrite — the event-loop binding of
LiveRequestQueue, the progressive-SSE environment variable,Part.from_text(text=...),the transcription defaults, and the five-attempt reconnect limit all landed with #2086.
Seven claims did not, and each is re-verified against
google-adk2.8.0 rather than the2.5.0 the original audit used.
What is corrected
docs/live/sessions.mdSessionNotFoundError, which subclassesValueError, not a bareValueError. AddedRunner(..., auto_create_session=True)as the way to avoid it.LiveRequestblock omittedaudio_stream_end,partialandstate_delta. The blockis presented as the class definition, so the omissions read as "these fields do not exist".
end_invocationis "set by a tool or callback". A tool cannot set it.ADK sets it, for example when a
before_agent_callbackreturns content(
base_agent.py), and a custom agent can set it in its own_run_live_impl().docs/live/tools.mdToolContextand a callback aCallbackContext, not anInvocationContext. Swapped the two documented fields for ones that exist onToolContext.tool_context.get_invocation_context()returnsctx.model_copy(...), soctx.end_invocation = Trueon the result is a silent no-op. This was documented as theway to terminate a session, so following the page gets you a session that never ends.
docs/live/events.mdGeminiLlmConnection.receive().StreamingResponseAggregatoris therun_async()path; the livereceive()carries acomment saying reusing it is still pending.
partial,turn_completeandinterruptedareOptional[bool]defaulting toNone.The example stream showed
turn_complete=Falseand a finalpartial=False, text="",neither of which the runtime produces, which invites
== Falsecomparisons that nevermatch.
docs/live/configuration.mdresponse_modalitiesislist[Modality], notlist[str]. Noted that plain strings areaccepted, since every example on the page uses them.
Checks
mkdocs build --strictpasses. The two anchor notices it prints are onmainalready andare untouched here.