agent-starter-pack 0.4.5__py3-none-any.whl → 0.5.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 (27) hide show
  1. {agent_starter_pack-0.4.5.dist-info → agent_starter_pack-0.5.0.dist-info}/METADATA +2 -2
  2. {agent_starter_pack-0.4.5.dist-info → agent_starter_pack-0.5.0.dist-info}/RECORD +27 -27
  3. agents/adk_base/template/.templateconfig.yaml +1 -1
  4. agents/adk_base/tests/integration/test_agent.py +1 -1
  5. agents/agentic_rag/template/.templateconfig.yaml +1 -1
  6. agents/agentic_rag/tests/integration/test_agent.py +1 -1
  7. agents/live_api/app/server.py +5 -1
  8. src/base_template/README.md +2 -2
  9. src/base_template/deployment/README.md +1 -1
  10. src/base_template/pyproject.toml +2 -2
  11. src/cli/commands/create.py +11 -3
  12. src/deployment_targets/agent_engine/tests/load_test/README.md +2 -2
  13. src/deployment_targets/cloud_run/app/server.py +1 -1
  14. src/deployment_targets/cloud_run/tests/load_test/README.md +2 -2
  15. src/resources/idx/.idx/dev.nix +2 -9
  16. src/resources/locks/uv-adk_base-agent_engine.lock +340 -334
  17. src/resources/locks/uv-adk_base-cloud_run.lock +412 -405
  18. src/resources/locks/uv-agentic_rag-agent_engine.lock +531 -522
  19. src/resources/locks/uv-agentic_rag-cloud_run.lock +683 -665
  20. src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +678 -629
  21. src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +833 -773
  22. src/resources/locks/uv-langgraph_base_react-agent_engine.lock +647 -571
  23. src/resources/locks/uv-langgraph_base_react-cloud_run.lock +826 -730
  24. src/resources/locks/uv-live_api-cloud_run.lock +160 -159
  25. {agent_starter_pack-0.4.5.dist-info → agent_starter_pack-0.5.0.dist-info}/WHEEL +0 -0
  26. {agent_starter_pack-0.4.5.dist-info → agent_starter_pack-0.5.0.dist-info}/entry_points.txt +0 -0
  27. {agent_starter_pack-0.4.5.dist-info → agent_starter_pack-0.5.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.4.5
3
+ Version: 0.5.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
@@ -56,7 +56,7 @@ Ready to build your AI agent? Simply run this command:
56
56
 
57
57
  ```bash
58
58
  # Create and activate a Python virtual environment
59
- python -m venv venv && source venv/bin/activate
59
+ python -m venv .venv && source .venv/bin/activate
60
60
 
61
61
  # Install the agent starter pack
62
62
  pip install agent-starter-pack
@@ -2,16 +2,16 @@ agents/adk_base/README.md,sha256=eLf-F9Z4u_mQOchAnUaSrOAHXRSx8wUQN29kkwz1SF4,894
2
2
  agents/adk_base/app/agent.py,sha256=Kt-0TQM4g9NLs7Q2KmRWPfPWWgyQEODVo0uCepLkqDw,2182
3
3
  agents/adk_base/notebooks/adk_app_testing.ipynb,sha256=WTxrxu-bMfjqR8SvwZxNuR2_4Qo20QUZ7F3aBCRxtA0,9613
4
4
  agents/adk_base/notebooks/evaluating_adk_agent.ipynb,sha256=OMTiT3gAFWPvE9pPL8z7tsDwOU-l8wem5wH-OXPPlvk,56805
5
- agents/adk_base/template/.templateconfig.yaml,sha256=x3mXlO-JkgXEOpbLoreJzOp78LQfhIWlV9rKAjHPwfU,893
6
- agents/adk_base/tests/integration/test_agent.py,sha256=1VyshBu44p_PUAQQxV0QROmv6OUGt_m0nDLyaTI77po,1964
5
+ agents/adk_base/template/.templateconfig.yaml,sha256=BT88Q8Bri6DYwv2HHjkpcL2mik8u8Gkwi3YV9_XW7PU,893
6
+ agents/adk_base/tests/integration/test_agent.py,sha256=VypgpEWrQegJBgc58V-BlIsbqh-Hii-hwmkwcz5feFw,1969
7
7
  agents/agentic_rag/README.md,sha256=mxMLkq6tAghFaDmc2sc2sEQ5vn9kGWdiRxfTykwpLz0,2268
8
8
  agents/agentic_rag/app/agent.py,sha256=thaU0njJ3W90DI54EVrFe4lwx9yMWZT4jSGRMnUSdY8,3987
9
9
  agents/agentic_rag/app/retrievers.py,sha256=qfxwSEixMddvAu4FvUTZAFh1Gdp3RPY65s0Wp6gEFVk,4561
10
10
  agents/agentic_rag/app/templates.py,sha256=8N_uRchwiN7hlH9Y8rdJ1CAtOhpHUWZkXZZ7IU-YJJk,867
11
11
  agents/agentic_rag/notebooks/adk_app_testing.ipynb,sha256=WTxrxu-bMfjqR8SvwZxNuR2_4Qo20QUZ7F3aBCRxtA0,9613
12
12
  agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb,sha256=OMTiT3gAFWPvE9pPL8z7tsDwOU-l8wem5wH-OXPPlvk,56805
13
- agents/agentic_rag/template/.templateconfig.yaml,sha256=33QMS3Vi_gpYLCqxm2idbv_mZ8EMqruezzw0G-a7oyg,1223
14
- agents/agentic_rag/tests/integration/test_agent.py,sha256=HbEv2gzC77jrse3RZ0ra_Bcu6zW_7YlrxYWcYfei63M,2107
13
+ agents/agentic_rag/template/.templateconfig.yaml,sha256=fTsHlqDrmMcOA_yNWYAiQJoLMOQm21JeQMnxO1gYs1Q,1223
14
+ agents/agentic_rag/tests/integration/test_agent.py,sha256=mxsKFyZrwXzIvAoxlqZv2JndM3VTVTKcugRYdF3APr4,2112
15
15
  agents/crewai_coding_crew/README.md,sha256=4No7sfHQVHELARGiT3fWANJzDR0NP48ow4ct3FoPwlA,1672
16
16
  agents/crewai_coding_crew/app/agent.py,sha256=axa-prJ7N8Gi8ASUSjokLeWCE-Z_cU0A99WwuLGsZyQ,3264
17
17
  agents/crewai_coding_crew/app/crew/crew.py,sha256=pqeeJ4txP-gcVT3PKEAw2zZ4x8g4cDlnFFbf0_zZRr4,2000
@@ -28,19 +28,19 @@ agents/langgraph_base_react/template/.templateconfig.yaml,sha256=NE_EJzZPtdbJRFd
28
28
  agents/langgraph_base_react/tests/integration/test_agent.py,sha256=wg2Y8V4l7dh7rhWy7Z8zioDW5ILRsz7RZJ-mz0AhK3U,1619
29
29
  agents/live_api/README.md,sha256=c3lu5WguOUBc5hO_UtNZfVhfYxvSzMXuGFICn9M38mU,2897
30
30
  agents/live_api/app/agent.py,sha256=FBsmCYI_dmBIbFD1uojcPxJfozGNc-0rg1fW2PhEyFw,2298
31
- agents/live_api/app/server.py,sha256=A2frpeM-mHoRiUAlvJKZAdU_Q8-GOwcCh3iODdRmbr4,7652
31
+ agents/live_api/app/server.py,sha256=ZXriNDl_zo7WDRBke85lyzMsy66qGzPaRXY1FMy4Fdw,7793
32
32
  agents/live_api/template/.templateconfig.yaml,sha256=DD_hihMsuqmd5VWS18vVGZ3ZGVVpFWVXJ2dU07eKb6k,964
33
33
  agents/live_api/tests/integration/test_server_e2e.py,sha256=D2VETDIyTD2fQyQ6DXwLr-POSYyVzzzcpIFLt5Ppyx4,8398
34
34
  agents/live_api/tests/load_test/load_test.py,sha256=HHZyfC4gqiQtZVF_CbbxENGgWQccMLpwMv0IdoQ6cbQ,1275
35
35
  agents/live_api/tests/unit/test_server.py,sha256=_TjlgQgNkjerIaBGnu8P8_KB8ZlSolDcivALpUOn_Rw,4786
36
36
  src/base_template/.gitignore,sha256=mJKTZIcVdAFiIUQicRfPNGUg6WvwcfTEC2xbmAaU34g,2579
37
37
  src/base_template/Makefile,sha256=O65aYaRQlCOZHfCaAdWbK3eEobw5x83A8nEjK88jtpQ,4538
38
- src/base_template/README.md,sha256=fZ2qe3LS9bA2pBzvBvAqclPTmdjBzRr84O5P3QoNk0I,10143
39
- src/base_template/pyproject.toml,sha256=V2Df010o_Q8smOaS1K9fx-pVe9X4_KZT4vpIRaB0aFs,2959
38
+ src/base_template/README.md,sha256=Bg-wux7NGMAhx1-enAn87dfMUchTi8D7-Gkx7TWDcs4,10119
39
+ src/base_template/pyproject.toml,sha256=FmD5qLIWjMTjT6euiUegSw8PLeGvxO1bnSg-r0UjkJU,2959
40
40
  src/base_template/app/__init__.py,sha256=UyAgc2l8nkVIUPUzL9hKR7EgzCsc2jSYcOcjHNNmpMU,59
41
41
  src/base_template/app/utils/tracing.py,sha256=2rv1Ukh2jTBENDwoghCItJ28l-Sjz9gMlzdojlVgJa4,6052
42
42
  src/base_template/app/utils/typing.py,sha256=DP5OZC3IGvqA1XbvWt8kI3gyAK3ZjzUSL5Ca17wNeLI,4249
43
- src/base_template/deployment/README.md,sha256=XjRRcEiyoobi0YEXybfvtaOi9ecNDU2bVKczv0MUBac,5255
43
+ src/base_template/deployment/README.md,sha256=qWTCWyEj1bZuny3XyCelXPgljh6yu_GDwfPNUeFoXBY,5245
44
44
  src/base_template/deployment/cd/deploy-to-prod.yaml,sha256=1VncyjYOVyGBsDGN-zvXOH9J1TPL-LarYzbXOHwLDRY,4376
45
45
  src/base_template/deployment/cd/staging.yaml,sha256=WE9vSKh9tNs5pPnWslGyPa5-7AqQSFyuPaY5HAz7RCo,8004
46
46
  src/base_template/deployment/ci/pr_checks.yaml,sha256=7jS9HlRfistS4hhUXMF0tc-5m6g6l9s0rGhq_xP8Tnc,1517
@@ -63,7 +63,7 @@ src/base_template/deployment/terraform/dev/vars/env.tfvars,sha256=LoQMjh1AAMR-MG
63
63
  src/base_template/deployment/terraform/vars/env.tfvars,sha256=Nze8q1x2Aj6ZUeWC2hDeZWqNUkLp13DgzA_LFmmOzCo,1216
64
64
  src/base_template/tests/unit/test_dummy.py,sha256=2exfCH8qhkZrLWvK04ZxNTO9MV3fdTbZkJN3uK6zvok,850
65
65
  src/cli/main.py,sha256=pMsSlNwkrFqHUHHA5U-WMZ4QRquaI_F7OXQt6yxuugE,1688
66
- src/cli/commands/create.py,sha256=g0cSZUM2MabAg2h7GomuHHr7n5uMVjXBKebt1_1u17o,24145
66
+ src/cli/commands/create.py,sha256=MKfRxDGcvWcm7Y8IqwGM6zcWEtBQlS_JQtoQLn4oDUM,24497
67
67
  src/cli/commands/setup_cicd.py,sha256=Lr0wLeKlRxROsRVFLAI3ygfIh_sTavvgQckDkzFEKMQ,31705
68
68
  src/cli/utils/__init__.py,sha256=_cTmsXGPqOtK0q8UW5164QTltbJRJFR_Efxq_BRL1-o,1311
69
69
  src/cli/utils/cicd.py,sha256=m2BxwV39323rVzJCjJjB37IPdSNQdxVgXGrgnhdbb84,26040
@@ -84,14 +84,14 @@ src/deployment_targets/agent_engine/app/agent_engine_app.py,sha256=j5xK6AQYyJmRu
84
84
  src/deployment_targets/agent_engine/app/utils/gcs.py,sha256=jKblaWOGQEigw3esaawcfX178shhZi2Fyk0fJSA4T68,1501
85
85
  src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb,sha256=RE6Gp-bu4bHtNBngfkt_CF5emy5YcOWQ5rMYW_Cv8_w,48809
86
86
  src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py,sha256=3mEHdnenqT1RrQpndnQWZSMnn8kSLH85rPDhbxH6_lk,5978
87
- src/deployment_targets/agent_engine/tests/load_test/README.md,sha256=ckP2eu5_HpOjM390KXNwUk4YWAzWqir3YOTceyoeL64,1441
87
+ src/deployment_targets/agent_engine/tests/load_test/README.md,sha256=qaVE9qR0MvZcaABwf4GS6cAxi7un5ql_vh-zbgh3LmA,1443
88
88
  src/deployment_targets/agent_engine/tests/load_test/load_test.py,sha256=FFCo_LjIZyETb61Eo53qxmg4U7qjT__BPWCYiwBQbhU,3764
89
89
  src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
90
  src/deployment_targets/cloud_run/Dockerfile,sha256=vedZX0JJW2bymESqB-0LumnkKyr7hcog8NlR0DX8Q74,843
91
91
  src/deployment_targets/cloud_run/uv.lock,sha256=2RYrR89xDS1FHVb-g2JGZq8zZ-rzbm_jRvehVCYuXRQ,887957
92
- src/deployment_targets/cloud_run/app/server.py,sha256=lqoo_wAi8yvVsC4aoUD4k74UKArci3w1jF3dkwPOyvU,4793
92
+ src/deployment_targets/cloud_run/app/server.py,sha256=6xgR99amWepWlOP-uENJzENA7p3ekFl93ivl7-PtG7E,4793
93
93
  src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py,sha256=dKgFE8ksZz-6IDqMfJjTJcwgywJcN9gpSd9Ni97NjPg,7784
94
- src/deployment_targets/cloud_run/tests/load_test/README.md,sha256=ibuQTghqnZD84ConqsqRxhMOdYhuqoCQA3xiOs5wKqE,2804
94
+ src/deployment_targets/cloud_run/tests/load_test/README.md,sha256=HgWizsGHyh_2i0xOG2-1IN_Eav3GiGNKwZVOffilo2I,2806
95
95
  src/deployment_targets/cloud_run/tests/load_test/load_test.py,sha256=cOlGaNxx6X3C-eWD0LulXyggqTrTeWZPjnsVn7FtZIs,4082
96
96
  src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
97
  src/frontends/live_api_react/frontend/package-lock.json,sha256=cRmNP68qotvdTypAOU-UZi65ZSai4KTwxYvCYep9LQs,734245
@@ -153,24 +153,24 @@ src/resources/containers/data_processing/Dockerfile,sha256=VoB9d5yZiiWnqRfWrIq0g
153
153
  src/resources/containers/e2e-tests/Dockerfile,sha256=Q_aTyX_iaFY8j06XZkpMuggJnNO5daiLmmrvqaZHMxw,1611
154
154
  src/resources/idx/idx-template.json,sha256=07OQZCPp45Iqor2O7Tm1e1Gmsdd-AmmUofSvA7y-oRs,793
155
155
  src/resources/idx/idx-template.nix,sha256=sesHGev_PYtVDg0J5tHkg0OO7IR1Bz2iAtl_if3Ar3M,892
156
- src/resources/idx/.idx/dev.nix,sha256=rT_eW3cp7BluMQakqy_V_RGUu2yoZjymiZmfyN3_PnI,1927
157
- src/resources/locks/uv-adk_base-agent_engine.lock,sha256=XlscpQ3BMfaT1WsjyRt9wFq5r3tu7o7YMt9WPgZkG5I,353989
158
- src/resources/locks/uv-adk_base-cloud_run.lock,sha256=Y4pEcpFfGWyAspN0tHKHp1gb1eoAxKMjvdkt6SMGBK0,438703
159
- src/resources/locks/uv-agentic_rag-agent_engine.lock,sha256=sisf4BkOLYsOn2m2G345nBXPzXvJpow5NTBzY64q0f0,519017
160
- src/resources/locks/uv-agentic_rag-cloud_run.lock,sha256=bQJthX5yaSc_frtIELy-XZ9l2hIcVgvtGL-VRRCPJpI,672654
161
- src/resources/locks/uv-crewai_coding_crew-agent_engine.lock,sha256=jskICodwWrsUNO7V4CKKwnOpysb23LVFBwb1-c6C7I4,748336
162
- src/resources/locks/uv-crewai_coding_crew-cloud_run.lock,sha256=jbSxsfDX4sBy7ao2vi4Wel7mrxyVOUuSw7obFITma2o,947005
163
- src/resources/locks/uv-langgraph_base_react-agent_engine.lock,sha256=T34ZoYy-cKW88SWVW0I4ecer6nJ2j7vpJF8TctfE_Oo,627436
164
- src/resources/locks/uv-langgraph_base_react-cloud_run.lock,sha256=qd-I_0iOWDoM-81jm0itLA2UZX4OhAt8kutGXjlN9qw,812382
165
- src/resources/locks/uv-live_api-cloud_run.lock,sha256=3SXkqA_zJrJeoD4hvhCNdAeWKoYPlkDl_z9p_byij_k,773234
156
+ src/resources/idx/.idx/dev.nix,sha256=XQ4T1xt5I-8SVwnI37v56RFFlxa58Ko-a9G2-oelYAI,1602
157
+ src/resources/locks/uv-adk_base-agent_engine.lock,sha256=5C0qM0h4QtYmFJKLq3PFddfSzjQWFEjOiO82vHxAUdQ,354900
158
+ src/resources/locks/uv-adk_base-cloud_run.lock,sha256=1IGYBSh0vFV2zgxKkv97RsfSffrO1eqTgqxXPGanRT8,439843
159
+ src/resources/locks/uv-agentic_rag-agent_engine.lock,sha256=bUYvGPpldusxjM59ZmkiGx5TD0uVYR_q6Ae4zX_RDMc,520793
160
+ src/resources/locks/uv-agentic_rag-cloud_run.lock,sha256=jf_-4Fy3Ru-8Sv1FT2wezM68VpJza4mY9vnnASJRRYg,676939
161
+ src/resources/locks/uv-crewai_coding_crew-agent_engine.lock,sha256=D7ChXJvgpv9tx04oySxtKNYV7c75fFmgjkHkfY-9t7c,752871
162
+ src/resources/locks/uv-crewai_coding_crew-cloud_run.lock,sha256=gAo8kIqxFo7ce9d3gtgvjqj4uW5qWdyA-rfSFw8wPGM,954380
163
+ src/resources/locks/uv-langgraph_base_react-agent_engine.lock,sha256=4MaAtU7WsOBcr2sKFQxFLxBAI3sbmTItcwheO--juIY,641971
164
+ src/resources/locks/uv-langgraph_base_react-cloud_run.lock,sha256=LZChkvjJas5yiajNLar3ejaZ8ZmdzwPuyKZ4mAXtrT8,832580
165
+ src/resources/locks/uv-live_api-cloud_run.lock,sha256=FJ7T5-oVajY_zjLSHlq5IUVDMg0SKy6g7bwvlMLueSs,773265
166
166
  src/resources/setup_cicd/cicd_variables.tf,sha256=PMflYe1TzQi63LORHkmeCktTYzXFplJgxffNH4DtuAQ,1244
167
167
  src/resources/setup_cicd/github.tf,sha256=scTBgeZlCM74N-pzhVKsnTN0PX9a5GboNl1HN3-LlCM,2791
168
168
  src/resources/setup_cicd/providers.tf,sha256=Km4z6IJt7x7PLaa0kyZbBrO2m3lpuIJZFD5jB7QBfF0,1122
169
169
  src/utils/generate_locks.py,sha256=6V1B8V2BEuevWnXUsxZVTrLjXwFRII8UfsIGrQqZxVs,4320
170
170
  src/utils/lock_utils.py,sha256=RSE6n3hBkH64xNm3Q5wrR0Pqbeo-oc7xaTOhA9yzHjk,2275
171
171
  src/utils/watch_and_rebuild.py,sha256=vP4yIiA7E_lj5sfQdJUl8TXas6V7msDg8XWUutAC05Q,6679
172
- agent_starter_pack-0.4.5.dist-info/METADATA,sha256=sHNdbsxW4Cv74gSlBtdsGQ_6Bh8WUrjTgQx0l3fkpMY,10452
173
- agent_starter_pack-0.4.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
174
- agent_starter_pack-0.4.5.dist-info/entry_points.txt,sha256=U7uCxR7YulIhZ0L8R8Hui0Bsy6J7oyESBeDYJYMrQjA,56
175
- agent_starter_pack-0.4.5.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
176
- agent_starter_pack-0.4.5.dist-info/RECORD,,
172
+ agent_starter_pack-0.5.0.dist-info/METADATA,sha256=NWdmJCeRy_Z3AIw_3UUGJEwIk4MfqV8dkPygrT-c1QY,10454
173
+ agent_starter_pack-0.5.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
174
+ agent_starter_pack-0.5.0.dist-info/entry_points.txt,sha256=U7uCxR7YulIhZ0L8R8Hui0Bsy6J7oyESBeDYJYMrQjA,56
175
+ agent_starter_pack-0.5.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
176
+ agent_starter_pack-0.5.0.dist-info/RECORD,,
@@ -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~=0.5.0"]
20
+ extra_dependencies: ["google-adk~=1.1.0"]
21
21
  tags: ["adk"]
22
22
  frontend_type: "None"
@@ -29,7 +29,7 @@ def test_agent_stream() -> None:
29
29
 
30
30
  session_service = InMemorySessionService()
31
31
 
32
- session = session_service.create_session(user_id="test_user", app_name="test")
32
+ session = session_service.create_session_sync(user_id="test_user", app_name="test")
33
33
  runner = Runner(agent=root_agent, session_service=session_service, app_name="test")
34
34
 
35
35
  message = types.Content(
@@ -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~=0.5.0",
21
+ "google-adk~=1.1.0",
22
22
  "langchain-google-vertexai~=2.0.7",
23
23
  "langchain~=0.3.24",
24
24
  "langchain-core~=0.3.55",
@@ -35,7 +35,7 @@ def test_agent_stream(mock_retrieve: MagicMock) -> None:
35
35
 
36
36
  session_service = InMemorySessionService()
37
37
 
38
- session = session_service.create_session(user_id="test_user", app_name="test")
38
+ session = session_service.create_session_sync(user_id="test_user", app_name="test")
39
39
  runner = Runner(agent=root_agent, session_service=session_service, app_name="test")
40
40
 
41
41
  message = types.Content(
@@ -60,6 +60,7 @@ class GeminiSession:
60
60
  self.run_id = "n/a"
61
61
  self.user_id = "n/a"
62
62
  self.tool_functions = tool_functions
63
+ self._tool_tasks: list[asyncio.Task] = []
63
64
 
64
65
  async def receive_from_client(self) -> None:
65
66
  """Listen for and process messages from the client.
@@ -137,7 +138,10 @@ class GeminiSession:
137
138
  message = types.LiveServerMessage.model_validate(raw_message)
138
139
  tool_call = LiveServerToolCall.model_validate(message.tool_call)
139
140
  # Create a separate task to handle the tool call without blocking
140
- asyncio.create_task(self._handle_tool_call(self.session, tool_call))
141
+ task = asyncio.create_task(
142
+ self._handle_tool_call(self.session, tool_call)
143
+ )
144
+ self._tool_tasks.append(task)
141
145
 
142
146
 
143
147
  def get_connect_and_run_callable(websocket: WebSocket) -> Callable:
@@ -153,13 +153,13 @@ This template follows a "bring your own agent" approach - you focus on your busi
153
153
  1. **Prototype:** Build your Generative AI Agent using the intro notebooks in `notebooks/` for guidance. Use Vertex AI Evaluation to assess performance.
154
154
  2. **Integrate:** Import your agent into the app by editing `app/agent.py`.
155
155
  3. **Test:** Explore your agent functionality using the Streamlit playground with `make playground`. The playground offers features like chat history, user feedback, and various input types, and automatically reloads your agent on code changes.
156
- 4. **Deploy:** Set up and initiate the CI/CD pipelines, customizing tests as necessary. Refer to the [deployment section](#deployment) for comprehensive instructions. For streamlined infrastructure deployment, simply run `agent-starter-pack setup-cicd`. Check out the [`agent-starter-pack setup-cicd` CLI command](https://github.com/GoogleCloudPlatform/agent-starter-pack/blob/main/docs/cli/setup_cicd.md). Currently only supporting Github.
156
+ 4. **Deploy:** Set up and initiate the CI/CD pipelines, customizing tests as necessary. Refer to the [deployment section](#deployment) for comprehensive instructions. For streamlined infrastructure deployment, simply run `uvx agent-starter-pack setup-cicd`. Check out the [`agent-starter-pack setup-cicd` CLI command](https://googlecloudplatform.github.io/agent-starter-pack/cli/setup_cicd.html). Currently only supporting Github.
157
157
  5. **Monitor:** Track performance and gather insights using Cloud Logging, Tracing, and the Looker Studio dashboard to iterate on your application.
158
158
  {% endif %}
159
159
 
160
160
  ## Deployment
161
161
 
162
- > **Note:** For a streamlined one-command deployment of the entire CI/CD pipeline and infrastructure using Terraform, you can use the [`agent-starter-pack setup-cicd` CLI command](https://github.com/GoogleCloudPlatform/agent-starter-pack/blob/main/docs/cli/setup_cicd.md). Currently only supporting Github.
162
+ > **Note:** For a streamlined one-command deployment of the entire CI/CD pipeline and infrastructure using Terraform, you can use the [`agent-starter-pack setup-cicd` CLI command](https://googlecloudplatform.github.io/agent-starter-pack/cli/setup_cicd.html). Currently only supporting Github.
163
163
 
164
164
  ### Dev Environment
165
165
 
@@ -29,7 +29,7 @@ The application leverages [**Terraform**](http://terraform.io) to define and pro
29
29
 
30
30
  ## Setup
31
31
 
32
- > **Note:** For a streamlined one-command deployment of the entire CI/CD pipeline and infrastructure using Terraform, you can use the [`agent-starter-pack setup-cicd` CLI command](https://github.com/GoogleCloudPlatform/agent-starter-pack/blob/main/docs/cli/setup_cicd.md). Currently only supporting Github.
32
+ > **Note:** For a streamlined one-command deployment of the entire CI/CD pipeline and infrastructure using Terraform, you can use the [`uvx agent-starter-pack setup-cicd` CLI command](https://googlecloudplatform.github.io/agent-starter-pack/cli/setup_cicd.html). Currently only supporting Github.
33
33
 
34
34
  **Prerequisites:**
35
35
 
@@ -16,11 +16,11 @@ dependencies = [
16
16
  {%- endif %}
17
17
  "google-cloud-logging~=3.11.4",
18
18
  {%- if cookiecutter.deployment_target == 'cloud_run' %}
19
- "google-cloud-aiplatform[evaluation]~=1.91.0",
19
+ "google-cloud-aiplatform[evaluation]~=1.95.1",
20
20
  "fastapi~=0.115.8",
21
21
  "uvicorn~=0.34.0"
22
22
  {%- elif cookiecutter.deployment_target == 'agent_engine' %}
23
- "google-cloud-aiplatform[evaluation,agent-engines]~=1.91.0"
23
+ "google-cloud-aiplatform[evaluation,agent-engines]~=1.95.1"
24
24
  {%- endif %}
25
25
  ]
26
26
  {% if cookiecutter.deployment_target == 'cloud_run' %}
@@ -467,11 +467,19 @@ def _handle_credential_verification(creds_info: dict) -> dict:
467
467
  # Check if running in Cloud Shell
468
468
  if os.environ.get("CLOUD_SHELL") == "true":
469
469
  if creds_info["project"] == "":
470
- console.print("> It looks like you are running in Cloud Shell.")
471
470
  console.print(
472
- "> You need to set up a project ID to continue, but you haven't setup a project yet."
471
+ "> It looks like you are running in Cloud Shell.", style="bold blue"
473
472
  )
474
- new_project = Prompt.ask("\n> Enter a project ID")
473
+ console.print(
474
+ "> You need to set up a project ID to continue, but you haven't setup a project yet.",
475
+ style="bold blue",
476
+ )
477
+ new_project = Prompt.ask("\n> Enter a project ID", default=None)
478
+ while not new_project:
479
+ console.print(
480
+ "> Project ID cannot be empty. Please try again.", style="bold red"
481
+ )
482
+ new_project = Prompt.ask("\n> Enter a project ID", default=None)
475
483
  creds_info["project"] = new_project
476
484
  set_gcp_project(creds_info["project"], set_quota_project=False)
477
485
  return creds_info
@@ -19,8 +19,8 @@ Follow these steps to execute load tests:
19
19
 
20
20
  ```bash
21
21
  # Create and activate virtual environment
22
- python3 -m venv locust_env
23
- source locust_env/bin/activate
22
+ python3 -m venv .locust_env
23
+ source .locust_env/bin/activate
24
24
 
25
25
  # Install required packages
26
26
  pip install locust==2.31.1 "google-cloud-aiplatform[langchain,reasoningengine]>=1.77.0"
@@ -32,7 +32,7 @@ provider.add_span_processor(processor)
32
32
  trace.set_tracer_provider(provider)
33
33
 
34
34
  AGENT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
35
- app: FastAPI = get_fast_api_app(agent_dir=AGENT_DIR, web=False)
35
+ app: FastAPI = get_fast_api_app(agents_dir=AGENT_DIR, web=True)
36
36
 
37
37
  app.title = "{{cookiecutter.project_name}}"
38
38
  app.description = "API for interacting with the Agent {{cookiecutter.project_name}}"
@@ -18,7 +18,7 @@ uv run uvicorn app.server:app --host 0.0.0.0 --port 8000 --reload
18
18
  Using another terminal tab, This is suggested to avoid conflicts with the existing application python environment.
19
19
 
20
20
  ```bash
21
- python3 -m venv locust_env && source locust_env/bin/activate && pip install locust==2.31.1
21
+ python3 -m venv .locust_env && source locust_env/bin/activate && pip install locust==2.31.1
22
22
  ```
23
23
 
24
24
  **3. Execute the Load Test:**
@@ -69,7 +69,7 @@ export _ID_TOKEN=$(gcloud auth print-identity-token -q)
69
69
  **3. Execute the Load Test:**
70
70
  Create virtual environment with Locust:
71
71
  ```bash
72
- python3 -m venv locust_env && source locust_env/bin/activate && pip install locust==2.31.1
72
+ python3 -m venv .locust_env && source locust_env/bin/activate && pip install locust==2.31.1
73
73
  ```
74
74
 
75
75
  Execute load tests. The following command executes the same load test parameters as the local test but targets your remote Cloud Run instance.
@@ -7,9 +7,7 @@
7
7
 
8
8
  # Use https://search.nixos.org/packages to find packages
9
9
  packages = [
10
- pkgs.python311
11
- pkgs.python311Packages.pip
12
- pkgs.python311Packages.uv
10
+ pkgs.uv
13
11
  pkgs.gnumake
14
12
  pkgs.terraform
15
13
  pkgs.gh
@@ -36,13 +34,8 @@
36
34
  echo "Setting gcloud project..."
37
35
  gcloud config set project $GOOGLE_CLOUD_PROJECT
38
36
 
39
- echo "Creating Python virtual environment and installing packages..."
40
- uv venv && uv pip install agent-starter-pack
41
- echo "alias agent-starter-pack=\"~/$WS_NAME/.venv/bin/agent-starter-pack\"" >> ~/.bashrc
42
- source ~/.bashrc
43
-
44
37
  echo "Running agent starter pack creation..."
45
- uv run agent-starter-pack create $AGENT_NAME
38
+ uvx agent-starter-pack create $AGENT_NAME
46
39
  code ~/$WS_NAME/$AGENT_NAME/README.md
47
40
  exec bash
48
41
  '';