agent-starter-pack 0.9.1__py3-none-any.whl → 0.10.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 (57) hide show
  1. {agent_starter_pack-0.9.1.dist-info → agent_starter_pack-0.10.0.dist-info}/METADATA +5 -7
  2. {agent_starter_pack-0.9.1.dist-info → agent_starter_pack-0.10.0.dist-info}/RECORD +54 -52
  3. agents/adk_base/.template/templateconfig.yaml +1 -1
  4. agents/adk_gemini_fullstack/.template/templateconfig.yaml +1 -1
  5. agents/agentic_rag/.template/templateconfig.yaml +1 -1
  6. agents/agentic_rag/README.md +1 -1
  7. agents/live_api/tests/integration/test_server_e2e.py +7 -1
  8. llm.txt +3 -2
  9. src/base_template/Makefile +4 -3
  10. src/base_template/README.md +7 -2
  11. src/base_template/deployment/README.md +6 -121
  12. src/base_template/deployment/terraform/github.tf +284 -0
  13. src/base_template/deployment/terraform/providers.tf +5 -0
  14. src/base_template/deployment/terraform/variables.tf +40 -1
  15. src/base_template/deployment/terraform/vars/env.tfvars +7 -1
  16. src/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'github_actions' %}wif.tf{% else %}unused_wif.tf{% endif %} +43 -0
  17. src/base_template/deployment/terraform/{build_triggers.tf → {% if cookiecutter.cicd_runner == 'google_cloud_build' %}build_triggers.tf{% else %}unused_build_triggers.tf{% endif %} } +33 -18
  18. src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml +114 -0
  19. src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/pr_checks.yaml +65 -0
  20. src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml +170 -0
  21. src/base_template/{deployment/cd/deploy-to-prod.yaml → {% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/deploy-to-prod.yaml } +7 -7
  22. src/base_template/{deployment/cd/staging.yaml → {% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml } +7 -7
  23. src/cli/commands/create.py +223 -41
  24. src/cli/commands/list.py +4 -10
  25. src/cli/commands/setup_cicd.py +292 -298
  26. src/cli/utils/cicd.py +19 -7
  27. src/cli/utils/remote_template.py +82 -15
  28. src/cli/utils/template.py +79 -19
  29. src/deployment_targets/cloud_run/app/server.py +19 -0
  30. src/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +4 -3
  31. src/deployment_targets/cloud_run/deployment/terraform/service.tf +4 -3
  32. src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +35 -0
  33. src/deployment_targets/cloud_run/tests/load_test/README.md +1 -1
  34. src/frontends/live_api_react/frontend/package-lock.json +19 -16
  35. src/frontends/streamlit/frontend/side_bar.py +1 -1
  36. src/frontends/streamlit/frontend/utils/chat_utils.py +1 -1
  37. src/frontends/streamlit/frontend/utils/local_chat_history.py +2 -2
  38. src/resources/containers/e2e-tests/Dockerfile +39 -17
  39. src/resources/docs/adk-cheatsheet.md +1 -1
  40. src/resources/locks/uv-adk_base-agent_engine.lock +164 -131
  41. src/resources/locks/uv-adk_base-cloud_run.lock +177 -144
  42. src/resources/locks/uv-adk_gemini_fullstack-agent_engine.lock +164 -131
  43. src/resources/locks/uv-adk_gemini_fullstack-cloud_run.lock +177 -144
  44. src/resources/locks/uv-agentic_rag-agent_engine.lock +223 -190
  45. src/resources/locks/uv-agentic_rag-cloud_run.lock +251 -218
  46. src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +315 -485
  47. src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +358 -531
  48. src/resources/locks/uv-langgraph_base_react-agent_engine.lock +281 -249
  49. src/resources/locks/uv-langgraph_base_react-cloud_run.lock +323 -290
  50. src/resources/locks/uv-live_api-cloud_run.lock +350 -327
  51. src/resources/setup_cicd/cicd_variables.tf +0 -41
  52. src/resources/setup_cicd/github.tf +0 -87
  53. src/resources/setup_cicd/providers.tf +0 -39
  54. {agent_starter_pack-0.9.1.dist-info → agent_starter_pack-0.10.0.dist-info}/WHEEL +0 -0
  55. {agent_starter_pack-0.9.1.dist-info → agent_starter_pack-0.10.0.dist-info}/entry_points.txt +0 -0
  56. {agent_starter_pack-0.9.1.dist-info → agent_starter_pack-0.10.0.dist-info}/licenses/LICENSE +0 -0
  57. /src/base_template/{deployment/ci → {% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}}/pr_checks.yaml +0 -0
@@ -49,7 +49,7 @@ class LocalChatMessageHistory(BaseChatMessageHistory):
49
49
  for filename in os.listdir(self.user_dir):
50
50
  if filename.endswith(".yaml"):
51
51
  file_path = os.path.join(self.user_dir, filename)
52
- with open(file_path) as f:
52
+ with open(file_path, encoding="utf-8") as f:
53
53
  conversation = yaml.safe_load(f)
54
54
  if not isinstance(conversation, list) or len(conversation) > 1:
55
55
  raise ValueError(
@@ -71,7 +71,7 @@ class LocalChatMessageHistory(BaseChatMessageHistory):
71
71
  def upsert_session(self, session: dict) -> None:
72
72
  """Updates or inserts a session into the local storage."""
73
73
  session["update_time"] = datetime.now().isoformat()
74
- with open(self.session_file, "w") as f:
74
+ with open(self.session_file, "w", encoding="utf-8") as f:
75
75
  yaml.dump(
76
76
  [session],
77
77
  f,
@@ -1,19 +1,41 @@
1
- FROM ghcr.io/astral-sh/uv:python3.11-bookworm-slim
2
- RUN apt-get update && apt-get install -y wget sudo apt-transport-https ca-certificates gnupg curl software-properties-common && \
3
- # Setup GitHub CLI
4
- sudo mkdir -p -m 755 /etc/apt/keyrings && \
5
- wget -q -O- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null && \
6
- sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \
7
- echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null && \
8
- # Setup Google Cloud SDK
9
- echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && \
10
- curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - && \
11
- # Setup Terraform
12
- wget -q -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null && \
13
- echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list > /dev/null && \
14
- # Install all packages at once
15
- apt-get update && \
16
- apt-get install -y gh google-cloud-cli terraform && \
17
- # Clean up
1
+ # Stage 1: Builder - Prepare APT repositories
2
+ FROM ghcr.io/astral-sh/uv:python3.11-bookworm-slim AS builder
3
+
4
+ # Install tools needed to add repositories
5
+ RUN apt-get update && \
6
+ apt-get install -y --no-install-recommends \
7
+ ca-certificates \
8
+ curl \
9
+ gnupg && \
10
+ # GitHub CLI
11
+ curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | gpg --dearmor -o /usr/share/keyrings/githubcli-archive-keyring.gpg && \
12
+ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" > /etc/apt/sources.list.d/github-cli.list && \
13
+ # Google Cloud SDK
14
+ curl -sS https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg && \
15
+ echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" > /etc/apt/sources.list.d/google-cloud-sdk.list && \
16
+ # Terraform
17
+ curl -fsSL https://apt.releases.hashicorp.com/gpg | gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg && \
18
+ echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com bookworm main" > /etc/apt/sources.list.d/hashicorp.list && \
19
+ # Clean up builder stage
18
20
  apt-get clean && \
19
21
  rm -rf /var/lib/apt/lists/*
22
+
23
+ # Stage 2: Final Image
24
+ FROM ghcr.io/astral-sh/uv:python3.11-bookworm-slim
25
+
26
+ # Copy repository configurations from the builder stage
27
+ COPY --from=builder /etc/apt/sources.list.d/ /etc/apt/sources.list.d/
28
+ COPY --from=builder /usr/share/keyrings/ /usr/share/keyrings/
29
+
30
+ # Install the final packages
31
+ RUN apt-get update && \
32
+ apt-get install -y --no-install-recommends \
33
+ gh \
34
+ google-cloud-cli \
35
+ terraform \
36
+ make \
37
+ nodejs \
38
+ npm && \
39
+ # Clean up apt cache
40
+ apt-get clean && \
41
+ rm -rf /var/lib/apt/lists/*
@@ -356,7 +356,7 @@ document_pipeline = SequentialAgent(
356
356
  Executes `sub_agents` simultaneously. Useful for independent tasks to reduce overall latency. All sub-agents share the same `session.state`.
357
357
 
358
358
  ```python
359
- from google.adk.agents import ParallelAgent, Agent
359
+ from google.adk.agents import ParallelAgent, Agent, SequentialAgent
360
360
 
361
361
  # Agents to fetch data concurrently
362
362
  fetch_stock_price = Agent(name="StockPriceFetcher", ..., output_key="stock_data")