agent-starter-pack 0.23.0__tar.gz

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.

Potentially problematic release.


This version of agent-starter-pack might be problematic. Click here for more details.

Files changed (288) hide show
  1. agent_starter_pack-0.23.0/.claude/settings.local.json +80 -0
  2. agent_starter_pack-0.23.0/.cloudbuild/cd/test_e2e.yaml +53 -0
  3. agent_starter_pack-0.23.0/.cloudbuild/cd/test_gemini_enterprise.yaml +64 -0
  4. agent_starter_pack-0.23.0/.cloudbuild/ci/build_use_wheel.yaml +27 -0
  5. agent_starter_pack-0.23.0/.cloudbuild/ci/lint.yaml +39 -0
  6. agent_starter_pack-0.23.0/.cloudbuild/ci/lint_templated_agents.yaml +38 -0
  7. agent_starter_pack-0.23.0/.cloudbuild/ci/test.yaml +37 -0
  8. agent_starter_pack-0.23.0/.cloudbuild/ci/test_makefile.yaml +36 -0
  9. agent_starter_pack-0.23.0/.cloudbuild/ci/test_pipeline_parity.yaml +37 -0
  10. agent_starter_pack-0.23.0/.cloudbuild/ci/test_remote_template.yaml +36 -0
  11. agent_starter_pack-0.23.0/.cloudbuild/ci/test_templated_agents.yaml +38 -0
  12. agent_starter_pack-0.23.0/.cloudbuild/scheduled-cleanup.yaml +39 -0
  13. agent_starter_pack-0.23.0/.cloudbuild/terraform/apis.tf +48 -0
  14. agent_starter_pack-0.23.0/.cloudbuild/terraform/backend.tf +6 -0
  15. agent_starter_pack-0.23.0/.cloudbuild/terraform/build_triggers.tf +483 -0
  16. agent_starter_pack-0.23.0/.cloudbuild/terraform/scheduled_cleanup.tf +65 -0
  17. agent_starter_pack-0.23.0/.cloudbuild/terraform/service_account.tf +78 -0
  18. agent_starter_pack-0.23.0/.cloudbuild/terraform/storage.tf +21 -0
  19. agent_starter_pack-0.23.0/.cloudbuild/terraform/variables.tf +56 -0
  20. agent_starter_pack-0.23.0/.cloudbuild/terraform/vars/env.tfvars +13 -0
  21. agent_starter_pack-0.23.0/.github/workflows/docs.yml +61 -0
  22. agent_starter_pack-0.23.0/.gitignore +202 -0
  23. agent_starter_pack-0.23.0/CLAUDE.md +1 -0
  24. agent_starter_pack-0.23.0/CODE_OF_CONDUCT.md +43 -0
  25. agent_starter_pack-0.23.0/CONTRIBUTING.md +80 -0
  26. agent_starter_pack-0.23.0/GEMINI.md +497 -0
  27. agent_starter_pack-0.23.0/LICENSE +201 -0
  28. agent_starter_pack-0.23.0/Makefile +31 -0
  29. agent_starter_pack-0.23.0/PKG-INFO +182 -0
  30. agent_starter_pack-0.23.0/README.md +157 -0
  31. agent_starter_pack-0.23.0/agent_starter_pack/agents/README.md +7 -0
  32. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_a2a_base/.template/templateconfig.yaml +22 -0
  33. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_a2a_base/README.md +37 -0
  34. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_a2a_base/app/__init__.py +17 -0
  35. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_a2a_base/app/agent.py +70 -0
  36. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_a2a_base/notebooks/adk_a2a_app_testing.ipynb +583 -0
  37. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_a2a_base/notebooks/evaluating_adk_agent.ipynb +1535 -0
  38. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_a2a_base/tests/integration/test_agent.py +58 -0
  39. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_base/.template/templateconfig.yaml +24 -0
  40. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_base/README.md +14 -0
  41. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_base/app/__init__.py +17 -0
  42. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_base/app/agent.py +69 -0
  43. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_base/notebooks/adk_app_testing.ipynb +367 -0
  44. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_base/notebooks/evaluating_adk_agent.ipynb +1535 -0
  45. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_base/tests/integration/test_agent.py +58 -0
  46. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_live/.template/templateconfig.yaml +22 -0
  47. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_live/README.md +32 -0
  48. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_live/app/__init__.py +17 -0
  49. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_live/app/agent.py +51 -0
  50. agent_starter_pack-0.23.0/agent_starter_pack/agents/adk_live/tests/unit/test_dummy.py +38 -0
  51. agent_starter_pack-0.23.0/agent_starter_pack/agents/agentic_rag/.template/templateconfig.yaml +32 -0
  52. agent_starter_pack-0.23.0/agent_starter_pack/agents/agentic_rag/README.md +23 -0
  53. agent_starter_pack-0.23.0/agent_starter_pack/agents/agentic_rag/app/__init__.py +17 -0
  54. agent_starter_pack-0.23.0/agent_starter_pack/agents/agentic_rag/app/agent.py +120 -0
  55. agent_starter_pack-0.23.0/agent_starter_pack/agents/agentic_rag/app/retrievers.py +132 -0
  56. agent_starter_pack-0.23.0/agent_starter_pack/agents/agentic_rag/app/templates.py +28 -0
  57. agent_starter_pack-0.23.0/agent_starter_pack/agents/agentic_rag/notebooks/adk_app_testing.ipynb +367 -0
  58. agent_starter_pack-0.23.0/agent_starter_pack/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb +1535 -0
  59. agent_starter_pack-0.23.0/agent_starter_pack/agents/agentic_rag/tests/integration/test_agent.py +64 -0
  60. agent_starter_pack-0.23.0/agent_starter_pack/agents/langgraph_base/.template/templateconfig.yaml +32 -0
  61. agent_starter_pack-0.23.0/agent_starter_pack/agents/langgraph_base/README.md +30 -0
  62. agent_starter_pack-0.23.0/agent_starter_pack/agents/langgraph_base/app/__init__.py +17 -0
  63. agent_starter_pack-0.23.0/agent_starter_pack/agents/langgraph_base/app/agent.py +34 -0
  64. agent_starter_pack-0.23.0/agent_starter_pack/agents/langgraph_base/notebooks/evaluating_langgraph_agent.ipynb +1574 -0
  65. agent_starter_pack-0.23.0/agent_starter_pack/agents/langgraph_base/tests/integration/test_agent.py +48 -0
  66. agent_starter_pack-0.23.0/agent_starter_pack/base_template/.gitignore +199 -0
  67. agent_starter_pack-0.23.0/agent_starter_pack/base_template/GEMINI.md +5 -0
  68. agent_starter_pack-0.23.0/agent_starter_pack/base_template/Makefile +339 -0
  69. agent_starter_pack-0.23.0/agent_starter_pack/base_template/README.md +284 -0
  70. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/README.md +11 -0
  71. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/apis.tf +40 -0
  72. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/dev/apis.tf +47 -0
  73. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/dev/iam.tf +98 -0
  74. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/dev/providers.tf +34 -0
  75. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/dev/storage.tf +122 -0
  76. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/dev/variables.tf +127 -0
  77. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/dev/vars/env.tfvars +20 -0
  78. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/dev/{% if cookiecutter.is_adk %}telemetry.tf{% else %}unused_telemetry.tf{% endif %} +193 -0
  79. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/github.tf +337 -0
  80. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/iam.tf +109 -0
  81. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/locals.tf +57 -0
  82. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/providers.tf +46 -0
  83. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/service_accounts.tf +41 -0
  84. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/sql/completions.sql +138 -0
  85. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/storage.tf +203 -0
  86. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/variables.tf +218 -0
  87. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/vars/env.tfvars +39 -0
  88. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'github_actions' %}wif.tf{% else %}unused_wif.tf{% endif %} +43 -0
  89. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}build_triggers.tf{% else %}unused_build_triggers.tf{% endif %} +155 -0
  90. agent_starter_pack-0.23.0/agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.is_adk %}telemetry.tf{% else %}unused_telemetry.tf{% endif %} +206 -0
  91. agent_starter_pack-0.23.0/agent_starter_pack/base_template/pyproject.toml +105 -0
  92. agent_starter_pack-0.23.0/agent_starter_pack/base_template/tests/unit/test_dummy.py +23 -0
  93. agent_starter_pack-0.23.0/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml +132 -0
  94. agent_starter_pack-0.23.0/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/pr_checks.yaml +65 -0
  95. agent_starter_pack-0.23.0/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml +259 -0
  96. agent_starter_pack-0.23.0/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/deploy-to-prod.yaml +112 -0
  97. agent_starter_pack-0.23.0/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/pr_checks.yaml +51 -0
  98. agent_starter_pack-0.23.0/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml +322 -0
  99. agent_starter_pack-0.23.0/agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/telemetry.py +102 -0
  100. agent_starter_pack-0.23.0/agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/typing.py +164 -0
  101. agent_starter_pack-0.23.0/agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.agent_name == 'adk_live' %}gcs.py{% else %}unused_gcs.py{% endif %} +42 -0
  102. agent_starter_pack-0.23.0/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 +25 -0
  103. agent_starter_pack-0.23.0/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
  104. agent_starter_pack-0.23.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
  105. agent_starter_pack-0.23.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
  106. agent_starter_pack-0.23.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
  107. agent_starter_pack-0.23.0/agent_starter_pack/cli/commands/create.py +1291 -0
  108. agent_starter_pack-0.23.0/agent_starter_pack/cli/commands/enhance.py +618 -0
  109. agent_starter_pack-0.23.0/agent_starter_pack/cli/commands/list.py +203 -0
  110. agent_starter_pack-0.23.0/agent_starter_pack/cli/commands/register_gemini_enterprise.py +1623 -0
  111. agent_starter_pack-0.23.0/agent_starter_pack/cli/commands/setup_cicd.py +862 -0
  112. agent_starter_pack-0.23.0/agent_starter_pack/cli/main.py +67 -0
  113. agent_starter_pack-0.23.0/agent_starter_pack/cli/utils/__init__.py +42 -0
  114. agent_starter_pack-0.23.0/agent_starter_pack/cli/utils/cicd.py +856 -0
  115. agent_starter_pack-0.23.0/agent_starter_pack/cli/utils/datastores.py +32 -0
  116. agent_starter_pack-0.23.0/agent_starter_pack/cli/utils/gcp.py +300 -0
  117. agent_starter_pack-0.23.0/agent_starter_pack/cli/utils/logging.py +103 -0
  118. agent_starter_pack-0.23.0/agent_starter_pack/cli/utils/remote_template.py +678 -0
  119. agent_starter_pack-0.23.0/agent_starter_pack/cli/utils/template.py +1496 -0
  120. agent_starter_pack-0.23.0/agent_starter_pack/cli/utils/version.py +87 -0
  121. agent_starter_pack-0.23.0/agent_starter_pack/data_ingestion/README.md +71 -0
  122. agent_starter_pack-0.23.0/agent_starter_pack/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +309 -0
  123. agent_starter_pack-0.23.0/agent_starter_pack/data_ingestion/data_ingestion_pipeline/components/process_data.py +595 -0
  124. agent_starter_pack-0.23.0/agent_starter_pack/data_ingestion/data_ingestion_pipeline/pipeline.py +81 -0
  125. agent_starter_pack-0.23.0/agent_starter_pack/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +233 -0
  126. agent_starter_pack-0.23.0/agent_starter_pack/data_ingestion/pyproject.toml +19 -0
  127. agent_starter_pack-0.23.0/agent_starter_pack/data_ingestion/uv.lock +1107 -0
  128. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/agent_engine/deployment_metadata.json +4 -0
  129. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +490 -0
  130. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
  131. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/agent_engine/tests/load_test/README.md +84 -0
  132. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/agent_engine/tests/load_test/load_test.py +424 -0
  133. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/agent_engine/tests/{% if cookiecutter.is_a2a %}helpers.py{% else %}unused_helpers.py{% endif %} +138 -0
  134. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/agent_engine_app.py +263 -0
  135. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/app_utils/deploy.py +460 -0
  136. agent_starter_pack-0.23.0/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 %} +519 -0
  137. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/cloud_run/Dockerfile +51 -0
  138. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +243 -0
  139. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/service.tf +417 -0
  140. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +711 -0
  141. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
  142. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/cloud_run/tests/load_test/README.md +165 -0
  143. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/cloud_run/tests/load_test/load_test.py +329 -0
  144. agent_starter_pack-0.23.0/agent_starter_pack/deployment_targets/cloud_run/{{cookiecutter.agent_directory}}/fast_api_app.py +564 -0
  145. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/package-lock.json +18422 -0
  146. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/package.json +48 -0
  147. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/public/favicon.ico +0 -0
  148. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/public/index.html +62 -0
  149. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/public/robots.txt +3 -0
  150. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/App.scss +189 -0
  151. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/App.test.tsx +25 -0
  152. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/App.tsx +65 -0
  153. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/components/audio-pulse/AudioPulse.tsx +64 -0
  154. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/components/audio-pulse/audio-pulse.scss +68 -0
  155. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/components/logger/Logger.tsx +246 -0
  156. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/components/logger/logger.scss +159 -0
  157. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/components/logger/mock-logs.ts +151 -0
  158. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/components/side-panel/SidePanel.tsx +516 -0
  159. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/components/side-panel/side-panel.scss +563 -0
  160. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/components/transcription-preview/TranscriptionPreview.tsx +106 -0
  161. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/components/transcription-preview/transcription-preview.scss +150 -0
  162. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/contexts/LiveAPIContext.tsx +48 -0
  163. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/hooks/use-live-api.ts +121 -0
  164. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/hooks/use-media-stream-mux.ts +23 -0
  165. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/hooks/use-screen-capture.ts +72 -0
  166. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/hooks/use-webcam.ts +69 -0
  167. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/index.css +28 -0
  168. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/index.tsx +35 -0
  169. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/multimodal-live-types.ts +283 -0
  170. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/react-app-env.d.ts +17 -0
  171. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/reportWebVitals.ts +31 -0
  172. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/setupTests.ts +21 -0
  173. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/audio-recorder.ts +111 -0
  174. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/audio-streamer.ts +270 -0
  175. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/audioworklet-registry.ts +43 -0
  176. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/multimodal-live-client.ts +520 -0
  177. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/store-logger.ts +64 -0
  178. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/utils.ts +108 -0
  179. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/worklets/audio-processing.ts +73 -0
  180. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/worklets/vol-meter.ts +65 -0
  181. agent_starter_pack-0.23.0/agent_starter_pack/frontends/adk_live_react/frontend/tsconfig.json +25 -0
  182. agent_starter_pack-0.23.0/agent_starter_pack/resources/containers/data_processing/Dockerfile +27 -0
  183. agent_starter_pack-0.23.0/agent_starter_pack/resources/containers/e2e-tests/Dockerfile +41 -0
  184. agent_starter_pack-0.23.0/agent_starter_pack/resources/docs/adk-cheatsheet.md +1628 -0
  185. agent_starter_pack-0.23.0/agent_starter_pack/resources/idx/.idx/dev.nix +66 -0
  186. agent_starter_pack-0.23.0/agent_starter_pack/resources/idx/idx-template.json +6 -0
  187. agent_starter_pack-0.23.0/agent_starter_pack/resources/idx/idx-template.nix +25 -0
  188. agent_starter_pack-0.23.0/agent_starter_pack/resources/idx_ag/.idx/dev.nix +65 -0
  189. agent_starter_pack-0.23.0/agent_starter_pack/resources/idx_ag/idx-template.json +22 -0
  190. agent_starter_pack-0.23.0/agent_starter_pack/resources/idx_ag/idx-template.nix +27 -0
  191. agent_starter_pack-0.23.0/agent_starter_pack/resources/locks/uv-adk_a2a_base-agent_engine.lock +5084 -0
  192. agent_starter_pack-0.23.0/agent_starter_pack/resources/locks/uv-adk_a2a_base-cloud_run.lock +5130 -0
  193. agent_starter_pack-0.23.0/agent_starter_pack/resources/locks/uv-adk_base-agent_engine.lock +5064 -0
  194. agent_starter_pack-0.23.0/agent_starter_pack/resources/locks/uv-adk_base-cloud_run.lock +5110 -0
  195. agent_starter_pack-0.23.0/agent_starter_pack/resources/locks/uv-adk_live-agent_engine.lock +5015 -0
  196. agent_starter_pack-0.23.0/agent_starter_pack/resources/locks/uv-adk_live-cloud_run.lock +5125 -0
  197. agent_starter_pack-0.23.0/agent_starter_pack/resources/locks/uv-agentic_rag-agent_engine.lock +5539 -0
  198. agent_starter_pack-0.23.0/agent_starter_pack/resources/locks/uv-agentic_rag-cloud_run.lock +5575 -0
  199. agent_starter_pack-0.23.0/agent_starter_pack/resources/locks/uv-langgraph_base-agent_engine.lock +5822 -0
  200. agent_starter_pack-0.23.0/agent_starter_pack/resources/locks/uv-langgraph_base-cloud_run.lock +5836 -0
  201. agent_starter_pack-0.23.0/agent_starter_pack/utils/generate_locks.py +138 -0
  202. agent_starter_pack-0.23.0/agent_starter_pack/utils/lock_utils.py +79 -0
  203. agent_starter_pack-0.23.0/agent_starter_pack/utils/watch_and_rebuild.py +204 -0
  204. agent_starter_pack-0.23.0/docs/.vitepress/config.js +138 -0
  205. agent_starter_pack-0.23.0/docs/agents/overview.md +81 -0
  206. agent_starter_pack-0.23.0/docs/cli/create.md +225 -0
  207. agent_starter_pack-0.23.0/docs/cli/enhance.md +198 -0
  208. agent_starter_pack-0.23.0/docs/cli/index.md +13 -0
  209. agent_starter_pack-0.23.0/docs/cli/list.md +36 -0
  210. agent_starter_pack-0.23.0/docs/cli/register_gemini_enterprise.md +212 -0
  211. agent_starter_pack-0.23.0/docs/cli/setup_cicd.md +105 -0
  212. agent_starter_pack-0.23.0/docs/guide/community-showcase.md +37 -0
  213. agent_starter_pack-0.23.0/docs/guide/data-ingestion.md +71 -0
  214. agent_starter_pack-0.23.0/docs/guide/deploy-ui.md +91 -0
  215. agent_starter_pack-0.23.0/docs/guide/deployment.md +117 -0
  216. agent_starter_pack-0.23.0/docs/guide/development-guide.md +157 -0
  217. agent_starter_pack-0.23.0/docs/guide/getting-started.md +73 -0
  218. agent_starter_pack-0.23.0/docs/guide/installation.md +151 -0
  219. agent_starter_pack-0.23.0/docs/guide/observability.md +312 -0
  220. agent_starter_pack-0.23.0/docs/guide/template-config-reference.md +35 -0
  221. agent_starter_pack-0.23.0/docs/guide/troubleshooting.md +97 -0
  222. agent_starter_pack-0.23.0/docs/guide/video-tutorials.md +23 -0
  223. agent_starter_pack-0.23.0/docs/guide/why_starter_pack.md +74 -0
  224. agent_starter_pack-0.23.0/docs/images/adk_gemini_fullstack.gif +0 -0
  225. agent_starter_pack-0.23.0/docs/images/adk_gemini_fullstack_architecture.png +0 -0
  226. agent_starter_pack-0.23.0/docs/images/adk_logo.png +0 -0
  227. agent_starter_pack-0.23.0/docs/images/agent_starter_pack_screenshot.png +0 -0
  228. agent_starter_pack-0.23.0/docs/images/ags_high_level_architecture.png +0 -0
  229. agent_starter_pack-0.23.0/docs/images/icon.png +0 -0
  230. agent_starter_pack-0.23.0/docs/images/logo.png +0 -0
  231. agent_starter_pack-0.23.0/docs/images/observability.png +0 -0
  232. agent_starter_pack-0.23.0/docs/images/prototype_to_prod.png +0 -0
  233. agent_starter_pack-0.23.0/docs/images/why_sp_edited.png +0 -0
  234. agent_starter_pack-0.23.0/docs/images/why_starter_pack.png +0 -0
  235. agent_starter_pack-0.23.0/docs/index.md +54 -0
  236. agent_starter_pack-0.23.0/docs/package-lock.json +2421 -0
  237. agent_starter_pack-0.23.0/docs/package.json +15 -0
  238. agent_starter_pack-0.23.0/docs/remote-templates/creating-remote-templates.md +444 -0
  239. agent_starter_pack-0.23.0/docs/remote-templates/index.md +53 -0
  240. agent_starter_pack-0.23.0/docs/remote-templates/using-remote-templates.md +248 -0
  241. agent_starter_pack-0.23.0/llm.txt +362 -0
  242. agent_starter_pack-0.23.0/pyproject.toml +135 -0
  243. agent_starter_pack-0.23.0/src/resources/idx/.idx/dev.nix +64 -0
  244. agent_starter_pack-0.23.0/src/resources/idx/idx-template.json +6 -0
  245. agent_starter_pack-0.23.0/src/resources/idx/idx-template.nix +25 -0
  246. agent_starter_pack-0.23.0/tests/__init__.py +1 -0
  247. agent_starter_pack-0.23.0/tests/cicd/example.env +15 -0
  248. agent_starter_pack-0.23.0/tests/cicd/scripts/delete_agent_engines.py +413 -0
  249. agent_starter_pack-0.23.0/tests/cicd/scripts/delete_cloud_sql_instances.py +171 -0
  250. agent_starter_pack-0.23.0/tests/cicd/scripts/delete_service_accounts.py +270 -0
  251. agent_starter_pack-0.23.0/tests/cicd/scripts/delete_vector_search.py +410 -0
  252. agent_starter_pack-0.23.0/tests/cicd/scripts/force-cleanup.sh +83 -0
  253. agent_starter_pack-0.23.0/tests/cicd/test_e2e_deployment.py +1474 -0
  254. agent_starter_pack-0.23.0/tests/cicd/test_gemini_enterprise_registration.py +694 -0
  255. agent_starter_pack-0.23.0/tests/cli/commands/test_create.py +533 -0
  256. agent_starter_pack-0.23.0/tests/cli/commands/test_create_local.py +374 -0
  257. agent_starter_pack-0.23.0/tests/cli/commands/test_enhance.py +730 -0
  258. agent_starter_pack-0.23.0/tests/cli/commands/test_list.py +40 -0
  259. agent_starter_pack-0.23.0/tests/cli/commands/test_setup_cicd.py +658 -0
  260. agent_starter_pack-0.23.0/tests/cli/utils/test_add_base_template_dependencies.py +157 -0
  261. agent_starter_pack-0.23.0/tests/cli/utils/test_cicd.py +88 -0
  262. agent_starter_pack-0.23.0/tests/cli/utils/test_register_gemini_enterprise.py +297 -0
  263. agent_starter_pack-0.23.0/tests/cli/utils/test_remote_template.py +1146 -0
  264. agent_starter_pack-0.23.0/tests/fixtures/makefile_hashes.json +14 -0
  265. agent_starter_pack-0.23.0/tests/fixtures/makefile_snapshots/adk_a2a_agent_engine.makefile +117 -0
  266. agent_starter_pack-0.23.0/tests/fixtures/makefile_snapshots/adk_a2a_cloud_run.makefile +150 -0
  267. agent_starter_pack-0.23.0/tests/fixtures/makefile_snapshots/adk_base_agent_engine_no_data.makefile +79 -0
  268. agent_starter_pack-0.23.0/tests/fixtures/makefile_snapshots/adk_base_cloud_run_no_data.makefile +83 -0
  269. agent_starter_pack-0.23.0/tests/fixtures/makefile_snapshots/adk_live_agent_engine.makefile +125 -0
  270. agent_starter_pack-0.23.0/tests/fixtures/makefile_snapshots/adk_live_cloud_run.makefile +103 -0
  271. agent_starter_pack-0.23.0/tests/fixtures/makefile_snapshots/agent_with_agent_garden.makefile +83 -0
  272. agent_starter_pack-0.23.0/tests/fixtures/makefile_snapshots/agent_with_custom_commands.makefile +88 -0
  273. agent_starter_pack-0.23.0/tests/fixtures/makefile_snapshots/agentic_rag_cloud_run_vector_search.makefile +98 -0
  274. agent_starter_pack-0.23.0/tests/fixtures/makefile_snapshots/agentic_rag_cloud_run_vertex_search.makefile +97 -0
  275. agent_starter_pack-0.23.0/tests/fixtures/makefile_snapshots/langgraph_agent_engine.makefile +116 -0
  276. agent_starter_pack-0.23.0/tests/fixtures/makefile_snapshots/langgraph_cloud_run.makefile +149 -0
  277. agent_starter_pack-0.23.0/tests/integration/test_agent_directory_functionality.py +447 -0
  278. agent_starter_pack-0.23.0/tests/integration/test_makefile_usability.py +214 -0
  279. agent_starter_pack-0.23.0/tests/integration/test_pipeline_parity.py +344 -0
  280. agent_starter_pack-0.23.0/tests/integration/test_remote_templating.py +147 -0
  281. agent_starter_pack-0.23.0/tests/integration/test_template_linting.py +132 -0
  282. agent_starter_pack-0.23.0/tests/integration/test_templated_patterns.py +141 -0
  283. agent_starter_pack-0.23.0/tests/integration/utils.py +74 -0
  284. agent_starter_pack-0.23.0/tests/unit/README_MAKEFILE_TESTS.md +80 -0
  285. agent_starter_pack-0.23.0/tests/unit/test_makefile_template.py +476 -0
  286. agent_starter_pack-0.23.0/tests/utils/__init__.py +1 -0
  287. agent_starter_pack-0.23.0/tests/utils/get_agents.py +92 -0
  288. agent_starter_pack-0.23.0/uv.lock +4890 -0
@@ -0,0 +1,80 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(PROJECT_IDS=agent-starter-pack-e2e-dev,agent-starter-pack-e2e-st,agent-starter-pack-e2e-pr python tests/cicd/scripts/delete_vector_search.py)",
5
+ "Bash(make lint)",
6
+ "Bash(uv run pytest tests/cli/commands/test_create.py::TestCreateCommand::test_create_existing_project_dir -v -s)",
7
+ "Bash(gcloud serverless vpc-connectors list --project=agent-starter-pack-e2e-dev --region=europe-west1)",
8
+ "Bash(gcloud compute networks vpc-access connectors list --project=agent-starter-pack-e2e-dev --region=europe-west1)",
9
+ "Bash(gcloud alpha network-services address-reservations list --project=agent-starter-pack-e2e-dev --location=europe-west1)",
10
+ "Bash(gcloud beta serverless address-reservations list --project=agent-starter-pack-e2e-dev --location=europe-west1)",
11
+ "Bash(gcloud run services delete test-797fa619-1755528509 --region=europe-west1 --project=agent-starter-pack-e2e-dev --quiet)",
12
+ "Bash(make test)",
13
+ "WebFetch(domain:github.com)",
14
+ "Bash(uv run ruff check --fix tests/cli/utils/test_remote_template.py)",
15
+ "Bash(uv run ruff check tests/cli/utils/test_remote_template.py)",
16
+ "Bash(uv run pytest tests/cli/utils/test_remote_template.py -v)",
17
+ "Bash(uv run pytest tests/integration/test_pipeline_parity.py::test_staging_parity -v -s)",
18
+ "Bash(python3 -c \"from vertexai.agent_engines._agent_engines import AgentEngine; import inspect; print([m for m in dir(AgentEngine) if not m.startswith(''_'')])\")",
19
+ "Bash(python tests/cicd/scripts/delete_agent_engines.py)",
20
+ "Bash(python tests/cicd/scripts/delete_alloydb_clusters.py)",
21
+ "Bash(python tests/cicd/scripts/delete_service_accounts.py)",
22
+ "Bash(python tests/cicd/scripts/delete_vector_search.py)",
23
+ "Bash(python3 tests/cicd/scripts/delete_alloydb_clusters.py)",
24
+ "Bash(python3 tests/cicd/scripts/delete_service_accounts.py)",
25
+ "Bash(python3 tests/cicd/scripts/delete_vector_search.py)",
26
+ "Bash(PROJECT_IDS=agent-starter-pack-e2e-dev,agent-starter-pack-e2e-st,agent-starter-pack-e2e-pr python3 tests/cicd/scripts/delete_agent_engines.py)",
27
+ "Bash(export _TEST_AGENT_COMBINATION=adk_live,agent_engine)",
28
+ "Bash(make lint-templated-agents)",
29
+ "Bash(mkdir -p agent-starter-pack)",
30
+ "Bash(ls -la \"agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == ''google_cloud_build'' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/\")",
31
+ "Bash(PROJECT_IDS=asp-starter-dev,asp-starter-prod,asp-starter-staging python3 tests/cicd/scripts/delete_agent_engines.py)",
32
+ "Bash(PROJECT_IDS=agent-starter-pack-e2e-dev,agent-starter-pack-e2e-st,agent-starter-pack-e2e-pr python3 tests/cicd/scripts/delete_vector_search.py)",
33
+ "Bash(PROJECT_IDS=asp-starter-dev,asp-starter-prod,asp-starter-staging python3 tests/cicd/scripts/delete_alloydb_clusters.py)",
34
+ "Bash(PROJECT_IDS=asp-starter-dev,asp-starter-prod,asp-starter-staging python3 tests/cicd/scripts/delete_service_accounts.py)",
35
+ "Bash(PROJECT_IDS=asp-starter-dev,asp-starter-prod,asp-starter-staging python3 tests/cicd/scripts/delete_vector_search.py)",
36
+ "Bash(chmod +x /Users/eliasecchi/Development/agent-starter-pack/force-cleanup.sh)",
37
+ "Bash(terraform plan -var-file=vars/env.tfvars)",
38
+ "Bash(uv run pytest \"tests/unit/test_makefile_template.py::TestMakefileGeneration::test_makefile_hash[adk_base_agent_engine_no_data]\" -v)",
39
+ "Bash(git add:*)",
40
+ "Bash(git commit:*)",
41
+ "Read(//private/tmp/asp-test/test-labels-check/rag/**)",
42
+ "Bash(uv run pytest:*)",
43
+ "Bash(tree:*)",
44
+ "Bash(cat:*)",
45
+ "Bash(ls:*)",
46
+ "WebFetch(domain:click.palletsprojects.com)",
47
+ "Bash(_AGENT_TEST_COMBINATION=\"adk_base,agent_engine\" make lint-templated-agents)",
48
+ "Bash(SKIP_MYPY=1 make lint-templated-agents:*)",
49
+ "Bash(SKIP_MYPY=1 _AGENT_TEST_COMBINATION=\"adk_base,agent_engine\" make lint-templated-agents)",
50
+ "Read(//private/tmp/**)",
51
+ "Bash(tee:*)",
52
+ "Bash(awk:*)",
53
+ "Bash(SKIP_MYPY=1 _TEST_AGENT_COMBINATION=\"crewai_coding_crew,agent_engine\" make lint-templated-agents)",
54
+ "Bash(SKIP_MYPY=1 _TEST_AGENT_COMBINATION=\"adk_base,cloud_run,--session-type,agent_engine\" make lint-templated-agents)",
55
+ "Bash(SKIP_MYPY=1 _TEST_AGENT_COMBINATION=\"adk_base,cloud_run,--session-type,in_memory\" make lint-templated-agents:*)",
56
+ "Bash(SKIP_MYPY=1 _TEST_AGENT_COMBINATION=\"adk_base,agent_engine\" make lint-templated-agents)",
57
+ "Bash(uv run:*)",
58
+ "Bash(SKIP_MYPY=1 _TEST_AGENT_COMBINATION=\"langgraph_base,cloud_run\" make lint-templated-agents)",
59
+ "Bash(SKIP_MYPY=1 _TEST_AGENT_COMBINATION=\"langgraph_base,agent_engine\" make lint-templated-agents:*)",
60
+ "Bash(SKIP_MYPY=1 _TEST_AGENT_COMBINATION=\"adk_a2a_base,cloud_run\" make lint-templated-agents:*)",
61
+ "Bash(SKIP_MYPY=1 _TEST_AGENT_COMBINATION=\"adk_a2a_base,agent_engine\" make lint-templated-agents)",
62
+ "Bash(_TEST_AGENT_COMBINATION=\"langgraph_base,agent_engine\" make lint-templated-agents)",
63
+ "Bash(_TEST_AGENT_COMBINATION=\"adk_base,cloud_run,--session-type,in_memory\" make lint-templated-agents:*)",
64
+ "Bash(PROJECT_IDS=agent-starter-pack-e2e-dev,agent-starter-pack-e2e-st,agent-starter-pack-e2e-pr,asp-e2e-cicd python3:*)",
65
+ "Bash(gh issue list:*)",
66
+ "Bash(git log:*)",
67
+ "Bash(RUN_GEMINI_ENTERPRISE_TEST=1 ID=\"projects/801452371447/locations/global/collections/default_collection/engines/gemini-enterprise-17616237_1761623760176\" uv run pytest tests/cicd/test_gemini_enterprise_registration.py::TestGeminiEnterpriseRegistration::test_a2a_registration_workflow -v -s)",
68
+ "Bash(RUN_GEMINI_ENTERPRISE_TEST=1 ID=\"projects/901701644605/locations/global/collections/default_collection/engines/gemini-enterprise-17631445_1763144518116\" EXISTING_SERVICE_URL=\"https://a2a-test-10581692-901701644605.us-central1.run.app\" uv run pytest tests/cicd/test_gemini_enterprise_registration.py::TestGeminiEnterpriseRegistration::test_a2a_registration_workflow -v -s)",
69
+ "Bash(_TEST_AGENT_COMBINATION=\"adk_live,cloud_run\" make test-templated-agents:*)",
70
+ "Bash(time uv run:*)",
71
+ "Bash(# Find what''s being imported at the top level in gcp.py - these are the heavy hitters\nhead -40 /Users/eliasecchi/Development/agent-starter-pack/agent_starter_pack/cli/utils/gcp.py)",
72
+ "Bash(# Measure just the GCP imports impact\npython3 -X importtime -c \"\"from agent_starter_pack.cli.utils.gcp import verify_credentials\"\" 2>&1 | tail -5)",
73
+ "Bash(# Measure cookiecutter import time\npython3 -X importtime -c \"\"from cookiecutter.main import cookiecutter\"\" 2>&1 | tail -5)",
74
+ "Bash(# Test file copy operations - count files in base template\nfind /Users/eliasecchi/Development/agent-starter-pack/agent_starter_pack/base_template -type f | wc -l\n\n# Count files in an agent template\nfind /Users/eliasecchi/Development/agent-starter-pack/agent_starter_pack/agents/adk_base -type f | wc -l\n\n# Count files in deployment target\nfind /Users/eliasecchi/Development/agent-starter-pack/agent_starter_pack/deployment_targets/cloud_run -type f | wc -l)",
75
+ "Bash(SKIP_MYPY=1 _TEST_AGENT_COMBINATION=\"adk_live,cloud_run\" make lint-templated-agents)"
76
+ ],
77
+ "deny": [],
78
+ "ask": []
79
+ }
80
+ }
@@ -0,0 +1,53 @@
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
+ steps:
16
+ # Sync dependencies
17
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
18
+ id: install-dependencies
19
+ entrypoint: /bin/bash
20
+ args:
21
+ - "-c"
22
+ - |
23
+ uv sync --dev --locked
24
+
25
+ # Run unit tests using pytest
26
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
27
+ id: e2e-tests
28
+ entrypoint: /bin/bash
29
+ args:
30
+ - "-c"
31
+ - |
32
+ GH_TOKEN=$$GITHUB_PAT uv run pytest tests/cicd/test_e2e_deployment.py -v
33
+ secretEnv: ['GITHUB_PAT', 'GITHUB_APP_INSTALLATION_ID']
34
+
35
+ availableSecrets:
36
+ secretManager:
37
+ - versionName: projects/${_SECRETS_PROJECT_ID}/secrets/github-pat/versions/latest
38
+ env: 'GITHUB_PAT'
39
+ - versionName: projects/${_SECRETS_PROJECT_ID}/secrets/github-app-installation-id/versions/latest
40
+ env: 'GITHUB_APP_INSTALLATION_ID'
41
+ logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
42
+ options:
43
+ defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
44
+ env:
45
+ - "_TEST_AGENT_COMBINATION=${_TEST_AGENT_COMBINATION}"
46
+ - "E2E_DEV_PROJECT=${_E2E_DEV_PROJECT}"
47
+ - "E2E_STAGING_PROJECT=${_E2E_STAGING_PROJECT}"
48
+ - "E2E_PROD_PROJECT=${_E2E_PROD_PROJECT}"
49
+ - "E2E_CICD_PROJECT=${PROJECT_ID}"
50
+ - "RUN_E2E_TESTS=1"
51
+ timeout: 43200s
52
+ substitutions:
53
+ _SECRETS_PROJECT_ID: 'asp-e2e-vars'
@@ -0,0 +1,64 @@
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
+ steps:
16
+ # Sync dependencies
17
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
18
+ id: install-dependencies
19
+ entrypoint: /bin/bash
20
+ args:
21
+ - "-c"
22
+ - |
23
+ uv sync --dev --locked
24
+
25
+ # Set gcloud project to dev environment
26
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
27
+ id: set-gcloud-project
28
+ entrypoint: /bin/bash
29
+ args:
30
+ - "-c"
31
+ - |
32
+ gcloud config set project ${_E2E_DEV_PROJECT}
33
+
34
+ # Fetch identity token for Cloud Run authentication
35
+ - name: gcr.io/cloud-builders/gcloud
36
+ id: fetch-id-token
37
+ entrypoint: /bin/bash
38
+ args:
39
+ - "-c"
40
+ - |
41
+ gcloud auth print-identity-token -q > /workspace/id_token.txt
42
+
43
+ # Run Gemini Enterprise registration test
44
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
45
+ id: gemini-enterprise-test
46
+ entrypoint: /bin/bash
47
+ args:
48
+ - "-c"
49
+ - |
50
+ export ID_TOKEN=$(cat /workspace/id_token.txt)
51
+ uv run pytest tests/cicd/test_gemini_enterprise_registration.py -v
52
+ secretEnv: ['GEMINI_ENTERPRISE_APP_ID']
53
+
54
+ availableSecrets:
55
+ secretManager:
56
+ - versionName: projects/$PROJECT_ID/secrets/gemini-enterprise-app-id/versions/latest
57
+ env: 'GEMINI_ENTERPRISE_APP_ID'
58
+
59
+ logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
60
+ options:
61
+ defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
62
+ env:
63
+ - "RUN_GEMINI_ENTERPRISE_TEST=1"
64
+ timeout: 3600s # 1 hour timeout
@@ -0,0 +1,27 @@
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
+ steps:
16
+ # Sync dependencies
17
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
18
+ id: install-use-dependencies
19
+ entrypoint: /bin/bash
20
+ args:
21
+ - "-c"
22
+ - |
23
+ uv build && pip install dist/*.whl && agent-starter-pack create my-agent-$(date +%s) -a agentic_rag -ds vertex_ai_search -d agent_engine --auto-approve
24
+
25
+ logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
26
+ options:
27
+ defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
@@ -0,0 +1,39 @@
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
+ steps:
16
+ # Sync dependencies
17
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
18
+ id: install-dependencies
19
+ entrypoint: /bin/bash
20
+ args:
21
+ - "-c"
22
+ - |
23
+ uv sync --dev --extra lint --locked
24
+
25
+ # Run unit tests using pytest
26
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
27
+ id: lint
28
+ entrypoint: /bin/bash
29
+ args:
30
+ - "-c"
31
+ - |
32
+ set -e
33
+ uv run ruff check . --config pyproject.toml --diff
34
+ uv run ruff format . --check --config pyproject.toml --diff
35
+ uv run mypy --config-file pyproject.toml ./agent_starter_pack/cli ./tests
36
+
37
+ logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
38
+ options:
39
+ defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
@@ -0,0 +1,38 @@
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
+ steps:
16
+ # Sync dependencies
17
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
18
+ id: install-dependencies
19
+ entrypoint: /bin/bash
20
+ args:
21
+ - "-c"
22
+ - |
23
+ uv sync --locked
24
+
25
+ # Run unit tests using pytest
26
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
27
+ id: lint-templated-agents
28
+ entrypoint: /bin/bash
29
+ args:
30
+ - "-c"
31
+ - |
32
+ uv run tests/integration/test_template_linting.py
33
+
34
+ logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
35
+ options:
36
+ defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
37
+ env:
38
+ - "_TEST_AGENT_COMBINATION=${_TEST_AGENT_COMBINATION}"
@@ -0,0 +1,37 @@
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
+ steps:
16
+ # Sync dependencies
17
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
18
+ id: install-dependencies
19
+ entrypoint: /bin/bash
20
+ args:
21
+ - "-c"
22
+ - |
23
+ uv sync --dev --locked
24
+
25
+ # Run unit tests using pytest
26
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
27
+ id: unit-tests
28
+ entrypoint: /bin/bash
29
+ args:
30
+ - "-c"
31
+ - |
32
+ uv run pytest tests
33
+
34
+
35
+ logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
36
+ options:
37
+ defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
@@ -0,0 +1,36 @@
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
+ steps:
16
+ # Sync dependencies
17
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
18
+ id: install-dependencies
19
+ entrypoint: /bin/bash
20
+ args:
21
+ - "-c"
22
+ - |
23
+ uv sync --locked
24
+
25
+ # Run unit tests using pytest
26
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
27
+ id: test-templated-agents
28
+ entrypoint: /bin/bash
29
+ args:
30
+ - "-c"
31
+ - |
32
+ uv run pytest tests/integration/test_makefile_usability.py
33
+
34
+ logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
35
+ options:
36
+ defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
@@ -0,0 +1,37 @@
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
+ steps:
16
+ # Sync dependencies
17
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
18
+ id: install-dependencies
19
+ entrypoint: /bin/bash
20
+ args:
21
+ - "-c"
22
+ - |
23
+ uv sync --dev --locked
24
+
25
+ # Run pipeline parity tests
26
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
27
+ id: pipeline-parity-tests
28
+ entrypoint: /bin/bash
29
+ args:
30
+ - "-c"
31
+ - |
32
+ uv run pytest tests/integration/test_pipeline_parity.py -v
33
+
34
+
35
+ logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
36
+ options:
37
+ defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
@@ -0,0 +1,36 @@
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
+ steps:
16
+ # Sync dependencies
17
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
18
+ id: install-dependencies
19
+ entrypoint: /bin/bash
20
+ args:
21
+ - "-c"
22
+ - |
23
+ uv sync --locked
24
+
25
+ # Run unit tests using pytest
26
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
27
+ id: test-templated-agents
28
+ entrypoint: /bin/bash
29
+ args:
30
+ - "-c"
31
+ - |
32
+ uv run pytest tests/integration/test_remote_templating.py
33
+
34
+ logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
35
+ options:
36
+ defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
@@ -0,0 +1,38 @@
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
+ steps:
16
+ # Sync dependencies
17
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
18
+ id: install-dependencies
19
+ entrypoint: /bin/bash
20
+ args:
21
+ - "-c"
22
+ - |
23
+ uv sync --locked
24
+
25
+ # Run unit tests using pytest
26
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
27
+ id: test-templated-agents
28
+ entrypoint: /bin/bash
29
+ args:
30
+ - "-c"
31
+ - |
32
+ uv run pytest tests/integration/test_templated_patterns.py
33
+
34
+ logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
35
+ options:
36
+ defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
37
+ env:
38
+ - "_TEST_AGENT_COMBINATION=${_TEST_AGENT_COMBINATION}"
@@ -0,0 +1,39 @@
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
+ steps:
16
+ # Run the force cleanup script
17
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
18
+ id: force-cleanup
19
+ entrypoint: /bin/bash
20
+ env:
21
+ - 'PROJECT_IDS=${_PROJECT_IDS}'
22
+ - 'E2E_PROJECT_IDS=${_E2E_PROJECT_IDS}'
23
+ - 'CICD_PROJECT_ID=${_CICD_PROJECT_ID}'
24
+ args:
25
+ - "-c"
26
+ - |
27
+ chmod +x tests/cicd/scripts/force-cleanup.sh
28
+ ./tests/cicd/scripts/force-cleanup.sh
29
+
30
+ timeout: 18000s # 5 hour timeout for cleanup operations
31
+
32
+ logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
33
+ options:
34
+ defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
35
+
36
+ substitutions:
37
+ _PROJECT_IDS: 'asp-e2e-dev,asp-e2e-stg,asp-e2e-prd,asp-test-dev,asp-test-prd,asp-test-stg'
38
+ _E2E_PROJECT_IDS: 'asp-e2e-dev,asp-e2e-stg,asp-e2e-prd,asp-test-dev,asp-test-prd,asp-test-stg'
39
+ _CICD_PROJECT_ID: 'asp-e2e-cicd'
@@ -0,0 +1,48 @@
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
+ # Enable Cloud Resource Manager API for each project in e2e_test_project_mapping
16
+ resource "google_project_service" "cloud_resource_manager_api" {
17
+ for_each = {
18
+ "dev" = var.e2e_test_project_mapping.dev
19
+ "staging" = var.e2e_test_project_mapping.staging
20
+ "prod" = var.e2e_test_project_mapping.prod
21
+ }
22
+
23
+ project = each.value
24
+ service = "cloudresourcemanager.googleapis.com"
25
+ disable_on_destroy = false
26
+ }
27
+
28
+ # Enable Cloud Scheduler API for scheduled cleanup jobs
29
+ resource "google_project_service" "cloud_scheduler_api" {
30
+ project = var.cicd_runner_project_id
31
+ service = "cloudscheduler.googleapis.com"
32
+ disable_on_destroy = false
33
+ }
34
+
35
+ # Enable Discovery Engine API for Gemini Enterprise registration tests
36
+ # Note: You must manually create the secret "gemini-enterprise-app-id" in Secret Manager
37
+ # with the Gemini Enterprise app resource name as the value. Example:
38
+ # gcloud secrets create gemini-enterprise-app-id --project=<CICD_PROJECT_ID> \
39
+ # --data-file=<(echo -n "projects/{project_number}/locations/{location}/collections/{collection}/engines/{engine_id}")
40
+ resource "google_project_service" "discovery_engine_api" {
41
+ for_each = {
42
+ "dev" = var.e2e_test_project_mapping.dev
43
+ }
44
+
45
+ project = each.value
46
+ service = "discoveryengine.googleapis.com"
47
+ disable_on_destroy = false
48
+ }
@@ -0,0 +1,6 @@
1
+ terraform {
2
+ backend "gcs" {
3
+ bucket = "asp-e2e-cicd-terraform-state"
4
+ prefix = "cloudbuild"
5
+ }
6
+ }