agent-starter-pack 0.1.7__tar.gz → 0.2.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 (213) hide show
  1. agent_starter_pack-0.2.0/.cloudbuild/cd/test_e2e.yaml +51 -0
  2. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/ci/lint.yaml +3 -3
  3. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/ci/lint_templated_agents.yaml +3 -3
  4. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/ci/test.yaml +2 -4
  5. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/ci/test_templated_agents.yaml +3 -4
  6. agent_starter_pack-0.2.0/.cloudbuild/terraform/apis.tf +26 -0
  7. agent_starter_pack-0.2.0/.cloudbuild/terraform/build_triggers.tf +267 -0
  8. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/terraform/service_account.tf +33 -13
  9. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/terraform/variables.tf +9 -0
  10. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/Makefile +1 -1
  11. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/PKG-INFO +6 -6
  12. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/README.md +5 -5
  13. {agent_starter_pack-0.1.7/agents/agentic_rag_vertexai_search → agent_starter_pack-0.2.0/agents/agentic_rag}/README.md +3 -3
  14. {agent_starter_pack-0.1.7/agents/agentic_rag_vertexai_search → agent_starter_pack-0.2.0/agents/agentic_rag}/app/agent.py +22 -6
  15. agent_starter_pack-0.2.0/agents/agentic_rag/app/retrievers.py +132 -0
  16. {agent_starter_pack-0.1.7/agents/agentic_rag_vertexai_search → agent_starter_pack-0.2.0/agents/agentic_rag}/notebooks/evaluating_langgraph_agent.ipynb +3 -3
  17. {agent_starter_pack-0.1.7/agents/agentic_rag_vertexai_search → agent_starter_pack-0.2.0/agents/agentic_rag}/template/.templateconfig.yaml +3 -5
  18. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb +4 -4
  19. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb +3 -3
  20. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb +3 -3
  21. {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/README.md +7 -0
  22. {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/app/agent.py +3 -11
  23. {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/app/server.py +3 -2
  24. {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/template/.templateconfig.yaml +2 -2
  25. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/README.md +1 -1
  26. agent_starter_pack-0.2.0/docs/cli/create.md +45 -0
  27. agent_starter_pack-0.2.0/docs/cli/setup_cicd.md +127 -0
  28. agent_starter_pack-0.2.0/docs/data-ingestion.md +71 -0
  29. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/pyproject.toml +7 -3
  30. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/Makefile +12 -7
  31. agent_starter_pack-0.2.0/src/base_template/README.md +202 -0
  32. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/app/utils/tracing.py +3 -1
  33. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/app/utils/typing.py +1 -0
  34. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/cd/deploy-to-prod.yaml +10 -4
  35. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/cd/staging.yaml +11 -10
  36. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/ci/pr_checks.yaml +1 -1
  37. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/apis.tf +6 -0
  38. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/build_triggers.tf +34 -21
  39. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/dev/iam.tf +13 -6
  40. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/dev/log_sinks.tf +25 -28
  41. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/dev/providers.tf +1 -0
  42. agent_starter_pack-0.2.0/src/base_template/deployment/terraform/dev/storage.tf +122 -0
  43. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/dev/variables.tf +50 -53
  44. agent_starter_pack-0.2.0/src/base_template/deployment/terraform/dev/vars/env.tfvars +23 -0
  45. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/iam.tf +3 -3
  46. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/log_sinks.tf +24 -26
  47. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/providers.tf +2 -0
  48. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/service_accounts.tf +7 -7
  49. agent_starter_pack-0.2.0/src/base_template/deployment/terraform/storage.tf +212 -0
  50. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/variables.tf +49 -70
  51. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/vars/env.tfvars +12 -17
  52. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/pyproject.toml +4 -3
  53. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/commands/create.py +79 -19
  54. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/commands/setup_cicd.py +91 -22
  55. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/main.py +3 -1
  56. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/utils/__init__.py +9 -2
  57. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/utils/cicd.py +12 -0
  58. agent_starter_pack-0.2.0/src/cli/utils/datastores.py +32 -0
  59. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/utils/gcp.py +4 -6
  60. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/utils/template.py +127 -45
  61. agent_starter_pack-0.2.0/src/cli/utils/version.py +87 -0
  62. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/data_ingestion/README.md +24 -19
  63. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +135 -2
  64. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/data_ingestion/data_ingestion_pipeline/components/process_data.py +276 -2
  65. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/data_ingestion/data_ingestion_pipeline/pipeline.py +28 -5
  66. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +49 -14
  67. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/data_ingestion/pyproject.toml +1 -0
  68. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/app/agent_engine_app.py +3 -1
  69. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/tests/unit/test_server.py +15 -33
  70. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/package-lock.json +208 -168
  71. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/package.json +1 -1
  72. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/containers/data_processing/Dockerfile +3 -1
  73. agent_starter_pack-0.1.7/src/resources/locks/uv-agentic_rag_vertexai_search-agent_engine.lock → agent_starter_pack-0.2.0/src/resources/locks/uv-agentic_rag-agent_engine.lock +747 -694
  74. agent_starter_pack-0.1.7/src/resources/locks/uv-langgraph_base_react-cloud_run.lock → agent_starter_pack-0.2.0/src/resources/locks/uv-agentic_rag-cloud_run.lock +1029 -802
  75. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +651 -694
  76. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +813 -789
  77. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/locks/uv-langgraph_base_react-agent_engine.lock +666 -686
  78. agent_starter_pack-0.1.7/src/resources/locks/uv-agentic_rag_vertexai_search-cloud_run.lock → agent_starter_pack-0.2.0/src/resources/locks/uv-langgraph_base_react-cloud_run.lock +848 -887
  79. agent_starter_pack-0.1.7/src/resources/locks/uv-multimodal_live_api-cloud_run.lock → agent_starter_pack-0.2.0/src/resources/locks/uv-live_api-cloud_run.lock +856 -791
  80. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/setup_cicd/cicd_variables.tf +5 -0
  81. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/setup_cicd/github.tf +4 -2
  82. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/utils/watch_and_rebuild.py +14 -0
  83. agent_starter_pack-0.2.0/tests/__init__.py +1 -0
  84. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/cicd/test_e2e_deployment.py +424 -92
  85. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/cli/commands/test_create.py +2 -10
  86. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/cli/commands/test_setup_cicd.py +0 -28
  87. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/integration/test_template_linting.py +30 -54
  88. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/integration/test_templated_patterns.py +46 -63
  89. agent_starter_pack-0.2.0/tests/utils/__init__.py +1 -0
  90. agent_starter_pack-0.2.0/tests/utils/get_agents.py +70 -0
  91. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/uv.lock +222 -246
  92. agent_starter_pack-0.1.7/.cloudbuild/terraform/build_triggers.tf +0 -164
  93. agent_starter_pack-0.1.7/agents/agentic_rag_vertexai_search/app/retrievers.py +0 -79
  94. agent_starter_pack-0.1.7/docs/cli/create.md +0 -41
  95. agent_starter_pack-0.1.7/docs/cli/setup_cicd.md +0 -100
  96. agent_starter_pack-0.1.7/docs/data-ingestion.md +0 -60
  97. agent_starter_pack-0.1.7/src/base_template/README.md +0 -202
  98. agent_starter_pack-0.1.7/src/base_template/deployment/terraform/dev/storage.tf +0 -64
  99. agent_starter_pack-0.1.7/src/base_template/deployment/terraform/dev/vars/env.tfvars +0 -21
  100. agent_starter_pack-0.1.7/src/base_template/deployment/terraform/storage.tf +0 -100
  101. agent_starter_pack-0.1.7/src/deployment_targets/cloud_run/deployment/terraform/artifact_registry.tf +0 -22
  102. agent_starter_pack-0.1.7/src/deployment_targets/cloud_run/deployment/terraform/dev/service_accounts.tf +0 -20
  103. agent_starter_pack-0.1.7/tests/integration/test_io_patterns.py +0 -87
  104. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.cloudbuild/terraform/storage.tf +0 -0
  105. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/.gitignore +0 -0
  106. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/CODE_OF_CONDUCT.md +0 -0
  107. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/CONTRIBUTING.md +0 -0
  108. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/LICENSE +0 -0
  109. {agent_starter_pack-0.1.7/agents/agentic_rag_vertexai_search → agent_starter_pack-0.2.0/agents/agentic_rag}/app/templates.py +0 -0
  110. {agent_starter_pack-0.1.7/agents/agentic_rag_vertexai_search → agent_starter_pack-0.2.0/agents/agentic_rag}/tests/integration/test_agent.py +0 -0
  111. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/README.md +0 -0
  112. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/app/agent.py +0 -0
  113. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -0
  114. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -0
  115. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/app/crew/crew.py +0 -0
  116. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/template/.templateconfig.yaml +0 -0
  117. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/crewai_coding_crew/tests/integration/test_agent.py +0 -0
  118. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/langgraph_base_react/README.md +0 -0
  119. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/langgraph_base_react/app/agent.py +0 -0
  120. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/langgraph_base_react/template/.templateconfig.yaml +0 -0
  121. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/agents/langgraph_base_react/tests/integration/test_agent.py +0 -0
  122. {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/app/templates.py +0 -0
  123. {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/app/vector_store.py +0 -0
  124. {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/tests/integration/test_server_e2e.py +0 -0
  125. {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/tests/load_test/load_test.py +0 -0
  126. {agent_starter_pack-0.1.7/agents/multimodal_live_api → agent_starter_pack-0.2.0/agents/live_api}/tests/unit/test_server.py +0 -0
  127. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/cli/README.md +0 -0
  128. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/deployment.md +0 -0
  129. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/images/ags_banner.png +0 -0
  130. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/images/ags_high_level_architecture.png +0 -0
  131. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/installation.md +0 -0
  132. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/observability.md +0 -0
  133. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/troubleshooting.md +0 -0
  134. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/docs/why_starter_pack.md +0 -0
  135. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/.gitignore +0 -0
  136. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/README.md +0 -0
  137. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/dev/apis.tf +0 -0
  138. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/deployment/terraform/locals.tf +0 -0
  139. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/base_template/tests/unit/test_utils/test_tracing_exporter.py +0 -0
  140. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/cli/utils/logging.py +0 -0
  141. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/data_ingestion/uv.lock +0 -0
  142. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/app/utils/gcs.py +0 -0
  143. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/deployment_metadata.json +0 -0
  144. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -0
  145. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +0 -0
  146. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
  147. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/tests/load_test/README.md +0 -0
  148. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/tests/load_test/load_test.py +0 -0
  149. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/agent_engine/tests/unit/test_dummy.py +0 -0
  150. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/Dockerfile +0 -0
  151. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/app/server.py +0 -0
  152. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +0 -0
  153. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
  154. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/tests/load_test/README.md +0 -0
  155. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/tests/load_test/load_test.py +0 -0
  156. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/deployment_targets/cloud_run/uv.lock +0 -0
  157. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/public/favicon.ico +0 -0
  158. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/public/index.html +0 -0
  159. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/public/robots.txt +0 -0
  160. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/App.scss +0 -0
  161. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/App.test.tsx +0 -0
  162. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/App.tsx +0 -0
  163. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/audio-pulse/AudioPulse.tsx +0 -0
  164. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/audio-pulse/audio-pulse.scss +0 -0
  165. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/control-tray/ControlTray.tsx +0 -0
  166. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/control-tray/control-tray.scss +0 -0
  167. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/logger/Logger.tsx +0 -0
  168. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/logger/logger.scss +0 -0
  169. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/logger/mock-logs.ts +0 -0
  170. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/side-panel/SidePanel.tsx +0 -0
  171. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/components/side-panel/side-panel.scss +0 -0
  172. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/contexts/LiveAPIContext.tsx +0 -0
  173. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/hooks/use-live-api.ts +0 -0
  174. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/hooks/use-media-stream-mux.ts +0 -0
  175. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/hooks/use-screen-capture.ts +0 -0
  176. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/hooks/use-webcam.ts +0 -0
  177. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/index.css +0 -0
  178. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/index.tsx +0 -0
  179. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/multimodal-live-types.ts +0 -0
  180. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/react-app-env.d.ts +0 -0
  181. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/reportWebVitals.ts +0 -0
  182. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/setupTests.ts +0 -0
  183. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/audio-recorder.ts +0 -0
  184. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/audio-streamer.ts +0 -0
  185. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/audioworklet-registry.ts +0 -0
  186. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/multimodal-live-client.ts +0 -0
  187. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/store-logger.ts +0 -0
  188. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/utils.ts +0 -0
  189. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/worklets/audio-processing.ts +0 -0
  190. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/src/utils/worklets/vol-meter.ts +0 -0
  191. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/live_api_react/frontend/tsconfig.json +0 -0
  192. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/side_bar.py +0 -0
  193. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/streamlit_app.py +0 -0
  194. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/style/app_markdown.py +0 -0
  195. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/utils/chat_utils.py +0 -0
  196. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/utils/local_chat_history.py +0 -0
  197. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/utils/message_editing.py +0 -0
  198. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -0
  199. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/utils/stream_handler.py +0 -0
  200. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/frontends/streamlit/frontend/utils/title_summary.py +0 -0
  201. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/containers/e2e-tests/Dockerfile +0 -0
  202. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/resources/setup_cicd/providers.tf +0 -0
  203. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/utils/generate_locks.py +0 -0
  204. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/src/utils/lock_utils.py +0 -0
  205. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/cicd/example.env +0 -0
  206. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/cli/utils/test_cicd.py +0 -0
  207. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/test_frontend/test_side_bar.py +0 -0
  208. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/test_frontend/test_streamlit_app.py +0 -0
  209. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/test_frontend/test_utils/test_chat_utils.py +0 -0
  210. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/test_frontend/test_utils/test_local_chat_history.py +0 -0
  211. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/test_frontend/test_utils/test_message_editing.py +0 -0
  212. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/test_frontend/test_utils/test_multimodal_utils.py +0 -0
  213. {agent_starter_pack-0.1.7 → agent_starter_pack-0.2.0}/tests/test_frontend/test_utils/test_stream_handler.py +0 -0
@@ -0,0 +1,51 @@
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 --frozen
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/$PROJECT_ID/secrets/github-pat/versions/latest
38
+ env: 'GITHUB_PAT'
39
+ - versionName: projects/$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: 14400s
@@ -14,7 +14,7 @@
14
14
 
15
15
  steps:
16
16
  # Sync dependencies
17
- - name: "ghcr.io/astral-sh/uv:python3.11-bookworm-slim"
17
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
18
18
  id: install-dependencies
19
19
  entrypoint: /bin/bash
20
20
  args:
@@ -23,7 +23,7 @@ steps:
23
23
  uv sync --dev --extra lint --frozen
24
24
 
25
25
  # Run unit tests using pytest
26
- - name: "ghcr.io/astral-sh/uv:python3.11-bookworm-slim"
26
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
27
27
  id: lint
28
28
  entrypoint: /bin/bash
29
29
  args:
@@ -32,7 +32,7 @@ steps:
32
32
  set -e
33
33
  uv run ruff check . --config pyproject.toml --diff
34
34
  uv run ruff format . --check --config pyproject.toml --diff
35
- uv run mypy --config-file pyproject.toml ./agents ./src/cli ./tests ./src/data_ingestion ./src/frontends/streamlit
35
+ uv run mypy --config-file pyproject.toml ./agents ./src/cli ./tests ./src/frontends/streamlit
36
36
 
37
37
  logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
38
38
  options:
@@ -14,16 +14,16 @@
14
14
 
15
15
  steps:
16
16
  # Sync dependencies
17
- - name: "ghcr.io/astral-sh/uv:python3.11-bookworm-slim"
17
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
18
18
  id: install-dependencies
19
19
  entrypoint: /bin/bash
20
20
  args:
21
21
  - "-c"
22
22
  - |
23
- uv sync --dev --extra lint --frozen
23
+ uv sync --frozen
24
24
 
25
25
  # Run unit tests using pytest
26
- - name: "ghcr.io/astral-sh/uv:python3.11-bookworm-slim"
26
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
27
27
  id: lint-templated-agents
28
28
  entrypoint: /bin/bash
29
29
  args:
@@ -14,7 +14,7 @@
14
14
 
15
15
  steps:
16
16
  # Sync dependencies
17
- - name: "ghcr.io/astral-sh/uv:python3.11-bookworm-slim"
17
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
18
18
  id: install-dependencies
19
19
  entrypoint: /bin/bash
20
20
  args:
@@ -23,7 +23,7 @@ steps:
23
23
  uv sync --dev --frozen
24
24
 
25
25
  # Run unit tests using pytest
26
- - name: "ghcr.io/astral-sh/uv:python3.11-bookworm-slim"
26
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
27
27
  id: unit-tests
28
28
  entrypoint: /bin/bash
29
29
  args:
@@ -35,5 +35,3 @@ steps:
35
35
  logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
36
36
  options:
37
37
  defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
38
- env:
39
- - "INTEGRATION_TEST=TRUE"
@@ -14,16 +14,16 @@
14
14
 
15
15
  steps:
16
16
  # Sync dependencies
17
- - name: "ghcr.io/astral-sh/uv:python3.11-bookworm-slim"
17
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
18
18
  id: install-dependencies
19
19
  entrypoint: /bin/bash
20
20
  args:
21
21
  - "-c"
22
22
  - |
23
- uv sync --dev --frozen
23
+ uv sync --frozen
24
24
 
25
25
  # Run unit tests using pytest
26
- - name: "ghcr.io/astral-sh/uv:python3.11-bookworm-slim"
26
+ - name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
27
27
  id: test-templated-agents
28
28
  entrypoint: /bin/bash
29
29
  args:
@@ -36,4 +36,3 @@ options:
36
36
  defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
37
37
  env:
38
38
  - "_TEST_AGENT_COMBINATION=${_TEST_AGENT_COMBINATION}"
39
- - "INTEGRATION_TEST=TRUE"
@@ -0,0 +1,26 @@
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
+ }
@@ -0,0 +1,267 @@
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
+ # Define local variables for reuse
16
+ locals {
17
+ repository_path = "projects/${var.cicd_runner_project_id}/locations/${var.region}/connections/${var.host_connection_name}/repositories/${var.repository_name}"
18
+
19
+ # Define common ignored files
20
+ common_ignored_files = [
21
+ "**/*.md",
22
+ "**/Makefile",
23
+ ]
24
+
25
+ common_included_files = [
26
+ "agents/**",
27
+ "src/cli/**",
28
+ "tests/**",
29
+ "src/data_ingestion/**",
30
+ "src/frontends/streamlit/**",
31
+ "pyproject.toml",
32
+ "uv.lock",
33
+ ".cloudbuild/**",
34
+ ]
35
+
36
+ lint_templated_agents_included_files = [
37
+ "src/cli/**",
38
+ "src/base_template/**",
39
+ "src/data_ingestion/**",
40
+ "src/deployment_targets/**",
41
+ "tests/integration/test_template_linting.py",
42
+ "tests/integration/test_templated_patterns.py",
43
+ "src/resources/locks/**",
44
+ "pyproject.toml",
45
+ "uv.lock",
46
+ ".cloudbuild/**",
47
+ ]
48
+
49
+ # Define a local variable for agent/deployment combinations
50
+ agent_testing_combinations = [
51
+ {
52
+ name = "langgraph_base_react-agent_engine"
53
+ value = "langgraph_base_react,agent_engine"
54
+ },
55
+ {
56
+ name = "langgraph_base_react-cloud_run"
57
+ value = "langgraph_base_react,cloud_run"
58
+ },
59
+ {
60
+ name = "crewai_coding_crew-agent_engine"
61
+ value = "crewai_coding_crew,agent_engine"
62
+ },
63
+ {
64
+ name = "crewai_coding_crew-cloud_run"
65
+ value = "crewai_coding_crew,cloud_run"
66
+ },
67
+ {
68
+ name = "agentic_rag-agent_engine-vertex_ai_search"
69
+ value = "agentic_rag,agent_engine,--include-data-ingestion,--datastore,vertex_ai_search"
70
+ },
71
+ {
72
+ name = "agentic_rag-cloud_run-vertex_ai_vector_search"
73
+ value = "agentic_rag,cloud_run,--include-data-ingestion,--datastore,vertex_ai_vector_search"
74
+ },
75
+ {
76
+ name = "live_api-cloud_run"
77
+ value = "live_api,cloud_run"
78
+ },
79
+ ]
80
+
81
+ agent_testing_included_files = { for combo in local.agent_testing_combinations :
82
+ combo.name => [
83
+ # Only include files for the specific agent being tested
84
+ "agents/${split(",", combo.value)[0]}/**",
85
+ # Common files that affect all agents
86
+ "src/cli/**",
87
+ "src/base_template/**",
88
+ "src/deployment_targets/**",
89
+ "tests/integration/test_template_linting.py",
90
+ "tests/integration/test_templated_patterns.py",
91
+ "src/resources/locks/**",
92
+ "pyproject.toml",
93
+ "uv.lock",
94
+ ]
95
+ }
96
+ e2e_agent_deployment_combinations = [
97
+ {
98
+ name = "langgraph_base_react-agent_engine"
99
+ value = "langgraph_base_react,agent_engine"
100
+ },
101
+ {
102
+ name = "agentic_rag-agent_engine-vertex_ai_search"
103
+ value = "agentic_rag,agent_engine,--include-data-ingestion,--datastore,vertex_ai_search"
104
+ },
105
+ {
106
+ name = "agentic_rag-cloud_run-vertex_ai_vector_search"
107
+ value = "agentic_rag,cloud_run,--include-data-ingestion,--datastore,vertex_ai_vector_search"
108
+ },
109
+ {
110
+ name = "live_api-cloud_run"
111
+ value = "live_api,cloud_run"
112
+ },
113
+ ]
114
+
115
+ # Create a safe trigger name by replacing underscores with hyphens and dots with hyphens
116
+ # This ensures we have valid trigger names that don't exceed character limits
117
+ trigger_name_safe = { for combo in local.agent_testing_combinations :
118
+ combo.name => replace(replace(combo.name, "_", "-"), ".", "-")
119
+ }
120
+
121
+ e2e_agent_deployment_included_files = { for combo in local.agent_testing_combinations :
122
+ combo.name => [
123
+ # Only include files for the specific agent being tested
124
+ "agents/${split(",", combo.value)[0]}/**",
125
+ # Common files that affect all agents
126
+ "src/cli/**",
127
+ "src/base_template/**",
128
+ "src/data_ingestion/**",
129
+ "src/deployment_targets/**",
130
+ "tests/cicd/test_e2e_deployment.py",
131
+ "src/resources/locks/**",
132
+ "pyproject.toml",
133
+ "uv.lock",
134
+ ".cloudbuild"
135
+ ]
136
+ }
137
+ }
138
+
139
+ # a. Create PR Tests checks trigger
140
+ resource "google_cloudbuild_trigger" "pr_tests" {
141
+ name = "pr-tests"
142
+ project = var.cicd_runner_project_id
143
+ location = var.region
144
+ description = "Trigger for PR checks"
145
+ service_account = resource.google_service_account.cicd_runner_sa.id
146
+
147
+ repository_event_config {
148
+ repository = local.repository_path
149
+ pull_request {
150
+ branch = "main"
151
+ comment_control = "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"
152
+ }
153
+ }
154
+
155
+ filename = ".cloudbuild/ci/test.yaml"
156
+ included_files = local.common_included_files
157
+ ignored_files = local.common_ignored_files
158
+ include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
159
+ }
160
+
161
+ # b. Create Lint trigger
162
+ resource "google_cloudbuild_trigger" "pr_lint" {
163
+ name = "pr-lint"
164
+ project = var.cicd_runner_project_id
165
+ location = var.region
166
+ description = "Trigger for PR checks"
167
+ service_account = resource.google_service_account.cicd_runner_sa.id
168
+
169
+ repository_event_config {
170
+ repository = local.repository_path
171
+ pull_request {
172
+ branch = "main"
173
+ comment_control = "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"
174
+ }
175
+ }
176
+
177
+ filename = ".cloudbuild/ci/lint.yaml"
178
+ included_files = local.common_included_files
179
+ ignored_files = local.common_ignored_files
180
+ include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
181
+ }
182
+
183
+ # c. Create Templated Agents Lint trigger for PRs - one for each agent/deployment combination:
184
+ resource "google_cloudbuild_trigger" "pr_templated_agents_lint" {
185
+ for_each = { for combo in local.agent_testing_combinations : combo.name => combo }
186
+
187
+ name = "lint-${local.trigger_name_safe[each.key]}"
188
+ project = var.cicd_runner_project_id
189
+ location = var.region
190
+ description = "Trigger for PR lint checks on templated agents: ${each.value.name}"
191
+ service_account = resource.google_service_account.cicd_runner_sa.id
192
+
193
+ repository_event_config {
194
+ repository = local.repository_path
195
+ pull_request {
196
+ branch = "main"
197
+ comment_control = "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"
198
+ }
199
+ }
200
+
201
+ filename = ".cloudbuild/ci/lint_templated_agents.yaml"
202
+ included_files = local.agent_testing_included_files[each.key]
203
+ ignored_files = local.common_ignored_files
204
+ include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
205
+
206
+ substitutions = {
207
+ _TEST_AGENT_COMBINATION = each.value.value
208
+ }
209
+ }
210
+
211
+ # d. Create Templated Agents Integration Test triggers for PRs - one for each agent/deployment combination
212
+ resource "google_cloudbuild_trigger" "pr_templated_agents_test" {
213
+ for_each = { for combo in local.agent_testing_combinations : combo.name => combo }
214
+
215
+ name = "test-${local.trigger_name_safe[each.key]}"
216
+ project = var.cicd_runner_project_id
217
+ location = var.region
218
+ description = "Trigger for PR checks on templated agents tests: ${each.value.name}"
219
+ service_account = resource.google_service_account.cicd_runner_sa.id
220
+
221
+ repository_event_config {
222
+ repository = local.repository_path
223
+ pull_request {
224
+ branch = "main"
225
+ comment_control = "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"
226
+ }
227
+ }
228
+
229
+ filename = ".cloudbuild/ci/test_templated_agents.yaml"
230
+ included_files = local.agent_testing_included_files[each.key]
231
+ ignored_files = local.common_ignored_files
232
+ include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
233
+
234
+ substitutions = {
235
+ _TEST_AGENT_COMBINATION = each.value.value
236
+ }
237
+ }
238
+
239
+ # e. Create E2E Deployment Test triggers for main branch commits - one for each agent/deployment combination
240
+ resource "google_cloudbuild_trigger" "main_e2e_deployment_test" {
241
+ for_each = { for combo in local.e2e_agent_deployment_combinations : combo.name => combo }
242
+
243
+ name = "e2e-deploy-${local.trigger_name_safe[each.key]}"
244
+ project = var.cicd_runner_project_id
245
+ location = var.region
246
+ description = "Trigger for E2E deployment tests on main branch: ${each.value.name}"
247
+ service_account = resource.google_service_account.cicd_runner_sa.id
248
+
249
+ repository_event_config {
250
+ repository = local.repository_path
251
+ push {
252
+ branch = "main"
253
+ }
254
+ }
255
+
256
+ filename = ".cloudbuild/cd/test_e2e.yaml"
257
+ included_files = local.e2e_agent_deployment_included_files[each.key]
258
+ ignored_files = local.common_ignored_files
259
+ include_build_logs = "INCLUDE_BUILD_LOGS_UNSPECIFIED"
260
+
261
+ substitutions = {
262
+ _TEST_AGENT_COMBINATION = each.value.value
263
+ _E2E_DEV_PROJECT = var.e2e_test_project_mapping.dev
264
+ _E2E_STAGING_PROJECT = var.e2e_test_project_mapping.staging
265
+ _E2E_PROD_PROJECT = var.e2e_test_project_mapping.prod
266
+ }
267
+ }
@@ -11,31 +11,51 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+ # Define local variables for roles
15
+
16
+
17
+ locals {
18
+ cicd_runner_roles = [
19
+ "roles/owner",
20
+ ]
21
+
22
+ e2e_project_roles = [
23
+ "roles/owner",
24
+ ]
25
+ }
14
26
 
15
27
  # Create a service account for CICD runner
16
28
  resource "google_service_account" "cicd_runner_sa" {
17
29
  project = var.cicd_runner_project_id
18
- account_id = "cicd-runner-sa"
30
+ account_id = "cicd-tests-runner-sa"
19
31
  display_name = "Service Account for CI/CD Pipeline Runner"
20
32
  description = "Used by Cloud Build to execute CI/CD pipelines"
21
33
  }
22
34
 
23
35
  # Grant necessary roles to the service account
24
36
  resource "google_project_iam_member" "cicd_runner_roles" {
25
- for_each = toset([
26
- "roles/cloudbuild.builds.builder",
27
- "roles/logging.logWriter",
28
- "roles/storage.admin",
29
- "roles/artifactregistry.reader",
30
- "roles/artifactregistry.writer",
31
- "roles/iam.serviceAccountUser",
32
- "roles/aiplatform.user",
33
- "roles/discoveryengine.editor",
34
- "roles/cloudtrace.agent"
35
-
36
- ])
37
+ for_each = toset(local.cicd_runner_roles)
37
38
 
38
39
  project = var.cicd_runner_project_id
39
40
  role = each.key
40
41
  member = "serviceAccount:${google_service_account.cicd_runner_sa.email}"
41
42
  }
43
+
44
+ # Grant permissions to the service account for each environment project
45
+ resource "google_project_iam_member" "cicd_runner_e2e_project_roles" {
46
+ for_each = {
47
+ for idx, proj_role in flatten([
48
+ for env, project_id in var.e2e_test_project_mapping : [
49
+ for role in local.e2e_project_roles : {
50
+ project = project_id
51
+ env = env
52
+ role = role
53
+ }
54
+ ]
55
+ ]) : "${proj_role.env}-${proj_role.role}" => proj_role
56
+ }
57
+
58
+ project = each.value.project
59
+ role = each.value.role
60
+ member = "serviceAccount:${google_service_account.cicd_runner_sa.email}"
61
+ }
@@ -32,3 +32,12 @@ variable "repository_name" {
32
32
  description = "Name of the repository you'd like to connect to Cloud Build"
33
33
  type = string
34
34
  }
35
+
36
+ variable "e2e_test_project_mapping" {
37
+ description = "Mapping of project IDs for different environments"
38
+ type = object({
39
+ dev = string
40
+ prod = string
41
+ staging = string
42
+ })
43
+ }
@@ -13,7 +13,7 @@ generate-lock:
13
13
  lint:
14
14
  uv run ruff check . --config pyproject.toml --diff
15
15
  uv run ruff format . --check --config pyproject.toml --diff
16
- uv run mypy --config-file pyproject.toml ./agents ./src/cli ./tests ./src/data_ingestion ./src/frontends/streamlit
16
+ uv run mypy --config-file pyproject.toml ./agents ./src/cli ./tests ./src/frontends/streamlit
17
17
 
18
18
  lint-templated-agents:
19
19
  uv run tests/integration/test_template_linting.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-starter-pack
3
- Version: 0.1.7
3
+ Version: 0.2.0
4
4
  Summary: CLI tool to create GCP-based AI agent projects from templates
5
5
  Author-email: Google LLC <agent-starter-pack@google.com>
6
6
  License: Apache-2.0
@@ -24,7 +24,7 @@ Description-Content-Type: text/markdown
24
24
 
25
25
  # 🚀 Agent Starter Pack
26
26
 
27
- ![Version](https://img.shields.io/pypi/v/agent-starter-pack?color=blue) [![1-Minute Video Overview](https://img.shields.io/badge/1--Minute%20Overview-gray)](https://youtu.be/jHt-ZVD660g) [![Docs](https://img.shields.io/badge/Documentation-gray)](./docs/README.md)
27
+ ![Version](https://img.shields.io/pypi/v/agent-starter-pack?color=blue) [![1-Minute Video Overview](https://img.shields.io/badge/1--Minute%20Overview-gray)](https://youtu.be/jHt-ZVD660g) [![Docs](https://img.shields.io/badge/Documentation-gray)](./docs/README.md) ![Stars](https://img.shields.io/github/stars/GoogleCloudPlatform/agent-starter-pack?color=yellow)
28
28
 
29
29
 
30
30
  The `agent-starter-pack` is a collection of production-ready Generative AI Agent templates built for Google Cloud. <br>
@@ -70,9 +70,9 @@ agent-starter-pack create my-agent -d agent_engine -a langgraph_base_react
70
70
  | Agent Name | Description |
71
71
  |-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
72
72
  | `langgraph_base_react` | A agent implementing a base ReAct agent using LangGraph |
73
- | `agentic_rag_vertexai_search` | A RAG agent using Vertex AI Search and LangGraph for document retrieval and Q&A |
73
+ | `agentic_rag` | A RAG agent using LangGraph 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). |
74
74
  | `crewai_coding_crew` | A multi-agent system implemented with CrewAI created to support coding activities |
75
- | `multimodal_live_api` | A real-time multimodal RAG agent powered by Gemini, supporting audio/video/text chat with vector DB-backed responses |
75
+ | `live_api` | A real-time multimodal RAG agent powered by Gemini, supporting audio/video/text chat with vector DB-backed responses |
76
76
 
77
77
  **More agents are on the way!** We are continuously expanding our [agent library](./agents/). Have a specific agent type in mind? [Contribute!](#contributing)
78
78
 
@@ -82,7 +82,7 @@ agent-starter-pack create my-agent -d agent_engine -a langgraph_base_react
82
82
  The `agent-starter-pack` offers two key features to accelerate and simplify the development of your agent:
83
83
 
84
84
  - **🔄 [CI/CD Automation (Experimental)](docs/cli/setup_cicd.md)** - One command to set up a complete GitHub + Cloud Build pipeline for all environments
85
- - **📥 [Data Pipeline for RAG with Vertex AI Search and Terraform/CI-CD](docs/data-ingestion.md)** - Seamlessly integrate a data pipeline to process embeddings for RAG into your agent system.
85
+ - **📥 [Data Pipeline for RAG with Terraform/CI-CD](docs/data-ingestion.md)** - 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).
86
86
 
87
87
 
88
88
  ## High-Level Architecture
@@ -98,7 +98,7 @@ This starter pack covers all aspects of Agent development, from prototyping and
98
98
  This project represents the next evolution of the [e2e-gen-ai-app-starter-pack](goo.gle/e2e-gen-ai-app-starter-pack). Building on the foundation of the original, we've made significant improvements:
99
99
 
100
100
  * **Streamlined CLI:** A new command-line interface (`agent-starter-pack`) simplifies project creation, template selection, and deployment.
101
- * **Expanded Agent Options:** Support for a wider variety of agent frameworks (LangGraph, CrewAI, and the Google GenAI SDK) and deployment targets (including Vertex AI Agent Engine).
101
+ * **Expanded Agent Options:** Support for a wider variety of agent frameworks (LangGraph, CrewAI, and the Google GenAI SDK) and deployment targets (including Vertex AI Agent Engine).
102
102
  * **Simplified setup**: Integrated gcloud authentication and projects and region configurations
103
103
 
104
104
  ---
@@ -1,6 +1,6 @@
1
1
  # 🚀 Agent Starter Pack
2
2
 
3
- ![Version](https://img.shields.io/pypi/v/agent-starter-pack?color=blue) [![1-Minute Video Overview](https://img.shields.io/badge/1--Minute%20Overview-gray)](https://youtu.be/jHt-ZVD660g) [![Docs](https://img.shields.io/badge/Documentation-gray)](./docs/README.md)
3
+ ![Version](https://img.shields.io/pypi/v/agent-starter-pack?color=blue) [![1-Minute Video Overview](https://img.shields.io/badge/1--Minute%20Overview-gray)](https://youtu.be/jHt-ZVD660g) [![Docs](https://img.shields.io/badge/Documentation-gray)](./docs/README.md) ![Stars](https://img.shields.io/github/stars/GoogleCloudPlatform/agent-starter-pack?color=yellow)
4
4
 
5
5
 
6
6
  The `agent-starter-pack` is a collection of production-ready Generative AI Agent templates built for Google Cloud. <br>
@@ -46,9 +46,9 @@ agent-starter-pack create my-agent -d agent_engine -a langgraph_base_react
46
46
  | Agent Name | Description |
47
47
  |-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
48
48
  | `langgraph_base_react` | A agent implementing a base ReAct agent using LangGraph |
49
- | `agentic_rag_vertexai_search` | A RAG agent using Vertex AI Search and LangGraph for document retrieval and Q&A |
49
+ | `agentic_rag` | A RAG agent using LangGraph 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). |
50
50
  | `crewai_coding_crew` | A multi-agent system implemented with CrewAI created to support coding activities |
51
- | `multimodal_live_api` | A real-time multimodal RAG agent powered by Gemini, supporting audio/video/text chat with vector DB-backed responses |
51
+ | `live_api` | A real-time multimodal RAG agent powered by Gemini, supporting audio/video/text chat with vector DB-backed responses |
52
52
 
53
53
  **More agents are on the way!** We are continuously expanding our [agent library](./agents/). Have a specific agent type in mind? [Contribute!](#contributing)
54
54
 
@@ -58,7 +58,7 @@ agent-starter-pack create my-agent -d agent_engine -a langgraph_base_react
58
58
  The `agent-starter-pack` offers two key features to accelerate and simplify the development of your agent:
59
59
 
60
60
  - **🔄 [CI/CD Automation (Experimental)](docs/cli/setup_cicd.md)** - One command to set up a complete GitHub + Cloud Build pipeline for all environments
61
- - **📥 [Data Pipeline for RAG with Vertex AI Search and Terraform/CI-CD](docs/data-ingestion.md)** - Seamlessly integrate a data pipeline to process embeddings for RAG into your agent system.
61
+ - **📥 [Data Pipeline for RAG with Terraform/CI-CD](docs/data-ingestion.md)** - 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).
62
62
 
63
63
 
64
64
  ## High-Level Architecture
@@ -74,7 +74,7 @@ This starter pack covers all aspects of Agent development, from prototyping and
74
74
  This project represents the next evolution of the [e2e-gen-ai-app-starter-pack](goo.gle/e2e-gen-ai-app-starter-pack). Building on the foundation of the original, we've made significant improvements:
75
75
 
76
76
  * **Streamlined CLI:** A new command-line interface (`agent-starter-pack`) simplifies project creation, template selection, and deployment.
77
- * **Expanded Agent Options:** Support for a wider variety of agent frameworks (LangGraph, CrewAI, and the Google GenAI SDK) and deployment targets (including Vertex AI Agent Engine).
77
+ * **Expanded Agent Options:** Support for a wider variety of agent frameworks (LangGraph, CrewAI, and the Google GenAI SDK) and deployment targets (including Vertex AI Agent Engine).
78
78
  * **Simplified setup**: Integrated gcloud authentication and projects and region configurations
79
79
 
80
80
  ---
@@ -1,6 +1,6 @@
1
- # Agentic RAG with Vertex AI Search
1
+ # Agentic RAG
2
2
 
3
- This agent enhances the Gen AI App Starter Pack with a production-ready data ingestion pipeline, enriching your Retrieval Augmented Generation (RAG) applications. Using Vertex AI Search's state-of-the-art search capabilities, you can ingest, process, and embed custom data, improving the relevance and context of your generated responses.
3
+ This agent enhances the Agent Starter Pack with a production-ready data ingestion pipeline, enriching your Retrieval Augmented Generation (RAG) applications. You will be able to ingest, process, and embed custom data, improving the relevance and context of your generated responses. You can choose between different datastore options including Vertex AI Search and Vertex AI Vector Search depending on your specific needs.
4
4
 
5
5
  The agent provides the infrastructure to create a Vertex AI Pipeline with your custom code. Because it's built on Vertex AI Pipelines, you benefit from features like scheduled runs, recurring executions, and on-demand triggers. For processing terabyte-scale data, we recommend combining Vertex AI Pipelines with data analytics tools like BigQuery or Dataflow.
6
6
 
@@ -14,7 +14,7 @@ The agent implements the following architecture:
14
14
 
15
15
  ### Key Features
16
16
 
17
- - **Vertex AI Search Integration:** Utilizes Vertex AI Search for efficient data storage and retrieval.
17
+ - **Flexible Datastore Options:** Choose between Vertex AI Search or Vertex AI Vector Search for efficient data storage and retrieval based on your specific needs.
18
18
  - **Automated Data Ingestion Pipeline:** Automates the process of ingesting data from input sources.
19
19
  - **Custom Embeddings:** Generates embeddings using Vertex AI Embeddings and incorporates them into your data for enhanced semantic search.
20
20
  - **Terraform Deployment:** Ingestion pipeline is instantiated with Terraform alongside the rest of the infrastructure of the starter pack.