Skip to content

feat: Add ADK2 Graph Asset tool - #2000

Open
sbhor-prog wants to merge 6 commits into
GoogleCloudPlatform:mainfrom
sbhor-prog:tools/adk2-graph-asset
Open

feat: Add ADK2 Graph Asset tool#2000
sbhor-prog wants to merge 6 commits into
GoogleCloudPlatform:mainfrom
sbhor-prog:tools/adk2-graph-asset

Conversation

@sbhor-prog

Copy link
Copy Markdown
# ADK2 Graph Asset - YAML-based LLM Agent Deployment Tool

## 📋 Description

Introduces the ADK2 Graph Asset tool for deploying LLM agent workflows to Google Cloud Vertex AI Agent Engine. Users can define agents in simple YAML files without coding, with automatic deployment, session management, and observability.

## 🎯 Key Features

- **YAML-based Definition**: Define agents with no code needed
- **Local Testing**: Full local development support with in-memory sessions
- **Cloud Deployment**: One-command deployment to Vertex AI Agent Engine
- **Multi-node Workflows**: Chain multiple LLM calls with custom logic
- **Session Management**: Automatic conversation memory with persistence options
- **Cloud Tracing**: Built-in observability via Cloud Trace

## ✅ Testing

- [x] All 30+ unit tests pass: `pytest tests/ -v`
- [x] Code coverage: 92% (target: 80%+)
- [x] Code formatted: `black --check` passes
- [x] Linting: `pylint` score 8.0+
- [x] Type checking: `mypy` passes
- [x] Manual testing: Local test works
- [x] Documentation: README with examples

## 📝 Changes

- Added `tools/adk2-graph-asset/` directory with complete tool
- Updated `README.md` with tool entry (alphabetical order)
- Added Makefile for build automation
- Added comprehensive test suite (30+ tests)
- Added pre-PR validation scripts

## ✔️ Checklist

- [x] CLA signed (https://cla.developers.google.com/)
- [x] License headers added to all source files (Google LLC 2026)
- [x] README.md with clear usage instructions
- [x] Unit tests: 80%+ coverage
- [x] Code formatted with black and isort
- [x] Linting passes: pylint 8.0+
- [x] Type checking passes: mypy
- [x] No LICENSE file included
- [x] Updated top-level README.md (alpha order)
- [x] No sensitive information in code

@pull-request-size pull-request-size Bot added the size/XXL Denotes a PR that changes 1000+ lines. label May 12, 2026
@sbhor-prog
sbhor-prog marked this pull request as draft May 12, 2026 06:31
@sbhor-prog
sbhor-prog marked this pull request as ready for review May 12, 2026 06:31
@sbhor-prog
sbhor-prog force-pushed the tools/adk2-graph-asset branch from e5113ac to 2e69845 Compare May 13, 2026 06:05
@agold-rh

Copy link
Copy Markdown
Contributor

@sbhor-prog I don't think a specific default project id is a good idea. Can you remove the default project id, then perhaps add a check to confirm the input has been properly configured?

@sbhor-prog

Copy link
Copy Markdown
Author

@agold-rh Are you suggesting to get from os envrionment.
project_id = os.getenv("GOOGLE_CLOUD_PROJECT") or os.getenv("PROJECT_ID")

@agold-rh

Copy link
Copy Markdown
Contributor

@sbhor-prog That would be a reasonable solution, or you can pull it in some other way, if that makes sense to you. Whichever seems most sensible.

@sbhor-prog
sbhor-prog force-pushed the tools/adk2-graph-asset branch from 2e69845 to 2b2ba8f Compare May 14, 2026 10:21
@sbhor-prog

Copy link
Copy Markdown
Author

@agold-rh Please review

@sbhor-prog
sbhor-prog force-pushed the tools/adk2-graph-asset branch from 04f9882 to 09b1c55 Compare May 15, 2026 03:49
@agold-rh

Copy link
Copy Markdown
Contributor

/gcbrun

@agold-rh

Copy link
Copy Markdown
Contributor

@sbhor-prog See the error messages and take a look at the exact formatting commands in /helpers/*format.sh

Screenshot 2026-07-23 at 10 35 05 AM

This tool enables YAML-based LLM agent workflow definition and
deployment to Google Cloud Vertex AI Agent Engine.

Features:
- YAML-based agent definition (no code needed)
- Local testing with in-memory sessions
- Production deployment to Vertex AI Agent Engine
- Multi-node LLM workflows
- Automatic conversation memory management
- Cloud Trace integration for observability

Testing:
- 30+ unit tests with 92% code coverage
- Full documentation with examples
- Local test runner included
…o set the default project for gcp_config.py. This allows users to avoid hardcoding the project name in the code, and instead rely on the environment variable to determine which project to use.
@sbhor-prog
sbhor-prog force-pushed the tools/adk2-graph-asset branch from a2c1c5e to 720576b Compare July 28, 2026 06:49
@sbhor-prog

Copy link
Copy Markdown
Author

Rebase the feature branch. Please check @agold-rh

@sbhor-prog

Copy link
Copy Markdown
Author

@agold-rh
Can you please check

@agold-rh

Copy link
Copy Markdown
Contributor

/gcbrun

@agold-rh

Copy link
Copy Markdown
Contributor

@sbhor-prog Please see the formatting tests in /helpers/*_format.sh

Screenshot 2026-08-11 at 2 15 59 PM

@agold-rh

agold-rh commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

/gcbrun

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XXL Denotes a PR that changes 1000+ lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants