Add granular developer guide for BaseRunner and InMemoryRunner covering session
lifecycle resolution, RunConfig, and event streaming under
docs/guides/runners/runner/index.md, and real-time bidirectional streaming with
run_live and LiveRequestQueue under docs/guides/runners/runner/live.md.
Co-authored-by: Shangjie Chen <deanchen@google.com>
PiperOrigin-RevId: 968085075
- Support mode="task" in RemoteA2aAgent to natively execute task-oriented tools.
- Ensure RemoteA2aAgent in task mode registers the finish_task tool definition.
- Fix task scope aggregation during delegation using a two-pass active task scope search in the runner.
- Correctly map terminal states and status values inside A2aAgentExecutor.
PiperOrigin-RevId: 964898667
Rename `contributing/samples/plugin/` to `contributing/samples/plugins/` so the
samples directory matches the `plugins/` naming already used everywhere else in
the repository for this feature area: the `google.adk.plugins` source package
(`src/google/adk/plugins/`), the guide at `docs/guides/plugins/`, and the unit
tests at `tests/unittests/plugins/`. It also matches the plural naming used by
every sibling sample group (`tools/`, `models/`, `workflows/`, `patterns/`, and
others). The moved files themselves are unchanged.
Also update the paths that pointed into the renamed directory:
- Repoint the two "Related samples" links in the reflect-and-retry tool plugin
guide, which the move would otherwise break.
- Fix the run commands in the two sample READMEs and in the debug logging agent
docstring. These already omitted the grouping directory and so did not work
before the rename either; they now refer to paths that exist.
Co-authored-by: Jason Zhang <jasoncz@google.com>
PiperOrigin-RevId: 960009471
The new guide explains what the plugin does, a get-started
example, how the retry loop and per-tool failure tracking
work, the configuration options, advanced applications,
and its limitations.
Co-authored-by: Jason Zhang <jasoncz@google.com>
PiperOrigin-RevId: 955444373
Add a "Create and use a custom managed agent" section to the ManagedAgent guide
showing the control-plane create/delete pattern via `ManagedAgent.api_client`,
and complete the guide's Related samples list.
Co-authored-by: Haran Rajkumar <haranrk@google.com>
PiperOrigin-RevId: 954766292
Introduces the `ReflectAndRetryModelPlugin`, which provides error recovery
for model failures (such as malformed function calls). When a configured model
error occurs, the plugin intercepts it, provides reflection guidance to
the model via a reserved tool call, and retries the operation.
Key features:
- Configurable max retries for model errors.
- Customizable list of FinishReasons to treat as errors.
- Support for both invocation-level and global-level tracking scopes.
- Interception of direct calls to the reserved retry tool to prevent misuse.
Co-authored-by: Jason Zhang <jasoncz@google.com>
PiperOrigin-RevId: 954695655
Add a runnable sample under
contributing/samples/managed_agent/system_instruction demonstrating the new
ManagedAgent.instruction field, and document the field in the ManagedAgent
guide.
Co-authored-by: Haran Rajkumar <haranrk@google.com>
PiperOrigin-RevId: 951709300
Extend the LlmAgent single-turn guide with a section showing that `single_turn`
composition is not limited to `LlmAgent`: a server-backed `ManagedAgent` can be
a single-turn sub-agent via `mode='single_turn'`, is auto-exposed as an inline
tool, preserves its internal events in the shared session, and is stateless per
call.
Co-authored-by: Haran Rajkumar <haranrk@google.com>
PiperOrigin-RevId: 945962977
- Decouple task-mode node execution from default output binding so standard text output does not prematurely finish the node.
- Enhance the runner to automatically resolve and reuse the invocation_id of active suspended task nodes.
- Route incoming plain text resume messages to the active task node by mapping to its isolation scope.
- Enforce strict concurrency serialization by suspending parallel branch execution when a task node is waiting for user input.
- Align schema validation helpers to cleanly handle Content wrapping and raw JSON strings.
Co-authored-by: Shangjie Chen <deanchen@google.com>
PiperOrigin-RevId: 945423735
This guide explains how to use ManagedAgent, its configuration
options, and orchestrating it with AgentTool.
Co-authored-by: Haran Rajkumar <haranrk@google.com>
PiperOrigin-RevId: 944359273
Expose `max_parallel_workers` on the `@workflow.node` decorator and `Node` class when `parallel_worker=True`. This allows throttling the concurrency limit when executing parallel workers.
Co-authored-by: Shangjie Chen <deanchen@google.com>
PiperOrigin-RevId: 940663519
Unblocks the pre-commit --all-files check; mdformat rewrites this file
and fails on every PR until the whitespace is gone.
Co-authored-by: George Weale <gweale@google.com>
PiperOrigin-RevId: 934144935
- Updated request_input.py unit guide to use function node example and removed field table.
- Updated adk-unit-guide skill:
- Discourage exhaustive API reference tables in guides.
- Prefer simple Python functions over extending BaseNode for workflow node samples.
- Removed field reference tables from the event guide.
Co-authored-by: Bo Yang <ybo@google.com>
PiperOrigin-RevId: 931347184
Re-aligns two files with GitHub main so the piper-to-github cutover does not
silently revert them: the _ALLOWED_PICKLE_GLOBALS type annotation and a stray
f-string prefix in skill_toolset.
Co-authored-by: George Weale <gweale@google.com>
PiperOrigin-RevId: 928768999
Standard REST, SSE, and WebSocket endpoints now actively monitor client disconnections. When a connection drop is intercepted, the executing worker task tree is aborted mid-run to prevent background task leaks, API token burn, and resource wastage.
Includes:
1. REST `/run` connection drop monitor blocking on raw ASGI receive events with 0% CPU consumption.
2. Graceful `499 Client Closed Request` status response on REST disconnections to suppress server-side exceptions.
3. Unit and integration tests validating REST task cancellations and generator finalizations.
4. Comprehensive architectural design documents and user guide under `/docs`.
5. An invocation-focused cooperative counting agent sandbox under `/contributing/samples/core/abort`.
Change-Id: I50fcba7a8bb56cf28b0a3bb8fa66b85732062a67