agent-starter-pack 0.18.2__py3-none-any.whl → 0.21.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agent_starter_pack/agents/{langgraph_base_react → adk_a2a_base}/.template/templateconfig.yaml +5 -12
- agent_starter_pack/agents/adk_a2a_base/README.md +37 -0
- agent_starter_pack/{frontends/streamlit/frontend/style/app_markdown.py → agents/adk_a2a_base/app/__init__.py} +3 -23
- agent_starter_pack/agents/adk_a2a_base/app/agent.py +70 -0
- agent_starter_pack/agents/adk_a2a_base/notebooks/adk_a2a_app_testing.ipynb +583 -0
- agent_starter_pack/agents/{crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb → adk_a2a_base/notebooks/evaluating_adk_agent.ipynb} +163 -199
- agent_starter_pack/agents/adk_a2a_base/tests/integration/test_agent.py +58 -0
- agent_starter_pack/agents/adk_base/app/__init__.py +2 -2
- agent_starter_pack/agents/adk_base/app/agent.py +3 -0
- agent_starter_pack/agents/adk_base/notebooks/adk_app_testing.ipynb +13 -28
- agent_starter_pack/agents/adk_live/app/__init__.py +17 -0
- agent_starter_pack/agents/adk_live/app/agent.py +3 -0
- agent_starter_pack/agents/agentic_rag/app/__init__.py +2 -2
- agent_starter_pack/agents/agentic_rag/app/agent.py +3 -0
- agent_starter_pack/agents/agentic_rag/notebooks/adk_app_testing.ipynb +13 -28
- agent_starter_pack/agents/{crewai_coding_crew → langgraph_base}/.template/templateconfig.yaml +12 -9
- agent_starter_pack/agents/langgraph_base/README.md +30 -0
- agent_starter_pack/agents/langgraph_base/app/__init__.py +17 -0
- agent_starter_pack/agents/{langgraph_base_react → langgraph_base}/app/agent.py +4 -4
- agent_starter_pack/agents/{langgraph_base_react → langgraph_base}/tests/integration/test_agent.py +1 -1
- agent_starter_pack/base_template/.gitignore +4 -2
- agent_starter_pack/base_template/Makefile +110 -16
- agent_starter_pack/base_template/README.md +97 -12
- agent_starter_pack/base_template/deployment/terraform/dev/apis.tf +4 -6
- agent_starter_pack/base_template/deployment/terraform/dev/providers.tf +5 -1
- agent_starter_pack/base_template/deployment/terraform/dev/variables.tf +5 -3
- agent_starter_pack/base_template/deployment/terraform/dev/{% if cookiecutter.is_adk %}telemetry.tf{% else %}unused_telemetry.tf{% endif %} +193 -0
- agent_starter_pack/base_template/deployment/terraform/github.tf +16 -9
- agent_starter_pack/base_template/deployment/terraform/locals.tf +7 -7
- agent_starter_pack/base_template/deployment/terraform/providers.tf +5 -1
- agent_starter_pack/base_template/deployment/terraform/sql/completions.sql +138 -0
- agent_starter_pack/base_template/deployment/terraform/storage.tf +0 -9
- agent_starter_pack/base_template/deployment/terraform/variables.tf +15 -19
- agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}build_triggers.tf{% else %}unused_build_triggers.tf{% endif %} +20 -22
- agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.is_adk %}telemetry.tf{% else %}unused_telemetry.tf{% endif %} +206 -0
- agent_starter_pack/base_template/pyproject.toml +5 -17
- agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml +19 -4
- agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml +36 -11
- agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/deploy-to-prod.yaml +24 -5
- agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml +44 -9
- agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/telemetry.py +96 -0
- agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/{utils → app_utils}/typing.py +4 -6
- agent_starter_pack/{agents/crewai_coding_crew/app/crew/config/agents.yaml → base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}converters{% else %}unused_converters{% endif %}/__init__.py } +9 -23
- agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}converters{% else %}unused_converters{% endif %}/part_converter.py +138 -0
- agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}executor{% else %}unused_executor{% endif %}/__init__.py +13 -0
- agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}executor{% else %}unused_executor{% endif %}/a2a_agent_executor.py +265 -0
- agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}executor{% else %}unused_executor{% endif %}/task_result_aggregator.py +152 -0
- agent_starter_pack/cli/commands/create.py +40 -4
- agent_starter_pack/cli/commands/enhance.py +1 -1
- agent_starter_pack/cli/commands/register_gemini_enterprise.py +1070 -0
- agent_starter_pack/cli/main.py +2 -0
- agent_starter_pack/cli/utils/cicd.py +20 -4
- agent_starter_pack/cli/utils/template.py +257 -25
- agent_starter_pack/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +113 -16
- agent_starter_pack/deployment_targets/agent_engine/tests/load_test/README.md +2 -2
- agent_starter_pack/deployment_targets/agent_engine/tests/load_test/load_test.py +178 -9
- agent_starter_pack/deployment_targets/agent_engine/tests/{% if cookiecutter.is_a2a %}helpers.py{% else %}unused_helpers.py{% endif %} +138 -0
- agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/agent_engine_app.py +193 -307
- agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/app_utils/deploy.py +414 -0
- agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/{utils → app_utils}/{% if cookiecutter.is_adk_live %}expose_app.py{% else %}unused_expose_app.py{% endif %} +13 -14
- agent_starter_pack/deployment_targets/cloud_run/Dockerfile +4 -1
- agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +85 -86
- agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/service.tf +139 -107
- agent_starter_pack/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +228 -12
- agent_starter_pack/deployment_targets/cloud_run/tests/load_test/README.md +4 -4
- agent_starter_pack/deployment_targets/cloud_run/tests/load_test/load_test.py +92 -12
- agent_starter_pack/deployment_targets/cloud_run/{{cookiecutter.agent_directory}}/{server.py → fast_api_app.py} +194 -121
- agent_starter_pack/frontends/adk_live_react/frontend/package-lock.json +18 -18
- agent_starter_pack/frontends/adk_live_react/frontend/src/multimodal-live-types.ts +5 -3
- agent_starter_pack/resources/docs/adk-cheatsheet.md +198 -41
- agent_starter_pack/resources/locks/uv-adk_a2a_base-agent_engine.lock +4966 -0
- agent_starter_pack/resources/locks/uv-adk_a2a_base-cloud_run.lock +5011 -0
- agent_starter_pack/resources/locks/uv-adk_base-agent_engine.lock +1443 -709
- agent_starter_pack/resources/locks/uv-adk_base-cloud_run.lock +1058 -874
- agent_starter_pack/resources/locks/uv-adk_live-agent_engine.lock +1443 -709
- agent_starter_pack/resources/locks/uv-adk_live-cloud_run.lock +1058 -874
- agent_starter_pack/resources/locks/uv-agentic_rag-agent_engine.lock +1568 -749
- agent_starter_pack/resources/locks/uv-agentic_rag-cloud_run.lock +1123 -929
- agent_starter_pack/resources/locks/{uv-langgraph_base_react-agent_engine.lock → uv-langgraph_base-agent_engine.lock} +1714 -1689
- agent_starter_pack/resources/locks/{uv-langgraph_base_react-cloud_run.lock → uv-langgraph_base-cloud_run.lock} +1285 -2374
- agent_starter_pack/utils/watch_and_rebuild.py +1 -1
- {agent_starter_pack-0.18.2.dist-info → agent_starter_pack-0.21.0.dist-info}/METADATA +3 -6
- {agent_starter_pack-0.18.2.dist-info → agent_starter_pack-0.21.0.dist-info}/RECORD +89 -93
- agent_starter_pack-0.21.0.dist-info/entry_points.txt +2 -0
- llm.txt +4 -5
- agent_starter_pack/agents/crewai_coding_crew/README.md +0 -34
- agent_starter_pack/agents/crewai_coding_crew/app/agent.py +0 -47
- agent_starter_pack/agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -37
- agent_starter_pack/agents/crewai_coding_crew/app/crew/crew.py +0 -71
- agent_starter_pack/agents/crewai_coding_crew/tests/integration/test_agent.py +0 -47
- agent_starter_pack/agents/langgraph_base_react/README.md +0 -9
- agent_starter_pack/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb +0 -1574
- agent_starter_pack/base_template/deployment/terraform/dev/log_sinks.tf +0 -69
- agent_starter_pack/base_template/deployment/terraform/log_sinks.tf +0 -79
- agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/utils/tracing.py +0 -155
- agent_starter_pack/cli/utils/register_gemini_enterprise.py +0 -406
- agent_starter_pack/deployment_targets/agent_engine/deployment/terraform/{% if not cookiecutter.is_adk_live %}service.tf{% else %}unused_service.tf{% endif %} +0 -82
- agent_starter_pack/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -1025
- agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/utils/deployment.py +0 -99
- agent_starter_pack/frontends/streamlit/frontend/side_bar.py +0 -214
- agent_starter_pack/frontends/streamlit/frontend/streamlit_app.py +0 -265
- agent_starter_pack/frontends/streamlit/frontend/utils/chat_utils.py +0 -67
- agent_starter_pack/frontends/streamlit/frontend/utils/local_chat_history.py +0 -127
- agent_starter_pack/frontends/streamlit/frontend/utils/message_editing.py +0 -59
- agent_starter_pack/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -217
- agent_starter_pack/frontends/streamlit/frontend/utils/stream_handler.py +0 -310
- agent_starter_pack/frontends/streamlit/frontend/utils/title_summary.py +0 -94
- agent_starter_pack/resources/locks/uv-crewai_coding_crew-agent_engine.lock +0 -6650
- agent_starter_pack/resources/locks/uv-crewai_coding_crew-cloud_run.lock +0 -7825
- agent_starter_pack-0.18.2.dist-info/entry_points.txt +0 -3
- /agent_starter_pack/agents/{crewai_coding_crew → langgraph_base}/notebooks/evaluating_langgraph_agent.ipynb +0 -0
- /agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/{utils → app_utils}/gcs.py +0 -0
- {agent_starter_pack-0.18.2.dist-info → agent_starter_pack-0.21.0.dist-info}/WHEEL +0 -0
- {agent_starter_pack-0.18.2.dist-info → agent_starter_pack-0.21.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -137,7 +137,7 @@ def watch(
|
|
|
137
137
|
"""
|
|
138
138
|
Watch a agent's template and automatically rebuild when changes are detected.
|
|
139
139
|
|
|
140
|
-
agent: Name of the agent to watch (e.g.,
|
|
140
|
+
agent: Name of the agent to watch (e.g., langgraph_base)
|
|
141
141
|
PROJECT_NAME: Name of the project to generate
|
|
142
142
|
"""
|
|
143
143
|
if debug:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-starter-pack
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.21.0
|
|
4
4
|
Summary: CLI to bootstrap production-ready Google Cloud GenAI agent projects from templates.
|
|
5
5
|
Author-email: Google LLC <agent-starter-pack@google.com>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -93,9 +93,9 @@ See [Installation Guide](https://googlecloudplatform.github.io/agent-starter-pac
|
|
|
93
93
|
| Agent Name | Description |
|
|
94
94
|
|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
|
|
95
95
|
| `adk_base` | A base ReAct agent implemented using Google's [Agent Development Kit](https://github.com/google/adk-python) |
|
|
96
|
+
| `adk_a2a_base` | An ADK agent with [Agent2Agent (A2A) Protocol](https://a2a-protocol.org/) support for distributed agent communication and interoperability |
|
|
96
97
|
| `agentic_rag` | A RAG agent for document retrieval and Q&A. Supporting [Vertex AI Search](https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction) and [Vector Search](https://cloud.google.com/vertex-ai/docs/vector-search/overview). |
|
|
97
|
-
| `
|
|
98
|
-
| `crewai_coding_crew` | A multi-agent system implemented with CrewAI created to support coding activities |
|
|
98
|
+
| `langgraph_base` | A base ReAct agent implemented using LangChain's [LangGraph](https://github.com/langchain-ai/langgraph) |
|
|
99
99
|
| `adk_live` | A real-time multimodal RAG agent powered by Gemini, supporting audio/video/text chat |
|
|
100
100
|
|
|
101
101
|
**More agents are on the way!** We are continuously expanding our [agent library](https://googlecloudplatform.github.io/agent-starter-pack/agents/overview). Have a specific agent type in mind? [Raise an issue as a feature request!](https://github.com/GoogleCloudPlatform/agent-starter-pack/issues/new?labels=enhancement)
|
|
@@ -153,9 +153,6 @@ Visit our [documentation site](https://googlecloudplatform.github.io/agent-start
|
|
|
153
153
|
|
|
154
154
|
- **[6-minute introduction](https://www.youtube.com/live/eZ-8UQ_t4YM?feature=shared&t=2791)** (April 2024): Explaining the Agent Starter Pack and demonstrating its key features. Part of the Kaggle GenAI intensive course.
|
|
155
155
|
|
|
156
|
-
- **[120-minute livestream demo](https://www.youtube.com/watch?v=yIRIT_EtALs&t=235s)** (March 6, 2025): Watch us build 3 Agents in under 30 minutes using the `agent-starter-pack`!
|
|
157
|
-
|
|
158
|
-
|
|
159
156
|
Looking for more examples and resources for Generative AI on Google Cloud? Check out the [GoogleCloudPlatform/generative-ai](https://github.com/GoogleCloudPlatform/generative-ai) repository for notebooks, code samples, and more!
|
|
160
157
|
|
|
161
158
|
## Contributing
|
|
@@ -1,86 +1,92 @@
|
|
|
1
1
|
agent_starter_pack/agents/README.md,sha256=L8__lIXXjxLTZbkCmTC4taTFUMRVrO3QI2mCKZTdhJM,462
|
|
2
|
+
agent_starter_pack/agents/adk_a2a_base/README.md,sha256=_93IaUvS7TU5qVxp3s-KnH8MsHBEW9jTdpRUl-zcQXg,2422
|
|
3
|
+
agent_starter_pack/agents/adk_a2a_base/.template/templateconfig.yaml,sha256=ImavmFQtJPj_n_rIoF62xTEtFvWfoNBBwVlUrTQfsfo,1001
|
|
4
|
+
agent_starter_pack/agents/adk_a2a_base/app/__init__.py,sha256=GVTYZcCQCi2t5dxcet777hEKD_MDzQ-8n_ht7xSbXYM,617
|
|
5
|
+
agent_starter_pack/agents/adk_a2a_base/app/agent.py,sha256=GWR_rxZuLlxml-1eytF_8BXlp6xPUM6Emv0u5kClMpg,2349
|
|
6
|
+
agent_starter_pack/agents/adk_a2a_base/notebooks/adk_a2a_app_testing.ipynb,sha256=h6y4mjqMyUe3LyKGFsa37Kj3NbRL9sX7_xFXdynXzuE,16959
|
|
7
|
+
agent_starter_pack/agents/adk_a2a_base/notebooks/evaluating_adk_agent.ipynb,sha256=SdZC1htgXtXw3oyi8d70dNVpDgUmV9T5hqiwGxM9plk,57034
|
|
8
|
+
agent_starter_pack/agents/adk_a2a_base/tests/integration/test_agent.py,sha256=_zb3GMWMtMRq2rOyYC-uL1eNhpg2XBkm8Noj0O_UOng,1998
|
|
2
9
|
agent_starter_pack/agents/adk_base/README.md,sha256=_rnoIkHupZ4afDZEAtrDZzeYSS4WqtJWnvtX2H-RrCM,894
|
|
3
10
|
agent_starter_pack/agents/adk_base/.template/templateconfig.yaml,sha256=MxfwQxOi8ea1Nqg_J36K7fgk72DpbDO8JJ3-s1jRVe4,931
|
|
4
|
-
agent_starter_pack/agents/adk_base/app/__init__.py,sha256=
|
|
5
|
-
agent_starter_pack/agents/adk_base/app/agent.py,sha256=
|
|
6
|
-
agent_starter_pack/agents/adk_base/notebooks/adk_app_testing.ipynb,sha256=
|
|
11
|
+
agent_starter_pack/agents/adk_base/app/__init__.py,sha256=GVTYZcCQCi2t5dxcet777hEKD_MDzQ-8n_ht7xSbXYM,617
|
|
12
|
+
agent_starter_pack/agents/adk_base/app/agent.py,sha256=x2POo7qVl86lFY7EXr2laYd4IG02sN_88ZkETMZUxlA,2264
|
|
13
|
+
agent_starter_pack/agents/adk_base/notebooks/adk_app_testing.ipynb,sha256=zzxMARpI2JlG6QnsYr83kVaprfCTv8XMI5fuKnLzKgM,10685
|
|
7
14
|
agent_starter_pack/agents/adk_base/notebooks/evaluating_adk_agent.ipynb,sha256=SdZC1htgXtXw3oyi8d70dNVpDgUmV9T5hqiwGxM9plk,57034
|
|
8
15
|
agent_starter_pack/agents/adk_base/tests/integration/test_agent.py,sha256=_zb3GMWMtMRq2rOyYC-uL1eNhpg2XBkm8Noj0O_UOng,1998
|
|
9
16
|
agent_starter_pack/agents/adk_live/README.md,sha256=TrGpjVyn4GNJptYrZecluvaQhzERNFourmZIJw_Uqaw,2334
|
|
10
17
|
agent_starter_pack/agents/adk_live/.template/templateconfig.yaml,sha256=vUcRqd6n2LXKPVV4Gsuhv84Gfl8Aq5yHrsOVEcqFZJs,1057
|
|
11
|
-
agent_starter_pack/agents/adk_live/app/
|
|
18
|
+
agent_starter_pack/agents/adk_live/app/__init__.py,sha256=GVTYZcCQCi2t5dxcet777hEKD_MDzQ-8n_ht7xSbXYM,617
|
|
19
|
+
agent_starter_pack/agents/adk_live/app/agent.py,sha256=3aCFDAIzkCuhVptG_DXRqAsBB9b9v0QCaSIX7jB8bhQ,1704
|
|
12
20
|
agent_starter_pack/agents/adk_live/tests/unit/test_dummy.py,sha256=NjoCHMsnMID5TnDNhux4eeBdoLqiDqTgUvJgQJWmAk0,1506
|
|
13
21
|
agent_starter_pack/agents/agentic_rag/README.md,sha256=cPeY_XGt79ava22PIM0x92oi67R-TnlEKBQGpK1MOkA,2262
|
|
14
22
|
agent_starter_pack/agents/agentic_rag/.template/templateconfig.yaml,sha256=LlBOa7aoJzIQUVIeveMkZcLF1-8GcRwELjUV9fk7ZHc,1256
|
|
15
|
-
agent_starter_pack/agents/agentic_rag/app/__init__.py,sha256=
|
|
16
|
-
agent_starter_pack/agents/agentic_rag/app/agent.py,sha256=
|
|
23
|
+
agent_starter_pack/agents/agentic_rag/app/__init__.py,sha256=GVTYZcCQCi2t5dxcet777hEKD_MDzQ-8n_ht7xSbXYM,617
|
|
24
|
+
agent_starter_pack/agents/agentic_rag/app/agent.py,sha256=dWhWyFQTdblPAPRAVfcreo7S6pi2MFHT7_ExZ1aqYlw,4123
|
|
17
25
|
agent_starter_pack/agents/agentic_rag/app/retrievers.py,sha256=qfxwSEixMddvAu4FvUTZAFh1Gdp3RPY65s0Wp6gEFVk,4561
|
|
18
26
|
agent_starter_pack/agents/agentic_rag/app/templates.py,sha256=8N_uRchwiN7hlH9Y8rdJ1CAtOhpHUWZkXZZ7IU-YJJk,867
|
|
19
|
-
agent_starter_pack/agents/agentic_rag/notebooks/adk_app_testing.ipynb,sha256=
|
|
27
|
+
agent_starter_pack/agents/agentic_rag/notebooks/adk_app_testing.ipynb,sha256=zzxMARpI2JlG6QnsYr83kVaprfCTv8XMI5fuKnLzKgM,10685
|
|
20
28
|
agent_starter_pack/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb,sha256=SdZC1htgXtXw3oyi8d70dNVpDgUmV9T5hqiwGxM9plk,57034
|
|
21
29
|
agent_starter_pack/agents/agentic_rag/tests/integration/test_agent.py,sha256=YcwOZXa9uJqcqZN8UPikNm_dlSh9XduEfcuQa0wkby8,2170
|
|
22
|
-
agent_starter_pack/agents/
|
|
23
|
-
agent_starter_pack/agents/
|
|
24
|
-
agent_starter_pack/agents/
|
|
25
|
-
agent_starter_pack/agents/
|
|
26
|
-
agent_starter_pack/agents/
|
|
27
|
-
agent_starter_pack/agents/
|
|
28
|
-
agent_starter_pack/
|
|
29
|
-
agent_starter_pack/agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb,sha256=PlW41fL-ji9NKkimW6u25YRLGWN2pgoX2G8w5nzIEPE,58737
|
|
30
|
-
agent_starter_pack/agents/crewai_coding_crew/tests/integration/test_agent.py,sha256=f4QgY100tXR4D70qaM8blad2cgCfxCZ5RJ2Pv3amDcs,1640
|
|
31
|
-
agent_starter_pack/agents/langgraph_base_react/README.md,sha256=KZQ0e8q9CqnIEiItH9Tc2Ceb2mC3sBcyQUo-ZAmO-zs,482
|
|
32
|
-
agent_starter_pack/agents/langgraph_base_react/.template/templateconfig.yaml,sha256=XazFXzLbtDoCAjTsaMit2P13F0zhsDbC7p3zp_DJac0,1078
|
|
33
|
-
agent_starter_pack/agents/langgraph_base_react/app/agent.py,sha256=KyR9Doi52Q6iygJSPqc4-JAchQvgbB8ilFW58EcqQhA,1188
|
|
34
|
-
agent_starter_pack/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb,sha256=PlW41fL-ji9NKkimW6u25YRLGWN2pgoX2G8w5nzIEPE,58737
|
|
35
|
-
agent_starter_pack/agents/langgraph_base_react/tests/integration/test_agent.py,sha256=xy0A_3eGhxM8A5rc81revMztJN5GtFA-o5-CG5JzeQw,1630
|
|
36
|
-
agent_starter_pack/base_template/.gitignore,sha256=Fq0w34x4sfbwP4RqDqh6hdHNYRUEsFNI-9XONzLWBIs,2580
|
|
30
|
+
agent_starter_pack/agents/langgraph_base/README.md,sha256=GEfTVUGna49LrjTo62YgQBli5kw2gbNbXJqABdoh5aQ,1813
|
|
31
|
+
agent_starter_pack/agents/langgraph_base/.template/templateconfig.yaml,sha256=GqC3EZz-HCXwI2uzwmUqomwwTlpg3HXxOGiABsEgB7E,1196
|
|
32
|
+
agent_starter_pack/agents/langgraph_base/app/__init__.py,sha256=wT1TtenBOdA4LTtf6mQjvAT5aRR1N2PCx_A-MrDLGsg,631
|
|
33
|
+
agent_starter_pack/agents/langgraph_base/app/agent.py,sha256=DnKPqp7S6nnak3RCaBqFywRNzJO6uXJTm6foTqXHB-0,1219
|
|
34
|
+
agent_starter_pack/agents/langgraph_base/notebooks/evaluating_langgraph_agent.ipynb,sha256=PlW41fL-ji9NKkimW6u25YRLGWN2pgoX2G8w5nzIEPE,58737
|
|
35
|
+
agent_starter_pack/agents/langgraph_base/tests/integration/test_agent.py,sha256=-hseraJMQL5QekhUKsB7oO_Y2_Dq660TQCi6dZyYTYI,1644
|
|
36
|
+
agent_starter_pack/base_template/.gitignore,sha256=qnJvSWl-xPSqcUDiNMFu1srgtgFYK0plrYGnJDSCZXA,2602
|
|
37
37
|
agent_starter_pack/base_template/GEMINI.md,sha256=ApNsGamVPBsrKeI77p6QxU2-sJE6k3wGwSLVvNa-YGA,126
|
|
38
|
-
agent_starter_pack/base_template/Makefile,sha256=
|
|
39
|
-
agent_starter_pack/base_template/README.md,sha256=
|
|
40
|
-
agent_starter_pack/base_template/pyproject.toml,sha256=
|
|
38
|
+
agent_starter_pack/base_template/Makefile,sha256=6kbBnWUvat-cNbd5KUIW2B0D9yN5DWEqdxYlqa65AE8,18113
|
|
39
|
+
agent_starter_pack/base_template/README.md,sha256=YmZ0cmSc9dpBOi_QOP0OyxHxnEho95a1669ienX8fgE,13346
|
|
40
|
+
agent_starter_pack/base_template/pyproject.toml,sha256=T6NbM-X03lrPmxc9vmW6l8Mk3YytcceAw7T6tKDk2OM,2621
|
|
41
41
|
agent_starter_pack/base_template/deployment/README.md,sha256=gZJvSWdQh_Mi-bZ3dmuPv7fMezIw04fgN5tq7KgglPw,692
|
|
42
42
|
agent_starter_pack/base_template/deployment/terraform/apis.tf,sha256=KX8Oe2gjT-gh9Bkntz9yIAyRjPc1gZvwOhroJ6NZVp4,1513
|
|
43
|
-
agent_starter_pack/base_template/deployment/terraform/github.tf,sha256=
|
|
43
|
+
agent_starter_pack/base_template/deployment/terraform/github.tf,sha256=6lYD4XXAtcdOsNXJrrKMySqSD_WDZEkZsXy1CcfS5xU,12363
|
|
44
44
|
agent_starter_pack/base_template/deployment/terraform/iam.tf,sha256=I70ROOjXcYiqxtzuak6n0ZNhkjH6vjOzykXQG1Zi1dE,4700
|
|
45
|
-
agent_starter_pack/base_template/deployment/terraform/locals.tf,sha256=
|
|
46
|
-
agent_starter_pack/base_template/deployment/terraform/
|
|
47
|
-
agent_starter_pack/base_template/deployment/terraform/providers.tf,sha256=LqgSBZwa7QtfACj4ax3mD8Ljas2sBZt60cLibsYfIfo,1167
|
|
45
|
+
agent_starter_pack/base_template/deployment/terraform/locals.tf,sha256=DarUkp0k3HEjGjlibriqpw2127gLpsnoebf7AuufgUQ,1673
|
|
46
|
+
agent_starter_pack/base_template/deployment/terraform/providers.tf,sha256=UGf9PFeShoSiRp426xkSN9FpJ56kAYC1xf0x_07j1Qc,1252
|
|
48
47
|
agent_starter_pack/base_template/deployment/terraform/service_accounts.tf,sha256=iSRrRzxL16pZHel5cZDzC7m15IRTRv8qMxkcg4nd30o,1672
|
|
49
|
-
agent_starter_pack/base_template/deployment/terraform/storage.tf,sha256=
|
|
50
|
-
agent_starter_pack/base_template/deployment/terraform/variables.tf,sha256=
|
|
48
|
+
agent_starter_pack/base_template/deployment/terraform/storage.tf,sha256=6tlLTAJtUhP-MC9r-vzueSNybpcm21HcVJ3NkhzEWpI,8218
|
|
49
|
+
agent_starter_pack/base_template/deployment/terraform/variables.tf,sha256=gkKYTry6DsoVvDCULc1KsT6EdhEWy1h44BVE-ahIPKE,6315
|
|
51
50
|
agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'github_actions' %}wif.tf{% else %}unused_wif.tf{% endif %},sha256=rCupUnvaTVj75ahJOckNuzlQ-xcLTik_HpqXzVEEB5g,2666
|
|
52
|
-
agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}build_triggers.tf{% else %}unused_build_triggers.tf{% endif %},sha256=
|
|
53
|
-
agent_starter_pack/base_template/deployment/terraform/
|
|
51
|
+
agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}build_triggers.tf{% else %}unused_build_triggers.tf{% endif %},sha256=8vGdwSlEKxxrg44OAGv-WUa17OtqoHTsGkR6TceXEVg,6991
|
|
52
|
+
agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.is_adk %}telemetry.tf{% else %}unused_telemetry.tf{% endif %},sha256=BqHhhn5LqRCQ-J6SIkWNN1W6vyC8iNRhttl_mOZjdRI,9180
|
|
53
|
+
agent_starter_pack/base_template/deployment/terraform/dev/apis.tf,sha256=BuCq2NKFGCk8Fal0HpDssaAbnQknS1sqHgGVk1vEUls,1524
|
|
54
54
|
agent_starter_pack/base_template/deployment/terraform/dev/iam.tf,sha256=q8dfqbMNSpgMXW96hP7rnApFoNaAUzZgUXs5HIl7ZFI,3329
|
|
55
|
-
agent_starter_pack/base_template/deployment/terraform/dev/
|
|
56
|
-
agent_starter_pack/base_template/deployment/terraform/dev/providers.tf,sha256=lEl1ggDRhIhvXFFgFa8Htbv2sB_Oyp81ptfalop8pjc,900
|
|
55
|
+
agent_starter_pack/base_template/deployment/terraform/dev/providers.tf,sha256=Uqa738prwROmw0MK3nFppbdotuIbi6KJYb6yN2-EkZ8,985
|
|
57
56
|
agent_starter_pack/base_template/deployment/terraform/dev/storage.tf,sha256=jBb1yJoOD2Ccki2fXy_P1-0sZGJbxmiTcwqZpGwApBI,4649
|
|
58
|
-
agent_starter_pack/base_template/deployment/terraform/dev/variables.tf,sha256=
|
|
57
|
+
agent_starter_pack/base_template/deployment/terraform/dev/variables.tf,sha256=ZoD1yVHT51bKLzwCu3_k-KsuemwbVaWMRJZWn1z74lM,4114
|
|
58
|
+
agent_starter_pack/base_template/deployment/terraform/dev/{% if cookiecutter.is_adk %}telemetry.tf{% else %}unused_telemetry.tf{% endif %},sha256=dLfUQ3oHXJfo53rls8hJiDi4o-uGte_k3ROBB261Ysc,8467
|
|
59
59
|
agent_starter_pack/base_template/deployment/terraform/dev/vars/env.tfvars,sha256=LoQMjh1AAMR-MGfaSCsVMjdoYTk2T4oS4D9vMH54CdQ,714
|
|
60
|
+
agent_starter_pack/base_template/deployment/terraform/sql/completions.sql,sha256=XpoFs0iV5cOx46ROirYQoPx43gPVEGB62d65D5s9Hw4,3193
|
|
60
61
|
agent_starter_pack/base_template/deployment/terraform/vars/env.tfvars,sha256=YcVMXSDXZWYZg1ZxkdNWMRPG0p4bCz8HE9EQyNKeWLs,1394
|
|
61
62
|
agent_starter_pack/base_template/tests/unit/test_dummy.py,sha256=2exfCH8qhkZrLWvK04ZxNTO9MV3fdTbZkJN3uK6zvok,850
|
|
62
|
-
agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml,sha256=
|
|
63
|
+
agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml,sha256=FCWSNlbBqMOBXO_J2bRkZm1i3xipKnw1TYSQSH1SOmg,6673
|
|
63
64
|
agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/pr_checks.yaml,sha256=5Iyvnsy3Fe6x78OKjnHe3yMI0DG2jz6AdhTmPS0HQi0,2010
|
|
64
|
-
agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml,sha256=
|
|
65
|
-
agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/deploy-to-prod.yaml,sha256=
|
|
65
|
+
agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml,sha256=rSAoRjjbqgQIrIwbAXmB7QU30aDBAIGLnDcpw6ap-hQ,12393
|
|
66
|
+
agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/deploy-to-prod.yaml,sha256=sUY9VUegVFkvAjgbzOoPMjrXTAzXxh0p-7F2HbNgZ7g,4665
|
|
66
67
|
agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/pr_checks.yaml,sha256=D7P8u-bDb7Goc3NzCtZa1yQcIVS7YWHKyLhrrI_Kk14,1512
|
|
67
|
-
agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml,sha256=
|
|
68
|
-
agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/
|
|
69
|
-
agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/
|
|
70
|
-
agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/
|
|
71
|
-
agent_starter_pack/
|
|
72
|
-
agent_starter_pack/
|
|
73
|
-
agent_starter_pack/
|
|
68
|
+
agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml,sha256=F12kfwNAu5b2dOfN6XH2IwLVo1SEhhapKQ07KMw2cUs,11613
|
|
69
|
+
agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/gcs.py,sha256=jKblaWOGQEigw3esaawcfX178shhZi2Fyk0fJSA4T68,1501
|
|
70
|
+
agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/telemetry.py,sha256=c2BOqC-dU6WN0veEUIFCrqKJjXgugg_FWPdiwVHPc6c,3573
|
|
71
|
+
agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/typing.py,sha256=zMQ3x3FqzLIkmtVAW4V1tf2OfdmfiwwQBkN57Rv4558,4267
|
|
72
|
+
agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}converters{% else %}unused_converters{% endif %}/__init__.py,sha256=2ZhBKfw8cHUHXlpU_fa_IcPh6xasV6hxPnmRL2vxNq8,849
|
|
73
|
+
agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}converters{% else %}unused_converters{% endif %}/part_converter.py,sha256=jwZFEUtNvq5-4mNlVS1Rh1LS8FLijMVtDL7nesZTiNY,4501
|
|
74
|
+
agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}executor{% else %}unused_executor{% endif %}/__init__.py,sha256=Q9FlRO2IfSE9yEaiAYzWkOMBJPCaNYqh4ihcp0t0BQs,574
|
|
75
|
+
agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}executor{% else %}unused_executor{% endif %}/a2a_agent_executor.py,sha256=zbsp3P0LykL7qnGVJrHPLzfx5cmLtxXKWJrEQ37_xjM,10035
|
|
76
|
+
agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}executor{% else %}unused_executor{% endif %}/task_result_aggregator.py,sha256=XVmDFz1uYJF5KyH4ZmTF5faQ1sDRPYdGPfOttB6c2Q8,5442
|
|
77
|
+
agent_starter_pack/cli/main.py,sha256=i9iAVvEXIoc2MPrRjecsPAhPO_Jpl_c6BoQ7n9kXIuk,2102
|
|
78
|
+
agent_starter_pack/cli/commands/create.py,sha256=XIezsxKcfDdaYeTz0RFYpj6SYR-HMIUrKibrYqwuMgk,49118
|
|
79
|
+
agent_starter_pack/cli/commands/enhance.py,sha256=4JWtRrePDRdGmCLnLbDz9LcDDBIgi_f_5WlUdlEpC60,24663
|
|
74
80
|
agent_starter_pack/cli/commands/list.py,sha256=ZGol9eYB9Yon7JysMUCtpEOwdXzrApdTHzErx6KvT04,6856
|
|
81
|
+
agent_starter_pack/cli/commands/register_gemini_enterprise.py,sha256=O9V9DvsEXhFUXmHRp1W665_JORwQf4LbG5BpqHq9G3U,39347
|
|
75
82
|
agent_starter_pack/cli/commands/setup_cicd.py,sha256=UnhU8p9emfBV-7_6uKYdUfTQBnsbSIFQbJoMHMq8pik,32507
|
|
76
83
|
agent_starter_pack/cli/utils/__init__.py,sha256=_cTmsXGPqOtK0q8UW5164QTltbJRJFR_Efxq_BRL1-o,1311
|
|
77
|
-
agent_starter_pack/cli/utils/cicd.py,sha256=
|
|
84
|
+
agent_starter_pack/cli/utils/cicd.py,sha256=l0oU1dzqIyo_bOWRcQNhyvu9b3FJQumloRLKZ6h4dFU,31163
|
|
78
85
|
agent_starter_pack/cli/utils/datastores.py,sha256=gv1V6eDcOEKx4MRNG5C3Y-VfixYq1AzQuaYMLp8QRNo,1058
|
|
79
86
|
agent_starter_pack/cli/utils/gcp.py,sha256=N6pvNU9gT6DpS7Peipfs57ckvqcUWU7OK1zdqBcQV0M,9276
|
|
80
87
|
agent_starter_pack/cli/utils/logging.py,sha256=61ulUY1hUrpxHDFi0szqsjPlrpxdBvwzfYEEV0o97GA,3530
|
|
81
|
-
agent_starter_pack/cli/utils/register_gemini_enterprise.py,sha256=KV9loXLjro4ZtSxvQAQ4Jhw4ZPmkLR2MZ3LtMQG6p1o,14865
|
|
82
88
|
agent_starter_pack/cli/utils/remote_template.py,sha256=lWfC1_Vx_m4SD-wVHb8tiGfobOH1-o_eWaM1264rwGs,24128
|
|
83
|
-
agent_starter_pack/cli/utils/template.py,sha256=
|
|
89
|
+
agent_starter_pack/cli/utils/template.py,sha256=ph7UxKQMPp-HtZt3cVkpZBeD0BKFDrGNOhln_b8bOTg,61363
|
|
84
90
|
agent_starter_pack/cli/utils/version.py,sha256=F4udQmzniPStqWZFIgnv3Qg3l9non4mfy2An-Oveqmc,2916
|
|
85
91
|
agent_starter_pack/data_ingestion/README.md,sha256=LNxSQoJW9JozK-TbyGQLj5L_MGWNwrfLk6V6RmQ2oBQ,4032
|
|
86
92
|
agent_starter_pack/data_ingestion/pyproject.toml,sha256=w2yypeMM6uA7OWHrLU3SY9NlRgltRA57_NIDyJi8Dfg,467
|
|
@@ -90,24 +96,23 @@ agent_starter_pack/data_ingestion/data_ingestion_pipeline/submit_pipeline.py,sha
|
|
|
90
96
|
agent_starter_pack/data_ingestion/data_ingestion_pipeline/components/ingest_data.py,sha256=QbPmk6V7JPGo5Yc1BhL-1W_t9CXEN0iY5NKaGWlfSbM,10667
|
|
91
97
|
agent_starter_pack/data_ingestion/data_ingestion_pipeline/components/process_data.py,sha256=8vubxkykRpx-d89H1XYGO3yXz4hxhihhGDgDR3s-XZ4,22045
|
|
92
98
|
agent_starter_pack/deployment_targets/agent_engine/deployment_metadata.json,sha256=G_t_n-UNrFsBgH1Xrw5-ZqYzUGwZ4X6ipsIm_yiSq-w,72
|
|
93
|
-
agent_starter_pack/deployment_targets/agent_engine/
|
|
94
|
-
agent_starter_pack/deployment_targets/agent_engine/
|
|
95
|
-
agent_starter_pack/deployment_targets/agent_engine/tests/
|
|
96
|
-
agent_starter_pack/deployment_targets/agent_engine/tests/load_test/
|
|
97
|
-
agent_starter_pack/deployment_targets/agent_engine/tests/load_test/load_test.py,sha256=sZewuwPQwgrfaYCo7IjIhIN9REFXP-rhJbtW236EuGA,9110
|
|
99
|
+
agent_starter_pack/deployment_targets/agent_engine/tests/{% if cookiecutter.is_a2a %}helpers.py{% else %}unused_helpers.py{% endif %},sha256=H1nAfN_wTxAVEc9xdrJI0P6RvtxqW5Mz5yM6PRLhn4k,4025
|
|
100
|
+
agent_starter_pack/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py,sha256=mQT8JY4HYa0P8INw1jwXXwId079DnGEuM-QuMSUJuJU,15733
|
|
101
|
+
agent_starter_pack/deployment_targets/agent_engine/tests/load_test/README.md,sha256=6NsPDlvVZs-E3krqoaZMxkgvQ2ifmsZAK_Uqicfhci8,2881
|
|
102
|
+
agent_starter_pack/deployment_targets/agent_engine/tests/load_test/load_test.py,sha256=vZDeqEwebILAESuGCFfbnNxydkOqW8jPpzblr1DTX_M,15391
|
|
98
103
|
agent_starter_pack/deployment_targets/agent_engine/tests/load_test/.results/.placeholder,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
99
|
-
agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/agent_engine_app.py,sha256=
|
|
100
|
-
agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/
|
|
101
|
-
agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/
|
|
102
|
-
agent_starter_pack/deployment_targets/cloud_run/Dockerfile,sha256=
|
|
103
|
-
agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/service.tf,sha256=
|
|
104
|
-
agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/dev/service.tf,sha256=
|
|
105
|
-
agent_starter_pack/deployment_targets/cloud_run/tests/integration/test_server_e2e.py,sha256=
|
|
106
|
-
agent_starter_pack/deployment_targets/cloud_run/tests/load_test/README.md,sha256=
|
|
107
|
-
agent_starter_pack/deployment_targets/cloud_run/tests/load_test/load_test.py,sha256=
|
|
104
|
+
agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/agent_engine_app.py,sha256=wtAiwVWCErlWLxbGYIbA3yFfWNz023gtU40kgKQwNYc,9291
|
|
105
|
+
agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/app_utils/deploy.py,sha256=Nvvf2VKmtuTVSl5YJDx2BmvHrybUS2XI0u1wdsrKQ28,13970
|
|
106
|
+
agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_adk_live %}expose_app.py{% else %}unused_expose_app.py{% endif %},sha256=1lf7i7n1YSO8ZXtl2VR3VO4Mq0_SK_Xm_lRu3yf3cKY,19397
|
|
107
|
+
agent_starter_pack/deployment_targets/cloud_run/Dockerfile,sha256=N8tgWwopC8V56X62Bmu7xL5f2Sejh65vzT6AdijHiJI,1489
|
|
108
|
+
agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/service.tf,sha256=o_x0GaedWhZxcbUcI9fW1MYABf1aHrTE5lWi0QklLCk,11618
|
|
109
|
+
agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/dev/service.tf,sha256=jrsVvNnyVbhkH4rXOngqWs5K4b3w2zxzp-xlUUWJ0Yc,6638
|
|
110
|
+
agent_starter_pack/deployment_targets/cloud_run/tests/integration/test_server_e2e.py,sha256=uqkpiheGkpz7zjIL6Ha4MIkn-hg-cN7uA37-Q_td2oU,22564
|
|
111
|
+
agent_starter_pack/deployment_targets/cloud_run/tests/load_test/README.md,sha256=ri3GEIEG-BGrFvjqw2cXATpa1nXzxfmDvRhqVezH7S4,5588
|
|
112
|
+
agent_starter_pack/deployment_targets/cloud_run/tests/load_test/load_test.py,sha256=vHmwC0G7LlvUchoJ9aNw4gDp8iTWMr9Sk63ifmPik24,11465
|
|
108
113
|
agent_starter_pack/deployment_targets/cloud_run/tests/load_test/.results/.placeholder,sha256=ZbWpSgDo8bT33PstD_73aQSeN_0oo0F104NMUGuZ8lE,14903
|
|
109
|
-
agent_starter_pack/deployment_targets/cloud_run/{{cookiecutter.agent_directory}}/
|
|
110
|
-
agent_starter_pack/frontends/adk_live_react/frontend/package-lock.json,sha256=
|
|
114
|
+
agent_starter_pack/deployment_targets/cloud_run/{{cookiecutter.agent_directory}}/fast_api_app.py,sha256=O1LFSsLbXsGQ1nwuecGVsfOZoZpytAOpmNvNzIvYnmM,19414
|
|
115
|
+
agent_starter_pack/frontends/adk_live_react/frontend/package-lock.json,sha256=H_zy2oTIkC2YFV_LpZArXeukuKfGAotBzXJZLCTmxM0,697250
|
|
111
116
|
agent_starter_pack/frontends/adk_live_react/frontend/package.json,sha256=KL24gqAKmsNf7CGe39ZqIIp2nD7rYBt4kdupO0QdK80,1137
|
|
112
117
|
agent_starter_pack/frontends/adk_live_react/frontend/tsconfig.json,sha256=cyqEhf7-Yydz-PX8_cuF8JpsyC363NDTNkrmCk0sKAo,595
|
|
113
118
|
agent_starter_pack/frontends/adk_live_react/frontend/public/favicon.ico,sha256=FY9oTN01RzaJ2lZ1rCjNXsEfT1gWZJA3fPx0QMBlMCU,15086
|
|
@@ -118,7 +123,7 @@ agent_starter_pack/frontends/adk_live_react/frontend/src/App.test.tsx,sha256=l4b
|
|
|
118
123
|
agent_starter_pack/frontends/adk_live_react/frontend/src/App.tsx,sha256=XbYYYR8H-2MqTVQHeOCMDB4-ugqeQ87ImxZsve9aXCs,2250
|
|
119
124
|
agent_starter_pack/frontends/adk_live_react/frontend/src/index.css,sha256=THy1DxvcOTW4WypzWvYEL_SVAVzda1iPEQ0M6pvgNUo,950
|
|
120
125
|
agent_starter_pack/frontends/adk_live_react/frontend/src/index.tsx,sha256=c3VCNMXzTZInNqpHaQUMPPwZsicO468Ujc5u3jLGLZ8,1150
|
|
121
|
-
agent_starter_pack/frontends/adk_live_react/frontend/src/multimodal-live-types.ts,sha256=
|
|
126
|
+
agent_starter_pack/frontends/adk_live_react/frontend/src/multimodal-live-types.ts,sha256=vtRXsk0CSUIoyC00OQRD0xDacd988b6odWbfFYx6GQI,7086
|
|
122
127
|
agent_starter_pack/frontends/adk_live_react/frontend/src/react-app-env.d.ts,sha256=4bU28oZlD8FJ4AdXDQq363Ql9oYd69DhrT-i3nrTDiQ,636
|
|
123
128
|
agent_starter_pack/frontends/adk_live_react/frontend/src/reportWebVitals.ts,sha256=mGju88uviGA8x6soLtI3vm0dgIZVFaN3QQ0603KB5pk,1021
|
|
124
129
|
agent_starter_pack/frontends/adk_live_react/frontend/src/setupTests.ts,sha256=7Iq1rAaeoGzkLb3FhpNU2XlVmnu1O1cS56foEBFISTg,837
|
|
@@ -144,32 +149,23 @@ agent_starter_pack/frontends/adk_live_react/frontend/src/utils/store-logger.ts,s
|
|
|
144
149
|
agent_starter_pack/frontends/adk_live_react/frontend/src/utils/utils.ts,sha256=AT9Jzsny0lU52w7NjbCWo4dsQnt1gXuWBId5zlz-CbE,3312
|
|
145
150
|
agent_starter_pack/frontends/adk_live_react/frontend/src/utils/worklets/audio-processing.ts,sha256=ULgnXphZUfbHkRhGoPT_670WHjzaXJwWgYU0ISQRSXI,1979
|
|
146
151
|
agent_starter_pack/frontends/adk_live_react/frontend/src/utils/worklets/vol-meter.ts,sha256=DEXn9ywn7N_tqKBhQ9eUxvWCWqteyfT-Q0dwjbvjjpY,1780
|
|
147
|
-
agent_starter_pack/
|
|
148
|
-
agent_starter_pack/
|
|
149
|
-
agent_starter_pack/
|
|
150
|
-
agent_starter_pack/
|
|
151
|
-
agent_starter_pack/
|
|
152
|
-
agent_starter_pack/
|
|
153
|
-
agent_starter_pack/
|
|
154
|
-
agent_starter_pack/
|
|
155
|
-
agent_starter_pack/
|
|
156
|
-
agent_starter_pack/resources/
|
|
157
|
-
agent_starter_pack/resources/locks/uv-
|
|
158
|
-
agent_starter_pack/resources/locks/uv-adk_base-cloud_run.lock,sha256=b4nJ8YTXPp6nQypbA4wz0wNwTH318qOUbfMHIiMoOf0,776457
|
|
159
|
-
agent_starter_pack/resources/locks/uv-adk_live-agent_engine.lock,sha256=tMOwue7BrFYYJUbOaYvjar0xIhrB4wglljVcm-pXTM0,589379
|
|
160
|
-
agent_starter_pack/resources/locks/uv-adk_live-cloud_run.lock,sha256=jMef_HDgYe99DSDkp2znkQRoNEO2-Rsl7pN-kygIQyY,777421
|
|
161
|
-
agent_starter_pack/resources/locks/uv-agentic_rag-agent_engine.lock,sha256=PhMr7FKNyydwA79v27KTtarjiTdecJY0TH80LCkCRbQ,656524
|
|
162
|
-
agent_starter_pack/resources/locks/uv-agentic_rag-cloud_run.lock,sha256=_Idsx3p43z4X3XMMWfDrAQ8zdc81mF2RW8gdoD3UvF8,868814
|
|
163
|
-
agent_starter_pack/resources/locks/uv-crewai_coding_crew-agent_engine.lock,sha256=b3XXcFwcFiUQyIRDgVcQYh7npHRFTin1hZzUCqcs1_o,939379
|
|
164
|
-
agent_starter_pack/resources/locks/uv-crewai_coding_crew-cloud_run.lock,sha256=sCHwJ3swYgWCDwovM_yZFsyibX5JouIZdvLji39fYbo,1261644
|
|
165
|
-
agent_starter_pack/resources/locks/uv-langgraph_base_react-agent_engine.lock,sha256=lMDEsxlCF3YKdYi-C6y8I2JMrKU2QcYl7_-j9Cl7DFA,810572
|
|
166
|
-
agent_starter_pack/resources/locks/uv-langgraph_base_react-cloud_run.lock,sha256=9uh4rM5LAAk7AZChwsEgN5ov40mwanKPirV8mQTdIKg,1111635
|
|
152
|
+
agent_starter_pack/resources/docs/adk-cheatsheet.md,sha256=QQLe0U-fXSZ_AGHaRw_iW2KwRuWXhMJN8KczBqYg1nI,78148
|
|
153
|
+
agent_starter_pack/resources/locks/uv-adk_a2a_base-agent_engine.lock,sha256=vI7fchBbxcEW6XCzZdvJhP4H4vKYwET1TsFJAEbKDm4,786731
|
|
154
|
+
agent_starter_pack/resources/locks/uv-adk_a2a_base-cloud_run.lock,sha256=Rw6TcuG5PfA7CqqCEY_Dt5d_q8NrjiIM3km3Cctjcq8,801046
|
|
155
|
+
agent_starter_pack/resources/locks/uv-adk_base-agent_engine.lock,sha256=NwQJNvPB9h1xYCrpRsnJGDjgW_9zt0WfYpAEXTgrFrA,785710
|
|
156
|
+
agent_starter_pack/resources/locks/uv-adk_base-cloud_run.lock,sha256=wVzhYqS3nNwI0EaG7rRL65IKlJzkvqJEb70rhqP6log,800025
|
|
157
|
+
agent_starter_pack/resources/locks/uv-adk_live-agent_engine.lock,sha256=QvFI4ucF9ynOKnZSJCZMT2fwtrfPcirS9uCKy57UHac,786726
|
|
158
|
+
agent_starter_pack/resources/locks/uv-adk_live-cloud_run.lock,sha256=3WxdkkKV_j6az_Tli0qaLejRb-IhXMzBCNe_NQJ1kmc,800989
|
|
159
|
+
agent_starter_pack/resources/locks/uv-agentic_rag-agent_engine.lock,sha256=TVUt4ATLtRYxORa55Z5hYN1qA2XrB6B_MNWOZZHEVT8,878567
|
|
160
|
+
agent_starter_pack/resources/locks/uv-agentic_rag-cloud_run.lock,sha256=sBuDnE6YWFnalbtS5JTv0M2MRHQEoTwWiKpBbGHf36c,892882
|
|
161
|
+
agent_starter_pack/resources/locks/uv-langgraph_base-agent_engine.lock,sha256=bromU16F6lim2YACuLPhWR3-L9_uAedlQ7wBY-XU6Sw,912214
|
|
162
|
+
agent_starter_pack/resources/locks/uv-langgraph_base-cloud_run.lock,sha256=jMgd8iRAZrHmGKvdQJgFoDHy3MeQz_kj3hMKz1lEuGw,925284
|
|
167
163
|
agent_starter_pack/utils/generate_locks.py,sha256=LwR46w25CV0_ySF_MS9W2vp7S1Nf17GgMbfxFPgZ5KU,4567
|
|
168
164
|
agent_starter_pack/utils/lock_utils.py,sha256=vqFHTN7lju9to74MKOmLvz80BA47G0CVkxrd1MyLWYQ,2309
|
|
169
|
-
agent_starter_pack/utils/watch_and_rebuild.py,sha256=
|
|
170
|
-
llm.txt,sha256=
|
|
171
|
-
agent_starter_pack-0.
|
|
172
|
-
agent_starter_pack-0.
|
|
173
|
-
agent_starter_pack-0.
|
|
174
|
-
agent_starter_pack-0.
|
|
175
|
-
agent_starter_pack-0.
|
|
165
|
+
agent_starter_pack/utils/watch_and_rebuild.py,sha256=bT5HQtZtEqOahASZoHWdQSLMOmvn4W1218Q1HbiYaj0,6688
|
|
166
|
+
llm.txt,sha256=oiXG39Uhy0PzCpr0MB0k0hG0mU0hCPnM1GimhWGpbK0,15310
|
|
167
|
+
agent_starter_pack-0.21.0.dist-info/METADATA,sha256=KcI1k0xJiWYKsY_aucGKG-uR9TW6hyIC2O6OEq_cdRw,11160
|
|
168
|
+
agent_starter_pack-0.21.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
169
|
+
agent_starter_pack-0.21.0.dist-info/entry_points.txt,sha256=QLSX_97UynG0vLpoZ3ePfyCQkaR-g0qglp2b26G4KHQ,71
|
|
170
|
+
agent_starter_pack-0.21.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
171
|
+
agent_starter_pack-0.21.0.dist-info/RECORD,,
|
llm.txt
CHANGED
|
@@ -74,8 +74,8 @@ agent-starter-pack create PROJECT_NAME [OPTIONS]
|
|
|
74
74
|
|
|
75
75
|
**Data & Storage:**
|
|
76
76
|
* `-i, --include-data-ingestion`: Include data ingestion pipeline.
|
|
77
|
-
* `-ds, --datastore`: Datastore type (`vertex_ai_search`, `vertex_ai_vector_search`, `
|
|
78
|
-
* `--session-type`: Session storage (`in_memory`, `
|
|
77
|
+
* `-ds, --datastore`: Datastore type (`vertex_ai_search`, `vertex_ai_vector_search`, `cloud_sql`).
|
|
78
|
+
* `--session-type`: Session storage (`in_memory`, `cloud_sql`, `agent_engine`).
|
|
79
79
|
|
|
80
80
|
**Project Creation:**
|
|
81
81
|
* `-o, --output-dir`: Output directory (default: current directory).
|
|
@@ -136,8 +136,7 @@ Templates for the `create` command (via `-a` or `--agent`):
|
|
|
136
136
|
| `adk_base` | Base ReAct agent (ADK) |
|
|
137
137
|
| `adk_gemini_fullstack` | Production-ready fullstack research agent |
|
|
138
138
|
| `agentic_rag` | RAG agent for document retrieval & Q&A |
|
|
139
|
-
| `
|
|
140
|
-
| `crewai_coding_crew` | Multi-agent collaborative coding assistance |
|
|
139
|
+
| `langgraph_base` | Base ReAct agent (LangGraph) |
|
|
141
140
|
| `adk_live` | Real-time multimodal RAG agent |
|
|
142
141
|
|
|
143
142
|
---
|
|
@@ -232,7 +231,7 @@ uvx agent-starter-pack setup-cicd
|
|
|
232
231
|
### Session Management
|
|
233
232
|
|
|
234
233
|
For stateful agents, the starter pack supports persistent sessions.
|
|
235
|
-
* **Cloud Run:** Choose between `in_memory` (for testing) and durable `
|
|
234
|
+
* **Cloud Run:** Choose between `in_memory` (for testing) and durable `cloud_sql` sessions using the `--session-type` flag.
|
|
236
235
|
* **Agent Engine:** Provides session management automatically.
|
|
237
236
|
|
|
238
237
|
### Monitoring & Observability
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# CrewAI Coding Crew Agent
|
|
2
|
-
|
|
3
|
-
This agent combines CrewAI's collaborative AI capabilities with LangGraph to provide an interactive coding assistant that can understand requirements and generate code solutions through conversation.
|
|
4
|
-
|
|
5
|
-
## Architecture
|
|
6
|
-
|
|
7
|
-
The agent implements a conversational interface using LangGraph that coordinates with a CrewAI development team. The workflow consists of:
|
|
8
|
-
|
|
9
|
-
1. A conversational agent that:
|
|
10
|
-
- Gathers requirements through natural dialogue
|
|
11
|
-
- Clarifies ambiguities by asking follow-up questions
|
|
12
|
-
- Delegates actual coding work to the CrewAI development team
|
|
13
|
-
|
|
14
|
-
2. A CrewAI development team consisting of:
|
|
15
|
-
- Senior Engineer: Responsible for implementing the code solution
|
|
16
|
-
- Chief QA Engineer: Evaluates and validates the implemented code
|
|
17
|
-
|
|
18
|
-
## Key Features
|
|
19
|
-
|
|
20
|
-
- **Interactive Requirements Gathering**: Uses LangGraph to maintain a natural conversation flow while collecting and clarifying coding requirements
|
|
21
|
-
- **Collaborative AI Development**: Leverages CrewAI's multi-agent system to divide work between specialized AI agents
|
|
22
|
-
- **Sequential Processing**: Tasks are processed in order, from requirements gathering to implementation to quality assurance
|
|
23
|
-
|
|
24
|
-
## How It Works
|
|
25
|
-
|
|
26
|
-
1. The LangGraph workflow manages the conversation state and determines when to:
|
|
27
|
-
- Continue the conversation to gather more requirements
|
|
28
|
-
- Delegate work to the CrewAI development team
|
|
29
|
-
- Return results to the user
|
|
30
|
-
|
|
31
|
-
2. When coding is needed, the CrewAI team is activated through a custom tool that:
|
|
32
|
-
- Passes requirements to the Senior Engineer agent
|
|
33
|
-
- Routes the implementation to the QA Engineer for validation
|
|
34
|
-
- Returns the final, validated solution
|
|
@@ -1,47 +0,0 @@
|
|
|
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
|
-
|
|
15
|
-
# mypy: disable-error-code="union-attr"
|
|
16
|
-
from langchain_google_vertexai import ChatVertexAI
|
|
17
|
-
from langgraph.prebuilt import create_react_agent
|
|
18
|
-
|
|
19
|
-
from .crew.crew import DevCrew
|
|
20
|
-
|
|
21
|
-
LOCATION = "global"
|
|
22
|
-
LLM = "gemini-2.5-flash"
|
|
23
|
-
|
|
24
|
-
llm = ChatVertexAI(model=LLM, location=LOCATION, temperature=0)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
def coding_tool(code_instructions: str) -> str:
|
|
28
|
-
"""Use this tool to write a python program given a set of requirements and or instructions."""
|
|
29
|
-
inputs = {"code_instructions": code_instructions}
|
|
30
|
-
return DevCrew().crew().kickoff(inputs=inputs)
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
system_message = (
|
|
34
|
-
"You are an expert Lead Software Engineer Manager.\n"
|
|
35
|
-
"Your role is to speak to a user and understand what kind of code they need to "
|
|
36
|
-
"build.\n"
|
|
37
|
-
"Part of your task is therefore to gather requirements and clarifying ambiguity "
|
|
38
|
-
"by asking followup questions. Don't ask all the questions together as the user "
|
|
39
|
-
"has a low attention span, rather ask a question at the time.\n"
|
|
40
|
-
"Once the problem to solve is clear, you will call your tool for writing the "
|
|
41
|
-
"solution.\n"
|
|
42
|
-
"Remember, you are an expert in understanding requirements but you cannot code, "
|
|
43
|
-
"use your coding tool to generate a solution. Keep the test cases if any, they "
|
|
44
|
-
"are useful for the user."
|
|
45
|
-
)
|
|
46
|
-
|
|
47
|
-
agent = create_react_agent(model=llm, tools=[coding_tool], prompt=system_message)
|
|
@@ -1,37 +0,0 @@
|
|
|
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
|
-
|
|
15
|
-
code_task:
|
|
16
|
-
description: >
|
|
17
|
-
You are helping writing python code. These are the instructions:
|
|
18
|
-
|
|
19
|
-
Instructions ------------ {code_instructions}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
expected_output: >
|
|
23
|
-
Your Final answer must be the full python code, only the python code and nothing else.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
evaluate_task:
|
|
27
|
-
description: >
|
|
28
|
-
You are helping writing python code. These are the instructions:
|
|
29
|
-
|
|
30
|
-
Instructions ------------ {code_instructions}
|
|
31
|
-
|
|
32
|
-
You will look over the code to insure that it is complete and does the job that it is supposed to do. You will also check for logic error, syntax errors, missing imports, variable declarations, mismatched brackets and missing test cases. If you find any issue in the code, ask the Senior Software Engineer to fix it by providing them the code and the instructions. Don't fix it yourself.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
expected_output: >
|
|
36
|
-
Your Final answer must be the full python code, only the python code and nothing else.
|
|
37
|
-
|
|
@@ -1,71 +0,0 @@
|
|
|
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
|
-
|
|
15
|
-
# mypy: disable-error-code="attr-defined"
|
|
16
|
-
from typing import Any
|
|
17
|
-
|
|
18
|
-
from crewai import Agent, Crew, Process, Task
|
|
19
|
-
from crewai.project import CrewBase, agent, crew, task
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
@CrewBase
|
|
23
|
-
class DevCrew:
|
|
24
|
-
"""Developer crew"""
|
|
25
|
-
|
|
26
|
-
agents_config: dict[str, Any]
|
|
27
|
-
tasks_config: dict[str, Any]
|
|
28
|
-
|
|
29
|
-
llm = "vertex_ai/gemini-2.0-flash-001"
|
|
30
|
-
|
|
31
|
-
@agent
|
|
32
|
-
def senior_engineer_agent(self) -> Agent:
|
|
33
|
-
return Agent(
|
|
34
|
-
config=self.agents_config.get("senior_engineer_agent"),
|
|
35
|
-
allow_delegation=False,
|
|
36
|
-
verbose=True,
|
|
37
|
-
llm=self.llm,
|
|
38
|
-
)
|
|
39
|
-
|
|
40
|
-
@agent
|
|
41
|
-
def chief_qa_engineer_agent(self) -> Agent:
|
|
42
|
-
return Agent(
|
|
43
|
-
config=self.agents_config.get("chief_qa_engineer_agent"),
|
|
44
|
-
allow_delegation=True,
|
|
45
|
-
verbose=True,
|
|
46
|
-
llm=self.llm,
|
|
47
|
-
)
|
|
48
|
-
|
|
49
|
-
@task
|
|
50
|
-
def code_task(self) -> Task:
|
|
51
|
-
return Task(
|
|
52
|
-
config=self.tasks_config.get("code_task"),
|
|
53
|
-
agent=self.senior_engineer_agent(),
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
@task
|
|
57
|
-
def evaluate_task(self) -> Task:
|
|
58
|
-
return Task(
|
|
59
|
-
config=self.tasks_config.get("evaluate_task"),
|
|
60
|
-
agent=self.chief_qa_engineer_agent(),
|
|
61
|
-
)
|
|
62
|
-
|
|
63
|
-
@crew
|
|
64
|
-
def crew(self) -> Crew:
|
|
65
|
-
"""Creates the Dev Crew"""
|
|
66
|
-
return Crew(
|
|
67
|
-
agents=self.agents,
|
|
68
|
-
tasks=self.tasks,
|
|
69
|
-
process=Process.sequential,
|
|
70
|
-
verbose=True,
|
|
71
|
-
)
|
|
@@ -1,47 +0,0 @@
|
|
|
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
|
-
|
|
15
|
-
# mypy: ignore-errors
|
|
16
|
-
from {{cookiecutter.agent_directory}}.agent import agent
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
def test_agent_stream() -> None:
|
|
20
|
-
"""
|
|
21
|
-
Integration test for the agent stream functionality.
|
|
22
|
-
Tests that the agent returns valid streaming responses.
|
|
23
|
-
"""
|
|
24
|
-
input_dict = {
|
|
25
|
-
"messages": [
|
|
26
|
-
{"type": "human", "content": "Hi"},
|
|
27
|
-
{"type": "ai", "content": "Hi there!"},
|
|
28
|
-
{"type": "human", "content": "Write a fibonacci function in python"},
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
events = [
|
|
33
|
-
message for message, _ in agent.stream(input_dict, stream_mode="messages")
|
|
34
|
-
]
|
|
35
|
-
# Verify we get a reasonable number of messages
|
|
36
|
-
assert len(events) > 0, "Expected at least one message"
|
|
37
|
-
|
|
38
|
-
# First message should be an AI message
|
|
39
|
-
assert events[0].type == "AIMessageChunk"
|
|
40
|
-
|
|
41
|
-
# At least one message should have content
|
|
42
|
-
has_content = False
|
|
43
|
-
for event in events:
|
|
44
|
-
if hasattr(event, "content") and event.content:
|
|
45
|
-
has_content = True
|
|
46
|
-
break
|
|
47
|
-
assert has_content, "Expected at least one message with content"
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# LangGraph Base React Agent
|
|
2
|
-
|
|
3
|
-
A minimal example demonstrating how to build a ReAct agent using LangGraph. This agent serves as an excellent starting point for developers looking to implement LangGraph-based solutions.
|
|
4
|
-
|
|
5
|
-
## Key Features
|
|
6
|
-
|
|
7
|
-
- **Simple Architecture**: Shows the basic building blocks of a LangGraph agent
|
|
8
|
-
- **Streaming Support**: Includes streaming response capability using Vertex AI
|
|
9
|
-
- **Sample Tool Integration**: Includes a basic search tool to demonstrate tool usage
|