Commit Graph

41 Commits

Author SHA1 Message Date
Kaz Sato e1c5d8b780 docs(runtime): correct TypeScript claims in RunConfig streaming docs (#2101)
* docs(runtime): correct TypeScript claims in RunConfig streaming docs

The streaming sections of runtime/runconfig.md told TypeScript readers three
things that are not true of the TypeScript SDK.

- The BIDI bullet directed readers to `runner.run_live()`. That entry point
  does not exist in TypeScript: `Runner` exposes no `runLive()` and
  `LlmAgent.runLiveFlow` throws. The bullet also omitted that passing BIDI
  degrades to non-streaming with no error and no warning.
- The TypeScript tab recommended `supportCfc: true`. Copying it yields a
  single event with `errorCode: 'UNKNOWN_ERROR'` and
  `errorMessage: 'CFC is not yet supported in callLlmAsync'` and no response
  text at all. Removed from the snippet and documented in the existing
  experimental admonition.
- "Configure live agents" carried a TypeScript support tag and a TypeScript
  snippet, but the whole section describes `run_live()` parameters. The three
  fields the TypeScript `RunConfig` declares feed only `liveConnectConfig`,
  which nothing reachable consumes. Tag and snippet removed, with a note
  explaining why the fields exist but do nothing.

Verified against @google/adk 1.6.0 and adk-js at HEAD; `mkdocs build --strict`
is clean.

* docs(runtime): name the streaming mode property per language

The prose said "set the `streaming_mode` parameter" in a language-neutral
sentence, but the TypeScript property is `streamingMode` (as the TypeScript
code tab below it already shows).

* docs(runtime): apply review feedback on the streaming sections

Addresses @joefernandez's review of #2101 and the staleness the technical
review report found in three of the four original changes.

Two adk-js merges landed after this PR was written and invalidated its
TypeScript claims: adk-js#692 (2026-08-13) makes StreamingMode.BIDI throw
instead of silently degrading, and adk-js#523 (2026-08-18) implements
Runner.runLive and the LlmAgent live flow. Rather than re-state per-SDK
behavior that is still moving, the TypeScript-specific claims are dropped
entirely, per the review direction not to document what a feature does not do.

- Rename "Enable streaming" to "Text response options" and reword the intro so
  it cannot be confused with the Live and voice path. The #enable-streaming
  anchor is preserved via attr_list, since docs/live/configuration.md links to
  it and external links may too.
- Drop the per-language property-name parenthetical. The snippets below already
  show the syntax, and it was wrong for Go, Java and Kotlin.
- Replace the StreamingMode.BIDI bullet with a paragraph pointing at Live and
  Voice Agents, instead of listing BIDI as a parallel option to NONE and SSE.
- Drop the "run_live() is not available in the TypeScript SDK" warning; both
  Runner.runLive and LlmAgent.runLiveFlow exist at adk-js HEAD.
- Drop the TypeScript detail from the CFC "Experimental" admonition. Removing
  supportCfc: true from the TypeScript snippet stands: it still throws at
  llm_agent.ts and surfaces as an error event with no response text.
- Restore the TypeScript language tag and snippet under "Configure live agents"
  and add the Java tag. The three TypeScript fields are in LIVE_KEYS and are
  applied by the now-working live flow; Java has Runner.runLive and implements
  avatar_config.
- Lead "Configure live agents" with a pointer to Live and Voice Agents.

* docs(runtime): add Java live RunConfig example

* Apply batched suggestions from code review

Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>

* Apply batched suggestions from code review

Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>

---------

Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-09-03 08:59:18 -07:00
Kaz Sato 03eccf55e0 docs(live): decompose the dev guide and fix staleness vs adk-python main (#2086)
* docs(live): decompose the development guide into capability pages

Split dev-guide/part1-5 into Sessions, Events, Tools, Workflows, Audio and
video, Configuration, Voice, Supported models, and Build a custom server.
Rewrite index.md as the section Overview with a streaming-type decision table.

Implements Phase 2 of the Live Interactions<>ADK documentation revamp.

* docs(live): drop half-cascade model coverage

Half-cascade models are no longer supported for live agents. Remove the
Native Audio vs Half-Cascade architecture framing from Supported models and
the half-cascade caveats from Voice configuration. The eight prebuilt Live
API voices are kept, relabeled as native-audio voices alongside the extended
Text-to-Speech list.

* docs(live): retire the five-part dev guide and rewire navigation

Delete live/dev-guide/ and live/streaming-tools.md now that their content
lives in the capability pages. Regroup the Live nav into Get started / Build /
Ship / Reference, repoint every partN.md cross-link at its new page and
anchor, and add direct redirects for the removed paths (mkdocs-redirects does
not chain, so streaming/* keys point at final destinations).

* docs(live): point at the API reference instead of pinned source

Swap the RunConfig, Event, SequentialAgent, LiveRequestQueue and
Runner.run_live source-reference notes for Python API reference links.
Implementation pointers with line ranges are left as source links, since they
document internals with no public reference equivalent.

* docs(live): fix docs against adk-python main and drop the bidi-demo links

The bidi-demo sample was removed from adk-samples, so all the source links in
docs/live/ were dead. The sample is not shipped here either, so remove every
reference to it instead of repointing the links.

The code snippets themselves are unchanged. What goes away is only the
scaffolding that pointed at the sample:

- 32 code fences lose their linked 'Demo implementation: file.py:NN-MM' title
  and become plain language-tagged fences.
- The 'Complete Demo Implementation' note in custom-server.md and the 'Demo
  Implementation' note in events.md are dropped; both existed only to link out.
- The 'Learn More' note in tools.md and the model setup step in models.md keep
  their guidance but no longer cite the sample's files.
- Prose that named the demo ('The bidi-demo demonstrates how to...') is
  rewritten to describe the pattern directly.
- The Bidi Demo card and its screenshot are removed from the Live demos section
  of index.md; LensMosaic remains.

Staleness fixes verified against adk-python main:

- StreamingMode.BIDI is inert. Only run_async() reads RunConfig.streaming_mode;
  run_live() never does. Remove it from every run_live()-facing sample and
  rewrite the 'StreamingMode: BIDI or SSE' section around the Runner method you
  call. Keeps the old anchor via attr_list.
- configuration.md: run_live(session=...) is gone; use user_id/session_id.
- tools.md: streaming tools are registered lazily on first model call, not
  scanned up front; the input_stream queue is created only for tools annotated
  with LiveRequestQueue, and stop_streaming resets it to None. The old
  runners.py / function_tool.py line references pointed at unrelated code.
- sessions.md: document DEFAULT_MAX_RECONNECT_ATTEMPTS = 5 and the go_away
  reconnect trigger; correct 'automatic closure in SSE mode', which really only
  happens for the internal queue under support_cfc.
- events.md: audio artifacts require RunConfig.save_live_blob=True;
  get_author_for_event() also keys off llm_response.input_transcription.
- configuration.md: document history_config and the
  initial_history_in_client_content=True that ADK sets when seeding history.

Not changed: get-started/streaming-java.md still sets StreamingMode.BIDI, which
could not be verified without an adk-java checkout.

* Refresh the Live API supported-model list

Checked against the Gemini Live API and Agent Platform model docs:

- models.md: replace the model list with a platform/model/stage table covering
  gemini-3.1-flash-live-preview (Preview, Gemini Live API only),
  gemini-2.5-flash-native-audio-preview-12-2025 (Preview), and
  gemini-live-2.5-flash-native-audio (now GA, not "public preview").
- Document what Gemini 3.1 Live does not support: proactivity, affective
  dialog, async function calling, thinking_budget (it uses thinking_level),
  plus multi-part server events and the turn-coverage default change.
- Note that no Gemini 3.x Live model exists on Agent Platform, and that Live
  API models are unavailable in the `global` location.
- voice.md: replace the Platform Compatibility text, which wrongly said
  proactivity and affective dialog are unavailable on Agent Platform, with a
  per-model support table.
- configuration.md: CFC's model check is a literal `gemini-2` prefix match, so
  it rejects Gemini 3.x; refresh the runners.py line anchor.
- bidi-demo: same model table in the README, the 3.1 option and the regional
  location requirement in .env.example, and an expanded model comment in
  agent.py. The default stays on 2.5 native audio because the demo exposes
  proactivity and affective dialog toggles. Re-anchored the agent.py line
  links in models.md, tools.md, and sessions.md.

* docs(live): align docs with current Live API model capabilities

Verified docs/live/ and docs/runtime/runconfig.md against the Gemini Live
API capabilities guide, the Agent Platform Live API docs, and ADK 2.6.3.

Model consistency:

- response_modalities=["TEXT"] was presented as a valid live configuration
  in configuration.md, events.md and sessions.md. Every Live API model ADK
  supports is a native audio model, and those accept AUDIO only. Reframed
  around AUDIO plus output audio transcription, and kept TEXT where it is
  actually correct: the run_async() / SSE path.
- docs/runtime/runconfig.md configured response_modalities=["AUDIO","TEXT"]
  in all three language samples. A session accepts exactly one modality.
- events.md snippets read event.content.parts[0], which drops content on
  gemini-3.1-flash-live-preview because it sends multiple parts per server
  event -- the failure models.md already warns about. All four snippets now
  iterate over parts.
- tools.md gave the streaming-tools root agent model="gemini-flash-latest",
  which has no Live API support, so the example could not run under
  run_live() on either platform. That alias is still used for the one-shot
  generate_content call inside the tool, where it is correct.
- configuration.md "Standard Gemini Models (1.5 Series) Accessed via SSE"
  described a retired model family and labelled gemini-pro-latest /
  gemini-flash-latest as 1.5 with 2M context.
- sessions.md: document that send_client_content is seeding-only on Gemini
  3.x Live, and that ADK reroutes single-part text to send_realtime_input.
- models.md: gemini-live-2.5-flash-native-audio is the only GA Live API
  model on Agent Platform, not the only one.

Coverage and links:

- configuration.md: document explicit_vad_signal, translation_config,
  avatar_config and model_input_context.
- voice.md: note that ADK picks the live API version (v1alpha / v1beta1),
  so proactivity and affective dialog need no http_options.
- Replace redirecting upstream URLs with their current targets:
  live-guide -> live-api/capabilities, live-session ->
  live-api/session-management, live -> live-api, and
  cloud.google.com/vertex-ai -> the Agent Platform equivalents.

Verified correct, left alone: session and context limits, audio and video
specs, the proactivity / affective dialog model matrix, thinking_level vs
thinking_budget, the support_cfc gemini-2 prefix check, and ADK's AUDIO
default in run_live().

* docs(live): trim the response-modality and SSE material

Every Live API model ADK supports is a native audio model, so a live
session's response modality is always AUDIO and there is nothing to
choose. Shrink the section to the one thing that still matters --
reading text off event.output_transcription.

StreamingMode is only read by run_async(); the SSE tutorial that grew
around it here (protocol diagrams, progressive-streaming walkthrough,
mode-selection table, 1.5-series model list) duplicates
runtime/runconfig.md and describes models that no longer exist. Keep
the inert-BIDI warning and the run_live()/run_async() split, drop the
rest.

Document explicit_vad_signal, translation_config, avatar_config and
model_input_context, which had no coverage at all.

* docs(live): cut duplicated and non-ADK material

Six sections carried weight that did not belong to them:

- sessions.md 'Best Practices for Live API Connection and Session
  Management' restated the Session Resumption and Context Window
  Compression sections verbatim, down to the RunConfig snippets.
  Deleted.
- sessions.md 'Concurrency and Thread Safety' + 'Message Ordering
  Guarantees' explained asyncio.Queue at length and reproduced the
  upstream task already in custom-server.md. Condensed to the three
  properties that actually affect calling code, with a pointer to
  the private _queue attribute dropped.
- sessions.md 'Architectural Patterns for Managing Quotas' was an
  ASCII decision tree and a comparison table for two patterns that
  reduce to one sentence each.
- index.md 'Real-world applications' spent five industry vignettes
  making one point.
- events.md 'Deserializing on the Client' pasted 80 lines of the
  bidi-demo's UI code, calling helpers that no longer exist anywhere
  in these docs. Reduced to the event-shape handling it was meant to
  show.
- audio-video.md 'Handling Image Input at the Client' was 130 lines
  of getUserMedia/canvas/FileReader boilerplate plus a seven-point
  recap of it.

Also fix two dead absolute links: /agents/multi-agents/#workflow-agents-as-orchestrators
(the page now redirects to workflows/index.md and the anchor is gone)
and /live/streaming-tools/ (no such page; the content is in tools.md).

* docs(live): restructure the live docs around ADK ownership

The live section had accumulated content it did not own: backend limits
restated on capability pages, Web Audio API implementation presented as
ADK guidance, and shared concepts re-explained rather than linked.

Applies one rule throughout: if a fact would still be true with the ADK
source deleted, it belongs on models.md or behind an upstream link, not
on a capability page.

- audio-video.md is now the format contract only (505 -> 121). The
  browser mic-capture, ring-buffer playback, and camera-frame code was
  Web Audio API with no ADK in it, had no counterpart in adk-python, and
  no test anywhere. Deleted rather than relocated. The twelve numbered
  'Key Implementation Details' lists restated the code comments directly
  above them; deleted. The streaming-tool lifecycle section duplicated
  tools.md; replaced with a link.
- custom-server.md gains 'Connect a client': what adk web handles
  (16 kHz capture, 24 kHz playback, 1 fps JPEG, transcripts, barge-in),
  where it stops, and the /run_live wire protocol, which was previously
  undocumented. Keeps the one JS snippet that shows ADK's event shape.
  Drops 'Client-side patterns'.
- sessions.md hands its platform-limits table and quota numbers to
  models.md, keeping the session-pool design guidance. The same figures
  had been stated in three places across two pages.
- models.md gains 'Platform limits and quotas' as the single source, and
  loses the 'Key characteristics' list that restated configuration.md.
- configuration.md drops the 'Platform Support' column, which read
  'Both' on 13 of 15 rows and labelled the two exceptions as platform
  constraints when they are model constraints.
- tools.md compresses 'Tool execution context' to the one fact that is
  live-specific: an InvocationContext spans the whole run_live() loop,
  not a single turn.
- workflows.md points at graphs/index.md, the ADK 2.0 graph workflow
  page, rather than the v0.1.0 multi-agent umbrella.
- Six internal links used absolute paths, which mkdocs does not
  validate, so --strict had been silently ignoring them. Now relative.
- Fixes class.="grid cards" in get-started/index.md, which was breaking
  the card grid.

* docs(live): standardize page leads and cut duplicated RunConfig prose

Every live page opened by narrating its own table of contents ("This page
covers X, Y, and Z"), which duplicates the rendered TOC, ages badly when
a heading changes, and spends a paragraph before the reader gets a fact.
evaluation.md already did the better thing: state the shared baseline,
link the canonical page, then cover only the delta. That is now the
convention across the section.

- sessions.md, events.md, configuration.md, audio-video.md,
  workflows.md, tools.md, models.md and get-started/index.md now name
  their non-live counterpart in the lead instead of listing their own
  headings. Three pages had no outbound link to the shared concept at
  all: tools.md to Custom Tools, models.md to Models for agents, and
  workflows.md pointed at the v0.1.0 umbrella rather than graph
  workflows.
- configuration.md drops the custom_metadata section (85 lines) for a
  pointer plus the one live-specific consequence: a run_live() call is a
  single invocation, so metadata is stamped on the whole session rather
  than one turn. runtime/runconfig.md already owns the field.
- configuration.md trims max_llm_calls and save_live_blob to the facts
  that are live-specific — max_llm_calls does not apply to run_live() at
  all, and save_live_blob writes ~1.92 MB per minute per session to two
  services — and drops the generic use-case and best-practice lists.
- custom-server.md replaces 'Key concepts', which re-pasted all three
  code blocks from the complete example directly above it, with prose
  explaining why the two tasks must run concurrently.

Live section: 2820 -> 2211 lines.

* docs(live): reframe pages around capabilities, fix eval config key

* Apply batched suggestions from code review

Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>

* Apply suggestion from @joefernandez

* Apply batched suggestions from code review

Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>

---------

Co-authored-by: Stephen Allen <stephenaallen@google.com>
Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-09-01 17:15:50 -07:00
Shahin Saadati 57869ca730 Show maxLlmCalls in the RunConfig Kotlin tabs (#2163)
* Show maxLlmCalls in the RunConfig Kotlin tabs

Two groups on the RunConfig page had a Kotlin tab that set only
streamingMode while the Python, TypeScript and Java siblings also set
max_llm_calls. The tab existed and every symbol in it was valid, so
neither a symbol diff nor a missing-tab scan could see the gap - only
comparing a tab's contents against its siblings.

Also corrects the runtime-limits prose, which described the overflow
error purely in Python terms. Kotlin rejects Int.MAX_VALUE the same way.

The audio and speech group is deliberately left without a Kotlin tab:
Kotlin's RunConfig carries only streamingMode, maxLlmCalls and
customMetadata, so there is no speechConfig or responseModalities to
show.

* Update examples/kotlin/snippets/runtime/RunConfigExample.kt

---------

Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-08-31 13:23:47 -07:00
George Weale 5cd8d56dbe docs(runtime): correct API routes, CLI flags, and RunConfig fields (#2020)
* docs(runtime): correct API routes, CLI flags, and RunConfig fields

* docs(runtime): correct per-agent service URI defaults and resume version

* docs: drop e.g. from the adk run timeout flag description

* Update event-loop.md

* Update runconfig.md

---------

Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-08-14 14:47:21 -07:00
Lucas Kang 88dbd90cae docs: add telemetry disclosure notices to Web UI and CLI docs (#2092)
* docs: add telemetry consent notice to Web UI docs

* docs: add telemetry consent notice to CLI docs

* Update index.md

* Update command-line.md

* Update index.md

* Update command-line.md

* Update command-line.md

---------

Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-08-07 10:55:21 -07:00
Amaad Martin c75e61f5f3 docs: normalize Typescript to TypeScript across the site (#2079)
The site rendered one language under two names. Tab labels were split
137 `TypeScript` / 53 `Typescript`, with three pages carrying both
spellings at once (custom-agents.md 7/7, patterns.md 1/7,
function-tools.md 4/1), and the language-support badges were split 67/18
the same way. Because pymdownx.tabbed slugifies tab labels to lowercase,
both variants rendered and linked fine, so no link check or build warning
ever flagged it -- it was visible only to readers, as two names for one
SDK.

Every user-visible occurrence is normalized to `TypeScript`, plus the two
inconsistencies that turned up while doing it. 80 changed lines, accounted
for exactly:

  53  tab label       === "Typescript"            -> === "TypeScript"
  18  badge span      lst-typescript">Typescript  -> TypeScript
   3  prose mention   cloud-run.md, mcp-tools.md, workflows/patterns.md
   2  api-reference/index.md card heading and link text
   1  badge div attr  title="...Python and Typescript."
   1  mkdocs.yml nav  Typescript ADK              -> TypeScript ADK
   1  code fence      ```javascript -> ```typescript on a .ts include
   1  artifacts/index.md closing summary sentence
  ---
  80

The first six rows are pure casing: 78 lines that differ from their
originals by nothing but `Typescript` -> `TypeScript`. The last two are
not, and are the reason this is not a `sed`:

llm-agents.md:872 fenced `--8<-- ".../capital_agent.ts"` as ```javascript.
It was the only javascript-fenced `.ts` include in docs/ (the other 189
TypeScript fences are correct), and it cost that one snippet its
TypeScript highlighting.

artifacts/index.md:1084 closed the page by naming languages and got the
list wrong. It described reaching the artifact methods "using Python's
context objects or directly interacting with the `BaseArtifactService` in
Java" -- a two-language enumeration at the end of a page that carries
Python, TypeScript, Go, Java and Kotlin tabs (11/10/10/10/11), and one
that contradicts :556, which correctly names four of them. The
enumeration is dropped rather than extended: the sentence now describes
the two ways to reach these methods -- through the context object, or
through `BaseArtifactService` -- which is what the page actually teaches
and does not rot when a sixth language is added.

docs/api-reference/index.md is included even though the rest of
docs/api-reference/ is generated output that must not be touched. That
tree holds 3,140 generated HTML files and exactly one hand-authored page:
this one. It is Markdown, it is the only api-reference entry mkdocs.yml
lists as `.md` rather than `index.html` (:272, :441), it uses Material
`grid cards` and `:fontawesome-*:` shortcodes, and it carries a
`CONTRIBUTORS:` note citing issues #1716 and #1717. Its TypeScript card
already said "TypeScript" twice in its body text while its heading and
link text said "Typescript"; those two are now consistent with the body.
No generated file is modified.

Not in this change: the broken `SseConnectionParams` sample in
mcp-tools.md (docs-ts/p6c-mcp-ts-sample) and the `@google/adk` example
version bumps (docs-ts/p6b-example-versions). Only the casing of the
prose line above that sample is touched here.

Verified: `mkdocs build` exits 0 with an empty warning set on both main
and this branch, and the two warning sets are identical. A rendered
before/after diff of the whole site shows every `__tabbed_*` id, every
tab radio id and every heading anchor unchanged. Zero `=== "Typescript"`
and zero `lst-typescript">Typescript` remain anywhere in the repo.

Co-authored-by: Amaad Martin <amaadmartin@google.com>
2026-08-05 15:58:49 -07:00
Shivansh Sharma 0e1d6094e9 docs: document new RunConfig parameters (#2006)
Co-authored-by: SHAI-shivansh-sharma <SHAI-shivansh-sharma@users.noreply.github.com>
2026-07-31 15:45:42 +00:00
Hyang-Ah Hana Kim af790ae141 docs: update more Go documentation and examples to ADK Go v2 (#1936)
* docs: update ADK Go imports to v2 for core concepts and tutorials

* docs: update ADK Go imports and APIs to v2 for runtime and safety

* docs: update ADK Go imports to v2 for features (workflows, tools, skills, sessions, plugins)

* docs: update ADK Go imports to v2 for operations and integrations

---------

Co-authored-by: Kristopher Overholt <koverholt@google.com>
2026-07-07 18:09:07 -05:00
Joe Fernandez 1b2660a0c0 docs: Update Go API docs references (#1911)
* docs: Update Go API docs references

* respond to review comments
2026-06-30 13:51:50 -07:00
Toni Klopfenstein 8a074d7c0c Runtime docs cleanup for Go (#1868)
* updating command-line and web-interface docs to reflect what flags are compatible with adk-go

* clarifying go documentation on runtime api-server docs

* formatting clean-up of language tabs
2026-06-29 23:14:11 -06:00
adk-bot 6ae77f7025 docs: Document --memory_service_uri CLI option (#1374)
Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-06-24 16:00:59 -07:00
Liron Newman cca8c74225 docs: Fix indent on event loop page (#1865)
* Fix indent.

* Fix indent.

---------

Co-authored-by: Kristopher Overholt <koverholt@google.com>
2026-06-24 13:32:22 -05:00
Toni Klopfenstein dc3e3020e7 adding Runtime kotlin snippets (#1788)
* adding Runtime kotlin snippets

* Adding kotlin snippets into files to test

* Linting fixes via ktlint

* Simplify imports

* Add license headers

* Add code snippet for resume config

* Remove unused import

* Add placeholder var definition

---------

Co-authored-by: Kristopher Overholt <koverholt@google.com>
2026-05-21 13:06:51 -05:00
Kristopher Overholt a583b64aec Move Visual Builder page under Runtime > Web Interface page (ADK Web) (#1759)
* Move adk web Visual Builder page content into Runtime > adk web page

* Clarify Visual Builder in intro

* Fix casing for consistency

* More casing fixes

* Move Visual Builder page under Web Interface

* Fix link from runtime index page

* Keep Visual Builder file at original path, nest under Web Interface in nav

---------

Co-authored-by: Joe Fernandez <joefernandez@users.noreply.github.com>
2026-05-19 12:20:15 -05:00
Botta Venkata Leela Raman Raj 889e32d2d5 Fix RunConfig docs: correct import path and add missing fields (#1764)
* Fix RunConfig docs: correct import path and add missing fields

The Python import was documented as `from google.genai.adk import
RunConfig, StreamingMode`, but the actual import path in adk-python is
`from google.adk.agents.run_config import RunConfig, StreamingMode`.
Corrected all four occurrences.

Synced the page against
https://github.com/google/adk-python/blob/main/src/google/adk/agents/run_config.py:

- Added 11 previously undocumented fields to the class definition, the
  parameter table, and dedicated sections: avatar_config,
  input_audio_transcription, realtime_input_config,
  enable_affective_dialog, proactivity, session_resumption,
  context_window_compression, save_live_blob, tool_thread_pool_config,
  custom_metadata, get_session_config.
- Marked save_input_blobs_as_artifacts as deprecated and pointed readers
  to SaveFilesAsArtifactsPlugin; removed it from the comprehensive
  Python example.
- Corrected StreamingMode.BIDI description: it is not used by
  run_async(); bidirectional streaming goes through runner.run_live().
- Fixed output_audio_transcription default in the table (the field uses
  default_factory=AudioTranscriptionConfig, not None).
- Added a ToolThreadPoolConfig example with a GIL note and a
  GetSessionConfig example.

* Rework RunConfig docs from per-field API ref duplication into a use-case-oriented guide with verified multi-language code samples

---------

Co-authored-by: Kristopher Overholt <koverholt@google.com>
2026-05-15 12:39:36 -05:00
Kristopher Overholt 06bec8757d Add Cancel Agent Runs page for AbortSignal support in ADK JS (#1708)
* Add Cancel Agent Runs docs page for ADK JS AbortSignal support

* Add Cancel Agent Runs page

* Shorter section heading

* Re-run deploy build

* Fix language tag

* Move sample code to snippets files/dir

* Reword intro

* Reorder sections

* Shorter doc and snippet file names

* Add cancel page
2026-05-04 16:07:56 -05:00
Joe Fernandez 0e83bbe813 Update ambient-agents.md (#1715)
Add version tag support and make intro more understandable and less market-y
2026-05-04 20:18:17 +00:00
Anastasia 0cd4f6a538 Add ambient agents documentation for Golang (#1649)
* Add ambient agents documentation for Golang

* Minor edits

---------

Co-authored-by: Kristopher Overholt <koverholt@google.com>
Co-authored-by: Karol Piotrowicz <karol.piotrowicz@gmail.com>
2026-04-24 14:34:39 +02:00
Kristopher Overholt 1214ad915a Update product names in docs (#1673)
* Update names in docs

* Update names in docs

* Code formatting

* Format notebooks

* Update names in docs

* Update names in docs

* Update names in code samples

* Update names in docs

* Update names in docs

* Update names in docs

* Update names in docs

* Update names in docs

* Update names in docs

* Update names in docs

* Update names in docs

* Update icon

* Update names in docs

* Update names in docs
2026-04-22 05:10:38 -07:00
Kristopher Overholt fb0c030110 Switch link checkers (#1646)
* Switch link checker CI job

* Update

* Updates

* Update config

* Switch images to MD image syntax

* Update timeout settings

* Fix tools links

* Update links

* Update index files in config

* Fix more links

* Fix link; add ignores

* Fix more links

* Fix more links
2026-04-17 13:05:08 -07:00
Kristopher Overholt be8c8fca4e Fix links to API server docs in Ambient Agent page (#1642) 2026-04-16 20:45:15 +02:00
eliasecchig f3f466fe29 Add ambient agents documentation (#1630)
* Add ambient agents documentation

Document how to build event-driven ambient agents using ADK trigger
endpoints and the /run endpoint. Covers Pub/Sub, Eventarc (Standard
and Advanced), Cloud Scheduler, concurrency control, retry logic,
session lifecycle, and deployment to Cloud Run.

* Address reviewer feedback: clarify event processing flow

- Move "How events are processed" higher, right after trigger endpoints
  intro, so the mental model comes before setup instructions
- Reword step 5: explicitly describe status code behavior (200 = ack,
  500 = retry) instead of vague "determines whether to retry"
- Clarify that trigger endpoints auto-create sessions without needing
  the --auto_create_session flag
- Restructure heading hierarchy under "Using trigger endpoints"

* Address reviewer feedback from koverholt

- Use named sections (--8<-- [start/end]) in code snippets to hide
  license headers in doc embeds
- Change model to gemini-flash-latest alias
- Restructure: show example agent first, then enable instructions,
  then "Try it locally" with step-by-step commands and curl test
- Fix port consistency (curl uses 8000 matching adk api_server default)
- Add curl example for /run endpoint

---------

Co-authored-by: Kristopher Overholt <koverholt@google.com>
2026-04-15 09:26:16 -05:00
Kristopher Overholt 58f3aaebca Replace documentation URLs and paths for adk.dev migration (#1536)
* Replace google.github.io/adk-docs URLs and /adk-docs/ paths with adk.dev

Migrate all hardcoded documentation references to use the new custom
domain. Update root-relative links to remove the /adk-docs/ subpath
prefix since the site will be served from the root of adk.dev.

* Additional fixes
2026-04-01 12:48:27 -05:00
Sanoop K V 27df5a1e4a Fix grammar in event loop documentation (#1287)
* Fix grammar in event loop documentation

Correct grammatical structure in event loop explanation.

* Rewrote sentence to be clearer

---------

Co-authored-by: Joe Fernandez <joefernandez@users.noreply.github.com>
2026-02-11 09:04:41 -08:00
Kristopher Overholt 50e34530be Add Agent Runtime pages for Web Interface and Command Line; reorganize existing Agent Runtime pages (#1130)
* Add pages for adk web, adk run, reorganize runtime pages

* Minor edit

* Updates based on review
2026-01-13 14:30:13 -06:00
Didier Durand 60c8fa89be doc: fixing typos in various files (#1093)
Co-authored-by: Kristopher Overholt <koverholt@google.com>
2026-01-05 11:37:02 -06:00
Polong Lin 52db9abc68 fix(deploy): simplifying Agent Engine deployment (#1090)
* fix(deploy): simplifying Agent Engine deployment

* revise and update ae deploy doc structure

* respond to review comments

---------

Co-authored-by: Joe Fernandez <joefernandez@users.noreply.github.com>
Co-authored-by: Joe Fernandez <joefernandez@google.com>
2025-12-19 19:30:47 -08:00
Shahin Saadati fd7c7a3dca feat: Merge all the typescript code samples and snippets into the main repo. (#1063)
* Deleted redundant files.

* Deleted redundant files.

* Deleted redundant files.

* Deleted redundant files.

* Deleted redundant files.

* Deleted redundant files.

* Delete .gitignore

Deleted redundant files.

* Delete .gitignore

Deleted redundant files.

* Delete .gitignore

* Delete .gitignore

* Delete .gitignore

* Revert changes to .gitignore

* Revert changes to .gitignore

* Revert changes to .gitignore

* Revert changes to .gitignore

* Revert changes to .gitignore

* Revert changes to .gitignore

* Add MCP Tools TS example

* Removed unnecessary changes

* Removed extra slashes

* Added the custom agent sample.

* Corrected an error in the package.json file.

* Updated custom-agent.md

* Made small fixes.

* Add Session TS examples

* Added the typescript code snippets for multi agent.

* added the code sample for loop agent

* Added the code sample for loop agent

* Added the code sample for parallel agent

* Fixed a few issues and bugs

* Added the code sample for sequential agent

* Renamed run back to runAsync

* Updated the capital agent code sample.

* Corrected the snippet

* Renamed run() to runAsync()

* Add Runtime TS examples

* Fixed the snippets after library updates.

* Fixed the sample code after library changes.

* Added final touchups and fixes.

* Updated the code based on recent library changes.

* Updated package.json

* Updated package.json

* Updated package.json

* Updated the code with runAsync and package.json

* Updated the typescript sample.

* Updated after_tool_callback.ts with runAsync

* Updated after_model_callback.ts

* Updated before_model_callback.ts

* Updated before_tool_callback.ts

* Created before_agent_callback.ts

* Update before_agent_callback.ts

Changed the condition

* Update before_model_callback.ts

Changed the condition

* Update after_model_callback.ts

Changed the condition

* Update after_tool_callback.ts

Changed the condition

* Update after_agent_callback.ts

Changed the condition

* Update callback_basic.ts

Changed the condition

* Update storyflow_agent.ts

Changed the condition

* Update sequential_agent_code_development_agent.ts

Changed the condition

* Updated before_agent_callback.ts

* Removed unnecessary comment.

* Updated comment

* Renamed run to runAsync

* Added artifact code snippets.

* Fixed .link-checker-config.json

* Added tsconfig.json

* Update .gitignore with node modules files

* Added 7 typescript code snippets

* Cleaned up and corrected the snippets for plugins

* Update index.md

Undid the changes in artifacts/index.md

* Escaped properly.

* Add Long Running Function Tool TS examples

* Resolved code review feedback

* Fixed the code sample per git comments.

* Fixed the code per git comments.

* Fixed the md file per git comments.

* Fixed the issues per git comments.

* Fixed issues per github comments.

* Fixed the issues per PR comments.

* Fixed issues per PR comments.

* Added a code sample for HITL

* Fixed the indentations in the typescript code

* Used createPartFromBase64 when appropriate.

* Switched to use createUserContent.

* docs: Add JavaScript Quickstart, short unified format

* Added a simulated user delay to the code sample.

* Made some cosmetic improvements

* Added the code snippet with HITL with policy

* Made cosmetic modifications to multi-agents.md

* Added more tutorial for the HITL with policy

* Modularized the main function and added helper functions.

* Resolved code review feedback

* Resolved code review feedback

* Resolved code review feedback

* Fixed minor things in the typescript code per PR comments.

* Fixed the import for Event and used createEventActions.

* Simplified functionResponse code.

* Corrected the Event import and used createEventActions.

* Updated ADK versions in package.json.

* Final review of all changes & Add Safety TS example

* Make tsconfig.json files consistent

* Generated the API Reference for typescript

* Resolved code review feedback

* feat: Add Typescript API reference to docs

This commit adds the generated TypeDoc documentation for the Typescript ADK to the documentation site.

It also updates the main API reference page to include a link to the new Typescript API reference.

* docs: update TypeScript quickstart

* docs: Add version tags for Build Agents topics

- add version tags
- move TS content to second position (after Python)

* docs: Add MCP Toolbox for databases TS SDK Documentation

* Update mcp-toolbox-for-databases.md

* use typescript code block

* minor changes

* Update mcp-toolbox-for-databases.md

* Auto generated the typescript API reference.

* Added the TS code snippets for context.

* Fixed TS code snippets for context.

* Modified the sample based on the comment.

* docs: adding TypeScript language tags (2 of 3)

- Update all Run Agents section topics
- change all TS tags to v0.2.0 per eng agreement

* docs: Add TypeScript language support tags, Components (3 of 3)

- add TS language support tags
- re-order TS examples to be second
- minor fixes: remove trailing spaces

* Added callback samples for typescript to the markdown files.

* Updated adk version in quickstart

* Updated google/adk version for typescript.

---------

Co-authored-by: manchan <manchan@google.com>
Co-authored-by: Mandy Chan <75594070+slothwriter@users.noreply.github.com>
Co-authored-by: Joe Fernandez <joefernandez@google.com>
Co-authored-by: Joe Fernandez <joefernandez@users.noreply.github.com>
Co-authored-by: Twisha Bansal <58483338+twishabansal@users.noreply.github.com>
2025-12-15 12:53:24 -08:00
Terrence Ryan 39fc5c52c0 fix: Update API docs to use camelCase for request fields (#958)
Changed all example request bodies in the API server documentation from snake_case to camelCase to match the updated naming convention. Clarified that both request and response bodies now use camelCase for field names. (In fact they always have)
2025-11-13 21:17:25 -08:00
Joe Fernandez 2517d253e9 docs: MOVING files to /tools-custom/ (#926)
* docs: A2A guides, clearer nav for Go and Python

* docs: minor fixes for ADK quickstarts

* revert extra changes

* docs: MOVING files to /tools-custom/

- move files, update links and navigation
- add redirects
2025-11-12 17:08:36 +00:00
Sebastien Castiel 1f3f676f12 Change session update method to PATCH (#938)
Updated the method for session management from POST to PATCH and modified the request body structure accordingly.
2025-11-11 11:29:19 -06:00
Joe Fernandez 9487f969f2 Fix runtime language tag (#921) 2025-11-07 15:37:54 -07:00
Joe Fernandez 820ef32385 docs: Runtime to Safety, update language order, part4 (#898)
- Runtime, Deployment, Observability, Evaluation, Safety
2025-11-06 14:35:14 -08:00
Ivan Cheung 8834593806 [ADK Go] Merging all Go docs from the private repo (#885)
* docs: Add Go language quickstart

* updates based on review comments

* fix tab stops

* update based on review comments

* sync with main

* update to tested version

* Added google_search snippet

* Fix: Address Go style guide issues in google_search.go

* Migrated to new API

* Fixed tool info in md file

* Added partial check

* Added function-tools sample

* Migrated to new API

* Added partial check

* Ran linter

* feat: add go fmt check

* Run go fmt only on changed files

* Added google_search snippet

* Fix: Address Go style guide issues in google_search.go

* Migrated to new API

* Added partial check

* Added function-tools sample

* Migrated to new API

* Added partial check

* Ran linter

* feat: add go fmt check

* Run go fmt only on changed files

* Feat: Add Golang example for LLM agents

* Added schema agent

* Added session support

* Migrated to new API

* Added back OutputKey

* Added missing snippets

* Moved snipped to its own package

* Minor cleanup

* Reverted llm-agents.md

* Added back correct changes to llm-agents.md

* Updated to newest API

* Ran linter

* WIP

* WIP: Added the rest of the agents

* Added sequential agent

* Migrated agents to new API

* Fixed snippet tags

* Updated parallel and sequential with OutputKey

* Updated loop agent

* Cleanup

* Fixed and ran linter

* Removed comment

* Ran linter

* Added custom agent snippets

* Migrated to new API

* Fixed incorrect info about channels since run returns an Iterator, not Channel

* Cleanup and renaming

* Ran linter

* Fixed md

* Added multi-agent docs

* Updated to use AgentTool

* Split snippets

* Added missing file

* Ran linter and fixed API

* Added Models snippets

* Migrated to new API

* Embedded imports

* Ran linter

* Added long running tool

* Ran linter and fixed API

* Switched to two-turn style

* Ran linter

* Added callback snippets

* Added back imports

* Added types of callbacks snippets

* feat(go): align callback snippets with other languages

* Ran linter and updated API

* Added tool callbacks

* Added artifact snippets

* Use story.pdf instead of random bytes

* Fixed issue with artifact loading

* Cleanup unneeded fixes

* Added back inadvertently removed GCS section

* Addressed PR comments

* Ran linter

* feat: Added context snippets

* Fixed callback signature

* Fixed additional callbacks

* Added remaining snippets

* Added conceptual runner example

* Removed duplicate code

* Clean up tags and imports

* Updated API

* Twaked text

* Ran linter

* Fixed broken API issues

* Updated to latest Go ADK API

* Added func param info

* Interleaved Py and Go

* Revert mistakes

* Removed extra newline

* Added example cloud run code and update md with Go (#41)

* Added example cloud run code and update md with Go

* Added a2a_agent_url and fixed future tense

* Moved Go before Java

---------

Co-authored-by: ivanmkc <ivanmkc@google.com>

* adding go snippets to runconfig docs

* realigning runconfig go examples with current state of adk-go.

* adding language support tags to individual runtime config fields

* removing unsupported supportcfc go examples

* removing unsupported streamingmode.bidi go snippets

* Added AgentTool examples (#31)

* Added AgentTool example

* Ran formatter

---------

Co-authored-by: ivanmkc <ivanmkc@google.com>

* adding initial go sessions.sessions snippets

* updating go session docs + session examples

* update go session snippets

* updating DatabaseSessionService language support tag

* cleaning up go vertex ai comments

* removing go.mod for session_management_example

* docs: add language support tags for Go

* initial go runtime sample updates

* fixing runtime go snippet formatting

* formatting updates to runtime go snippets

* updating runtime go examples to streamline to newer go features

* adding go snippets for events

* updating go snippets for events

* adding artifactdelta snippet for go

* minor java fixes, cleaning up go event.content

* Custom tools: Merging again  (#44)

* Added missing custom-tools snippets

* Split user_preference runner code

* Split more files

* Tweaks

* Split session into 1 and 2 and added artifact saving

* Fixed conflict

---------

Co-authored-by: ivanmkc <ivanmkc@google.com>

* Fixed tab issue with cloud-run md (#45)

Co-authored-by: ivanmkc <ivanmkc@google.com>

* adding initial go snippets for memory services

* updating go memory sample, adding python formatting in docs to clarify current support.

* removing go replace for memory example

* removing go.sum from memory_example

* fixing go formatting for memory example

* fixing go memory snippets to streamline examples in docs

* removing unnecessary go.mod for memory_example.go and snippet cleanup

* adding go session state snippets."

* adding additional go state examples for state injection

* fixing go formatting

* fixing language ordering on session/state.md; removing unnecessary go.mod files

* reworking error functions in go session state samples

* fixing go formatting on session state samples

* initial go snippets for safety tools

* fixing go snippet formatting in safety/index.md

* temp storing safety example

* cleaning up go snippets in safety docs; deferring safety go full example

* cleaning up go safety snippets

* Added link to Go API docs (#47)

Co-authored-by: ivanmkc <ivanmkc@google.com>

* Added a2a_basic sample (#46)

* Added a2a_basic sample

* Removed dummy LLMs

* Added md

Fix inaccuracies in md

Ran formatter

* Cleaned up index

---------

Co-authored-by: ivanmkc <ivanmkc@google.com>

* Reverted to proper ToC and added missing links (#48)

Co-authored-by: ivanmkc <ivanmkc@google.com>

* Added missing get-started/go.md (#50)

Co-authored-by: ivanmkc <ivanmkc@google.com>

* Added missing JSON tags for Go structs (#51)

* Added json tags

* Added jsonschema and json tags

---------

Co-authored-by: ivanmkc <ivanmkc@google.com>

* Renamed Golang to Go (#52)

Co-authored-by: ivanmkc <ivanmkc@google.com>

---------

Co-authored-by: Joe Fernandez <joefernandez@google.com>
Co-authored-by: ivanmkc <ivanmkc@google.com>
Co-authored-by: Toni Klopfenstein <tklopfenstein@google.com>
2025-11-06 14:13:13 -05:00
Joe Fernandez f12068a4bb docs: add language support tags to pages (#850)
* docs: add language support tags to pages

- replace img.shield tags
- add language support tags where missing

* update Agents page with general tags

* update language and version tagging

- response to review comments
- rename css styles to avoid style name conflicts

* add tags to api-server page
2025-11-03 16:07:35 -08:00
Kristopher Overholt 4cb3a891a1 feat: Add sections and groupings to sidebar navigation menu (#791)
* Add navigation sections to docs

* Move two pages

* Move more sections

* Update nav

* Fix whitespace, newlines

* Fix section headings

* Fix top level headings

* Move Technical Overview in nav

* Change Testing page to API Server page

* Reorder sub-pages in Components section

* Add Home as top level nav; remove redundant site title

* Update links to API server docs page

* Formatting

* Formatting
2025-11-03 12:48:32 -06:00
Joe Fernandez d0c64869f1 docs: Add Resume feature docs (#784)
* docs: Add Resume feature

* docs: Add Resume feature docs

* remove generated update.

* final review fixes.
2025-10-17 16:56:20 -07:00
google-labs-jules[bot] 9d918512ac fix: docs clarify temp namespace (#612)
This commit clarifies the behavior of the `temp:` namespace in the documentation.

The following changes were made:
- Updated `docs/sessions/state.md` to provide a more detailed explanation of the `temp:` namespace.
- Updated `docs/context/index.md` to improve the clarity of an example related to passing data between tools.
- Updated `docs/runtime/index.md` to add a note about the scope of `temp:` variables.
- Updated `docs/agents/multi-agents.md` and `docs/agents/workflow-agents/sequential-agents.md` to clarify how the `temp:` namespace is propagated to sub-agents.
- Updated `docs/tools/function-tools.md` to explain how to use the `temp:` namespace to pass data between tool calls.

fixes #160

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Joe Fernandez <joefernandez@users.noreply.github.com>
2025-08-19 16:53:08 +00:00
Megan O'Keefe 0887973bed feat: Initializes Java documentation (#277) 2025-05-20 12:10:27 -04:00
Kavin Kumar B 96f42d2432 docs: Runconfig documentation (#186)
* docs: Runconfig documentation

* Updates

* Updates

---------

Co-authored-by: Kristopher Overholt <koverholt@google.com>
2025-04-30 00:03:14 -05:00
Kristopher Overholt d3cec829c9 Initial commit of Agent Development Kit 2025-04-09 08:49:23 -07:00