diff --git a/.github/workflows/build-docs.yaml b/.github/workflows/build-docs.yaml index 37fbd2d639..43d0eca177 100644 --- a/.github/workflows/build-docs.yaml +++ b/.github/workflows/build-docs.yaml @@ -21,12 +21,12 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 with: python-version: 3.x - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV - - uses: actions/cache@v4 + - uses: actions/cache@v5 with: key: mkdocs-material-${{ env.cache_id }} path: .cache diff --git a/.github/workflows/feature-matrix-updater.yaml b/.github/workflows/feature-matrix-updater.yaml index f1b3649c4b..6733f99caa 100644 --- a/.github/workflows/feature-matrix-updater.yaml +++ b/.github/workflows/feature-matrix-updater.yaml @@ -9,10 +9,10 @@ jobs: pull-requests: write steps: - name: Checkout adk-docs repo - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Go - uses: actions/setup-go@v5 + uses: actions/setup-go@v6 with: go-version: '1.22' @@ -27,7 +27,7 @@ jobs: GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} - name: Create Pull Request - uses: peter-evans/create-pull-request@v6 + uses: peter-evans/create-pull-request@v8 with: token: ${{ secrets.ADK_BOT_GITHUB_TOKEN }} commit-message: "feat: propose update to feature matrix" diff --git a/.github/workflows/go-fmt.yaml b/.github/workflows/go-fmt.yaml index 59f0d72d09..687a2c02b0 100644 --- a/.github/workflows/go-fmt.yaml +++ b/.github/workflows/go-fmt.yaml @@ -9,12 +9,12 @@ jobs: gofmt: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: fetch-depth: 0 # Fetch all history for all tags and branches - - uses: actions/setup-go@v5 + - uses: actions/setup-go@v6 with: - go-version: '1.21' + go-version: '1.25' - name: Run gofmt on changed files run: | # List changed Go files in the pull request. diff --git a/.github/workflows/go-snippets-pr-check.yaml b/.github/workflows/go-snippets-pr-check.yaml index 25a91b8c8b..5b89c29846 100644 --- a/.github/workflows/go-snippets-pr-check.yaml +++ b/.github/workflows/go-snippets-pr-check.yaml @@ -30,18 +30,18 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: # Fetch the entire history to compare branches in the PR. fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v5 + uses: actions/setup-go@v6 with: - go-version: '1.22' + go-version: '1.25' - name: Cache Go modules - uses: actions/cache@v3 + uses: actions/cache@v5 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} diff --git a/.github/workflows/link-checker.yaml b/.github/workflows/link-checker.yaml index bca8c03ccb..36690626b8 100644 --- a/.github/workflows/link-checker.yaml +++ b/.github/workflows/link-checker.yaml @@ -21,12 +21,24 @@ on: pull_request: jobs: - markdown-link-check: + link-check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: tcort/github-action-markdown-link-check@v1 + - uses: actions/checkout@v6 + + - name: Check links + uses: lycheeverse/lychee-action@v2 with: - use-quiet-mode: 'yes' - use-verbose-mode: 'yes' - config-file: '.link-checker-config.json' + args: >- + --verbose + --no-progress + --max-retries 5 + --retry-wait-time 3 + --host-concurrency 2 + --host-request-interval 1s + --root-dir "$(pwd)/docs" + './**/*.md' + fail: true + failIfEmpty: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/publish-docs.yaml b/.github/workflows/publish-docs.yaml index 20bb268383..98686d1042 100644 --- a/.github/workflows/publish-docs.yaml +++ b/.github/workflows/publish-docs.yaml @@ -26,16 +26,16 @@ jobs: deploy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Configure Git Credentials run: | git config user.name github-actions[bot] git config user.email 41898282+github-actions[bot]@users.noreply.github.com - - uses: actions/setup-python@v5 + - uses: actions/setup-python@v6 with: python-version: 3.x - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV - - uses: actions/cache@v4 + - uses: actions/cache@v5 with: key: mkdocs-material-${{ env.cache_id }} path: .cache diff --git a/.github/workflows/python-lint.yaml b/.github/workflows/python-lint.yaml index 15ad746702..9459fd5308 100644 --- a/.github/workflows/python-lint.yaml +++ b/.github/workflows/python-lint.yaml @@ -38,7 +38,7 @@ jobs: outputs: sample_dirs: ${{ steps.get_dirs.outputs.sample_dirs }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: ref: ${{ github.event.pull_request.head.sha }} @@ -61,12 +61,12 @@ jobs: - get_sample_dirs steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: ref: ${{ github.event.pull_request.head.sha }} - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} cache: "pip" diff --git a/.github/workflows/python-tests.yaml b/.github/workflows/python-tests.yaml index ff171b5859..0aa92edb19 100644 --- a/.github/workflows/python-tests.yaml +++ b/.github/workflows/python-tests.yaml @@ -33,31 +33,40 @@ on: - cron: "0 0 * * 0" jobs: + get_sample_dirs: + runs-on: ubuntu-latest + outputs: + sample_dirs: ${{ steps.get_dirs.outputs.sample_dirs }} + steps: + - uses: actions/checkout@v6 + with: + ref: ${{ github.event.pull_request.head.sha }} + + - name: Get Sample Directories + id: get_dirs + run: | + SAMPLE_DIRS=$( find samples/python -type d -not -path "*/.venv*" -exec test -e '{}'/requirements.txt \; -print | jq -R -s -c 'split("\n") | map(select(. != ""))' ) + echo "sample_dirs=$SAMPLE_DIRS" >> $GITHUB_OUTPUT + echo "SAMPLE_DIRS: $SAMPLE_DIRS" # For debugging + build: runs-on: ubuntu-latest + needs: + - get_sample_dirs + if: ${{ needs.get_sample_dirs.outputs.sample_dirs != '[]' }} strategy: matrix: python-version: ["3.9", "3.10", "3.11", "3.12"] sample_dir: ${{ fromJson(needs.get_sample_dirs.outputs.sample_dirs) }} fail-fast: false # Important: Don't stop if one matrix configuration fails - needs: - - get_sample_dirs - steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: ref: ${{ github.event.pull_request.head.sha }} - - name: Get Sample Directories - id: get_sample_dirs - run: | - SAMPLE_DIRS=$( find $PYTHON_DIR -type d -not -path "*/.venv*" -exec test -e '{}'/requirements.txt \; -print ) - echo "sample_dirs=$SAMPLE_DIRS" >> $GITHUB_OUTPUT - echo "SAMPLE_DIRS: $SAMPLE_DIRS" # For debugging - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} cache: "pip" @@ -84,11 +93,11 @@ jobs: fi - name: Upload pytest test results - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v7 with: name: pytest-results-${{ matrix.python-version }}-${{ matrix.sample_dir }} path: | pytest.txt ./htmlcov/ retention-days: 30 - if: ${{ always() }} \ No newline at end of file + if: ${{ always() }} diff --git a/.github/workflows/update-python-docs.yaml b/.github/workflows/update-python-docs.yaml index bb7fcdd2ec..7c005e014f 100644 --- a/.github/workflows/update-python-docs.yaml +++ b/.github/workflows/update-python-docs.yaml @@ -21,20 +21,20 @@ jobs: steps: - name: Checkout ADK Python repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: repository: google/adk-python path: ./adk-python token: ${{ secrets.ADK_BOT_GITHUB_TOKEN }} - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: '3.11' - name: Authenticate to Google Cloud id: auth - uses: 'google-github-actions/auth@v2' + uses: 'google-github-actions/auth@v3' with: credentials_json: '${{ secrets.ADK_GCP_SA_KEY }}' diff --git a/.gitignore b/.gitignore index ffb2fe9bfe..c2a6bb499d 100644 --- a/.gitignore +++ b/.gitignore @@ -192,5 +192,10 @@ docs/site # Claude Code .claude + # Bash files ***/*.sh + +# Ignore a local build but keep the directory +/site/* +!/site/.gitkeep diff --git a/.link-checker-config.json b/.link-checker-config.json deleted file mode 100644 index 54ac79f0b1..0000000000 --- a/.link-checker-config.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "ignorePatterns": [ - { - "pattern": "^https?://(localhost|127\\.0\\.0\\.1)" - }, - { - "pattern": "^((?!http).)*$" - }, - { - "pattern": "^https://console.cloud.google.com/" - }, - { - "pattern": "^https://www.gnu.org/" - }, - { - "pattern": "^https://exa.ai" - } - ], - "aliveStatusCodes": [ - 200, - 206, - 302, - 403 - ], - "timeout": "30s", - "retryOn429": true, - "retryCount": 5, - "fallbackRetryDelay": "30s" -} \ No newline at end of file diff --git a/.lycheeignore b/.lycheeignore new file mode 100644 index 0000000000..66396b3f9c --- /dev/null +++ b/.lycheeignore @@ -0,0 +1,16 @@ +# Lychee link checker ignore file +# Add regular expressions (one per line) for URLs to exclude from checking. +# See: https://github.com/lycheeverse/lychee-action + +# Google Cloud Console (requires authentication, returns HTTP/2 errors) +^https://console\.(cloud\.google|developers\.google)\.com + +# URL contains bracket placeholder (e.g. /s/[project-id]) +^https://app\.phoenix\.arize\.com/s/\[ + +# Requires authentication +^https://postman\.postman\.co/settings/me/ + +# Rate limits automated requests +^https://www\.gnu\.org/ +^https://www\.markifact\.com diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6c1c158829..0b182ab408 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -93,6 +93,7 @@ We review contributions for integrations based on the following criteria: | [Documentation fixes](#documentation-fixes) | Fix typos, broken links, or minor wording improvements | | [New documentation](#new-documentation) | Add a new guide, tutorial, or reference page | | [Major changes](#major-changes) | Large-scale reorganization or refactoring | +| [API and CLI reference](#api-and-cli-reference) | Pre-built reference docs generated from upstream ADK repositories | | [Integrations](#integrations) | Tools, plugins, observability libraries, user interfaces, or any extensions to ADK agents or agent development | ### Documentation Fixes @@ -120,13 +121,29 @@ For large-scale reorganization or refactoring: 2. Wait for maintainer feedback before starting work 3. Consider breaking large changes into smaller, reviewable PRs +### API and CLI Reference + +For changes to the API and CLI reference pages, **do not edit files in +`docs/api-reference/` directly.** These are pre-built HTML generated from the +upstream ADK source repositories and are overwritten each time the docs are +regenerated. + +To contribute to API and CLI reference documentation, make your changes in the +ADK source repository for the relevant language (for example, adding or updating +docstrings, exporting new public symbols, etc.). + +The reference docs are regenerated periodically, and your changes will be +included in the next update. See the [ADK Contributing +Guide](https://adk.dev/community/contributing-guide/) for links to each +language-specific repository. + ### Integrations Integrations include third-party tools, plugins, and observability platforms for ADK agents. All integrations live under `docs/integrations/`. Examples include -[GitHub](https://google.github.io/adk-docs/integrations/github/), -[Daytona](https://google.github.io/adk-docs/integrations/daytona/), and -[AgentOps](https://google.github.io/adk-docs/integrations/agentops/). +[GitHub](https://adk.dev/integrations/github/), +[Daytona](https://adk.dev/integrations/daytona/), and +[AgentOps](https://adk.dev/integrations/agentops/). **To contribute an integration:** @@ -147,7 +164,7 @@ ADK agents. All integrations live under `docs/integrations/`. Examples include --- catalog_title: Integration Name catalog_description: A short description of what your integration does - catalog_icon: /adk-docs/integrations/assets/.png + catalog_icon: /integrations/assets/.png --- # Integration Name diff --git a/README.md b/README.md index 79aed8ed55..609c243225 100644 --- a/README.md +++ b/README.md @@ -41,41 +41,41 @@ from simple tasks to complex workflows. workflows. - **Deploy Anywhere**: Easily containerize and deploy agents on Cloud Run or GKE, or - scale seamlessly with Vertex AI Agent Engine. + scale seamlessly with Agent Runtime. ## πŸš€ Usage You can use Agent Development Kit (ADK) with your preferred language: -- **[Get started with ADK Python](https://google.github.io/adk-docs/get-started/python/)** +- **[Get started with ADK Python](https://adk.dev/get-started/python/)** -- **[Get started with ADK TypeScript](https://google.github.io/adk-docs/get-started/typescript/)** +- **[Get started with ADK TypeScript](https://adk.dev/get-started/typescript/)** -- **[Get started with ADK Go](https://google.github.io/adk-docs/get-started/go/)** +- **[Get started with ADK Go](https://adk.dev/get-started/go/)** -- **[Get started with ADK Java](https://google.github.io/adk-docs/get-started/java/)** +- **[Get started with ADK Java](https://adk.dev/get-started/java/)** ## πŸ“š Documentation Explore the full documentation for detailed guides on building, evaluating, and deploying agents: -- **[Documentation](https://google.github.io/adk-docs)** +- **[Documentation](https://adk.dev)** ## ✨ Vibe Coding Accelerate your ADK agent development workflow with AI-assisted coding. ADK provides optimized documentation context compatible with AI code editors: -- **[llms.txt](https://google.github.io/adk-docs/llms.txt)**: A structured index +- **[llms.txt](https://adk.dev/llms.txt)**: A structured index of ADK documentation, designed to help LLMs navigate and locate specific topics and guides. -- **[llms-full.txt](https://google.github.io/adk-docs/llms-full.txt)**: The +- **[llms-full.txt](https://adk.dev/llms-full.txt)**: The comprehensive documentation reference, ideal for complex implementations or models with large context windows. You can also visit our -**[Coding with AI](https://google.github.io/adk-docs/tutorials/coding-with-ai/)** +**[Coding with AI](https://adk.dev/tutorials/coding-with-ai/)** guide for instructions on using these files with development tools like Gemini CLI and Antigravity. diff --git a/docs/2.0/index.md b/docs/2.0/index.md new file mode 100644 index 0000000000..1171d1be8b --- /dev/null +++ b/docs/2.0/index.md @@ -0,0 +1,113 @@ +# Welcome to ADK 2.0 Beta + +!!! example "Beta Release" + + ADK 2.0 is a Beta release and may cause breaking changes when used with prior + versions of ADK. Do not use ADK 2.0 if you require backwards compatibility, such + as in production environments. We encourage you to test this release and we + welcome your + [feedback](https://github.com/google/adk-python/issues/new?template=feature_request.md&labels=v2)! + +ADK 2.0 introduces powerful tools for building sophisticated AI agents, and +helps you structure agents to execute challenging tasks with more control, +predictability, and reliability. ADK 2.0 is available as a Beta release for +Python and includes the following key features: + +- [**Graph-based workflows**](/workflows/): Build deterministic agent + workflows with more control over how tasks are routed and executed. + +- [**Collaborative agents**](/workflows/collaboration/): + Build complex agent architectures with coordinator agents and multiple + subagents working together. + +- [**Dynamic workflows**](/workflows/dynamic/): + Use code-based logic for building more complex workflows including + iterative loops and complex decision-based branching. + +Check out the linked topics above for more information, and try out the new way +to build agents with ADK 2.0! + +## ADK 1.0 compatibility + +ADK 2.0 is designed to be compatible with agents developed with ADK 1.x +releases. However, given the number and diversity of agents built with ADK 1.x, +we expect that some agent implementations, particularly advanced and +feature-rich agents, will uncover incompatibilities in ADK 2.0. During the +current pre-GA release period, we ask your assistance helping us identify these +issues so we have a chance to address them. Report any ADK 1.0 to ADK 2.0 +incompatibilities you encounter through our +[issue tracker](https://github.com/google/adk-python/issues/new?template=bug_report.md&labels=v2). + + +## Install ADK 2.0 {#install} + +While ADK 2.0 is available as a pre-GA release, it is not installed automatically. +You must select it as an installation option. This version has the following +system requirements: + +* **Python 3.10** or later +* `pip` for installing packages + +To install ADK 2.0, follow these steps: + +1. Enable a Python virtual environment. See below for instructions. + +1. Install the package using pip using `--pre` to select the current, + pre-GA version of ADK 2.0: + + ```bash + pip install google-adk --pre + ``` + +??? tip "Recommended: Create and activate a Python virtual environment" + + Create a Python virtual environment: + + ```shell + python3 -m venv .venv + ``` + + Activate the Python virtual environment: + + === "Windows CMD" + + ```console + .venv\Scripts\activate.bat + ``` + + === "Windows Powershell" + + ```console + .venv\Scripts\Activate.ps1 + ``` + + === "MacOS / Linux" + + ```bash + source .venv/bin/activate + ``` + +!!! note "Note: Updating existing ADK 1.0 projects" + + The `--pre` option does not install the ADK 2.0 libraries if you already have + ADK 1.0 libraries installed in a Python environment. You can force installation + of the ADK 2.0 library by adding the `--force` option to the install command + shown above. Remember to use Python virtual environments for ADK 2.0, and + **ensure you have backups of ADK 1.0 projects *before* updating them to + use ADK 2.0 libraries.** + +## Next steps + +Read the developer guides for building agents with ADK 2.0 features: + +- [**Graph-based workflows**](/workflows/) +- [**Collaborative agents**](/workflows/collaboration/) +- [**Dynamic workflows**](/workflows/dynamic/) + +Check out these ADK 2.0 code samples for testing and inspiration: + +- [**Workflow samples**](https://github.com/google/adk-python/tree/v2/contributing/workflow_samples) +- [**Collaborative task samples**](https://github.com/google/adk-python/tree/v2/contributing/task_samples) + +Thanks for checking out ADK 2.0! We look forward to your +[feedback](https://github.com/google/adk-python/issues/new?template=feature_request.md&labels=v2)! diff --git a/docs/CNAME b/docs/CNAME new file mode 100644 index 0000000000..91d20de1b2 --- /dev/null +++ b/docs/CNAME @@ -0,0 +1 @@ +adk.dev diff --git a/docs/_includes/homepage/_ai-dev-tools.md b/docs/_includes/homepage/_ai-dev-tools.md new file mode 100644 index 0000000000..624986b91d --- /dev/null +++ b/docs/_includes/homepage/_ai-dev-tools.md @@ -0,0 +1,13 @@ + +
+
+ AI Dev Tools +

Build agents with agents.

+

ADK agents are designed to be written by humans and AI. Connect your AI-powered development tools to our ADK coding resources and generate robust, capable agents in seconds.

+ Code with AI +
+
+
+
+
+ diff --git a/docs/_includes/homepage/_build-cta.md b/docs/_includes/homepage/_build-cta.md new file mode 100644 index 0000000000..f169e374ec --- /dev/null +++ b/docs/_includes/homepage/_build-cta.md @@ -0,0 +1,6 @@ + +
+

Ready to build agents?

+

We think one of the best ways to learn is by building, so we've created guides that help you get your development environment set up and run an ADK agent in minutes.

+ Start building +
diff --git a/docs/_includes/homepage/_community.md b/docs/_includes/homepage/_community.md new file mode 100644 index 0000000000..edd8a581b2 --- /dev/null +++ b/docs/_includes/homepage/_community.md @@ -0,0 +1,26 @@ + +
+

Developer Community

+

Build alongside a growing community of developers engineering the next generation of production-ready AI agents. Whether you want to troubleshoot a graph workflow, share a custom Agent Skill, or shape the future of the framework, we want you involved.

+ +
diff --git a/docs/_includes/homepage/_ecosystem.md b/docs/_includes/homepage/_ecosystem.md new file mode 100644 index 0000000000..e5155f6701 --- /dev/null +++ b/docs/_includes/homepage/_ecosystem.md @@ -0,0 +1,14 @@ + +
+
+ Ecosystem +

Open ecosystem. Connect everything.

+

ADK's open integration partners connect your agents with existing apps, a wide range of AI models, and extend agent capabilities to access data, add resilience, and evaluate performance.

+ Learn more +
+
+
+ ADK Integrations List +
+
+
diff --git a/docs/_includes/homepage/_eval.md b/docs/_includes/homepage/_eval.md new file mode 100644 index 0000000000..55dcb76c4f --- /dev/null +++ b/docs/_includes/homepage/_eval.md @@ -0,0 +1,14 @@ + +
+
+ Evaluation +

Go beyond vibes. Evaluate everything.

+

Engage ADK's visual debugging, open evaluation framework, and partner tools to test your entire agent execution trajectory. Simulate user interactions, build custom performance metrics, and optimize agents against your evaluation results.

+ Learn more +
+
+
+ ADK Web Eval UI +
+
+
diff --git a/docs/_includes/homepage/_faq.md b/docs/_includes/homepage/_faq.md new file mode 100644 index 0000000000..72538916c9 --- /dev/null +++ b/docs/_includes/homepage/_faq.md @@ -0,0 +1,39 @@ + +
+

Frequently Asked Questions

+

Still have questions about ADK? Here are some answers:

+ +
+ +
+ Can I vibe code agents with ADK? +

Yes! ADK is designed to be written by both humans and AI. Connect your favorite coding assistant to our ADK developer Skills and AI-aware developer resources, and generate agents in seconds. Find out more about AI-powered coding of agents in our Coding with AI guide.

+
+ +
+ What AI models can I use with ADK? +

ADK can work with almost any generative AI model. The framework provides easy access to Gemini as well as other leading models, and we provide adapters that let you connect with many other models and model providers, including locally running models. For enterprises, ADK can connect to models on hosted services, including Google Cloud which provides a wide range of models and lets you closely manage performance, reliability, security, access, safety, and costs.

+
+ +
+ What makes ADK different? +

With ADK, we are focused on building an open development framework that lets you build professional, production grade agents, without requiring a pile of code to get started. Our goal is to get you building agents quickly, and let you add functionality and complexity as you need it. ADK provides a basic structure for agents that is easy to build, and that structure is designed with the flexibility to let you extend, expand, and build complex, robust, useful agentic systems. We've put a lot of effort into providing you with development tools for interacting with agents you build, and providing ways to use AI-powered tools for building ADK agents. We are also quite proud of our approach to agent context management and how we manage context to keep it efficient, and also let you tune context management to your needs. We could go on, and if you are interested, you can find more details in our developer docs.

+
+ +
+ How does ADK handle context management? +

Unlike tools that simply paste strings together until the context window overflows, ADK manages your context. We treat context like source codeβ€”sessions, memory, tool outputs, and artifacts are assembled into a structured view where every token earns its place. ADK automatically filters irrelevant events, summarizes older conversational turns, lazy-loads artifacts, and tracks token usage. This approach keeps your agents fast, efficient, and reliable by default, while giving you the controls to fully customize how context is managed for complex tasks.

+
+ +
+ How does ADK deploy to production? +

ADK is built for deploy anywhere flexibility. You can containerize and run ADK on your own infrastructure, or take advantage of our native, one-command deployment to Google Cloud. When deploying to Google Cloud via Agent Runtime (Agent Platform), Cloud Run, or GKE, your agents instantly inherit managed infrastructure, built-in authentication, Cloud Trace observability, and enterprise-grade securityβ€”all without requiring you to change a single line of your agent code. Develop locally, scale globally.

+
+ +
+ When should I use an agent framework to work with generative AI? +

AI chat conversations can accomplish many tasks, but when you need to accomplish complex, multi-step processes, an agent framework lets you create a managed, repeatable task structure that can run hands-off with minimal human input. Agent frameworks like ADK can automatically initiate tasks, make multiple iterative AI model requests, manage context, handle tool calls, record data, run parallel jobs, handle failures, and resume tasks if they get stopped.

+
+ +
+
diff --git a/docs/_includes/homepage/_framework.md b/docs/_includes/homepage/_framework.md new file mode 100644 index 0000000000..7ad326d96a --- /dev/null +++ b/docs/_includes/homepage/_framework.md @@ -0,0 +1,14 @@ + +
+
+ Framework +

Powerful simplicity. Built for scale.

+

Start building ADK agents with prompts and tool calls, then grow to multi-agent orchestration, graph-based workflows, performance evaluation, and deployment to world class enterprise services for scalability, reliability, and throughput.

+ Learn more +
+
+
+ ADK Web Dev UI +
+
+
diff --git a/docs/_includes/homepage/_hero.md b/docs/_includes/homepage/_hero.md new file mode 100644 index 0000000000..2d62c84db2 --- /dev/null +++ b/docs/_includes/homepage/_hero.md @@ -0,0 +1,91 @@ + +
+
+

Build production agents, not prototypes.

+

ADK is the open-source agent development framework that lets you build, debug, and deploy reliable AI agents at enterprise scale. Available in Python, TypeScript, Go, and Java.

+ +
+
+ +
+
+
+
Python
+
TypeScript
+
Go
+
Java
+
+
from google.adk import Agent
+from google.adk.tools import google_search
+
+agent = Agent(
+    name="researcher",
+    model="gemini-flash-latest",
+    instruction="You help users research topics thoroughly.",
+    tools=[google_search],
+)
+ + + + + + + +
+ +
+
+ pip install google-adk + +
+
+ + + +
+
+
diff --git a/docs/a2a/a2a-extension.md b/docs/a2a/a2a-extension.md new file mode 100644 index 0000000000..6e6170f596 --- /dev/null +++ b/docs/a2a/a2a-extension.md @@ -0,0 +1,61 @@ +# A2A extension for improved reliability + +
+ Supported in ADKPython 1.27.0 +
+ +ADK provides an extension for Agent2Agent (A2A) support to improved message and data handling as part of +an updated [A2aAgentExecutor](https://github.com/google/adk-python/blob/main/src/google/adk/a2a/executor/a2a_agent_executor_impl.py) +class. The updated version includes updates to architectural changes to the core agent execution logic +and extensions for A2A to improve data handling, while also providing backward compatibility with +existing A2A agents. + +Activating the A2A extension option instructs the server to use the updated agent executor implementation. +While this update offers several general advantages, it primarily resolves critical limitations found in +the legacy A2A-ADK implementation when both A2A and ADK operate in streaming mode. The new implementation +addresses the following issues: + +- **Message duplication:** Prevents user messages from being duplicated in the task history. +- **Output misclassification:** Stops remote agent ADK outputs from being incorrectly converted into + event thoughts. +- **Sub-agent data loss:** Ensures ADK outputs from remote agents are reliably preserved, eliminating + data loss when multiple agents are nested within the remote agent's sub-agent tree. + +## Client-side extension activation + +Clients indicate their desire to use this extension by specifying it via the transport-defined [A2A extension](https://a2a-protocol.org/latest/topics/extensions/) activation mechanism. +For JSON-RPC and HTTP transports, this is indicated via the X-A2A-Extensions HTTP header. +For gRPC, this is indicated via the X-A2A-Extensions metadata value. + +To activate the extension, the client can instantiate the `RemoteA2aAgent` with `use_legacy=False`. This will add `https://google.github.io/adk-docs/a2a/a2a-extension/` among the requested extensions of the sent request. +Activating this extension implies that the server will use the new agent executor implementation. + +```python +from google.adk.agents import RemoteA2aAgent + +remote_agent = RemoteA2aAgent( + name="remote_agent", + url="http://localhost:8000/a2a/remote_agent", + use_legacy=False, +) +``` + +The `A2aAgentExecutor` uses by default the new implementation, if the a2a extension is detected in the request. +To opt-out the new agent executor implementation, the client can simply not send this extension (instantiating the `RemoteA2aAgent` with `use_legacy=True`) or the server's `A2aAgentExecutor` can be instantiated with `use_legacy=True`. + +## How it Works + +Upon receiving the request, the [A2aAgentExecutor](https://github.com/google/adk-python/blob/main/src/google/adk/a2a/executor/a2a_agent_executor.py) detects the extension. It understands that the client is requesting to use the new agent executor logic and routes the request to the new implementation accordingly. To confirm that the request was honored, it is then included in the "activated extensions" list within the response metadata sent back to the client, as well as in the metadata of the A2A Events. + +## Agent Card definition + +Agents advertise this extension capability in their AgentCard within the AgentCapabilities.extensions list. + +Example AgentExtension block: +```json +{ + "uri": "https://google.github.io/adk-docs/a2a/a2a-extension/", + "description": "Ability to use the new agent executor implementation", + "required": false +} +``` diff --git a/docs/a2a/index.md b/docs/a2a/index.md index 275c986b1f..dc2a96aedd 100644 --- a/docs/a2a/index.md +++ b/docs/a2a/index.md @@ -1,7 +1,7 @@ # ADK with Agent2Agent (A2A) Protocol
- Supported in ADKPythonGoExperimental + Supported in ADKPythonGoJavaExperimental
With Agent Development Kit (ADK), you can build complex multi-agent systems where different agents need to collaborate and interact using [Agent2Agent (A2A) Protocol](https://a2a-protocol.org/)! This section provides a comprehensive guide to building powerful multi-agent systems where agents can communicate and collaborate securely and efficiently. @@ -14,11 +14,14 @@ Navigate through the guides below to learn about ADK's A2A capabilities: * **[A2A Quickstart (Exposing) for Python](./quickstart-exposing.md)** * **[A2A Quickstart (Exposing) for Go](./quickstart-exposing-go.md)** + * **[A2A Quickstart (Exposing) for Java](./quickstart-exposing-java.md)** These guides show you how to allow your agent to use another, remote agent using A2A protocol: * **[A2A Quickstart (Consuming) for Python](./quickstart-consuming.md)** + * **[A2A Extension - V2 Implementation](./a2a-extension.md)** * **[A2A Quickstart (Consuming) for Go](./quickstart-consuming-go.md)** + * **[A2A Quickstart (Consuming) for Java](./quickstart-consuming-java.md)** [**Official Website for Agent2Agent (A2A) Protocol**](https://a2a-protocol.org/) diff --git a/docs/a2a/intro.md b/docs/a2a/intro.md index 4c2c30736f..c3d0788406 100644 --- a/docs/a2a/intro.md +++ b/docs/a2a/intro.md @@ -253,4 +253,4 @@ concerns and easy integration of specialized agents. Now that you understand the "why" of A2A, let's dive into the "how." - **Continue to the next guide:** - [Quickstart: Exposing Your Agent](./quickstart-exposing.md) + Quickstart: Exposing Your Agent, [in Python](./quickstart-exposing.md), [in Go](./quickstart-exposing-go.md), [in Java](./quickstart-exposing-java.md) diff --git a/docs/a2a/quickstart-consuming-go.md b/docs/a2a/quickstart-consuming-go.md index 2ed1358dd1..2df2f79453 100644 --- a/docs/a2a/quickstart-consuming-go.md +++ b/docs/a2a/quickstart-consuming-go.md @@ -8,7 +8,7 @@ This quickstart covers the most common starting point for any developer: **"Ther ## Overview -This sample demonstrates the **Agent-to-Agent (A2A)** architecture in the Agent Development Kit (ADK), showcasing how multiple agents can work together to handle complex tasks. The sample implements an agent that can roll dice and check if numbers are prime. +This sample demonstrates the **Agent2Agent (A2A)** architecture in the Agent Development Kit (ADK), showcasing how multiple agents can work together to handle complex tasks. The sample implements an agent that can roll dice and check if numbers are prime. ```text β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” diff --git a/docs/a2a/quickstart-consuming-java.md b/docs/a2a/quickstart-consuming-java.md new file mode 100644 index 0000000000..3259a23cdb --- /dev/null +++ b/docs/a2a/quickstart-consuming-java.md @@ -0,0 +1,84 @@ +# Quickstart: Consuming a remote agent via A2A + +
+ Supported in ADKJavaExperimental +
+ +This quickstart covers the most common starting point for any developer: **"There is a remote agent, how do I let my ADK agent use it via A2A?"**. This is crucial for building complex multi-agent systems where different agents need to collaborate and interact. + +## Overview + +This sample demonstrates the **Agent2Agent (A2A)** architecture in the Agent Development Kit (ADK) for Java, showcasing how multiple agents can work together to handle complex tasks. + +```text +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Root Agent │───▢│ Roll Agent β”‚ β”‚ Remote Prime Agent β”‚ +β”‚ (Local) β”‚ β”‚ (Local) β”‚ β”‚ (localhost:8001) β”‚ +β”‚ │───▢│ │◀───│ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +The A2A Basic sample consists of: + +- **Root Agent** (`root_agent`): The main orchestrator that delegates tasks to specialized sub-agents +- **Roll Agent** (`roll_agent`): A local sub-agent that handles dice rolling operations +- **Prime Agent** (`prime_agent`): A remote A2A agent that checks if numbers are prime, this agent is running on a separate A2A server + +## Consuming Your Agent Using the ADK Java SDK + +In Java, rather than manually generating requests, ADK relies on the official A2A SDK `Client` wrapped precisely over a `RemoteA2AAgent` entity. Note that the Java SDK currently uses A2A Protocol 0.3. + +### 1. Getting the Sample Code { #getting-the-sample-code } + +The native sample matching this quickstart workflow in Java can be found in the `adk-java` source code under `contrib/samples/a2a_basic`. + +You can navigate to the [**`a2a_basic`** sample](https://github.com/google/adk-java/tree/main/contrib/samples/a2a_basic): + +```bash +cd contrib/samples/a2a_basic +``` + +### 2. Start the Remote Prime Agent server { #start-the-remote-prime-agent-server } + +To show how your ADK agent can consume a remote agent via A2A, you'll first need a remote agent server running. While you can write your own custom A2A server in any language, ADK provides the `a2a_server` sample which starts a Quarkus service hosting the agent on `:9090`. + +```bash +# In adk-java root, start the pre-configured Quarkus remote service on port 9090 +./mvnw -f contrib/samples/a2a_server/pom.xml quarkus:dev +``` + +Once running successfully, the agent will be accessible via HTTP endpoints locally. + +### 3. Look out for the required agent card of the remote agent { #look-out-for-the-required-agent-card-of-the-remote-agent } + +A2A Protocol requires that each agent have an agent card that describes what it does to other nodes over the network. In an A2A server, the agent card is generated dynamically on boot and hosted statically. + +For an ADK Java webservice, the agent card is generally accessible dynamically using the [`.well-known/agent-card.json`](http://localhost:9090/.well-known/agent-card.json) standard endpoint format relative to its base URL. + +### 4. Run the Main (Consuming) Agent { #run-the-main-consuming-agent } + +In another terminal, you can run the client agent: + +```bash +./mvnw -f contrib/samples/a2a_basic/pom.xml exec:java -Dexec.args="http://localhost:9090" +``` + +#### How it works + +The main agent accesses the required A2A JSON-RPC transport wrapper to consume the remote agent (`prime_agent` in our example). As you can see below, it queries for the `AgentCard` from the target host and registers it locally inside an official A2A `Client`. + +```java title="A2aConsumerSnippet.java" +--8<-- "examples/java/snippets/src/main/java/a2a/A2aConsumerSnippet.java:new-prime-agent" +``` + +You can then pass the remote agent instance naturally to your agent builder, simply acting as just another standard ADK sub-agent. The ADK takes over internally for all translation logic over the wire. + +```java title="A2aConsumerSnippet.java" +--8<-- "examples/java/snippets/src/main/java/a2a/A2aConsumerSnippet.java:new-root-agent" +``` + +## Next Steps + +Now that you have created an agent that's using a remote agent via an A2A server, the next step is to learn how to expose your own Java agent. + +- [**A2A Quickstart (Exposing) for Java**](./quickstart-exposing-java.md): Learn how to expose your existing agent so that other agents can use it via the A2A Protocol. diff --git a/docs/a2a/quickstart-consuming.md b/docs/a2a/quickstart-consuming.md index 7e31016e13..5ebec89e00 100644 --- a/docs/a2a/quickstart-consuming.md +++ b/docs/a2a/quickstart-consuming.md @@ -156,11 +156,15 @@ prime_agent = RemoteA2aAgent( agent_card=( f"http://localhost:8001/a2a/check_prime_agent{AGENT_CARD_WELL_KNOWN_PATH}" ), + use_legacy=False, ) <...code truncated> ``` +!!! note "Using the new A2A integration" + By setting `use_legacy=False`, the agent will use the new ADK-A2A integration, as it will send the [A2A extension](a2a-extension.md) to the remote agent. + Then, you can simply use the `RemoteA2aAgent` in your agent. In this case, `prime_agent` is used as one of the sub-agents in the `root_agent` below: ```python title="a2a_basic/agent.py" @@ -168,7 +172,7 @@ from google.adk.agents.llm_agent import Agent from google.genai import types root_agent = Agent( - model="gemini-2.0-flash", + model="gemini-flash-latest", name="root_agent", instruction=""" + +from google.adk.agents.remote_a2a_agent import AGENT_CARD_WELL_KNOWN_PATH +from google.adk.agents.remote_a2a_agent import RemoteA2aAgent + +prime_agent = RemoteA2aAgent( + name="prime_agent", + description="Agent that handles checking if numbers are prime.", + agent_card=( + f"http://localhost:8001/a2a/check_prime_agent{AGENT_CARD_WELL_KNOWN_PATH}" + ), + use_legacy=False, + config=A2aRemoteAgentConfig( + a2a_message_converter=my_a2a_message_converter, + request_interceptors=[my_request_interceptor], + ), +) + +<...code truncated> +``` + + ## Example Interactions Once both your main and remote agents are running, you can interact with the root agent to see how it calls the remote agent via A2A: diff --git a/docs/a2a/quickstart-exposing-java.md b/docs/a2a/quickstart-exposing-java.md new file mode 100644 index 0000000000..5dfb459af7 --- /dev/null +++ b/docs/a2a/quickstart-exposing-java.md @@ -0,0 +1,86 @@ +# Quickstart: Exposing a remote agent via A2A + +
+ Supported in ADKJavaExperimental +
+ +This quickstart covers the most common starting point for any developer: **"I have an agent. How do I expose it so that other agents can use my agent via A2A?"**. This is crucial for building complex multi-agent systems where different agents need to collaborate and interact. + +## Overview + +This sample demonstrates how you can expose an ADK agent using Quarkus so that it can be then consumed by another agent using the A2A Protocol. + +In Java, you build an A2A server natively by relying on the ADK A2A extension. This uses the Quarkus framework, meaning you just configure your agent directly within your standard Quarkus `@ApplicationScoped` bindings. + +```text +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Root Agent β”‚ A2A Protocol β”‚ A2A-Exposed Check Prime Agent β”‚ +β”‚ │────────────────────────────▢│ (localhost:9090) β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +## Exposing the Remote Agent with Quarkus + +Using Quarkus, you map your agent into an A2A execution endpoint without manually wrangling incoming HTTP JSON-RPC payloads or sessions. + +### 1. Getting the Sample Code { #getting-the-sample-code } + +The fastest way to get started is by checking the standalone Quarkus app inside the `contrib/samples/a2a_server` folder within the [**`adk-java`** repo](https://github.com/google/adk-java). + +```bash +cd contrib/samples/a2a_server +``` + +### 2. How it works + +The core runtime uses a provided `AgentExecutor` which requires you to build a CDI `@Produces` bean configuring your native `BaseAgent`. The Quarkus A2A extension discovers this and wires the endpoints automatically. + +```java title="A2aExposingSnippet.java" +--8<-- "examples/java/snippets/src/main/java/a2a/A2aExposingSnippet.java:a2a-launcher" +``` + +The app handles incoming JSON-RPC calls over HTTP mounted on `/a2a/remote/v1/message:send` automatically forwarding parts, history, and contexts directly into your `BaseAgent` flow. + +### 3. Start the Remote A2A Agent server { #start-the-remote-a2a-agent-server } + +Within the native ADK structure, you can run the Quarkus dev mode task: + +```bash +./mvnw -f contrib/samples/a2a_server/pom.xml quarkus:dev +``` + +Once executed, Quarkus automatically hosts your A2A compliant REST paths. A manual `curl` allows you to immediately smoke test the payload using native A2A specifications: + +```bash +curl -X POST http://localhost:9090 \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "id": "cli-check", + "method": "message/send", + "params": { + "message": { + "kind": "message", + "contextId": "cli-demo-context", + "messageId": "cli-check-id", + "role": "user", + "parts": [ + { "kind": "text", "text": "Is 3 prime?" } + ] + } + } + }' +``` + +### 4. Check that your remote agent is running { #check-that-your-remote-agent-is-running } + +A proper agent card is exposed over a standard path representing your instance automatically: +[http://localhost:9090/.well-known/agent-card.json](http://localhost:9090/.well-known/agent-card.json) + +You should be able to see the name dynamically mirrored from your agent configuration inside the response JSON. + +## Next Steps + +Now that you have exposed your agent via A2A, the next step is to learn how to consume it from another agent orchestrator natively. + +- [**A2A Quickstart (Consuming) for Java**](./quickstart-consuming-java.md): Learn how your agent orchestrator wrapper connects downstream to exposed services. diff --git a/docs/a2a/quickstart-exposing.md b/docs/a2a/quickstart-exposing.md index 7e8e79ee16..359bd4f427 100644 --- a/docs/a2a/quickstart-exposing.md +++ b/docs/a2a/quickstart-exposing.md @@ -49,7 +49,7 @@ You can take an existing agent built using ADK and make it A2A-compatible by sim ```python # Your agent code here root_agent = Agent( - model='gemini-2.0-flash', + model='gemini-flash-latest', name='hello_world_agent', <...your agent code...> @@ -82,9 +82,9 @@ my_agent_card = AgentCard( version="1.0.0", capabilities={}, skills=[], - defaultInputModes=["text/plain"], - defaultOutputModes=["text/plain"], - supportsAuthenticatedExtendedCard=False, + default_input_modes=["text/plain"], + default_output_modes=["text/plain"], + supports_authenticated_extended_card=False, ) a2a_app = to_a2a(root_agent, port=8001, agent_card=my_agent_card) ``` @@ -97,6 +97,15 @@ from google.adk.a2a.utils.agent_to_a2a import to_a2a a2a_app = to_a2a(root_agent, port=8001, agent_card="/path/to/your/agent-card.json") ``` +### Under the hood: to_a2a() method + +When you call `to_a2a()`, the ADK automatically handles several setup steps to expose your agent: + +* **`A2aAgentExecutor` setup:** An `A2aAgentExecutor` is initialized to act as the bridge between the A2A protocol and your ADK agent. If you don't provide a custom `Runner`, it automatically creates a default one backed by in-memory services (for artifacts, sessions, memory, and credentials). +* **State Management:** It creates an `InMemoryTaskStore` to track A2A tasks and an `InMemoryPushNotificationConfigStore` for handling push notifications. +* **Request Handling:** A `DefaultRequestHandler` is created to route incoming A2A HTTP requests to the `A2aAgentExecutor` and the state stores. +* **Starlette App & Agent Card:** It creates a Starlette application. During the application's startup phase, it either loads your provided Agent Card or automatically builds one from your agent's configuration using an `AgentCardBuilder`. It then mounts all the necessary A2A API routes. + Now let's dive into the sample code. ### 1. Getting the Sample Code { #getting-the-sample-code } @@ -213,6 +222,43 @@ Bot: I rolled an 8 for you. Bot: 8 is not a prime number. ``` +## Advanced Configuration: Custom Converters and Interceptors + +In scenarios where you want more granular control than what `to_a2a()` provides, you may instantiate and pass an [`A2aAgentExecutorConfig`](https://github.com/google/adk-python/blob/main/src/google/adk/a2a/executor/config.py) directly to the `A2aAgentExecutor`. This allows you to override default data converters and inject execution middleware. + +### Converters + +Converters handle the bidirectional translation between A2A protocol payloads and ADK's native `Event` or `Part` objects. You can provide your own mapping functions for the following hooks: + +* **`a2a_part_converter`**: Converts A2A Message Parts into ADK `Part` objects. +* **`gen_ai_part_converter`**: Converts native ADK `Part` objects into A2A Message Parts. +* **`request_converter`**: Converts an incoming A2A request into an ADK `RunRequest`. +* **`event_converter`**: *(Legacy)* Converts an ADK Event into an A2A Event, used by the legacy executor implementation. +* **`adk_event_converter`**: *(New)* Converts an ADK Event into an A2A Event, used by the new, updated executor implementation. + +### Execute Interceptors + +You can inject a list of `execute_interceptors` to add middleware logic to the `A2aAgentExecutor` payload processing: + +* **`before_agent`**: Executed before the agent starts processing the request. It allows you to inspect or modify the incoming `RequestContext`. +* **`after_event`**: Executed *after* an ADK event is converted to an A2A event. Allows you to mutate the outgoing event before it is enqueued, or return `None` to filter out and drop the event entirely. +* **`after_agent`**: Executed after the agent finishes and the final event is prepared. Use this to inspect or modify the terminal status event (e.g., `completed` or `failed`) before it is sent. + +## Agent Executor V2 + +The new version of the [agent executor](https://github.com/google/adk-python/blob/main/src/google/adk/a2a/executor/a2a_agent_executor_impl.py) is typically enabled when a client sends the required [A2A extension](a2a-extension.md). + +However, you can also bypass the extension and force the server to use the new executor version by setting the `force_new_version=True` flag when instantiating the `A2aAgentExecutor`. This allows you to use the new executor logic without needing to modify existing clients to send the extension. + +```python +from google.adk.a2a.executor import A2aAgentExecutor + +executor = A2aAgentExecutor( + ..., + force_new_version=True + ) +``` + ## Next Steps Now that you have created an agent that's exposing a remote agent via an A2A server, the next step is to learn how to consume it from another agent. diff --git a/docs/agents/config.md b/docs/agents/config.md index 28b20846aa..38275801b3 100644 --- a/docs/agents/config.md +++ b/docs/agents/config.md @@ -1,7 +1,7 @@ # Build agents with Agent Config
- Supported in ADKPython v1.11.0Experimental + Supported in ADKPython v1.11.0Java v0.3.0Go v0.3.0Experimental
The ADK Agent Config feature lets you build an ADK workflow without writing @@ -9,9 +9,9 @@ code. An Agent Config uses a YAML format text file with a brief description of the agent, allowing just about anyone to assemble and run an ADK agent. The following is a simple example of a basic Agent Config definition: -``` +```yaml name: assistant_agent -model: gemini-2.5-flash +model: gemini-flash-latest description: A helper agent that can answer users' questions. instruction: You are an agent to help answer users' various questions. ``` @@ -21,7 +21,7 @@ incorporate Functions, Tools, Sub-Agents, and more. This page describes how to build and run ADK workflows with the Agent Config feature. For detailed information on the syntax and settings supported by the Agent Config format, see the -[Agent Config syntax reference](/adk-docs/api-reference/agentconfig/). +[Agent Config syntax reference](/api-reference/agentconfig/). !!! example "Experimental" The Agent Config feature is experimental and has some @@ -49,7 +49,7 @@ the Agent Config files. To set up ADK for use with Agent Config: 1. Install the ADK Python libraries by following the - [Installation](/adk-docs/get-started/installation/#python) + [Installation](/get-started/installation/#python) instructions. *Python is currently required.* For more information, see the [Known limitations](#known-limitations). 1. Verify that ADK is installed by running the following command in your @@ -63,7 +63,7 @@ To set up ADK for use with Agent Config: If the `adk` command fails to run and the version is not listed in step 2, make sure your Python environment is active. Execute `source .venv/bin/activate` in your terminal on Mac and Linux. For other platform commands, see the - [Installation](/adk-docs/get-started/installation/#python) + [Installation](/get-started/installation/#python) page. ### Build an agent @@ -110,7 +110,7 @@ To create an ADK project for use with Agent Config: ``` # yaml-language-server: $schema=https://raw.githubusercontent.com/google/adk-python/refs/heads/main/src/google/adk/agents/config_schemas/AgentConfig.json name: assistant_agent -model: gemini-2.5-flash +model: gemini-flash-latest description: A helper agent that can answer users' questions. instruction: You are an agent to help answer users' various questions. ``` @@ -119,7 +119,7 @@ You can discover more configuration options for your `root_agent.yaml` agent configuration file by referring to the ADK [samples repository](https://github.com/search?q=repo%3Agoogle%2Fadk-python+path%3A%2F%5Econtributing%5C%2Fsamples%5C%2F%2F+.yaml&type=code) or the -[Agent Config syntax](/adk-docs/api-reference/agentconfig/) +[Agent Config syntax](/api-reference/agentconfig/) reference. ### Run the agent @@ -138,11 +138,45 @@ To run your Agent Config-defined agent: - `adk api_server` - Run your agent as a service that can be used by other applications. -For more information on the ways to run your agent, see the *Run Your Agent* -topic in the -[Quickstart](/adk-docs/get-started/quickstart/#run-your-agent). +For more information on the ways to run your agent, see +[Agent Runtime](/runtime/#ways-to-run-agents). For more information about the ADK command line options, see the -[ADK CLI reference](/adk-docs/api-reference/cli/). +[ADK CLI reference](/api-reference/cli/). + +### Run programmatically + +You can also bypass the CLI and dynamically load and execute a configuration-based agent directly in your code. The utility loads the configuration and instantiates the proper agent class (such as `LlmAgent`) transparently as a `BaseAgent` subclass. + +=== "Python" + + ```python + import asyncio + from google.adk.agents import config_agent_utils + from google.adk.runners import Runner + + async def main(): + # Load the agent directly from the YAML config file + agent = config_agent_utils.from_config("my_agent/root_agent.yaml") + # ... + + if __name__ == "__main__": + asyncio.run(main()) + ``` + +=== "Java" + + ```java + import com.google.adk.agents.BaseAgent; + import com.google.adk.agents.ConfigAgentUtils; + + public class AgentApp { + public static void main(String[] args) throws Exception { + // Load the agent directly from the YAML config file + BaseAgent agent = ConfigAgentUtils.fromConfig("my_agent/root_agent.yaml"); + // ... + } + } + ``` ## Example configs @@ -159,7 +193,7 @@ tool to reply to user requests. ``` # yaml-language-server: $schema=https://raw.githubusercontent.com/google/adk-python/refs/heads/main/src/google/adk/agents/config_schemas/AgentConfig.json name: search_agent -model: gemini-2.0-flash +model: gemini-flash-latest description: 'an agent whose job it is to perform Google search queries and answer questions about the results.' instruction: You are an agent whose job is to perform Google search queries and answer questions about the results. tools: @@ -178,7 +212,7 @@ list of numbers provided by the user are prime numbers. ``` # yaml-language-server: $schema=https://raw.githubusercontent.com/google/adk-python/refs/heads/main/src/google/adk/agents/config_schemas/AgentConfig.json agent_class: LlmAgent -model: gemini-2.5-flash +model: gemini-flash-latest name: prime_agent description: Handles checking if numbers are prime. instruction: | @@ -204,7 +238,7 @@ YAML files. ``` # yaml-language-server: $schema=https://raw.githubusercontent.com/google/adk-python/refs/heads/main/src/google/adk/agents/config_schemas/AgentConfig.json agent_class: LlmAgent -model: gemini-2.5-flash +model: gemini-flash-latest name: root_agent description: Learning assistant that provides tutoring in code and math. instruction: | @@ -227,12 +261,12 @@ For more details, see the full code for this sample in the ## Deploy agent configs You can deploy Agent Config agents with -[Cloud Run](/adk-docs/deploy/cloud-run/) and -[Agent Engine](/adk-docs/deploy/agent-engine/), +[Cloud Run](/deploy/cloud-run/) and +[Agent Runtime](/deploy/agent-runtime/), using the same procedure as code-based agents. For more information on how to prepare and deploy Agent Config-based agents, see the -[Cloud Run](/adk-docs/deploy/cloud-run/) and -[Agent Engine](/adk-docs/deploy/agent-engine/) +[Cloud Run](/deploy/cloud-run/) and +[Agent Runtime](/deploy/agent-runtime/) deployment guides. ## Known limitations {#known-limitations} @@ -243,10 +277,11 @@ limitations: - **Model support:** Only Gemini models are currently supported. Integration with third-party models is in progress. - **Programming language:** The Agent Config feature currently supports - only Python code for tools and other functionality requiring programming code. + Python and Java code for tools and other functionality requiring programming code. - **ADK Tool support:** The following ADK tools are supported by the Agent Config feature, but *not all tools are fully supported*: - `google_search` + - `google_maps_grounding` - `load_artifacts` - `url_context` - `exit_loop` @@ -255,13 +290,14 @@ limitations: - `enterprise_web_search` - `load_web_page`: Requires a fully-qualified path to access web pages. + - `AgentTool`: Allows an agent to call another agent. + - `LongRunningFunctionTool`: Supports long-running functions. + - `McpToolset`: Connects to Model Context Protocol (MCP) servers. + - `ExampleTool`: Provides example-based few-shot learning for tools. - **Agent Type Support:** The `LangGraphAgent` and `A2aAgent` types are not yet supported. - - `AgentTool` - - `LongRunningFunctionTool` - - `VertexAiSearchTool` - - `McpToolset` - - `ExampleTool` +- **Agent Search:** The `VertexAiSearchTool` is currently supported in + Python and Java Agent Configs. ## Next steps @@ -270,4 +306,4 @@ agent definitions in the ADK [adk-samples](https://github.com/search?q=repo:google/adk-python+path:/%5Econtributing%5C/samples%5C//+root_agent.yaml&type=code) repository. For detailed information on the syntax and settings supported by the Agent Config format, see the -[Agent Config syntax reference](/adk-docs/api-reference/agentconfig/). +[Agent Config syntax reference](/api-reference/agentconfig/). diff --git a/docs/agents/custom-agents.md b/docs/agents/custom-agents.md index d3c9ac6f53..4230e51112 100644 --- a/docs/agents/custom-agents.md +++ b/docs/agents/custom-agents.md @@ -344,7 +344,7 @@ These are standard `LlmAgent` definitions, responsible for specific tasks. Their === "Python" ```python - GEMINI_2_FLASH = "gemini-2.0-flash" # Define model constant + GEMINI_2_FLASH = "gemini-flash-latest" # Define model constant --8<-- "examples/python/snippets/agents/custom-agent/storyflow_agent.py:llmagents" ``` diff --git a/docs/agents/index.md b/docs/agents/index.md index 6afe2fc2ac..dff532e314 100644 --- a/docs/agents/index.md +++ b/docs/agents/index.md @@ -46,33 +46,33 @@ Understanding these core types is the first step toward building sophisticated, Beyond the core agent types, ADK allows you to significantly expand what your agents can do through several key mechanisms: -* [**AI Models**](/adk-docs/agents/models/): +* [**AI Models**](/agents/models/): Swap the underlying intelligence of your agents by integrating with different generative AI models from Google and other providers. -* [**Artifacts**](/adk-docs/artifacts/): +* [**Artifacts**](/artifacts/): Enable agents to create and manage persistent outputs like files, code, or documents that exist beyond the conversation lifecycle. -* [**Pre-built tools and integrations**](/adk-docs/integrations/): +* [**Pre-built tools and integrations**](/integrations/): Equip your agents with a wide array tools, plugins, and other integrations to interact with the world, including web sites, MCP tools, applications, databases, programming interfaces, and more. -* [**Custom tools**](/adk-docs/tools-custom/): +* [**Custom tools**](/tools-custom/): Create your own, task-specific tools for solving specific problems with precision and control. -* [**Plugins**](/adk-docs/plugins/): +* [**Plugins**](/plugins/): Integrate complex, pre-packaged behaviors and third-party services directly into your agent's workflow. -* [**Skills**](/adk-docs/skills/): +* [**Skills**](/skills/): Use prebuilt or custom [Agent Skills](https://agentskills.io/) to extend agent capabilities in a way that works efficiently inside AI context window limits. -* [**Callbacks**](/adk-docs/callbacks/): +* [**Callbacks**](/callbacks/): Hook into specific events during an agent's execution lifecycle to add logging, monitoring, or custom side-effects without altering core agent logic. @@ -86,4 +86,5 @@ Now that you have an overview of the different agent types available in ADK, div * [**Workflow Agents:**](workflow-agents/index.md) Learn how to orchestrate tasks using `SequentialAgent`, `ParallelAgent`, and `LoopAgent` for structured and predictable processes. * [**Custom Agents:**](custom-agents.md) Discover the principles of extending `BaseAgent` to build agents with unique logic and integrations tailored to your specific needs. * [**Multi-Agents:**](multi-agents.md) Understand how to combine different agent types to create sophisticated, collaborative systems capable of tackling complex problems. -* [**Models:**](/adk-docs/agents/models/) Learn about the different LLM integrations available and how to select the right model for your agents. +* [**Agent Routing:**](routing.md) Dynamically select between multiple agents at runtime using router functions for fallback, A/B testing, and auto-routing. +* [**Models:**](/agents/models/) Learn about the different LLM integrations available and how to select the right model for your agents. diff --git a/docs/agents/llm-agents.md b/docs/agents/llm-agents.md index d8e57fdb2e..7f87ed543b 100644 --- a/docs/agents/llm-agents.md +++ b/docs/agents/llm-agents.md @@ -41,16 +41,16 @@ First, you need to establish what the agent *is* and what it's *for*. inquiries about current billing statements," not just "Billing agent"). * **`model` (Required):** Specify the underlying LLM that will power this - agent's reasoning. This is a string identifier like `"gemini-2.5-flash"`. The + agent's reasoning. This is a string identifier like `"gemini-flash-latest"`. The choice of model impacts the agent's capabilities, cost, and performance. See - the [Models](/adk-docs/agents/models/) page for available options and considerations. + the [Models](/agents/models/) page for available options and considerations. === "Python" ```python # Example: Defining the basic identity capital_agent = LlmAgent( - model="gemini-2.5-flash", + model="gemini-flash-latest", name="capital_agent", description="Answers user questions about the capital city of a given country." # instruction and tools will be added next @@ -62,7 +62,7 @@ First, you need to establish what the agent *is* and what it's *for*. ```typescript // Example: Defining the basic identity const capitalAgent = new LlmAgent({ - model: 'gemini-2.5-flash', + model: 'gemini-flash-latest', name: 'capital_agent', description: 'Answers user questions about the capital city of a given country.', // instruction and tools will be added next @@ -81,7 +81,7 @@ First, you need to establish what the agent *is* and what it's *for*. // Example: Defining the basic identity LlmAgent capitalAgent = LlmAgent.builder() - .model("gemini-2.5-flash") + .model("gemini-flash-latest") .name("capital_agent") .description("Answers user questions about the capital city of a given country.") // instruction and tools will be added next @@ -119,7 +119,7 @@ tells the agent: ```python # Example: Adding instructions capital_agent = LlmAgent( - model="gemini-2.5-flash", + model="gemini-flash-latest", name="capital_agent", description="Answers user questions about the capital city of a given country.", instruction="""You are an agent that provides the capital city of a country. @@ -139,7 +139,7 @@ tells the agent: ```typescript // Example: Adding instructions const capitalAgent = new LlmAgent({ - model: 'gemini-2.5-flash', + model: 'gemini-flash-latest', name: 'capital_agent', description: 'Answers user questions about the capital city of a given country.', instruction: `You are an agent that provides the capital city of a country. @@ -166,7 +166,7 @@ tells the agent: // Example: Adding instructions LlmAgent capitalAgent = LlmAgent.builder() - .model("gemini-2.5-flash") + .model("gemini-flash-latest") .name("capital_agent") .description("Answers user questions about the capital city of a given country.") .instruction( @@ -214,7 +214,7 @@ on the conversation and its instructions. # Add the tool to the agent capital_agent = LlmAgent( - model="gemini-2.5-flash", + model="gemini-flash-latest", name="capital_agent", description="Answers user questions about the capital city of a given country.", instruction="""You are an agent that provides the capital city of a country... (previous instruction text)""", @@ -255,7 +255,7 @@ on the conversation and its instructions. // Add the tool to the agent const capitalAgent = new LlmAgent({ - model: 'gemini-2.5-flash', + model: 'gemini-flash-latest', name: 'capitalAgent', description: 'Answers user questions about the capital city of a given country.', instruction: 'You are an agent that provides the capital city of a country...', // Note: the full instruction is omitted for brevity @@ -294,7 +294,7 @@ on the conversation and its instructions. FunctionTool capitalTool = FunctionTool.create(experiment.getClass(), "getCapitalCity"); LlmAgent capitalAgent = LlmAgent.builder() - .model("gemini-2.5-flash") + .model("gemini-flash-latest") .name("capital_agent") .description("Answers user questions about the capital city of a given country.") .instruction("You are an agent that provides the capital city of a country... (previous instruction text)") @@ -302,7 +302,7 @@ on the conversation and its instructions. .build(); ``` -Learn more about Tools in [Custom Tools](/adk-docs/tools-custom/). +Learn more about Tools in [Custom Tools](/tools-custom/). ## Advanced Configuration & Control @@ -381,6 +381,13 @@ For scenarios requiring structured data exchange with an `LLM Agent`, the ADK pr * **`output_schema` (Optional):** Define a schema representing the desired output structure. If set, the agent's final response *must* be a JSON string conforming to this schema. +!!! warning "Warning: Using `output_schema` with `tools`" + + Using `output_schema` with `tools` in the same LLM request + is only supported by specific models, including [Gemini 3.0](https://ai.google.dev/gemini-api/docs/function-calling?example=meeting#structured-output). + For other models, workarounds using [function tools](https://github.com/google/adk-python/blob/main/src/google/adk/flows/llm_flows/_output_schema_processor.py)) in ADK + may not work reliably. In such cases, consider using sub-agents that handle output formatting separately. + * **`output_key` (Optional):** Provide a string key. If set, the text content of the agent's *final* response will be automatically saved to the session's state dictionary under this key. This is useful for passing results between agents or steps in a workflow. * In Python, this might look like: `session.state[output_key] = agent_response_text` * In Java: `session.state().put(outputKey, agentResponseText)` @@ -464,7 +471,7 @@ For scenarios requiring structured data exchange with an `LLM Agent`, the ADK pr // ... name, model, description .instruction( "You are a Capital Information Agent. Given a country, respond ONLY with a JSON object containing the capital. Format: {\"capital\": \"capital_name\"}") - .outputSchema(capitalOutput) // Enforce JSON output + .outputSchema(CAPITAL_OUTPUT) // Enforce JSON output .outputKey("found_capital") // Store result in state.get("found_capital") // Cannot use tools(getCapitalCity) effectively here .build(); @@ -534,7 +541,7 @@ Control whether the agent receives the prior conversation history. from google.genai import types my_agent = Agent( - model="gemini-2.5-flash", + model="gemini-flash-latest", planner=BuiltInPlanner( thinking_config=types.ThinkingConfig( include_thoughts=True, @@ -552,7 +559,7 @@ Control whether the agent receives the prior conversation history. from google.adk.planners import PlanReActPlanner my_agent = Agent( - model="gemini-2.5-flash", + model="gemini-flash-latest", planner=PlanReActPlanner(), # ... your tools here ) @@ -703,7 +710,7 @@ call_agent("If it's raining in New York right now, what is the current temperatu - **`code_executor` (Optional):** Provide a `BaseCodeExecutor` instance to allow the agent to execute code blocks found in the LLM's response. For more - information, see [Code Execution with Gemini API](/adk-docs/tools/gemini-api/code-execution/). + information, see [Code Execution with Gemini API](/integrations/code-execution/). === "Python" diff --git a/docs/agents/models/vertex.md b/docs/agents/models/agent-platform.md similarity index 54% rename from docs/agents/models/vertex.md rename to docs/agents/models/agent-platform.md index 3d40b60bd9..9ab23cc0be 100644 --- a/docs/agents/models/vertex.md +++ b/docs/agents/models/agent-platform.md @@ -1,16 +1,16 @@ -# Vertex AI hosted models for ADK agents +# Agent Platform hosted models for ADK agents For enterprise-grade scalability, reliability, and integration with Google -Cloud's MLOps ecosystem, you can use models deployed to Vertex AI Endpoints. +Cloud's MLOps ecosystem, you can use models deployed to Agent Platform Endpoints. This includes models from Model Garden or your own fine-tuned models. -**Integration Method:** Pass the full Vertex AI Endpoint resource string +**Integration Method:** Pass the full Agent Platform Endpoint resource string (`projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID`) directly to the `model` parameter of `LlmAgent`. -## Vertex AI Setup +## Agent Platform Setup -Ensure your environment is configured for Vertex AI: +Ensure your environment is configured for Agent Platform: 1. **Authentication:** Use Application Default Credentials (ADC): @@ -25,8 +25,8 @@ Ensure your environment is configured for Vertex AI: export GOOGLE_CLOUD_LOCATION="YOUR_VERTEX_AI_LOCATION" # e.g., us-central1 ``` -3. **Enable Vertex Backend:** Crucially, ensure the `google-genai` library - targets Vertex AI: +3. **Enable Agent Platform Backend:** Crucially, ensure the `google-genai` library + targets Agent Platform: ```shell export GOOGLE_GENAI_USE_VERTEXAI=TRUE @@ -35,68 +35,120 @@ Ensure your environment is configured for Vertex AI: ## Model Garden Deployments
- Supported in ADKPython v0.2.0 + Supported in ADKPython v0.2.0Java v0.1.0
You can deploy various open and proprietary models from the -[Vertex AI Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) +[Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) to an endpoint. **Example:** -```python -from google.adk.agents import LlmAgent -from google.genai import types # For config objects +=== "Python" + + ```python + from google.adk.agents import LlmAgent + from google.genai import types # For config objects + + # --- Example Agent using a Llama 3 model deployed from Model Garden --- -# --- Example Agent using a Llama 3 model deployed from Model Garden --- + # Replace with your actual Agent Platform Endpoint resource name + llama3_endpoint = "projects/YOUR_PROJECT_ID/locations/us-central1/endpoints/YOUR_LLAMA3_ENDPOINT_ID" -# Replace with your actual Vertex AI Endpoint resource name -llama3_endpoint = "projects/YOUR_PROJECT_ID/locations/us-central1/endpoints/YOUR_LLAMA3_ENDPOINT_ID" + agent_llama3_vertex = LlmAgent( + model=llama3_endpoint, + name="llama3_vertex_agent", + instruction="You are a helpful assistant based on Llama 3, hosted on Agent Platform.", + generate_content_config=types.GenerateContentConfig(max_output_tokens=2048), + # ... other agent parameters + ) + ``` -agent_llama3_vertex = LlmAgent( - model=llama3_endpoint, - name="llama3_vertex_agent", - instruction="You are a helpful assistant based on Llama 3, hosted on Vertex AI.", - generate_content_config=types.GenerateContentConfig(max_output_tokens=2048), - # ... other agent parameters -) -``` +=== "Java" + + ```java + import com.google.adk.agents.LlmAgent; + import com.google.adk.models.Gemini; + import com.google.genai.types.GenerateContentConfig; + + // ... + + // Replace with your actual Agent Platform Endpoint resource name + String llama3Endpoint = "projects/YOUR_PROJECT_ID/locations/us-central1/endpoints/YOUR_LLAMA3_ENDPOINT_ID"; + + LlmAgent agentLlama3Vertex = LlmAgent.builder() + .model(Gemini.builder() + .modelName(llama3Endpoint) + .build()) + .name("llama3_vertex_agent") + .instruction("You are a helpful assistant based on Llama 3, hosted on Agent Platform.") + .generateContentConfig(GenerateContentConfig.builder() + .maxOutputTokens(2048) + .build()) + // ... other agent parameters + .build(); + ``` ## Fine-tuned Model Endpoints
- Supported in ADKPython v0.2.0 + Supported in ADKPython v0.2.0Java v0.1.0
Deploying your fine-tuned models (whether based on Gemini or other architectures -supported by Vertex AI) results in an endpoint that can be used directly. +supported by Agent Platform) results in an endpoint that can be used directly. **Example:** -```python -from google.adk.agents import LlmAgent +=== "Python" -# --- Example Agent using a fine-tuned Gemini model endpoint --- + ```python + from google.adk.agents import LlmAgent -# Replace with your fine-tuned model's endpoint resource name -finetuned_gemini_endpoint = "projects/YOUR_PROJECT_ID/locations/us-central1/endpoints/YOUR_FINETUNED_ENDPOINT_ID" + # --- Example Agent using a fine-tuned Gemini model endpoint --- -agent_finetuned_gemini = LlmAgent( - model=finetuned_gemini_endpoint, - name="finetuned_gemini_agent", - instruction="You are a specialized assistant trained on specific data.", - # ... other agent parameters -) -``` + # Replace with your fine-tuned model's endpoint resource name + finetuned_gemini_endpoint = "projects/YOUR_PROJECT_ID/locations/us-central1/endpoints/YOUR_FINETUNED_ENDPOINT_ID" -## Anthropic Claude on Vertex AI {#third-party-models-on-vertex-ai-eg-anthropic-claude} + agent_finetuned_gemini = LlmAgent( + model=finetuned_gemini_endpoint, + name="finetuned_gemini_agent", + instruction="You are a specialized assistant trained on specific data.", + # ... other agent parameters + ) + ``` + +=== "Java" + + ```java + import com.google.adk.agents.LlmAgent; + import com.google.adk.models.Gemini; + + // ... + + // Replace with your fine-tuned model's endpoint resource name + String finetunedGeminiEndpoint = "projects/YOUR_PROJECT_ID/locations/us-central1/endpoints/YOUR_FINETUNED_ENDPOINT_ID"; + + LlmAgent agentFinetunedGemini = LlmAgent.builder() + .model(Gemini.builder() + .modelName(finetunedGeminiEndpoint) + .build()) + .name("finetuned_gemini_agent") + .instruction("You are a specialized assistant trained on specific data.") + // ... other agent parameters + .build(); + ``` + +## Anthropic Claude on Agent Platform {#anthropic-claude}
Supported in ADKPython v0.2.0Java v0.1.0
Some providers, like Anthropic, make their models available directly through -Vertex AI. +Agent Platform. + +**Example:** === "Python" @@ -104,19 +156,19 @@ Vertex AI. `"claude-3-sonnet@20240229"`), *but requires manual registration* within ADK. **Why Registration?** ADK's registry automatically recognizes `gemini-*` strings - and standard Vertex AI endpoint strings (`projects/.../endpoints/...`) and + and standard Agent Platform endpoint strings (`projects/.../endpoints/...`) and routes them via the `google-genai` library. For other model types used directly - via Vertex AI (like Claude), you must explicitly tell the ADK registry which + via Agent Platform (like Claude), you must explicitly tell the ADK registry which specific wrapper class (`Claude` in this case) knows how to handle that model - identifier string with the Vertex AI backend. + identifier string with the Agent Platform backend. **Setup:** - 1. **Vertex AI Environment:** Ensure the consolidated Vertex AI setup (ADC, Env + 1. **Agent Platform Environment:** Ensure the consolidated Agent Platform setup (ADC, Env Vars, `GOOGLE_GENAI_USE_VERTEXAI=TRUE`) is complete. 2. **Install Provider Library:** Install the necessary client library configured - for Vertex AI. + for Agent Platform. ```shell pip install "anthropic[vertex]" @@ -126,15 +178,13 @@ Vertex AI. *before* creating an agent using the Claude model string: ```python - # Required for using Claude model strings directly via Vertex AI with LlmAgent + # Required for using Claude model strings directly via Agent Platform with LlmAgent from google.adk.models.anthropic_llm import Claude from google.adk.models.registry import LLMRegistry LLMRegistry.register(Claude) ``` - **Example:** - ```python from google.adk.agents import LlmAgent from google.adk.models.anthropic_llm import Claude # Import needed for registration @@ -144,15 +194,15 @@ Vertex AI. # --- Register Claude class (do this once at startup) --- LLMRegistry.register(Claude) - # --- Example Agent using Claude 3 Sonnet on Vertex AI --- + # --- Example Agent using Claude 3 Sonnet on Agent Platform --- - # Standard model name for Claude 3 Sonnet on Vertex AI + # Standard model name for Claude 3 Sonnet on Agent Platform claude_model_vertexai = "claude-3-sonnet@20240229" agent_claude_vertexai = LlmAgent( model=claude_model_vertexai, # Pass the direct string after registration name="claude_vertexai_agent", - instruction="You are an assistant powered by Claude 3 Sonnet on Vertex AI.", + instruction="You are an assistant powered by Claude 3 Sonnet on Agent Platform.", generate_content_config=types.GenerateContentConfig(max_output_tokens=4096), # ... other agent parameters ) @@ -160,24 +210,22 @@ Vertex AI. === "Java" - **Integration Method:** Directly instantiate the provider-specific model class (e.g., `com.google.adk.models.Claude`) and configure it with a Vertex AI backend. + **Integration Method:** Directly instantiate the provider-specific model class (e.g., `com.google.adk.models.Claude`) and configure it with an Agent Platform backend. - **Why Direct Instantiation?** The Java ADK's `LlmRegistry` primarily handles Gemini models by default. For third-party models like Claude on Vertex AI, you directly provide an instance of the ADK's wrapper class (e.g., `Claude`) to the `LlmAgent`. This wrapper class is responsible for interacting with the model via its specific client library, configured for Vertex AI. + **Why Direct Instantiation?** The Java ADK's `LlmRegistry` primarily handles Gemini models by default. For third-party models like Claude on Agent Platform, you directly provide an instance of the ADK's wrapper class (e.g., `Claude`) to the `LlmAgent`. This wrapper class is responsible for interacting with the model via its specific client library, configured for Agent Platform. **Setup:** - 1. **Vertex AI Environment:** + 1. **Agent Platform Environment:** * Ensure your Google Cloud project and region are correctly set up. - * **Application Default Credentials (ADC):** Make sure ADC is configured correctly in your environment. This is typically done by running `gcloud auth application-default login`. The Java client libraries use these credentials to authenticate with Vertex AI. Follow the [Google Cloud Java documentation on ADC](https://cloud.google.com/java/docs/reference/google-auth-library/latest/com.google.auth.oauth2.GoogleCredentials#com_google_auth_oauth2_GoogleCredentials_getApplicationDefault__) for detailed setup. + * **Application Default Credentials (ADC):** Make sure ADC is configured correctly in your environment. This is typically done by running `gcloud auth application-default login`. The Java client libraries use these credentials to authenticate with Agent Platform. Follow the [Google Cloud Java documentation on ADC](https://cloud.google.com/java/docs/reference/google-auth-library/latest/com.google.auth.oauth2.GoogleCredentials#com_google_auth_oauth2_GoogleCredentials_getApplicationDefault__) for detailed setup. 2. **Provider Library Dependencies:** - * **Third-Party Client Libraries (Often Transitive):** The ADK core library often includes the necessary client libraries for common third-party models on Vertex AI (like Anthropic's required classes) as **transitive dependencies**. This means you might not need to explicitly add a separate dependency for the Anthropic Vertex SDK in your `pom.xml` or `build.gradle`. + * **Third-Party Client Libraries (Often Transitive):** The ADK core library often includes the necessary client libraries for common third-party models on Agent Platform (like Anthropic's required classes) as **transitive dependencies**. This means you might not need to explicitly add a separate dependency for the Anthropic Vertex SDK in your `pom.xml` or `build.gradle`. 3. **Instantiate and Configure the Model:** When creating your `LlmAgent`, instantiate the `Claude` class (or the equivalent for another provider) and configure its `VertexBackend`. - **Example:** - ```java import com.anthropic.client.AnthropicClient; import com.anthropic.client.okhttp.AnthropicOkHttpClient; @@ -192,14 +240,14 @@ Vertex AI. public class ClaudeVertexAiAgent { public static LlmAgent createAgent() throws IOException { - // Model name for Claude 3 Sonnet on Vertex AI (or other versions) + // Model name for Claude 3 Sonnet on Agent Platform (or other versions) String claudeModelVertexAi = "claude-3-7-sonnet"; // Or any other Claude model // Configure the AnthropicOkHttpClient with the VertexBackend AnthropicClient anthropicClient = AnthropicOkHttpClient.builder() .backend( VertexBackend.builder() - .region("us-east5") // Specify your Vertex AI region + .region("us-east5") // Specify your Agent Platform region .project("your-gcp-project-id") // Specify your GCP Project ID .googleCredentials(GoogleCredentials.getApplicationDefault()) .build()) @@ -209,7 +257,7 @@ Vertex AI. LlmAgent agentClaudeVertexAi = LlmAgent.builder() .model(new Claude(claudeModelVertexAi, anthropicClient)) // Pass the Claude instance .name("claude_vertexai_agent") - .instruction("You are an assistant powered by Claude 3 Sonnet on Vertex AI.") + .instruction("You are an assistant powered by Claude 3 Sonnet on Agent Platform.") // .generateContentConfig(...) // Optional: Add generation config if needed // ... other agent parameters .build(); @@ -230,31 +278,31 @@ Vertex AI. } ``` -## Open Models on Vertex AI {#open-models} +## Open Models on Agent Platform {#open-models}
- Supported in ADKPython v0.1.0 + Supported in ADKPython v0.1.0Java v0.1.0
-Vertex AI offers a curated selection of open-source models, such as Meta Llama, through Model-as-a-Service (MaaS). These models are accessible via managed APIs, allowing you to deploy and scale without managing the underlying infrastructure. For a full list of available options, see the [Vertex AI open models for MaaS](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/maas/use-open-models#open-models) documentation. +Agent Platform offers a curated selection of open-source models, such as Meta Llama, through Model-as-a-Service (MaaS). These models are accessible via managed APIs, allowing you to deploy and scale without managing the underlying infrastructure. For a full list of available options, see the [Agent Platform open models for MaaS](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/maas/use-open-models#open-models) documentation. === "Python" - You can use the [LiteLLM](https://docs.litellm.ai/) library to access open models like Meta's Llama on VertexAI MaaS + You can use the [LiteLLM](https://docs.litellm.ai/) library to access open models like Meta's Llama on Agent Platform MaaS **Integration Method:** Use the `LiteLlm` wrapper class and set it - as the `model` parameter of `LlmAgent`. Make sure you go through the [LiteLLM model connector for ADK agents](/adk-docs/agents/models/litellm/#litellm-model-connector-for-adk-agents) documentation on how to use LiteLLM in ADK + as the `model` parameter of `LlmAgent`. Make sure you go through the [LiteLLM model connector for ADK agents](/agents/models/litellm/#litellm-model-connector-for-adk-agents) documentation on how to use LiteLLM in ADK **Setup:** - 1. **Vertex AI Environment:** Ensure the consolidated Vertex AI setup (ADC, Env + 1. **Agent Platform Environment:** Ensure the consolidated Agent Platform setup (ADC, Env Vars, `GOOGLE_GENAI_USE_VERTEXAI=TRUE`) is complete. 2. **Install LiteLLM:** ```shell pip install litellm ``` - + **Example:** ```python diff --git a/docs/agents/models/anthropic.md b/docs/agents/models/anthropic.md index 416c8cd23b..5f9b95e8dd 100644 --- a/docs/agents/models/anthropic.md +++ b/docs/agents/models/anthropic.md @@ -5,16 +5,16 @@ You can integrate Anthropic's Claude models directly using an Anthropic API key -or from a Vertex AI backend into your Java ADK applications by using the ADK's +or from an Agent Platform backend into your Java ADK applications by using the ADK's `Claude` wrapper class. You can also access Anthropic models through -Google Cloud Vertex AI services. For more information, see the -[Third-Party Models on Vertex AI](/adk-docs/agents/models/vertex/#third-party-models-on-vertex-ai-eg-anthropic-claude) +Google Cloud Agent Platform services. For more information, see the +[Third-Party Models on Agent Platform](/agents/models/agent-platform/#anthropic-claude) section. You can also use Anthropic models through the -[LiteLLM](/adk-docs/agents/models/litellm/) library for Python. +[LiteLLM](/agents/models/litellm/) library for Python. ## Get started -The following code examples show a basic implementation for using Gemini models +The following code examples show a basic implementation for using Anthropic models in your agents: ```java @@ -25,7 +25,7 @@ public static LlmAgent createAgent() { .build(); Claude claudeModel = new Claude( - "claude-3-7-sonnet-latest", anthropicClient + "claude-sonnet-4-6", anthropicClient ); return LlmAgent.builder() @@ -61,7 +61,7 @@ import com.anthropic.client.okhttp.AnthropicOkHttpClient; // From Anthropic's SD public class DirectAnthropicAgent { - private static final String CLAUDE_MODEL_ID = "claude-3-7-sonnet-latest"; // Or your preferred Claude model + private static final String CLAUDE_MODEL_ID = "claude-sonnet-4-6"; // Or your preferred Claude model public static LlmAgent createAgent() { diff --git a/docs/agents/models/apigee.md b/docs/agents/models/apigee.md index a0c3a7ccac..1ec45bface 100644 --- a/docs/agents/models/apigee.md +++ b/docs/agents/models/apigee.md @@ -7,7 +7,7 @@ [Apigee](https://docs.cloud.google.com/apigee/docs/api-platform/get-started/what-apigee) provides a powerful [AI Gateway](https://cloud.google.com/solutions/apigee-ai), transforming how you manage and govern your generative AI model traffic. By -exposing your AI model endpoint (like Vertex AI or the Gemini API) through an +exposing your AI model endpoint (like Agent Platform or the Gemini API) through an Apigee proxy, you immediately gain enterprise-grade capabilities: - **Model Safety:** Implement security policies like Model Armor for threat protection. @@ -20,7 +20,7 @@ Apigee proxy, you immediately gain enterprise-grade capabilities: !!! note - The `ApigeeLLM` wrapper is currently designed for use with Vertex AI + The `ApigeeLLM` wrapper is currently designed for use with Agent Platform and the Gemini API (generateContent). We are continually expanding support for other models and interfaces. @@ -39,7 +39,7 @@ Integrate Apigee's governance into your agent's workflow by instantiating the # Instantiate the ApigeeLlm wrapper model = ApigeeLlm( # Specify the Apigee route to your model. For more info, check out the ApigeeLlm documentation (https://github.com/google/adk-python/tree/main/contributing/samples/hello_world_apigeellm). - model="apigee/gemini-2.5-flash", + model="apigee/gemini-flash-latest", # The proxy URL of your deployed Apigee proxy including the base path proxy_url=f"https://{APIGEE_PROXY_URL}", # Pass necessary authentication/authorization headers (like an API key) @@ -65,7 +65,7 @@ Integrate Apigee's governance into your agent's workflow by instantiating the ApigeeLlm apigeeLlm = ApigeeLlm.builder() - .modelName("apigee/gemini-2.5-flash") // Specify the Apigee route to your model. For more info, check out the ApigeeLlm documentation + .modelName("apigee/gemini-flash-latest") // Specify the Apigee route to your model. For more info, check out the ApigeeLlm documentation .proxyUrl(APIGEE_PROXY_URL) //The proxy URL of your deployed Apigee proxy including the base path .customHeaders(ImmutableMap.of("foo", "bar")) //Pass necessary authentication/authorization headers (like an API key) .build(); diff --git a/docs/agents/models/google-gemini.md b/docs/agents/models/google-gemini.md index c70f5a3beb..97b9d1c655 100644 --- a/docs/agents/models/google-gemini.md +++ b/docs/agents/models/google-gemini.md @@ -7,10 +7,10 @@ ADK supports the Google Gemini family of generative AI models that provide a powerful set of models with a wide range of features. ADK provides support for many Gemini features, including -[Code Execution](/adk-docs/tools/gemini-api/code-execution/), -[Google Search](/adk-docs/tools/gemini-api/google-search/), -[Context caching](/adk-docs/context/caching/), -[Computer use](/adk-docs/tools/gemini-api/computer-use/) +[Code Execution](/integrations/code-execution/), +[Google Search](/integrations/google-search/), +[Context caching](/context/caching/), +[Computer use](/integrations/computer-use/) and the [Interactions API](#interactions-api). ## Get started @@ -26,7 +26,7 @@ in your agents: # --- Example using a stable Gemini Flash model --- agent_gemini_flash = LlmAgent( # Use the latest stable Flash model identifier - model="gemini-2.5-flash", + model="gemini-flash-latest", name="gemini_flash_agent", instruction="You are a fast and helpful Gemini assistant.", # ... other agent parameters @@ -41,7 +41,7 @@ in your agents: // --- Example #2: using a powerful Gemini Pro model with API Key in model --- export const rootAgent = new LlmAgent({ name: 'hello_time_agent', - model: 'gemini-2.5-flash', + model: 'gemini-flash-latest', description: 'Gemini flash agent', instruction: `You are a fast and helpful Gemini assistant.`, }); @@ -66,17 +66,26 @@ in your agents: LlmAgent agentGeminiFlash = LlmAgent.builder() // Use the latest stable Flash model identifier - .model("gemini-2.5-flash") // Set ENV variables to use this model + .model("gemini-flash-latest") // Set ENV variables to use this model .name("gemini_flash_agent") .instruction("You are a fast and helpful Gemini assistant.") // ... other agent parameters .build(); ``` +??? note "Note: Gemini model selector `gemini-flash-latest`" + + Most code examples in ADK documentation use `gemini-flash-latest` to select the + [latest available](https://ai.google.dev/gemini-api/docs/models#latest) + Gemini Flash version. However, if you access Gemini from a regional endpoint, + such as `us-central1`, this selection string may not work. In that case, + use a specific model version string from the + [Gemini models](https://ai.google.dev/gemini-api/docs/models) page or + Google Cloud [Gemini models](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models) list. ## Gemini model authentication -This section covers authenticating with Google's Gemini models, either through Google AI Studio for rapid development or Google Cloud Vertex AI for enterprise applications. This is the most direct way to use Google's flagship models within ADK. +This section covers authenticating with Google's Gemini models, either through Google AI Studio for rapid development or Google Cloud Agent Platform for enterprise applications. This is the most direct way to use Google's flagship models within ADK. **Integration Method:** Once you are authenticated using one of the below methods, you can pass the model's identifier string directly to the `model` parameter of `LlmAgent`. @@ -85,7 +94,7 @@ This section covers authenticating with Google's Gemini models, either through G !!! tip The `google-genai` library, used internally by ADK for Gemini models, can connect - through either Google AI Studio or Vertex AI. + through either Google AI Studio or Agent Platform. **Model support for voice/video streaming** @@ -94,7 +103,7 @@ This section covers authenticating with Google's Gemini models, either through G support the Gemini Live API in the documentation: - [Google AI Studio: Gemini Live API](https://ai.google.dev/gemini-api/docs/models#live-api) - - [Vertex AI: Gemini Live API](https://cloud.google.com/vertex-ai/generative-ai/docs/live-api) + - [Agent Platform: Gemini Live API](https://cloud.google.com/vertex-ai/generative-ai/docs/live-api) ### Google AI Studio @@ -117,11 +126,11 @@ This is the simplest method and is recommended for getting started quickly. * **Models:** Find all available models on the [Google AI for Developers site](https://ai.google.dev/gemini-api/docs/models). -### Google Cloud Vertex AI +### Google Cloud Agent Platform -For scalable and production-oriented use cases, Vertex AI is the recommended platform. Gemini on Vertex AI supports enterprise-grade features, security, and compliance controls. Based on your development environment and usecase, *choose one of the below methods to authenticate*. +For scalable and production-oriented use cases, Agent Platform is the recommended platform. Gemini on Agent Platform supports enterprise-grade features, security, and compliance controls. Based on your development environment and usecase, *choose one of the below methods to authenticate*. -**Pre-requisites:** A Google Cloud Project with [Vertex AI enabled](https://console.cloud.google.com/apis/enableflow;apiid=aiplatform.googleapis.com). +**Pre-requisites:** A Google Cloud Project with [Agent Platform enabled](https://console.cloud.google.com/apis/enableflow;apiid=aiplatform.googleapis.com). ### **Method A: User Credentials (for Local Development)** @@ -136,22 +145,22 @@ For scalable and production-oriented use cases, Vertex AI is the recommended pla export GOOGLE_CLOUD_LOCATION="YOUR_VERTEX_AI_LOCATION" # e.g., us-central1 ``` - Explicitly tell the library to use Vertex AI: + Explicitly tell the library to use Agent Platform: ```shell export GOOGLE_GENAI_USE_VERTEXAI=TRUE ``` 4. **Models:** Find available model IDs in the - [Vertex AI documentation](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models). + [Agent Platform documentation](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models). -### **Method B: Vertex AI Express Mode** -[Vertex AI Express Mode](https://cloud.google.com/vertex-ai/generative-ai/docs/start/express-mode/overview) offers a simplified, API-key-based setup for rapid prototyping. +### **Method B: Agent Platform Express Mode** +[Agent Platform Express Mode](https://cloud.google.com/vertex-ai/generative-ai/docs/start/express-mode/overview) offers a simplified, API-key-based setup for rapid prototyping. 1. **Sign up for Express Mode** to get your API key. 2. **Set environment variables:** ```shell - export GOOGLE_API_KEY="PASTE_YOUR_EXPRESS_MODE_API_KEY_HERE" + export GOOGLE_GENAI_API_KEY="PASTE_YOUR_EXPRESS_MODE_API_KEY_HERE" export GOOGLE_GENAI_USE_VERTEXAI=TRUE ``` @@ -159,7 +168,7 @@ For scalable and production-oriented use cases, Vertex AI is the recommended pla For deployed applications, a service account is the standard method. -1. [**Create a Service Account**](https://cloud.google.com/iam/docs/service-accounts-create#console) and grant it the `Vertex AI User` role. +1. [**Create a Service Account**](https://cloud.google.com/iam/docs/service-accounts-create#console) and grant it the `Agent Platform User` role. 2. **Provide credentials to your application:** * **On Google Cloud:** If you are running the agent in Cloud Run, GKE, VM or other Google Cloud services, the environment can automatically provide the service account credentials. You don't have to create a key file. * **Elsewhere:** Create a [service account key file](https://cloud.google.com/iam/docs/keys-create-delete#console) and point to it with an environment variable: @@ -200,37 +209,89 @@ To mitigate this, you can do one of the following: You would use this option if you are instantiating this model adapter by yourself. - ```python - root_agent = Agent( - model='gemini-2.5-flash', - ... - generate_content_config=types.GenerateContentConfig( - ... - http_options=types.HttpOptions( - ... - retry_options=types.HttpRetryOptions(initial_delay=1, attempts=2), - ... - ), - ... - ) - ``` + === "Python" + + ```python + root_agent = Agent( + model='gemini-flash-latest', + # ... + generate_content_config=types.GenerateContentConfig( + # ... + http_options=types.HttpOptions( + # ... + retry_options=types.HttpRetryOptions(initial_delay=1, attempts=2), + # ... + ), + # ... + ) + ``` + + === "Java" + + ```java + import com.google.adk.agents.LlmAgent; + import com.google.genai.types.GenerateContentConfig; + import com.google.genai.types.HttpOptions; + import com.google.genai.types.HttpRetryOptions; + + // ... + + LlmAgent rootAgent = LlmAgent.builder() + .model("gemini-flash-latest") + // ... + .generateContentConfig(GenerateContentConfig.builder() + // ... + .httpOptions(HttpOptions.builder() + // ... + .retryOptions(HttpRetryOptions.builder().initialDelay(1.0).attempts(2).build()) + // ... + .build()) + // ... + .build()) + .build(); + ``` **Option 2:** Retry options on this model adapter. You would use this option if you were instantiating the instance of adapter by yourself. - ```python - from google.genai import types + === "Python" - # ... + ```python + from google.genai import types - agent = Agent( - model=Gemini( - retry_options=types.HttpRetryOptions(initial_delay=1, attempts=2), + # ... + + agent = Agent( + model=Gemini( + retry_options=types.HttpRetryOptions(initial_delay=1, attempts=2), + ) ) - ) - ``` + ``` + + === "Java" + + ```java + import com.google.adk.agents.LlmAgent; + import com.google.adk.models.Gemini; + import com.google.genai.Client; + import com.google.genai.types.HttpOptions; + import com.google.genai.types.HttpRetryOptions; + + // ... + + LlmAgent agent = LlmAgent.builder() + .model(Gemini.builder() + .modelName("gemini-flash-latest") + .apiClient(Client.builder() + .httpOptions(HttpOptions.builder() + .retryOptions(HttpRetryOptions.builder().initialDelay(1.0).attempts(2).build()) + .build()) + .build()) + .build()) + .build(); + ``` ## Gemini Interactions API {#interactions-api} @@ -248,23 +309,45 @@ You can enable the Interactions API by setting the `use_interactions_api=True` parameter in the Gemini model configuration, as shown in the following code snippet: -```python -from google.adk.agents.llm_agent import Agent -from google.adk.models.google_llm import Gemini -from google.adk.tools.google_search_tool import GoogleSearchTool - -root_agent = Agent( - model=Gemini( - model="gemini-2.5-flash", - use_interactions_api=True, # Enable Interactions API - ), - name="interactions_test_agent", - tools=[ - GoogleSearchTool(bypass_multi_tools_limit=True), # Converted to function tool - get_current_weather, # Custom function tool - ], -) -``` +=== "Python" + + ```python + from google.adk.agents.llm_agent import Agent + from google.adk.models.google_llm import Gemini + from google.adk.tools.google_search_tool import GoogleSearchTool + + root_agent = Agent( + model=Gemini( + model="gemini-flash-latest", + use_interactions_api=True, # Enable Interactions API + ), + name="interactions_test_agent", + tools=[ + GoogleSearchTool(bypass_multi_tools_limit=True), # Converted to function tool + get_current_weather, # Custom function tool + ], + ) + ``` + +=== "Java" + + ```java + import com.google.adk.agents.LlmAgent; + import com.google.adk.models.Gemini; + import com.google.adk.tools.GoogleSearchTool; + + // Note: Interactions API support in Java ADK is currently under development. + LlmAgent rootAgent = LlmAgent.builder() + .model(Gemini.builder() + .modelName("gemini-flash-latest") + .build()) + .name("interactions_test_agent") + .tools( + GoogleSearchTool.INSTANCE, // Search tool + getCurrentWeather // Custom function tool + ) + .build(); + ``` For a complete code sample, see the [Interactions API sample](https://github.com/google/adk-python/tree/main/contributing/samples/interactions_api). @@ -273,15 +356,25 @@ For a complete code sample, see the The Interactions API **does not** support mixing custom function calling tools with built-in tools, such as the -[Google Search](/adk-docs/tools/built-in-tools/#google-search), +[Google Search](/integrations/google-search/), tool, within the same agent. You can work around this limitation by configuring the the built-in tool to operate as a custom tool using the `bypass_multi_tools_limit` parameter: -```python -# Use bypass_multi_tools_limit=True to convert google_search to a function tool -GoogleSearchTool(bypass_multi_tools_limit=True) -``` +=== "Python" + + ```python + # Use bypass_multi_tools_limit=True to convert google_search to a function tool + GoogleSearchTool(bypass_multi_tools_limit=True) + ``` + +=== "Java" + + ```java + // Note: bypassMultiToolsLimit is Python-specific. + // In Java, simply use the tool instance. + GoogleSearchTool.INSTANCE; + ``` In this example, this option converts the built-in google_search to a function calling tool (via GoogleSearchAgentTool), which allows it to work alongside diff --git a/docs/agents/models/google-gemma.md b/docs/agents/models/google-gemma.md new file mode 100644 index 0000000000..e65aaf6be0 --- /dev/null +++ b/docs/agents/models/google-gemma.md @@ -0,0 +1,316 @@ +# Google Gemma models for ADK agents + +
+ Supported in ADKPython v0.1.0 +
+ +ADK agents can use the [Google Gemma](https://ai.google.dev/gemma/docs) family of generative AI models that offer a +wide range of capabilities. ADK supports many Gemma features, +including [Tool Calling](/tools-custom/) +and [Structured Output](/agents/llm-agents/#structuring-data-input_schema-output_schema-output_key). + +You can use Gemma 4 through the [Gemini API](https://ai.google.dev/gemini-api/docs), +or with one of many self-hosting options on Google Cloud: +[Agent Platform](https://console.cloud.google.com/vertex-ai/publishers/google/model-garden/gemma4), +[Google Kubernetes Engine](https://docs.cloud.google.com/kubernetes-engine/docs/tutorials/serve-gemma-gpu-vllm), +[Cloud Run](https://docs.cloud.google.com/run/docs/run-gemma-on-cloud-run). + +## Gemini API Example + +Create an API key in [Google AI Studio](https://aistudio.google.com/app/apikey). + +=== "Python" + ```python + # Set GEMINI_API_KEY environment variable to your API key + # export GEMINI_API_KEY="YOUR_API_KEY" + + from google.adk.agents import LlmAgent + from google.adk.models import Gemini + + # Simple tool to try + def get_weather(location: str) -> str: + return f"Location: {location}. Weather: sunny, 76 degrees Fahrenheit, 8 mph wind." + + root_agent = LlmAgent( + model=Gemini(model="gemma-4-31b-it"), + name="weather_agent", + instruction="You are a helpful assistant that can provide current weather.", + tools=[get_weather] + ) + ``` + +=== "Java" + ```java + // Set GEMINI_API_KEY environment variable to your API key + // export GEMINI_API_KEY="YOUR_API_KEY" + + import com.google.adk.agents.LlmAgent; + import com.google.adk.tools.Annotations.Schema; + import com.google.adk.tools.FunctionTool; + + LlmAgent weatherAgent = LlmAgent.builder() + .model("gemma-4-31b-it") + .name("weather_agent") + .instruction(""" + You are a helpful assistant that can provide current weather. + """) + .tools(FunctionTool.create(this, "getWeather")] + .build(); + + @Schema(name = "getWeather", + description = "Retrieve the weather forecast for a given location") + public Map getWeather( + @Schema(name = "location", + description = "The location for the weather forecast") + String location) { + return Map.of("forecast", "Location: " + location + + ". Weather: sunny, 76 degrees Fahrenheit, 8 mph wind."); + } + ``` + +## vLLM Example + +To access Gemma 4 endpoints in these services, +you can use vLLM models through the [LiteLLM](/agents/models/litellm/) library for Python, +and through [LangChain4j](https://docs.langchain4j.dev/) for Java. + +The following example shows how to use a Gemma 4 vLLM endpoint with ADK agents. + +### Setup + +1. **Deploy Model:** Deploy your chosen model using + [Agent Platform](https://console.cloud.google.com/vertex-ai/publishers/google/model-garden/gemma4), + [Google Kubernetes Engine](https://docs.cloud.google.com/kubernetes-engine/docs/tutorials/serve-gemma-gpu-vllm), + or [Cloud Run](https://docs.cloud.google.com/run/docs/run-gemma-on-cloud-run), + and use its OpenAI-compatible API endpoint. + Note that the API base URL includes `/v1` (e.g., `https://your-vllm-endpoint.run.app/v1`). + * *Important for ADK Tools:* When deploying, ensure the serving tool + supports and enables compatible tool/function calling and reasoning parsers. +2. **Authentication:** Determine how your endpoint handles authentication (e.g., + API key, bearer token). + +### Code + +=== "Python" + ```python + import subprocess + from google.adk.agents import LlmAgent + from google.adk.models.lite_llm import LiteLlm + + # --- Example Agent using a model hosted on a vLLM endpoint --- + + # Endpoint URL provided by your model deployment + api_base_url = "https://your-vllm-endpoint.run.app/v1" + + # Model name as recognized by *your* vLLM endpoint configuration + model_name_at_endpoint = "openai/google/gemma-4-31B-it" + + # Simple tool to try + def get_weather(location: str) -> str: + return f"Location: {location}. Weather: sunny, 76 degrees Fahrenheit, 8 mph wind." + + # Authentication (Example: using gcloud identity token for a Cloud Run deployment) + # Adapt this based on your endpoint's security + try: + gcloud_token = subprocess.check_output( + ["gcloud", "auth", "print-identity-token", "-q"] + ).decode().strip() + auth_headers = {"Authorization": f"Bearer {gcloud_token}"} + except Exception as e: + print(f"Warning: Could not get gcloud token - {e}.") + auth_headers = None # Or handle error appropriately + + root_agent = LlmAgent( + model=LiteLlm( + model=model_name_at_endpoint, + api_base=api_base_url, + # Pass authentication headers if needed + extra_headers=auth_headers + # Alternatively, if endpoint uses an API key: + # api_key="YOUR_ENDPOINT_API_KEY", + extra_body={ + "chat_template_kwargs": { + "enable_thinking": True # Enable thinking + }, + "skip_special_tokens": False # Should be set to False + }, + ), + name="weather_agent", + instruction="You are a helpful assistant that can provide current weather.", + tools=[get_weather] # Tools! + ) + ``` + +=== "Java" + To use Gemma hosted on vLLM, you must use an OpenAI compatible library. + LangChain4j offers an OpenAI dependency that you can add to your `pom.xml`: + ```xml + + + com.google.adk + google-adk-langchain4j + ${adk.version} + + + + dev.langchain4j + langchain4j-core + ${langchain4j.version} + + + + dev.langchain4j + langchain4j-open-ai + ${langchain4j.version} + + ``` + + Create an OpenAI compatible chat model (streaming or non-streaming), + wrap it with the `LangChain4j` wrapper, + then pass it to the `LlmAgent`: + ```java + import com.google.adk.agents.LlmAgent; + import com.google.adk.tools.Annotations.Schema; + import com.google.adk.tools.FunctionTool; + import dev.langchain4j.model.chat.StreamingChatModel; + import dev.langchain4j.model.openai.OpenAiStreamingChatModel; + + // Endpoint URL provided by your model deployment + String apiBaseUrl = "https://your-vllm-endpoint.run.app/v1"; + + // Model name as recognized by *your* vLLM endpoint configuration + String gemmaModelName = "gg-hf-gg/gemma-4-31b-it"; + + // First, define an OpenAI compatible chat model with LangChain4j + StreamingChatModel model = + OpenAiStreamingChatModel.builder() + .modelName(gemmaModelName) + // If your endpoint requires an API key + // .apiKey("YOUR_ENDPOINT_API_KEY") + .baseUrl(apiBaseUrl) + .customParameters( + Map.of( + "skip_special_tokens", false, + "chat_template_kwargs", Map.of("enable_thinking", true) + ) + ) + .build(); + + // Configure the agent with the LangChain4j wrapper model + LlmAgent weatherAgent = LlmAgent.builder() + .model(new LangChain4j(model)) + .name("weather_agent") + .instruction(""" + You are a helpful assistant that can provide the current weather. + """) + .tools(FunctionTool.create(this, "getWeather")] + .build(); + + @Schema(name = "getWeather", + description = "Retrieve the weather forecast for a given location") + public Map getWeather( + @Schema(name = "location", + description = "The location for the weather forecast") + String location) { + return Map.of("forecast", "Location: " + location + + ". Weather: sunny, 76 degrees Fahrenheit, 8 mph wind."); + } + ``` + +## Build a food tour agent with Gemma 4, ADK, and Google Maps MCP +This sample shows how to build a personalized food tour agent using Gemma 4, ADK, and the Google Maps MCP server. The agent takes a user’s dish photo or text description, a location, and an optional budget, then recommends places to eat and organizes them into a walking route. + +### Prerequisites + +- Get an API key in [Google AI Studio](https://aistudio.google.com/app/apikey). + Set `GEMINI_API_KEY` environment variable to your Gemini API key. +- Enable [Google Maps API](https://console.cloud.google.com/maps-api/) on Google Cloud Console. +- Create a [Google Maps Platform API key](https://console.cloud.google.com/maps-api/credentials). + Set `MAPS_API_KEY` environment variable to your API key. +- Install ADK and configure it in your Python environment + or configure the Java dependencies in your Java project. + +### Project structure +```bash +food_tour_app/ +β”œβ”€β”€ __init__.py +└── agent.py +``` +**Full project can be found [here](https://github.com/google/adk-samples/tree/main/python/agents/gemma-food-tour-guide)** + +`agent.py` +```python +import os +import dotenv +from google.adk.agents import LlmAgent +from google.adk.models import Gemini +from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset +from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams + +dotenv.load_dotenv() + +system_instruction = """ +You are an expert personalized food tour guide. +Your goal is to build a culinary tour based on the user's inputs: a photo of a dish (or a text description), a location, and a budget. + +Follow these 4 rigorous steps: +1. **Identify the Cuisine/Dish:** Analyze the user's provided description or image URL to determine the primary cuisine or specific dish. +2. **Find the Best Spots:** Use the `search_places` tool to find highly rated restaurants, stalls, or cafes serving that cuisine/dish in the user's specified location. + **CRITICAL RULE FOR PLACES:** `search_places` returns AI-generated place data summaries along with `place_id`, latitude/longitude coordinates, and map links for each place, but may lack a direct, explicit name field. You must carefully associate each described place to its provided `place_id` or `lat_lng`. +3. **Build the Route:** Use the `compute_routes` tool to structure a walking-optimized route between the selected spots. + **CRITICAL ROUTING RULE:** To avoid hallucinating, you MUST provide the `origin` and `destination` using the exact `place_id` string OR `lat_lng` object returned by `search_places`. Do NOT guess or hallucinate an `address` or `place_id` if you do not know the exact name. +4. **Insider Tips:** Provide specific "order this, skip that" insider tips for each location on the tour. + +Structure your response clearly and concisely. If the user provides a budget, ensure your suggestions align with it. +""" + +MAPS_MCP_URL = "https://mapstools.googleapis.com/mcp" + +def get_maps_mcp_toolset(): + dotenv.load_dotenv() + maps_api_key = os.getenv("MAPS_API_KEY") + if not maps_api_key: + print("Warning: MAPS_API_KEY environment variable not found.") + maps_api_key = "no_api_found" + + tools = MCPToolset( + connection_params=StreamableHTTPConnectionParams( + url=MAPS_MCP_URL, + headers={ + "X-Goog-Api-Key": maps_api_key + } + ) + ) + print("Google Maps MCP Toolset configured.") + return tools + +maps_toolset = get_maps_mcp_toolset() + +root_agent = LlmAgent( + model=Gemini(model="gemma-4-31b-it"), + name="food_tour_agent", + instruction=system_instruction, + tools=[maps_toolset], +) +``` + +### Environment variables +Set the required environment variables before running the agent. +``` +export MAPS_API_KEY="YOUR_GOOGLE_MAPS_API_KEY" +export GEMINI_API_KEY="YOUR_GEMINI_API_KEY" +``` + +### Example usage +To test out the capabilities of the Food Tour Agent, try pasting one of these prompts into the chat: + +- *"I want to do a ramen tour in Toronto. My budget is $60 for the day. Give me a walking route for the top 3 spots and tell me what I should order at each."* +- *"I have this photo of a deep dish pizza [insert image URL]. I want to find the best places for this around Navy Pier in Chicago. Structure a walking tour and tell me what the must-have slice is at each stop."* +- *"I'm in Downtown Austin looking for an authentic BBQ tour. Let's keep the budget under $100. Build a walking route between 3 highly-rated spots and give me insider tips on the best cuts of meat to get."* + +The agent will: + +1. Infer the likely cuisine or dish style +2. Search for relevant places using Google Maps MCP tools +3. Compute a walking route between selected stops +4. Return a structured food tour with recommendations and insider tips diff --git a/docs/agents/models/index.md b/docs/agents/models/index.md index 8fc3549db1..2858bffa6f 100644 --- a/docs/agents/models/index.md +++ b/docs/agents/models/index.md @@ -9,24 +9,30 @@ integrate various Large Language Models (LLMs) into your agents. This section details how to leverage Gemini and integrate other popular models effectively, including those hosted externally or running locally. -ADK primarily uses two mechanisms for model integration: - -1. **Direct String / Registry:** For models tightly integrated with Google Cloud, - such as Gemini models accessed via Google AI Studio or Vertex AI, or models - hosted on Vertex AI endpoints. You access these models by providing the model name or endpoint resource string and ADK's internal registry - resolves this string to the appropriate backend client. - - * [Gemini models](/adk-docs/agents/models/google-gemini/) - * [Claude models](/adk-docs/agents/models/anthropic/) - * [Vertex AI hosted models](/adk-docs/agents/models/vertex/) - -2. **Model connectors:** For broader compatibility, especially models - outside the Google ecosystem or those requiring specific client - configurations, such as models accessed via Apigee or LiteLLM. You instantiate a specific wrapper class, such as `ApigeeLlm` or - `LiteLlm`, and pass this object as the `model` parameter - to your `LlmAgent`. - - * [Apigee models](/adk-docs/agents/models/apigee/) - * [LiteLLM models](/adk-docs/agents/models/litellm/) - * [Ollama model hosting](/adk-docs/agents/models/ollama/) - * [vLLM model hosting](/adk-docs/agents/models/vllm/) +ADK provides several mechanisms for model integration: + +1. **Direct String / Registry:** For models tightly integrated with Google + Cloud, such as Gemini models accessed via Google AI Studio or Agent Platform, + or models hosted on Agent Platform endpoints. You access these models by + providing the model name or endpoint resource string and ADK's internal + registry resolves this string to the appropriate backend client. + + * [Gemini models](/agents/models/google-gemini/) + * [Claude models](/agents/models/anthropic/) + * [Agent Platform hosted models](/agents/models/agent-platform/) + +2. **Model connectors:** For broader compatibility, especially models outside + the Google ecosystem or those requiring specific client configurations, such + as models accessed via Apigee or LiteLLM. You instantiate a specific wrapper + class, such as `ApigeeLlm` or `LiteLlm`, and pass this object as the `model` + parameter to your `LlmAgent`. + + * [Apigee models](/agents/models/apigee/) + * [LiteLLM models](/agents/models/litellm/) + * [Ollama model hosting](/agents/models/ollama/) + * [vLLM model hosting](/agents/models/vllm/) + * [LiteRT-LM model hosting](/agents/models/litert-lm/) + +3. **[Model routing](/agents/models/routing/):** For dynamically selecting + between multiple models at runtime using a router function, with automatic + failover on error. diff --git a/docs/agents/models/litellm.md b/docs/agents/models/litellm.md index bd97a438e7..17cdc8f990 100644 --- a/docs/agents/models/litellm.md +++ b/docs/agents/models/litellm.md @@ -4,11 +4,22 @@ Supported in ADKPython v0.1.0 +??? danger "ADK Python Security Advisory: LiteLLM supply chain compromise" + + Unauthorized code was identified in LiteLLM versions 1.82.7 and 1.82.8 on + PyPI on March 24, 2026. If you use ADK Python with the `eval` or + `extensions` extras, update to the latest version of ADK Python immediately. + If you installed or upgraded LiteLLM during this period, rotate all secrets + and credentials. For details and required actions, refer to the [ADK + security advisory](https://github.com/google/adk-python/issues/5005) and + [LiteLLM's Security Update: Suspected Supply Chain + Incident](https://docs.litellm.ai/blog/security-update-march-2026). + [LiteLLM](https://docs.litellm.ai/) is a Python library that acts as a translation layer for models and model hosting services, providing a standardized, OpenAI-compatible interface to over 100+ LLMs. ADK provides integration through the LiteLLM library, allowing you to access a vast range of -LLMs from providers like OpenAI, Anthropic (non-Vertex AI), Cohere, and many +LLMs from providers like OpenAI, Anthropic (non-Agent Platform), Cohere, and many others. You can run open-source models locally or self-host them and integrate them using LiteLLM for operational control, cost savings, privacy, or offline use cases. @@ -19,8 +30,8 @@ You can use the LiteLLM library to access remote or locally hosted AI models: as the `model` parameter of `LlmAgent`. * **Local model host:** Use the `LiteLlm` wrapper class configured to point to your local model server. For examples of local model hosting - solutions, see the [Ollama](/adk-docs/agents/models/ollama/) - or [vLLM](/adk-docs/agents/models/vllm/) documentation. + solutions, see the [Ollama](/agents/models/ollama/) + or [vLLM](/agents/models/vllm/) documentation. ??? warning "Windows Encoding with LiteLLM" @@ -54,7 +65,7 @@ You can use the LiteLLM library to access remote or locally hosted AI models: export OPENAI_API_KEY="YOUR_OPENAI_API_KEY" ``` - * *Example for Anthropic (non-Vertex AI):* + * *Example for Anthropic (non-Agent Platform):* ```shell export ANTHROPIC_API_KEY="YOUR_ANTHROPIC_API_KEY" diff --git a/docs/agents/models/litert-lm.md b/docs/agents/models/litert-lm.md new file mode 100644 index 0000000000..afeef83744 --- /dev/null +++ b/docs/agents/models/litert-lm.md @@ -0,0 +1,101 @@ +# LiteRT-LM model host for ADK agents + +
+ Supported in ADKPython v0.1.0 +
+ +[LiteRT-LM](https://github.com/google-ai-edge/LiteRT-LM) is a C++ library to +efficiently run language models across edge platforms. +On desktop (Linux, macOS, and Windows), ADK integrates with LiteRT-LM-hosted +models through the LiteRT-LM server launched by the LiteRT-LM CLI `lit`. + +## Get started + +LiteRT-LM works with the `Gemini` class. You only have to set the `base_url` and +`model` parameters. + +1. Set `base_url` to the LiteRT-LM server URL, for example: `localhost:8001`. +2. Set `model` to the LiteRT-LM model name, for example: `gemma3n-e2b`. + +```py +from google.adk.agents import Agent +from google.adk.models import Gemini + +root_agent = Agent( + model=Gemini( + model="gemma3n-e2b", + base_url="http://localhost:8001", + ), + name="dice_agent", + description=( + "hello world agent that can roll a die of 8 sides and check prime" + " numbers." + ), + instruction=""" + You roll dice and answer questions about the outcome of the dice rolls. + """, + tools=[ + roll_die, + check_prime, + ], +) +``` + +Then run the agent as usual: + +```bash +adk web +``` + +## Running the LiteRT-LM Server + +The LiteRT-LM server is a separate process that serves LiteRT-LM models. It is +started by the LiteRT-LM CLI tool `lit`. + +### Download the `lit` CLI tool + +Download the `lit` CLI tool by following these +[instructions](https://github.com/google-ai-edge/LiteRT-LM?tab=readme-ov-file#desktop-cli-lit) +in the LiteRT-LM GitHub repository. + +### Download a model + +Before you start the server, you need to download a model. You'll need a +*Hugging Face* user access token to download a LiteRT-LM model using `lit`. You +can get a token for your *Hugging Face* account +[here](https://huggingface.co/settings/tokens). + +To see a list of models available for download, use the `lit list` command: + +```bash +lit list --show_all +``` + +Download a model using the `lit pull` command: + +```bash +export HUGGING_FACE_HUB_TOKEN="**your Hugging Face token**" +lit pull gemma3n-e2b +``` + +### Run the server + +After downloading a model, start the LiteRT-LM server locally by running the +following command: + +```bash +lit serve --port 8001 +``` + +!!! tip "Local Server Port Number" + + You may choose any port number for the LiteRT-LM server as long as it matches the `base_url` you set in the `Gemini` class in your agent code. + +### Debugging + +To see incoming requests to the LiteRT-LM server and the exact input sent to the +model, use the `--verbose` flag: + +```bash +lit serve --port 8001 --verbose +``` diff --git a/docs/agents/models/ollama.md b/docs/agents/models/ollama.md index 89b3d7bee0..017560683f 100644 --- a/docs/agents/models/ollama.md +++ b/docs/agents/models/ollama.md @@ -6,7 +6,7 @@ [Ollama](https://ollama.com/) is a tool that allows you to host and run open-source models locally. ADK integrates with Ollama-hosted models through the -[LiteLLM](/adk-docs/agents/models/litellm/) model connector library. +[LiteLLM](/agents/models/litellm/) model connector library. ## Get started diff --git a/docs/agents/models/routing.md b/docs/agents/models/routing.md new file mode 100644 index 0000000000..4c51847bf6 --- /dev/null +++ b/docs/agents/models/routing.md @@ -0,0 +1,64 @@ +# Route between models + +
+ Supported in ADKTypeScript v1.0.0Experimental +
+ +!!! example "Experimental" + + Model routing is experimental and may change in future releases. We welcome + your + [feedback](https://github.com/google/adk-js/issues/new?template=feature_request.md)! + +An `LlmAgent` uses a single model by default. When you need to dynamically +select between different models for each request, you can define a routing +function that chooses which model to use. `RoutedLlm` provides this capability, +enabling model fallback on error, A/B testing between models, and auto-routing +by input complexity. If the selected model fails before producing any output, +the routing function is called again with error context so it can select a +different model. + +Pass a `RoutedLlm` as an `LlmAgent`'s `model` parameter. Use `RoutedLlm` when +only the model varies between routes. If you also need to switch instructions, +tools, or sub-agents, use [`RoutedAgent`](../routing.md) instead. + +## How routing works + +The `LlmRouter` function receives the map of available models and the current +`LlmRequest`, and returns the key of the model to use: + +=== "TypeScript" + + ```typescript + type LlmRouter = ( + models: Readonly>, + request: LlmRequest, + errorContext?: { failedKeys: ReadonlySet; lastError: unknown }, + ) => Promise | string | undefined; + ``` + +The `models` parameter accepts either a `Record` with explicit +keys, or an array of `BaseLlm` instances. If an array is provided, each model's +name is used as its key. + +Failover follows the same rules as +[`RoutedAgent`](../routing.md#how-routing-works): the router is re-called with +`errorContext` only if the selected model fails before yielding any response. +After yielding, errors propagate without retry. The router can return +`undefined` to stop retrying and propagate the last error. + +**Live connections:** `RoutedLlm.connect()` selects the model at connection +time. Once a live connection is established, the model cannot be switched +mid-stream. + +## Basic usage + +The following example creates a `RoutedLlm` that tries a primary model first and +falls back to a secondary model if the primary fails. The router checks +`errorContext.failedKeys` to avoid re-selecting the failed model: + +=== "TypeScript" + + ```typescript + --8<-- "examples/typescript/snippets/agents/models/routing/basic-usage.ts:full" + ``` diff --git a/docs/agents/models/vllm.md b/docs/agents/models/vllm.md index a43c63e23b..0a8c62cce8 100644 --- a/docs/agents/models/vllm.md +++ b/docs/agents/models/vllm.md @@ -6,7 +6,7 @@ Tools such as [vLLM](https://github.com/vllm-project/vllm) allow you to host models efficiently and serve them as an OpenAI-compatible API endpoint. You can -use vLLM models through the [LiteLLM](/adk-docs/agents/models/litellm/) library +use vLLM models through the [LiteLLM](/agents/models/litellm/) library for Python. ## Setup @@ -30,13 +30,13 @@ import subprocess from google.adk.agents import LlmAgent from google.adk.models.lite_llm import LiteLlm -# --- Example Agent using a model hosted on a vLLM endpoint --- +# --- Example Agent using a Gemma 4 model hosted on a vLLM endpoint --- # Endpoint URL provided by your vLLM deployment api_base_url = "https://your-vllm-endpoint.run.app/v1" # Model name as recognized by *your* vLLM endpoint configuration -model_name_at_endpoint = "hosted_vllm/google/gemma-3-4b-it" # Example from vllm_test.py +model_name_at_endpoint = "hosted_vllm/google/gemma-4-E4B-it" # Example from vllm_test.py # Authentication (Example: using gcloud identity token for a Cloud Run deployment) # Adapt this based on your endpoint's security @@ -53,8 +53,15 @@ agent_vllm = LlmAgent( model=LiteLlm( model=model_name_at_endpoint, api_base=api_base_url, + # This extra_body values specific to Gemma 4. + extra_body={ + "chat_template_kwargs": { + "enable_thinking": True # Enable thinking + }, + "skip_special_tokens": False # Should be set to False + }, # Pass authentication headers if needed - extra_headers=auth_headers + extra_headers=auth_headers, # Alternatively, if endpoint uses an API key: # api_key="YOUR_ENDPOINT_API_KEY" ), diff --git a/docs/agents/multi-agents.md b/docs/agents/multi-agents.md index 7bc29287f1..1e7fe13b1c 100644 --- a/docs/agents/multi-agents.md +++ b/docs/agents/multi-agents.md @@ -39,14 +39,14 @@ The foundation for structuring multi-agent systems is the parent-child relations # Define individual agents - greeter = LlmAgent(name="Greeter", model="gemini-2.0-flash") + greeter = LlmAgent(name="Greeter", model="gemini-flash-latest") task_doer = BaseAgent(name="TaskExecutor") # Custom non-LLM agent # Create parent agent and assign children via sub_agents coordinator = LlmAgent( name="Coordinator", - model="gemini-2.0-flash", + model="gemini-flash-latest", description="I coordinate greetings and tasks.", sub_agents=[ # Assign sub_agents here greeter, @@ -84,13 +84,13 @@ The foundation for structuring multi-agent systems is the parent-child relations } // Define individual agents - const greeter = new LlmAgent({name: 'Greeter', model: 'gemini-2.5-flash'}); + const greeter = new LlmAgent({name: 'Greeter', model: 'gemini-flash-latest'}); const taskDoer = new TaskExecutorAgent({name: 'TaskExecutor'}); // Custom non-LLM agent // Create parent agent and assign children via subAgents const coordinator = new LlmAgent({ name: 'Coordinator', - model: 'gemini-2.5-flash', + model: 'gemini-flash-latest', description: 'I coordinate greetings and tasks.', subAgents: [ // Assign subAgents here greeter, @@ -123,14 +123,14 @@ The foundation for structuring multi-agent systems is the parent-child relations // Define individual agents - LlmAgent greeter = LlmAgent.builder().name("Greeter").model("gemini-2.0-flash").build(); + LlmAgent greeter = LlmAgent.builder().name("Greeter").model("gemini-flash-latest").build(); SequentialAgent taskDoer = SequentialAgent.builder().name("TaskExecutor").subAgents(...).build(); // Sequential Agent // Create parent agent and assign sub_agents LlmAgent coordinator = LlmAgent.builder() .name("Coordinator") - .model("gemini-2.0-flash") + .model("gemini-flash-latest") .description("I coordinate greetings and tasks") .subAgents(greeter, taskDoer) // Assign sub_agents here .build(); @@ -397,7 +397,7 @@ Agents within a system often need to exchange data or trigger actions in one ano #### a) Shared Session State (`session.state`) -The most fundamental way for agents operating within the same invocation (and thus sharing the same [`Session`](/adk-docs/sessions/session/) object via the `InvocationContext`) to communicate passively. +The most fundamental way for agents operating within the same invocation (and thus sharing the same [`Session`](/sessions/session/) object via the `InvocationContext`) to communicate passively. * **Mechanism:** One agent (or its tool/callback) writes a value (`context.state['data_key'] = processed_data`), and a subsequent agent reads it (`data = context.state.get('data_key')`). State changes are tracked via [`CallbackContext`](../callbacks/index.md). * **Convenience:** The `output_key` property on [`LlmAgent`](llm-agents.md) automatically saves the agent's final response text (or structured output) to the specified state key. @@ -498,7 +498,7 @@ Leverages an [`LlmAgent`](llm-agents.md)'s understanding to dynamically route ta coordinator = LlmAgent( name="Coordinator", - model="gemini-2.0-flash", + model="gemini-flash-latest", instruction="You are an assistant. Delegate booking tasks to Booker and info requests to Info.", description="Main coordinator.", # AutoFlow is typically used implicitly here @@ -520,7 +520,7 @@ Leverages an [`LlmAgent`](llm-agents.md)'s understanding to dynamically route ta const coordinator = new LlmAgent({ name: 'Coordinator', - model: 'gemini-2.5-flash', + model: 'gemini-flash-latest', instruction: 'You are an assistant. Delegate booking tasks to Booker and info requests to Info.', description: 'Main coordinator.', // AutoFlow is typically used implicitly here @@ -563,7 +563,7 @@ Leverages an [`LlmAgent`](llm-agents.md)'s understanding to dynamically route ta // Define the coordinator agent LlmAgent coordinator = LlmAgent.builder() .name("Coordinator") - .model("gemini-2.0-flash") // Or your desired model + .model("gemini-flash-latest") // Or your desired model .instruction("You are an assistant. Delegate booking tasks to Booker and info requests to Info.") .description("Main coordinator.") // AutoFlow will be used by default (implicitly) because subAgents are present @@ -578,8 +578,8 @@ Leverages an [`LlmAgent`](llm-agents.md)'s understanding to dynamically route ta #### c) Explicit Invocation (`AgentTool`) -Allows an [`LlmAgent`](llm-agents.md) to treat another `BaseAgent` instance as a callable function or -[Tool](/adk-docs/tools-custom/). +Allows an [`LlmAgent`](llm-agents.md) to treat another `BaseAgent` instance as a callable function or +[Tool](/tools-custom/). * **Mechanism:** Wrap the target agent instance in `AgentTool` and include it in the parent `LlmAgent`'s `tools` list. `AgentTool` generates a corresponding function declaration for the LLM. * **Handling:** When the parent LLM generates a function call targeting the `AgentTool`, the framework executes `AgentTool.run_async`. This method runs the target agent, captures its final response, forwards any state/artifact changes back to the parent's context, and returns the response as the tool's result. @@ -614,7 +614,7 @@ Allows an [`LlmAgent`](llm-agents.md) to treat another `BaseAgent` instance as a # Parent agent uses the AgentTool artist_agent = LlmAgent( name="Artist", - model="gemini-2.0-flash", + model="gemini-flash-latest", instruction="Create a prompt and use the ImageGen tool to generate the image.", tools=[image_tool] # Include the AgentTool ) @@ -656,7 +656,7 @@ Allows an [`LlmAgent`](llm-agents.md) to treat another `BaseAgent` instance as a // Parent agent uses the AgentTool const artistAgent = new LlmAgent({ name: 'Artist', - model: 'gemini-2.5-flash', + model: 'gemini-flash-latest', instruction: 'Create a prompt and use the ImageGen tool to generate the image.', tools: [imageTool] // Include the AgentTool }); @@ -733,7 +733,7 @@ Allows an [`LlmAgent`](llm-agents.md) to treat another `BaseAgent` instance as a // Parent agent uses the AgentTool LlmAgent artistAgent = LlmAgent.builder() .name("Artist") - .model("gemini-2.0-flash") + .model("gemini-flash-latest") .instruction( "You are an artist. Create a detailed prompt for an image and then " + "use the 'ImageGen' tool to generate the image. " + @@ -779,7 +779,7 @@ By combining ADK's composition primitives, you can implement various established coordinator = LlmAgent( name="HelpDeskCoordinator", - model="gemini-2.0-flash", + model="gemini-flash-latest", instruction="Route user requests: Use Billing agent for payment issues, Support agent for technical problems.", description="Main help desk router.", # allow_transfer=True is often implicit with sub_agents in AutoFlow @@ -800,7 +800,7 @@ By combining ADK's composition primitives, you can implement various established const coordinator = new LlmAgent({ name: 'HelpDeskCoordinator', - model: 'gemini-2.5-flash', + model: 'gemini-flash-latest', instruction: 'Route user requests: Use Billing agent for payment issues, Support agent for technical problems.', description: 'Main help desk router.', // allowTransfer=true is often implicit with subAgents in AutoFlow @@ -839,7 +839,7 @@ By combining ADK's composition primitives, you can implement various established LlmAgent coordinator = LlmAgent.builder() .name("HelpDeskCoordinator") - .model("gemini-2.0-flash") + .model("gemini-flash-latest") .instruction("Route user requests: Use Billing agent for payment issues, Support agent for technical problems.") .description("Main help desk router.") .subAgents(billingAgent, supportAgent) @@ -1093,7 +1093,7 @@ By combining ADK's composition primitives, you can implement various established # Mid-level agent combining tools research_assistant = LlmAgent( name="ResearchAssistant", - model="gemini-2.0-flash", + model="gemini-flash-latest", description="Finds and summarizes information on a topic.", tools=[agent_tool.AgentTool(agent=web_searcher), agent_tool.AgentTool(agent=summarizer)] ) @@ -1102,7 +1102,7 @@ By combining ADK's composition primitives, you can implement various established # High-level agent delegating research report_writer = LlmAgent( name="ReportWriter", - model="gemini-2.0-flash", + model="gemini-flash-latest", instruction="Write a report on topic X. Use the ResearchAssistant to gather information.", tools=[agent_tool.AgentTool(agent=research_assistant)] # Alternatively, could use LLM Transfer if research_assistant is a sub_agent @@ -1126,7 +1126,7 @@ By combining ADK's composition primitives, you can implement various established // Mid-level agent combining tools const researchAssistant = new LlmAgent({ name: 'ResearchAssistant', - model: 'gemini-2.5-flash', + model: 'gemini-flash-latest', description: 'Finds and summarizes information on a topic.', tools: [new AgentTool({agent: webSearcher}), new AgentTool({agent: summarizer})] }); @@ -1134,7 +1134,7 @@ By combining ADK's composition primitives, you can implement various established // High-level agent delegating research const reportWriter = new LlmAgent({ name: 'ReportWriter', - model: 'gemini-2.5-flash', + model: 'gemini-flash-latest', instruction: 'Write a report on topic X. Use the ResearchAssistant to gather information.', tools: [new AgentTool({agent: researchAssistant})] // Alternatively, could use LLM Transfer if researchAssistant is a subAgent @@ -1181,7 +1181,7 @@ By combining ADK's composition primitives, you can implement various established // Mid-level agent combining tools LlmAgent researchAssistant = LlmAgent.builder() .name("ResearchAssistant") - .model("gemini-2.0-flash") + .model("gemini-flash-latest") .description("Finds and summarizes information on a topic.") .tools(AgentTool.create(webSearcher), AgentTool.create(summarizer)) .build(); @@ -1190,7 +1190,7 @@ By combining ADK's composition primitives, you can implement various established // High-level agent delegating research LlmAgent reportWriter = LlmAgent.builder() .name("ReportWriter") - .model("gemini-2.0-flash") + .model("gemini-flash-latest") .instruction("Write a report on topic X. Use the ResearchAssistant to gather information.") .tools(AgentTool.create(researchAssistant)) // Alternatively, could use LLM Transfer if research_assistant is a subAgent @@ -1696,7 +1696,7 @@ A conceptual example of using a `CustomPolicyEngine` to require user confirmatio ```typescript const rootAgent = new LlmAgent({ name: 'weather_time_agent', - model: 'gemini-2.5-flash', + model: 'gemini-flash-latest', description: 'Agent to answer questions about the time and weather in a city.', instruction: diff --git a/docs/agents/routing.md b/docs/agents/routing.md new file mode 100644 index 0000000000..67f8e3273c --- /dev/null +++ b/docs/agents/routing.md @@ -0,0 +1,126 @@ +# Route between agents + +
+ Supported in ADKTypeScript v1.0.0Experimental +
+ +!!! example "Experimental" + + Agent routing is experimental and may change in future releases. We welcome + your + [feedback](https://github.com/google/adk-js/issues/new?template=feature_request.md)! + +When building agents for different tasks, you can define a routing function that +selects which one handles each invocation at runtime. `RoutedAgent` provides +this capability, enabling agent fallback on error, A/B testing, planning modes, +and auto-routing by input complexity. If the selected agent fails before +producing any output, the routing function is called again with error context so +it can select a fallback. + +`RoutedAgent` is different from [workflow agents](workflow-agents/index.md) like +`SequentialAgent` or `ParallelAgent`, which orchestrate multiple agents in a +fixed pattern, and from [LLM-driven +delegation](multi-agents.md#b-llm-driven-delegation-agent-transfer), where the +LLM decides which agent to hand off to. With `RoutedAgent`, you write an +explicit routing function that selects **one** agent per invocation. For +model-level routing, see [Model routing](models/routing.md). + +## How routing works + +Both `RoutedAgent` and [`RoutedLlm`](models/routing.md) are powered by a shared +routing utility that handles selection and failover. + +The router function receives the map of available agents and the current +context, and returns the key of the agent to run. It can be synchronous or +async: + +=== "TypeScript" + + ```typescript + type AgentRouter = ( + agents: Readonly>, + context: InvocationContext, + errorContext?: { failedKeys: ReadonlySet; lastError: unknown }, + ) => Promise | string | undefined; + ``` + +**The `agents` parameter** accepts either a `Record` with +explicit keys, or an array of agents. If an array is provided, each agent's +`name` property is used as its key. + +**Failover behavior:** + +- The router is first called without `errorContext` to make the initial + selection. +- If the selected agent throws an error **before yielding any events**, the + router is called again with `errorContext` containing `failedKeys` and + `lastError`. +- If the selected agent throws an error **after yielding events**, the error + propagates directly without retry, because partial results have already been + emitted. +- A key that has already been tried cannot be re-selected. If the router returns + a previously failed key, the error propagates. +- If the router returns `undefined`, routing stops and the last error is thrown. + +## Basic usage + +Create multiple agents, define a router function that returns a key, and wrap +them in a `RoutedAgent`. The following example routes between two agents based +on an external configuration value that can change between invocations: + +=== "TypeScript" + + ```typescript + --8<-- "examples/typescript/snippets/agents/routing/basic-usage.ts:full" + ``` + +Change `config.selectedAgent` to `'agent_b'` before the next invocation to +route to a different agent. + +## Fallback on error + +When an agent fails, the router is called again with `errorContext` so it can +select a fallback. Failover only applies if the agent fails before yielding any +events (see [How routing works](#how-routing-works)). The following example +checks `errorContext.failedKeys` to avoid re-selecting the failed agent: + +=== "TypeScript" + + ```typescript + --8<-- "examples/typescript/snippets/agents/routing/fallback.ts:config" + ``` + +## Planning mode + +A router can read any external state to select between agents with different +instructions, models, and tools. This lets you implement a planning mode where +the agent switches behavior dynamically. For example, a basic agent might have +read and write tools, while a planning agent is restricted to read-only access +and uses a more powerful model for analysis. + +The following example shows a different `RoutedAgent` configuration. See [basic +usage](#basic-usage) for the full runner setup. + +=== "TypeScript" + + ```typescript + --8<-- "examples/typescript/snippets/agents/routing/planning-mode.ts:config" + ``` + +Set `planningMode = true` before an invocation to route to the planning agent +with its restricted tool set and different instructions. + +## Auto-routing by complexity + +The router function can call a lightweight classifier model to categorize input +and route to different agents accordingly. Because the router can be async, you +can make LLM calls inside it before selecting an agent. + +The following example shows a different `RoutedAgent` configuration. See [basic +usage](#basic-usage) for the full runner setup. + +=== "TypeScript" + + ```typescript + --8<-- "examples/typescript/snippets/agents/routing/auto-routing.ts:config" + ``` diff --git a/docs/api-reference/cli/_sources/index.rst.txt b/docs/api-reference/cli/_sources/index.rst.txt index 8edaf9d90d..99a05d1f5a 100644 --- a/docs/api-reference/cli/_sources/index.rst.txt +++ b/docs/api-reference/cli/_sources/index.rst.txt @@ -1,7 +1,7 @@ ADK CLI documentation ===================== -This page contains the auto-generated command-line reference for ADK 1.25.0. +This page contains the auto-generated command-line reference for ADK 1.32.0. .. contents:: :local: diff --git a/docs/api-reference/cli/_static/documentation_options.js b/docs/api-reference/cli/_static/documentation_options.js index 1077ce70c0..255a4578a8 100644 --- a/docs/api-reference/cli/_static/documentation_options.js +++ b/docs/api-reference/cli/_static/documentation_options.js @@ -1,5 +1,5 @@ const DOCUMENTATION_OPTIONS = { - VERSION: '1.25.0', + VERSION: '1.32.0', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/api-reference/cli/genindex.html b/docs/api-reference/cli/genindex.html index e7a6eed88f..ee7ce0275d 100644 --- a/docs/api-reference/cli/genindex.html +++ b/docs/api-reference/cli/genindex.html @@ -4,11 +4,11 @@ - Index — ADK CLI 1.25.0 documentation + Index — ADK CLI 1.32.0 documentation - + @@ -48,6 +48,7 @@

Index

| A | E | P + | S

Symbols

@@ -249,6 +250,8 @@

Symbols

  • adk-eval_set-add_eval_case command line option
  • adk-eval_set-create command line option +
  • +
  • adk-eval_set-generate_eval_cases command line option
  • adk-web command line option
  • @@ -293,8 +296,12 @@

    Symbols

  • adk-eval_set-add_eval_case command line option
  • adk-eval_set-create command line option +
  • +
  • adk-eval_set-generate_eval_cases command line option
  • adk-migrate-session command line option +
  • +
  • adk-optimize command line option
  • adk-web command line option
  • @@ -365,8 +372,6 @@

    Symbols

  • adk-deploy-agent_engine command line option
  • - - + + +
  • + --service_type + +
  • @@ -571,6 +601,13 @@

    Symbols

  • +
  • + --streaming-mode + +
  • @@ -597,6 +634,19 @@

    Symbols

  • adk-deploy-gke command line option
  • adk-web command line option +
  • + +
  • + --trigger_sources + +
  • @@ -621,6 +671,13 @@

    Symbols

  • adk-run command line option
  • adk-web command line option +
  • + +
  • + --user_simulation_config_file + +
  • @@ -729,6 +786,8 @@

    A

  • --session_service_uri
  • --trace_to_cloud +
  • +
  • --trigger_sources
  • --url_prefix
  • @@ -746,6 +805,8 @@

    A

  • @@ -757,6 +818,8 @@

    A

  • --mode
  • --report_dir +
  • +
  • --streaming-mode
  • PATHS
  • @@ -862,6 +925,8 @@

    A

  • --temp_folder
  • --trace_to_cloud +
  • +
  • --trigger_sources
  • --use_local_storage
  • @@ -899,12 +964,16 @@

    A

  • --region
  • --service_name +
  • +
  • --service_type
  • --session_service_uri
  • --temp_folder
  • --trace_to_cloud +
  • +
  • --trigger_sources
  • --use_local_storage
  • @@ -964,6 +1033,21 @@

    A

  • AGENT_MODULE_FILE_PATH
  • EVAL_SET_ID +
  • + +
  • + adk-eval_set-generate_eval_cases command line option + +
  • @@ -975,6 +1059,21 @@

    A

  • --log_level
  • --source_db_url +
  • + +
  • + adk-optimize command line option + +
  • @@ -1053,6 +1152,8 @@

    A

  • --session_service_uri
  • --trace_to_cloud +
  • +
  • --trigger_sources
  • --url_prefix
  • @@ -1087,6 +1188,10 @@

    A

  • adk-eval_set-add_eval_case command line option
  • adk-eval_set-create command line option +
  • +
  • adk-eval_set-generate_eval_cases command line option +
  • +
  • adk-optimize command line option
  • @@ -1118,8 +1223,6 @@

    E

  • adk-eval command line option
  • - - @@ -1147,6 +1252,19 @@

    P

    +

    S

    + + +
    + diff --git a/docs/api-reference/cli/index.html b/docs/api-reference/cli/index.html index 241a26c8a6..022a9304a3 100644 --- a/docs/api-reference/cli/index.html +++ b/docs/api-reference/cli/index.html @@ -5,11 +5,11 @@ - ADK CLI documentation — ADK CLI 1.25.0 documentation + ADK CLI documentation — ADK CLI 1.32.0 documentation - + @@ -43,7 +43,7 @@

    ADK CLI documentationΒΆ

    -

    This page contains the auto-generated command-line reference for ADK 1.25.0.

    +

    This page contains the auto-generated command-line reference for ADK 1.32.0.

    testΒΆ

    @@ -361,9 +374,11 @@

    test
    test_name/
    -
    spec.yaml # Test specification
    -
    generated-recordings.yaml # Recorded interactions (replay mode)
    -
    generated-session.yaml # Session data (replay mode)
    +
    spec.yaml # Test specification
    +
    generated-recordings.yaml # Recorded interactions (replay mode)
    +
    generated-session.yaml # Session data (replay mode)
    +
    generated-recordings-sse.yaml # Recorded SSE interactions (replay mode)
    +
    generated-session-sse.yaml # SSE Session data (replay mode)
    @@ -431,6 +446,16 @@

    test +
    +--streaming-mode <streaming_mode>ΒΆ
    +
    +
    Options:
    +

    None | sse | bidi

    +
    +
    +
    +

    Arguments

    @@ -497,9 +522,11 @@

    agent_engine
    --with_uiΒΆ
    -

    Optional. Deploy ADK Web UI if set. (default: deploy ADK API server only)

    +

    Optional. Deploy ADK Web UI if set. (default: deploy ADK API server only). WARNING: The web UI is for development and testing only β€” do not use in production.

    Default:

    False

    @@ -751,7 +778,7 @@

    cloud_run
    Default:
    -

    '1.25.0'

    +

    '1.31.0'

    @@ -767,6 +794,12 @@

    cloud_run +
    +--trigger_sources <trigger_sources>ΒΆ
    +

    Optional. Comma-separated list of trigger sources to enable (e.g., β€˜pubsub,eventarc’). Registers /trigger/* endpoints for batch and event-driven agent invocations.

    +
    +
    --allow_origins <allow_origins>ΒΆ
    @@ -934,7 +967,7 @@

    gke
    --with_uiΒΆ
    -

    Optional. Deploy ADK Web UI if set. (default: deploy ADK API server only)

    +

    Optional. Deploy ADK Web UI if set. (default: deploy ADK API server only). WARNING: The web UI is for development and testing only β€” do not use in production.

    Default:

    False

    @@ -953,6 +986,20 @@

    gke

    +
    +
    +--service_type <service_type>ΒΆ
    +

    Optional. The Kubernetes Service type for the deployed agent. ClusterIP (default) keeps the service cluster-internal; use LoadBalancer to expose a public IP.

    +
    +
    Default:
    +

    'ClusterIP'

    +
    +
    Options:
    +

    ClusterIP | LoadBalancer

    +
    +
    +
    +
    --temp_folder <temp_folder>ΒΆ
    @@ -965,11 +1012,17 @@

    gke

    Optional. The ADK version used in GKE deployment. (default: the version in the dev environment)

    Default:
    -

    '1.25.0'

    +

    '1.31.0'

    +
    +
    +--trigger_sources <trigger_sources>ΒΆ
    +

    Optional. Comma-separated list of trigger sources to enable (e.g., β€˜pubsub,eventarc’). Registers /trigger/* endpoints for batch and event-driven agent invocations.

    +
    +
    --session_service_uri <session_service_uri>ΒΆ
    @@ -1253,6 +1306,62 @@

    create +

    generate_eval_casesΒΆ

    +

    Generates eval cases dynamically and adds them to the given eval set.

    +

    Uses Vertex AI Eval SDK to generate conversation scenarios based on an +Agent’s info and definitions. It will automatically create the empty eval_set +if it has not been created in advance.

    +
    +
    Args:

    agent_module_file_path: The path to the agent module file. +eval_set_id: The id of the eval set to generate cases for. +user_simulation_config_file: The path to the user simulation config file. +eval_storage_uri: The eval storage uri. +log_level: The log level.

    +
    +
    +

    Usage

    +
    adk eval_set generate_eval_cases [OPTIONS] AGENT_MODULE_FILE_PATH EVAL_SET_ID
    +
    +
    +

    Options

    +
    +
    +--user_simulation_config_file <user_simulation_config_file>ΒΆ
    +

    Required A path to file containing JSON serialized UserScenarioGenerationConfig dict.

    +
    + +
    +
    +--eval_storage_uri <eval_storage_uri>ΒΆ
    +

    Optional. The evals storage URI to store agent evals, supported URIs: gs://<bucket name>.

    +
    + +
    +
    +--log_level <log_level>ΒΆ
    +

    Optional. Set the logging level

    +
    +
    Options:
    +

    DEBUG | INFO | WARNING | ERROR | CRITICAL

    +
    +
    +
    + +

    Arguments

    +
    +
    +AGENT_MODULE_FILE_PATHΒΆ
    +

    Required argument

    +
    + +
    +
    +EVAL_SET_IDΒΆ
    +

    Required argument

    +
    +

    @@ -1294,9 +1403,73 @@

    session +

    optimizeΒΆ

    +

    Optimizes the root agent instructions using the GEPA optimizer.

    +

    AGENT_MODULE_FILE_PATH: The path to the __init__.py file that contains a +module by the name β€œagent”. β€œagent” module contains a root_agent.

    +

    SAMPLER_CONFIG_FILE_PATH: The path to the config for the LocalEvalSampler, +which contains the eval config and the eval sets to use for training and +validation during optimization.

    +

    OPTIMIZER_CONFIG_FILE_PATH: Optional. The path to the config for the +GEPARootAgentPromptOptimizer. If not provided, the default config will be +used.

    +

    PRINT_DETAILED_RESULTS: Optional. Enables printing detailed results exposed by +the GEPA optimizer to the console.

    +

    LOG_LEVEL: Optional. Set the logging level.

    +

    Usage

    +
    adk optimize [OPTIONS] AGENT_MODULE_FILE_PATH
    +
    +
    +

    Options

    +
    +
    +--sampler_config_file_path <sampler_config_file_path>ΒΆ
    +

    Required The path to the local eval sampler config file.

    +
    + +
    +
    +--optimizer_config_file_path <optimizer_config_file_path>ΒΆ
    +

    Optional. The path to the GEPA optimizer config file. If not provided, the default config will be used.

    +
    + +
    +
    +--print_detailed_resultsΒΆ
    +

    Optional. Set to enable detailed printing of GEPA optimization results to the console.

    +
    +
    Default:
    +

    False

    +
    +
    +
    + +
    +
    +--log_level <log_level>ΒΆ
    +

    Optional. Set the logging level

    +
    +
    Default:
    +

    'INFO'

    +
    +
    Options:
    +

    DEBUG | INFO | WARNING | ERROR | CRITICAL

    +
    +
    +
    + +

    Arguments

    +
    +
    +AGENT_MODULE_FILE_PATHΒΆ
    +

    Required argument

    +
    +

    -

    runΒΆ

    +

    runΒΆ

    Runs an interactive CLI for a certain agent.

    AGENT: The path to the agent source code folder.

    Example:

    @@ -1422,7 +1595,7 @@

    run -

    webΒΆ

    +

    webΒΆ

    Starts a FastAPI server with Web UI for agents.

    AGENTS_DIR: The directory of agents, where each subdirectory is a single agent, containing at least __init__.py and agent.py files.

    @@ -1560,6 +1733,12 @@

    web +
    +--trigger_sources <trigger_sources>ΒΆ
    +

    Optional. Comma-separated list of trigger sources to enable (e.g., β€˜pubsub,eventarc’). Registers /apps/{app_name}/trigger/* endpoints for batch and event-driven agent invocations.

    +
    +
    --logo-text <logo_text>ΒΆ
    diff --git a/docs/api-reference/cli/objects.inv b/docs/api-reference/cli/objects.inv index 9332713a99..92e4c164b5 100644 Binary files a/docs/api-reference/cli/objects.inv and b/docs/api-reference/cli/objects.inv differ diff --git a/docs/api-reference/cli/search.html b/docs/api-reference/cli/search.html index 4288e94b17..ba5af45230 100644 --- a/docs/api-reference/cli/search.html +++ b/docs/api-reference/cli/search.html @@ -4,12 +4,12 @@ - Search — ADK CLI 1.25.0 documentation + Search — ADK CLI 1.32.0 documentation - + diff --git a/docs/api-reference/cli/searchindex.js b/docs/api-reference/cli/searchindex.js index 518e44e6ea..4f645a7419 100644 --- a/docs/api-reference/cli/searchindex.js +++ b/docs/api-reference/cli/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles":{"ADK CLI documentation":[[0,null]],"add_eval_case":[[0,"adk-eval-set-add-eval-case"]],"adk":[[0,"adk"]],"agent_engine":[[0,"adk-deploy-agent-engine"]],"api_server":[[0,"adk-api-server"]],"cloud_run":[[0,"adk-deploy-cloud-run"]],"conformance":[[0,"adk-conformance"]],"create":[[0,"adk-create"],[0,"adk-eval-set-create"]],"deploy":[[0,"adk-deploy"]],"eval":[[0,"adk-eval"]],"eval_set":[[0,"adk-eval-set"]],"gke":[[0,"adk-deploy-gke"]],"migrate":[[0,"adk-migrate"]],"record":[[0,"adk-conformance-record"]],"run":[[0,"adk-run"]],"session":[[0,"adk-migrate-session"]],"test":[[0,"adk-conformance-test"]],"web":[[0,"adk-web"]]},"docnames":["index"],"envversion":{"sphinx":66,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["index.rst"],"indexentries":{"--a2a":[[0,"cmdoption-adk-api_server-a2a",false],[0,"cmdoption-adk-deploy-cloud_run-a2a",false],[0,"cmdoption-adk-web-a2a",false]],"--absolutize_imports":[[0,"cmdoption-adk-deploy-agent_engine-absolutize_imports",false]],"--adk_app":[[0,"cmdoption-adk-deploy-agent_engine-adk_app",false]],"--adk_app_object":[[0,"cmdoption-adk-deploy-agent_engine-adk_app_object",false]],"--adk_version":[[0,"cmdoption-adk-deploy-cloud_run-adk_version",false],[0,"cmdoption-adk-deploy-gke-adk_version",false]],"--agent_engine_config_file":[[0,"cmdoption-adk-deploy-agent_engine-agent_engine_config_file",false]],"--agent_engine_id":[[0,"cmdoption-adk-deploy-agent_engine-agent_engine_id",false]],"--allow_origins":[[0,"cmdoption-adk-api_server-allow_origins",false],[0,"cmdoption-adk-deploy-cloud_run-allow_origins",false],[0,"cmdoption-adk-web-allow_origins",false]],"--api_key":[[0,"cmdoption-adk-create-api_key",false],[0,"cmdoption-adk-deploy-agent_engine-api_key",false]],"--app_name":[[0,"cmdoption-adk-deploy-cloud_run-app_name",false],[0,"cmdoption-adk-deploy-gke-app_name",false]],"--artifact_service_uri":[[0,"cmdoption-adk-api_server-artifact_service_uri",false],[0,"cmdoption-adk-deploy-cloud_run-artifact_service_uri",false],[0,"cmdoption-adk-deploy-gke-artifact_service_uri",false],[0,"cmdoption-adk-run-artifact_service_uri",false],[0,"cmdoption-adk-web-artifact_service_uri",false]],"--artifact_storage_uri":[[0,"cmdoption-adk-api_server-artifact_storage_uri",false],[0,"cmdoption-adk-deploy-cloud_run-artifact_storage_uri",false],[0,"cmdoption-adk-web-artifact_storage_uri",false]],"--auto_create_session":[[0,"cmdoption-adk-api_server-auto_create_session",false]],"--cluster_name":[[0,"cmdoption-adk-deploy-gke-cluster_name",false]],"--config_file_path":[[0,"cmdoption-adk-eval-config_file_path",false]],"--description":[[0,"cmdoption-adk-deploy-agent_engine-description",false]],"--dest_db_url":[[0,"cmdoption-adk-migrate-session-dest_db_url",false]],"--disable_features":[[0,"cmdoption-adk-api_server-disable_features",false],[0,"cmdoption-adk-eval-disable_features",false],[0,"cmdoption-adk-run-disable_features",false],[0,"cmdoption-adk-web-disable_features",false]],"--display_name":[[0,"cmdoption-adk-deploy-agent_engine-display_name",false]],"--enable_features":[[0,"cmdoption-adk-api_server-enable_features",false],[0,"cmdoption-adk-eval-enable_features",false],[0,"cmdoption-adk-run-enable_features",false],[0,"cmdoption-adk-web-enable_features",false]],"--env_file":[[0,"cmdoption-adk-deploy-agent_engine-env_file",false]],"--eval_storage_uri":[[0,"cmdoption-adk-api_server-eval_storage_uri",false],[0,"cmdoption-adk-eval-eval_storage_uri",false],[0,"cmdoption-adk-eval_set-add_eval_case-eval_storage_uri",false],[0,"cmdoption-adk-eval_set-create-eval_storage_uri",false],[0,"cmdoption-adk-web-eval_storage_uri",false]],"--extra_plugins":[[0,"cmdoption-adk-api_server-extra_plugins",false],[0,"cmdoption-adk-web-extra_plugins",false]],"--generate_report":[[0,"cmdoption-adk-conformance-test-generate_report",false]],"--host":[[0,"cmdoption-adk-api_server-host",false],[0,"cmdoption-adk-web-host",false]],"--log_level":[[0,"cmdoption-adk-api_server-log_level",false],[0,"cmdoption-adk-deploy-cloud_run-log_level",false],[0,"cmdoption-adk-deploy-gke-log_level",false],[0,"cmdoption-adk-eval-log_level",false],[0,"cmdoption-adk-eval_set-add_eval_case-log_level",false],[0,"cmdoption-adk-eval_set-create-log_level",false],[0,"cmdoption-adk-migrate-session-log_level",false],[0,"cmdoption-adk-web-log_level",false]],"--logo-image-url":[[0,"cmdoption-adk-web-logo-image-url",false]],"--logo-text":[[0,"cmdoption-adk-web-logo-text",false]],"--memory_service_uri":[[0,"cmdoption-adk-api_server-memory_service_uri",false],[0,"cmdoption-adk-deploy-cloud_run-memory_service_uri",false],[0,"cmdoption-adk-deploy-gke-memory_service_uri",false],[0,"cmdoption-adk-run-memory_service_uri",false],[0,"cmdoption-adk-web-memory_service_uri",false]],"--mode":[[0,"cmdoption-adk-conformance-test-mode",false]],"--model":[[0,"cmdoption-adk-create-model",false]],"--no-reload":[[0,"cmdoption-adk-api_server-reload",false],[0,"cmdoption-adk-web-reload",false]],"--no-trace_to_cloud":[[0,"cmdoption-adk-deploy-agent_engine-trace_to_cloud",false]],"--no-validate-agent-import":[[0,"cmdoption-adk-deploy-agent_engine-validate-agent-import",false]],"--no_use_local_storage":[[0,"cmdoption-adk-api_server-use_local_storage",false],[0,"cmdoption-adk-deploy-cloud_run-use_local_storage",false],[0,"cmdoption-adk-deploy-gke-use_local_storage",false],[0,"cmdoption-adk-run-use_local_storage",false],[0,"cmdoption-adk-web-use_local_storage",false]],"--otel_to_cloud":[[0,"cmdoption-adk-api_server-otel_to_cloud",false],[0,"cmdoption-adk-deploy-agent_engine-otel_to_cloud",false],[0,"cmdoption-adk-deploy-cloud_run-otel_to_cloud",false],[0,"cmdoption-adk-deploy-gke-otel_to_cloud",false],[0,"cmdoption-adk-web-otel_to_cloud",false]],"--port":[[0,"cmdoption-adk-api_server-port",false],[0,"cmdoption-adk-deploy-cloud_run-port",false],[0,"cmdoption-adk-deploy-gke-port",false],[0,"cmdoption-adk-web-port",false]],"--print_detailed_results":[[0,"cmdoption-adk-eval-print_detailed_results",false]],"--project":[[0,"cmdoption-adk-create-project",false],[0,"cmdoption-adk-deploy-agent_engine-project",false],[0,"cmdoption-adk-deploy-cloud_run-project",false],[0,"cmdoption-adk-deploy-gke-project",false]],"--region":[[0,"cmdoption-adk-create-region",false],[0,"cmdoption-adk-deploy-agent_engine-region",false],[0,"cmdoption-adk-deploy-cloud_run-region",false],[0,"cmdoption-adk-deploy-gke-region",false]],"--reload":[[0,"cmdoption-adk-api_server-reload",false],[0,"cmdoption-adk-web-reload",false]],"--reload_agents":[[0,"cmdoption-adk-api_server-reload_agents",false],[0,"cmdoption-adk-web-reload_agents",false]],"--replay":[[0,"cmdoption-adk-run-replay",false]],"--report_dir":[[0,"cmdoption-adk-conformance-test-report_dir",false]],"--requirements_file":[[0,"cmdoption-adk-deploy-agent_engine-requirements_file",false]],"--resume":[[0,"cmdoption-adk-run-resume",false]],"--save_session":[[0,"cmdoption-adk-run-save_session",false]],"--scenarios_file":[[0,"cmdoption-adk-eval_set-add_eval_case-scenarios_file",false]],"--service_name":[[0,"cmdoption-adk-deploy-cloud_run-service_name",false],[0,"cmdoption-adk-deploy-gke-service_name",false]],"--session_db_url":[[0,"cmdoption-adk-api_server-session_db_url",false],[0,"cmdoption-adk-deploy-cloud_run-session_db_url",false],[0,"cmdoption-adk-web-session_db_url",false]],"--session_id":[[0,"cmdoption-adk-run-session_id",false]],"--session_input_file":[[0,"cmdoption-adk-eval_set-add_eval_case-session_input_file",false]],"--session_service_uri":[[0,"cmdoption-adk-api_server-session_service_uri",false],[0,"cmdoption-adk-deploy-cloud_run-session_service_uri",false],[0,"cmdoption-adk-deploy-gke-session_service_uri",false],[0,"cmdoption-adk-run-session_service_uri",false],[0,"cmdoption-adk-web-session_service_uri",false]],"--skip-agent-import-validation":[[0,"cmdoption-adk-deploy-agent_engine-skip-agent-import-validation",false]],"--source_db_url":[[0,"cmdoption-adk-migrate-session-source_db_url",false]],"--staging_bucket":[[0,"cmdoption-adk-deploy-agent_engine-staging_bucket",false]],"--temp_folder":[[0,"cmdoption-adk-deploy-agent_engine-temp_folder",false],[0,"cmdoption-adk-deploy-cloud_run-temp_folder",false],[0,"cmdoption-adk-deploy-gke-temp_folder",false]],"--trace_to_cloud":[[0,"cmdoption-adk-api_server-trace_to_cloud",false],[0,"cmdoption-adk-deploy-agent_engine-trace_to_cloud",false],[0,"cmdoption-adk-deploy-cloud_run-trace_to_cloud",false],[0,"cmdoption-adk-deploy-gke-trace_to_cloud",false],[0,"cmdoption-adk-web-trace_to_cloud",false]],"--url_prefix":[[0,"cmdoption-adk-api_server-url_prefix",false],[0,"cmdoption-adk-web-url_prefix",false]],"--use_local_storage":[[0,"cmdoption-adk-api_server-use_local_storage",false],[0,"cmdoption-adk-deploy-cloud_run-use_local_storage",false],[0,"cmdoption-adk-deploy-gke-use_local_storage",false],[0,"cmdoption-adk-run-use_local_storage",false],[0,"cmdoption-adk-web-use_local_storage",false]],"--validate-agent-import":[[0,"cmdoption-adk-deploy-agent_engine-validate-agent-import",false]],"--verbose":[[0,"cmdoption-adk-api_server-v",false],[0,"cmdoption-adk-web-v",false]],"--verbosity":[[0,"cmdoption-adk-deploy-cloud_run-verbosity",false]],"--version":[[0,"cmdoption-adk-version",false]],"--with_ui":[[0,"cmdoption-adk-deploy-cloud_run-with_ui",false],[0,"cmdoption-adk-deploy-gke-with_ui",false]],"-v":[[0,"cmdoption-adk-api_server-v",false],[0,"cmdoption-adk-web-v",false]],"adk command line option":[[0,"cmdoption-adk-version",false]],"adk-api_server command line option":[[0,"cmdoption-adk-api_server-a2a",false],[0,"cmdoption-adk-api_server-allow_origins",false],[0,"cmdoption-adk-api_server-arg-AGENTS_DIR",false],[0,"cmdoption-adk-api_server-artifact_service_uri",false],[0,"cmdoption-adk-api_server-artifact_storage_uri",false],[0,"cmdoption-adk-api_server-auto_create_session",false],[0,"cmdoption-adk-api_server-disable_features",false],[0,"cmdoption-adk-api_server-enable_features",false],[0,"cmdoption-adk-api_server-eval_storage_uri",false],[0,"cmdoption-adk-api_server-extra_plugins",false],[0,"cmdoption-adk-api_server-host",false],[0,"cmdoption-adk-api_server-log_level",false],[0,"cmdoption-adk-api_server-memory_service_uri",false],[0,"cmdoption-adk-api_server-otel_to_cloud",false],[0,"cmdoption-adk-api_server-port",false],[0,"cmdoption-adk-api_server-reload",false],[0,"cmdoption-adk-api_server-reload_agents",false],[0,"cmdoption-adk-api_server-session_db_url",false],[0,"cmdoption-adk-api_server-session_service_uri",false],[0,"cmdoption-adk-api_server-trace_to_cloud",false],[0,"cmdoption-adk-api_server-url_prefix",false],[0,"cmdoption-adk-api_server-use_local_storage",false],[0,"cmdoption-adk-api_server-v",false]],"adk-conformance-record command line option":[[0,"cmdoption-adk-conformance-record-arg-PATHS",false]],"adk-conformance-test command line option":[[0,"cmdoption-adk-conformance-test-arg-PATHS",false],[0,"cmdoption-adk-conformance-test-generate_report",false],[0,"cmdoption-adk-conformance-test-mode",false],[0,"cmdoption-adk-conformance-test-report_dir",false]],"adk-create command line option":[[0,"cmdoption-adk-create-api_key",false],[0,"cmdoption-adk-create-arg-APP_NAME",false],[0,"cmdoption-adk-create-model",false],[0,"cmdoption-adk-create-project",false],[0,"cmdoption-adk-create-region",false]],"adk-deploy-agent_engine command line option":[[0,"cmdoption-adk-deploy-agent_engine-absolutize_imports",false],[0,"cmdoption-adk-deploy-agent_engine-adk_app",false],[0,"cmdoption-adk-deploy-agent_engine-adk_app_object",false],[0,"cmdoption-adk-deploy-agent_engine-agent_engine_config_file",false],[0,"cmdoption-adk-deploy-agent_engine-agent_engine_id",false],[0,"cmdoption-adk-deploy-agent_engine-api_key",false],[0,"cmdoption-adk-deploy-agent_engine-arg-AGENT",false],[0,"cmdoption-adk-deploy-agent_engine-description",false],[0,"cmdoption-adk-deploy-agent_engine-display_name",false],[0,"cmdoption-adk-deploy-agent_engine-env_file",false],[0,"cmdoption-adk-deploy-agent_engine-otel_to_cloud",false],[0,"cmdoption-adk-deploy-agent_engine-project",false],[0,"cmdoption-adk-deploy-agent_engine-region",false],[0,"cmdoption-adk-deploy-agent_engine-requirements_file",false],[0,"cmdoption-adk-deploy-agent_engine-skip-agent-import-validation",false],[0,"cmdoption-adk-deploy-agent_engine-staging_bucket",false],[0,"cmdoption-adk-deploy-agent_engine-temp_folder",false],[0,"cmdoption-adk-deploy-agent_engine-trace_to_cloud",false],[0,"cmdoption-adk-deploy-agent_engine-validate-agent-import",false]],"adk-deploy-cloud_run command line option":[[0,"cmdoption-adk-deploy-cloud_run-a2a",false],[0,"cmdoption-adk-deploy-cloud_run-adk_version",false],[0,"cmdoption-adk-deploy-cloud_run-allow_origins",false],[0,"cmdoption-adk-deploy-cloud_run-app_name",false],[0,"cmdoption-adk-deploy-cloud_run-arg-AGENT",false],[0,"cmdoption-adk-deploy-cloud_run-artifact_service_uri",false],[0,"cmdoption-adk-deploy-cloud_run-artifact_storage_uri",false],[0,"cmdoption-adk-deploy-cloud_run-log_level",false],[0,"cmdoption-adk-deploy-cloud_run-memory_service_uri",false],[0,"cmdoption-adk-deploy-cloud_run-otel_to_cloud",false],[0,"cmdoption-adk-deploy-cloud_run-port",false],[0,"cmdoption-adk-deploy-cloud_run-project",false],[0,"cmdoption-adk-deploy-cloud_run-region",false],[0,"cmdoption-adk-deploy-cloud_run-service_name",false],[0,"cmdoption-adk-deploy-cloud_run-session_db_url",false],[0,"cmdoption-adk-deploy-cloud_run-session_service_uri",false],[0,"cmdoption-adk-deploy-cloud_run-temp_folder",false],[0,"cmdoption-adk-deploy-cloud_run-trace_to_cloud",false],[0,"cmdoption-adk-deploy-cloud_run-use_local_storage",false],[0,"cmdoption-adk-deploy-cloud_run-verbosity",false],[0,"cmdoption-adk-deploy-cloud_run-with_ui",false]],"adk-deploy-gke command line option":[[0,"cmdoption-adk-deploy-gke-adk_version",false],[0,"cmdoption-adk-deploy-gke-app_name",false],[0,"cmdoption-adk-deploy-gke-arg-AGENT",false],[0,"cmdoption-adk-deploy-gke-artifact_service_uri",false],[0,"cmdoption-adk-deploy-gke-cluster_name",false],[0,"cmdoption-adk-deploy-gke-log_level",false],[0,"cmdoption-adk-deploy-gke-memory_service_uri",false],[0,"cmdoption-adk-deploy-gke-otel_to_cloud",false],[0,"cmdoption-adk-deploy-gke-port",false],[0,"cmdoption-adk-deploy-gke-project",false],[0,"cmdoption-adk-deploy-gke-region",false],[0,"cmdoption-adk-deploy-gke-service_name",false],[0,"cmdoption-adk-deploy-gke-session_service_uri",false],[0,"cmdoption-adk-deploy-gke-temp_folder",false],[0,"cmdoption-adk-deploy-gke-trace_to_cloud",false],[0,"cmdoption-adk-deploy-gke-use_local_storage",false],[0,"cmdoption-adk-deploy-gke-with_ui",false]],"adk-eval command line option":[[0,"cmdoption-adk-eval-arg-AGENT_MODULE_FILE_PATH",false],[0,"cmdoption-adk-eval-arg-EVAL_SET_FILE_PATH_OR_ID",false],[0,"cmdoption-adk-eval-config_file_path",false],[0,"cmdoption-adk-eval-disable_features",false],[0,"cmdoption-adk-eval-enable_features",false],[0,"cmdoption-adk-eval-eval_storage_uri",false],[0,"cmdoption-adk-eval-log_level",false],[0,"cmdoption-adk-eval-print_detailed_results",false]],"adk-eval_set-add_eval_case command line option":[[0,"cmdoption-adk-eval_set-add_eval_case-arg-AGENT_MODULE_FILE_PATH",false],[0,"cmdoption-adk-eval_set-add_eval_case-arg-EVAL_SET_ID",false],[0,"cmdoption-adk-eval_set-add_eval_case-eval_storage_uri",false],[0,"cmdoption-adk-eval_set-add_eval_case-log_level",false],[0,"cmdoption-adk-eval_set-add_eval_case-scenarios_file",false],[0,"cmdoption-adk-eval_set-add_eval_case-session_input_file",false]],"adk-eval_set-create command line option":[[0,"cmdoption-adk-eval_set-create-arg-AGENT_MODULE_FILE_PATH",false],[0,"cmdoption-adk-eval_set-create-arg-EVAL_SET_ID",false],[0,"cmdoption-adk-eval_set-create-eval_storage_uri",false],[0,"cmdoption-adk-eval_set-create-log_level",false]],"adk-migrate-session command line option":[[0,"cmdoption-adk-migrate-session-dest_db_url",false],[0,"cmdoption-adk-migrate-session-log_level",false],[0,"cmdoption-adk-migrate-session-source_db_url",false]],"adk-run command line option":[[0,"cmdoption-adk-run-arg-AGENT",false],[0,"cmdoption-adk-run-artifact_service_uri",false],[0,"cmdoption-adk-run-disable_features",false],[0,"cmdoption-adk-run-enable_features",false],[0,"cmdoption-adk-run-memory_service_uri",false],[0,"cmdoption-adk-run-replay",false],[0,"cmdoption-adk-run-resume",false],[0,"cmdoption-adk-run-save_session",false],[0,"cmdoption-adk-run-session_id",false],[0,"cmdoption-adk-run-session_service_uri",false],[0,"cmdoption-adk-run-use_local_storage",false]],"adk-web command line option":[[0,"cmdoption-adk-web-a2a",false],[0,"cmdoption-adk-web-allow_origins",false],[0,"cmdoption-adk-web-arg-AGENTS_DIR",false],[0,"cmdoption-adk-web-artifact_service_uri",false],[0,"cmdoption-adk-web-artifact_storage_uri",false],[0,"cmdoption-adk-web-disable_features",false],[0,"cmdoption-adk-web-enable_features",false],[0,"cmdoption-adk-web-eval_storage_uri",false],[0,"cmdoption-adk-web-extra_plugins",false],[0,"cmdoption-adk-web-host",false],[0,"cmdoption-adk-web-log_level",false],[0,"cmdoption-adk-web-logo-image-url",false],[0,"cmdoption-adk-web-logo-text",false],[0,"cmdoption-adk-web-memory_service_uri",false],[0,"cmdoption-adk-web-otel_to_cloud",false],[0,"cmdoption-adk-web-port",false],[0,"cmdoption-adk-web-reload",false],[0,"cmdoption-adk-web-reload_agents",false],[0,"cmdoption-adk-web-session_db_url",false],[0,"cmdoption-adk-web-session_service_uri",false],[0,"cmdoption-adk-web-trace_to_cloud",false],[0,"cmdoption-adk-web-url_prefix",false],[0,"cmdoption-adk-web-use_local_storage",false],[0,"cmdoption-adk-web-v",false]],"agent":[[0,"cmdoption-adk-deploy-agent_engine-arg-AGENT",false],[0,"cmdoption-adk-deploy-cloud_run-arg-AGENT",false],[0,"cmdoption-adk-deploy-gke-arg-AGENT",false],[0,"cmdoption-adk-run-arg-AGENT",false]],"agent_module_file_path":[[0,"cmdoption-adk-eval-arg-AGENT_MODULE_FILE_PATH",false],[0,"cmdoption-adk-eval_set-add_eval_case-arg-AGENT_MODULE_FILE_PATH",false],[0,"cmdoption-adk-eval_set-create-arg-AGENT_MODULE_FILE_PATH",false]],"agents_dir":[[0,"cmdoption-adk-api_server-arg-AGENTS_DIR",false],[0,"cmdoption-adk-web-arg-AGENTS_DIR",false]],"app_name":[[0,"cmdoption-adk-create-arg-APP_NAME",false]],"eval_set_file_path_or_id":[[0,"cmdoption-adk-eval-arg-EVAL_SET_FILE_PATH_OR_ID",false]],"eval_set_id":[[0,"cmdoption-adk-eval_set-add_eval_case-arg-EVAL_SET_ID",false],[0,"cmdoption-adk-eval_set-create-arg-EVAL_SET_ID",false]],"paths":[[0,"cmdoption-adk-conformance-record-arg-PATHS",false],[0,"cmdoption-adk-conformance-test-arg-PATHS",false]]},"objects":{"adk":[[0,0,1,"cmdoption-adk-version","--version"]],"adk-api_server":[[0,0,1,"cmdoption-adk-api_server-a2a","--a2a"],[0,0,1,"cmdoption-adk-api_server-allow_origins","--allow_origins"],[0,0,1,"cmdoption-adk-api_server-artifact_service_uri","--artifact_service_uri"],[0,0,1,"cmdoption-adk-api_server-artifact_storage_uri","--artifact_storage_uri"],[0,0,1,"cmdoption-adk-api_server-auto_create_session","--auto_create_session"],[0,0,1,"cmdoption-adk-api_server-disable_features","--disable_features"],[0,0,1,"cmdoption-adk-api_server-enable_features","--enable_features"],[0,0,1,"cmdoption-adk-api_server-eval_storage_uri","--eval_storage_uri"],[0,0,1,"cmdoption-adk-api_server-extra_plugins","--extra_plugins"],[0,0,1,"cmdoption-adk-api_server-host","--host"],[0,0,1,"cmdoption-adk-api_server-log_level","--log_level"],[0,0,1,"cmdoption-adk-api_server-memory_service_uri","--memory_service_uri"],[0,0,1,"cmdoption-adk-api_server-reload","--no-reload"],[0,0,1,"cmdoption-adk-api_server-use_local_storage","--no_use_local_storage"],[0,0,1,"cmdoption-adk-api_server-otel_to_cloud","--otel_to_cloud"],[0,0,1,"cmdoption-adk-api_server-port","--port"],[0,0,1,"cmdoption-adk-api_server-reload","--reload"],[0,0,1,"cmdoption-adk-api_server-reload_agents","--reload_agents"],[0,0,1,"cmdoption-adk-api_server-session_db_url","--session_db_url"],[0,0,1,"cmdoption-adk-api_server-session_service_uri","--session_service_uri"],[0,0,1,"cmdoption-adk-api_server-trace_to_cloud","--trace_to_cloud"],[0,0,1,"cmdoption-adk-api_server-url_prefix","--url_prefix"],[0,0,1,"cmdoption-adk-api_server-use_local_storage","--use_local_storage"],[0,0,1,"cmdoption-adk-api_server-v","--verbose"],[0,0,1,"cmdoption-adk-api_server-v","-v"],[0,0,1,"cmdoption-adk-api_server-arg-AGENTS_DIR","AGENTS_DIR"]],"adk-conformance-record":[[0,0,1,"cmdoption-adk-conformance-record-arg-PATHS","PATHS"]],"adk-conformance-test":[[0,0,1,"cmdoption-adk-conformance-test-generate_report","--generate_report"],[0,0,1,"cmdoption-adk-conformance-test-mode","--mode"],[0,0,1,"cmdoption-adk-conformance-test-report_dir","--report_dir"],[0,0,1,"cmdoption-adk-conformance-test-arg-PATHS","PATHS"]],"adk-create":[[0,0,1,"cmdoption-adk-create-api_key","--api_key"],[0,0,1,"cmdoption-adk-create-model","--model"],[0,0,1,"cmdoption-adk-create-project","--project"],[0,0,1,"cmdoption-adk-create-region","--region"],[0,0,1,"cmdoption-adk-create-arg-APP_NAME","APP_NAME"]],"adk-deploy-agent_engine":[[0,0,1,"cmdoption-adk-deploy-agent_engine-absolutize_imports","--absolutize_imports"],[0,0,1,"cmdoption-adk-deploy-agent_engine-adk_app","--adk_app"],[0,0,1,"cmdoption-adk-deploy-agent_engine-adk_app_object","--adk_app_object"],[0,0,1,"cmdoption-adk-deploy-agent_engine-agent_engine_config_file","--agent_engine_config_file"],[0,0,1,"cmdoption-adk-deploy-agent_engine-agent_engine_id","--agent_engine_id"],[0,0,1,"cmdoption-adk-deploy-agent_engine-api_key","--api_key"],[0,0,1,"cmdoption-adk-deploy-agent_engine-description","--description"],[0,0,1,"cmdoption-adk-deploy-agent_engine-display_name","--display_name"],[0,0,1,"cmdoption-adk-deploy-agent_engine-env_file","--env_file"],[0,0,1,"cmdoption-adk-deploy-agent_engine-trace_to_cloud","--no-trace_to_cloud"],[0,0,1,"cmdoption-adk-deploy-agent_engine-validate-agent-import","--no-validate-agent-import"],[0,0,1,"cmdoption-adk-deploy-agent_engine-otel_to_cloud","--otel_to_cloud"],[0,0,1,"cmdoption-adk-deploy-agent_engine-project","--project"],[0,0,1,"cmdoption-adk-deploy-agent_engine-region","--region"],[0,0,1,"cmdoption-adk-deploy-agent_engine-requirements_file","--requirements_file"],[0,0,1,"cmdoption-adk-deploy-agent_engine-skip-agent-import-validation","--skip-agent-import-validation"],[0,0,1,"cmdoption-adk-deploy-agent_engine-staging_bucket","--staging_bucket"],[0,0,1,"cmdoption-adk-deploy-agent_engine-temp_folder","--temp_folder"],[0,0,1,"cmdoption-adk-deploy-agent_engine-trace_to_cloud","--trace_to_cloud"],[0,0,1,"cmdoption-adk-deploy-agent_engine-validate-agent-import","--validate-agent-import"],[0,0,1,"cmdoption-adk-deploy-agent_engine-arg-AGENT","AGENT"]],"adk-deploy-cloud_run":[[0,0,1,"cmdoption-adk-deploy-cloud_run-a2a","--a2a"],[0,0,1,"cmdoption-adk-deploy-cloud_run-adk_version","--adk_version"],[0,0,1,"cmdoption-adk-deploy-cloud_run-allow_origins","--allow_origins"],[0,0,1,"cmdoption-adk-deploy-cloud_run-app_name","--app_name"],[0,0,1,"cmdoption-adk-deploy-cloud_run-artifact_service_uri","--artifact_service_uri"],[0,0,1,"cmdoption-adk-deploy-cloud_run-artifact_storage_uri","--artifact_storage_uri"],[0,0,1,"cmdoption-adk-deploy-cloud_run-log_level","--log_level"],[0,0,1,"cmdoption-adk-deploy-cloud_run-memory_service_uri","--memory_service_uri"],[0,0,1,"cmdoption-adk-deploy-cloud_run-use_local_storage","--no_use_local_storage"],[0,0,1,"cmdoption-adk-deploy-cloud_run-otel_to_cloud","--otel_to_cloud"],[0,0,1,"cmdoption-adk-deploy-cloud_run-port","--port"],[0,0,1,"cmdoption-adk-deploy-cloud_run-project","--project"],[0,0,1,"cmdoption-adk-deploy-cloud_run-region","--region"],[0,0,1,"cmdoption-adk-deploy-cloud_run-service_name","--service_name"],[0,0,1,"cmdoption-adk-deploy-cloud_run-session_db_url","--session_db_url"],[0,0,1,"cmdoption-adk-deploy-cloud_run-session_service_uri","--session_service_uri"],[0,0,1,"cmdoption-adk-deploy-cloud_run-temp_folder","--temp_folder"],[0,0,1,"cmdoption-adk-deploy-cloud_run-trace_to_cloud","--trace_to_cloud"],[0,0,1,"cmdoption-adk-deploy-cloud_run-use_local_storage","--use_local_storage"],[0,0,1,"cmdoption-adk-deploy-cloud_run-verbosity","--verbosity"],[0,0,1,"cmdoption-adk-deploy-cloud_run-with_ui","--with_ui"],[0,0,1,"cmdoption-adk-deploy-cloud_run-arg-AGENT","AGENT"]],"adk-deploy-gke":[[0,0,1,"cmdoption-adk-deploy-gke-adk_version","--adk_version"],[0,0,1,"cmdoption-adk-deploy-gke-app_name","--app_name"],[0,0,1,"cmdoption-adk-deploy-gke-artifact_service_uri","--artifact_service_uri"],[0,0,1,"cmdoption-adk-deploy-gke-cluster_name","--cluster_name"],[0,0,1,"cmdoption-adk-deploy-gke-log_level","--log_level"],[0,0,1,"cmdoption-adk-deploy-gke-memory_service_uri","--memory_service_uri"],[0,0,1,"cmdoption-adk-deploy-gke-use_local_storage","--no_use_local_storage"],[0,0,1,"cmdoption-adk-deploy-gke-otel_to_cloud","--otel_to_cloud"],[0,0,1,"cmdoption-adk-deploy-gke-port","--port"],[0,0,1,"cmdoption-adk-deploy-gke-project","--project"],[0,0,1,"cmdoption-adk-deploy-gke-region","--region"],[0,0,1,"cmdoption-adk-deploy-gke-service_name","--service_name"],[0,0,1,"cmdoption-adk-deploy-gke-session_service_uri","--session_service_uri"],[0,0,1,"cmdoption-adk-deploy-gke-temp_folder","--temp_folder"],[0,0,1,"cmdoption-adk-deploy-gke-trace_to_cloud","--trace_to_cloud"],[0,0,1,"cmdoption-adk-deploy-gke-use_local_storage","--use_local_storage"],[0,0,1,"cmdoption-adk-deploy-gke-with_ui","--with_ui"],[0,0,1,"cmdoption-adk-deploy-gke-arg-AGENT","AGENT"]],"adk-eval":[[0,0,1,"cmdoption-adk-eval-config_file_path","--config_file_path"],[0,0,1,"cmdoption-adk-eval-disable_features","--disable_features"],[0,0,1,"cmdoption-adk-eval-enable_features","--enable_features"],[0,0,1,"cmdoption-adk-eval-eval_storage_uri","--eval_storage_uri"],[0,0,1,"cmdoption-adk-eval-log_level","--log_level"],[0,0,1,"cmdoption-adk-eval-print_detailed_results","--print_detailed_results"],[0,0,1,"cmdoption-adk-eval-arg-AGENT_MODULE_FILE_PATH","AGENT_MODULE_FILE_PATH"],[0,0,1,"cmdoption-adk-eval-arg-EVAL_SET_FILE_PATH_OR_ID","EVAL_SET_FILE_PATH_OR_ID"]],"adk-eval_set-add_eval_case":[[0,0,1,"cmdoption-adk-eval_set-add_eval_case-eval_storage_uri","--eval_storage_uri"],[0,0,1,"cmdoption-adk-eval_set-add_eval_case-log_level","--log_level"],[0,0,1,"cmdoption-adk-eval_set-add_eval_case-scenarios_file","--scenarios_file"],[0,0,1,"cmdoption-adk-eval_set-add_eval_case-session_input_file","--session_input_file"],[0,0,1,"cmdoption-adk-eval_set-add_eval_case-arg-AGENT_MODULE_FILE_PATH","AGENT_MODULE_FILE_PATH"],[0,0,1,"cmdoption-adk-eval_set-add_eval_case-arg-EVAL_SET_ID","EVAL_SET_ID"]],"adk-eval_set-create":[[0,0,1,"cmdoption-adk-eval_set-create-eval_storage_uri","--eval_storage_uri"],[0,0,1,"cmdoption-adk-eval_set-create-log_level","--log_level"],[0,0,1,"cmdoption-adk-eval_set-create-arg-AGENT_MODULE_FILE_PATH","AGENT_MODULE_FILE_PATH"],[0,0,1,"cmdoption-adk-eval_set-create-arg-EVAL_SET_ID","EVAL_SET_ID"]],"adk-migrate-session":[[0,0,1,"cmdoption-adk-migrate-session-dest_db_url","--dest_db_url"],[0,0,1,"cmdoption-adk-migrate-session-log_level","--log_level"],[0,0,1,"cmdoption-adk-migrate-session-source_db_url","--source_db_url"]],"adk-run":[[0,0,1,"cmdoption-adk-run-artifact_service_uri","--artifact_service_uri"],[0,0,1,"cmdoption-adk-run-disable_features","--disable_features"],[0,0,1,"cmdoption-adk-run-enable_features","--enable_features"],[0,0,1,"cmdoption-adk-run-memory_service_uri","--memory_service_uri"],[0,0,1,"cmdoption-adk-run-use_local_storage","--no_use_local_storage"],[0,0,1,"cmdoption-adk-run-replay","--replay"],[0,0,1,"cmdoption-adk-run-resume","--resume"],[0,0,1,"cmdoption-adk-run-save_session","--save_session"],[0,0,1,"cmdoption-adk-run-session_id","--session_id"],[0,0,1,"cmdoption-adk-run-session_service_uri","--session_service_uri"],[0,0,1,"cmdoption-adk-run-use_local_storage","--use_local_storage"],[0,0,1,"cmdoption-adk-run-arg-AGENT","AGENT"]],"adk-web":[[0,0,1,"cmdoption-adk-web-a2a","--a2a"],[0,0,1,"cmdoption-adk-web-allow_origins","--allow_origins"],[0,0,1,"cmdoption-adk-web-artifact_service_uri","--artifact_service_uri"],[0,0,1,"cmdoption-adk-web-artifact_storage_uri","--artifact_storage_uri"],[0,0,1,"cmdoption-adk-web-disable_features","--disable_features"],[0,0,1,"cmdoption-adk-web-enable_features","--enable_features"],[0,0,1,"cmdoption-adk-web-eval_storage_uri","--eval_storage_uri"],[0,0,1,"cmdoption-adk-web-extra_plugins","--extra_plugins"],[0,0,1,"cmdoption-adk-web-host","--host"],[0,0,1,"cmdoption-adk-web-log_level","--log_level"],[0,0,1,"cmdoption-adk-web-logo-image-url","--logo-image-url"],[0,0,1,"cmdoption-adk-web-logo-text","--logo-text"],[0,0,1,"cmdoption-adk-web-memory_service_uri","--memory_service_uri"],[0,0,1,"cmdoption-adk-web-reload","--no-reload"],[0,0,1,"cmdoption-adk-web-use_local_storage","--no_use_local_storage"],[0,0,1,"cmdoption-adk-web-otel_to_cloud","--otel_to_cloud"],[0,0,1,"cmdoption-adk-web-port","--port"],[0,0,1,"cmdoption-adk-web-reload","--reload"],[0,0,1,"cmdoption-adk-web-reload_agents","--reload_agents"],[0,0,1,"cmdoption-adk-web-session_db_url","--session_db_url"],[0,0,1,"cmdoption-adk-web-session_service_uri","--session_service_uri"],[0,0,1,"cmdoption-adk-web-trace_to_cloud","--trace_to_cloud"],[0,0,1,"cmdoption-adk-web-url_prefix","--url_prefix"],[0,0,1,"cmdoption-adk-web-use_local_storage","--use_local_storage"],[0,0,1,"cmdoption-adk-web-v","--verbose"],[0,0,1,"cmdoption-adk-web-v","-v"],[0,0,1,"cmdoption-adk-web-arg-AGENTS_DIR","AGENTS_DIR"]]},"objnames":{"0":["std","cmdoption","program option"]},"objtypes":{"0":"std:cmdoption"},"terms":{"A":0,"And":0,"Cannot":0,"Each":0,"For":0,"If":0,"It":0,"Not":0,"The":0,"There":0,"This":0,"When":0,"With":0,"You":0,"__init__":0,"a2a":0,"abc":0,"absent":0,"absolutize_import":0,"access":0,"add":0,"adk_app":0,"adk_app_object":0,"adk_disable_local_storag":0,"adk_force_local_storag":0,"adk_vers":0,"agent":0,"agent_engine_app":0,"agent_engine_config":0,"agent_engine_config_fil":0,"agent_engine_id":0,"agent_module_file_path":0,"agentengin":0,"agents_dir":0,"ai":0,"allow":0,"allow_origin":0,"alreadi":0,"altern":0,"ani":0,"api":0,"api_key":0,"app":0,"app_nam":0,"applic":0,"arg":0,"argument":0,"artifact":0,"artifact_service_uri":0,"artifact_storage_uri":0,"auto":0,"auto_create_sess":0,"automat":0,"avail":0,"back":0,"backend":0,"base":0,"befor":0,"behavior":0,"behind":0,"bind":0,"bucket":0,"bucket_nam":0,"call":0,"can":0,"case":0,"categori":0,"central1":0,"certain":0,"chang":0,"choos":0,"class":0,"cloud":0,"cluster":0,"cluster_nam":0,"code":0,"com":0,"combin":0,"comma":0,"command":0,"common":0,"compar":0,"config":0,"config_file_path":0,"connect":0,"consist":0,"consol":0,"contain":0,"content":0,"continu":0,"convers":0,"conversationscenario":0,"cor":0,"core":0,"correct":0,"correspond":0,"critic":0,"current":0,"custom":0,"data":0,"databas":0,"db":0,"debug":0,"default":0,"defin":0,"demarc":0,"depend":0,"deprec":0,"descript":0,"description_001":0,"dest":0,"dest_db_url":0,"destin":0,"detail":0,"dev":0,"develop":0,"direct":0,"directori":0,"disabl":0,"disable_featur":0,"display":0,"display_nam":0,"doc":0,"doesn":0,"e":0,"either":0,"empti":0,"en":0,"enabl":0,"enable_featur":0,"endpoint":0,"engin":0,"ensur":0,"enter":0,"env":0,"env_fil":0,"environ":0,"error":0,"eval_1":0,"eval_2":0,"eval_3":0,"eval_4":0,"eval_5":0,"eval_set_file_path_or_id":0,"eval_set_id":0,"eval_storage_uri":0,"evalset":0,"evalu":0,"exact":0,"exampl":0,"execut":0,"exist":0,"exit":0,"expect":0,"experiment":0,"explicit":0,"export":0,"express":0,"extra":0,"extra_plugin":0,"fall":0,"fals":0,"fastapi":0,"featur":0,"file":0,"filepath":0,"first":0,"flag":0,"folder":0,"follow":0,"forc":0,"format":0,"full":0,"futur":0,"g":0,"gateway":0,"gcloud":0,"gcp":0,"gcs":0,"generat":0,"generate_report":0,"given":0,"googl":0,"google_api_key":0,"google_cloud_loc":0,"google_cloud_project":0,"google_genai_use_vertexai":0,"gs":0,"host":0,"html":0,"https":0,"id":0,"ignor":0,"imag":0,"implement":0,"import":0,"info":0,"initi":0,"input":0,"instanc":0,"instead":0,"interact":0,"isn":0,"json":0,"json_schema_for_func_decl":0,"key":0,"kit":0,"kubernet":0,"later":0,"latest":0,"least":0,"level":0,"line":0,"list":0,"liter":0,"live":0,"llm":0,"local":0,"locat":0,"log":0,"log_level":0,"logo":0,"logo_image_url":0,"logo_text":0,"longer":0,"manag":0,"markdown":0,"match":0,"mean":0,"memori":0,"memory_service_uri":0,"method":0,"min":0,"mix":0,"mode":0,"model":0,"modul":0,"mount":0,"multipl":0,"must":0,"my_ag":0,"my_app":0,"my_plugin_inst":0,"mypluginclass":0,"name":0,"need":0,"new":0,"newli":0,"no_use_local_storag":0,"none":0,"note":0,"now":0,"number":0,"object":0,"observ":0,"one":0,"onli":0,"opentelemetri":0,"option":0,"org":0,"origin":0,"otel":0,"otel_to_cloud":0,"output":0,"overrid":0,"overridden":0,"page":0,"path":0,"path_to_sqlite_fil":0,"pattern":0,"plugin":0,"port":0,"pre":0,"prefix":0,"prepopul":0,"previous":0,"print":0,"print_detailed_result":0,"produc":0,"progress":0,"progressive_sse_stream":0,"project":0,"prompt":0,"provid":0,"proxi":0,"py":0,"python":0,"qualifi":0,"queri":0,"rag":0,"rag_corpus_id":0,"re":0,"read":0,"reasoningengin":0,"redirect":0,"refer":0,"regex":0,"region":0,"reload":0,"reload_ag":0,"remov":0,"replay":0,"report":0,"report_dir":0,"request":0,"requir":0,"requirements_fil":0,"resourc":0,"respons":0,"result":0,"resum":0,"revers":0,"root":0,"root_ag":0,"s":0,"sample_eval_set_fil":0,"sample_eval_set_id":0,"save":0,"save_sess":0,"scenario":0,"scenarios_fil":0,"schema":0,"search":0,"see":0,"separ":0,"serial":0,"serv":0,"server":0,"servic":0,"service_nam":0,"session_db_url":0,"session_id":0,"session_input_fil":0,"session_service_uri":0,"sessioninput":0,"set":0,"sever":0,"shortcut":0,"show":0,"singl":0,"skip":0,"sourc":0,"source_db_url":0,"spec":0,"specif":0,"specifi":0,"sqlalchemi":0,"sqlite":0,"staging_bucket":0,"start":0,"state":0,"storag":0,"store":0,"structur":0,"subdirectori":0,"suffix":0,"support":0,"system":0,"t":0,"telemetri":0,"temp":0,"temp_fold":0,"templat":0,"test_nam":0,"testcas":0,"testcaseinput":0,"text":0,"timestamp":0,"tool":0,"trace":0,"trace_to_cloud":0,"true":0,"txt":0,"ui":0,"unauthent":0,"unless":0,"unset":0,"updat":0,"uri":0,"url":0,"url_prefix":0,"us":0,"usag":0,"use":0,"use_local_storag":0,"user":0,"v":0,"v1":0,"valid":0,"valu":0,"variabl":0,"verbos":0,"verif":0,"verifi":0,"version":0,"vertex":0,"vertexai":0,"want":0,"warn":0,"way":0,"whether":0,"will":0,"with_ui":0,"work":0,"writabl":0,"write":0,"yaml":0,"yet":0},"titles":["ADK CLI documentation"],"titleterms":{"add_eval_cas":0,"adk":0,"agent_engin":0,"api_serv":0,"cli":0,"cloud_run":0,"conform":0,"creat":0,"deploy":0,"document":0,"eval":0,"eval_set":0,"gke":0,"migrat":0,"record":0,"run":0,"session":0,"test":0,"web":0}}) \ No newline at end of file +Search.setIndex({"alltitles":{"ADK CLI documentation":[[0,null]],"add_eval_case":[[0,"adk-eval-set-add-eval-case"]],"adk":[[0,"adk"]],"agent_engine":[[0,"adk-deploy-agent-engine"]],"api_server":[[0,"adk-api-server"]],"cloud_run":[[0,"adk-deploy-cloud-run"]],"conformance":[[0,"adk-conformance"]],"create":[[0,"adk-create"],[0,"adk-eval-set-create"]],"deploy":[[0,"adk-deploy"]],"eval":[[0,"adk-eval"]],"eval_set":[[0,"adk-eval-set"]],"generate_eval_cases":[[0,"adk-eval-set-generate-eval-cases"]],"gke":[[0,"adk-deploy-gke"]],"migrate":[[0,"adk-migrate"]],"optimize":[[0,"adk-optimize"]],"record":[[0,"adk-conformance-record"]],"run":[[0,"adk-run"]],"session":[[0,"adk-migrate-session"]],"test":[[0,"adk-conformance-test"]],"web":[[0,"adk-web"]]},"docnames":["index"],"envversion":{"sphinx":66,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["index.rst"],"indexentries":{"--a2a":[[0,"cmdoption-adk-api_server-a2a",false],[0,"cmdoption-adk-deploy-cloud_run-a2a",false],[0,"cmdoption-adk-web-a2a",false]],"--absolutize_imports":[[0,"cmdoption-adk-deploy-agent_engine-absolutize_imports",false]],"--adk_app":[[0,"cmdoption-adk-deploy-agent_engine-adk_app",false]],"--adk_app_object":[[0,"cmdoption-adk-deploy-agent_engine-adk_app_object",false]],"--adk_version":[[0,"cmdoption-adk-deploy-cloud_run-adk_version",false],[0,"cmdoption-adk-deploy-gke-adk_version",false]],"--agent_engine_config_file":[[0,"cmdoption-adk-deploy-agent_engine-agent_engine_config_file",false]],"--agent_engine_id":[[0,"cmdoption-adk-deploy-agent_engine-agent_engine_id",false]],"--allow_origins":[[0,"cmdoption-adk-api_server-allow_origins",false],[0,"cmdoption-adk-deploy-cloud_run-allow_origins",false],[0,"cmdoption-adk-web-allow_origins",false]],"--api_key":[[0,"cmdoption-adk-create-api_key",false],[0,"cmdoption-adk-deploy-agent_engine-api_key",false]],"--app_name":[[0,"cmdoption-adk-deploy-cloud_run-app_name",false],[0,"cmdoption-adk-deploy-gke-app_name",false]],"--artifact_service_uri":[[0,"cmdoption-adk-api_server-artifact_service_uri",false],[0,"cmdoption-adk-deploy-cloud_run-artifact_service_uri",false],[0,"cmdoption-adk-deploy-gke-artifact_service_uri",false],[0,"cmdoption-adk-run-artifact_service_uri",false],[0,"cmdoption-adk-web-artifact_service_uri",false]],"--artifact_storage_uri":[[0,"cmdoption-adk-api_server-artifact_storage_uri",false],[0,"cmdoption-adk-deploy-cloud_run-artifact_storage_uri",false],[0,"cmdoption-adk-web-artifact_storage_uri",false]],"--auto_create_session":[[0,"cmdoption-adk-api_server-auto_create_session",false]],"--cluster_name":[[0,"cmdoption-adk-deploy-gke-cluster_name",false]],"--config_file_path":[[0,"cmdoption-adk-eval-config_file_path",false]],"--description":[[0,"cmdoption-adk-deploy-agent_engine-description",false]],"--dest_db_url":[[0,"cmdoption-adk-migrate-session-dest_db_url",false]],"--disable_features":[[0,"cmdoption-adk-api_server-disable_features",false],[0,"cmdoption-adk-eval-disable_features",false],[0,"cmdoption-adk-run-disable_features",false],[0,"cmdoption-adk-web-disable_features",false]],"--display_name":[[0,"cmdoption-adk-deploy-agent_engine-display_name",false]],"--enable_features":[[0,"cmdoption-adk-api_server-enable_features",false],[0,"cmdoption-adk-eval-enable_features",false],[0,"cmdoption-adk-run-enable_features",false],[0,"cmdoption-adk-web-enable_features",false]],"--env_file":[[0,"cmdoption-adk-deploy-agent_engine-env_file",false]],"--eval_storage_uri":[[0,"cmdoption-adk-api_server-eval_storage_uri",false],[0,"cmdoption-adk-eval-eval_storage_uri",false],[0,"cmdoption-adk-eval_set-add_eval_case-eval_storage_uri",false],[0,"cmdoption-adk-eval_set-create-eval_storage_uri",false],[0,"cmdoption-adk-eval_set-generate_eval_cases-eval_storage_uri",false],[0,"cmdoption-adk-web-eval_storage_uri",false]],"--extra_plugins":[[0,"cmdoption-adk-api_server-extra_plugins",false],[0,"cmdoption-adk-web-extra_plugins",false]],"--generate_report":[[0,"cmdoption-adk-conformance-test-generate_report",false]],"--host":[[0,"cmdoption-adk-api_server-host",false],[0,"cmdoption-adk-web-host",false]],"--log_level":[[0,"cmdoption-adk-api_server-log_level",false],[0,"cmdoption-adk-deploy-cloud_run-log_level",false],[0,"cmdoption-adk-deploy-gke-log_level",false],[0,"cmdoption-adk-eval-log_level",false],[0,"cmdoption-adk-eval_set-add_eval_case-log_level",false],[0,"cmdoption-adk-eval_set-create-log_level",false],[0,"cmdoption-adk-eval_set-generate_eval_cases-log_level",false],[0,"cmdoption-adk-migrate-session-log_level",false],[0,"cmdoption-adk-optimize-log_level",false],[0,"cmdoption-adk-web-log_level",false]],"--logo-image-url":[[0,"cmdoption-adk-web-logo-image-url",false]],"--logo-text":[[0,"cmdoption-adk-web-logo-text",false]],"--memory_service_uri":[[0,"cmdoption-adk-api_server-memory_service_uri",false],[0,"cmdoption-adk-deploy-cloud_run-memory_service_uri",false],[0,"cmdoption-adk-deploy-gke-memory_service_uri",false],[0,"cmdoption-adk-run-memory_service_uri",false],[0,"cmdoption-adk-web-memory_service_uri",false]],"--mode":[[0,"cmdoption-adk-conformance-test-mode",false]],"--model":[[0,"cmdoption-adk-create-model",false]],"--no-reload":[[0,"cmdoption-adk-api_server-reload",false],[0,"cmdoption-adk-web-reload",false]],"--no-trace_to_cloud":[[0,"cmdoption-adk-deploy-agent_engine-trace_to_cloud",false]],"--no-validate-agent-import":[[0,"cmdoption-adk-deploy-agent_engine-validate-agent-import",false]],"--no_use_local_storage":[[0,"cmdoption-adk-api_server-use_local_storage",false],[0,"cmdoption-adk-deploy-cloud_run-use_local_storage",false],[0,"cmdoption-adk-deploy-gke-use_local_storage",false],[0,"cmdoption-adk-run-use_local_storage",false],[0,"cmdoption-adk-web-use_local_storage",false]],"--optimizer_config_file_path":[[0,"cmdoption-adk-optimize-optimizer_config_file_path",false]],"--otel_to_cloud":[[0,"cmdoption-adk-api_server-otel_to_cloud",false],[0,"cmdoption-adk-deploy-agent_engine-otel_to_cloud",false],[0,"cmdoption-adk-deploy-cloud_run-otel_to_cloud",false],[0,"cmdoption-adk-deploy-gke-otel_to_cloud",false],[0,"cmdoption-adk-web-otel_to_cloud",false]],"--port":[[0,"cmdoption-adk-api_server-port",false],[0,"cmdoption-adk-deploy-cloud_run-port",false],[0,"cmdoption-adk-deploy-gke-port",false],[0,"cmdoption-adk-web-port",false]],"--print_detailed_results":[[0,"cmdoption-adk-eval-print_detailed_results",false],[0,"cmdoption-adk-optimize-print_detailed_results",false]],"--project":[[0,"cmdoption-adk-create-project",false],[0,"cmdoption-adk-deploy-agent_engine-project",false],[0,"cmdoption-adk-deploy-cloud_run-project",false],[0,"cmdoption-adk-deploy-gke-project",false]],"--region":[[0,"cmdoption-adk-create-region",false],[0,"cmdoption-adk-deploy-agent_engine-region",false],[0,"cmdoption-adk-deploy-cloud_run-region",false],[0,"cmdoption-adk-deploy-gke-region",false]],"--reload":[[0,"cmdoption-adk-api_server-reload",false],[0,"cmdoption-adk-web-reload",false]],"--reload_agents":[[0,"cmdoption-adk-api_server-reload_agents",false],[0,"cmdoption-adk-web-reload_agents",false]],"--replay":[[0,"cmdoption-adk-run-replay",false]],"--report_dir":[[0,"cmdoption-adk-conformance-test-report_dir",false]],"--requirements_file":[[0,"cmdoption-adk-deploy-agent_engine-requirements_file",false]],"--resume":[[0,"cmdoption-adk-run-resume",false]],"--sampler_config_file_path":[[0,"cmdoption-adk-optimize-sampler_config_file_path",false]],"--save_session":[[0,"cmdoption-adk-run-save_session",false]],"--scenarios_file":[[0,"cmdoption-adk-eval_set-add_eval_case-scenarios_file",false]],"--service_name":[[0,"cmdoption-adk-deploy-cloud_run-service_name",false],[0,"cmdoption-adk-deploy-gke-service_name",false]],"--service_type":[[0,"cmdoption-adk-deploy-gke-service_type",false]],"--session_db_url":[[0,"cmdoption-adk-api_server-session_db_url",false],[0,"cmdoption-adk-deploy-cloud_run-session_db_url",false],[0,"cmdoption-adk-web-session_db_url",false]],"--session_id":[[0,"cmdoption-adk-run-session_id",false]],"--session_input_file":[[0,"cmdoption-adk-eval_set-add_eval_case-session_input_file",false]],"--session_service_uri":[[0,"cmdoption-adk-api_server-session_service_uri",false],[0,"cmdoption-adk-deploy-cloud_run-session_service_uri",false],[0,"cmdoption-adk-deploy-gke-session_service_uri",false],[0,"cmdoption-adk-run-session_service_uri",false],[0,"cmdoption-adk-web-session_service_uri",false]],"--skip-agent-import-validation":[[0,"cmdoption-adk-deploy-agent_engine-skip-agent-import-validation",false]],"--source_db_url":[[0,"cmdoption-adk-migrate-session-source_db_url",false]],"--staging_bucket":[[0,"cmdoption-adk-deploy-agent_engine-staging_bucket",false]],"--streaming-mode":[[0,"cmdoption-adk-conformance-test-streaming-mode",false]],"--temp_folder":[[0,"cmdoption-adk-deploy-agent_engine-temp_folder",false],[0,"cmdoption-adk-deploy-cloud_run-temp_folder",false],[0,"cmdoption-adk-deploy-gke-temp_folder",false]],"--trace_to_cloud":[[0,"cmdoption-adk-api_server-trace_to_cloud",false],[0,"cmdoption-adk-deploy-agent_engine-trace_to_cloud",false],[0,"cmdoption-adk-deploy-cloud_run-trace_to_cloud",false],[0,"cmdoption-adk-deploy-gke-trace_to_cloud",false],[0,"cmdoption-adk-web-trace_to_cloud",false]],"--trigger_sources":[[0,"cmdoption-adk-api_server-trigger_sources",false],[0,"cmdoption-adk-deploy-cloud_run-trigger_sources",false],[0,"cmdoption-adk-deploy-gke-trigger_sources",false],[0,"cmdoption-adk-web-trigger_sources",false]],"--url_prefix":[[0,"cmdoption-adk-api_server-url_prefix",false],[0,"cmdoption-adk-web-url_prefix",false]],"--use_local_storage":[[0,"cmdoption-adk-api_server-use_local_storage",false],[0,"cmdoption-adk-deploy-cloud_run-use_local_storage",false],[0,"cmdoption-adk-deploy-gke-use_local_storage",false],[0,"cmdoption-adk-run-use_local_storage",false],[0,"cmdoption-adk-web-use_local_storage",false]],"--user_simulation_config_file":[[0,"cmdoption-adk-eval_set-generate_eval_cases-user_simulation_config_file",false]],"--validate-agent-import":[[0,"cmdoption-adk-deploy-agent_engine-validate-agent-import",false]],"--verbose":[[0,"cmdoption-adk-api_server-v",false],[0,"cmdoption-adk-web-v",false]],"--verbosity":[[0,"cmdoption-adk-deploy-cloud_run-verbosity",false]],"--version":[[0,"cmdoption-adk-version",false]],"--with_ui":[[0,"cmdoption-adk-deploy-cloud_run-with_ui",false],[0,"cmdoption-adk-deploy-gke-with_ui",false]],"-v":[[0,"cmdoption-adk-api_server-v",false],[0,"cmdoption-adk-web-v",false]],"adk command line option":[[0,"cmdoption-adk-version",false]],"adk-api_server command line option":[[0,"cmdoption-adk-api_server-a2a",false],[0,"cmdoption-adk-api_server-allow_origins",false],[0,"cmdoption-adk-api_server-arg-AGENTS_DIR",false],[0,"cmdoption-adk-api_server-artifact_service_uri",false],[0,"cmdoption-adk-api_server-artifact_storage_uri",false],[0,"cmdoption-adk-api_server-auto_create_session",false],[0,"cmdoption-adk-api_server-disable_features",false],[0,"cmdoption-adk-api_server-enable_features",false],[0,"cmdoption-adk-api_server-eval_storage_uri",false],[0,"cmdoption-adk-api_server-extra_plugins",false],[0,"cmdoption-adk-api_server-host",false],[0,"cmdoption-adk-api_server-log_level",false],[0,"cmdoption-adk-api_server-memory_service_uri",false],[0,"cmdoption-adk-api_server-otel_to_cloud",false],[0,"cmdoption-adk-api_server-port",false],[0,"cmdoption-adk-api_server-reload",false],[0,"cmdoption-adk-api_server-reload_agents",false],[0,"cmdoption-adk-api_server-session_db_url",false],[0,"cmdoption-adk-api_server-session_service_uri",false],[0,"cmdoption-adk-api_server-trace_to_cloud",false],[0,"cmdoption-adk-api_server-trigger_sources",false],[0,"cmdoption-adk-api_server-url_prefix",false],[0,"cmdoption-adk-api_server-use_local_storage",false],[0,"cmdoption-adk-api_server-v",false]],"adk-conformance-record command line option":[[0,"cmdoption-adk-conformance-record-arg-PATHS",false],[0,"cmdoption-adk-conformance-record-arg-STREAMING_MODE",false]],"adk-conformance-test command line option":[[0,"cmdoption-adk-conformance-test-arg-PATHS",false],[0,"cmdoption-adk-conformance-test-generate_report",false],[0,"cmdoption-adk-conformance-test-mode",false],[0,"cmdoption-adk-conformance-test-report_dir",false],[0,"cmdoption-adk-conformance-test-streaming-mode",false]],"adk-create command line option":[[0,"cmdoption-adk-create-api_key",false],[0,"cmdoption-adk-create-arg-APP_NAME",false],[0,"cmdoption-adk-create-model",false],[0,"cmdoption-adk-create-project",false],[0,"cmdoption-adk-create-region",false]],"adk-deploy-agent_engine command line option":[[0,"cmdoption-adk-deploy-agent_engine-absolutize_imports",false],[0,"cmdoption-adk-deploy-agent_engine-adk_app",false],[0,"cmdoption-adk-deploy-agent_engine-adk_app_object",false],[0,"cmdoption-adk-deploy-agent_engine-agent_engine_config_file",false],[0,"cmdoption-adk-deploy-agent_engine-agent_engine_id",false],[0,"cmdoption-adk-deploy-agent_engine-api_key",false],[0,"cmdoption-adk-deploy-agent_engine-arg-AGENT",false],[0,"cmdoption-adk-deploy-agent_engine-description",false],[0,"cmdoption-adk-deploy-agent_engine-display_name",false],[0,"cmdoption-adk-deploy-agent_engine-env_file",false],[0,"cmdoption-adk-deploy-agent_engine-otel_to_cloud",false],[0,"cmdoption-adk-deploy-agent_engine-project",false],[0,"cmdoption-adk-deploy-agent_engine-region",false],[0,"cmdoption-adk-deploy-agent_engine-requirements_file",false],[0,"cmdoption-adk-deploy-agent_engine-skip-agent-import-validation",false],[0,"cmdoption-adk-deploy-agent_engine-staging_bucket",false],[0,"cmdoption-adk-deploy-agent_engine-temp_folder",false],[0,"cmdoption-adk-deploy-agent_engine-trace_to_cloud",false],[0,"cmdoption-adk-deploy-agent_engine-validate-agent-import",false]],"adk-deploy-cloud_run command line option":[[0,"cmdoption-adk-deploy-cloud_run-a2a",false],[0,"cmdoption-adk-deploy-cloud_run-adk_version",false],[0,"cmdoption-adk-deploy-cloud_run-allow_origins",false],[0,"cmdoption-adk-deploy-cloud_run-app_name",false],[0,"cmdoption-adk-deploy-cloud_run-arg-AGENT",false],[0,"cmdoption-adk-deploy-cloud_run-artifact_service_uri",false],[0,"cmdoption-adk-deploy-cloud_run-artifact_storage_uri",false],[0,"cmdoption-adk-deploy-cloud_run-log_level",false],[0,"cmdoption-adk-deploy-cloud_run-memory_service_uri",false],[0,"cmdoption-adk-deploy-cloud_run-otel_to_cloud",false],[0,"cmdoption-adk-deploy-cloud_run-port",false],[0,"cmdoption-adk-deploy-cloud_run-project",false],[0,"cmdoption-adk-deploy-cloud_run-region",false],[0,"cmdoption-adk-deploy-cloud_run-service_name",false],[0,"cmdoption-adk-deploy-cloud_run-session_db_url",false],[0,"cmdoption-adk-deploy-cloud_run-session_service_uri",false],[0,"cmdoption-adk-deploy-cloud_run-temp_folder",false],[0,"cmdoption-adk-deploy-cloud_run-trace_to_cloud",false],[0,"cmdoption-adk-deploy-cloud_run-trigger_sources",false],[0,"cmdoption-adk-deploy-cloud_run-use_local_storage",false],[0,"cmdoption-adk-deploy-cloud_run-verbosity",false],[0,"cmdoption-adk-deploy-cloud_run-with_ui",false]],"adk-deploy-gke command line option":[[0,"cmdoption-adk-deploy-gke-adk_version",false],[0,"cmdoption-adk-deploy-gke-app_name",false],[0,"cmdoption-adk-deploy-gke-arg-AGENT",false],[0,"cmdoption-adk-deploy-gke-artifact_service_uri",false],[0,"cmdoption-adk-deploy-gke-cluster_name",false],[0,"cmdoption-adk-deploy-gke-log_level",false],[0,"cmdoption-adk-deploy-gke-memory_service_uri",false],[0,"cmdoption-adk-deploy-gke-otel_to_cloud",false],[0,"cmdoption-adk-deploy-gke-port",false],[0,"cmdoption-adk-deploy-gke-project",false],[0,"cmdoption-adk-deploy-gke-region",false],[0,"cmdoption-adk-deploy-gke-service_name",false],[0,"cmdoption-adk-deploy-gke-service_type",false],[0,"cmdoption-adk-deploy-gke-session_service_uri",false],[0,"cmdoption-adk-deploy-gke-temp_folder",false],[0,"cmdoption-adk-deploy-gke-trace_to_cloud",false],[0,"cmdoption-adk-deploy-gke-trigger_sources",false],[0,"cmdoption-adk-deploy-gke-use_local_storage",false],[0,"cmdoption-adk-deploy-gke-with_ui",false]],"adk-eval command line option":[[0,"cmdoption-adk-eval-arg-AGENT_MODULE_FILE_PATH",false],[0,"cmdoption-adk-eval-arg-EVAL_SET_FILE_PATH_OR_ID",false],[0,"cmdoption-adk-eval-config_file_path",false],[0,"cmdoption-adk-eval-disable_features",false],[0,"cmdoption-adk-eval-enable_features",false],[0,"cmdoption-adk-eval-eval_storage_uri",false],[0,"cmdoption-adk-eval-log_level",false],[0,"cmdoption-adk-eval-print_detailed_results",false]],"adk-eval_set-add_eval_case command line option":[[0,"cmdoption-adk-eval_set-add_eval_case-arg-AGENT_MODULE_FILE_PATH",false],[0,"cmdoption-adk-eval_set-add_eval_case-arg-EVAL_SET_ID",false],[0,"cmdoption-adk-eval_set-add_eval_case-eval_storage_uri",false],[0,"cmdoption-adk-eval_set-add_eval_case-log_level",false],[0,"cmdoption-adk-eval_set-add_eval_case-scenarios_file",false],[0,"cmdoption-adk-eval_set-add_eval_case-session_input_file",false]],"adk-eval_set-create command line option":[[0,"cmdoption-adk-eval_set-create-arg-AGENT_MODULE_FILE_PATH",false],[0,"cmdoption-adk-eval_set-create-arg-EVAL_SET_ID",false],[0,"cmdoption-adk-eval_set-create-eval_storage_uri",false],[0,"cmdoption-adk-eval_set-create-log_level",false]],"adk-eval_set-generate_eval_cases command line option":[[0,"cmdoption-adk-eval_set-generate_eval_cases-arg-AGENT_MODULE_FILE_PATH",false],[0,"cmdoption-adk-eval_set-generate_eval_cases-arg-EVAL_SET_ID",false],[0,"cmdoption-adk-eval_set-generate_eval_cases-eval_storage_uri",false],[0,"cmdoption-adk-eval_set-generate_eval_cases-log_level",false],[0,"cmdoption-adk-eval_set-generate_eval_cases-user_simulation_config_file",false]],"adk-migrate-session command line option":[[0,"cmdoption-adk-migrate-session-dest_db_url",false],[0,"cmdoption-adk-migrate-session-log_level",false],[0,"cmdoption-adk-migrate-session-source_db_url",false]],"adk-optimize command line option":[[0,"cmdoption-adk-optimize-arg-AGENT_MODULE_FILE_PATH",false],[0,"cmdoption-adk-optimize-log_level",false],[0,"cmdoption-adk-optimize-optimizer_config_file_path",false],[0,"cmdoption-adk-optimize-print_detailed_results",false],[0,"cmdoption-adk-optimize-sampler_config_file_path",false]],"adk-run command line option":[[0,"cmdoption-adk-run-arg-AGENT",false],[0,"cmdoption-adk-run-artifact_service_uri",false],[0,"cmdoption-adk-run-disable_features",false],[0,"cmdoption-adk-run-enable_features",false],[0,"cmdoption-adk-run-memory_service_uri",false],[0,"cmdoption-adk-run-replay",false],[0,"cmdoption-adk-run-resume",false],[0,"cmdoption-adk-run-save_session",false],[0,"cmdoption-adk-run-session_id",false],[0,"cmdoption-adk-run-session_service_uri",false],[0,"cmdoption-adk-run-use_local_storage",false]],"adk-web command line option":[[0,"cmdoption-adk-web-a2a",false],[0,"cmdoption-adk-web-allow_origins",false],[0,"cmdoption-adk-web-arg-AGENTS_DIR",false],[0,"cmdoption-adk-web-artifact_service_uri",false],[0,"cmdoption-adk-web-artifact_storage_uri",false],[0,"cmdoption-adk-web-disable_features",false],[0,"cmdoption-adk-web-enable_features",false],[0,"cmdoption-adk-web-eval_storage_uri",false],[0,"cmdoption-adk-web-extra_plugins",false],[0,"cmdoption-adk-web-host",false],[0,"cmdoption-adk-web-log_level",false],[0,"cmdoption-adk-web-logo-image-url",false],[0,"cmdoption-adk-web-logo-text",false],[0,"cmdoption-adk-web-memory_service_uri",false],[0,"cmdoption-adk-web-otel_to_cloud",false],[0,"cmdoption-adk-web-port",false],[0,"cmdoption-adk-web-reload",false],[0,"cmdoption-adk-web-reload_agents",false],[0,"cmdoption-adk-web-session_db_url",false],[0,"cmdoption-adk-web-session_service_uri",false],[0,"cmdoption-adk-web-trace_to_cloud",false],[0,"cmdoption-adk-web-trigger_sources",false],[0,"cmdoption-adk-web-url_prefix",false],[0,"cmdoption-adk-web-use_local_storage",false],[0,"cmdoption-adk-web-v",false]],"agent":[[0,"cmdoption-adk-deploy-agent_engine-arg-AGENT",false],[0,"cmdoption-adk-deploy-cloud_run-arg-AGENT",false],[0,"cmdoption-adk-deploy-gke-arg-AGENT",false],[0,"cmdoption-adk-run-arg-AGENT",false]],"agent_module_file_path":[[0,"cmdoption-adk-eval-arg-AGENT_MODULE_FILE_PATH",false],[0,"cmdoption-adk-eval_set-add_eval_case-arg-AGENT_MODULE_FILE_PATH",false],[0,"cmdoption-adk-eval_set-create-arg-AGENT_MODULE_FILE_PATH",false],[0,"cmdoption-adk-eval_set-generate_eval_cases-arg-AGENT_MODULE_FILE_PATH",false],[0,"cmdoption-adk-optimize-arg-AGENT_MODULE_FILE_PATH",false]],"agents_dir":[[0,"cmdoption-adk-api_server-arg-AGENTS_DIR",false],[0,"cmdoption-adk-web-arg-AGENTS_DIR",false]],"app_name":[[0,"cmdoption-adk-create-arg-APP_NAME",false]],"eval_set_file_path_or_id":[[0,"cmdoption-adk-eval-arg-EVAL_SET_FILE_PATH_OR_ID",false]],"eval_set_id":[[0,"cmdoption-adk-eval_set-add_eval_case-arg-EVAL_SET_ID",false],[0,"cmdoption-adk-eval_set-create-arg-EVAL_SET_ID",false],[0,"cmdoption-adk-eval_set-generate_eval_cases-arg-EVAL_SET_ID",false]],"paths":[[0,"cmdoption-adk-conformance-record-arg-PATHS",false],[0,"cmdoption-adk-conformance-test-arg-PATHS",false]],"streaming_mode":[[0,"cmdoption-adk-conformance-record-arg-STREAMING_MODE",false]]},"objects":{"adk":[[0,0,1,"cmdoption-adk-version","--version"]],"adk-api_server":[[0,0,1,"cmdoption-adk-api_server-a2a","--a2a"],[0,0,1,"cmdoption-adk-api_server-allow_origins","--allow_origins"],[0,0,1,"cmdoption-adk-api_server-artifact_service_uri","--artifact_service_uri"],[0,0,1,"cmdoption-adk-api_server-artifact_storage_uri","--artifact_storage_uri"],[0,0,1,"cmdoption-adk-api_server-auto_create_session","--auto_create_session"],[0,0,1,"cmdoption-adk-api_server-disable_features","--disable_features"],[0,0,1,"cmdoption-adk-api_server-enable_features","--enable_features"],[0,0,1,"cmdoption-adk-api_server-eval_storage_uri","--eval_storage_uri"],[0,0,1,"cmdoption-adk-api_server-extra_plugins","--extra_plugins"],[0,0,1,"cmdoption-adk-api_server-host","--host"],[0,0,1,"cmdoption-adk-api_server-log_level","--log_level"],[0,0,1,"cmdoption-adk-api_server-memory_service_uri","--memory_service_uri"],[0,0,1,"cmdoption-adk-api_server-reload","--no-reload"],[0,0,1,"cmdoption-adk-api_server-use_local_storage","--no_use_local_storage"],[0,0,1,"cmdoption-adk-api_server-otel_to_cloud","--otel_to_cloud"],[0,0,1,"cmdoption-adk-api_server-port","--port"],[0,0,1,"cmdoption-adk-api_server-reload","--reload"],[0,0,1,"cmdoption-adk-api_server-reload_agents","--reload_agents"],[0,0,1,"cmdoption-adk-api_server-session_db_url","--session_db_url"],[0,0,1,"cmdoption-adk-api_server-session_service_uri","--session_service_uri"],[0,0,1,"cmdoption-adk-api_server-trace_to_cloud","--trace_to_cloud"],[0,0,1,"cmdoption-adk-api_server-trigger_sources","--trigger_sources"],[0,0,1,"cmdoption-adk-api_server-url_prefix","--url_prefix"],[0,0,1,"cmdoption-adk-api_server-use_local_storage","--use_local_storage"],[0,0,1,"cmdoption-adk-api_server-v","--verbose"],[0,0,1,"cmdoption-adk-api_server-v","-v"],[0,0,1,"cmdoption-adk-api_server-arg-AGENTS_DIR","AGENTS_DIR"]],"adk-conformance-record":[[0,0,1,"cmdoption-adk-conformance-record-arg-PATHS","PATHS"],[0,0,1,"cmdoption-adk-conformance-record-arg-STREAMING_MODE","STREAMING_MODE"]],"adk-conformance-test":[[0,0,1,"cmdoption-adk-conformance-test-generate_report","--generate_report"],[0,0,1,"cmdoption-adk-conformance-test-mode","--mode"],[0,0,1,"cmdoption-adk-conformance-test-report_dir","--report_dir"],[0,0,1,"cmdoption-adk-conformance-test-streaming-mode","--streaming-mode"],[0,0,1,"cmdoption-adk-conformance-test-arg-PATHS","PATHS"]],"adk-create":[[0,0,1,"cmdoption-adk-create-api_key","--api_key"],[0,0,1,"cmdoption-adk-create-model","--model"],[0,0,1,"cmdoption-adk-create-project","--project"],[0,0,1,"cmdoption-adk-create-region","--region"],[0,0,1,"cmdoption-adk-create-arg-APP_NAME","APP_NAME"]],"adk-deploy-agent_engine":[[0,0,1,"cmdoption-adk-deploy-agent_engine-absolutize_imports","--absolutize_imports"],[0,0,1,"cmdoption-adk-deploy-agent_engine-adk_app","--adk_app"],[0,0,1,"cmdoption-adk-deploy-agent_engine-adk_app_object","--adk_app_object"],[0,0,1,"cmdoption-adk-deploy-agent_engine-agent_engine_config_file","--agent_engine_config_file"],[0,0,1,"cmdoption-adk-deploy-agent_engine-agent_engine_id","--agent_engine_id"],[0,0,1,"cmdoption-adk-deploy-agent_engine-api_key","--api_key"],[0,0,1,"cmdoption-adk-deploy-agent_engine-description","--description"],[0,0,1,"cmdoption-adk-deploy-agent_engine-display_name","--display_name"],[0,0,1,"cmdoption-adk-deploy-agent_engine-env_file","--env_file"],[0,0,1,"cmdoption-adk-deploy-agent_engine-trace_to_cloud","--no-trace_to_cloud"],[0,0,1,"cmdoption-adk-deploy-agent_engine-validate-agent-import","--no-validate-agent-import"],[0,0,1,"cmdoption-adk-deploy-agent_engine-otel_to_cloud","--otel_to_cloud"],[0,0,1,"cmdoption-adk-deploy-agent_engine-project","--project"],[0,0,1,"cmdoption-adk-deploy-agent_engine-region","--region"],[0,0,1,"cmdoption-adk-deploy-agent_engine-requirements_file","--requirements_file"],[0,0,1,"cmdoption-adk-deploy-agent_engine-skip-agent-import-validation","--skip-agent-import-validation"],[0,0,1,"cmdoption-adk-deploy-agent_engine-staging_bucket","--staging_bucket"],[0,0,1,"cmdoption-adk-deploy-agent_engine-temp_folder","--temp_folder"],[0,0,1,"cmdoption-adk-deploy-agent_engine-trace_to_cloud","--trace_to_cloud"],[0,0,1,"cmdoption-adk-deploy-agent_engine-validate-agent-import","--validate-agent-import"],[0,0,1,"cmdoption-adk-deploy-agent_engine-arg-AGENT","AGENT"]],"adk-deploy-cloud_run":[[0,0,1,"cmdoption-adk-deploy-cloud_run-a2a","--a2a"],[0,0,1,"cmdoption-adk-deploy-cloud_run-adk_version","--adk_version"],[0,0,1,"cmdoption-adk-deploy-cloud_run-allow_origins","--allow_origins"],[0,0,1,"cmdoption-adk-deploy-cloud_run-app_name","--app_name"],[0,0,1,"cmdoption-adk-deploy-cloud_run-artifact_service_uri","--artifact_service_uri"],[0,0,1,"cmdoption-adk-deploy-cloud_run-artifact_storage_uri","--artifact_storage_uri"],[0,0,1,"cmdoption-adk-deploy-cloud_run-log_level","--log_level"],[0,0,1,"cmdoption-adk-deploy-cloud_run-memory_service_uri","--memory_service_uri"],[0,0,1,"cmdoption-adk-deploy-cloud_run-use_local_storage","--no_use_local_storage"],[0,0,1,"cmdoption-adk-deploy-cloud_run-otel_to_cloud","--otel_to_cloud"],[0,0,1,"cmdoption-adk-deploy-cloud_run-port","--port"],[0,0,1,"cmdoption-adk-deploy-cloud_run-project","--project"],[0,0,1,"cmdoption-adk-deploy-cloud_run-region","--region"],[0,0,1,"cmdoption-adk-deploy-cloud_run-service_name","--service_name"],[0,0,1,"cmdoption-adk-deploy-cloud_run-session_db_url","--session_db_url"],[0,0,1,"cmdoption-adk-deploy-cloud_run-session_service_uri","--session_service_uri"],[0,0,1,"cmdoption-adk-deploy-cloud_run-temp_folder","--temp_folder"],[0,0,1,"cmdoption-adk-deploy-cloud_run-trace_to_cloud","--trace_to_cloud"],[0,0,1,"cmdoption-adk-deploy-cloud_run-trigger_sources","--trigger_sources"],[0,0,1,"cmdoption-adk-deploy-cloud_run-use_local_storage","--use_local_storage"],[0,0,1,"cmdoption-adk-deploy-cloud_run-verbosity","--verbosity"],[0,0,1,"cmdoption-adk-deploy-cloud_run-with_ui","--with_ui"],[0,0,1,"cmdoption-adk-deploy-cloud_run-arg-AGENT","AGENT"]],"adk-deploy-gke":[[0,0,1,"cmdoption-adk-deploy-gke-adk_version","--adk_version"],[0,0,1,"cmdoption-adk-deploy-gke-app_name","--app_name"],[0,0,1,"cmdoption-adk-deploy-gke-artifact_service_uri","--artifact_service_uri"],[0,0,1,"cmdoption-adk-deploy-gke-cluster_name","--cluster_name"],[0,0,1,"cmdoption-adk-deploy-gke-log_level","--log_level"],[0,0,1,"cmdoption-adk-deploy-gke-memory_service_uri","--memory_service_uri"],[0,0,1,"cmdoption-adk-deploy-gke-use_local_storage","--no_use_local_storage"],[0,0,1,"cmdoption-adk-deploy-gke-otel_to_cloud","--otel_to_cloud"],[0,0,1,"cmdoption-adk-deploy-gke-port","--port"],[0,0,1,"cmdoption-adk-deploy-gke-project","--project"],[0,0,1,"cmdoption-adk-deploy-gke-region","--region"],[0,0,1,"cmdoption-adk-deploy-gke-service_name","--service_name"],[0,0,1,"cmdoption-adk-deploy-gke-service_type","--service_type"],[0,0,1,"cmdoption-adk-deploy-gke-session_service_uri","--session_service_uri"],[0,0,1,"cmdoption-adk-deploy-gke-temp_folder","--temp_folder"],[0,0,1,"cmdoption-adk-deploy-gke-trace_to_cloud","--trace_to_cloud"],[0,0,1,"cmdoption-adk-deploy-gke-trigger_sources","--trigger_sources"],[0,0,1,"cmdoption-adk-deploy-gke-use_local_storage","--use_local_storage"],[0,0,1,"cmdoption-adk-deploy-gke-with_ui","--with_ui"],[0,0,1,"cmdoption-adk-deploy-gke-arg-AGENT","AGENT"]],"adk-eval":[[0,0,1,"cmdoption-adk-eval-config_file_path","--config_file_path"],[0,0,1,"cmdoption-adk-eval-disable_features","--disable_features"],[0,0,1,"cmdoption-adk-eval-enable_features","--enable_features"],[0,0,1,"cmdoption-adk-eval-eval_storage_uri","--eval_storage_uri"],[0,0,1,"cmdoption-adk-eval-log_level","--log_level"],[0,0,1,"cmdoption-adk-eval-print_detailed_results","--print_detailed_results"],[0,0,1,"cmdoption-adk-eval-arg-AGENT_MODULE_FILE_PATH","AGENT_MODULE_FILE_PATH"],[0,0,1,"cmdoption-adk-eval-arg-EVAL_SET_FILE_PATH_OR_ID","EVAL_SET_FILE_PATH_OR_ID"]],"adk-eval_set-add_eval_case":[[0,0,1,"cmdoption-adk-eval_set-add_eval_case-eval_storage_uri","--eval_storage_uri"],[0,0,1,"cmdoption-adk-eval_set-add_eval_case-log_level","--log_level"],[0,0,1,"cmdoption-adk-eval_set-add_eval_case-scenarios_file","--scenarios_file"],[0,0,1,"cmdoption-adk-eval_set-add_eval_case-session_input_file","--session_input_file"],[0,0,1,"cmdoption-adk-eval_set-add_eval_case-arg-AGENT_MODULE_FILE_PATH","AGENT_MODULE_FILE_PATH"],[0,0,1,"cmdoption-adk-eval_set-add_eval_case-arg-EVAL_SET_ID","EVAL_SET_ID"]],"adk-eval_set-create":[[0,0,1,"cmdoption-adk-eval_set-create-eval_storage_uri","--eval_storage_uri"],[0,0,1,"cmdoption-adk-eval_set-create-log_level","--log_level"],[0,0,1,"cmdoption-adk-eval_set-create-arg-AGENT_MODULE_FILE_PATH","AGENT_MODULE_FILE_PATH"],[0,0,1,"cmdoption-adk-eval_set-create-arg-EVAL_SET_ID","EVAL_SET_ID"]],"adk-eval_set-generate_eval_cases":[[0,0,1,"cmdoption-adk-eval_set-generate_eval_cases-eval_storage_uri","--eval_storage_uri"],[0,0,1,"cmdoption-adk-eval_set-generate_eval_cases-log_level","--log_level"],[0,0,1,"cmdoption-adk-eval_set-generate_eval_cases-user_simulation_config_file","--user_simulation_config_file"],[0,0,1,"cmdoption-adk-eval_set-generate_eval_cases-arg-AGENT_MODULE_FILE_PATH","AGENT_MODULE_FILE_PATH"],[0,0,1,"cmdoption-adk-eval_set-generate_eval_cases-arg-EVAL_SET_ID","EVAL_SET_ID"]],"adk-migrate-session":[[0,0,1,"cmdoption-adk-migrate-session-dest_db_url","--dest_db_url"],[0,0,1,"cmdoption-adk-migrate-session-log_level","--log_level"],[0,0,1,"cmdoption-adk-migrate-session-source_db_url","--source_db_url"]],"adk-optimize":[[0,0,1,"cmdoption-adk-optimize-log_level","--log_level"],[0,0,1,"cmdoption-adk-optimize-optimizer_config_file_path","--optimizer_config_file_path"],[0,0,1,"cmdoption-adk-optimize-print_detailed_results","--print_detailed_results"],[0,0,1,"cmdoption-adk-optimize-sampler_config_file_path","--sampler_config_file_path"],[0,0,1,"cmdoption-adk-optimize-arg-AGENT_MODULE_FILE_PATH","AGENT_MODULE_FILE_PATH"]],"adk-run":[[0,0,1,"cmdoption-adk-run-artifact_service_uri","--artifact_service_uri"],[0,0,1,"cmdoption-adk-run-disable_features","--disable_features"],[0,0,1,"cmdoption-adk-run-enable_features","--enable_features"],[0,0,1,"cmdoption-adk-run-memory_service_uri","--memory_service_uri"],[0,0,1,"cmdoption-adk-run-use_local_storage","--no_use_local_storage"],[0,0,1,"cmdoption-adk-run-replay","--replay"],[0,0,1,"cmdoption-adk-run-resume","--resume"],[0,0,1,"cmdoption-adk-run-save_session","--save_session"],[0,0,1,"cmdoption-adk-run-session_id","--session_id"],[0,0,1,"cmdoption-adk-run-session_service_uri","--session_service_uri"],[0,0,1,"cmdoption-adk-run-use_local_storage","--use_local_storage"],[0,0,1,"cmdoption-adk-run-arg-AGENT","AGENT"]],"adk-web":[[0,0,1,"cmdoption-adk-web-a2a","--a2a"],[0,0,1,"cmdoption-adk-web-allow_origins","--allow_origins"],[0,0,1,"cmdoption-adk-web-artifact_service_uri","--artifact_service_uri"],[0,0,1,"cmdoption-adk-web-artifact_storage_uri","--artifact_storage_uri"],[0,0,1,"cmdoption-adk-web-disable_features","--disable_features"],[0,0,1,"cmdoption-adk-web-enable_features","--enable_features"],[0,0,1,"cmdoption-adk-web-eval_storage_uri","--eval_storage_uri"],[0,0,1,"cmdoption-adk-web-extra_plugins","--extra_plugins"],[0,0,1,"cmdoption-adk-web-host","--host"],[0,0,1,"cmdoption-adk-web-log_level","--log_level"],[0,0,1,"cmdoption-adk-web-logo-image-url","--logo-image-url"],[0,0,1,"cmdoption-adk-web-logo-text","--logo-text"],[0,0,1,"cmdoption-adk-web-memory_service_uri","--memory_service_uri"],[0,0,1,"cmdoption-adk-web-reload","--no-reload"],[0,0,1,"cmdoption-adk-web-use_local_storage","--no_use_local_storage"],[0,0,1,"cmdoption-adk-web-otel_to_cloud","--otel_to_cloud"],[0,0,1,"cmdoption-adk-web-port","--port"],[0,0,1,"cmdoption-adk-web-reload","--reload"],[0,0,1,"cmdoption-adk-web-reload_agents","--reload_agents"],[0,0,1,"cmdoption-adk-web-session_db_url","--session_db_url"],[0,0,1,"cmdoption-adk-web-session_service_uri","--session_service_uri"],[0,0,1,"cmdoption-adk-web-trace_to_cloud","--trace_to_cloud"],[0,0,1,"cmdoption-adk-web-trigger_sources","--trigger_sources"],[0,0,1,"cmdoption-adk-web-url_prefix","--url_prefix"],[0,0,1,"cmdoption-adk-web-use_local_storage","--use_local_storage"],[0,0,1,"cmdoption-adk-web-v","--verbose"],[0,0,1,"cmdoption-adk-web-v","-v"],[0,0,1,"cmdoption-adk-web-arg-AGENTS_DIR","AGENTS_DIR"]]},"objnames":{"0":["std","cmdoption","program option"]},"objtypes":{"0":"std:cmdoption"},"terms":{"A":0,"And":0,"Cannot":0,"Each":0,"For":0,"If":0,"It":0,"Not":0,"The":0,"There":0,"This":0,"When":0,"With":0,"You":0,"__init__":0,"a2a":0,"abc":0,"absent":0,"absolutize_import":0,"access":0,"add":0,"adk_app":0,"adk_app_object":0,"adk_disable_local_storag":0,"adk_force_local_storag":0,"adk_vers":0,"advanc":0,"agent":0,"agent_engine_app":0,"agent_engine_config":0,"agent_engine_config_fil":0,"agent_engine_id":0,"agent_module_file_path":0,"agentengin":0,"agents_dir":0,"ai":0,"allow":0,"allow_origin":0,"alreadi":0,"altern":0,"ani":0,"api":0,"api_key":0,"app":0,"app_nam":0,"applic":0,"arg":0,"argument":0,"artifact":0,"artifact_service_uri":0,"artifact_storage_uri":0,"auto":0,"auto_create_sess":0,"automat":0,"avail":0,"back":0,"backend":0,"base":0,"batch":0,"befor":0,"behavior":0,"behind":0,"bidi":0,"bind":0,"bucket":0,"bucket_nam":0,"call":0,"can":0,"case":0,"categori":0,"central1":0,"certain":0,"chang":0,"choos":0,"class":0,"cloud":0,"cluster":0,"cluster_nam":0,"clusterip":0,"code":0,"com":0,"combin":0,"comma":0,"command":0,"common":0,"compar":0,"config":0,"config_file_path":0,"connect":0,"consist":0,"consol":0,"contain":0,"content":0,"continu":0,"convers":0,"conversationscenario":0,"cor":0,"core":0,"correct":0,"correspond":0,"critic":0,"current":0,"custom":0,"data":0,"databas":0,"db":0,"debug":0,"default":0,"defin":0,"definit":0,"demarc":0,"depend":0,"deprec":0,"descript":0,"description_001":0,"dest":0,"dest_db_url":0,"destin":0,"detail":0,"dev":0,"develop":0,"dict":0,"direct":0,"directori":0,"disabl":0,"disable_featur":0,"display":0,"display_nam":0,"doc":0,"doesn":0,"driven":0,"dure":0,"dynam":0,"e":0,"either":0,"empti":0,"en":0,"enabl":0,"enable_featur":0,"endpoint":0,"engin":0,"ensur":0,"enter":0,"env":0,"env_fil":0,"environ":0,"error":0,"eval_1":0,"eval_2":0,"eval_3":0,"eval_4":0,"eval_5":0,"eval_set_file_path_or_id":0,"eval_set_id":0,"eval_storage_uri":0,"evalset":0,"evalu":0,"event":0,"eventarc":0,"exact":0,"exampl":0,"execut":0,"exist":0,"exit":0,"expect":0,"experiment":0,"explicit":0,"export":0,"expos":0,"express":0,"extra":0,"extra_plugin":0,"fall":0,"fals":0,"fastapi":0,"featur":0,"file":0,"filepath":0,"first":0,"flag":0,"folder":0,"follow":0,"forc":0,"format":0,"full":0,"futur":0,"g":0,"gateway":0,"gcloud":0,"gcp":0,"gcs":0,"generat":0,"generate_report":0,"gepa":0,"geparootagentpromptoptim":0,"given":0,"googl":0,"google_api_key":0,"google_cloud_loc":0,"google_cloud_project":0,"google_genai_use_vertexai":0,"gs":0,"host":0,"html":0,"https":0,"id":0,"ignor":0,"imag":0,"implement":0,"import":0,"info":0,"initi":0,"input":0,"instanc":0,"instead":0,"instruct":0,"interact":0,"intern":0,"invoc":0,"ip":0,"isn":0,"json":0,"json_schema_for_func_decl":0,"keep":0,"key":0,"kit":0,"kubernet":0,"later":0,"latest":0,"least":0,"level":0,"line":0,"list":0,"liter":0,"live":0,"llm":0,"loadbalanc":0,"local":0,"localevalsampl":0,"locat":0,"log":0,"log_level":0,"logo":0,"logo_image_url":0,"logo_text":0,"longer":0,"manag":0,"markdown":0,"match":0,"mean":0,"memori":0,"memory_service_uri":0,"method":0,"min":0,"mix":0,"mode":0,"model":0,"modul":0,"mount":0,"multipl":0,"must":0,"my_ag":0,"my_app":0,"my_plugin_inst":0,"mypluginclass":0,"name":0,"need":0,"new":0,"newli":0,"no_use_local_storag":0,"none":0,"note":0,"now":0,"number":0,"object":0,"observ":0,"one":0,"onli":0,"opentelemetri":0,"optimizer_config_file_path":0,"option":0,"org":0,"origin":0,"otel":0,"otel_to_cloud":0,"output":0,"overrid":0,"overridden":0,"page":0,"path":0,"path_to_sqlite_fil":0,"pattern":0,"plugin":0,"port":0,"pre":0,"prefix":0,"prepopul":0,"previous":0,"print":0,"print_detailed_result":0,"produc":0,"product":0,"progress":0,"progressive_sse_stream":0,"project":0,"prompt":0,"provid":0,"proxi":0,"public":0,"pubsub":0,"py":0,"python":0,"qualifi":0,"queri":0,"rag":0,"rag_corpus_id":0,"re":0,"read":0,"reasoningengin":0,"redirect":0,"refer":0,"regex":0,"region":0,"regist":0,"reload":0,"reload_ag":0,"remov":0,"replay":0,"report":0,"report_dir":0,"request":0,"requir":0,"requirements_fil":0,"resourc":0,"respons":0,"result":0,"resum":0,"revers":0,"root":0,"root_ag":0,"s":0,"sample_eval_set_fil":0,"sample_eval_set_id":0,"sampler":0,"sampler_config_file_path":0,"save":0,"save_sess":0,"scenario":0,"scenarios_fil":0,"schema":0,"sdk":0,"search":0,"see":0,"separ":0,"serial":0,"serv":0,"server":0,"servic":0,"service_nam":0,"service_typ":0,"session_db_url":0,"session_id":0,"session_input_fil":0,"session_service_uri":0,"sessioninput":0,"set":0,"sever":0,"shortcut":0,"show":0,"simul":0,"singl":0,"skip":0,"sourc":0,"source_db_url":0,"spec":0,"specif":0,"specifi":0,"sqlalchemi":0,"sqlite":0,"sse":0,"staging_bucket":0,"start":0,"state":0,"storag":0,"store":0,"stream":0,"streaming_mod":0,"structur":0,"subdirectori":0,"suffix":0,"support":0,"system":0,"t":0,"telemetri":0,"temp":0,"temp_fold":0,"templat":0,"test_nam":0,"testcas":0,"testcaseinput":0,"text":0,"timestamp":0,"tool":0,"trace":0,"trace_to_cloud":0,"train":0,"trigger":0,"trigger_sourc":0,"true":0,"txt":0,"type":0,"ui":0,"unauthent":0,"unless":0,"unset":0,"updat":0,"uri":0,"url":0,"url_prefix":0,"us":0,"usag":0,"use":0,"use_local_storag":0,"user":0,"user_simulation_config_fil":0,"userscenariogenerationconfig":0,"v":0,"v1":0,"valid":0,"valu":0,"variabl":0,"verbos":0,"verif":0,"verifi":0,"version":0,"vertex":0,"vertexai":0,"want":0,"warn":0,"way":0,"whether":0,"will":0,"with_ui":0,"work":0,"writabl":0,"write":0,"yaml":0,"yet":0},"titles":["ADK CLI documentation"],"titleterms":{"add_eval_cas":0,"adk":0,"agent_engin":0,"api_serv":0,"cli":0,"cloud_run":0,"conform":0,"creat":0,"deploy":0,"document":0,"eval":0,"eval_set":0,"generate_eval_cas":0,"gke":0,"migrat":0,"optim":0,"record":0,"run":0,"session":0,"test":0,"web":0}}) \ No newline at end of file diff --git a/docs/api-reference/index.md b/docs/api-reference/index.md index 9d6cc2d2d8..9a8def1d2c 100644 --- a/docs/api-reference/index.md +++ b/docs/api-reference/index.md @@ -9,7 +9,7 @@ The Agent Development Kit (ADK) provides comprehensive API references for both P --- Explore the complete API documentation for the Python Agent Development Kit. Discover detailed information on all modules, classes, functions, and examples to build sophisticated AI agents with Python. - [:octicons-arrow-right-24: View Python API Docs](python/index.html)
    + [:octicons-arrow-right-24: View Python API Docs](https://adk.dev/api-reference/python/)
    @@ -30,7 +30,7 @@ The Agent Development Kit (ADK) provides comprehensive API references for both P --- Access the comprehensive Javadoc for the Java Agent Development Kit. This reference provides detailed specifications for all packages, classes, interfaces, and methods, enabling you to develop robust AI agents using Java. - [:octicons-arrow-right-24: View Java API Docs](java/index.html)
    + [:octicons-arrow-right-24: View Java API Docs](https://adk.dev/api-reference/java/)
    @@ -42,7 +42,7 @@ The Agent Development Kit (ADK) provides comprehensive API references for both P --- Access the complete API documentation for the TypeScript Agent Development Kit. Find detailed information on all packages, classes, and methods to build powerful and flexible AI agents with TypeScript. - [:octicons-arrow-right-24: View Typescript API Docs](typescript/index.html)
    + [:octicons-arrow-right-24: View Typescript API Docs](https://adk.dev/api-reference/typescript/)
    @@ -51,20 +51,20 @@ The Agent Development Kit (ADK) provides comprehensive API references for both P - :material-console:{ .lg .middle } **CLI Reference** --- - Explore the complete API documentation for the CLI including all of the - valid options and subcommands. + Explore the complete API documentation for the CLI including all of the + valid options and subcommands. - [:octicons-arrow-right-24: View CLI Docs](cli/index.html)
    + [:octicons-arrow-right-24: View CLI Docs](https://adk.dev/api-reference/cli/)
    - :material-text-box-outline:{ .lg .middle } **Agent Config YAML reference** --- - View the full Agent Config syntax for configuring ADK with + View the full Agent Config syntax for configuring ADK with YAML text files. - [:octicons-arrow-right-24: View Agent Config reference](agentconfig/index.html)
    + [:octicons-arrow-right-24: View Agent Config reference](https://adk.dev/api-reference/agentconfig/)
    @@ -73,6 +73,6 @@ The Agent Development Kit (ADK) provides comprehensive API references for both P --- Explore the REST API for the ADK web server. This reference provides details on the available endpoints, request and response formats, and more. - [:octicons-arrow-right-24: View REST API Docs](rest/index.md)
    + [:octicons-arrow-right-24: View REST API Docs](https://adk.dev/api-reference/rest/)
    diff --git a/docs/api-reference/java/META-INF/MANIFEST.MF b/docs/api-reference/java/META-INF/MANIFEST.MF deleted file mode 100644 index 05d00c7ba9..0000000000 --- a/docs/api-reference/java/META-INF/MANIFEST.MF +++ /dev/null @@ -1,4 +0,0 @@ -Manifest-Version: 1.0 -Created-By: Maven Javadoc Plugin 3.6.3 -Build-Jdk-Spec: 24 - diff --git a/docs/api-reference/java/allclasses-index.html b/docs/api-reference/java/allclasses-index.html index 2b9db7a7bd..be9ddc31e3 100644 --- a/docs/api-reference/java/allclasses-index.html +++ b/docs/api-reference/java/allclasses-index.html @@ -2,29 +2,30 @@ - + - -All Classes and Interfaces (Google Agent Development Kit Maven Parent POM 0.2.1-SNAPSHOT API) + +All Classes and Interfaces (Google Agent Development Kit Maven Parent POM 1.2.0 API) - - - + + +loadScripts(); +initTheme(); + @@ -38,18 +39,21 @@ +
    +
    Select Theme
    +
    +
    @@ -66,104 +70,200 @@

    All Classes and Interfaces<
    Class
    Description
    - +
    -
    Configuration class for setting up Cross-Origin Resource Sharing (CORS) in the ADK Web - application.
    +
    Provides local roll logic plus a remote A2A agent for the demo.
    - -
    -
    Properties for configuring CORS in ADK Web.
    + +
    +
    Main class to demonstrate running the A2A agent with sequential inputs.
    +
    + +
    +
    Exception thrown when the A2A client encounters an error.
    - + +
    +
    Enum for the type of A2A DataPart metadata.
    +
    +
    -
    Single-file Spring Boot application for the Agent Server.
    +
    Constants and utilities for A2A metadata keys.
    +
    + +
    +
    Enum for A2A custom metadata keys.
    - + +
    +
    Enum for the type of A2A metadata.
    +
    +
    -
    DTO for POST /apps/{appName}/eval_sets/{evalSetId}/add-session requests.
    +
    Base class for MCP tools.
    - +
    -
    Spring Boot REST Controller handling agent-related API endpoints.
    +
    Manages streaming tool related resources during invocation.
    - +
    -
    Data Transfer Object (DTO) for POST /run and POST /run-sse requests.
    +
    Provides ADK components that are part of core.
    - +
    -
    A custom SpanExporter that stores relevant span data.
    +
    DTO for POST /apps/{appName}/eval_sets/{evalSetId}/add-session requests.
    +
    + +
    +
    Service provider interface for ADK components to be registered in ComponentRegistry.
    +
    + +
    +
    Enum for the type of ADK metadata.
    - +
    -
    DTO for the response of GET - /apps/{appName}/users/{userId}/sessions/{sessionId}/events/{eventId}/graph.
    +
    Configuration class for setting up Cross-Origin Resource Sharing (CORS) in the ADK Web +application.
    +
    + +
    +
    Properties for configuring CORS in ADK Web.
    - + +
    +
    Spring Boot application for the Agent Server.
    +
    +
    -
    WebSocket Handler for the /run_live endpoint.
    +
    Agent that can check whether numbers are prime.
    - +
    -
    Configuration class for OpenTelemetry, setting up the tracer provider and span exporter.
    +
    Produces the AgentCard from the bundled JSON resources.
    - +
    -
    DTO for POST /apps/{appName}/eval_sets/{evalSetId}/run-eval requests.
    +
    Spring Boot REST Controller handling agent-related API endpoints.
    - +
    -
    DTO for the response of POST /apps/{appName}/eval_sets/{evalSetId}/run-eval.
    +
    Enums for agents.
    +
    + +
    +
    Origin of the agent.
    +
    + +
    +
    Implementation of the A2A AgentExecutor interface that uses ADK to execute agent tasks.
    - +
    -
    Service for creating and caching Runner instances.
    +
    Builder for AgentExecutor.
    - +
    -
    Configuration class for WebSocket handling.
    +
    Configuration for the AgentExecutor.
    +
    + +
    +
    Builder for AgentExecutorConfig.
    +
    + +
    +
    Output mode for the agent executor.
    - +
    -
    Dynamically compiles and loads ADK BaseAgent implementations from source files.
    +
    Produces the AgentExecutor instance that handles agent interactions.
    Utility class to generate Graphviz DOT representations of Agent structures.
    + +
    +
    Interface for loading agents to the ADK Web Server.
    +
    + +
    +
    Interface for loading agents to the ADK Web Server.
    +
    Properties for loading agents.
    - + +
    +
    Declares what state keys an agent reads (inputs) and writes (output).
    +
    + +
    +
    Data Transfer Object (DTO) for POST /run and POST /run-sse requests.
    +
    +
    -
    AgentTool implements a tool that allows an agent to call another agent.
    +
    Static Agent Loader for programmatically provided agents.
    - +
    -
    RequestProcessor that handles agent transfer for LLM flow.
    +
    AgentTool implements a tool that allows an agent to call another agent.
    - +
    +
    RequestProcessor that handles agent transfer for LLM flow.
    +
    + +
    Annotations for tools.
    - -
    + +
    The annotation for binding the 'Schema' input.
    - + +
    +
    Utility class for converting ApiFuture to RxJava Single and Maybe types.
    +
    +
    -
    The API response contains a response to a call to the GenAI APIs.
    +
    A BaseLlm implementation for calling an Apigee proxy.
    - +
    +
    Builder for ApigeeLlm.
    +
    + +
    The API response contains a response to a call to the GenAI APIs.
    + +
    +
    A custom SpanExporter that stores relevant span data.
    +
    + +
    +
    Represents an LLM-backed agentic application.
    +
    + +
    +
    Builder for App.
    +
    Application Integration Toolset
    + +
    +
    Controller handling artifact-related API endpoints.
    +
    + +
    +
    A* forward search strategy that explores from preconditions toward the goal, activating agents +whose inputs are all satisfied.
    +
    LLM flow with automatic agent transfer support.
    @@ -172,14 +272,38 @@

    All Classes and Interfaces<
    Base class for all agents.
    - +
    -
    Base configuration for all agents.
    +
    Base Builder for all agents.
    - -
    + +
    +
    Base configuration for all agents with subagent support.
    +
    + +
    +
    Configuration for referencing other agents (subagents).
    +
    + +
    +
    Reference to a callback stored in the ComponentRegistry.
    +
    + +
    Base interface for artifact services.
    + +
    +
    Abstract base class for all code executors.
    +
    + +
    +
    Defines an interface for computer environments.
    +
    + +
    +
    Base interface for producing events summary.
    +
    An interface that provides examples for a given query.
    @@ -204,62 +328,124 @@

    All Classes and Interfaces<
    Base contract for memory services.
    - +
    +
    Base class for creating plugins.
    +
    + +
    Base class for retrieval tools.
    - -
    + +
    Defines the contract for managing Sessions and their associated Events.
    - -
    + +
    The base class for all ADK tools.
    - -
    + +
    +
    Configuration class for tool arguments that allows arbitrary key-value pairs.
    +
    + +
    +
    Configuration class for a tool definition in YAML/JSON.
    +
    + +
    Base interface for toolsets.
    - -
    + +
    RequestProcessor that handles basic information to build the LLM request.
    - + +
    +
    BigQuery Agent Analytics Plugin for Java.
    +
    + +
    +
    Configuration for the BigQueryAgentAnalyticsPlugin.
    +
    + +
    + +
    + +
    +
    Retry configuration for BigQuery writes.
    +
    + + +
    +
    Utility for defining the BigQuery events table schema.
    +
    + +
    A built-in code execution tool that is automatically invoked by Gemini 2 models.
    + +
    +
    A code executor that uses the Model's built-in code executor.
    +
    The context of various callbacks for an agent invocation.
    - +
    +
    Functional interfaces for agent executor lifecycle callbacks.
    +
    + +
    Functional interfaces for agent lifecycle callbacks.
    - -
     
    - +
    +
    Async callback interface for actions to be performed after an agent has finished running.
    +
    + +
    Helper interface to allow for sync afterAgentCallback.
    - -
     
    - +
    +
    Async callback interface for actions to be performed after an event is processed.
    +
    + +
    +
    Async callback interface for actions to be performed after an execution is completed or failed.
    +
    + +
     
    + +
    Helper interface to allow for sync afterModelCallback.
    - -
     
    - +
    +
    Async callback interface for actions to be performed after a tool has been invoked.
    +
    + +
    Helper interface to allow for sync afterToolCallback.
    - -
     
    - +
    +
    Async callback interface for actions to be performed before an agent starts running.
    +
    + +
    Helper interface to allow for sync beforeAgentCallback.
    + +
    +
    Async callback interface for actions to be performed before an execution is started.
    +
     
    @@ -267,51 +453,221 @@

    All Classes and Interfaces<
    Helper interface to allow for sync beforeModelCallback.

    -
     
    +
    +
    Async callback interface for actions to be performed before a tool is invoked.
    +
    Helper interface to allow for sync beforeToolCallback.
    + +
    +
    Async callback interface for handling errors that occur during an LLM model call.
    +
    + +
    +
    Helper interface to allow for sync onModelErrorCallback.
    +
    + +
    +
    Async callback interface for handling errors that occur during a tool invocation.
    +
    + +
    +
    Helper interface to allow for sync onToolErrorCallback.
    +
    Utility methods for normalizing agent callbacks.
    + +
    +
    Data Transfer Objects for Chat Completion and Chat Completion Chunk API responses.
    +
    + +
     
    Represents the Claude Generative AI model by Anthropic.
    - + +
    +
    Handles Code Execution related logic.
    +
    + +
    +
    Utility functions for code execution.
    +
    + +
    +
    A structure that contains the input of code execution.
    +
    + + + +
    +
    A structure that contains the result of code execution.
    +
    + + + +
    +
    A structure that contains a file name and its content.
    +
    + +
    + +
    +
    +
    The persistent context used to configure the code executor.
    +
    + +
    Frequently used code snippets for collections.
    - + +
    +
    Request processor that performs event compaction.
    +
    +
    -
    Utility class for interacting with the Google Cloud Connectors API.
    +
    CompiledAgentLoader implementation for the dev environment.
    - +
    -
    Represents the schema for an action.
    +
    A registry for storing and retrieving ADK instances by name.
    +
    + +
    +
    Enum for computer environments.
    +
    + +
    +
    Represents the current state of the computer environment.
    - +
    -
    Represents details of a connection.
    +
    Builder for ComputerState.
    +
    + +
    +
    A tool that wraps computer control functions for use with LLMs.
    +
    + +
    +
    A toolset that provides computer use capabilities.
    +
    + +
    +
    Configuration-based AgentLoader that loads agents from YAML configuration files.
    +
    + +
    +
    Utility class for loading agent configurations from YAML files.
    +
    + +
    +
    Exception thrown when configuration is invalid.
    +
    + +
    +
    Maps ADK GenerateContentConfig to Spring AI ChatOptions.
    +
    + +
    +
    Utility class for interacting with the Google Cloud Connectors API.
    +
    + +
    +
    Represents the schema for an action.
    - +
    +
    Represents details of a connection.
    +
    + +
    Represents the schema and available operations for an entity.
    - + +
    +
    Constants used across Firestore session service tests.
    +
    +
    +
    A code executor that uses a custom container to execute code.
    +
    + +
    RequestProcessor that populates content in request for LLM flows.
    + +
    +
    Configuration for context caching across all agents in an app.
    +
    + +
    +
    A plugin that filters the LLM request Content list to reduce its size, for example to +adhere to context window limits.
    +
    + +
    +
    Builder for ContextFilterPlugin.
    +
    Utility class for converting between different representations of MCP tools.
    + +
    +
    Provides ADK components that are part of core.
    +
    + +
     
    + +
    +
    This interface provides a method to convert a service account JSON string to a Google Credentials +object.
    +
    + +
    +
    Custom ComponentRegistry for the user-defined config agent demo.
    +
    + +
    +
    Tools for the user-defined config agent demo.
    +
    + +
    +
    Controller handling debug and tracing endpoints.
    +
    The default builder for creating MCP client transports.
    + +
    +
    Performs a topological search on the dependency graph to find the ordered list of agents that +must execute to produce a goal output, given a set of initial preconditions (state keys already +available).
    +
    + +
    +
    Backward-chaining DFS search strategy with parallel grouping.
    +
    + +
    +
    Utility class for converting between embedding formats and performing vector operations.
    +
    + +
    +
    Controller handling evaluation-related endpoints (mostly placeholder implementations).
    +
    Represents an event in a session.
    @@ -328,6 +684,30 @@

    All Classes and Interfaces<
    Builder for EventActions.
    + +
    +
    The compaction of the events.
    +
    + +
    +
    Builder for EventCompaction.
    +
    + +
    +
    Base interface for compacting events.
    +
    + +
    +
    Converter for ADK Events to A2A Messages.
    +
    + +
    +
    Configuration for event compaction.
    +
    + +
    + +
    Iterable stream of Event objects.
    @@ -340,17 +720,44 @@

    All Classes and Interfaces<
    Builder for constructing Example instances.
    - +
    -
    RequestProcessor that populates examples in LLM request.
    +
    A tool that injects (few-shot) examples into the outgoing LLM request as system instructions.
    - +
    +
    Builder for ExampleTool.
    +
    + +
    Utility class for examples.
    + +
    +
    Controller handling agent execution endpoints.
    +
    -
    Exits the loop.
    +
    Tool for exiting execution of LoopAgent.
    +
    + +
    +
    FirestoreDatabaseRunner
    +
    + +
    +
    FirestoreMemoryService is an implementation of BaseMemoryService that uses Firestore to store and +retrieve session memory entries.
    +
    + +
    +
    Placeholder class to test that the FirestoreProperties file is correctly included in the test +resources.
    +
    + +
    +
    FirestoreSessionService implements session management using Google Firestore as the backend +storage.
    @@ -379,7 +786,15 @@

    All Classes and Interfaces<
    Manages a persistent, bidirectional connection to the Gemini model via WebSockets for real-time - interaction.
    +interaction.
    +

    + +
    +
    Request / Response utilities for Gemini.
    +
    + +
    +
    Exception thrown when the the genai class has an empty field.
    @@ -389,18 +804,63 @@

    All Classes and Interfaces<
    Builder for GetSessionConfig.
    - +
    -
    A built-in tool that is automatically invoked by Gemini 2 models to retrieve search results from - Google Search.
    +
    Plugin that provides global instructions functionality at the App level.
    - +
    -
    Base client for the HTTP APIs.
    +
    A planner that resolves agent execution order based on input/output dependencies and a target +goal (output key).
    - +
    -
    Wraps a real HTTP response to expose the methods needed by the GenAI SDK.
    +
    Transforms AgentMetadata into a dependency graph where: + + + Each output key maps to the agent that produces it + Each output key maps to the input keys (dependencies) required to produce it +
    +
    + +
     
    + +
    +
    A built-in tool that is automatically invoked by Gemini 2 models to retrieve search results from +Google Maps.
    +
    + +
    +
    A tool that wraps a sub-agent that only uses google_search tool.
    +
    + +
    +
    A built-in tool that is automatically invoked by Gemini 2 and 3 models to retrieve search results +from Google Search.
    +
    + +
    +
    Controller handling graph generation endpoints.
    +
    + +
    +
    DTO for the response of GET +/apps/{appName}/users/{userId}/sessions/{sessionId}/events/{eventId}/graph.
    +
    + +
    +
    Implements a simple agent that can roll a die and check prime numbers.
    +
    + +
     
    + +
    +
    Display help information on google-adk-maven-plugin.
    +Call mvn google-adk:help -Ddetail=true -Dgoal=<goal-name> to display parameter details.
    +
    + +
    +
    Base client for the HTTP APIs.
    @@ -425,7 +885,7 @@

    All Classes and Interfaces<
    An in-memory implementation of BaseSessionService assuming Session objects are - mutable regarding their state map, events list, and last update time.
    +mutable regarding their state map, events list, and last update time.

    @@ -459,44 +919,56 @@

    All Classes and Interfaces<
    The context for an agent invocation.
    - +
    +
    Builder for InvocationContext.
    +
    + +
    The base class for the types that needs JSON serialization/deserialization capability.
    - + +
     
    +
     
    - +
    -
    Response for listing artifacts.
    +
    Life agent for answering questions about life.
    - +
    - +
    Response for listing artifacts.
    - +
    -
    Response for listing artifact versions.
    +
    - +
    - +
    Response for listing artifact versions.
    - +
    -
    Response for listing events.
    +
    - +
    -
    Builder for ListEventsResponse.
    +
    Response for listing events.
    - +
    -
    Response for listing sessions.
    +
    Builder for ListEventsResponse.
    - +
    +
    Response for listing sessions.
    +
    + +
    + +
     
    Represents a request to be sent to a live connection to the LLM model.
    @@ -509,27 +981,43 @@

    All Classes and Interfaces<
    A queue of live requests to be sent to the model.
    - +
    -
    The LLM-based agent.
    +
    WebSocket Handler for the /run_live endpoint.
    - +
    +
    The LLM-based agent.
    +
    + +
    Builder for LlmAgent.
    - -
    + +
    Enum to define if contents of previous events should be included in requests to the underlying - LLM.
    +LLM.
    - -
    + +
    Configuration for LlmAgent.
    - -
    + +
    An error indicating that the limit for calls to the LLM has been exceeded.
    + +
    +
    An LLM-based event summarizer for sliding window compaction.
    +
    + +
    +
    Paired LLM request and response for replay.
    +
    + +
    +
    Builder for LlmRecording.
    +
    Central registry for managing Large Language Model (LLM) instances.
    @@ -558,46 +1046,95 @@

    All Classes and Interfaces<
    A tool that loads artifacts and adds them to the session.
    - + +
    +
    The response from a load memory tool invocation.
    +
    + +
    +
    A tool that loads memory for the current user.
    +
    +
    -
    A function tool that returns the result asynchronously.
    +
    A plugin that logs important information at each callback point.
    - +
    -
    An agent that runs its sub-agents sequentially in a loop.
    +
    A function tool that returns the result asynchronously.
    - +
    +
    An agent that runs its sub-agents sequentially in a loop.
    +
    + +
    Builder for LoopAgent.
    - + +
    +
    Configuration for LoopAgent.
    +
    +
    +
    A planner that cycles through sub-agents repeatedly, stopping when an escalate event is detected +or the maximum number of cycles is reached.
    +
    + +
    Initializes a MCP tool.
    - + +
    +
    Connects to a MCP Server, and retrieves MCP Tools into ADK Tools.
    +
    +
    -
    Manages MCP client sessions.
    +
    Builder for McpAsyncToolset
    - +
    -
    Initializes a MCP tool.
    +
    Defines an agent that wires the MCP stdio filesystem server via McpToolset.
    - +
    -
    Connects to a MCP Server, and retrieves MCP Tools into ADK Tools.
    +
    Console runner that exercises McpFilesystemAgent.ROOT_AGENT.
    - + +
    +
    Manages MCP client sessions.
    +
    + +
    +
    Initializes a MCP tool.
    +
    +
    -
    Exception thrown when there's an error during MCP session initialization.
    +
    Base exception for all errors originating from AbstractMcpTool and its subclasses.
    - +
    -
    Exception thrown when there's an error during loading tools from the MCP server.
    +
    Exception thrown when there's an error during MCP tool declaration generated.
    +
    + +
    +
    Connects to a MCP Server, and retrieves MCP Tools into ADK Tools.
    +
    + +
    +
    Configuration class for MCPToolset.
    - +
    Base exception for all errors originating from McpToolset.
    + +
    +
    Exception thrown when there's an error during MCP session initialization.
    +
    + +
    +
    Exception thrown when there's an error during loading tools from the MCP server.
    +
    Interface for building McpClientTransport instances.
    @@ -610,6 +1147,14 @@

    All Classes and Interfaces<
    Builder for MemoryEntry.
    + +
    +
    Exception thrown when message conversion between ADK and Spring AI formats fails.
    +
    + +
    +
    Converts between ADK and Spring AI message formats.
    +
    Represents a model by name or instance.
    @@ -618,46 +1163,223 @@

    All Classes and Interfaces<
    Builder for Model.
    - +
    -
    Utility class for creating ConcurrentHashMaps.
    +
    Utility class for model names.
    +
    + +
     
    + +
    +
    Configuration class for OpenTelemetry, setting up the tracer provider and span exporter.
    - +
    -
    A shell agent that runs its sub-agents in parallel in isolated manner.
    +
    Processor that handles output schema for agents with tools.
    - +
    +
    A peer-to-peer planner where agents activate dynamically as their input dependencies become +available in session state.
    +
    + +
    +
    Utility class for creating ConcurrentHashMaps.
    +
    + +
    +
    A shell agent that runs its sub-agents in parallel in isolated manner.
    +
    + +
    Builder for ParallelAgent.
    - + +
    +
    Configuration for ParallelAgent.
    +
    +
    +
    A planner that runs all sub-agents in parallel, then completes.
    +
    + +
    +
    Utility class for converting between Google GenAI Parts and A2A DataParts.
    +
    + +
    +
    Strategy interface for planning which sub-agent(s) to execute next.
    +
    + +
    +
    Represents the next action a Planner wants the PlannerAgent to take.
    +
    + +
    +
    Plan is complete, no result to emit.
    +
    + +
    +
    Plan is complete with a final text result.
    +
    + +
    +
    Skip this iteration (no-op).
    +
    + +
    +
    Run the specified sub-agent(s).
    +
    + +
    +
    An agent that delegates execution planning to a Planner strategy.
    +
    + +
    +
    Builder for PlannerAgent.
    +
    + +
    +
    Context provided to a Planner during the planning loop.
    +
    + +
    +
    Interface for creating plugins.
    +
    + +
    +
    Manages the registration and execution of plugins.
    +
    + +
    Provides read-only access to the context of an agent run.
    + +
    +
    Single interaction recording, ordered by request timestamp.
    +
    + +
    +
    Builder for Recording.
    +
    + +
    +
    All recordings in chronological order.
    +
    + +
    +
    Builder for Recordings.
    +
    + +
    +
    Utility class for loading recordings from YAML files.
    +
    + +
    +
    Agent that communicates with a remote A2A agent via an A2A client.
    +
    + +
    +
    Exception thrown when the agent card cannot be resolved.
    +
    + +
    +
    Builder for RemoteA2AAgent.
    +
    + +
    +
    Exception thrown when a type error occurs.
    +
    + +
    +
    Policy governing how the planner reacts to missing expected outputs after an agent group +executes.
    +
    + +
    +
    Stop immediately on failure with an error message.
    +
    + +
    +
    Ignore failures and proceed with the remaining plan as-is.
    +
    + +
    +
    Attempt to recompute the remaining plan from current world state.
    +
    + +
    +
    Exception raised when replay configuration is invalid or missing.
    +
    + +
    +
    Plugin for replaying ADK agent interactions from recordings.
    +
    + +
    +
    Exception raised when replay verification fails.
    +
    + +
    +
    Handles tool confirmation information to build the LLM request.
    +
    -
     
    +
    +
    Interface for processing LLM requests.
    +
    -
     
    - -
     
    - -
     
    - +
    +
    Result of request processing.
    +
    +
    -
    Configuration to modify an agent's LLM's underlying behavior.
    +
    Utility for converting ADK events to A2A spec messages (and back).
    - + +
    +
    Interface for processing LLM responses.
    +
    + +
    +
    Result of response processing.
    +
    +
    +
    Configuration to modify an agent's LLM's underlying behavior.
    +
    + +
    Builder for RunConfig.
    - -
    + +
    Streaming mode for the runner.
    + +
    +
    Tool execution mode for the runner, when they are multiple tools requested (by the models or +callbacks).
    +
    + +
    +
    DTO for POST /apps/{appName}/eval_sets/{evalSetId}/run-eval requests.
    +
    + +
    +
    DTO for the response of POST /apps/{appName}/eval_sets/{evalSetId}/run-eval.
    +
    The main class for the GenAI Agents runner.
    + +
    +
    Builder for Runner.
    +
    + +
    +
    Service for creating and caching Runner instances.
    +
    Utility class for validating schemas.
    @@ -670,42 +1392,123 @@

    All Classes and Interfaces<
    - -
    -
    An agent that runs its sub-agents sequentially.
    + +
    +
    Strategy for searching a dependency graph to find ordered agent execution groups.
    - +
    +
    An agent that runs its sub-agents sequentially.
    +
    + +
    Builder for SequentialAgent.
    - + +
    +
    Configuration for SequentialAgent.
    +
    +
    -
    A Session object that encapsulates the State and Events of a session.
    +
    A planner that runs sub-agents one at a time in order.
    - +
    +
    A Session object that encapsulates the State and Events of a session.
    +
    + +
    Builder for Session.
    + +
    +
    Controller handling session-related API endpoints.
    +
    Represents a general error that occurred during session management operations.
    - -
    + +
    +
    Key for a session, composed of appName, userId and session id.
    +
    + +
    Indicates that a requested session could not be found.
    + +
    +
    Data Transfer Object (DTO) for POST /apps/{appName}/users/{userId}/sessions and POST +/apps/{appName}/users/{userId}/sessions/{sessionId} equests.
    +
    Utility functions for session service.
    - +
    -
    Basic LLM flow with fixed request processors and no response post-processing.
    +
    Internal tool used for output schema workaround.
    +
    + +
    +
    Basic LLM flow with fixed request and response processors.
    +
    + +
    +
    This class performs events compaction in a sliding window fashion based on the EventsCompactionConfig.
    Interface for a speech-to-text client.
    + +
    +
    Spring AI implementation of BaseLlm that wraps Spring AI ChatModel and StreamingChatModel.
    +
    + +
    +
    Auto-configuration for Spring AI integration with ADK.
    +
    + +
    +
    Spring AI embedding model wrapper that provides ADK-compatible embedding generation.
    +
    + +
    +
    Maps Spring AI exceptions to appropriate ADK exceptions and error handling strategies.
    +
    + +
    +
    Error categories for different types of failures.
    +
    + +
    +
    Container for mapped error information.
    +
    + +
    +
    Retry strategy recommendations.
    +
    + +
    +
    Handles observability features for Spring AI integration using Micrometer.
    +
    + +
    +
    Context for tracking a single request with Micrometer timer.
    +
    + +
    +
    Configuration properties for Spring AI integration with ADK.
    +
    + +
    +
    Observability configuration settings.
    +
    + +
    +
    Configuration validation settings.
    +
    Parameters for establishing a MCP Server-Sent Events (SSE) connection.
    @@ -714,38 +1517,131 @@

    All Classes and Interfaces<
    Builder for SseServerParameters.
    - +
    +
    Configuration applied on startup, such as Jackson module registrations.
    +
    + +
    A State object that also keeps track of the changes to the state.
    - + +
     
    + +
     
    + +
    +
    Parameters for establishing a MCP stdio connection.
    +
    +
    -
    Utility class for capturing and reporting telemetry data within the ADK.
    +
    - +
    -
    ToolContext object provides a structured context for executing tools or functions.
    +
    Server parameters for Streamable HTTP client transport.
    +
    + + + +
    +
    Aggregates streaming responses from Spring AI models.
    +
    + +
    +
    A planner that uses an LLM to dynamically decide which sub-agent(s) to run next.
    +
    + +
    +
    This class performs event compaction by retaining the tail of the event stream.
    +
    + +
    +
    Represents a tool confirmation configuration.
    - + +
    +
    Builder for ToolConfirmation.
    +
    +
    +
    ToolContext object provides a structured context for executing tools or functions.
    +
    + +
    Builder for ToolContext.
    - -
    + +
    +
    Converts between ADK and Spring AI tool/function formats.
    +
    + +
    +
    Simple metadata holder for tool information.
    +
    + +
    Functional interface to decide whether a tool should be exposed to the LLM based on the current - context.
    +context.
    +
    + +
    +
    Paired tool call and response for replay.
    +
    + +
    +
    Builder for ToolRecording.
    +
    + +
    +
    Manages OpenTelemetry-style trace and span context using InvocationContext callback data.
    +
    + +
    +
    Utility class for capturing and reporting telemetry data within the ADK.
    +
    + +
    +
    A transformer that re-activates a given context for the duration of the stream's subscription.
    +
    + +
    +
    A transformer that manages an OpenTelemetry span and scope for RxJava streams.
    +
    + +
    +
    A built-in tool that is automatically invoked by Gemini 2 and 3 models to retrieve information +from the given URLs.
    Tracks the current ADK version.
    - +
    +
    A code executor that uses Vertex Code Interpreter Extension to execute code.
    +
    + +
    A retrieval tool that fetches context from Vertex AI RAG.
    + +
    +
    A tool that wraps a sub-agent that only uses vertex_ai_search tool.
    +
    + +
    +
    A built-in tool using Vertex AI Search.
    +
    + +
    +
    Builder for VertexAiSearchTool.
    +
    -
    TODO: Use the genai HttpApiClient and ApiResponse methods once they are public.
    +
    Connects to the managed Vertex AI Session Service.
    @@ -759,12 +1655,20 @@

    All Classes and Interfaces<
    Implementation of SpeechClientInterface using Vertex AI SpeechClient.
    + +
    +
    Maven plugin goal that starts the Google ADK Web Server with user-provided agents.
    +
    + +
    +
    Configuration class for WebSocket handling.
    +

    -
    +

    - +
    diff --git a/docs/api-reference/java/allpackages-index.html b/docs/api-reference/java/allpackages-index.html index 28eabfa65f..115a29427c 100644 --- a/docs/api-reference/java/allpackages-index.html +++ b/docs/api-reference/java/allpackages-index.html @@ -2,29 +2,30 @@ - + - -All Packages (Google Agent Development Kit Maven Parent POM 0.2.1-SNAPSHOT API) + +All Packages (Google Agent Development Kit Maven Parent POM 1.2.0 API) - - - + + +loadScripts(); +initTheme(); + @@ -38,18 +39,21 @@ +
    +
    Select Theme
    +
    +

    @@ -64,43 +68,99 @@

    All Packages

    Package
    Description
    + +
     
    + +
     
    + +
     
    + +
     
     
    + +
     
    + +
     
    + +
     
    + +
     
     
    - + +
     
    + +
     
    +
     
     
     
    - + +
     
    + +
     
    +
     
    - +
     
    - +
     
    - +
     
    - +
     
    - +
     
     
    - + +
     
    + +
     
    + +
     
    + +
     
    + +
     
    + +
     
    + +
     
    + +
     
    + +
     
    + +
     
    +
     
     
    + +
     
    + +
     
     
    + +
     
    + +
     
     
     
    - + +
     
    + +
     
    +
     
    - +
     
     
    @@ -108,10 +168,18 @@

    All Packages

     
     
    + +
     
    + +
     
    + +
     
    + +
     
    -
    +

    - +
    diff --git a/docs/api-reference/java/com/example/CoreCallbacks.html b/docs/api-reference/java/com/example/CoreCallbacks.html new file mode 100644 index 0000000000..52c128020d --- /dev/null +++ b/docs/api-reference/java/com/example/CoreCallbacks.html @@ -0,0 +1,332 @@ + + + + + + + +CoreCallbacks (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class CoreCallbacks

    +
    +
    java.lang.Object +
    com.example.CoreCallbacks
    +
    +
    +
    +
    +
    public final class CoreCallbacks +extends Object
    +
    +
    +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/CustomDemoRegistry.html b/docs/api-reference/java/com/example/CustomDemoRegistry.html new file mode 100644 index 0000000000..e1eaa5c89b --- /dev/null +++ b/docs/api-reference/java/com/example/CustomDemoRegistry.html @@ -0,0 +1,283 @@ + + + + + + + +CustomDemoRegistry (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class CustomDemoRegistry

    +
    +
    java.lang.Object +
    com.google.adk.utils.ComponentRegistry +
    com.example.CustomDemoRegistry
    +
    +
    +
    +
    +
    +
    public class CustomDemoRegistry +extends ComponentRegistry
    +
    Custom ComponentRegistry for the user-defined config agent demo. + +

    This registry is used to add custom tools and agents to the ADK Web Server.

    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        INSTANCE

        +
        +
        public static final CustomDemoRegistry INSTANCE
        +
        Singleton instance for easy access
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        CustomDemoRegistry

        +
        +
        public CustomDemoRegistry()
        +
        Private constructor to initialize custom components
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/CustomDieTool.html b/docs/api-reference/java/com/example/CustomDieTool.html new file mode 100644 index 0000000000..2e184bf328 --- /dev/null +++ b/docs/api-reference/java/com/example/CustomDieTool.html @@ -0,0 +1,260 @@ + + + + + + + +CustomDieTool (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class CustomDieTool

    +
    +
    java.lang.Object +
    com.example.CustomDieTool
    +
    +
    +
    +
    +
    public class CustomDieTool +extends Object
    +
    Tools for the user-defined config agent demo.
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        ROLL_DIE_INSTANCE

        +
        +
        public static final FunctionTool ROLL_DIE_INSTANCE
        +
        +
        +
      • +
      • +
        +

        CHECK_PRIME_INSTANCE

        +
        +
        public static final FunctionTool CHECK_PRIME_INSTANCE
        +
        +
        +
      • +
      • +
        +

        EXAMPLE_TOOL_INSTANCE

        +
        +
        public static final ExampleTool EXAMPLE_TOOL_INSTANCE
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        CustomDieTool

        +
        +
        public CustomDieTool()
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      + +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/LifeAgent.html b/docs/api-reference/java/com/example/LifeAgent.html new file mode 100644 index 0000000000..e61903fd63 --- /dev/null +++ b/docs/api-reference/java/com/example/LifeAgent.html @@ -0,0 +1,153 @@ + + + + + + + +LifeAgent (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class LifeAgent

    +
    +
    java.lang.Object +
    com.example.LifeAgent
    +
    +
    +
    +
    +
    public class LifeAgent +extends Object
    +
    Life agent for answering questions about life.
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        INSTANCE

        +
        +
        public static final LlmAgent INSTANCE
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/a2a_basic/A2AAgent.html b/docs/api-reference/java/com/example/a2a_basic/A2AAgent.html new file mode 100644 index 0000000000..c630063f71 --- /dev/null +++ b/docs/api-reference/java/com/example/a2a_basic/A2AAgent.html @@ -0,0 +1,201 @@ + + + + + + + +A2AAgent (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class A2AAgent

    +
    +
    java.lang.Object +
    com.example.a2a_basic.A2AAgent
    +
    +
    +
    +
    +
    public final class A2AAgent +extends Object
    +
    Provides local roll logic plus a remote A2A agent for the demo.
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        ROLL_AGENT

        +
        +
        public static final LlmAgent ROLL_AGENT
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        rollDie

        +
        +
        public static com.google.common.collect.ImmutableMap<String,Object> rollDie(int sides, + ToolContext toolContext)
        +
        +
        +
      • +
      • +
        +

        createRootAgent

        +
        +
        public static LlmAgent createRootAgent(String primeAgentBaseUrl)
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/a2a_basic/A2AAgentRun.html b/docs/api-reference/java/com/example/a2a_basic/A2AAgentRun.html new file mode 100644 index 0000000000..85e0d78bbd --- /dev/null +++ b/docs/api-reference/java/com/example/a2a_basic/A2AAgentRun.html @@ -0,0 +1,185 @@ + + + + + + + +A2AAgentRun (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class A2AAgentRun

    +
    +
    java.lang.Object +
    com.example.a2a_basic.A2AAgentRun
    +
    +
    +
    +
    +
    public final class A2AAgentRun +extends Object
    +
    Main class to demonstrate running the A2A agent with sequential inputs.
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        A2AAgentRun

        +
        +
        public A2AAgentRun(BaseAgent agent)
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        main

        +
        +
        public static void main(String[] args)
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/class-use/CollectionUtils.html b/docs/api-reference/java/com/example/a2a_basic/class-use/A2AAgent.html similarity index 55% rename from docs/api-reference/java/com/google/adk/class-use/CollectionUtils.html rename to docs/api-reference/java/com/example/a2a_basic/class-use/A2AAgent.html index 2893b9da8e..7c4fee7e78 100644 --- a/docs/api-reference/java/com/google/adk/class-use/CollectionUtils.html +++ b/docs/api-reference/java/com/example/a2a_basic/class-use/A2AAgent.html @@ -2,29 +2,30 @@ - + - -Uses of Class com.google.adk.CollectionUtils (Agent Development Kit 0.1.0 API) + +Uses of Class com.example.a2a_basic.A2AAgent (Google Agent Development Kit Maven Parent POM 1.2.0 API) - - + - - + + +loadScripts(); +initTheme(); + @@ -37,24 +38,27 @@ +
    +
    Select Theme
    +
    +

    @@ -63,12 +67,12 @@
    -

    Uses of Class
    com.google.adk.CollectionUtils

    +

    Uses of Class
    com.example.a2a_basic.A2AAgent

    -No usage of com.google.adk.CollectionUtils -
    +No usage of com.example.a2a_basic.A2AAgent +

    - +
    diff --git a/docs/api-reference/java/com/example/a2a_basic/class-use/A2AAgentRun.html b/docs/api-reference/java/com/example/a2a_basic/class-use/A2AAgentRun.html new file mode 100644 index 0000000000..a0fcb788af --- /dev/null +++ b/docs/api-reference/java/com/example/a2a_basic/class-use/A2AAgentRun.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class com.example.a2a_basic.A2AAgentRun (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.example.a2a_basic.A2AAgentRun

    +
    +No usage of com.example.a2a_basic.A2AAgentRun +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/a2a_basic/package-summary.html b/docs/api-reference/java/com/example/a2a_basic/package-summary.html new file mode 100644 index 0000000000..c31953a9b8 --- /dev/null +++ b/docs/api-reference/java/com/example/a2a_basic/package-summary.html @@ -0,0 +1,126 @@ + + + + + + + +com.example.a2a_basic (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    +

    Package com.example.a2a_basic

    +
    +
    +
    +
    package com.example.a2a_basic
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/a2a_basic/package-tree.html b/docs/api-reference/java/com/example/a2a_basic/package-tree.html new file mode 100644 index 0000000000..35eb3c9894 --- /dev/null +++ b/docs/api-reference/java/com/example/a2a_basic/package-tree.html @@ -0,0 +1,93 @@ + + + + + + + +com.example.a2a_basic Class Hierarchy (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Hierarchy For Package com.example.a2a_basic

    +
    +Package Hierarchies: + +
    +

    Class Hierarchy

    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/a2a_basic/package-use.html b/docs/api-reference/java/com/example/a2a_basic/package-use.html new file mode 100644 index 0000000000..d0092ea3a4 --- /dev/null +++ b/docs/api-reference/java/com/example/a2a_basic/package-use.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Package com.example.a2a_basic (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Package
    com.example.a2a_basic

    +
    +No usage of com.example.a2a_basic +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/class-use/CoreCallbacks.html b/docs/api-reference/java/com/example/class-use/CoreCallbacks.html new file mode 100644 index 0000000000..8b4dc5f1d1 --- /dev/null +++ b/docs/api-reference/java/com/example/class-use/CoreCallbacks.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class com.example.CoreCallbacks (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.example.CoreCallbacks

    +
    +No usage of com.example.CoreCallbacks +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/class-use/CustomDemoRegistry.html b/docs/api-reference/java/com/example/class-use/CustomDemoRegistry.html new file mode 100644 index 0000000000..5fa3a74f5a --- /dev/null +++ b/docs/api-reference/java/com/example/class-use/CustomDemoRegistry.html @@ -0,0 +1,106 @@ + + + + + + + +Uses of Class com.example.CustomDemoRegistry (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.example.CustomDemoRegistry

    +
    +
    Packages that use CustomDemoRegistry
    +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/class-use/CustomDieTool.html b/docs/api-reference/java/com/example/class-use/CustomDieTool.html new file mode 100644 index 0000000000..c68ce0d02e --- /dev/null +++ b/docs/api-reference/java/com/example/class-use/CustomDieTool.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class com.example.CustomDieTool (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.example.CustomDieTool

    +
    +No usage of com.example.CustomDieTool +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/class-use/LifeAgent.html b/docs/api-reference/java/com/example/class-use/LifeAgent.html new file mode 100644 index 0000000000..7dced58da1 --- /dev/null +++ b/docs/api-reference/java/com/example/class-use/LifeAgent.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class com.example.LifeAgent (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.example.LifeAgent

    +
    +No usage of com.example.LifeAgent +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/helloworld/HelloWorldAgent.html b/docs/api-reference/java/com/example/helloworld/HelloWorldAgent.html new file mode 100644 index 0000000000..8fff3b4870 --- /dev/null +++ b/docs/api-reference/java/com/example/helloworld/HelloWorldAgent.html @@ -0,0 +1,201 @@ + + + + + + + +HelloWorldAgent (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class HelloWorldAgent

    +
    +
    java.lang.Object +
    com.example.helloworld.HelloWorldAgent
    +
    +
    +
    +
    +
    public class HelloWorldAgent +extends Object
    +
    Implements a simple agent that can roll a die and check prime numbers.
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        ROOT_AGENT

        +
        +
        public static final LlmAgent ROOT_AGENT
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        rollDie

        +
        +
        public static com.google.common.collect.ImmutableMap<String,Object> rollDie(int sides, + ToolContext toolContext)
        +
        +
        +
      • +
      • +
        +

        checkPrime

        +
        +
        public static com.google.common.collect.ImmutableMap<String,Object> checkPrime(List<Integer> nums)
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/helloworld/HelloWorldRun.html b/docs/api-reference/java/com/example/helloworld/HelloWorldRun.html new file mode 100644 index 0000000000..9150bd6e10 --- /dev/null +++ b/docs/api-reference/java/com/example/helloworld/HelloWorldRun.html @@ -0,0 +1,149 @@ + + + + + + + +HelloWorldRun (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class HelloWorldRun

    +
    +
    java.lang.Object +
    com.example.helloworld.HelloWorldRun
    +
    +
    +
    +
    +
    public final class HelloWorldRun +extends Object
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        main

        +
        +
        public static void main(String[] args)
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/helloworld/class-use/HelloWorldAgent.html b/docs/api-reference/java/com/example/helloworld/class-use/HelloWorldAgent.html new file mode 100644 index 0000000000..7588cd2a78 --- /dev/null +++ b/docs/api-reference/java/com/example/helloworld/class-use/HelloWorldAgent.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class com.example.helloworld.HelloWorldAgent (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.example.helloworld.HelloWorldAgent

    +
    +No usage of com.example.helloworld.HelloWorldAgent +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/helloworld/class-use/HelloWorldRun.html b/docs/api-reference/java/com/example/helloworld/class-use/HelloWorldRun.html new file mode 100644 index 0000000000..c37c20c059 --- /dev/null +++ b/docs/api-reference/java/com/example/helloworld/class-use/HelloWorldRun.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class com.example.helloworld.HelloWorldRun (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.example.helloworld.HelloWorldRun

    +
    +No usage of com.example.helloworld.HelloWorldRun +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/helloworld/package-summary.html b/docs/api-reference/java/com/example/helloworld/package-summary.html new file mode 100644 index 0000000000..648a5c0176 --- /dev/null +++ b/docs/api-reference/java/com/example/helloworld/package-summary.html @@ -0,0 +1,124 @@ + + + + + + + +com.example.helloworld (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    +

    Package com.example.helloworld

    +
    +
    +
    +
    package com.example.helloworld
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/helloworld/package-tree.html b/docs/api-reference/java/com/example/helloworld/package-tree.html new file mode 100644 index 0000000000..4535ac5346 --- /dev/null +++ b/docs/api-reference/java/com/example/helloworld/package-tree.html @@ -0,0 +1,93 @@ + + + + + + + +com.example.helloworld Class Hierarchy (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Hierarchy For Package com.example.helloworld

    +
    +Package Hierarchies: + +
    +

    Class Hierarchy

    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/helloworld/package-use.html b/docs/api-reference/java/com/example/helloworld/package-use.html new file mode 100644 index 0000000000..006c411683 --- /dev/null +++ b/docs/api-reference/java/com/example/helloworld/package-use.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Package com.example.helloworld (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Package
    com.example.helloworld

    +
    +No usage of com.example.helloworld +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/mcpfilesystem/McpFilesystemAgent.html b/docs/api-reference/java/com/example/mcpfilesystem/McpFilesystemAgent.html new file mode 100644 index 0000000000..dd4a77fbe2 --- /dev/null +++ b/docs/api-reference/java/com/example/mcpfilesystem/McpFilesystemAgent.html @@ -0,0 +1,156 @@ + + + + + + + +McpFilesystemAgent (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class McpFilesystemAgent

    +
    +
    java.lang.Object +
    com.example.mcpfilesystem.McpFilesystemAgent
    +
    +
    +
    +
    +
    public final class McpFilesystemAgent +extends Object
    +
    Defines an agent that wires the MCP stdio filesystem server via McpToolset.
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        ROOT_AGENT

        +
        +
        public static final LlmAgent ROOT_AGENT
        +
        Root agent instance exposed to runners and registries.
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/mcpfilesystem/McpFilesystemRun.html b/docs/api-reference/java/com/example/mcpfilesystem/McpFilesystemRun.html new file mode 100644 index 0000000000..3582996811 --- /dev/null +++ b/docs/api-reference/java/com/example/mcpfilesystem/McpFilesystemRun.html @@ -0,0 +1,158 @@ + + + + + + + +McpFilesystemRun (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class McpFilesystemRun

    +
    +
    java.lang.Object +
    com.example.mcpfilesystem.McpFilesystemRun
    +
    +
    +
    +
    +
    public final class McpFilesystemRun +extends Object
    +
    Console runner that exercises McpFilesystemAgent.ROOT_AGENT.
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        main

        +
        +
        public static void main(String[] args)
        +
        Entry point for the sample runner.
        +
        +
        Parameters:
        +
        args - Optional command-line arguments. Pass --run-extended for additional + prompts.
        +
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/mcpfilesystem/class-use/McpFilesystemAgent.html b/docs/api-reference/java/com/example/mcpfilesystem/class-use/McpFilesystemAgent.html new file mode 100644 index 0000000000..ddfcd8d654 --- /dev/null +++ b/docs/api-reference/java/com/example/mcpfilesystem/class-use/McpFilesystemAgent.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class com.example.mcpfilesystem.McpFilesystemAgent (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.example.mcpfilesystem.McpFilesystemAgent

    +
    +No usage of com.example.mcpfilesystem.McpFilesystemAgent +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/mcpfilesystem/class-use/McpFilesystemRun.html b/docs/api-reference/java/com/example/mcpfilesystem/class-use/McpFilesystemRun.html new file mode 100644 index 0000000000..31f3f8c1d7 --- /dev/null +++ b/docs/api-reference/java/com/example/mcpfilesystem/class-use/McpFilesystemRun.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class com.example.mcpfilesystem.McpFilesystemRun (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.example.mcpfilesystem.McpFilesystemRun

    +
    +No usage of com.example.mcpfilesystem.McpFilesystemRun +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/mcpfilesystem/package-summary.html b/docs/api-reference/java/com/example/mcpfilesystem/package-summary.html new file mode 100644 index 0000000000..bff976de28 --- /dev/null +++ b/docs/api-reference/java/com/example/mcpfilesystem/package-summary.html @@ -0,0 +1,126 @@ + + + + + + + +com.example.mcpfilesystem (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    +

    Package com.example.mcpfilesystem

    +
    +
    +
    +
    package com.example.mcpfilesystem
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/mcpfilesystem/package-tree.html b/docs/api-reference/java/com/example/mcpfilesystem/package-tree.html new file mode 100644 index 0000000000..ee4e9c63be --- /dev/null +++ b/docs/api-reference/java/com/example/mcpfilesystem/package-tree.html @@ -0,0 +1,93 @@ + + + + + + + +com.example.mcpfilesystem Class Hierarchy (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Hierarchy For Package com.example.mcpfilesystem

    +
    +Package Hierarchies: + +
    +

    Class Hierarchy

    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/mcpfilesystem/package-use.html b/docs/api-reference/java/com/example/mcpfilesystem/package-use.html new file mode 100644 index 0000000000..dedbf70924 --- /dev/null +++ b/docs/api-reference/java/com/example/mcpfilesystem/package-use.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Package com.example.mcpfilesystem (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Package
    com.example.mcpfilesystem

    +
    +No usage of com.example.mcpfilesystem +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/package-summary.html b/docs/api-reference/java/com/example/package-summary.html new file mode 100644 index 0000000000..2eda16d16c --- /dev/null +++ b/docs/api-reference/java/com/example/package-summary.html @@ -0,0 +1,132 @@ + + + + + + + +com.example (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    +

    Package com.example

    +
    +
    +
    +
    package com.example
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/package-tree.html b/docs/api-reference/java/com/example/package-tree.html new file mode 100644 index 0000000000..6309c7a374 --- /dev/null +++ b/docs/api-reference/java/com/example/package-tree.html @@ -0,0 +1,99 @@ + + + + + + + +com.example Class Hierarchy (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Hierarchy For Package com.example

    +
    +Package Hierarchies: + +
    +

    Class Hierarchy

    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/example/package-use.html b/docs/api-reference/java/com/example/package-use.html new file mode 100644 index 0000000000..5f35d94807 --- /dev/null +++ b/docs/api-reference/java/com/example/package-use.html @@ -0,0 +1,102 @@ + + + + + + + +Uses of Package com.example (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Package
    com.example

    +
    +
    Packages that use com.example
    +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/JsonBaseModel.html b/docs/api-reference/java/com/google/adk/JsonBaseModel.html index 216a96ff61..796d8a71af 100644 --- a/docs/api-reference/java/com/google/adk/JsonBaseModel.html +++ b/docs/api-reference/java/com/google/adk/JsonBaseModel.html @@ -2,29 +2,30 @@ - + - -JsonBaseModel (Google Agent Development Kit Maven Parent POM 0.2.1-SNAPSHOT API) + +JsonBaseModel (Google Agent Development Kit Maven Parent POM 1.2.0 API) - - - + + +loadScripts(); +initTheme(); + @@ -40,9 +41,15 @@
  • Use
  • Tree
  • +
  • Deprecated
  • Index
  • Search
  • +
  • +
    +
    Select Theme
    +
    +

    @@ -62,12 +66,8 @@
    +

    Class JsonBaseModel

    -

    @@ -136,29 +136,33 @@

    Method Summary

    Description
    static <T extends JsonBaseModel>
    T
    fromJsonNode(com.fasterxml.jackson.databind.JsonNode jsonNode, - Class<T> clazz)
    + Class<T> clazz)
    Deserializes a JsonNode to an object of the given type.
    static <T extends JsonBaseModel>
    T
    -
    fromJsonString(String jsonString, - Class<T> clazz)
    +
    fromJsonString(String jsonString, + Class<T> clazz)
    Deserializes a Json string to an object of the given type.
    static com.fasterxml.jackson.databind.ObjectMapper
    -
     
    - +
    +
    Returns the mutable ObjectMapper instance used by ADK.
    +
    + -
     
    +
    +
    Serializes this object (i.e., the ObjectMappper instance used by ADK) to a Json string.
    +
    protected static com.fasterxml.jackson.databind.JsonNode
    - +
    Serializes an object to a JsonNode.
    -
    protected static String
    - +
    static String
    +
    Serializes an object to a Json string.
    @@ -166,8 +170,8 @@

    Method Summary

    -

    Methods inherited from class java.lang.Object

    -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait @@ -199,7 +203,7 @@

    Method Details

    toJsonString

    -
    protected static String toJsonString(Object object)
    +
    public static String toJsonString(Object object)
    Serializes an object to a Json string.
    @@ -209,6 +213,7 @@

    toJsonString

    getMapper

    public static com.fasterxml.jackson.databind.ObjectMapper getMapper()
    +
    Returns the mutable ObjectMapper instance used by ADK.
    @@ -216,7 +221,8 @@

    getMapper

    toJson

    -
    public String toJson()
    +
    public String toJson()
    +
    Serializes this object (i.e., the ObjectMappper instance used by ADK) to a Json string.
    @@ -224,7 +230,7 @@

    toJson

    toJsonNode

    -
    protected static com.fasterxml.jackson.databind.JsonNode toJsonNode(Object object)
    +
    protected static com.fasterxml.jackson.databind.JsonNode toJsonNode(Object object)
    Serializes an object to a JsonNode.
    @@ -233,8 +239,8 @@

    toJsonNode

    fromJsonString

    -
    public static <T extends JsonBaseModel> T fromJsonString(String jsonString, - Class<T> clazz)
    +
    public static <T extends JsonBaseModel> T fromJsonString(String jsonString, + Class<T> clazz)
    Deserializes a Json string to an object of the given type.
    @@ -244,7 +250,7 @@

    fromJsonString

    fromJsonNode

    public static <T extends JsonBaseModel> T fromJsonNode(com.fasterxml.jackson.databind.JsonNode jsonNode, - Class<T> clazz)
    + Class<T> clazz)
    Deserializes a JsonNode to an object of the given type.
    @@ -255,9 +261,9 @@

    fromJsonNode

    - diff --git a/docs/api-reference/java/com/google/adk/web/class-use/AdkWebServer.OpenTelemetryConfig.html b/docs/api-reference/java/com/google/adk/a2a/class-use/RemoteA2AAgent.A2AClientError.html similarity index 61% rename from docs/api-reference/java/com/google/adk/web/class-use/AdkWebServer.OpenTelemetryConfig.html rename to docs/api-reference/java/com/google/adk/a2a/class-use/RemoteA2AAgent.A2AClientError.html index 6bfcc49f58..83b6f7cde3 100644 --- a/docs/api-reference/java/com/google/adk/web/class-use/AdkWebServer.OpenTelemetryConfig.html +++ b/docs/api-reference/java/com/google/adk/a2a/class-use/RemoteA2AAgent.A2AClientError.html @@ -2,22 +2,21 @@ - + - -Uses of Class com.google.adk.web.AdkWebServer.OpenTelemetryConfig (Google Agent Development Kit Maven Parent POM 0.2.1-SNAPSHOT API) + +Uses of Class com.google.adk.a2a.RemoteA2AAgent.A2AClientError (Google Agent Development Kit Maven Parent POM 0.9.0 API) - - + - - + + @@ -37,9 +36,10 @@ @@ -48,14 +48,11 @@ @@ -64,12 +61,12 @@
    -

    Uses of Class
    com.google.adk.web.AdkWebServer.OpenTelemetryConfig

    +

    Uses of Class
    com.google.adk.a2a.RemoteA2AAgent.A2AClientError

    -No usage of com.google.adk.web.AdkWebServer.OpenTelemetryConfig +No usage of com.google.adk.a2a.RemoteA2AAgent.A2AClientError

    - +
    diff --git a/docs/api-reference/java/com/google/adk/a2a/class-use/RemoteA2AAgent.AgentCardResolutionError.html b/docs/api-reference/java/com/google/adk/a2a/class-use/RemoteA2AAgent.AgentCardResolutionError.html new file mode 100644 index 0000000000..c4e3b4f96d --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/class-use/RemoteA2AAgent.AgentCardResolutionError.html @@ -0,0 +1,74 @@ + + + + + + + +Uses of Class com.google.adk.a2a.RemoteA2AAgent.AgentCardResolutionError (Google Agent Development Kit Maven Parent POM 0.9.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.RemoteA2AAgent.AgentCardResolutionError

    +
    +No usage of com.google.adk.a2a.RemoteA2AAgent.AgentCardResolutionError +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/class-use/RemoteA2AAgent.Builder.html b/docs/api-reference/java/com/google/adk/a2a/class-use/RemoteA2AAgent.Builder.html new file mode 100644 index 0000000000..08f72caf21 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/class-use/RemoteA2AAgent.Builder.html @@ -0,0 +1,119 @@ + + + + + + + +Uses of Class com.google.adk.a2a.RemoteA2AAgent.Builder (Google Agent Development Kit Maven Parent POM 0.9.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.RemoteA2AAgent.Builder

    +
    +
    Packages that use RemoteA2AAgent.Builder
    +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/class-use/RemoteA2AAgent.TypeError.html b/docs/api-reference/java/com/google/adk/a2a/class-use/RemoteA2AAgent.TypeError.html new file mode 100644 index 0000000000..f1a716f8e3 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/class-use/RemoteA2AAgent.TypeError.html @@ -0,0 +1,74 @@ + + + + + + + +Uses of Class com.google.adk.a2a.RemoteA2AAgent.TypeError (Google Agent Development Kit Maven Parent POM 0.9.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.RemoteA2AAgent.TypeError

    +
    +No usage of com.google.adk.a2a.RemoteA2AAgent.TypeError +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/class-use/RemoteA2AAgent.html b/docs/api-reference/java/com/google/adk/a2a/class-use/RemoteA2AAgent.html new file mode 100644 index 0000000000..b598dd4108 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/class-use/RemoteA2AAgent.html @@ -0,0 +1,97 @@ + + + + + + + +Uses of Class com.google.adk.a2a.RemoteA2AAgent (Google Agent Development Kit Maven Parent POM 0.9.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.RemoteA2AAgent

    +
    +
    Packages that use RemoteA2AAgent
    +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/common/A2AClientError.html b/docs/api-reference/java/com/google/adk/a2a/common/A2AClientError.html new file mode 100644 index 0000000000..721dcafd9c --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/common/A2AClientError.html @@ -0,0 +1,185 @@ + + + + + + + +A2AClientError (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class A2AClientError

    +
    +
    java.lang.Object +
    java.lang.Throwable +
    java.lang.Exception +
    java.lang.RuntimeException +
    com.google.adk.a2a.common.A2AClientError
    +
    +
    +
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Serializable
    +
    +
    +
    +
    public class A2AClientError +extends RuntimeException
    +
    Exception thrown when the A2A client encounters an error.
    +
    +
    See Also:
    +
    + +
    +
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        A2AClientError

        +
        +
        public A2AClientError(String message)
        +
        +
        +
      • +
      • +
        +

        A2AClientError

        +
        +
        public A2AClientError(String message, + Throwable cause)
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/common/A2AMetadata.Key.html b/docs/api-reference/java/com/google/adk/a2a/common/A2AMetadata.Key.html new file mode 100644 index 0000000000..a890d48743 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/common/A2AMetadata.Key.html @@ -0,0 +1,279 @@ + + + + + + + +A2AMetadata.Key (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Enum Class A2AMetadata.Key

    +
    +
    java.lang.Object +
    java.lang.Enum<A2AMetadata.Key> +
    com.google.adk.a2a.common.A2AMetadata.Key
    +
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Serializable, Comparable<A2AMetadata.Key>, Constable
    +
    +
    +
    Enclosing class:
    +
    A2AMetadata
    +
    +
    +
    +
    public static enum A2AMetadata.Key +extends Enum<A2AMetadata.Key>
    +
    Enum for A2A custom metadata keys.
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Enum Constant Details

      + +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        values

        +
        +
        public static A2AMetadata.Key[] values()
        +
        Returns an array containing the constants of this enum class, in +the order they are declared.
        +
        +
        Returns:
        +
        an array containing the constants of this enum class, in the order they are declared
        +
        +
        +
        +
      • +
      • +
        +

        valueOf

        +
        +
        public static A2AMetadata.Key valueOf(String name)
        +
        Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        IllegalArgumentException - if this enum class has no constant with the specified name
        +
        NullPointerException - if the argument is null
        +
        +
        +
        +
      • +
      • +
        +

        getValue

        +
        +
        public String getValue()
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/common/A2AMetadata.html b/docs/api-reference/java/com/google/adk/a2a/common/A2AMetadata.html new file mode 100644 index 0000000000..3c657ccc85 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/common/A2AMetadata.html @@ -0,0 +1,130 @@ + + + + + + + +A2AMetadata (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class A2AMetadata

    +
    +
    java.lang.Object +
    com.google.adk.a2a.common.A2AMetadata
    +
    +
    +
    +
    +
    public final class A2AMetadata +extends Object
    +
    Constants and utilities for A2A metadata keys.
    +
    +
    +
    + +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/common/GenAiFieldMissingException.html b/docs/api-reference/java/com/google/adk/a2a/common/GenAiFieldMissingException.html new file mode 100644 index 0000000000..6c30f4dcad --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/common/GenAiFieldMissingException.html @@ -0,0 +1,185 @@ + + + + + + + +GenAiFieldMissingException (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class GenAiFieldMissingException

    +
    +
    java.lang.Object +
    java.lang.Throwable +
    java.lang.Exception +
    java.lang.RuntimeException +
    com.google.adk.a2a.common.GenAiFieldMissingException
    +
    +
    +
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Serializable
    +
    +
    +
    +
    public class GenAiFieldMissingException +extends RuntimeException
    +
    Exception thrown when the the genai class has an empty field.
    +
    +
    See Also:
    +
    + +
    +
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        GenAiFieldMissingException

        +
        +
        public GenAiFieldMissingException(String message)
        +
        +
        +
      • +
      • +
        +

        GenAiFieldMissingException

        +
        +
        public GenAiFieldMissingException(String message, + Throwable cause)
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/common/class-use/A2AClientError.html b/docs/api-reference/java/com/google/adk/a2a/common/class-use/A2AClientError.html new file mode 100644 index 0000000000..c913cecaa7 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/common/class-use/A2AClientError.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class com.google.adk.a2a.common.A2AClientError (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.common.A2AClientError

    +
    +No usage of com.google.adk.a2a.common.A2AClientError +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/common/class-use/A2AMetadata.Key.html b/docs/api-reference/java/com/google/adk/a2a/common/class-use/A2AMetadata.Key.html new file mode 100644 index 0000000000..e39808d323 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/common/class-use/A2AMetadata.Key.html @@ -0,0 +1,124 @@ + + + + + + + +Uses of Enum Class com.google.adk.a2a.common.A2AMetadata.Key (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Enum Class
    com.google.adk.a2a.common.A2AMetadata.Key

    +
    +
    Packages that use A2AMetadata.Key
    +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/common/class-use/A2AMetadata.html b/docs/api-reference/java/com/google/adk/a2a/common/class-use/A2AMetadata.html new file mode 100644 index 0000000000..b3c09b6e99 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/common/class-use/A2AMetadata.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class com.google.adk.a2a.common.A2AMetadata (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.common.A2AMetadata

    +
    +No usage of com.google.adk.a2a.common.A2AMetadata +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/common/class-use/GenAiFieldMissingException.html b/docs/api-reference/java/com/google/adk/a2a/common/class-use/GenAiFieldMissingException.html new file mode 100644 index 0000000000..d1bf3eaab2 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/common/class-use/GenAiFieldMissingException.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class com.google.adk.a2a.common.GenAiFieldMissingException (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.common.GenAiFieldMissingException

    +
    +No usage of com.google.adk.a2a.common.GenAiFieldMissingException +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/common/package-summary.html b/docs/api-reference/java/com/google/adk/a2a/common/package-summary.html new file mode 100644 index 0000000000..7bfd359e04 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/common/package-summary.html @@ -0,0 +1,120 @@ + + + + + + + +com.google.adk.a2a.common (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    +

    Package com.google.adk.a2a.common

    +
    +
    +
    +
    package com.google.adk.a2a.common
    +
    +
    +
      +
    • +
      +
      +
      +
      +
      Class
      +
      Description
      + +
      +
      Exception thrown when the A2A client encounters an error.
      +
      + +
      +
      Constants and utilities for A2A metadata keys.
      +
      + +
      +
      Enum for A2A custom metadata keys.
      +
      + +
      +
      Exception thrown when the the genai class has an empty field.
      +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/common/package-tree.html b/docs/api-reference/java/com/google/adk/a2a/common/package-tree.html new file mode 100644 index 0000000000..a9b96a451c --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/common/package-tree.html @@ -0,0 +1,120 @@ + + + + + + + +com.google.adk.a2a.common Class Hierarchy (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Hierarchy For Package com.google.adk.a2a.common

    +
    +Package Hierarchies: + +
    +

    Class Hierarchy

    + +
    +
    +

    Enum Class Hierarchy

    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/common/package-use.html b/docs/api-reference/java/com/google/adk/a2a/common/package-use.html new file mode 100644 index 0000000000..be3fde31a9 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/common/package-use.html @@ -0,0 +1,102 @@ + + + + + + + +Uses of Package com.google.adk.a2a.common (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Package
    com.google.adk.a2a.common

    +
    +
    Packages that use com.google.adk.a2a.common
    +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/A2ADataPartMetadataType.html b/docs/api-reference/java/com/google/adk/a2a/converters/A2ADataPartMetadataType.html new file mode 100644 index 0000000000..9f4ff0700f --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/A2ADataPartMetadataType.html @@ -0,0 +1,285 @@ + + + + + + + +A2ADataPartMetadataType (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Enum Class A2ADataPartMetadataType

    +
    +
    java.lang.Object +
    java.lang.Enum<A2ADataPartMetadataType> +
    com.google.adk.a2a.converters.A2ADataPartMetadataType
    +
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Serializable, Comparable<A2ADataPartMetadataType>, Constable
    +
    +
    +
    +
    public enum A2ADataPartMetadataType +extends Enum<A2ADataPartMetadataType>
    +
    Enum for the type of A2A DataPart metadata.
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Enum Constant Details

      + +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        values

        +
        +
        public static A2ADataPartMetadataType[] values()
        +
        Returns an array containing the constants of this enum class, in +the order they are declared.
        +
        +
        Returns:
        +
        an array containing the constants of this enum class, in the order they are declared
        +
        +
        +
        +
      • +
      • +
        +

        valueOf

        +
        +
        public static A2ADataPartMetadataType valueOf(String name)
        +
        Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        IllegalArgumentException - if this enum class has no constant with the specified name
        +
        NullPointerException - if the argument is null
        +
        +
        +
        +
      • +
      • +
        +

        getType

        +
        +
        public String getType()
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/A2AMetadataKey.html b/docs/api-reference/java/com/google/adk/a2a/converters/A2AMetadataKey.html new file mode 100644 index 0000000000..107f23402b --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/A2AMetadataKey.html @@ -0,0 +1,319 @@ + + + + + + + +A2AMetadataKey (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Enum Class A2AMetadataKey

    +
    +
    java.lang.Object +
    java.lang.Enum<A2AMetadataKey> +
    com.google.adk.a2a.converters.A2AMetadataKey
    +
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Serializable, Comparable<A2AMetadataKey>, Constable
    +
    +
    +
    +
    public enum A2AMetadataKey +extends Enum<A2AMetadataKey>
    +
    Enum for the type of A2A metadata. Adds a prefix used to differentiage ADK-related values stored +in Metadata an A2A event.
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Enum Constant Details

      +
        +
      • +
        +

        TYPE

        +
        +
        public static final A2AMetadataKey TYPE
        +
        +
        +
      • +
      • +
        +

        IS_LONG_RUNNING

        +
        +
        public static final A2AMetadataKey IS_LONG_RUNNING
        +
        +
        +
      • +
      • +
        +

        PARTIAL

        +
        +
        public static final A2AMetadataKey PARTIAL
        +
        +
        +
      • +
      • +
        +

        GROUNDING_METADATA

        +
        +
        public static final A2AMetadataKey GROUNDING_METADATA
        +
        +
        +
      • +
      • +
        +

        USAGE_METADATA

        +
        +
        public static final A2AMetadataKey USAGE_METADATA
        +
        +
        +
      • +
      • +
        +

        CUSTOM_METADATA

        +
        +
        public static final A2AMetadataKey CUSTOM_METADATA
        +
        +
        +
      • +
      • +
        +

        ERROR_CODE

        +
        +
        public static final A2AMetadataKey ERROR_CODE
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        values

        +
        +
        public static A2AMetadataKey[] values()
        +
        Returns an array containing the constants of this enum class, in +the order they are declared.
        +
        +
        Returns:
        +
        an array containing the constants of this enum class, in the order they are declared
        +
        +
        +
        +
      • +
      • +
        +

        valueOf

        +
        +
        public static A2AMetadataKey valueOf(String name)
        +
        Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        IllegalArgumentException - if this enum class has no constant with the specified name
        +
        NullPointerException - if the argument is null
        +
        +
        +
        +
      • +
      • +
        +

        getType

        +
        +
        public String getType()
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/AdkMetadataKey.html b/docs/api-reference/java/com/google/adk/a2a/converters/AdkMetadataKey.html new file mode 100644 index 0000000000..372f76d0ae --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/AdkMetadataKey.html @@ -0,0 +1,264 @@ + + + + + + + +AdkMetadataKey (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Enum Class AdkMetadataKey

    +
    +
    java.lang.Object +
    java.lang.Enum<AdkMetadataKey> +
    com.google.adk.a2a.converters.AdkMetadataKey
    +
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Serializable, Comparable<AdkMetadataKey>, Constable
    +
    +
    +
    +
    public enum AdkMetadataKey +extends Enum<AdkMetadataKey>
    +
    Enum for the type of ADK metadata. Adds a prefix used to differentiate A2A-related values stored +in custom metadata of an ADK session event.
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Enum Constant Details

      +
        +
      • +
        +

        TASK_ID

        +
        +
        public static final AdkMetadataKey TASK_ID
        +
        +
        +
      • +
      • +
        +

        CONTEXT_ID

        +
        +
        public static final AdkMetadataKey CONTEXT_ID
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        values

        +
        +
        public static AdkMetadataKey[] values()
        +
        Returns an array containing the constants of this enum class, in +the order they are declared.
        +
        +
        Returns:
        +
        an array containing the constants of this enum class, in the order they are declared
        +
        +
        +
        +
      • +
      • +
        +

        valueOf

        +
        +
        public static AdkMetadataKey valueOf(String name)
        +
        Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        IllegalArgumentException - if this enum class has no constant with the specified name
        +
        NullPointerException - if the argument is null
        +
        +
        +
        +
      • +
      • +
        +

        getType

        +
        +
        public String getType()
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/ConversationPreprocessor.PreparedInput.html b/docs/api-reference/java/com/google/adk/a2a/converters/ConversationPreprocessor.PreparedInput.html new file mode 100644 index 0000000000..bbcd44d26b --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/ConversationPreprocessor.PreparedInput.html @@ -0,0 +1,235 @@ + + + + + + + +ConversationPreprocessor.PreparedInput (Google Agent Development Kit Maven Parent POM 0.9.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class ConversationPreprocessor.PreparedInput

    +
    +
    java.lang.Object +
    com.google.adk.a2a.converters.ConversationPreprocessor.PreparedInput
    +
    +
    +
    +
    Enclosing class:
    +
    ConversationPreprocessor
    +
    +
    +
    +
    public static final class ConversationPreprocessor.PreparedInput +extends Object
    +
    Immutable value that surfaces the results of preprocessing. + +

    All fields are deliberately exposed to avoid additional AutoValue dependencies in this +internal module.

    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        historyEvents

        +
        +
        public final com.google.common.collect.ImmutableList<Event> historyEvents
        +
        Historical events that should remain in the session transcript.
        +
        +
        +
      • +
      • +
        +

        userContent

        +
        +
        public final Optional<com.google.genai.types.Content> userContent
        +
        Extracted user message content, if a qualifying text event was found.
        +
        +
        +
      • +
      • +
        +

        userEvent

        +
        +
        public final Optional<Event> userEvent
        +
        The concrete event that supplied userContent, for callers needing metadata.
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        PreparedInput

        +
        +
        public PreparedInput(com.google.common.collect.ImmutableList<Event> historyEvents, + Optional<com.google.genai.types.Content> userContent, + Optional<Event> userEvent)
        +
        Creates a new instance.
        +
        +
        Parameters:
        +
        historyEvents - ordered historical events retained in the session stream
        +
        userContent - optional content to place on the pending user message
        +
        userEvent - optional original event that contained userContent
        +
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/ConversationPreprocessor.html b/docs/api-reference/java/com/google/adk/a2a/converters/ConversationPreprocessor.html new file mode 100644 index 0000000000..eba783fe7d --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/ConversationPreprocessor.html @@ -0,0 +1,185 @@ + + + + + + + +ConversationPreprocessor (Google Agent Development Kit Maven Parent POM 0.9.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class ConversationPreprocessor

    +
    +
    java.lang.Object +
    com.google.adk.a2a.converters.ConversationPreprocessor
    +
    +
    +
    +
    +
    public final class ConversationPreprocessor +extends Object
    +
    Preprocesses a batch of ADK events prior to invoking a remote A2A agent. + +

    The class splits the conversation into two logical buckets: + +

      +
    • The historical session events that should be preserved as-is when relayed over the wire. +
    • The most recent user-authored text event, surfaced separately so it can be supplied as the + pending user input on the InvocationContext. +
    + +

    This mirrors the Python A2A implementation where the in-flight user message is maintained +separately from the persisted transcript. + +

    **EXPERIMENTAL:** Subject to change, rename, or removal in any future patch release. Do not +use in production code.

    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        extractHistoryAndUserContent

        +
        +
        public static ConversationPreprocessor.PreparedInput extractHistoryAndUserContent(List<Event> inputEvents)
        +
        Splits the provided event list into history and the latest user-authored text message.
        +
        +
        Parameters:
        +
        inputEvents - ordered session events, oldest to newest; may be null
        +
        Returns:
        +
        container encapsulating the derived history, optional user content, and the original + user event when present
        +
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/EventConverter.AggregationMode.html b/docs/api-reference/java/com/google/adk/a2a/converters/EventConverter.AggregationMode.html new file mode 100644 index 0000000000..23ec01e55d --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/EventConverter.AggregationMode.html @@ -0,0 +1,248 @@ + + + + + + + +EventConverter.AggregationMode (Google Agent Development Kit Maven Parent POM 0.9.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Enum Class EventConverter.AggregationMode

    +
    +
    java.lang.Object +
    java.lang.Enum<EventConverter.AggregationMode> +
    com.google.adk.a2a.converters.EventConverter.AggregationMode
    +
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Serializable, Comparable<EventConverter.AggregationMode>, Constable
    +
    +
    +
    Enclosing class:
    +
    EventConverter
    +
    +
    +
    +
    public static enum EventConverter.AggregationMode +extends Enum<EventConverter.AggregationMode>
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Enum Constant Details

      + +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        values

        +
        +
        public static EventConverter.AggregationMode[] values()
        +
        Returns an array containing the constants of this enum class, in +the order they are declared.
        +
        +
        Returns:
        +
        an array containing the constants of this enum class, in the order they are declared
        +
        +
        +
        +
      • +
      • +
        +

        valueOf

        +
        +
        public static EventConverter.AggregationMode valueOf(String name)
        +
        Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        IllegalArgumentException - if this enum class has no constant with the specified name
        +
        NullPointerException - if the argument is null
        +
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/EventConverter.html b/docs/api-reference/java/com/google/adk/a2a/converters/EventConverter.html new file mode 100644 index 0000000000..9d419de24b --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/EventConverter.html @@ -0,0 +1,320 @@ + + + + + + + +EventConverter (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class EventConverter

    +
    +
    java.lang.Object +
    com.google.adk.a2a.converters.EventConverter
    +
    +
    +
    +
    +
    public final class EventConverter +extends Object
    +
    Converter for ADK Events to A2A Messages.
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Field Details

      + +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        taskId

        +
        +
        public static String taskId(Event event)
        +
        Returns the task ID from the event. + +

        Task ID is stored in the event's custom metadata with the key ADK_TASK_ID_KEY.

        +
        +
        Parameters:
        +
        event - The event to get the task ID from.
        +
        Returns:
        +
        The task ID, or an empty string if not found.
        +
        +
        +
        +
      • +
      • +
        +

        contextId

        +
        +
        public static String contextId(Event event)
        +
        Returns the context ID from the event. + +

        Context ID is stored in the event's custom metadata with the key ADK_CONTEXT_ID_KEY.

        +
        +
        Parameters:
        +
        event - The event to get the context ID from.
        +
        Returns:
        +
        The context ID, or an empty string if not found.
        +
        +
        +
        +
      • +
      • +
        +

        findUserFunctionCall

        +
        +
        public static @Nullable Event findUserFunctionCall(List<Event> events)
        +
        Returns the last user function call event from the list of events.
        +
        +
        Parameters:
        +
        events - The list of events to find the user function call event from.
        +
        Returns:
        +
        The user function call event, or null if not found.
        +
        +
        +
        +
      • +
      • +
        +

        contentToParts

        +
        +
        public static com.google.common.collect.ImmutableList<io.a2a.spec.Part<?>> contentToParts(Optional<com.google.genai.types.Content> content, + boolean isPartial)
        +
        Converts a GenAI Content object to a list of A2A Parts.
        +
        +
        Parameters:
        +
        content - The GenAI Content object to convert.
        +
        isPartial - Whether the content is partial.
        +
        Returns:
        +
        A list of A2A Parts.
        +
        +
        +
        +
      • +
      • +
        +

        messagePartsFromContext

        +
        +
        public static com.google.common.collect.ImmutableList<io.a2a.spec.Part<?>> messagePartsFromContext(InvocationContext context)
        +
        Returns the parts from the context events that should be sent to the agent. + +

        All session events from the previous remote agent response (or the beginning of the session +in case of the first agent invocation) are included into the A2A message. Events from other +agents are presented as user messages and rephased as if a user was telling what happened in +the session up to the point.

        +
        +
        Parameters:
        +
        context - The invocation context to get the parts from.
        +
        Returns:
        +
        A list of A2A Parts.
        +
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/PartConverter.html b/docs/api-reference/java/com/google/adk/a2a/converters/PartConverter.html new file mode 100644 index 0000000000..2e395cbfc8 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/PartConverter.html @@ -0,0 +1,513 @@ + + + + + + + +PartConverter (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class PartConverter

    +
    +
    java.lang.Object +
    com.google.adk.a2a.converters.PartConverter
    +
    +
    +
    +
    +
    public final class PartConverter +extends Object
    +
    Utility class for converting between Google GenAI Parts and A2A DataParts.
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Field Details

      + +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        toTextPart

        +
        +
        public static Optional<io.a2a.spec.TextPart> toTextPart(io.a2a.spec.Part<?> part)
        +
        +
        +
      • +
      • +
        +

        toGenaiPart

        +
        +
        public static com.google.genai.types.Part toGenaiPart(io.a2a.spec.Part<?> a2aPart)
        +
        Convert an A2A JSON part into a Google GenAI part representation.
        +
        +
        +
      • +
      • +
        +

        toGenaiParts

        +
        +
        public static com.google.common.collect.ImmutableList<com.google.genai.types.Part> toGenaiParts(List<io.a2a.spec.Part<?>> a2aParts)
        +
        +
        +
      • +
      • +
        +

        messageToContent

        +
        +
        public static com.google.genai.types.Content messageToContent(io.a2a.spec.Message message)
        +
        Converts an A2A Message to a Google GenAI Content object.
        +
        +
        Parameters:
        +
        message - The A2A Message to convert.
        +
        Returns:
        +
        The converted Google GenAI Content object.
        +
        +
        +
        +
      • +
      • +
        +

        fromGenaiPart

        +
        +
        public static io.a2a.spec.Part<?> fromGenaiPart(com.google.genai.types.Part part, + boolean isPartial)
        +
        Convert a GenAI part into the A2A JSON representation.
        +
        +
        +
      • +
      • +
        +

        remoteCallAsUserPart

        +
        +
        public static com.google.genai.types.Part remoteCallAsUserPart(String author, + com.google.genai.types.Part part)
        +
        Converts a remote call part to a user part. + +

        Events are rephrased as if a user was telling what happened in the session up to the point. +E.g. + +

        For context:
        +User said: Now help me with Z
        +Agent A said: Agent B can help you with it!
        +Agent B said: Agent C might know better.*
        +
        +
        +
        Parameters:
        +
        author - The author of the part.
        +
        part - The part to convert.
        +
        Returns:
        +
        The converted part.
        +
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/RequestConverter.html b/docs/api-reference/java/com/google/adk/a2a/converters/RequestConverter.html new file mode 100644 index 0000000000..10575adba7 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/RequestConverter.html @@ -0,0 +1,185 @@ + + + + + + + +RequestConverter (Google Agent Development Kit Maven Parent POM 0.9.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class RequestConverter

    +
    +
    java.lang.Object +
    com.google.adk.a2a.converters.RequestConverter
    +
    +
    +
    +
    +
    public final class RequestConverter +extends Object
    +
    rfe Converter for A2A Messages to ADK Events. This is used on the A2A service side to convert +incoming A2A requests to ADK Events. + +

    **EXPERIMENTAL:** Subject to change, rename, or removal in any future patch release. Do not +use in production code.

    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        convertA2aMessageToAdkEvent

        +
        +
        public static Optional<Event> convertA2aMessageToAdkEvent(io.a2a.spec.Message message, + String invocationId)
        +
        Convert an A2A Message to an ADK Event. This is used when the A2A service receives a request +and needs to process it with ADK.
        +
        +
        Parameters:
        +
        message - The A2A message to convert.
        +
        invocationId - The invocation ID for the event.
        +
        Returns:
        +
        Optional containing the converted ADK Event, or empty if conversion fails.
        +
        +
        +
        +
      • +
      • +
        +

        convertAggregatedA2aMessageToAdkEvents

        +
        +
        public static com.google.common.collect.ImmutableList<Event> convertAggregatedA2aMessageToAdkEvents(io.a2a.spec.Message message, + String invocationId)
        +
        Convert an aggregated A2A Message to multiple ADK Events. This reconstructs the original event +sequence from an aggregated message.
        +
        +
        Parameters:
        +
        message - The aggregated A2A message to convert.
        +
        invocationId - The invocation ID for the events.
        +
        Returns:
        +
        List of ADK Events representing the conversation history.
        +
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/ResponseConverter.MessageSendResult.html b/docs/api-reference/java/com/google/adk/a2a/converters/ResponseConverter.MessageSendResult.html new file mode 100644 index 0000000000..6d7efb86d9 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/ResponseConverter.MessageSendResult.html @@ -0,0 +1,310 @@ + + + + + + + +ResponseConverter.MessageSendResult (Google Agent Development Kit Maven Parent POM 0.9.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Record Class ResponseConverter.MessageSendResult

    +
    +
    java.lang.Object +
    java.lang.Record +
    com.google.adk.a2a.converters.ResponseConverter.MessageSendResult
    +
    +
    +
    +
    +
    Enclosing class:
    +
    ResponseConverter
    +
    +
    +
    +
    public static record ResponseConverter.MessageSendResult(@Nullable io.a2a.spec.Message message, @Nullable io.a2a.spec.Task task) +extends Record
    +
    Simple REST-friendly wrapper to carry either a message result or a task result.
    +
    +
    +
    +
      + +
    • +
      +

      Constructor Summary

      +
      Constructors
      +
      +
      Constructor
      +
      Description
      +
      MessageSendResult(@Nullable io.a2a.spec.Message message, + @Nullable io.a2a.spec.Task task)
      +
      +
      Creates an instance of a MessageSendResult record class.
      +
      +
      +
      +
    • + +
    • +
      +

      Method Summary

      +
      +
      +
      +
      +
      Modifier and Type
      +
      Method
      +
      Description
      +
      final boolean
      + +
      +
      Indicates whether some other object is "equal to" this one.
      +
      + +
      fromMessage(io.a2a.spec.Message message)
      +
       
      + +
      fromTask(io.a2a.spec.Task task)
      +
       
      +
      final int
      + +
      +
      Returns a hash code value for this object.
      +
      +
      @Nullable io.a2a.spec.Message
      + +
      +
      Returns the value of the message record component.
      +
      +
      @Nullable io.a2a.spec.Task
      + +
      +
      Returns the value of the task record component.
      +
      +
      final String
      + +
      +
      Returns a string representation of this record class.
      +
      +
      +
      +
      +
      +

      Methods inherited from class Object

      +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      +
      +
    • +
    +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        MessageSendResult

        +
        +
        public MessageSendResult(@Nullable io.a2a.spec.Message message, + @Nullable io.a2a.spec.Task task)
        +
        Creates an instance of a MessageSendResult record class.
        +
        +
        Parameters:
        +
        message - the value for the message record component
        +
        task - the value for the task record component
        +
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        fromMessage

        +
        +
        public static ResponseConverter.MessageSendResult fromMessage(io.a2a.spec.Message message)
        +
        +
        +
      • +
      • +
        +

        fromTask

        +
        +
        public static ResponseConverter.MessageSendResult fromTask(io.a2a.spec.Task task)
        +
        +
        +
      • +
      • +
        +

        toString

        +
        +
        public final String toString()
        +
        Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
        +
        +
        Specified by:
        +
        toString in class Record
        +
        Returns:
        +
        a string representation of this object
        +
        +
        +
        +
      • +
      • +
        +

        hashCode

        +
        +
        public final int hashCode()
        +
        Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
        +
        +
        Specified by:
        +
        hashCode in class Record
        +
        Returns:
        +
        a hash code value for this object
        +
        +
        +
        +
      • +
      • +
        +

        equals

        +
        +
        public final boolean equals(Object o)
        +
        Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
        +
        +
        Specified by:
        +
        equals in class Record
        +
        Parameters:
        +
        o - the object with which to compare
        +
        Returns:
        +
        true if this object is the same as the o argument; false otherwise.
        +
        +
        +
        +
      • +
      • +
        +

        message

        +
        +
        public @Nullable io.a2a.spec.Message message()
        +
        Returns the value of the message record component.
        +
        +
        Returns:
        +
        the value of the message record component
        +
        +
        +
        +
      • +
      • +
        +

        task

        +
        +
        public @Nullable io.a2a.spec.Task task()
        +
        Returns the value of the task record component.
        +
        +
        Returns:
        +
        the value of the task record component
        +
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/ResponseConverter.html b/docs/api-reference/java/com/google/adk/a2a/converters/ResponseConverter.html new file mode 100644 index 0000000000..d0c4468e48 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/ResponseConverter.html @@ -0,0 +1,251 @@ + + + + + + + +ResponseConverter (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class ResponseConverter

    +
    +
    java.lang.Object +
    com.google.adk.a2a.converters.ResponseConverter
    +
    +
    +
    +
    +
    public final class ResponseConverter +extends Object
    +
    Utility for converting ADK events to A2A spec messages (and back).
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        clientEventToEvent

        +
        +
        public static Optional<Event> clientEventToEvent(io.a2a.client.ClientEvent event, + InvocationContext invocationContext)
        +
        Converts a A2A ClientEvent to an ADK Event, based on the event type. Returns an +empty optional if the event should be ignored (e.g. if the event is not a final update for +TaskArtifactUpdateEvent or if the message is empty for TaskStatusUpdateEvent).
        +
        +
        Throws:
        +
        IllegalArgumentException - if the event type is not supported.
        +
        +
        +
        +
      • +
      • +
        +

        artifactToEvent

        +
        +
        public static Event artifactToEvent(io.a2a.spec.Artifact artifact, + InvocationContext invocationContext)
        +
        Converts an artifact to an ADK event.
        +
        +
        +
      • +
      • +
        +

        messageToFailedEvent

        +
        +
        public static Event messageToFailedEvent(io.a2a.spec.Message message, + InvocationContext invocationContext)
        +
        Converts an A2A message for a failed task to ADK event filling in the error message.
        +
        +
        +
      • +
      • +
        +

        messageToEvent

        +
        +
        public static Event messageToEvent(io.a2a.spec.Message message, + InvocationContext invocationContext)
        +
        Converts an A2A message back to ADK events.
        +
        +
        +
      • +
      • +
        +

        messageToEvent

        +
        +
        public static Event messageToEvent(io.a2a.spec.Message message, + InvocationContext invocationContext, + boolean isPending)
        +
        Converts an A2A message back to ADK events. For streaming task in pending state it sets the +thought field to true, to mark them as thought updates.
        +
        +
        +
      • +
      • +
        +

        taskToEvent

        +
        +
        public static Event taskToEvent(io.a2a.spec.Task task, + InvocationContext invocationContext)
        +
        Converts an A2A Task to an ADK Event. If the artifacts are present, the last +artifact is used. If not, the status message is used. If not, the last history message is used. +If none of these are present, an empty event is returned.
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/class-use/A2ADataPartMetadataType.html b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/A2ADataPartMetadataType.html new file mode 100644 index 0000000000..ee4d5d8910 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/A2ADataPartMetadataType.html @@ -0,0 +1,123 @@ + + + + + + + +Uses of Enum Class com.google.adk.a2a.converters.A2ADataPartMetadataType (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Enum Class
    com.google.adk.a2a.converters.A2ADataPartMetadataType

    +
    +
    Packages that use A2ADataPartMetadataType
    +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/class-use/A2AMetadataKey.html b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/A2AMetadataKey.html new file mode 100644 index 0000000000..75ad846f96 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/A2AMetadataKey.html @@ -0,0 +1,123 @@ + + + + + + + +Uses of Enum Class com.google.adk.a2a.converters.A2AMetadataKey (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Enum Class
    com.google.adk.a2a.converters.A2AMetadataKey

    +
    +
    Packages that use A2AMetadataKey
    +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/class-use/AdkMetadataKey.html b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/AdkMetadataKey.html new file mode 100644 index 0000000000..9eeffae0c7 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/AdkMetadataKey.html @@ -0,0 +1,123 @@ + + + + + + + +Uses of Enum Class com.google.adk.a2a.converters.AdkMetadataKey (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Enum Class
    com.google.adk.a2a.converters.AdkMetadataKey

    +
    +
    Packages that use AdkMetadataKey
    +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/class-use/ConversationPreprocessor.PreparedInput.html b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/ConversationPreprocessor.PreparedInput.html new file mode 100644 index 0000000000..56b8530b54 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/ConversationPreprocessor.PreparedInput.html @@ -0,0 +1,100 @@ + + + + + + + +Uses of Class com.google.adk.a2a.converters.ConversationPreprocessor.PreparedInput (Google Agent Development Kit Maven Parent POM 0.9.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.converters.ConversationPreprocessor.PreparedInput

    +
    + +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/tools/mcp/class-use/McpToolset.McpToolLoadingException.html b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/ConversationPreprocessor.html similarity index 60% rename from docs/api-reference/java/com/google/adk/tools/mcp/class-use/McpToolset.McpToolLoadingException.html rename to docs/api-reference/java/com/google/adk/a2a/converters/class-use/ConversationPreprocessor.html index 6d91af3c77..4c0ee1e479 100644 --- a/docs/api-reference/java/com/google/adk/tools/mcp/class-use/McpToolset.McpToolLoadingException.html +++ b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/ConversationPreprocessor.html @@ -2,22 +2,21 @@ - + - -Uses of Class com.google.adk.tools.mcp.McpToolset.McpToolLoadingException (Google Agent Development Kit Maven Parent POM 0.2.1-SNAPSHOT API) + +Uses of Class com.google.adk.a2a.converters.ConversationPreprocessor (Google Agent Development Kit Maven Parent POM 0.9.0 API) - - + - - + + @@ -37,9 +36,10 @@ @@ -48,14 +48,10 @@ @@ -64,12 +60,12 @@
    -

    Uses of Class
    com.google.adk.tools.mcp.McpToolset.McpToolLoadingException

    +

    Uses of Class
    com.google.adk.a2a.converters.ConversationPreprocessor

    -No usage of com.google.adk.tools.mcp.McpToolset.McpToolLoadingException +No usage of com.google.adk.a2a.converters.ConversationPreprocessor

    - +
    diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/class-use/EventConverter.AggregationMode.html b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/EventConverter.AggregationMode.html new file mode 100644 index 0000000000..645b9e4a4d --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/EventConverter.AggregationMode.html @@ -0,0 +1,125 @@ + + + + + + + +Uses of Enum Class com.google.adk.a2a.converters.EventConverter.AggregationMode (Google Agent Development Kit Maven Parent POM 0.9.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Enum Class
    com.google.adk.a2a.converters.EventConverter.AggregationMode

    +
    + +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/class-use/EventConverter.html b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/EventConverter.html new file mode 100644 index 0000000000..ee46f9c755 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/EventConverter.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class com.google.adk.a2a.converters.EventConverter (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.converters.EventConverter

    +
    +No usage of com.google.adk.a2a.converters.EventConverter +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/class-use/PartConverter.html b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/PartConverter.html new file mode 100644 index 0000000000..a23af207b5 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/PartConverter.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class com.google.adk.a2a.converters.PartConverter (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.converters.PartConverter

    +
    +No usage of com.google.adk.a2a.converters.PartConverter +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/tools/mcp/class-use/McpToolset.McpInitializationException.html b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/RequestConverter.html similarity index 60% rename from docs/api-reference/java/com/google/adk/tools/mcp/class-use/McpToolset.McpInitializationException.html rename to docs/api-reference/java/com/google/adk/a2a/converters/class-use/RequestConverter.html index 1d04bbbc62..f30e3eed47 100644 --- a/docs/api-reference/java/com/google/adk/tools/mcp/class-use/McpToolset.McpInitializationException.html +++ b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/RequestConverter.html @@ -2,22 +2,21 @@ - + - -Uses of Class com.google.adk.tools.mcp.McpToolset.McpInitializationException (Google Agent Development Kit Maven Parent POM 0.2.1-SNAPSHOT API) + +Uses of Class com.google.adk.a2a.converters.RequestConverter (Google Agent Development Kit Maven Parent POM 0.9.0 API) - - + - - + + @@ -37,9 +36,10 @@ @@ -48,14 +48,10 @@ @@ -64,12 +60,12 @@
    -

    Uses of Class
    com.google.adk.tools.mcp.McpToolset.McpInitializationException

    +

    Uses of Class
    com.google.adk.a2a.converters.RequestConverter

    -No usage of com.google.adk.tools.mcp.McpToolset.McpInitializationException +No usage of com.google.adk.a2a.converters.RequestConverter

    - +
    diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/class-use/ResponseConverter.MessageSendResult.html b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/ResponseConverter.MessageSendResult.html new file mode 100644 index 0000000000..2deb6d3656 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/ResponseConverter.MessageSendResult.html @@ -0,0 +1,101 @@ + + + + + + + +Uses of Record Class com.google.adk.a2a.converters.ResponseConverter.MessageSendResult (Google Agent Development Kit Maven Parent POM 0.9.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Record Class
    com.google.adk.a2a.converters.ResponseConverter.MessageSendResult

    +
    + +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/class-use/ResponseConverter.html b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/ResponseConverter.html new file mode 100644 index 0000000000..eb1ccf388e --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/class-use/ResponseConverter.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class com.google.adk.a2a.converters.ResponseConverter (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.converters.ResponseConverter

    +
    +No usage of com.google.adk.a2a.converters.ResponseConverter +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/package-summary.html b/docs/api-reference/java/com/google/adk/a2a/converters/package-summary.html new file mode 100644 index 0000000000..d643b779ac --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/package-summary.html @@ -0,0 +1,128 @@ + + + + + + + +com.google.adk.a2a.converters (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    +

    Package com.google.adk.a2a.converters

    +
    +
    +
    +
    package com.google.adk.a2a.converters
    +
    +
    +
      +
    • +
      +
      +
      +
      +
      Class
      +
      Description
      + +
      +
      Enum for the type of A2A DataPart metadata.
      +
      + +
      +
      Enum for the type of A2A metadata.
      +
      + +
      +
      Enum for the type of ADK metadata.
      +
      + +
      +
      Converter for ADK Events to A2A Messages.
      +
      + +
      +
      Utility class for converting between Google GenAI Parts and A2A DataParts.
      +
      + +
      +
      Utility for converting ADK events to A2A spec messages (and back).
      +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/package-tree.html b/docs/api-reference/java/com/google/adk/a2a/converters/package-tree.html new file mode 100644 index 0000000000..1e9a59d751 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/package-tree.html @@ -0,0 +1,110 @@ + + + + + + + +com.google.adk.a2a.converters Class Hierarchy (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Hierarchy For Package com.google.adk.a2a.converters

    +
    +Package Hierarchies: + +
    +

    Class Hierarchy

    + +
    +
    +

    Enum Class Hierarchy

    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/converters/package-use.html b/docs/api-reference/java/com/google/adk/a2a/converters/package-use.html new file mode 100644 index 0000000000..fc5d748261 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/converters/package-use.html @@ -0,0 +1,110 @@ + + + + + + + +Uses of Package com.google.adk.a2a.converters (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Package
    com.google.adk.a2a.converters

    +
    + +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/AgentExecutor.Builder.html b/docs/api-reference/java/com/google/adk/a2a/executor/AgentExecutor.Builder.html new file mode 100644 index 0000000000..a3e8d2029e --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/AgentExecutor.Builder.html @@ -0,0 +1,294 @@ + + + + + + + +AgentExecutor.Builder (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class AgentExecutor.Builder

    +
    +
    java.lang.Object +
    com.google.adk.a2a.executor.AgentExecutor.Builder
    +
    +
    +
    +
    Enclosing class:
    +
    AgentExecutor
    +
    +
    +
    +
    public static class AgentExecutor.Builder +extends Object
    +
    Builder for AgentExecutor.
    +
    +
    +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/AgentExecutor.html b/docs/api-reference/java/com/google/adk/a2a/executor/AgentExecutor.html new file mode 100644 index 0000000000..af5e24a676 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/AgentExecutor.html @@ -0,0 +1,197 @@ + + + + + + + +AgentExecutor (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class AgentExecutor

    +
    +
    java.lang.Object +
    com.google.adk.a2a.executor.AgentExecutor
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    io.a2a.server.agentexecution.AgentExecutor
    +
    +
    +
    +
    public class AgentExecutor +extends Object +implements io.a2a.server.agentexecution.AgentExecutor
    +
    Implementation of the A2A AgentExecutor interface that uses ADK to execute agent tasks.
    +
    +
    +
    +
      + +
    • +
      +

      Nested Class Summary

      +
      Nested Classes
      +
      +
      Modifier and Type
      +
      Class
      +
      Description
      +
      static class 
      + +
      +
      Builder for AgentExecutor.
      +
      +
      +
      +
    • + +
    • +
      +

      Method Summary

      +
      +
      +
      +
      +
      Modifier and Type
      +
      Method
      +
      Description
      +
      void
      +
      cancel(io.a2a.server.agentexecution.RequestContext ctx, + io.a2a.server.events.EventQueue eventQueue)
      +
       
      +
      void
      +
      execute(io.a2a.server.agentexecution.RequestContext ctx, + io.a2a.server.events.EventQueue eventQueue)
      +
       
      +
      +
      +
      +
      +

      Methods inherited from class Object

      +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +
      +
    • +
    +
    +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        cancel

        +
        +
        public void cancel(io.a2a.server.agentexecution.RequestContext ctx, + io.a2a.server.events.EventQueue eventQueue)
        +
        +
        Specified by:
        +
        cancel in interface io.a2a.server.agentexecution.AgentExecutor
        +
        +
        +
        +
      • +
      • +
        +

        execute

        +
        +
        public void execute(io.a2a.server.agentexecution.RequestContext ctx, + io.a2a.server.events.EventQueue eventQueue)
        +
        +
        Specified by:
        +
        execute in interface io.a2a.server.agentexecution.AgentExecutor
        +
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/AgentExecutorConfig.Builder.html b/docs/api-reference/java/com/google/adk/a2a/executor/AgentExecutorConfig.Builder.html new file mode 100644 index 0000000000..d9fd890da3 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/AgentExecutorConfig.Builder.html @@ -0,0 +1,255 @@ + + + + + + + +AgentExecutorConfig.Builder (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class AgentExecutorConfig.Builder

    +
    +
    java.lang.Object +
    com.google.adk.a2a.executor.AgentExecutorConfig.Builder
    +
    +
    +
    +
    Enclosing class:
    +
    AgentExecutorConfig
    +
    +
    +
    +
    public abstract static class AgentExecutorConfig.Builder +extends Object
    +
    Builder for AgentExecutorConfig.
    +
    +
    +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/AgentExecutorConfig.OutputMode.html b/docs/api-reference/java/com/google/adk/a2a/executor/AgentExecutorConfig.OutputMode.html new file mode 100644 index 0000000000..4d895d1123 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/AgentExecutorConfig.OutputMode.html @@ -0,0 +1,260 @@ + + + + + + + +AgentExecutorConfig.OutputMode (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Enum Class AgentExecutorConfig.OutputMode

    +
    +
    java.lang.Object +
    java.lang.Enum<AgentExecutorConfig.OutputMode> +
    com.google.adk.a2a.executor.AgentExecutorConfig.OutputMode
    +
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    Serializable, Comparable<AgentExecutorConfig.OutputMode>, Constable
    +
    +
    +
    Enclosing class:
    +
    AgentExecutorConfig
    +
    +
    +
    +
    public static enum AgentExecutorConfig.OutputMode +extends Enum<AgentExecutorConfig.OutputMode>
    +
    Output mode for the agent executor. + +

    ARTIFACT_PER_RUN: The agent executor will return one artifact per run. + +

    ARTIFACT_PER_EVENT: The agent executor will return one artifact per event.

    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Enum Constant Details

      + +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        values

        +
        +
        public static AgentExecutorConfig.OutputMode[] values()
        +
        Returns an array containing the constants of this enum class, in +the order they are declared.
        +
        +
        Returns:
        +
        an array containing the constants of this enum class, in the order they are declared
        +
        +
        +
        +
      • +
      • +
        +

        valueOf

        +
        +
        public static AgentExecutorConfig.OutputMode valueOf(String name)
        +
        Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        IllegalArgumentException - if this enum class has no constant with the specified name
        +
        NullPointerException - if the argument is null
        +
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/AgentExecutorConfig.html b/docs/api-reference/java/com/google/adk/a2a/executor/AgentExecutorConfig.html new file mode 100644 index 0000000000..3a4d70c15a --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/AgentExecutorConfig.html @@ -0,0 +1,280 @@ + + + + + + + +AgentExecutorConfig (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class AgentExecutorConfig

    +
    +
    java.lang.Object +
    com.google.adk.a2a.executor.AgentExecutorConfig
    +
    +
    +
    +
    +
    public abstract class AgentExecutorConfig +extends Object
    +
    Configuration for the AgentExecutor.
    +
    +
    +
    + +
    +
    + +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/Callbacks.AfterEventCallback.html b/docs/api-reference/java/com/google/adk/a2a/executor/Callbacks.AfterEventCallback.html new file mode 100644 index 0000000000..9c57125bd4 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/Callbacks.AfterEventCallback.html @@ -0,0 +1,171 @@ + + + + + + + +Callbacks.AfterEventCallback (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Interface Callbacks.AfterEventCallback

    +
    +
    +
    +
    Enclosing class:
    +
    Callbacks
    +
    +
    +
    Functional Interface:
    +
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
    +
    +
    +
    +
    @FunctionalInterface +public static interface Callbacks.AfterEventCallback
    +
    Async callback interface for actions to be performed after an event is processed.
    +
    +
    +
    +
      + +
    • +
      +

      Method Summary

      +
      +
      +
      +
      +
      Modifier and Type
      +
      Method
      +
      Description
      +
      io.reactivex.rxjava3.core.Maybe<io.a2a.spec.TaskArtifactUpdateEvent>
      +
      call(io.a2a.server.agentexecution.RequestContext ctx, + io.a2a.spec.TaskArtifactUpdateEvent processedEvent, + Event event)
      +
      +
      Callback which will be called after an ADK event is successfully converted to an A2A event.
      +
      +
      +
      +
      +
      +
    • +
    +
    +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        call

        +
        +
        io.reactivex.rxjava3.core.Maybe<io.a2a.spec.TaskArtifactUpdateEvent> call(io.a2a.server.agentexecution.RequestContext ctx, + io.a2a.spec.TaskArtifactUpdateEvent processedEvent, + Event event)
        +
        Callback which will be called after an ADK event is successfully converted to an A2A event. +This gives an opportunity to enrich the event with additional metadata or abort the execution +by returning an error. The callback is not invoked for errors originating from ADK or event +processing.
        +
        +
        Parameters:
        +
        ctx - the request context
        +
        processedEvent - the processed task artifact update event
        +
        event - the ADK event
        +
        Returns:
        +
        a Maybe that completes when the callback is done
        +
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/Callbacks.AfterExecuteCallback.html b/docs/api-reference/java/com/google/adk/a2a/executor/Callbacks.AfterExecuteCallback.html new file mode 100644 index 0000000000..cb816723f1 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/Callbacks.AfterExecuteCallback.html @@ -0,0 +1,166 @@ + + + + + + + +Callbacks.AfterExecuteCallback (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Interface Callbacks.AfterExecuteCallback

    +
    +
    +
    +
    Enclosing class:
    +
    Callbacks
    +
    +
    +
    Functional Interface:
    +
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
    +
    +
    +
    +
    @FunctionalInterface +public static interface Callbacks.AfterExecuteCallback
    +
    Async callback interface for actions to be performed after an execution is completed or failed.
    +
    +
    +
    +
      + +
    • +
      +

      Method Summary

      +
      +
      +
      +
      +
      Modifier and Type
      +
      Method
      +
      Description
      +
      io.reactivex.rxjava3.core.Maybe<io.a2a.spec.TaskStatusUpdateEvent>
      +
      call(io.a2a.server.agentexecution.RequestContext ctx, + io.a2a.spec.TaskStatusUpdateEvent finalUpdateEvent)
      +
      +
      Callback which will be called after an execution resolved into a completed or failed task.
      +
      +
      +
      +
      +
      +
    • +
    +
    +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        call

        +
        +
        io.reactivex.rxjava3.core.Maybe<io.a2a.spec.TaskStatusUpdateEvent> call(io.a2a.server.agentexecution.RequestContext ctx, + io.a2a.spec.TaskStatusUpdateEvent finalUpdateEvent)
        +
        Callback which will be called after an execution resolved into a completed or failed task. +This gives an opportunity to enrich the event with additional metadata or log it.
        +
        +
        Parameters:
        +
        ctx - the request context
        +
        finalUpdateEvent - the final update event
        +
        Returns:
        +
        a Maybe that completes when the callback is done
        +
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/Callbacks.BeforeExecuteCallback.html b/docs/api-reference/java/com/google/adk/a2a/executor/Callbacks.BeforeExecuteCallback.html new file mode 100644 index 0000000000..6683478dc6 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/Callbacks.BeforeExecuteCallback.html @@ -0,0 +1,164 @@ + + + + + + + +Callbacks.BeforeExecuteCallback (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Interface Callbacks.BeforeExecuteCallback

    +
    +
    +
    +
    Enclosing class:
    +
    Callbacks
    +
    +
    +
    Functional Interface:
    +
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
    +
    +
    +
    +
    @FunctionalInterface +public static interface Callbacks.BeforeExecuteCallback
    +
    Async callback interface for actions to be performed before an execution is started.
    +
    +
    +
    +
      + +
    • +
      +

      Method Summary

      +
      +
      +
      +
      +
      Modifier and Type
      +
      Method
      +
      Description
      +
      io.reactivex.rxjava3.core.Single<Boolean>
      +
      call(io.a2a.server.agentexecution.RequestContext ctx)
      +
      +
      Callback which will be called before an execution is started.
      +
      +
      +
      +
      +
      +
    • +
    +
    +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        call

        +
        +
        io.reactivex.rxjava3.core.Single<Boolean> call(io.a2a.server.agentexecution.RequestContext ctx)
        +
        Callback which will be called before an execution is started. It can be used to instrument a +context or prevent the execution by returning an error.
        +
        +
        Parameters:
        +
        ctx - the request context
        +
        Returns:
        +
        a Single that completes with a boolean indicating whether the execution + should be prevented
        +
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/Callbacks.html b/docs/api-reference/java/com/google/adk/a2a/executor/Callbacks.html new file mode 100644 index 0000000000..e21b9a2cad --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/Callbacks.html @@ -0,0 +1,140 @@ + + + + + + + +Callbacks (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class Callbacks

    +
    +
    java.lang.Object +
    com.google.adk.a2a.executor.Callbacks
    +
    +
    +
    +
    +
    public final class Callbacks +extends Object
    +
    Functional interfaces for agent executor lifecycle callbacks.
    +
    +
    +
    + +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/class-use/AgentExecutor.Builder.html b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/AgentExecutor.Builder.html new file mode 100644 index 0000000000..818e5e4000 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/AgentExecutor.Builder.html @@ -0,0 +1,126 @@ + + + + + + + +Uses of Class com.google.adk.a2a.executor.AgentExecutor.Builder (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.executor.AgentExecutor.Builder

    +
    +
    Packages that use AgentExecutor.Builder
    +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/class-use/AgentExecutor.html b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/AgentExecutor.html new file mode 100644 index 0000000000..b08aa400ff --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/AgentExecutor.html @@ -0,0 +1,104 @@ + + + + + + + +Uses of Class com.google.adk.a2a.executor.AgentExecutor (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.executor.AgentExecutor

    +
    +
    Packages that use AgentExecutor
    +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/class-use/AgentExecutorConfig.Builder.html b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/AgentExecutorConfig.Builder.html new file mode 100644 index 0000000000..43e1114468 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/AgentExecutorConfig.Builder.html @@ -0,0 +1,123 @@ + + + + + + + +Uses of Class com.google.adk.a2a.executor.AgentExecutorConfig.Builder (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.executor.AgentExecutorConfig.Builder

    +
    +
    Packages that use AgentExecutorConfig.Builder
    +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/class-use/AgentExecutorConfig.OutputMode.html b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/AgentExecutorConfig.OutputMode.html new file mode 100644 index 0000000000..9b451ca083 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/AgentExecutorConfig.OutputMode.html @@ -0,0 +1,136 @@ + + + + + + + +Uses of Enum Class com.google.adk.a2a.executor.AgentExecutorConfig.OutputMode (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Enum Class
    com.google.adk.a2a.executor.AgentExecutorConfig.OutputMode

    +
    + +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/class-use/AgentExecutorConfig.html b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/AgentExecutorConfig.html new file mode 100644 index 0000000000..71ddd6b3ae --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/AgentExecutorConfig.html @@ -0,0 +1,113 @@ + + + + + + + +Uses of Class com.google.adk.a2a.executor.AgentExecutorConfig (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.executor.AgentExecutorConfig

    +
    +
    Packages that use AgentExecutorConfig
    +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/class-use/Callbacks.AfterEventCallback.html b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/Callbacks.AfterEventCallback.html new file mode 100644 index 0000000000..20f8df5739 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/Callbacks.AfterEventCallback.html @@ -0,0 +1,114 @@ + + + + + + + +Uses of Interface com.google.adk.a2a.executor.Callbacks.AfterEventCallback (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Interface
    com.google.adk.a2a.executor.Callbacks.AfterEventCallback

    +
    + +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/class-use/Callbacks.AfterExecuteCallback.html b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/Callbacks.AfterExecuteCallback.html new file mode 100644 index 0000000000..3eef1ce7b7 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/Callbacks.AfterExecuteCallback.html @@ -0,0 +1,114 @@ + + + + + + + +Uses of Interface com.google.adk.a2a.executor.Callbacks.AfterExecuteCallback (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Interface
    com.google.adk.a2a.executor.Callbacks.AfterExecuteCallback

    +
    + +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/class-use/Callbacks.BeforeExecuteCallback.html b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/Callbacks.BeforeExecuteCallback.html new file mode 100644 index 0000000000..a3885c708d --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/Callbacks.BeforeExecuteCallback.html @@ -0,0 +1,114 @@ + + + + + + + +Uses of Interface com.google.adk.a2a.executor.Callbacks.BeforeExecuteCallback (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Interface
    com.google.adk.a2a.executor.Callbacks.BeforeExecuteCallback

    +
    + +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/class-use/Callbacks.html b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/Callbacks.html new file mode 100644 index 0000000000..9e5d2a6588 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/class-use/Callbacks.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class com.google.adk.a2a.executor.Callbacks (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Class
    com.google.adk.a2a.executor.Callbacks

    +
    +No usage of com.google.adk.a2a.executor.Callbacks +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/package-summary.html b/docs/api-reference/java/com/google/adk/a2a/executor/package-summary.html new file mode 100644 index 0000000000..0e9b862c2e --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/package-summary.html @@ -0,0 +1,140 @@ + + + + + + + +com.google.adk.a2a.executor (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    +

    Package com.google.adk.a2a.executor

    +
    +
    +
    +
    package com.google.adk.a2a.executor
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/package-tree.html b/docs/api-reference/java/com/google/adk/a2a/executor/package-tree.html new file mode 100644 index 0000000000..7eb308198e --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/package-tree.html @@ -0,0 +1,130 @@ + + + + + + + +com.google.adk.a2a.executor Class Hierarchy (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Hierarchy For Package com.google.adk.a2a.executor

    +
    +Package Hierarchies: + +
    +

    Class Hierarchy

    + +
    +
    +

    Interface Hierarchy

    + +
    +
    +

    Enum Class Hierarchy

    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/executor/package-use.html b/docs/api-reference/java/com/google/adk/a2a/executor/package-use.html new file mode 100644 index 0000000000..f1b6a33e77 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/executor/package-use.html @@ -0,0 +1,130 @@ + + + + + + + +Uses of Package com.google.adk.a2a.executor (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Package
    com.google.adk.a2a.executor

    +
    +
    Packages that use com.google.adk.a2a.executor
    +
    +
    Package
    +
    Description
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/package-summary.html b/docs/api-reference/java/com/google/adk/a2a/package-summary.html new file mode 100644 index 0000000000..4c9709269b --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/package-summary.html @@ -0,0 +1,141 @@ + + + + + + + +com.google.adk.a2a (Google Agent Development Kit Maven Parent POM 0.9.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    +

    Package com.google.adk.a2a

    +
    +
    +
    +
    package com.google.adk.a2a
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/package-tree.html b/docs/api-reference/java/com/google/adk/a2a/package-tree.html new file mode 100644 index 0000000000..5727e43bdb --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/package-tree.html @@ -0,0 +1,113 @@ + + + + + + + +com.google.adk.a2a Class Hierarchy (Google Agent Development Kit Maven Parent POM 0.9.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Hierarchy For Package com.google.adk.a2a

    +
    +Package Hierarchies: + +
    +

    Class Hierarchy

    + +
    +
    +

    Interface Hierarchy

    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/a2a/package-use.html b/docs/api-reference/java/com/google/adk/a2a/package-use.html new file mode 100644 index 0000000000..81d29fe9cb --- /dev/null +++ b/docs/api-reference/java/com/google/adk/a2a/package-use.html @@ -0,0 +1,120 @@ + + + + + + + +Uses of Package com.google.adk.a2a (Google Agent Development Kit Maven Parent POM 0.9.0 API) + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +

    Uses of Package
    com.google.adk.a2a

    +
    +
    Packages that use com.google.adk.a2a
    +
    +
    Package
    +
    Description
    + +
     
    + +
     
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/agents/ActiveStreamingTool.html b/docs/api-reference/java/com/google/adk/agents/ActiveStreamingTool.html new file mode 100644 index 0000000000..3ba5aabe4c --- /dev/null +++ b/docs/api-reference/java/com/google/adk/agents/ActiveStreamingTool.html @@ -0,0 +1,268 @@ + + + + + + + +ActiveStreamingTool (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class ActiveStreamingTool

    +
    +
    java.lang.Object +
    com.google.adk.agents.ActiveStreamingTool
    +
    +
    +
    +
    +
    public class ActiveStreamingTool +extends Object
    +
    Manages streaming tool related resources during invocation.
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        ActiveStreamingTool

        +
        +
        public ActiveStreamingTool(io.reactivex.rxjava3.disposables.Disposable task)
        +
        +
        +
      • +
      • +
        +

        ActiveStreamingTool

        +
        +
        public ActiveStreamingTool(LiveRequestQueue stream)
        +
        +
        +
      • +
      • +
        +

        ActiveStreamingTool

        +
        +
        public ActiveStreamingTool(io.reactivex.rxjava3.disposables.Disposable task, + LiveRequestQueue stream)
        +
        +
        +
      • +
      • +
        +

        ActiveStreamingTool

        +
        +
        public ActiveStreamingTool()
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        task

        +
        +
        public @Nullable io.reactivex.rxjava3.disposables.Disposable task()
        +
        Returns the active task of this streaming tool.
        +
        +
        +
      • +
      • +
        +

        task

        +
        +
        public void task(@Nullable io.reactivex.rxjava3.disposables.Disposable task)
        +
        Sets the active task of this streaming tool.
        +
        +
        +
      • +
      • +
        +

        stream

        +
        +
        public @Nullable LiveRequestQueue stream()
        +
        Returns the active stream of this streaming tool.
        +
        +
        +
      • +
      • +
        +

        stream

        +
        +
        public void stream(@Nullable LiveRequestQueue stream)
        +
        Sets the active stream of this streaming tool.
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/agents/BaseAgent.Builder.html b/docs/api-reference/java/com/google/adk/agents/BaseAgent.Builder.html new file mode 100644 index 0000000000..55f3853006 --- /dev/null +++ b/docs/api-reference/java/com/google/adk/agents/BaseAgent.Builder.html @@ -0,0 +1,402 @@ + + + + + + + +BaseAgent.Builder (Google Agent Development Kit Maven Parent POM 1.2.0 API) + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +

    Class BaseAgent.Builder<B extends BaseAgent.Builder<B>>

    +
    +
    java.lang.Object +
    com.google.adk.agents.BaseAgent.Builder<B>
    +
    +
    +
    +
    Type Parameters:
    +
    B - The concrete builder type.
    +
    +
    +
    Direct Known Subclasses:
    +
    LlmAgent.Builder, LoopAgent.Builder, ParallelAgent.Builder, PlannerAgent.Builder, SequentialAgent.Builder
    +
    +
    +
    Enclosing class:
    +
    BaseAgent
    +
    +
    +
    +
    public abstract static class BaseAgent.Builder<B extends BaseAgent.Builder<B>> +extends Object
    +
    Base Builder for all agents.
    +
    +
    +
    + +
    +
    +
      + +
    • +
      +

      Field Details

      +
        +
      • +
        +

        name

        +
        +
        protected String name
        +
        +
        +
      • +
      • +
        +

        description

        +
        +
        protected String description
        +
        +
        +
      • +
      • +
        +

        subAgents

        +
        +
        protected com.google.common.collect.ImmutableList<BaseAgent> subAgents
        +
        +
        +
      • +
      • +
        +

        beforeAgentCallback

        +
        +
        protected com.google.common.collect.ImmutableList<Callbacks.BeforeAgentCallback> beforeAgentCallback
        +
        +
        +
      • +
      • +
        +

        afterAgentCallback

        +
        +
        protected com.google.common.collect.ImmutableList<Callbacks.AfterAgentCallback> afterAgentCallback
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        Builder

        +
        +
        public Builder()
        +
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        self

        +
        +
        protected B self()
        +
        This is a safe cast to the concrete builder type.
        +
        +
        +
      • +
      • +
        +

        name

        +
        +
        @CanIgnoreReturnValue +public B name(String name)
        +
        +
        +
      • +
      • +
        +

        description

        +
        +
        @CanIgnoreReturnValue +public B description(String description)
        +
        +
        +
      • +
      • +
        +

        subAgents

        +
        +
        @CanIgnoreReturnValue +public B subAgents(List<? extends BaseAgent> subAgents)
        +
        +
        +
      • +
      • +
        +

        subAgents

        +
        +
        @CanIgnoreReturnValue +public B subAgents(BaseAgent... subAgents)
        +
        +
        +
      • +
      • +
        +

        beforeAgentCallback

        +
        +
        @CanIgnoreReturnValue +public B beforeAgentCallback(Callbacks.BeforeAgentCallback beforeAgentCallback)
        +
        +
        +
      • +
      • +
        +

        beforeAgentCallback

        +
        +
        @CanIgnoreReturnValue +public B beforeAgentCallback(List<com.google.adk.agents.Callbacks.BeforeAgentCallbackBase> beforeAgentCallback)
        +
        +
        +
      • +
      • +
        +

        afterAgentCallback

        +
        +
        @CanIgnoreReturnValue +public B afterAgentCallback(Callbacks.AfterAgentCallback afterAgentCallback)
        +
        +
        +
      • +
      • +
        +

        afterAgentCallback

        +
        +
        @CanIgnoreReturnValue +public B afterAgentCallback(List<com.google.adk.agents.Callbacks.AfterAgentCallbackBase> afterAgentCallback)
        +
        +
        +
      • +
      • +
        +

        build

        +
        +
        public abstract BaseAgent build()
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    + +
    +
    +
    + + diff --git a/docs/api-reference/java/com/google/adk/agents/BaseAgent.html b/docs/api-reference/java/com/google/adk/agents/BaseAgent.html index 57e48691b1..e18640fea2 100644 --- a/docs/api-reference/java/com/google/adk/agents/BaseAgent.html +++ b/docs/api-reference/java/com/google/adk/agents/BaseAgent.html @@ -2,29 +2,30 @@ - + - -BaseAgent (Google Agent Development Kit Maven Parent POM 0.2.1-SNAPSHOT API) + +BaseAgent (Google Agent Development Kit Maven Parent POM 1.2.0 API) - - - + + +loadScripts(); +initTheme(); + @@ -40,9 +41,15 @@
  • Use
  • Tree
  • +
  • Deprecated
  • Index
  • Search
  • +
  • +
    +
    Select Theme
    +
    +
    @@ -62,13 +66,10 @@
    +

    Class BaseAgent

    -
    java.lang.Object +
    java.lang.Object
    com.google.adk.agents.BaseAgent
    Direct Known Subclasses:
    -
    LlmAgent, LoopAgent, ParallelAgent, SequentialAgent
    +
    LlmAgent, LoopAgent, ParallelAgent, PlannerAgent, RemoteA2AAgent, SequentialAgent

    public abstract class BaseAgent -extends Object
    +extends Object
    Base class for all agents.
    @@ -233,11 +282,11 @@

    Constructor Details

    BaseAgent

    -
    public BaseAgent(String name, - String description, - List<? extends BaseAgent> subAgents, - List<Callbacks.BeforeAgentCallback> beforeAgentCallback, - List<Callbacks.AfterAgentCallback> afterAgentCallback)
    +
    public BaseAgent(String name, + String description, + @Nullable List<? extends BaseAgent> subAgents, + @Nullable List<? extends Callbacks.BeforeAgentCallback> beforeAgentCallback, + @Nullable List<? extends Callbacks.AfterAgentCallback> afterAgentCallback)
    Creates a new BaseAgent.
    Parameters:
    @@ -245,9 +294,9 @@

    BaseAgent

    description - Agent purpose.
    subAgents - Agents managed by this agent.
    beforeAgentCallback - Callbacks before agent execution. Invoked in order until one doesn't - return null.
    + return null.
    afterAgentCallback - Callbacks after agent execution. Invoked in order until one doesn't - return null.
    + return null.
    @@ -261,10 +310,23 @@

    BaseAgent

    Method Details

    • +
      +

      close

      +
      +
      public io.reactivex.rxjava3.core.Completable close()
      +
      Closes all sub-agents.
      +
      +
      Returns:
      +
      a Completable that completes when all sub-agents are closed.
      +
      +
      +
      +
    • +
    • name

      -
      public final String name()
      +
      public final String name()
      Gets the agent's unique name.
      Returns:
      @@ -277,7 +339,7 @@

      name

      description

      -
      public final String description()
      +
      public final String description()
      Gets the one-line description of the agent's capability.
      Returns:
      @@ -329,11 +391,11 @@

      rootAgent

      findAgent

      -
      public BaseAgent findAgent(String name)
      +
      public Optional<BaseAgent> findAgent(String name)
      Finds an agent (this or descendant) by name.
      Returns:
      -
      the agent or descendant with the given name, or null if not found.
      +
      an Optional containing the agent or descendant with the given name, or Optional.empty() if not found.
      @@ -342,8 +404,12 @@

      findAgent

      findSubAgent

      -
      public @Nullable BaseAgent findSubAgent(String name)
      +
      public Optional<BaseAgent> findSubAgent(String name)
      Recursively search sub agent by name.
      +
      +
      Returns:
      +
      an Optional containing the sub agent with the given name, or Optional.empty() if not found.
      +
    • @@ -351,7 +417,7 @@

      findSubAgent

      subAgents

      -
      public List<? extends BaseAgent> subAgents()
      +
      public List<? extends BaseAgent> subAgents()
      @@ -359,7 +425,7 @@

      subAgents

      beforeAgentCallback

      -
      public Optional<List<Callbacks.BeforeAgentCallback>> beforeAgentCallback()
      +
      public com.google.common.collect.ImmutableList<? extends Callbacks.BeforeAgentCallback> beforeAgentCallback()
      @@ -367,7 +433,42 @@

      beforeAgentCallback

      afterAgentCallback

      -
      public Optional<List<Callbacks.AfterAgentCallback>> afterAgentCallback()
      +
      public com.google.common.collect.ImmutableList<? extends Callbacks.AfterAgentCallback> afterAgentCallback()
      +
      +
      + +
    • +
      +

      toolOrigin

      +
      +
      public AgentEnums.AgentOrigin toolOrigin()
      +
      Returns the origin of the tool when this agent is used as a tool.
      +
      +
      Returns:
      +
      the tool origin, defaults to "BASE_AGENT".
      +
      +
      +
      +
    • +
    • +
      +

      canonicalBeforeAgentCallbacks

      +
      +
      public com.google.common.collect.ImmutableList<? extends Callbacks.BeforeAgentCallback> canonicalBeforeAgentCallbacks()
      +
      The resolved beforeAgentCallback field as a list. + +

      This method is only for use by Agent Development Kit.

      +
      +
      +
    • +
    • +
      +

      canonicalAfterAgentCallbacks

      +
      +
      public com.google.common.collect.ImmutableList<? extends Callbacks.AfterAgentCallback> canonicalAfterAgentCallbacks()
      +
      The resolved afterAgentCallback field as a list. + +

      This method is only for use by Agent Development Kit.

    • @@ -431,15 +532,32 @@

      runLiveImpl

    +
  • +
    +

    fromConfig

    +
    +
    public static BaseAgent fromConfig(BaseAgentConfig config, + String configAbsPath)
    +
    Creates a new agent instance from a configuration object.
    +
    +
    Parameters:
    +
    config - Agent configuration.
    +
    configAbsPath - Absolute path to the configuration file.
    +
    Returns:
    +
    new agent instance.
    +
    +
    +
    +
  • -