agent-starter-pack 0.6.3__py3-none-any.whl → 0.7.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.
Files changed (42) hide show
  1. {agent_starter_pack-0.6.3.dist-info → agent_starter_pack-0.7.0.dist-info}/METADATA +16 -12
  2. {agent_starter_pack-0.6.3.dist-info → agent_starter_pack-0.7.0.dist-info}/RECORD +41 -39
  3. agents/adk_base/app/agent.py +1 -1
  4. agents/adk_base/template/.templateconfig.yaml +1 -1
  5. agents/adk_gemini_fullstack/README.md +1 -4
  6. agents/adk_gemini_fullstack/app/agent.py +62 -8
  7. agents/adk_gemini_fullstack/template/.templateconfig.yaml +1 -1
  8. agents/agentic_rag/app/agent.py +1 -1
  9. agents/agentic_rag/template/.templateconfig.yaml +1 -1
  10. agents/crewai_coding_crew/app/agent.py +1 -1
  11. agents/langgraph_base_react/app/agent.py +1 -1
  12. agents/live_api/app/agent.py +8 -4
  13. llm.txt +290 -0
  14. src/base_template/.gitignore +2 -1
  15. src/base_template/GEMINI.md +5 -0
  16. src/base_template/Makefile +21 -6
  17. src/base_template/deployment/cd/deploy-to-prod.yaml +3 -3
  18. src/base_template/deployment/cd/staging.yaml +4 -4
  19. src/base_template/deployment/ci/pr_checks.yaml +1 -1
  20. src/base_template/pyproject.toml +2 -2
  21. src/cli/utils/template.py +22 -9
  22. src/data_ingestion/uv.lock +97 -0
  23. src/frontends/adk_gemini_fullstack/frontend/package-lock.json +276 -0
  24. src/frontends/adk_gemini_fullstack/frontend/package.json +1 -0
  25. src/frontends/adk_gemini_fullstack/frontend/src/components/ChatMessagesView.tsx +5 -4
  26. src/frontends/adk_gemini_fullstack/frontend/vite.config.ts +4 -0
  27. src/resources/docs/adk-cheatsheet.md +1224 -0
  28. src/resources/locks/uv-adk_base-agent_engine.lock +96 -60
  29. src/resources/locks/uv-adk_base-cloud_run.lock +137 -82
  30. src/resources/locks/uv-adk_gemini_fullstack-agent_engine.lock +96 -60
  31. src/resources/locks/uv-adk_gemini_fullstack-cloud_run.lock +137 -82
  32. src/resources/locks/uv-agentic_rag-agent_engine.lock +173 -142
  33. src/resources/locks/uv-agentic_rag-cloud_run.lock +246 -200
  34. src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +493 -248
  35. src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +585 -306
  36. src/resources/locks/uv-langgraph_base_react-agent_engine.lock +185 -154
  37. src/resources/locks/uv-langgraph_base_react-cloud_run.lock +258 -212
  38. src/resources/locks/uv-live_api-cloud_run.lock +228 -182
  39. src/frontends/adk_gemini_fullstack/frontend/public/vite.svg +0 -1
  40. {agent_starter_pack-0.6.3.dist-info → agent_starter_pack-0.7.0.dist-info}/WHEEL +0 -0
  41. {agent_starter_pack-0.6.3.dist-info → agent_starter_pack-0.7.0.dist-info}/entry_points.txt +0 -0
  42. {agent_starter_pack-0.6.3.dist-info → agent_starter_pack-0.7.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-starter-pack
3
- Version: 0.6.3
3
+ Version: 0.7.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
@@ -46,7 +46,7 @@ It accelerates development by providing a holistic, production-ready solution, a
46
46
 
47
47
  | ⚡️ Launch | 🧪 Experiment | ✅ Deploy | 🛠️ Customize |
48
48
  |---|---|---|---|
49
- | [Pre-built agent templates](./agents/) (ReAct, RAG, multi-agent, Live API). | [Vertex AI evaluation](https://cloud.google.com/vertex-ai/generative-ai/docs/models/evaluation-overview) and an interactive playground. | Production-ready infra with [monitoring, observability](https://googlecloudplatform.github.io/agent-starter-pack/guide/observability), and [CI/CD](https://googlecloudplatform.github.io/agent-starter-pack/guide/deployment) on [Cloud Run](https://cloud.google.com/run) or [Agent Engine](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview). | Extend and customize templates according to your needs. |
49
+ | [Pre-built agent templates](./agents/) (ReAct, RAG, multi-agent, Live API). | [Vertex AI evaluation](https://cloud.google.com/vertex-ai/generative-ai/docs/models/evaluation-overview) and an interactive playground. | Production-ready infra with [monitoring, observability](https://googlecloudplatform.github.io/agent-starter-pack/guide/observability), and [CI/CD](https://googlecloudplatform.github.io/agent-starter-pack/guide/deployment) on [Cloud Run](https://cloud.google.com/run) or [Agent Engine](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview). | Extend and customize templates according to your needs. 🆕 Now integrating with [Gemini CLI](https://github.com/google-gemini/gemini-cli) |
50
50
 
51
51
  ---
52
52
 
@@ -59,30 +59,34 @@ Ready to build your AI agent? Simply run this command:
59
59
  python -m venv .venv && source .venv/bin/activate
60
60
 
61
61
  # Install the agent starter pack
62
- pip install agent-starter-pack
62
+ pip install --upgrade agent-starter-pack
63
63
 
64
64
  # Create a new agent project
65
65
  agent-starter-pack create my-awesome-agent
66
66
  ```
67
67
 
68
- **That's it!** You now have a fully functional agent project—complete with backend, frontend, and deployment infrastructure—ready for you to explore and customize.
69
- See [Installation Guide](https://googlecloudplatform.github.io/agent-starter-pack/guide/installation) for more options, or try with zero setup in [Firebase Studio](https://studio.firebase.google.com/new?template=https%3A%2F%2Fgithub.com%2FGoogleCloudPlatform%2Fagent-starter-pack%2Ftree%2Fmain%2Fsrc%2Fresources%2Fidx) or [Cloud Shell](https://shell.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Feliasecchig%2Fasp-open-in-cloud-shell&cloudshell_print=open-in-cs).
70
-
71
- ---
72
-
73
- 🆕 The starter pack offers full support for Agent Engine, a new fully managed solution to deploy agents. Simply run this command to get started:
68
+ <details>
69
+ <summary> Alternative: Using uv</summary>
74
70
 
71
+ If you have [`uv`](https://github.com/astral-sh/uv) installed, you can create and set up your project with a single command:
75
72
  ```bash
76
- agent-starter-pack create my-agent -d agent_engine -a adk_base
73
+ uvx agent-starter-pack create my-fullstack-agent
77
74
  ```
75
+ This command handles creating the project without needing to pre-install the package into a virtual environment.
76
+ </details>
78
77
 
79
- *See the [full list of options](https://googlecloudplatform.github.io/agent-starter-pack/cli/create) for details.*
78
+ **That's it!** You now have a fully functional agent project—complete with backend, frontend, and deployment infrastructure—ready for you to explore and customize.
79
+
80
+ See [Installation Guide](https://googlecloudplatform.github.io/agent-starter-pack/guide/installation) for more options, or try with zero setup in [Firebase Studio](https://studio.firebase.google.com/new?template=https%3A%2F%2Fgithub.com%2FGoogleCloudPlatform%2Fagent-starter-pack%2Ftree%2Fmain%2Fsrc%2Fresources%2Fidx) or [Cloud Shell](https://shell.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Feliasecchig%2Fasp-open-in-cloud-shell&cloudshell_print=open-in-cs).
81
+
82
+ ---
80
83
 
81
84
  ## 🤖 Agents
82
85
 
83
86
  | Agent Name | Description |
84
87
  |-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
85
88
  | `adk_base` | A base ReAct agent implemented using Google's [Agent Development Kit](https://github.com/google/adk-python) |
89
+ | `adk_gemini_fullstack` | A production-ready fullstack research agent with Gemini that demonstrates complex agentic workflows, modular agent design, and Human-in-the-Loop steps. [ADK Samples](https://github.com/google/adk-samples/tree/main/python/agents/gemini-fullstack) |
86
90
  | `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). |
87
91
  | `langgraph_base_react` | An agent implementing a base ReAct agent using LangGraph |
88
92
  | `crewai_coding_crew` | A multi-agent system implemented with CrewAI created to support coding activities |
@@ -99,7 +103,7 @@ Looking to explore more ADK examples? Check out the [ADK Samples Repository](htt
99
103
  The `agent-starter-pack` offers two key features to accelerate and simplify the development of your agent:
100
104
  - **🔄 [CI/CD Automation (Experimental)](https://googlecloudplatform.github.io/agent-starter-pack/cli/setup_cicd)** - One command to set up a complete GitHub + Cloud Build pipeline for all environments
101
105
  - **📥 [Data Pipeline for RAG with Terraform/CI-CD](https://googlecloudplatform.github.io/agent-starter-pack/guide/data-ingestion)** - Seamlessly integrate a data pipeline to process embeddings for RAG into your agent system. 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).
102
-
106
+ * **🤖 Gemini CLI Integration** - Use the [Gemini CLI](https://github.com/google-gemini/gemini-cli) and the included `GEMINI.md` context file to ask questions about your template, agent architecture, and the path to production. Get instant guidance and code examples directly in your terminal.
103
107
 
104
108
  ## High-Level Architecture
105
109
 
@@ -1,26 +1,26 @@
1
1
  agents/adk_base/README.md,sha256=eLf-F9Z4u_mQOchAnUaSrOAHXRSx8wUQN29kkwz1SF4,894
2
- agents/adk_base/app/agent.py,sha256=Kt-0TQM4g9NLs7Q2KmRWPfPWWgyQEODVo0uCepLkqDw,2182
2
+ agents/adk_base/app/agent.py,sha256=6Q6QegQDxEaAck989DPIb3ArHMZtw_YJBqhHFqg-UjQ,2182
3
3
  agents/adk_base/notebooks/adk_app_testing.ipynb,sha256=kWYd-ButNGemupiPDIzhlQO0elxWCwiea0nhmnsW8cg,9619
4
4
  agents/adk_base/notebooks/evaluating_adk_agent.ipynb,sha256=OMTiT3gAFWPvE9pPL8z7tsDwOU-l8wem5wH-OXPPlvk,56805
5
- agents/adk_base/template/.templateconfig.yaml,sha256=y-u4rj4L90guST6mNxvjexYivwPVSn9jZTrK8kUQCfo,893
5
+ agents/adk_base/template/.templateconfig.yaml,sha256=EWfw7zqlQsxKrmMdiqwSemIhx3ke6i6a5mqZ3z94KDI,893
6
6
  agents/adk_base/tests/integration/test_agent.py,sha256=VypgpEWrQegJBgc58V-BlIsbqh-Hii-hwmkwcz5feFw,1969
7
- agents/adk_gemini_fullstack/README.md,sha256=zWV88GJlmrIVg4OwS5rG6l0UKTrc23_VFXoLJwt3K2s,1782
8
- agents/adk_gemini_fullstack/app/agent.py,sha256=bk67bpAge8_b-reI1VuF4PNTXFHqnD92hdVTVXslS4s,16402
7
+ agents/adk_gemini_fullstack/README.md,sha256=yQFFcESALj5Q6eweyIyPx__U74obUM88aCBJYNV2UWs,1674
8
+ agents/adk_gemini_fullstack/app/agent.py,sha256=NXOkYFxDccJaSq55CTS-UYY8z5-WgBZqexII0Ybzk9c,22662
9
9
  agents/adk_gemini_fullstack/app/config.py,sha256=x--axECPKWW3oLANKz2_4zzHEBIU7if8iYNZRjlTNV0,1563
10
10
  agents/adk_gemini_fullstack/notebooks/adk_app_testing.ipynb,sha256=kWYd-ButNGemupiPDIzhlQO0elxWCwiea0nhmnsW8cg,9619
11
11
  agents/adk_gemini_fullstack/notebooks/evaluating_adk_agent.ipynb,sha256=OMTiT3gAFWPvE9pPL8z7tsDwOU-l8wem5wH-OXPPlvk,56805
12
- agents/adk_gemini_fullstack/template/.templateconfig.yaml,sha256=0o1bJj1AOdRJEFD_1ejwK6JyX3I8R-4wA8Z2zIrFhAM,1658
12
+ agents/adk_gemini_fullstack/template/.templateconfig.yaml,sha256=yRLZdEON4faicYe9hklktxv06OCx1sdP9ihuniKuPfU,1658
13
13
  agents/adk_gemini_fullstack/tests/integration/test_agent.py,sha256=VypgpEWrQegJBgc58V-BlIsbqh-Hii-hwmkwcz5feFw,1969
14
14
  agents/agentic_rag/README.md,sha256=mxMLkq6tAghFaDmc2sc2sEQ5vn9kGWdiRxfTykwpLz0,2268
15
- agents/agentic_rag/app/agent.py,sha256=thaU0njJ3W90DI54EVrFe4lwx9yMWZT4jSGRMnUSdY8,3987
15
+ agents/agentic_rag/app/agent.py,sha256=tKtzez7vGu6JgMWmZN7QrKkyLBvHu1ondAuICjKoC-g,3983
16
16
  agents/agentic_rag/app/retrievers.py,sha256=qfxwSEixMddvAu4FvUTZAFh1Gdp3RPY65s0Wp6gEFVk,4561
17
17
  agents/agentic_rag/app/templates.py,sha256=8N_uRchwiN7hlH9Y8rdJ1CAtOhpHUWZkXZZ7IU-YJJk,867
18
18
  agents/agentic_rag/notebooks/adk_app_testing.ipynb,sha256=kWYd-ButNGemupiPDIzhlQO0elxWCwiea0nhmnsW8cg,9619
19
19
  agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb,sha256=OMTiT3gAFWPvE9pPL8z7tsDwOU-l8wem5wH-OXPPlvk,56805
20
- agents/agentic_rag/template/.templateconfig.yaml,sha256=qCelPx9VJ_428noi_SzbYZ1E6IPyi-k26lY1qLxeDtY,1223
20
+ agents/agentic_rag/template/.templateconfig.yaml,sha256=xZlSDarlNwppW6gjHXdxQMbUZAVpXwHPalVTS4Zbln8,1223
21
21
  agents/agentic_rag/tests/integration/test_agent.py,sha256=mxsKFyZrwXzIvAoxlqZv2JndM3VTVTKcugRYdF3APr4,2112
22
22
  agents/crewai_coding_crew/README.md,sha256=4No7sfHQVHELARGiT3fWANJzDR0NP48ow4ct3FoPwlA,1672
23
- agents/crewai_coding_crew/app/agent.py,sha256=axa-prJ7N8Gi8ASUSjokLeWCE-Z_cU0A99WwuLGsZyQ,3264
23
+ agents/crewai_coding_crew/app/agent.py,sha256=yd-P2Jzx3Do4FQuhwDsok-YRNYFi9Vl8OTqSlbdn4Sw,3260
24
24
  agents/crewai_coding_crew/app/crew/crew.py,sha256=pqeeJ4txP-gcVT3PKEAw2zZ4x8g4cDlnFFbf0_zZRr4,2000
25
25
  agents/crewai_coding_crew/app/crew/config/agents.yaml,sha256=Cn9zTcP3C-8MvlV19cYdlxR0iIs2_FOy2gKOJLUpNRo,1154
26
26
  agents/crewai_coding_crew/app/crew/config/tasks.yaml,sha256=SSFuiSQPhi4dM0V5HdNuMqtN7JJr5RUCMhhBzUkPBpc,1511
@@ -29,29 +29,31 @@ agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb,sha256=PlW4
29
29
  agents/crewai_coding_crew/template/.templateconfig.yaml,sha256=4SLcpHgDcf_6mjJCxPVciQ002QVz09V04uvbtMLZs4A,1051
30
30
  agents/crewai_coding_crew/tests/integration/test_agent.py,sha256=0uvfmM3FSdESIU7ICb2oqABsQqylQU2PE3UBwbpif-A,1629
31
31
  agents/langgraph_base_react/README.md,sha256=KZQ0e8q9CqnIEiItH9Tc2Ceb2mC3sBcyQUo-ZAmO-zs,482
32
- agents/langgraph_base_react/app/agent.py,sha256=srxiOT-NIM87WnUvP0PXuZGryEG9S33Z_4orHl3D_0A,2509
32
+ agents/langgraph_base_react/app/agent.py,sha256=yzCc5JaOJgItoBiZOzHPiSy9aD2HGeGI_pH7nrysSmg,2505
33
33
  agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb,sha256=PlW41fL-ji9NKkimW6u25YRLGWN2pgoX2G8w5nzIEPE,58737
34
34
  agents/langgraph_base_react/template/.templateconfig.yaml,sha256=jHh3WDNT70KMbA2zy3Da_J_jIWeGfeiqIKfUs5B8OBk,1049
35
35
  agents/langgraph_base_react/tests/integration/test_agent.py,sha256=wg2Y8V4l7dh7rhWy7Z8zioDW5ILRsz7RZJ-mz0AhK3U,1619
36
36
  agents/live_api/README.md,sha256=c3lu5WguOUBc5hO_UtNZfVhfYxvSzMXuGFICn9M38mU,2897
37
- agents/live_api/app/agent.py,sha256=FBsmCYI_dmBIbFD1uojcPxJfozGNc-0rg1fW2PhEyFw,2298
37
+ agents/live_api/app/agent.py,sha256=dYE2qd64OhL-fOgwzrjqN50LYXAgJ1TWbx6ohqtV5Rc,2434
38
38
  agents/live_api/app/server.py,sha256=ZXriNDl_zo7WDRBke85lyzMsy66qGzPaRXY1FMy4Fdw,7793
39
39
  agents/live_api/template/.templateconfig.yaml,sha256=DD_hihMsuqmd5VWS18vVGZ3ZGVVpFWVXJ2dU07eKb6k,964
40
40
  agents/live_api/tests/integration/test_server_e2e.py,sha256=D2VETDIyTD2fQyQ6DXwLr-POSYyVzzzcpIFLt5Ppyx4,8398
41
41
  agents/live_api/tests/load_test/load_test.py,sha256=HHZyfC4gqiQtZVF_CbbxENGgWQccMLpwMv0IdoQ6cbQ,1275
42
42
  agents/live_api/tests/unit/test_server.py,sha256=_TjlgQgNkjerIaBGnu8P8_KB8ZlSolDcivALpUOn_Rw,4786
43
- src/base_template/.gitignore,sha256=mJKTZIcVdAFiIUQicRfPNGUg6WvwcfTEC2xbmAaU34g,2579
44
- src/base_template/Makefile,sha256=TNwXFxOPuaQ7_GXB68R4uIiZpK5uKLWmQc8p2Imov-Q,5448
43
+ llm.txt,sha256=cZkWdzV2hRPIcV57E5J2zjnEiRntM6MrisFLstE4iYY,12140
44
+ src/base_template/.gitignore,sha256=bM9stR1IiKW5RVcryDyXj8ZgmKbN3x-3OCneDsmRZUg,2589
45
+ src/base_template/GEMINI.md,sha256=WzscHWlQeYkKORZ-453P8KM9IHuj1kAxW-69c7Ytuwk,133
46
+ src/base_template/Makefile,sha256=037wvhexHIZyWW451D4vkvNnldTznxDFZ0sleUvl8jU,6115
45
47
  src/base_template/README.md,sha256=d9vGHGZzpgbcgu-J-9gHr3NOV7nuRzgFzdSxSzwY3xs,10694
46
- src/base_template/pyproject.toml,sha256=0fM80KjqgmbiNxfM5jSXTnrze41nlPsYvFUEsKhlF08,2840
48
+ src/base_template/pyproject.toml,sha256=B7pnk8dhEWLEqPYQ0wqbbRGAVPZSjnPPP1imoFnilJw,2840
47
49
  src/base_template/app/__init__.py,sha256=UyAgc2l8nkVIUPUzL9hKR7EgzCsc2jSYcOcjHNNmpMU,59
48
50
  src/base_template/app/utils/gcs.py,sha256=jKblaWOGQEigw3esaawcfX178shhZi2Fyk0fJSA4T68,1501
49
51
  src/base_template/app/utils/tracing.py,sha256=2rv1Ukh2jTBENDwoghCItJ28l-Sjz9gMlzdojlVgJa4,6052
50
52
  src/base_template/app/utils/typing.py,sha256=DP5OZC3IGvqA1XbvWt8kI3gyAK3ZjzUSL5Ca17wNeLI,4249
51
53
  src/base_template/deployment/README.md,sha256=qWTCWyEj1bZuny3XyCelXPgljh6yu_GDwfPNUeFoXBY,5245
52
- src/base_template/deployment/cd/deploy-to-prod.yaml,sha256=1VncyjYOVyGBsDGN-zvXOH9J1TPL-LarYzbXOHwLDRY,4376
53
- src/base_template/deployment/cd/staging.yaml,sha256=WE9vSKh9tNs5pPnWslGyPa5-7AqQSFyuPaY5HAz7RCo,8004
54
- src/base_template/deployment/ci/pr_checks.yaml,sha256=7jS9HlRfistS4hhUXMF0tc-5m6g6l9s0rGhq_xP8Tnc,1517
54
+ src/base_template/deployment/cd/deploy-to-prod.yaml,sha256=3NslaDpk4dHNDC594Dsc7Ggboh_4jRixhZ5SYbBCdyM,4376
55
+ src/base_template/deployment/cd/staging.yaml,sha256=Fy_Qw2lvA35BQUeSjPsWWfYgOmtvSZSkS38RgT9dZmQ,8004
56
+ src/base_template/deployment/ci/pr_checks.yaml,sha256=VFdF6q_-zETCMlJkJ0znW8T7gCYE59BZNliNPz2Bh18,1517
55
57
  src/base_template/deployment/terraform/apis.tf,sha256=98vqe53RLtFwnQq_9N1widR8J0c1SGqwhCXp_GohITA,1497
56
58
  src/base_template/deployment/terraform/build_triggers.tf,sha256=_XDFj6kPd21NmEKKRjpqYIa48P8VHCMVG_6thLqrS0Y,6363
57
59
  src/base_template/deployment/terraform/iam.tf,sha256=-KrOngRch4gKnPkZy0ybQQq0RW5-TI80tJ-VJLg-AdA,5597
@@ -78,11 +80,11 @@ src/cli/utils/cicd.py,sha256=m2BxwV39323rVzJCjJjB37IPdSNQdxVgXGrgnhdbb84,26040
78
80
  src/cli/utils/datastores.py,sha256=gv1V6eDcOEKx4MRNG5C3Y-VfixYq1AzQuaYMLp8QRNo,1058
79
81
  src/cli/utils/gcp.py,sha256=cnuCyN144eiyYc9aJNEK9JnyWN66rdevugoMdDYC1UU,4032
80
82
  src/cli/utils/logging.py,sha256=0lHe4EPi1A8sOx9xkA7gS4UNl0GsIyp2ahydkkuCzLY,1570
81
- src/cli/utils/template.py,sha256=ruaOmjc_dPEyHaMjMeJSzFqFjgEKK56FdhubWLu-V9s,29164
83
+ src/cli/utils/template.py,sha256=rb3QoP-5AxEXYImsSR6wJhcF8bZRo-PzU1H6uNMsrk0,29709
82
84
  src/cli/utils/version.py,sha256=F4udQmzniPStqWZFIgnv3Qg3l9non4mfy2An-Oveqmc,2916
83
85
  src/data_ingestion/README.md,sha256=LNxSQoJW9JozK-TbyGQLj5L_MGWNwrfLk6V6RmQ2oBQ,4032
84
86
  src/data_ingestion/pyproject.toml,sha256=-1Mf2QB8K70ICQV5UPZDpf-fN3UwEQLVzQyxfakCSTY,445
85
- src/data_ingestion/uv.lock,sha256=HzSD6_IxS2urt49EefD9MvVxBwxW_bJ-k0XltTDT3Vc,144223
87
+ src/data_ingestion/uv.lock,sha256=nzF1JbCYbbkkWEaFanR3WrZ6ql6CrFXkeieCTgFJUmg,162793
86
88
  src/data_ingestion/data_ingestion_pipeline/pipeline.py,sha256=UAS6dxV954yARP0NdDbCf5kzap3NfmoX52eZ2mZtWXs,3331
87
89
  src/data_ingestion/data_ingestion_pipeline/submit_pipeline.py,sha256=tWGqL0zUB3V5JxR1SpX7LMjCW5r6JEGnvgF8tAxZ12s,7784
88
90
  src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py,sha256=QbPmk6V7JPGo5Yc1BhL-1W_t9CXEN0iY5NKaGWlfSbM,10667
@@ -104,19 +106,18 @@ src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder,sha256=Zb
104
106
  src/frontends/adk_gemini_fullstack/frontend/components.json,sha256=OUAALKbVpmIHQ16HcK1BgLBbVf_rV7s08PuGqgCFJ-o,423
105
107
  src/frontends/adk_gemini_fullstack/frontend/eslint.config.js,sha256=3ADH23ANA4NNBKFy6nCVk65e8bx1DrVd_FIaYNnhuqA,734
106
108
  src/frontends/adk_gemini_fullstack/frontend/index.html,sha256=cGmA25GOzciMX6ABt1SW_SqnrgPXGGf-1Pbkx2eMByQ,306
107
- src/frontends/adk_gemini_fullstack/frontend/package-lock.json,sha256=Pmb8NFfyEh7H9U_SHXkHAgkORcuGyd3JagKUFHIUr-Y,206669
108
- src/frontends/adk_gemini_fullstack/frontend/package.json,sha256=fsPrhf27JfN35B8015kiQGVpyil2NNi6tZiZV_B7kXk,1284
109
+ src/frontends/adk_gemini_fullstack/frontend/package-lock.json,sha256=DMSGcDHDWvcxRVbgaPqI2O0Z7HJk5PAiZmLfAVifPns,218303
110
+ src/frontends/adk_gemini_fullstack/frontend/package.json,sha256=bUzgvwGx8oVL2wHYbSNizO0EI1CjLd0jcWirJI-cxwA,1312
109
111
  src/frontends/adk_gemini_fullstack/frontend/tsconfig.json,sha256=LtqiCB6w68AjbIegDnbXa1YXKM_RQZZVVkAjfUNxyBo,753
110
112
  src/frontends/adk_gemini_fullstack/frontend/tsconfig.node.json,sha256=1BewvjsiZMJqSGXTqe94jo5yKdpi7yqI7UGoHgTv9mg,593
111
- src/frontends/adk_gemini_fullstack/frontend/vite.config.ts,sha256=hxnoqbvxU6kljtTYOE49jhzurHiyr0cZvxugWSPvKsM,1150
112
- src/frontends/adk_gemini_fullstack/frontend/public/vite.svg,sha256=SnSK_UQ5GLsWWRyDTEAdrjPoeGGrXbrQgRw6O0qSFPs,1497
113
+ src/frontends/adk_gemini_fullstack/frontend/vite.config.ts,sha256=nmeV8oQoQe7SxIVNalYeR8Dw9LOQrcxTWyBUYxLr_Ns,1359
113
114
  src/frontends/adk_gemini_fullstack/frontend/src/App.tsx,sha256=X624JJ2LaDm1ztjb23r15f2fRzilVp6CNpw80HtuCAg,21473
114
115
  src/frontends/adk_gemini_fullstack/frontend/src/global.css,sha256=uNpkk45y9XVsmQs84D0KHN8B2i55ElSFZxHu6zml5E8,5037
115
116
  src/frontends/adk_gemini_fullstack/frontend/src/main.tsx,sha256=WYYxbfb0WHrY1BW7KB-pCxb3jslb1UeCDa26l9Ve0SQ,328
116
117
  src/frontends/adk_gemini_fullstack/frontend/src/utils.ts,sha256=Utm02hSGixxQ_T4hqlZqpdc8BuK1B2Mgk5X0vNK3V_4,170
117
118
  src/frontends/adk_gemini_fullstack/frontend/src/vite-env.d.ts,sha256=ZZlpNvuwQpFfe3SiAPzd5-QQ8ypmmxq5WXz6pLD63bU,38
118
119
  src/frontends/adk_gemini_fullstack/frontend/src/components/ActivityTimeline.tsx,sha256=FfDYEJyBc5vZYOBATcLyJRl1IYjb1B-0qv79dN8DqBI,9616
119
- src/frontends/adk_gemini_fullstack/frontend/src/components/ChatMessagesView.tsx,sha256=Jgv50ATn7_Fu9iZItsmquU90JsfNey-h8Ab6AgSB6kM,14369
120
+ src/frontends/adk_gemini_fullstack/frontend/src/components/ChatMessagesView.tsx,sha256=pRyJ9NJedSVL_58mYyy4ENKfjmcFs9IxdMzVmci5F4I,14517
120
121
  src/frontends/adk_gemini_fullstack/frontend/src/components/InputForm.tsx,sha256=8YjXJ2251qAunm5nEgVSto70pe3yoxGGqbU3hDSIB30,1875
121
122
  src/frontends/adk_gemini_fullstack/frontend/src/components/WelcomeScreen.tsx,sha256=cs3ogNX5U4_divL_3AA_75PPh5m7JqkfO8upemcPEQk,2064
122
123
  src/frontends/adk_gemini_fullstack/frontend/src/components/ui/badge.tsx,sha256=RK5qi9QBQLZRULdg46yX_sdQ05NTBq4EkuegeLa6I4A,1627
@@ -175,28 +176,29 @@ src/frontends/streamlit/frontend/utils/stream_handler.py,sha256=-XVRfLH6ck1KP6NS
175
176
  src/frontends/streamlit/frontend/utils/title_summary.py,sha256=B0cadS_KPW-tsbABauI4J681aqjEtuKFDa25e9R1WKc,3030
176
177
  src/resources/containers/data_processing/Dockerfile,sha256=VoB9d5yZiiWnqRfWrIq0gGNMzZg-eVy733OgP72ZgO0,950
177
178
  src/resources/containers/e2e-tests/Dockerfile,sha256=Q_aTyX_iaFY8j06XZkpMuggJnNO5daiLmmrvqaZHMxw,1611
179
+ src/resources/docs/adk-cheatsheet.md,sha256=SHtckZqDg60Bz_Id7qc2TY6ftz_X2bh88RQi4gCYb4E,58717
178
180
  src/resources/idx/idx-template.json,sha256=07OQZCPp45Iqor2O7Tm1e1Gmsdd-AmmUofSvA7y-oRs,793
179
181
  src/resources/idx/idx-template.nix,sha256=sesHGev_PYtVDg0J5tHkg0OO7IR1Bz2iAtl_if3Ar3M,892
180
182
  src/resources/idx/.idx/dev.nix,sha256=XQ4T1xt5I-8SVwnI37v56RFFlxa58Ko-a9G2-oelYAI,1602
181
- src/resources/locks/uv-adk_base-agent_engine.lock,sha256=X-DXXxH9x4Dkg9SpWsONTM5JEEiEdqsYyrZ_jQ_wVn0,353381
182
- src/resources/locks/uv-adk_base-cloud_run.lock,sha256=qed6p6kszJjvp2y3_IEdZCL2hOJVOkfQhFx8Qqh1ufM,434208
183
- src/resources/locks/uv-adk_gemini_fullstack-agent_engine.lock,sha256=X-DXXxH9x4Dkg9SpWsONTM5JEEiEdqsYyrZ_jQ_wVn0,353381
184
- src/resources/locks/uv-adk_gemini_fullstack-cloud_run.lock,sha256=qed6p6kszJjvp2y3_IEdZCL2hOJVOkfQhFx8Qqh1ufM,434208
185
- src/resources/locks/uv-agentic_rag-agent_engine.lock,sha256=5YWdnUo_mqhM_Axja1mnVIDqERw-y8VgHs57TJSF5Ok,519482
186
- src/resources/locks/uv-agentic_rag-cloud_run.lock,sha256=LNt_VD1bUjwZol2drWg-swIAmLtuMcuvbVEu2MCf9Pw,673460
187
- src/resources/locks/uv-crewai_coding_crew-agent_engine.lock,sha256=TDsYJMLcWFFxaJ-NZYXyes24VjDHNlbNx8ht3bU-RKI,794055
188
- src/resources/locks/uv-crewai_coding_crew-cloud_run.lock,sha256=HHyKWvau1GnB6T90h-97d_QstzgxMST-M33-SGxMTmc,1016961
189
- src/resources/locks/uv-langgraph_base_react-agent_engine.lock,sha256=iHY7rPfeMQeUQy81nCEWzFheNPW49WoB3r5A92HOdiE,667164
190
- src/resources/locks/uv-langgraph_base_react-cloud_run.lock,sha256=iA0OaAQMkxr3XCtDVsLmReD5xgZvgmYwG5XzdiRZOEI,865044
191
- src/resources/locks/uv-live_api-cloud_run.lock,sha256=cQS22t_fueHl5qcjZ1VAUgHUY7DesxpmZinrH62rEnI,787149
183
+ src/resources/locks/uv-adk_base-agent_engine.lock,sha256=0OrJhKC_JVKgX-S9fFxRujnKEvmOEpd8vCyfkesqLAs,359057
184
+ src/resources/locks/uv-adk_base-cloud_run.lock,sha256=itu4YI-tXc1hN7ncu0_uK2qbEhFY3Wu2tO4GoysGfSA,444902
185
+ src/resources/locks/uv-adk_gemini_fullstack-agent_engine.lock,sha256=0OrJhKC_JVKgX-S9fFxRujnKEvmOEpd8vCyfkesqLAs,359057
186
+ src/resources/locks/uv-adk_gemini_fullstack-cloud_run.lock,sha256=itu4YI-tXc1hN7ncu0_uK2qbEhFY3Wu2tO4GoysGfSA,444902
187
+ src/resources/locks/uv-agentic_rag-agent_engine.lock,sha256=TAMmD1WW_Ge35kKaY4w1FdN3aEih7_kRSWc7kXQobOA,523699
188
+ src/resources/locks/uv-agentic_rag-cloud_run.lock,sha256=5IM5puIbWmY4a3PGTcaIiG-Iu6E-QillJh5b105pDL4,681704
189
+ src/resources/locks/uv-crewai_coding_crew-agent_engine.lock,sha256=jZVg40hOaiMhCF4dB6BMpQ8WanHPhGFYVRMqPX_Hg8I,813314
190
+ src/resources/locks/uv-crewai_coding_crew-cloud_run.lock,sha256=QX5ZQX9c7s9FnPyCXfVdBFDfz8rsQ___iDcZvuukZ34,1045488
191
+ src/resources/locks/uv-langgraph_base_react-agent_engine.lock,sha256=D3N9GNNKiX8pK2Yivw6f77oID4wRAs1MhUIoSXGv-3g,671381
192
+ src/resources/locks/uv-langgraph_base_react-cloud_run.lock,sha256=dATDd1pQguY0Mo_2MCKn24cRzk7ZtAK0DG7_08RkLNY,873288
193
+ src/resources/locks/uv-live_api-cloud_run.lock,sha256=aFvPKu0r23qSH2V9_1rTUuJNBG9UseDLnT6QM_g3nfo,795390
192
194
  src/resources/setup_cicd/cicd_variables.tf,sha256=PMflYe1TzQi63LORHkmeCktTYzXFplJgxffNH4DtuAQ,1244
193
195
  src/resources/setup_cicd/github.tf,sha256=scTBgeZlCM74N-pzhVKsnTN0PX9a5GboNl1HN3-LlCM,2791
194
196
  src/resources/setup_cicd/providers.tf,sha256=Km4z6IJt7x7PLaa0kyZbBrO2m3lpuIJZFD5jB7QBfF0,1122
195
197
  src/utils/generate_locks.py,sha256=6V1B8V2BEuevWnXUsxZVTrLjXwFRII8UfsIGrQqZxVs,4320
196
198
  src/utils/lock_utils.py,sha256=RSE6n3hBkH64xNm3Q5wrR0Pqbeo-oc7xaTOhA9yzHjk,2275
197
199
  src/utils/watch_and_rebuild.py,sha256=vP4yIiA7E_lj5sfQdJUl8TXas6V7msDg8XWUutAC05Q,6679
198
- agent_starter_pack-0.6.3.dist-info/METADATA,sha256=DhD0WFhpIaDa-TdaXBTAYS1bWDLLDDEqZvNuDl06_UI,10454
199
- agent_starter_pack-0.6.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
200
- agent_starter_pack-0.6.3.dist-info/entry_points.txt,sha256=U7uCxR7YulIhZ0L8R8Hui0Bsy6J7oyESBeDYJYMrQjA,56
201
- agent_starter_pack-0.6.3.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
202
- agent_starter_pack-0.6.3.dist-info/RECORD,,
200
+ agent_starter_pack-0.7.0.dist-info/METADATA,sha256=0Op9EZV9jjK0MPZ1SJ5rpATz_-cdMjEIxkwFy0KiGII,11146
201
+ agent_starter_pack-0.7.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
202
+ agent_starter_pack-0.7.0.dist-info/entry_points.txt,sha256=U7uCxR7YulIhZ0L8R8Hui0Bsy6J7oyESBeDYJYMrQjA,56
203
+ agent_starter_pack-0.7.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
204
+ agent_starter_pack-0.7.0.dist-info/RECORD,,
@@ -60,7 +60,7 @@ def get_current_time(query: str) -> str:
60
60
 
61
61
  root_agent = Agent(
62
62
  name="root_agent",
63
- model="gemini-2.0-flash",
63
+ model="gemini-2.5-flash",
64
64
  instruction="You are a helpful AI assistant designed to provide accurate and useful information.",
65
65
  tools=[get_weather, get_current_time],
66
66
  )
@@ -17,6 +17,6 @@ example_question: "What's the weather in San Francisco?"
17
17
  settings:
18
18
  requires_data_ingestion: false
19
19
  deployment_targets: ["agent_engine", "cloud_run"]
20
- extra_dependencies: ["google-adk~=1.4.1"]
20
+ extra_dependencies: ["google-adk~=1.4.2"]
21
21
  tags: ["adk"]
22
22
  frontend_type: "None"
@@ -1,6 +1,6 @@
1
1
  # Gemini Fullstack Agent Development Kit (ADK) Quickstart
2
2
 
3
- > 🔍 **Sample Agent**: This agent is part of the [ADK Samples](https://github.com/google/adk-samples) collection, showcasing agent implementations using the Agent Development Kit.
3
+ > 🔍 **Sample Agent**: This agent is part of the [ADK Samples](https://github.com/google/adk-samples/tree/main/python/agents/gemini-fullstack) collection, showcasing agent implementations using the Agent Development Kit.
4
4
 
5
5
  The **Gemini Fullstack Agent Development Kit (ADK) Quickstart** is a production-ready blueprint for building a sophisticated, fullstack research agent with Gemini. It's built to demonstrate how the ADK helps structure complex agentic workflows, build modular agents, and incorporate critical Human-in-the-Loop (HITL) steps.
6
6
 
@@ -25,6 +25,3 @@ The **Gemini Fullstack Agent Development Kit (ADK) Quickstart** is a production-
25
25
  </tr>
26
26
  </tbody>
27
27
  </table>
28
-
29
- Here's a screenshot of the application in action:
30
- <img src="../../docs/images/adk_gemini_fullstack_preview.png" alt="Gemini Fullstack ADK Preview">
@@ -182,12 +182,33 @@ class EscalationChecker(BaseAgent):
182
182
  plan_generator = LlmAgent(
183
183
  model=config.worker_model,
184
184
  name="plan_generator",
185
- description="Generates a 4-5 line action-oriented research plan, using minimal search only for topic clarification.",
185
+ description="Generates or refine the existing 5 line action-oriented research plan, using minimal search only for topic clarification.",
186
186
  instruction=f"""
187
- You are a research strategist. Your job is to create a high-level RESEARCH PLAN, not a summary.
188
- **RULE: Your output MUST be a bulleted list of 4-5 action-oriented research goals or key questions.**
189
- - A good goal starts with a verb like "Analyze," "Identify," "Investigate."
187
+ You are a research strategist. Your job is to create a high-level RESEARCH PLAN, not a summary. If there is already a RESEARCH PLAN in the session state,
188
+ improve upon it based on the user feedback.
189
+
190
+ RESEARCH PLAN(SO FAR):
191
+ {{ research_plan? }}
192
+
193
+ **GENERAL INSTRUCTION: CLASSIFY TASK TYPES**
194
+ Your plan must clearly classify each goal for downstream execution. Each bullet point should start with a task type prefix:
195
+ - **`[RESEARCH]`**: For goals that primarily involve information gathering, investigation, analysis, or data collection (these require search tool usage by a researcher).
196
+ - **`[DELIVERABLE]`**: For goals that involve synthesizing collected information, creating structured outputs (e.g., tables, charts, summaries, reports), or compiling final output artifacts (these are executed AFTER research tasks, often without further search).
197
+
198
+ **INITIAL RULE: Your initial output MUST start with a bulleted list of 5 action-oriented research goals or key questions, followed by any *inherently implied* deliverables.**
199
+ - All initial 5 goals will be classified as `[RESEARCH]` tasks.
200
+ - A good goal for `[RESEARCH]` starts with a verb like "Analyze," "Identify," "Investigate."
190
201
  - A bad output is a statement of fact like "The event was in April 2024."
202
+ - **Proactive Implied Deliverables (Initial):** If any of your initial 5 `[RESEARCH]` goals inherently imply a standard output or deliverable (e.g., a comparative analysis suggesting a comparison table, or a comprehensive review suggesting a summary document), you MUST add these as additional, distinct goals immediately after the initial 5. Phrase these as *synthesis or output creation actions* (e.g., "Create a summary," "Develop a comparison," "Compile a report") and prefix them with `[DELIVERABLE][IMPLIED]`.
203
+
204
+ **REFINEMENT RULE**:
205
+ - **Integrate Feedback & Mark Changes:** When incorporating user feedback, make targeted modifications to existing bullet points. Add `[MODIFIED]` to the existing task type and status prefix (e.g., `[RESEARCH][MODIFIED]`). If the feedback introduces new goals:
206
+ - If it's an information gathering task, prefix it with `[RESEARCH][NEW]`.
207
+ - If it's a synthesis or output creation task, prefix it with `[DELIVERABLE][NEW]`.
208
+ - **Proactive Implied Deliverables (Refinement):** Beyond explicit user feedback, if the nature of an existing `[RESEARCH]` goal (e.g., requiring a structured comparison, deep dive analysis, or broad synthesis) or a `[DELIVERABLE]` goal inherently implies an additional, standard output or synthesis step (e.g., a detailed report following a summary, or a visual representation of complex data), proactively add this as a new goal. Phrase these as *synthesis or output creation actions* and prefix them with `[DELIVERABLE][IMPLIED]`.
209
+ - **Maintain Order:** Strictly maintain the original sequential order of existing bullet points. New bullets, whether `[NEW]` or `[IMPLIED]`, should generally be appended to the list, unless the user explicitly instructs a specific insertion point.
210
+ - **Flexible Length:** The refined plan is no longer constrained by the initial 5-bullet limit and may comprise more goals as needed to fully address the feedback and implied deliverables.
211
+
191
212
  **TOOL USE IS STRICTLY LIMITED:**
192
213
  Your goal is to create a generic, high-quality plan *without searching*.
193
214
  Only use `google_search` if a topic is ambiguous or time-sensitive and you absolutely cannot create a plan without a key piece of identifying information.
@@ -204,6 +225,7 @@ section_planner = LlmAgent(
204
225
  description="Breaks down the research plan into a structured markdown outline of report sections.",
205
226
  instruction="""
206
227
  You are an expert report architect. Using the research topic and the plan from the 'research_plan' state key, design a logical structure for the final report.
228
+ Note: Ignore all the tag nanes ([MODIFIED], [NEW], [RESEARCH], [DELIVERABLE]) in the research plan.
207
229
  Your task is to create a markdown outline with 4-6 distinct sections that cover the topic comprehensively without overlap.
208
230
  You can use any markdown format you prefer, but here's a suggested structure:
209
231
  # Section Name
@@ -224,10 +246,42 @@ section_researcher = LlmAgent(
224
246
  thinking_config=genai_types.ThinkingConfig(include_thoughts=True)
225
247
  ),
226
248
  instruction="""
227
- You are a diligent and exhaustive researcher. Your task is to perform the initial, broad information gathering for a report.
228
- You will be provided with a list of sections in the 'report_sections' state key.
229
- For each section where 'research' is marked as 'true', generate a comprehensive list of 4-5 targeted search queries to cover the topic from multiple angles.
230
- Execute all of these queries using the 'google_search' tool and synthesize the results into a detailed summary for that section.
249
+ You are a highly capable and diligent research and synthesis agent. Your comprehensive task is to execute a provided research plan with **absolute fidelity**, first by gathering necessary information, and then by synthesizing that information into specified outputs.
250
+
251
+ You will be provided with a sequential list of research plan goals, stored in the `research_plan` state key. Each goal will be clearly prefixed with its primary task type: `[RESEARCH]` or `[DELIVERABLE]`.
252
+
253
+ Your execution process must strictly adhere to these two distinct and sequential phases:
254
+
255
+ ---
256
+
257
+ **Phase 1: Information Gathering (`[RESEARCH]` Tasks)**
258
+
259
+ * **Execution Directive:** You **MUST** systematically process every goal prefixed with `[RESEARCH]` before proceeding to Phase 2.
260
+ * For each `[RESEARCH]` goal:
261
+ * **Query Generation:** Formulate a comprehensive set of 4-5 targeted search queries. These queries must be expertly designed to broadly cover the specific intent of the `[RESEARCH]` goal from multiple angles.
262
+ * **Execution:** Utilize the `google_search` tool to execute **all** generated queries for the current `[RESEARCH]` goal.
263
+ * **Summarization:** Synthesize the search results into a detailed, coherent summary that directly addresses the objective of the `[RESEARCH]` goal.
264
+ * **Internal Storage:** Store this summary, clearly tagged or indexed by its corresponding `[RESEARCH]` goal, for later and exclusive use in Phase 2. You **MUST NOT** lose or discard any generated summaries.
265
+
266
+ ---
267
+
268
+ **Phase 2: Synthesis and Output Creation (`[DELIVERABLE]` Tasks)**
269
+
270
+ * **Execution Prerequisite:** This phase **MUST ONLY COMMENCE** once **ALL** `[RESEARCH]` goals from Phase 1 have been fully completed and their summaries are internally stored.
271
+ * **Execution Directive:** You **MUST** systematically process **every** goal prefixed with `[DELIVERABLE]`. For each `[DELIVERABLE]` goal, your directive is to **PRODUCE** the artifact as explicitly described.
272
+ * For each `[DELIVERABLE]` goal:
273
+ * **Instruction Interpretation:** You will interpret the goal's text (following the `[DELIVERABLE]` tag) as a **direct and non-negotiable instruction** to generate a specific output artifact.
274
+ * *If the instruction details a table (e.g., "Create a Detailed Comparison Table in Markdown format"), your output for this step **MUST** be a properly formatted Markdown table utilizing columns and rows as implied by the instruction and the prepared data.*
275
+ * *If the instruction states to prepare a summary, report, or any other structured output, your output for this step **MUST** be that precise artifact.*
276
+ * **Data Consolidation:** Access and utilize **ONLY** the summaries generated during Phase 1 (`[RESEARCH]` tasks`) to fulfill the requirements of the current `[DELIVERABLE]` goal. You **MUST NOT** perform new searches.
277
+ * **Output Generation:** Based on the specific instruction of the `[DELIVERABLE]` goal:
278
+ * Carefully extract, organize, and synthesize the relevant information from your previously gathered summaries.
279
+ * Must always produce the specified output artifact (e.g., a concise summary, a structured comparison table, a comprehensive report, a visual representation, etc.) with accuracy and completeness.
280
+ * **Output Accumulation:** Maintain and accumulate **all** the generated `[DELIVERABLE]` artifacts. These are your final outputs.
281
+
282
+ ---
283
+
284
+ **Final Output:** Your final output will comprise the complete set of processed summaries from `[RESEARCH]` tasks AND all the generated artifacts from `[DELIVERABLE]` tasks, presented clearly and distinctly.
231
285
  """,
232
286
  tools=[google_search],
233
287
  output_key="section_research_findings",
@@ -17,7 +17,7 @@ example_question: "A report on the latest Google I/O event"
17
17
  settings:
18
18
  requires_data_ingestion: false
19
19
  deployment_targets: ["agent_engine", "cloud_run"]
20
- extra_dependencies: ["google-adk~=1.4.1"]
20
+ extra_dependencies: ["google-adk~=1.4.2"]
21
21
  tags: ["adk"]
22
22
  frontend_type: "adk_gemini_fullstack"
23
23
  commands:
@@ -26,7 +26,7 @@ from app.templates import format_docs
26
26
  EMBEDDING_MODEL = "text-embedding-005"
27
27
  LLM_LOCATION = "global"
28
28
  LOCATION = "us-central1"
29
- LLM = "gemini-2.0-flash-001"
29
+ LLM = "gemini-2.5-flash"
30
30
 
31
31
  credentials, project_id = google.auth.default()
32
32
  os.environ.setdefault("GOOGLE_CLOUD_PROJECT", project_id)
@@ -18,7 +18,7 @@ settings:
18
18
  requires_data_ingestion: true
19
19
  deployment_targets: ["agent_engine", "cloud_run"]
20
20
  extra_dependencies: [
21
- "google-adk~=1.4.1",
21
+ "google-adk~=1.4.2",
22
22
  "langchain-google-vertexai~=2.0.7",
23
23
  "langchain~=0.3.24",
24
24
  "langchain-core~=0.3.55",
@@ -23,7 +23,7 @@ from langgraph.prebuilt import ToolNode
23
23
  from .crew.crew import DevCrew
24
24
 
25
25
  LOCATION = "global"
26
- LLM = "gemini-2.0-flash-001"
26
+ LLM = "gemini-2.5-flash"
27
27
 
28
28
 
29
29
  @tool
@@ -21,7 +21,7 @@ from langgraph.graph import END, MessagesState, StateGraph
21
21
  from langgraph.prebuilt import ToolNode
22
22
 
23
23
  LOCATION = "global"
24
- LLM = "gemini-2.0-flash-001"
24
+ LLM = "gemini-2.5-flash"
25
25
 
26
26
 
27
27
  # 1. Define tools
@@ -22,7 +22,7 @@ from google.genai import types
22
22
  # Constants
23
23
  VERTEXAI = os.getenv("VERTEXAI", "true").lower() == "true"
24
24
  LOCATION = "us-central1"
25
- MODEL_ID = "gemini-2.0-flash-live-preview-04-09"
25
+ MODEL_ID = "gemini-live-2.5-flash-preview-native-audio"
26
26
 
27
27
  # Initialize Google Cloud clients
28
28
  credentials, project_id = google.auth.default()
@@ -56,13 +56,17 @@ tool_functions = {"get_weather": get_weather}
56
56
  live_connect_config = types.LiveConnectConfig(
57
57
  response_modalities=[types.Modality.AUDIO],
58
58
  tools=list(tool_functions.values()),
59
- # Change to desired language code (e.g., "es-ES" for Spanish, "fr-FR" for French)
60
- speech_config=types.SpeechConfig(language_code="en-US"),
61
59
  system_instruction=types.Content(
62
60
  parts=[
63
61
  types.Part(
64
- text="""You are a helpful AI assistant designed to provide accurate and useful information."""
62
+ text="""You are a helpful AI assistant designed to provide accurate and useful information. You are able to accommodate different languages and tones of voice."""
65
63
  )
66
64
  ]
67
65
  ),
66
+ speech_config=types.SpeechConfig(
67
+ voice_config=types.VoiceConfig(
68
+ prebuilt_voice_config=types.PrebuiltVoiceConfig(voice_name="Kore")
69
+ )
70
+ ),
71
+ enable_affective_dialog=True,
68
72
  )