agent-starter-pack 0.2.2__tar.gz → 0.2.3__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 (204) hide show
  1. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/PKG-INFO +7 -13
  2. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/README.md +5 -11
  3. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/docs/cli/README.md +1 -1
  4. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/docs/cli/create.md +1 -1
  5. agent_starter_pack-0.2.3/docs/cli/setup_cicd.md +93 -0
  6. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/docs/deployment.md +4 -28
  7. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/pyproject.toml +2 -2
  8. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/Makefile +6 -4
  9. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/README.md +7 -1
  10. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/README.md +4 -1
  11. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/cd/deploy-to-prod.yaml +3 -3
  12. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/cd/staging.yaml +4 -4
  13. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/ci/pr_checks.yaml +1 -1
  14. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/build_triggers.tf +3 -0
  15. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/pyproject.toml +2 -2
  16. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/cli/commands/create.py +35 -9
  17. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/cli/commands/setup_cicd.py +22 -6
  18. agent_starter_pack-0.2.3/src/data_ingestion/README.md +71 -0
  19. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/agent_engine/app/agent_engine_app.py +7 -12
  20. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/cloud_run/Dockerfile +1 -1
  21. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/streamlit/frontend/utils/stream_handler.py +3 -3
  22. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/resources/locks/uv-agentic_rag-agent_engine.lock +128 -127
  23. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/resources/locks/uv-agentic_rag-cloud_run.lock +174 -173
  24. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +149 -148
  25. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +195 -194
  26. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/resources/locks/uv-langgraph_base_react-agent_engine.lock +125 -124
  27. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/resources/locks/uv-langgraph_base_react-cloud_run.lock +171 -170
  28. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/resources/locks/uv-live_api-cloud_run.lock +162 -161
  29. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/cicd/test_e2e_deployment.py +2 -2
  30. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/cli/commands/test_create.py +52 -0
  31. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/cli/commands/test_setup_cicd.py +15 -6
  32. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/integration/test_template_linting.py +2 -2
  33. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/integration/test_templated_patterns.py +2 -2
  34. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/uv.lock +5 -5
  35. agent_starter_pack-0.2.2/docs/cli/setup_cicd.md +0 -127
  36. agent_starter_pack-0.2.2/src/data_ingestion/README.md +0 -84
  37. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/.cloudbuild/cd/test_e2e.yaml +0 -0
  38. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/.cloudbuild/ci/build_use_wheel.yaml +0 -0
  39. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/.cloudbuild/ci/lint.yaml +0 -0
  40. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/.cloudbuild/ci/lint_templated_agents.yaml +0 -0
  41. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/.cloudbuild/ci/test.yaml +0 -0
  42. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/.cloudbuild/ci/test_templated_agents.yaml +0 -0
  43. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/.cloudbuild/terraform/apis.tf +0 -0
  44. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/.cloudbuild/terraform/build_triggers.tf +0 -0
  45. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/.cloudbuild/terraform/service_account.tf +0 -0
  46. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/.cloudbuild/terraform/storage.tf +0 -0
  47. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/.cloudbuild/terraform/variables.tf +0 -0
  48. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/.gitignore +0 -0
  49. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/CODE_OF_CONDUCT.md +0 -0
  50. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/CONTRIBUTING.md +0 -0
  51. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/LICENSE +0 -0
  52. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/Makefile +0 -0
  53. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/agentic_rag/README.md +0 -0
  54. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/agentic_rag/app/agent.py +0 -0
  55. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/agentic_rag/app/retrievers.py +0 -0
  56. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/agentic_rag/app/templates.py +0 -0
  57. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/agentic_rag/notebooks/evaluating_langgraph_agent.ipynb +0 -0
  58. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/agentic_rag/template/.templateconfig.yaml +0 -0
  59. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/agentic_rag/tests/integration/test_agent.py +0 -0
  60. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/crewai_coding_crew/README.md +0 -0
  61. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/crewai_coding_crew/app/agent.py +0 -0
  62. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -0
  63. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -0
  64. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/crewai_coding_crew/app/crew/crew.py +0 -0
  65. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb +0 -0
  66. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb +0 -0
  67. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/crewai_coding_crew/template/.templateconfig.yaml +0 -0
  68. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/crewai_coding_crew/tests/integration/test_agent.py +0 -0
  69. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/langgraph_base_react/README.md +0 -0
  70. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/langgraph_base_react/app/agent.py +0 -0
  71. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb +0 -0
  72. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/langgraph_base_react/template/.templateconfig.yaml +0 -0
  73. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/langgraph_base_react/tests/integration/test_agent.py +0 -0
  74. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/live_api/README.md +0 -0
  75. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/live_api/app/agent.py +0 -0
  76. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/live_api/app/server.py +0 -0
  77. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/live_api/app/templates.py +0 -0
  78. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/live_api/app/vector_store.py +0 -0
  79. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/live_api/template/.templateconfig.yaml +0 -0
  80. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/live_api/tests/integration/test_server_e2e.py +0 -0
  81. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/live_api/tests/load_test/load_test.py +0 -0
  82. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/agents/live_api/tests/unit/test_server.py +0 -0
  83. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/docs/README.md +0 -0
  84. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/docs/data-ingestion.md +0 -0
  85. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/docs/images/ags_banner.png +0 -0
  86. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/docs/images/ags_high_level_architecture.png +0 -0
  87. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/docs/installation.md +0 -0
  88. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/docs/observability.md +0 -0
  89. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/docs/troubleshooting.md +0 -0
  90. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/docs/why_starter_pack.md +0 -0
  91. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/.gitignore +0 -0
  92. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/app/utils/tracing.py +0 -0
  93. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/app/utils/typing.py +0 -0
  94. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/apis.tf +0 -0
  95. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/dev/apis.tf +0 -0
  96. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/dev/iam.tf +0 -0
  97. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/dev/log_sinks.tf +0 -0
  98. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/dev/providers.tf +0 -0
  99. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/dev/storage.tf +0 -0
  100. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/dev/variables.tf +0 -0
  101. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/dev/vars/env.tfvars +0 -0
  102. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/iam.tf +0 -0
  103. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/locals.tf +0 -0
  104. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/log_sinks.tf +0 -0
  105. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/providers.tf +0 -0
  106. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/service_accounts.tf +0 -0
  107. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/storage.tf +0 -0
  108. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/variables.tf +0 -0
  109. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/deployment/terraform/vars/env.tfvars +0 -0
  110. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/base_template/tests/unit/test_utils/test_tracing_exporter.py +0 -0
  111. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/cli/main.py +0 -0
  112. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/cli/utils/__init__.py +0 -0
  113. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/cli/utils/cicd.py +0 -0
  114. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/cli/utils/datastores.py +0 -0
  115. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/cli/utils/gcp.py +0 -0
  116. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/cli/utils/logging.py +0 -0
  117. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/cli/utils/template.py +0 -0
  118. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/cli/utils/version.py +0 -0
  119. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +0 -0
  120. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/data_ingestion/data_ingestion_pipeline/components/process_data.py +0 -0
  121. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/data_ingestion/data_ingestion_pipeline/pipeline.py +0 -0
  122. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +0 -0
  123. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/data_ingestion/pyproject.toml +0 -0
  124. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/data_ingestion/uv.lock +0 -0
  125. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/agent_engine/app/utils/gcs.py +0 -0
  126. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/agent_engine/deployment_metadata.json +0 -0
  127. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -0
  128. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +0 -0
  129. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
  130. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/agent_engine/tests/load_test/README.md +0 -0
  131. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/agent_engine/tests/load_test/load_test.py +0 -0
  132. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/agent_engine/tests/unit/test_dummy.py +0 -0
  133. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/cloud_run/app/server.py +0 -0
  134. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +0 -0
  135. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
  136. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/cloud_run/tests/load_test/README.md +0 -0
  137. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/cloud_run/tests/load_test/load_test.py +0 -0
  138. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/cloud_run/tests/unit/test_server.py +0 -0
  139. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/deployment_targets/cloud_run/uv.lock +0 -0
  140. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/package-lock.json +0 -0
  141. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/package.json +0 -0
  142. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/public/favicon.ico +0 -0
  143. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/public/index.html +0 -0
  144. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/public/robots.txt +0 -0
  145. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/App.scss +0 -0
  146. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/App.test.tsx +0 -0
  147. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/App.tsx +0 -0
  148. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/components/audio-pulse/AudioPulse.tsx +0 -0
  149. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/components/audio-pulse/audio-pulse.scss +0 -0
  150. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/components/control-tray/ControlTray.tsx +0 -0
  151. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/components/control-tray/control-tray.scss +0 -0
  152. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/components/logger/Logger.tsx +0 -0
  153. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/components/logger/logger.scss +0 -0
  154. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/components/logger/mock-logs.ts +0 -0
  155. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/components/side-panel/SidePanel.tsx +0 -0
  156. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/components/side-panel/side-panel.scss +0 -0
  157. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/contexts/LiveAPIContext.tsx +0 -0
  158. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/hooks/use-live-api.ts +0 -0
  159. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/hooks/use-media-stream-mux.ts +0 -0
  160. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/hooks/use-screen-capture.ts +0 -0
  161. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/hooks/use-webcam.ts +0 -0
  162. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/index.css +0 -0
  163. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/index.tsx +0 -0
  164. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/multimodal-live-types.ts +0 -0
  165. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/react-app-env.d.ts +0 -0
  166. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/reportWebVitals.ts +0 -0
  167. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/setupTests.ts +0 -0
  168. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/utils/audio-recorder.ts +0 -0
  169. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/utils/audio-streamer.ts +0 -0
  170. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/utils/audioworklet-registry.ts +0 -0
  171. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/utils/multimodal-live-client.ts +0 -0
  172. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/utils/store-logger.ts +0 -0
  173. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/utils/utils.ts +0 -0
  174. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/utils/worklets/audio-processing.ts +0 -0
  175. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/src/utils/worklets/vol-meter.ts +0 -0
  176. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/live_api_react/frontend/tsconfig.json +0 -0
  177. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/streamlit/frontend/side_bar.py +0 -0
  178. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/streamlit/frontend/streamlit_app.py +0 -0
  179. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/streamlit/frontend/style/app_markdown.py +0 -0
  180. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/streamlit/frontend/utils/chat_utils.py +0 -0
  181. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/streamlit/frontend/utils/local_chat_history.py +0 -0
  182. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/streamlit/frontend/utils/message_editing.py +0 -0
  183. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -0
  184. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/frontends/streamlit/frontend/utils/title_summary.py +0 -0
  185. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/resources/containers/data_processing/Dockerfile +0 -0
  186. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/resources/containers/e2e-tests/Dockerfile +0 -0
  187. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/resources/setup_cicd/cicd_variables.tf +0 -0
  188. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/resources/setup_cicd/github.tf +0 -0
  189. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/resources/setup_cicd/providers.tf +0 -0
  190. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/utils/generate_locks.py +0 -0
  191. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/utils/lock_utils.py +0 -0
  192. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/src/utils/watch_and_rebuild.py +0 -0
  193. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/__init__.py +0 -0
  194. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/cicd/example.env +0 -0
  195. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/cli/utils/test_cicd.py +0 -0
  196. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/test_frontend/test_side_bar.py +0 -0
  197. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/test_frontend/test_streamlit_app.py +0 -0
  198. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/test_frontend/test_utils/test_chat_utils.py +0 -0
  199. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/test_frontend/test_utils/test_local_chat_history.py +0 -0
  200. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/test_frontend/test_utils/test_message_editing.py +0 -0
  201. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/test_frontend/test_utils/test_multimodal_utils.py +0 -0
  202. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/test_frontend/test_utils/test_stream_handler.py +0 -0
  203. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/utils/__init__.py +0 -0
  204. {agent_starter_pack-0.2.2 → agent_starter_pack-0.2.3}/tests/utils/get_agents.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-starter-pack
3
- Version: 0.2.2
3
+ Version: 0.2.3
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
@@ -9,7 +9,7 @@ Requires-Python: >=3.10
9
9
  Requires-Dist: backoff>=2.2.1
10
10
  Requires-Dist: click~=8.1.7
11
11
  Requires-Dist: cookiecutter~=2.5.0
12
- Requires-Dist: google-cloud-aiplatform~=1.81.0
12
+ Requires-Dist: google-cloud-aiplatform~=1.87.0
13
13
  Requires-Dist: pyyaml~=6.0.1
14
14
  Requires-Dist: rich~=13.7.0
15
15
  Provides-Extra: jupyter
@@ -33,7 +33,7 @@ It accelerates development by providing a holistic, production-ready solution, a
33
33
 
34
34
  | ⚡️ Launch | 🧪 Experiment | ✅ Deploy | 🛠️ Customize |
35
35
  |---|---|---|---|
36
- | [Pre-built agent templates](./agents/) (ReAct, RAG, multi-agent, Live Multimodal API). | [Vertex AI evaluation](https://cloud.google.com/vertex-ai/generative-ai/docs/models/evaluation-overview) and an interactive playground. | Production-ready infra with [monitoring](./docs/monitoring.md), [observability](./docs/observability.md), and [CI/CD](./docs/deployment.md) on [Cloud Run](https://cloud.google.com/run) or [Agent Engine](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview). | Extend and customize templates according to your needs. |
36
+ | [Pre-built agent templates](./agents/) (ReAct, RAG, multi-agent, Live Multimodal API). | [Vertex AI evaluation](https://cloud.google.com/vertex-ai/generative-ai/docs/models/evaluation-overview) and an interactive playground. | Production-ready infra with [monitoring, observability](./docs/observability.md), and [CI/CD](./docs/deployment.md) on [Cloud Run](https://cloud.google.com/run) or [Agent Engine](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview). | Extend and customize templates according to your needs. |
37
37
 
38
38
  ---
39
39
 
@@ -94,16 +94,6 @@ This starter pack covers all aspects of Agent development, from prototyping and
94
94
 
95
95
  ---
96
96
 
97
- #### From `e2e-gen-ai-app-starter-pack` to `agent-starter-pack`
98
-
99
- 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:
100
-
101
- * **Streamlined CLI:** A new command-line interface (`agent-starter-pack`) simplifies project creation, template selection, and deployment.
102
- * **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).
103
- * **Simplified setup**: Integrated gcloud authentication and projects and region configurations
104
-
105
- ---
106
-
107
97
  ## 🔧 Requirements
108
98
 
109
99
  - Python 3.10+
@@ -127,6 +117,10 @@ See the [documentation](docs/) for more details:
127
117
  - **March 6, 2025**: A [120 Minute livestream video demo](https://www.youtube.com/watch?v=yIRIT_EtALs&t=235s) of the new `agent-starter-pack` were we build 3 Agents under 30 minutes!
128
118
  - **Oct 29, 2024**: A [20-Minute Video Walkthrough](https://youtu.be/kwRG7cnqSu0) is available, showcasing the previous `agent-starter-pack`.
129
119
 
120
+ ## Explore More Generative AI Resources
121
+
122
+ Looking for more examples and resources for Generative AI on Google Cloud? Check out the [GoogleCloudPlatform/generative-ai](https://github.com/GoogleCloudPlatform/generative-ai) repository for notebooks, code samples, and more!
123
+
130
124
  ## Contributing
131
125
 
132
126
  Contributions are welcome! See the [Contributing Guide](CONTRIBUTING.md).
@@ -8,7 +8,7 @@ It accelerates development by providing a holistic, production-ready solution, a
8
8
 
9
9
  | ⚡️ Launch | 🧪 Experiment | ✅ Deploy | 🛠️ Customize |
10
10
  |---|---|---|---|
11
- | [Pre-built agent templates](./agents/) (ReAct, RAG, multi-agent, Live Multimodal API). | [Vertex AI evaluation](https://cloud.google.com/vertex-ai/generative-ai/docs/models/evaluation-overview) and an interactive playground. | Production-ready infra with [monitoring](./docs/monitoring.md), [observability](./docs/observability.md), and [CI/CD](./docs/deployment.md) on [Cloud Run](https://cloud.google.com/run) or [Agent Engine](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview). | Extend and customize templates according to your needs. |
11
+ | [Pre-built agent templates](./agents/) (ReAct, RAG, multi-agent, Live Multimodal API). | [Vertex AI evaluation](https://cloud.google.com/vertex-ai/generative-ai/docs/models/evaluation-overview) and an interactive playground. | Production-ready infra with [monitoring, observability](./docs/observability.md), and [CI/CD](./docs/deployment.md) on [Cloud Run](https://cloud.google.com/run) or [Agent Engine](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview). | Extend and customize templates according to your needs. |
12
12
 
13
13
  ---
14
14
 
@@ -69,16 +69,6 @@ This starter pack covers all aspects of Agent development, from prototyping and
69
69
 
70
70
  ---
71
71
 
72
- #### From `e2e-gen-ai-app-starter-pack` to `agent-starter-pack`
73
-
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
-
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).
78
- * **Simplified setup**: Integrated gcloud authentication and projects and region configurations
79
-
80
- ---
81
-
82
72
  ## 🔧 Requirements
83
73
 
84
74
  - Python 3.10+
@@ -102,6 +92,10 @@ See the [documentation](docs/) for more details:
102
92
  - **March 6, 2025**: A [120 Minute livestream video demo](https://www.youtube.com/watch?v=yIRIT_EtALs&t=235s) of the new `agent-starter-pack` were we build 3 Agents under 30 minutes!
103
93
  - **Oct 29, 2024**: A [20-Minute Video Walkthrough](https://youtu.be/kwRG7cnqSu0) is available, showcasing the previous `agent-starter-pack`.
104
94
 
95
+ ## Explore More Generative AI Resources
96
+
97
+ Looking for more examples and resources for Generative AI on Google Cloud? Check out the [GoogleCloudPlatform/generative-ai](https://github.com/GoogleCloudPlatform/generative-ai) repository for notebooks, code samples, and more!
98
+
105
99
  ## Contributing
106
100
 
107
101
  Contributions are welcome! See the [Contributing Guide](CONTRIBUTING.md).
@@ -5,6 +5,6 @@ This document provides an overview of the available CLI commands for managing yo
5
5
  ## Available Commands
6
6
 
7
7
  - [`create`](create.md) - Create a new generative AI application project
8
- - [`setup-cicd`](setup-cicd.md) - Set up CI/CD pipeline for your project
8
+ - [`setup-cicd`](setup_cicd.md) - Set up CI/CD pipeline for your project
9
9
 
10
10
  For detailed usage instructions, click on the command links above.
@@ -1,4 +1,4 @@
1
- # CLI Commands
1
+ # `create`
2
2
 
3
3
  The Agent Starter Pack provides CLI commands to help you create and manage AI agent projects.
4
4
 
@@ -0,0 +1,93 @@
1
+ # `setup-cicd`
2
+
3
+ The `setup-cicd` command is a powerful utility provided by `agent-starter-pack` that automates the deployment of your complete Terraform infrastructure and configures your Google Cloud projects in a single operation.
4
+
5
+ **⚡️ Quick Start Example:**
6
+
7
+ The command is now even simpler to get started with. You can run it without any arguments, and it will prompt you for the required project IDs:
8
+
9
+ ```bash
10
+ agent-starter-pack setup-cicd
11
+ ```
12
+ *(You will be prompted for Staging and Production project IDs)*
13
+
14
+ Alternatively, you can provide the project IDs directly as flags:
15
+
16
+ ```bash
17
+ agent-starter-pack setup-cicd \
18
+ --staging-project=your-staging-project-id \
19
+ --prod-project=your-prod-project-id
20
+ ```
21
+
22
+ **⚠️ Important Considerations:**
23
+
24
+ * **Experimental:** This command is under active development. Use it with caution and report any issues.
25
+ * **Production Use:** For production environments, we **strongly recommend** following the detailed instructions in `deployment/README.md`. Manual setup offers greater control over security and configuration. This automated command is best suited for development and testing.
26
+ * **GitHub Only:** Currently, only GitHub is supported as a Git provider.
27
+
28
+ ### Prerequisites
29
+
30
+ 1. **Run from Project Root:** Execute the command from the root directory of your `agent-starter-pack` project (where `pyproject.toml` is located).
31
+ 2. **Install Tools:**
32
+ * Terraform
33
+ * `gh` CLI (GitHub CLI): Install and authenticate using `gh auth login`.
34
+ * `gcloud` CLI (Google Cloud SDK): Authenticate using `gcloud auth application-default login`.
35
+ 3. **Google Cloud Projects:** You need at least two Google Cloud projects: one for staging and one for production. The command will prompt you for their IDs if you don't provide the `--staging-project` and `--prod-project` flags. You also need a project to host the CI/CD resources (Cloud Build, Artifact Registry, Terraform state). You can specify this using `--cicd-project`. If omitted, the production project will be used for CI/CD resources.
36
+ 4. **Permissions:** The user or service account running this command must have the `Owner` role on the specified Google Cloud projects (staging, production, CI/CD if specified, development if specified). This is necessary for creating resources and assigning IAM roles.
37
+
38
+ ### How it Works
39
+
40
+ The `setup-cicd` command automates the following:
41
+
42
+ 1. **GitHub Integration:** Creates a new private GitHub repository or connects to an existing one (prompting for details if needed).
43
+ 2. **Project ID Confirmation:** Prompts for Staging and Production project IDs if they are not provided via flags.
44
+ 3. **Cloud Build Connection:** Sets up a Cloud Build connection to your GitHub repository.
45
+ 4. **Terraform Setup:**
46
+ * Configures Terraform to manage your CI/CD infrastructure (Cloud Build triggers, IAM permissions, etc.) and optionally, a development environment (if `--dev-project` is provided).
47
+ * By default, sets up remote Terraform state management using a Google Cloud Storage (GCS) bucket in your CI/CD project (`<CICD_PROJECT_ID>-terraform-state`). Use `--local-state` to opt-out.
48
+ 5. **Resource Deployment:** Runs `terraform apply` to create the necessary resources in Google Cloud and configure the GitHub repository connection.
49
+ 6. **Local Git Setup:** Initializes a Git repository locally (if needed) and adds the GitHub repository as the `origin` remote.
50
+
51
+ ### Running the Command
52
+
53
+ ```bash
54
+ agent-starter-pack setup-cicd \
55
+ [--staging-project <YOUR_STAGING_PROJECT_ID>] \
56
+ [--prod-project <YOUR_PROD_PROJECT_ID>] \
57
+ [--cicd-project <YOUR_CICD_PROJECT_ID>] \
58
+ [--dev-project <YOUR_DEV_PROJECT_ID>] \
59
+ [--region <GCP_REGION>] \
60
+ [--repository-name <GITHUB_REPO_NAME>] \
61
+ [--repository-owner <GITHUB_USERNAME_OR_ORG>] \
62
+ [--local-state] \
63
+ [--auto-approve] \
64
+ [--debug]
65
+ ```
66
+
67
+ **Key Options:**
68
+
69
+ * `--staging-project`, `--prod-project`: **Required Information.** Your Google Cloud project IDs for staging and production environments. The command will prompt for these if the flags are omitted.
70
+ * `--cicd-project`: (Optional) Project ID for hosting CI/CD resources (Cloud Build, Artifact Registry, Terraform state bucket). If omitted, defaults to the production project ID (provided via flag or prompt).
71
+ * `--dev-project`: (Optional) Project ID for a dedicated development environment managed by Terraform. If provided, Terraform will also be applied to set up resources in this development project.
72
+ * `--region`: (Optional) GCP region for resources (default: `us-central1`).
73
+ * `--repository-name`: (Optional) Name for the GitHub repository. If omitted, you'll be prompted or a name will be generated.
74
+ * `--repository-owner`: (Optional) Your GitHub username or organization. Defaults to the authenticated `gh` user if omitted.
75
+ * `--local-state`: (Optional) Use local files for Terraform state instead of the default GCS backend. Not recommended for collaboration.
76
+ * `--auto-approve`: (Optional) Skip interactive prompts (including project ID prompts if flags are omitted). Use carefully.
77
+ * `--debug`: (Optional) Enable verbose logging.
78
+
79
+ *(For advanced/programmatic use with pre-existing connections, see options like `--github-pat`, `--github-app-installation-id`, `--host-connection-name` by running `agent-starter-pack setup-cicd --help`)*
80
+
81
+ ### After Running the Command
82
+
83
+ 1. **Commit and Push:** This is crucial to trigger the pipeline.
84
+ ```bash
85
+ git add .
86
+ git commit -m "Initial commit of agent starter pack"
87
+ git push -u origin main
88
+ ```
89
+ 2. **Verify:** Check your GitHub repository and Google Cloud projects (Cloud Build > Triggers, Secret Manager, IAM) to see the created resources.
90
+
91
+ ### Manual CI/CD Setup (Recommended for Production)
92
+
93
+ For robust, production-ready deployments with fine-grained control over security, customization, and advanced CI/CD practices, please follow the [manual setup guide](../deployment.md).
@@ -1,7 +1,5 @@
1
1
  # Deployment
2
2
 
3
- > **Note:** For an automated setup of a basic CI/CD pipeline, see the [`setup-cicd` CLI command documentation](../docs/cli/setup_cicd.md). The automated setup is experimental and recommended primarily for development and testing. For production, follow the manual steps below.
4
-
5
3
  The templated agent leverages [**Terraform**](http://terraform.io) to define and provision the underlying infrastructure, while [**Cloud Build**](https://cloud.google.com/build/) orchestrates the continuous integration and continuous deployment (CI/CD) pipeline.
6
4
 
7
5
  ## Deployment Workflow
@@ -29,6 +27,8 @@ The templated agent leverages [**Terraform**](http://terraform.io) to define and
29
27
 
30
28
  ## Setup
31
29
 
30
+ > **Note:** For a streamlined one-command deployment of the entire CI/CD pipeline and infrastructure using Terraform, you can use the [`agent-starter-pack setup-cicd` CLI command](./cli/setup_cicd.md). Currently only supporting Github.
31
+
32
32
  **Prerequisites:**
33
33
 
34
34
  1. A set of Google Cloud projects:
@@ -58,6 +58,7 @@ The templated agent leverages [**Terraform**](http://terraform.io) to define and
58
58
 
59
59
  | Variable | Description | Required |
60
60
  | ---------------------- | --------------------------------------------------------------- | :------: |
61
+ | project_name | Project name used as a base for resource naming | Yes |
61
62
  | prod_project_id | **Production** Google Cloud Project ID for resource deployment. | Yes |
62
63
  | staging_project_id | **Staging** Google Cloud Project ID for resource deployment. | Yes |
63
64
  | cicd_runner_project_id | Google Cloud Project ID where CI/CD pipelines will execute. | Yes |
@@ -65,7 +66,7 @@ The templated agent leverages [**Terraform**](http://terraform.io) to define and
65
66
  | host_connection_name | Name of the host connection you created in Cloud Build | Yes |
66
67
  | repository_name | Name of the repository you added to Cloud Build | Yes |
67
68
 
68
- Other optional variables include: telemetry and feedback BigQuery dataset IDs, log filters, sink names, service account names, bucket name suffixes, artifact registry repository name, and various role assignments.
69
+ Other optional variables may include: telemetry and feedback log filters, service account roles, and for projects requiring data ingestion: pipeline cron schedule, pipeline roles, and datastore-specific configurations.
69
70
 
70
71
  4. **Deploy Infrastructure with Terraform**
71
72
 
@@ -96,28 +97,3 @@ After completing these steps, your infrastructure will be set up and ready for d
96
97
  For End-to-end testing of the application, including tracing and feedback sinking to BigQuery, without the need to trigger a CI/CD pipeline.
97
98
 
98
99
  First, enable required Google Cloud APIs:
99
-
100
- ```bash
101
- gcloud config set project <your-dev-project-id>
102
- gcloud services enable serviceusage.googleapis.com cloudresourcemanager.googleapis.com
103
- ```
104
-
105
- After you edited the relative [`env.tfvars` file](../terraform/dev/vars/env.tfvars), follow the following instructions:
106
-
107
- ```bash
108
- cd deployment/terraform/dev
109
- terraform init
110
- terraform apply --var-file vars/env.tfvars
111
- ```
112
-
113
- Then deploy the application using the following command (from the root of the repository):
114
-
115
- ```bash
116
- make backend
117
- ```
118
-
119
- ### End-to-end Demo video
120
-
121
- <a href="https://storage.googleapis.com/github-repo/generative-ai/sample-apps/e2e-gen-ai-app-starter-pack/template_deployment_demo.mp4">
122
- <img src="https://storage.googleapis.com/github-repo/generative-ai/sample-apps/e2e-gen-ai-app-starter-pack/preview_video.png" alt="Watch the video" width="300"/>
123
- </a>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "agent-starter-pack"
3
- version = "0.2.2"
3
+ version = "0.2.3"
4
4
  description = "CLI tool to create GCP-based AI agent projects from templates"
5
5
  authors = [
6
6
  { name = "Google LLC", email = "agent-starter-pack@google.com" },
@@ -11,7 +11,7 @@ requires-python = ">=3.10"
11
11
  dependencies = [
12
12
  "click~=8.1.7",
13
13
  "cookiecutter~=2.5.0",
14
- "google-cloud-aiplatform~=1.81.0",
14
+ "google-cloud-aiplatform~=1.87.0",
15
15
  "rich~=13.7.0",
16
16
  "pyyaml~=6.0.1",
17
17
  "backoff>=2.2.1",
@@ -1,5 +1,5 @@
1
1
  install:
2
- @command -v uv >/dev/null 2>&1 || { echo "uv is not installed. Installing uv..."; curl -LsSf https://astral.sh/uv/install.sh | sh; source ~/.bashrc; }
2
+ @command -v uv >/dev/null 2>&1 || { echo "uv is not installed. Installing uv..."; curl -LsSf https://astral.sh/uv/0.6.12/install.sh | sh; source ~/.bashrc; }
3
3
  uv sync --dev {% if cookiecutter.agent_name != 'live_api' %}--extra streamlit{%- endif %} --extra jupyter --frozen{% if cookiecutter.agent_name == 'live_api' %} && npm --prefix frontend install{%- endif %}
4
4
 
5
5
  test:
@@ -19,7 +19,9 @@ backend:
19
19
  {%- if cookiecutter.deployment_target == 'cloud_run' %}
20
20
  uv run uvicorn app.server:app --host 0.0.0.0 --port 8000 --reload
21
21
  {%- elif cookiecutter.deployment_target == 'agent_engine' %}
22
- uv export --no-hashes --no-sources --no-header --no-emit-project --frozen > .requirements.txt && uv run app/agent_engine_app.py
22
+ # Export dependencies to requirements file using uv export (preferred method), otherwise fall back to uv pip freeze
23
+ uv export --no-hashes --no-sources --no-header --no-dev --no-emit-project --no-annotate --frozen > .requirements.txt 2>/dev/null || \
24
+ uv pip freeze --exclude-editable > .requirements.txt && uv run app/agent_engine_app.py
23
25
  {%- endif %}
24
26
 
25
27
  {% if cookiecutter.deployment_target == 'cloud_run' -%}
@@ -34,8 +36,7 @@ ui:
34
36
  setup-dev-env:
35
37
  @if [ -z "$$PROJECT_ID" ]; then echo "Error: PROJECT_ID environment variable is not set"; exit 1; fi
36
38
  (cd deployment/terraform/dev && terraform init && terraform apply --var-file vars/env.tfvars --var dev_project_id=$$PROJECT_ID --auto-approve)
37
-
38
- {%- if cookiecutter.data_ingestion%}
39
+ {% if cookiecutter.data_ingestion %}
39
40
  data-ingestion:
40
41
  @if [ -z "$$PROJECT_ID" ]; then echo "Error: PROJECT_ID environment variable is not set"; exit 1; fi
41
42
  $(MAKE) install
@@ -48,6 +49,7 @@ data-ingestion:
48
49
  {%- elif cookiecutter.datastore_type == "vertex_ai_vector_search" %}
49
50
  --vector-search-index="{{cookiecutter.project_name}}-vector-search" \
50
51
  --vector-search-index-endpoint="{{cookiecutter.project_name}}-vector-search-endpoint" \
52
+ --vector-search-data-bucket-name="$$PROJECT_ID-{{cookiecutter.project_name}}-vs" \
51
53
  {%- endif %}
52
54
  --service-account="{{cookiecutter.project_name}}-rag@$$PROJECT_ID.iam.gserviceaccount.com" \
53
55
  --pipeline-root="gs://$$PROJECT_ID-{{cookiecutter.project_name}}-rag" \
@@ -56,6 +56,10 @@ make install && make playground
56
56
  {%- endif %}
57
57
  | `make test` | Run unit and integration tests |
58
58
  | `make lint` | Run code quality checks (codespell, ruff, mypy) |
59
+ | `make setup-dev-env` | Set up development environment resources using Terraform |
60
+ {%- if cookiecutter.data_ingestion %}
61
+ | `make data-ingestion`| Run data ingestion pipeline in the Dev environment |
62
+ {%- endif %}
59
63
  | `uv run jupyter lab` | Launch Jupyter notebook |
60
64
 
61
65
  For full command options and usage, refer to the [Makefile](Makefile).
@@ -144,12 +148,14 @@ This template follows a "bring your own agent" approach - you focus on your busi
144
148
  1. **Prototype:** Build your Generative AI Agent using the intro notebooks in `notebooks/` for guidance. Use Vertex AI Evaluation to assess performance.
145
149
  2. **Integrate:** Import your agent into the app by editing `app/agent.py`.
146
150
  3. **Test:** Explore your agent functionality using the Streamlit playground with `make playground`. The playground offers features like chat history, user feedback, and various input types, and automatically reloads your agent on code changes.
147
- 4. **Deploy:** Configure and trigger the CI/CD pipelines, editing tests if needed. See the [deployment section](#deployment) for details.
151
+ 4. **Deploy:** Set up and initiate the CI/CD pipelines, customizing tests as necessary. Refer to the [deployment section](#deployment) for comprehensive instructions. For streamlined infrastructure deployment, simply run `agent-starter-pack setup-cicd`. Check out the [`agent-starter-pack setup-cicd` CLI command](https://github.com/GoogleCloudPlatform/agent-starter-pack/blob/main/docs/cli/setup_cicd.md). Currently only supporting Github.
148
152
  5. **Monitor:** Track performance and gather insights using Cloud Logging, Tracing, and the Looker Studio dashboard to iterate on your application.
149
153
  {% endif %}
150
154
 
151
155
  ## Deployment
152
156
 
157
+ > **Note:** For a streamlined one-command deployment of the entire CI/CD pipeline and infrastructure using Terraform, you can use the [`agent-starter-pack setup-cicd` CLI command](https://github.com/GoogleCloudPlatform/agent-starter-pack/blob/main/docs/cli/setup_cicd.md). Currently only supporting Github.
158
+
153
159
  ### Dev Environment
154
160
 
155
161
  {%- if cookiecutter.deployment_target == 'agent_engine' %}
@@ -29,6 +29,8 @@ The application leverages [**Terraform**](http://terraform.io) to define and pro
29
29
 
30
30
  ## Setup
31
31
 
32
+ > **Note:** For a streamlined one-command deployment of the entire CI/CD pipeline and infrastructure using Terraform, you can use the [`agent-starter-pack setup-cicd` CLI command](https://github.com/GoogleCloudPlatform/agent-starter-pack/blob/main/docs/cli/setup_cicd.md). Currently only supporting Github.
33
+
32
34
  **Prerequisites:**
33
35
 
34
36
  1. A set of Google Cloud projects:
@@ -58,6 +60,7 @@ The application leverages [**Terraform**](http://terraform.io) to define and pro
58
60
 
59
61
  | Variable | Description | Required |
60
62
  | ---------------------- | --------------------------------------------------------------- | :------: |
63
+ | project_name | Project name used as a base for resource naming | Yes |
61
64
  | prod_project_id | **Production** Google Cloud Project ID for resource deployment. | Yes |
62
65
  | staging_project_id | **Staging** Google Cloud Project ID for resource deployment. | Yes |
63
66
  | cicd_runner_project_id | Google Cloud Project ID where CI/CD pipelines will execute. | Yes |
@@ -65,7 +68,7 @@ The application leverages [**Terraform**](http://terraform.io) to define and pro
65
68
  | host_connection_name | Name of the host connection you created in Cloud Build | Yes |
66
69
  | repository_name | Name of the repository you added to Cloud Build | Yes |
67
70
 
68
- Other optional variables include: telemetry and feedback BigQuery dataset IDs, log filters, sink names, service account names, bucket name suffixes, artifact registry repository name, and various role assignments.
71
+ Other optional variables may include: telemetry and feedback log filters, service account roles, and for projects requiring data ingestion: pipeline cron schedule, pipeline roles, and datastore-specific configurations.
69
72
 
70
73
  4. **Deploy Infrastructure with Terraform**
71
74
 
@@ -20,7 +20,7 @@ steps:
20
20
  args:
21
21
  - -c
22
22
  - |
23
- cd data_ingestion && pip install uv --user && uv sync --frozen && \
23
+ cd data_ingestion && pip install uv==0.6.12 --user && uv sync --frozen && \
24
24
  uv run python data_ingestion_pipeline/submit_pipeline.py
25
25
  env:
26
26
  - "PIPELINE_ROOT=${_PIPELINE_GCS_ROOT}"
@@ -75,7 +75,7 @@ steps:
75
75
  args:
76
76
  - "-c"
77
77
  - |
78
- pip install uv --user && uv sync --frozen
78
+ pip install uv==0.6.12 --user && uv sync --frozen
79
79
  env:
80
80
  - 'PATH=/usr/local/bin:/usr/bin:~/.local/bin'
81
81
 
@@ -85,7 +85,7 @@ steps:
85
85
  args:
86
86
  - "-c"
87
87
  - |
88
- uv export --no-hashes --no-sources --no-header --no-emit-project --frozen > .requirements.txt
88
+ uv export --no-hashes --no-sources --no-header --no-dev --no-emit-project --no-annotate --frozen > .requirements.txt
89
89
  uv run app/agent_engine_app.py \
90
90
  --project ${_PROD_PROJECT_ID} \
91
91
  --location ${_REGION} \
@@ -20,7 +20,7 @@ steps:
20
20
  args:
21
21
  - -c
22
22
  - |
23
- cd data_ingestion && pip install uv --user && uv sync --frozen && \
23
+ cd data_ingestion && pip install uv==0.6.12 --user && uv sync --frozen && \
24
24
  uv run python data_ingestion_pipeline/submit_pipeline.py
25
25
  env:
26
26
  - "PIPELINE_ROOT=${_PIPELINE_GCS_ROOT}"
@@ -108,7 +108,7 @@ steps:
108
108
  args:
109
109
  - "-c"
110
110
  - |
111
- pip install uv --user && uv sync --frozen
111
+ pip install uv==0.6.12 --user && uv sync --frozen
112
112
  env:
113
113
  - 'PATH=/usr/local/bin:/usr/bin:~/.local/bin'
114
114
 
@@ -118,7 +118,7 @@ steps:
118
118
  args:
119
119
  - "-c"
120
120
  - |
121
- uv export --no-hashes --no-sources --no-header --no-emit-project --frozen > .requirements.txt
121
+ uv export --no-hashes --no-sources --no-header --no-dev --no-emit-project --no-annotate --frozen > .requirements.txt
122
122
  uv run app/agent_engine_app.py \
123
123
  --project ${_STAGING_PROJECT_ID} \
124
124
  --location ${_REGION} \
@@ -146,7 +146,7 @@ steps:
146
146
  {%- if cookiecutter.deployment_target == 'cloud_run' %}
147
147
  export _ID_TOKEN=$(cat id_token.txt)
148
148
  export _STAGING_URL=$(cat staging_url.txt)
149
- pip install uv --user && uv sync --frozen
149
+ pip install uv==0.6.12 --user && uv sync --frozen
150
150
  {%- elif cookiecutter.deployment_target == 'agent_engine' %}
151
151
  export _AUTH_TOKEN=$(cat auth_token.txt)
152
152
  {%- endif %}
@@ -20,7 +20,7 @@ steps:
20
20
  args:
21
21
  - "-c"
22
22
  - |
23
- pip install uv --user && uv sync --frozen
23
+ pip install uv==0.6.12 --user && uv sync --frozen
24
24
  env:
25
25
  - 'PATH=/usr/local/bin:/usr/bin:~/.local/bin'
26
26
 
@@ -38,6 +38,7 @@ resource "google_cloudbuild_trigger" "pr_checks" {
38
38
  "data_ingestion/**",
39
39
  {% endif %}
40
40
  ]
41
+ include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
41
42
  depends_on = [resource.google_project_service.cicd_services, resource.google_project_service.shared_services]
42
43
  }
43
44
 
@@ -64,6 +65,7 @@ resource "google_cloudbuild_trigger" "cd_pipeline" {
64
65
  "deployment/**",
65
66
  "uv.lock"
66
67
  ]
68
+ include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
67
69
  substitutions = {
68
70
  _STAGING_PROJECT_ID = var.staging_project_id
69
71
  _BUCKET_NAME_LOAD_TEST_RESULTS = resource.google_storage_bucket.bucket_load_test_results.name
@@ -104,6 +106,7 @@ resource "google_cloudbuild_trigger" "deploy_to_prod_pipeline" {
104
106
  repository = "projects/${var.cicd_runner_project_id}/locations/${var.region}/connections/${var.host_connection_name}/repositories/${var.repository_name}"
105
107
  }
106
108
  filename = "deployment/cd/deploy-to-prod.yaml"
109
+ include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
107
110
  approval_config {
108
111
  approval_required = true
109
112
  }
@@ -14,11 +14,11 @@ dependencies = [
14
14
  "traceloop-sdk~=0.38.7",
15
15
  "google-cloud-logging~=3.11.4",
16
16
  {%- if cookiecutter.deployment_target == 'cloud_run' %}
17
- "google-cloud-aiplatform[evaluation]~=1.81.0",
17
+ "google-cloud-aiplatform[evaluation]~=1.87.0",
18
18
  "fastapi~=0.115.8",
19
19
  "uvicorn~=0.34.0"
20
20
  {%- elif cookiecutter.deployment_target == 'agent_engine' %}
21
- "google-cloud-aiplatform[evaluation,reasoningengine]~=1.81.0"
21
+ "google-cloud-aiplatform[evaluation,reasoningengine]~=1.87.0"
22
22
  {%- endif %}
23
23
  ]
24
24
  {% if cookiecutter.deployment_target == 'cloud_run' %}
@@ -37,6 +37,40 @@ from ..utils.template import (
37
37
  console = Console()
38
38
 
39
39
 
40
+ def normalize_project_name(project_name: str) -> str:
41
+ """Normalize project name for better compatibility with cloud resources and tools."""
42
+
43
+ needs_normalization = (
44
+ any(char.isupper() for char in project_name) or "_" in project_name
45
+ )
46
+
47
+ if needs_normalization:
48
+ normalized_name = project_name
49
+ console.print(
50
+ "Note: Project names are normalized (lowercase, hyphens only) for better compatibility with cloud resources and tools.",
51
+ style="dim",
52
+ )
53
+ if any(char.isupper() for char in normalized_name):
54
+ normalized_name = normalized_name.lower()
55
+ console.print(
56
+ f"Info: Converting to lowercase for compatibility: '{project_name}' -> '{normalized_name}'",
57
+ style="bold yellow",
58
+ )
59
+
60
+ if "_" in normalized_name:
61
+ # Capture the name state before this specific change
62
+ name_before_hyphenation = normalized_name
63
+ normalized_name = normalized_name.replace("_", "-")
64
+ console.print(
65
+ f"Info: Replacing underscores with hyphens for compatibility: '{name_before_hyphenation}' -> '{normalized_name}'",
66
+ style="yellow",
67
+ )
68
+
69
+ return normalized_name
70
+
71
+ return project_name
72
+
73
+
40
74
  @click.command()
41
75
  @click.pass_context
42
76
  @click.argument("project_name")
@@ -110,15 +144,7 @@ def create(
110
144
  )
111
145
  return
112
146
 
113
- # Convert project name to lowercase
114
- if any(char.isupper() for char in project_name):
115
- original_name = project_name
116
- project_name = project_name.lower()
117
- console.print(
118
- f"Warning: Project name '{original_name}' contains uppercase characters. "
119
- f"Converting to lowercase: '{project_name}'",
120
- style="bold yellow",
121
- )
147
+ project_name = normalize_project_name(project_name)
122
148
 
123
149
  # Setup debug logging if enabled
124
150
  if debug:
@@ -356,9 +356,11 @@ console = Console()
356
356
 
357
357
  @click.command()
358
358
  @click.option("--dev-project", help="Development project ID")
359
- @click.option("--staging-project", required=True, help="Staging project ID")
360
- @click.option("--prod-project", required=True, help="Production project ID")
361
- @click.option("--cicd-project", required=True, help="CICD project ID")
359
+ @click.option("--staging-project", help="Staging project ID")
360
+ @click.option("--prod-project", help="Production project ID")
361
+ @click.option(
362
+ "--cicd-project", help="CICD project ID (defaults to prod project if not specified)"
363
+ )
362
364
  @click.option("--region", default="us-central1", help="GCP region")
363
365
  @click.option("--repository-name", help="Repository name (optional)")
364
366
  @click.option(
@@ -402,9 +404,9 @@ console = Console()
402
404
  )
403
405
  def setup_cicd(
404
406
  dev_project: str | None,
405
- staging_project: str,
406
- prod_project: str,
407
- cicd_project: str,
407
+ staging_project: str | None,
408
+ prod_project: str | None,
409
+ cicd_project: str | None,
408
410
  region: str,
409
411
  repository_name: str | None,
410
412
  repository_owner: str | None,
@@ -426,6 +428,20 @@ def setup_cicd(
426
428
  "Make sure you are in the folder created by agent-starter-pack."
427
429
  )
428
430
 
431
+ # Prompt for staging and prod projects if not provided
432
+ if staging_project is None:
433
+ staging_project = click.prompt(
434
+ "Enter your staging project ID (where tests will be run)", type=str
435
+ )
436
+
437
+ if prod_project is None:
438
+ prod_project = click.prompt("Enter your production project ID", type=str)
439
+
440
+ # If cicd_project is not provided, default to prod_project
441
+ if cicd_project is None:
442
+ cicd_project = prod_project
443
+ console.print(f"Using production project '{prod_project}' for CI/CD resources")
444
+
429
445
  console.print(
430
446
  "\n⚠️ WARNING: The setup-cicd command is experimental and may have unexpected behavior.",
431
447
  style="bold yellow",