Skip to content

Commit d0097d6

Browse files
authored
Merge branch 'main' into fix/memory-non-latin-search
2 parents c9b29bb + 77d5b5c commit d0097d6

445 files changed

Lines changed: 28032 additions & 6104 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/adk-agent-builder/SKILL.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,37 @@ description: Central hub for building, testing, and iterating on ADK agents. Tri
55

66
# ADK Agent Builder
77

8-
This file serves as a directory of specialized reference guides for developing agents with ADK. To avoid context pollution, read only the relevant reference file based on your current task.
8+
This file serves as a directory of specialized reference guides for developing
9+
agents with ADK. To avoid context pollution, read only the relevant reference
10+
file based on your current task.
911

1012
## Core Concepts Directory
1113

1214
Refer to these files for foundational knowledge:
15+
1316
- **Getting Started & Basic Agents**: [getting-started.md](references/getting-started.md)
1417
- Environment setup, API key configuration, and minimal agent definitions.
1518
- **Tool Catalog**: [tool-catalog.md](references/tool-catalog.md)
1619
- How to bind function tools, MCP tools, OpenAPI specs, and Google API tools.
1720
- **Agent Modes (Task / Single-Turn)**: [task-mode.md](references/task-mode.md)
1821
- Multi-turn structured delegation and autonomous single-turn execution patterns.
22+
- **Import Paths**: [import-paths.md](references/import-paths.md)
23+
- Canonical and verbose import paths for core components, tools, and
24+
events.
1925

2026
## Workflow & Graph Orchestration
2127

2228
Refer to these files when building complex graphs:
29+
2330
- **Function Nodes**: [function-nodes.md](references/function-nodes.md)
2431
- How to use functions as nodes, type resolution, and generators.
2532
- **Routing & Conditions**: [routing-and-conditions.md](references/routing-and-conditions.md)
2633
- Edge patterns, dict-based routing, self-loops, and conditional execution.
2734
- **LLM Agent Nodes**: [llm-agent-nodes.md](references/llm-agent-nodes.md)
2835
- How to use LLM agents as workflow nodes, task wrappers, and handling output schemas.
36+
- **Advanced Patterns**:
37+
[advanced-patterns.md](references/advanced-patterns.md)
38+
- Nested workflows, custom node types, and graph validation rules.
2939

3040
## Advanced Orchestration Patterns
3141

@@ -40,6 +50,14 @@ Refer to these files when building complex graphs:
4050

4151
- **State & Events**: [state-and-events.md](references/state-and-events.md)
4252
- Using context API, sharing global state, and yield event structures.
53+
- **Session & Memory**:
54+
[session-and-state.md](references/session-and-state.md)
55+
- Session state mutation, scope conventions, and database session
56+
services.
57+
- **Callbacks & Plugins**:
58+
[callbacks-and-plugins.md](references/callbacks-and-plugins.md)
59+
- Implementing callbacks, plugin manager integration, and override
60+
behavior.
4361
- **Multi-Agent Systems**: [multi-agent.md](references/multi-agent.md)
4462
- Hierarchical execution (e.g., `SequentialAgent`, `LoopAgent`, `ParallelAgent`).
4563
- **Testing Strategies**: [testing.md](references/testing.md)

.agents/skills/adk-sample-creator/SKILL.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ Each sample should have a `README.md` with the following structure:
8989

9090
- **Overview**: What the sample does.
9191
- **Sample Inputs**: Examples of inputs to test with. Each prompt must be wrapped in backticks. If a prompt has an explanation, always add a blank line between the prompt and the explanation, and indent the explanation by two spaces.
92-
- **Graph**: Visualization of the graph flow (Mermaid recommended for workflows).
92+
- **Graph**: Visualization of the graph flow (Mermaid recommended). For Workflow root agents, visualize the graph flow of nodes. For LlmAgent root agents that orchestrate tools or sub-agents, visualize the topology of the agent and its tools/sub-agents instead of internal workflow nodes.
9393
- **How To**: Explanation of key techniques used (e.g., `ctx.run_node`).
9494
- **Related Guides**: Links to relevant developer guides in `docs/guides/` that explain the concepts or classes used.
9595

@@ -112,11 +112,18 @@ Brief description.
112112

113113
## Graph
114114

115+
For Workflow root agents:
115116
```mermaid
116117
graph TD
117118
START --> MyNode
118119
```
119120

121+
For LlmAgent root agents:
122+
```mermaid
123+
graph TD
124+
MyAgent[my_agent] -->|calls| MyTool(my_tool)
125+
```
126+
120127
## How To
121128

122129
Explain the details.
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
---
2+
name: adk-unit-design
3+
description: Creates or updates code unit design documents for source code documentation.
4+
---
5+
6+
# ADK Code Unit Design
7+
8+
This skill creates or updates a detailed software engineering design document for new or updated code file or specified code unit. The design document it generates is meant to explain the code to a developer who wants to modify or extend the code unit as part of the ADK development framework. Similar to a *unit test*, a *unit design* provides a generated software engineering design based on the *actual, implemented code* rather than any proposed code design or proposed software architecture.
9+
10+
## Input
11+
12+
- Code files containing new functionality
13+
- Names of new methods and classes (optional)
14+
- Code files for base classes or interfaces that the new functionality depends on (optional)
15+
- Code unit tests (optional)
16+
- Example code files (optional)
17+
18+
## Analysis
19+
20+
- Review specified code files for changes and named methods to determine:
21+
- Purpose and intended use of the new or updated code units
22+
- Any data flows handled by the new or updated code units
23+
- Dependencies required by the new or updated code units
24+
- Approaches for extending or customizing the code unit to add new capabilities
25+
- Classes that depend on the new or updated code units
26+
- Operational limitations of the new or updated code units
27+
28+
## Output
29+
30+
- Look for an existing design document in the `/docs/design/***` directory of this repository.
31+
- If a design already exists, update the existing design incrementally and prioritize preserving the previous content as much as possible.
32+
- If no design document exists, create a design file for the new code unit in the `/docs/design/***` directory of this repository, using the relative path of the code unit. For example, if the code unit is called `/topic/function/class.ext`, create a design document in the location `/docs/design/topic/function/class/index.md`.
33+
- Any links to local code files should be translated to URL links to the `google/adk-python` repository on GitHub. For example, if the local code unit path is `***/adk-python/topic/function/class.ext#L93`, the URL to the code file should be `https://github.com/google/adk-python/blob/main/topic/function/class.ext#L93`.
34+
35+
### Design document structure and content
36+
37+
Use the following structure and instructions to create the design document for the code unit:
38+
39+
```
40+
# (name of code unit or code file) - Code Unit Design
41+
42+
- 2-sentence summary of the code unit
43+
44+
## Introduction
45+
46+
- Paragraph(s) explaining:
47+
- The purpose and application of the code unit, including intended use cases
48+
- Developer problems solved by this code unit
49+
- Agent capabilities enabled by this code unit
50+
51+
## High-level architecture
52+
53+
- Describe the software architecture of this code unit and how it fits into the larger ADK framework
54+
- Explain general execution flow of this code unit
55+
- Describe any data flows handled by the code unit including inputs and outputs
56+
- Explain any cross-class dependencies of the code unit, including upstream dependencies and downstream dependencies
57+
58+
### Extension points
59+
60+
- Describe how the code unit could be extended or customized to add new features or capabilities
61+
- Note specific parts of the code unit that are designed to be extended or customized, including:
62+
- Abstract classes
63+
- Interfaces
64+
- Hooks
65+
- Callbacks
66+
- Configurable parameters
67+
- Plugin architecture
68+
- Other extension points
69+
70+
### Extension constraints
71+
72+
- Describe what parts of the code unit should not be modified, based on:
73+
- architectural constraints
74+
- implementation limitations
75+
- cross-class dependencies
76+
- other constraints
77+
78+
## Limitations
79+
80+
- Mention any limitations of the code unit, if known, such as:
81+
- input constraints
82+
- data structure constraints
83+
- output constraints
84+
- performance limitations
85+
- memory limitations
86+
- other limitations
87+
88+
```

.agents/skills/adk-unit-guide/SKILL.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ Use the following structure and instructions to create the guide for the code un
5353
- Use unit test code as a starting point for the code example, if available.
5454
- When writing a sample agent, do not set the `model` attribute.
5555
- For workflow node samples, prefer using a simple Python function rather than extending `BaseNode` to demonstrate the node's logic, unless class extension is explicitly required for the use case.
56+
- When wrapping Python functions as workflow nodes, prefer using the `@node` decorator instead of `FunctionNode` directly, whenever possible.
5657
5758
## How it works
5859
@@ -64,6 +65,8 @@ Use the following structure and instructions to create the guide for the code un
6465
## Configuration options
6566
6667
- If the code unit has configuration options (e.g., settings, configuration objects), document them in a table detailing parameters, types, default values, and descriptions.
68+
- **Do NOT** list options inherited from base classes. Focus only on options introduced by the code unit itself.
69+
- Dive into each option to provide detailed description and usage patterns, rather than just repeating the type and a brief description.
6770
- **Do NOT** list references of all attributes or methods of the classes. Exhaustive API references belong in auto-generated reference documentation, not in guides. Guides should focus on how to use the code unit.
6871
6972
## Advanced applications
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "2.2.0"
2+
".": "2.3.0"
33
}

.github/header-checker-lint.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
# Copyright 2025 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
114
allowedCopyrightHolders:
215
- 'Google LLC'
316
allowedLicenses:
@@ -9,5 +22,7 @@ sourceFileExtensions:
922
- 'js'
1023
- 'java'
1124
- 'py'
25+
- 'yaml'
26+
- 'yml'
1227
ignoreFiles:
1328
- 'src/google/adk/cli/browser/**'

.github/release-please-config-v1.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
},
2626
{
2727
"type": "refactor",
28-
"section": "Code Refactoring"
28+
"section": "Code Refactoring",
29+
"hidden": true
2930
},
3031
{
3132
"type": "docs",

.github/release-please-config.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
},
2323
{
2424
"type": "refactor",
25-
"section": "Code Refactoring"
25+
"section": "Code Refactoring",
26+
"hidden": true
2627
},
2728
{
2829
"type": "docs",
@@ -56,5 +57,5 @@
5657
]
5758
}
5859
},
59-
"last-release-sha": "cd81f7bde91df78d6cece539a6f98dda2aa8c9c0"
60+
"last-release-sha": "0cb4c814928f579bfbac9b9e1f95669e4304e089"
6061
}

.github/workflows/analyze-releases-for-adk-docs-updates.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
# Copyright 2025 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
115
name: Analyze New Release for ADK Docs Updates
216

317
on:
@@ -23,6 +37,7 @@ on:
2337

2438
jobs:
2539
analyze-new-release-for-adk-docs-updates:
40+
if: github.repository == 'google/adk-python'
2641
runs-on: ubuntu-latest
2742
permissions:
2843
contents: read

.github/workflows/block-merge.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@ name: Do Not Merge on GitHub
1616

1717
on:
1818
pull_request:
19+
branches: [main]
1920
types: [opened, reopened, synchronize]
2021

2122
jobs:
2223
block-merge:
24+
if: github.repository == 'google/adk-python'
2325
name: maintainers will submit via Copybara
2426
runs-on: ubuntu-latest
2527
steps:

0 commit comments

Comments
 (0)