* 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>
* 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>
* 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>
* 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>
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>
* 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>
* 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
* 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>
* 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>
* 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>
* 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
* 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>
* 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>
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)
* 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
* 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>
* 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
* 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
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>