agent-starter-pack 0.14.1__tar.gz → 0.15.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.
Files changed (261) hide show
  1. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.claude/settings.local.json +5 -1
  2. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/PKG-INFO +2 -2
  3. {agent_starter_pack-0.14.1/agents/agentic_rag → agent_starter_pack-0.15.0/agents/adk_base}/notebooks/adk_app_testing.ipynb +36 -18
  4. {agent_starter_pack-0.14.1/agents/adk_base → agent_starter_pack-0.15.0/agents/agentic_rag}/notebooks/adk_app_testing.ipynb +36 -18
  5. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/remote-templates/creating-remote-templates.md +51 -0
  6. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/remote-templates/index.md +4 -3
  7. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/remote-templates/using-remote-templates.md +4 -3
  8. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/pyproject.toml +2 -2
  9. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/Makefile +1 -1
  10. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/vars/env.tfvars +3 -4
  11. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/pyproject.toml +4 -4
  12. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/cli/commands/create.py +34 -11
  13. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/cli/utils/gcp.py +19 -0
  14. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/cli/utils/remote_template.py +144 -1
  15. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/cli/utils/template.py +12 -0
  16. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +6 -3
  17. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/deployment_targets/agent_engine/tests/load_test/load_test.py +12 -3
  18. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/agent_engine_app.py +45 -38
  19. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +12 -0
  20. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/deployment_targets/cloud_run/deployment/terraform/service.tf +24 -0
  21. agent_starter_pack-0.14.1/src/resources/locks/uv-agentic_rag-agent_engine.lock → agent_starter_pack-0.15.0/src/resources/locks/uv-adk_base-agent_engine.lock +1743 -2157
  22. agent_starter_pack-0.14.1/src/resources/locks/uv-agentic_rag-cloud_run.lock → agent_starter_pack-0.15.0/src/resources/locks/uv-adk_base-cloud_run.lock +2301 -2779
  23. agent_starter_pack-0.14.1/src/resources/locks/uv-adk_base-agent_engine.lock → agent_starter_pack-0.15.0/src/resources/locks/uv-agentic_rag-agent_engine.lock +2214 -1708
  24. agent_starter_pack-0.14.1/src/resources/locks/uv-adk_base-cloud_run.lock → agent_starter_pack-0.15.0/src/resources/locks/uv-agentic_rag-cloud_run.lock +2847 -2259
  25. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +2839 -2807
  26. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +3755 -3714
  27. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/resources/locks/uv-langgraph_base_react-agent_engine.lock +2441 -2396
  28. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/resources/locks/uv-langgraph_base_react-cloud_run.lock +3243 -3185
  29. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/resources/locks/uv-live_api-cloud_run.lock +2950 -2902
  30. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/cli/utils/test_remote_template.py +314 -1
  31. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/integration/test_pipeline_parity.py +10 -0
  32. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/uv.lock +2 -2
  33. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.cloudbuild/cd/test_e2e.yaml +0 -0
  34. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.cloudbuild/ci/build_use_wheel.yaml +0 -0
  35. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.cloudbuild/ci/lint.yaml +0 -0
  36. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.cloudbuild/ci/lint_templated_agents.yaml +0 -0
  37. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.cloudbuild/ci/test.yaml +0 -0
  38. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.cloudbuild/ci/test_makefile.yaml +0 -0
  39. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.cloudbuild/ci/test_pipeline_parity.yaml +0 -0
  40. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.cloudbuild/ci/test_remote_template.yaml +0 -0
  41. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.cloudbuild/ci/test_templated_agents.yaml +0 -0
  42. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.cloudbuild/terraform/apis.tf +0 -0
  43. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.cloudbuild/terraform/build_triggers.tf +0 -0
  44. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.cloudbuild/terraform/service_account.tf +0 -0
  45. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.cloudbuild/terraform/storage.tf +0 -0
  46. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.cloudbuild/terraform/variables.tf +0 -0
  47. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.github/workflows/docs.yml +0 -0
  48. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/.gitignore +0 -0
  49. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/CLAUDE.md +0 -0
  50. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/CODE_OF_CONDUCT.md +0 -0
  51. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/CONTRIBUTING.md +0 -0
  52. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/GEMINI.md +0 -0
  53. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/LICENSE +0 -0
  54. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/Makefile +0 -0
  55. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/README.md +0 -0
  56. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/README.md +0 -0
  57. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/adk_base/.template/templateconfig.yaml +0 -0
  58. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/adk_base/README.md +0 -0
  59. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/adk_base/app/__init__.py +0 -0
  60. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/adk_base/app/agent.py +0 -0
  61. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/adk_base/notebooks/evaluating_adk_agent.ipynb +0 -0
  62. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/adk_base/tests/integration/test_agent.py +0 -0
  63. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/agentic_rag/.template/templateconfig.yaml +0 -0
  64. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/agentic_rag/README.md +0 -0
  65. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/agentic_rag/app/__init__.py +0 -0
  66. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/agentic_rag/app/agent.py +0 -0
  67. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/agentic_rag/app/retrievers.py +0 -0
  68. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/agentic_rag/app/templates.py +0 -0
  69. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb +0 -0
  70. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/agentic_rag/tests/integration/test_agent.py +0 -0
  71. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/crewai_coding_crew/.template/templateconfig.yaml +0 -0
  72. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/crewai_coding_crew/README.md +0 -0
  73. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/crewai_coding_crew/app/agent.py +0 -0
  74. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -0
  75. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -0
  76. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/crewai_coding_crew/app/crew/crew.py +0 -0
  77. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb +0 -0
  78. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb +0 -0
  79. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/crewai_coding_crew/tests/integration/test_agent.py +0 -0
  80. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/langgraph_base_react/.template/templateconfig.yaml +0 -0
  81. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/langgraph_base_react/README.md +0 -0
  82. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/langgraph_base_react/app/agent.py +0 -0
  83. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb +0 -0
  84. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/langgraph_base_react/tests/integration/test_agent.py +0 -0
  85. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/live_api/.template/templateconfig.yaml +0 -0
  86. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/live_api/README.md +0 -0
  87. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/live_api/app/agent.py +0 -0
  88. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/live_api/tests/integration/test_server_e2e.py +0 -0
  89. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/live_api/tests/load_test/load_test.py +0 -0
  90. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/agents/live_api/tests/unit/test_server.py +0 -0
  91. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/.vitepress/config.js +0 -0
  92. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/agents/overview.md +0 -0
  93. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/cli/create.md +0 -0
  94. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/cli/enhance.md +0 -0
  95. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/cli/index.md +0 -0
  96. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/cli/list.md +0 -0
  97. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/cli/setup_cicd.md +0 -0
  98. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/guide/community-showcase.md +0 -0
  99. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/guide/data-ingestion.md +0 -0
  100. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/guide/deploy-ui.md +0 -0
  101. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/guide/deployment.md +0 -0
  102. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/guide/development-guide.md +0 -0
  103. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/guide/getting-started.md +0 -0
  104. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/guide/installation.md +0 -0
  105. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/guide/observability.md +0 -0
  106. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/guide/template-config-reference.md +0 -0
  107. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/guide/troubleshooting.md +0 -0
  108. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/guide/video-tutorials.md +0 -0
  109. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/guide/why_starter_pack.md +0 -0
  110. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/images/adk_gemini_fullstack.gif +0 -0
  111. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/images/adk_gemini_fullstack_architecture.png +0 -0
  112. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/images/adk_logo.png +0 -0
  113. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/images/agent_starter_pack_screenshot.png +0 -0
  114. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/images/ags_high_level_architecture.png +0 -0
  115. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/images/icon.png +0 -0
  116. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/images/logo.png +0 -0
  117. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/images/prototype_to_prod.png +0 -0
  118. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/images/why_sp_edited.png +0 -0
  119. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/images/why_starter_pack.png +0 -0
  120. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/index.md +0 -0
  121. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/package-lock.json +0 -0
  122. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/docs/package.json +0 -0
  123. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/llm.txt +0 -0
  124. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/.gitignore +0 -0
  125. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/GEMINI.md +0 -0
  126. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/README.md +0 -0
  127. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/README.md +0 -0
  128. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/apis.tf +0 -0
  129. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/dev/apis.tf +0 -0
  130. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/dev/iam.tf +0 -0
  131. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/dev/log_sinks.tf +0 -0
  132. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/dev/providers.tf +0 -0
  133. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/dev/storage.tf +0 -0
  134. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/dev/variables.tf +0 -0
  135. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/dev/vars/env.tfvars +0 -0
  136. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/github.tf +0 -0
  137. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/iam.tf +0 -0
  138. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/locals.tf +0 -0
  139. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/log_sinks.tf +0 -0
  140. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/providers.tf +0 -0
  141. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/service_accounts.tf +0 -0
  142. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/storage.tf +0 -0
  143. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/variables.tf +0 -0
  144. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'github_actions' %}wif.tf{% else %}unused_wif.tf{% endif %} +0 -0
  145. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}build_triggers.tf{% else %}unused_build_triggers.tf{% endif %} +0 -0
  146. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/tests/unit/test_dummy.py +0 -0
  147. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml +0 -0
  148. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/pr_checks.yaml +0 -0
  149. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml +0 -0
  150. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/deploy-to-prod.yaml +0 -0
  151. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/pr_checks.yaml +0 -0
  152. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml +0 -0
  153. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/{{cookiecutter.agent_directory}}/utils/gcs.py +0 -0
  154. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/{{cookiecutter.agent_directory}}/utils/tracing.py +0 -0
  155. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/base_template/{{cookiecutter.agent_directory}}/utils/typing.py +0 -0
  156. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/cli/commands/enhance.py +0 -0
  157. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/cli/commands/list.py +0 -0
  158. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/cli/commands/setup_cicd.py +0 -0
  159. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/cli/main.py +0 -0
  160. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/cli/utils/__init__.py +0 -0
  161. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/cli/utils/cicd.py +0 -0
  162. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/cli/utils/datastores.py +0 -0
  163. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/cli/utils/logging.py +0 -0
  164. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/cli/utils/version.py +0 -0
  165. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/data_ingestion/README.md +0 -0
  166. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +0 -0
  167. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/data_ingestion/data_ingestion_pipeline/components/process_data.py +0 -0
  168. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/data_ingestion/data_ingestion_pipeline/pipeline.py +0 -0
  169. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +0 -0
  170. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/data_ingestion/pyproject.toml +0 -0
  171. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/data_ingestion/uv.lock +0 -0
  172. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/deployment_targets/agent_engine/deployment_metadata.json +0 -0
  173. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -0
  174. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
  175. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/deployment_targets/agent_engine/tests/load_test/README.md +0 -0
  176. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/deployment_targets/cloud_run/Dockerfile +0 -0
  177. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +0 -0
  178. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
  179. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/deployment_targets/cloud_run/tests/load_test/README.md +0 -0
  180. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/deployment_targets/cloud_run/tests/load_test/load_test.py +0 -0
  181. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/deployment_targets/cloud_run/{{cookiecutter.agent_directory}}/server.py +0 -0
  182. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/package-lock.json +0 -0
  183. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/package.json +0 -0
  184. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/public/favicon.ico +0 -0
  185. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/public/index.html +0 -0
  186. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/public/robots.txt +0 -0
  187. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/App.scss +0 -0
  188. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/App.test.tsx +0 -0
  189. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/App.tsx +0 -0
  190. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/components/audio-pulse/AudioPulse.tsx +0 -0
  191. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/components/audio-pulse/audio-pulse.scss +0 -0
  192. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/components/logger/Logger.tsx +0 -0
  193. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/components/logger/logger.scss +0 -0
  194. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/components/logger/mock-logs.ts +0 -0
  195. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/components/side-panel/SidePanel.tsx +0 -0
  196. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/components/side-panel/side-panel.scss +0 -0
  197. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/contexts/LiveAPIContext.tsx +0 -0
  198. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/hooks/use-live-api.ts +0 -0
  199. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/hooks/use-media-stream-mux.ts +0 -0
  200. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/hooks/use-screen-capture.ts +0 -0
  201. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/hooks/use-webcam.ts +0 -0
  202. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/index.css +0 -0
  203. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/index.tsx +0 -0
  204. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/multimodal-live-types.ts +0 -0
  205. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/react-app-env.d.ts +0 -0
  206. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/reportWebVitals.ts +0 -0
  207. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/setupTests.ts +0 -0
  208. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/utils/audio-recorder.ts +0 -0
  209. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/utils/audio-streamer.ts +0 -0
  210. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/utils/audioworklet-registry.ts +0 -0
  211. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/utils/multimodal-live-client.ts +0 -0
  212. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/utils/store-logger.ts +0 -0
  213. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/utils/utils.ts +0 -0
  214. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/utils/worklets/audio-processing.ts +0 -0
  215. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/src/utils/worklets/vol-meter.ts +0 -0
  216. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/live_api_react/frontend/tsconfig.json +0 -0
  217. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/streamlit/frontend/side_bar.py +0 -0
  218. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/streamlit/frontend/streamlit_app.py +0 -0
  219. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/streamlit/frontend/style/app_markdown.py +0 -0
  220. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/streamlit/frontend/utils/chat_utils.py +0 -0
  221. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/streamlit/frontend/utils/local_chat_history.py +0 -0
  222. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/streamlit/frontend/utils/message_editing.py +0 -0
  223. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -0
  224. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/streamlit/frontend/utils/stream_handler.py +0 -0
  225. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/frontends/streamlit/frontend/utils/title_summary.py +0 -0
  226. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/resources/containers/data_processing/Dockerfile +0 -0
  227. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/resources/containers/e2e-tests/Dockerfile +0 -0
  228. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/resources/docs/adk-cheatsheet.md +0 -0
  229. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/resources/idx/.idx/dev.nix +0 -0
  230. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/resources/idx/idx-template.json +0 -0
  231. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/resources/idx/idx-template.nix +0 -0
  232. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/utils/generate_locks.py +0 -0
  233. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/utils/lock_utils.py +0 -0
  234. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/src/utils/watch_and_rebuild.py +0 -0
  235. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/__init__.py +0 -0
  236. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/cicd/example.env +0 -0
  237. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/cicd/scripts/delete_agent_engines.py +0 -0
  238. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/cicd/scripts/delete_alloydb_clusters.py +0 -0
  239. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/cicd/scripts/delete_vector_search.py +0 -0
  240. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/cicd/test_e2e_deployment.py +0 -0
  241. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/cli/commands/test_create.py +0 -0
  242. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/cli/commands/test_create_local.py +0 -0
  243. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/cli/commands/test_enhance.py +0 -0
  244. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/cli/commands/test_list.py +0 -0
  245. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/cli/commands/test_setup_cicd.py +0 -0
  246. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/cli/utils/test_cicd.py +0 -0
  247. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/integration/test_agent_directory_functionality.py +0 -0
  248. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/integration/test_makefile_usability.py +0 -0
  249. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/integration/test_remote_templating.py +0 -0
  250. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/integration/test_template_linting.py +0 -0
  251. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/integration/test_templated_patterns.py +0 -0
  252. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/integration/utils.py +0 -0
  253. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/test_frontend/test_side_bar.py +0 -0
  254. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/test_frontend/test_streamlit_app.py +0 -0
  255. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/test_frontend/test_utils/test_chat_utils.py +0 -0
  256. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/test_frontend/test_utils/test_local_chat_history.py +0 -0
  257. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/test_frontend/test_utils/test_message_editing.py +0 -0
  258. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/test_frontend/test_utils/test_multimodal_utils.py +0 -0
  259. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/test_frontend/test_utils/test_stream_handler.py +0 -0
  260. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/utils/__init__.py +0 -0
  261. {agent_starter_pack-0.14.1 → agent_starter_pack-0.15.0}/tests/utils/get_agents.py +0 -0
@@ -10,7 +10,11 @@
10
10
  "Bash(gcloud beta serverless address-reservations list --project=agent-starter-pack-e2e-dev --location=europe-west1)",
11
11
  "Bash(gcloud run services delete test-797fa619-1755528509 --region=europe-west1 --project=agent-starter-pack-e2e-dev --quiet)",
12
12
  "Bash(make test)",
13
- "WebFetch(domain:github.com)"
13
+ "WebFetch(domain:github.com)",
14
+ "Bash(uv run ruff check --fix tests/cli/utils/test_remote_template.py)",
15
+ "Bash(uv run ruff check tests/cli/utils/test_remote_template.py)",
16
+ "Bash(uv run pytest tests/cli/utils/test_remote_template.py -v)",
17
+ "Bash(uv run pytest tests/integration/test_pipeline_parity.py::test_staging_parity -v -s)"
14
18
  ],
15
19
  "deny": [],
16
20
  "ask": []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-starter-pack
3
- Version: 0.14.1
3
+ Version: 0.15.0
4
4
  Summary: CLI to bootstrap production-ready Google Cloud GenAI agent projects from templates.
5
5
  Author-email: Google LLC <agent-starter-pack@google.com>
6
6
  License: Apache-2.0
@@ -8,7 +8,7 @@ License-File: LICENSE
8
8
  Requires-Python: >=3.10
9
9
  Requires-Dist: backoff>=2.2.1
10
10
  Requires-Dist: click>=8.1.7
11
- Requires-Dist: cookiecutter~=2.6.0
11
+ Requires-Dist: cookiecutter<3.0.0,>=2.6.0
12
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
@@ -40,48 +40,64 @@
40
40
  },
41
41
  {
42
42
  "cell_type": "code",
43
- "execution_count": 1,
43
+ "execution_count": null,
44
44
  "metadata": {},
45
45
  "outputs": [],
46
46
  "source": [
47
47
  "import json\n",
48
48
  "\n",
49
49
  "import requests\n",
50
- "import vertexai.agent_engines"
50
+ "import vertexai"
51
51
  ]
52
52
  },
53
53
  {
54
54
  "cell_type": "markdown",
55
55
  "metadata": {},
56
56
  "source": [
57
- "## If you are using Agent Engine\n",
58
- "See more documentation at [Agent Engine Overview](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview)"
57
+ "### Initialize Vertex AI Client"
58
+ ]
59
+ },
60
+ {
61
+ "cell_type": "code",
62
+ "execution_count": null,
63
+ "metadata": {},
64
+ "outputs": [],
65
+ "source": [
66
+ "# Initialize the Vertex AI client\n",
67
+ "LOCATION = \"us-central1\"\n",
68
+ "\n",
69
+ "client = vertexai.Client(\n",
70
+ " location=LOCATION,\n",
71
+ ")"
59
72
  ]
60
73
  },
61
74
  {
62
75
  "cell_type": "markdown",
63
76
  "metadata": {},
64
77
  "source": [
65
- "### Remote Testing"
78
+ "## If you are using Agent Engine\n",
79
+ "See more documentation at [Agent Engine Overview](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview)"
66
80
  ]
67
81
  },
68
82
  {
69
- "cell_type": "code",
70
- "execution_count": 4,
83
+ "cell_type": "markdown",
71
84
  "metadata": {},
72
- "outputs": [],
73
85
  "source": [
74
- "# Replace with your Agent Engine ID\n",
75
- "AGENT_ENGINE_ID = \"projects/PROJECT_ID/locations/us-central1/reasoningEngines/ENGINE_ID\""
86
+ "### Remote Testing"
76
87
  ]
77
88
  },
78
89
  {
79
90
  "cell_type": "code",
80
- "execution_count": 5,
91
+ "execution_count": null,
81
92
  "metadata": {},
82
93
  "outputs": [],
83
94
  "source": [
84
- "remote_agent_engine = vertexai.agent_engines.get(AGENT_ENGINE_ID)"
95
+ "# Replace PROJECT_ID and ENGINE_ID with your values\n",
96
+ "AGENT_ENGINE_ID = \"projects/PROJECT_ID/locations/us-central1/reasoningEngines/ENGINE_ID\"\n",
97
+ "\n",
98
+ "# Get the existing agent engine\n",
99
+ "remote_agent_engine = client.agent_engines.get(name=AGENT_ENGINE_ID)\n",
100
+ "print(f\"Retrieved agent engine: {remote_agent_engine.api_resource.name}\")"
85
101
  ]
86
102
  },
87
103
  {
@@ -90,7 +106,9 @@
90
106
  "metadata": {},
91
107
  "outputs": [],
92
108
  "source": [
93
- "for event in remote_agent_engine.stream_query(message=\"hi!\", user_id=\"test\"):\n",
109
+ "async for event in remote_agent_engine.async_stream_query(\n",
110
+ " message=\"hi!\", user_id=\"test\"\n",
111
+ "):\n",
94
112
  " print(event)"
95
113
  ]
96
114
  },
@@ -126,7 +144,7 @@
126
144
  },
127
145
  {
128
146
  "cell_type": "code",
129
- "execution_count": 2,
147
+ "execution_count": null,
130
148
  "metadata": {},
131
149
  "outputs": [],
132
150
  "source": [
@@ -153,7 +171,7 @@
153
171
  "metadata": {},
154
172
  "outputs": [],
155
173
  "source": [
156
- "for event in agent_engine.stream_query(message=\"hi!\", user_id=\"test\"):\n",
174
+ "async for event in agent_engine.async_stream_query(message=\"hi!\", user_id=\"test\"):\n",
157
175
  " print(event)"
158
176
  ]
159
177
  },
@@ -180,7 +198,7 @@
180
198
  },
181
199
  {
182
200
  "cell_type": "code",
183
- "execution_count": 20,
201
+ "execution_count": null,
184
202
  "metadata": {},
185
203
  "outputs": [],
186
204
  "source": [
@@ -336,7 +354,7 @@
336
354
  ],
337
355
  "metadata": {
338
356
  "kernelspec": {
339
- "display_name": "Python 3",
357
+ "display_name": "myagent-1757939450",
340
358
  "language": "python",
341
359
  "name": "python3"
342
360
  },
@@ -350,7 +368,7 @@
350
368
  "name": "python",
351
369
  "nbconvert_exporter": "python",
352
370
  "pygments_lexer": "ipython3",
353
- "version": "3.12.2"
371
+ "version": "3.12.9"
354
372
  }
355
373
  },
356
374
  "nbformat": 4,
@@ -40,48 +40,64 @@
40
40
  },
41
41
  {
42
42
  "cell_type": "code",
43
- "execution_count": 1,
43
+ "execution_count": null,
44
44
  "metadata": {},
45
45
  "outputs": [],
46
46
  "source": [
47
47
  "import json\n",
48
48
  "\n",
49
49
  "import requests\n",
50
- "import vertexai.agent_engines"
50
+ "import vertexai"
51
51
  ]
52
52
  },
53
53
  {
54
54
  "cell_type": "markdown",
55
55
  "metadata": {},
56
56
  "source": [
57
- "## If you are using Agent Engine\n",
58
- "See more documentation at [Agent Engine Overview](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview)"
57
+ "### Initialize Vertex AI Client"
58
+ ]
59
+ },
60
+ {
61
+ "cell_type": "code",
62
+ "execution_count": null,
63
+ "metadata": {},
64
+ "outputs": [],
65
+ "source": [
66
+ "# Initialize the Vertex AI client\n",
67
+ "LOCATION = \"us-central1\"\n",
68
+ "\n",
69
+ "client = vertexai.Client(\n",
70
+ " location=LOCATION,\n",
71
+ ")"
59
72
  ]
60
73
  },
61
74
  {
62
75
  "cell_type": "markdown",
63
76
  "metadata": {},
64
77
  "source": [
65
- "### Remote Testing"
78
+ "## If you are using Agent Engine\n",
79
+ "See more documentation at [Agent Engine Overview](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview)"
66
80
  ]
67
81
  },
68
82
  {
69
- "cell_type": "code",
70
- "execution_count": 4,
83
+ "cell_type": "markdown",
71
84
  "metadata": {},
72
- "outputs": [],
73
85
  "source": [
74
- "# Replace with your Agent Engine ID\n",
75
- "AGENT_ENGINE_ID = \"projects/PROJECT_ID/locations/us-central1/reasoningEngines/ENGINE_ID\""
86
+ "### Remote Testing"
76
87
  ]
77
88
  },
78
89
  {
79
90
  "cell_type": "code",
80
- "execution_count": 5,
91
+ "execution_count": null,
81
92
  "metadata": {},
82
93
  "outputs": [],
83
94
  "source": [
84
- "remote_agent_engine = vertexai.agent_engines.get(AGENT_ENGINE_ID)"
95
+ "# Replace PROJECT_ID and ENGINE_ID with your values\n",
96
+ "AGENT_ENGINE_ID = \"projects/PROJECT_ID/locations/us-central1/reasoningEngines/ENGINE_ID\"\n",
97
+ "\n",
98
+ "# Get the existing agent engine\n",
99
+ "remote_agent_engine = client.agent_engines.get(name=AGENT_ENGINE_ID)\n",
100
+ "print(f\"Retrieved agent engine: {remote_agent_engine.api_resource.name}\")"
85
101
  ]
86
102
  },
87
103
  {
@@ -90,7 +106,9 @@
90
106
  "metadata": {},
91
107
  "outputs": [],
92
108
  "source": [
93
- "for event in remote_agent_engine.stream_query(message=\"hi!\", user_id=\"test\"):\n",
109
+ "async for event in remote_agent_engine.async_stream_query(\n",
110
+ " message=\"hi!\", user_id=\"test\"\n",
111
+ "):\n",
94
112
  " print(event)"
95
113
  ]
96
114
  },
@@ -126,7 +144,7 @@
126
144
  },
127
145
  {
128
146
  "cell_type": "code",
129
- "execution_count": 2,
147
+ "execution_count": null,
130
148
  "metadata": {},
131
149
  "outputs": [],
132
150
  "source": [
@@ -153,7 +171,7 @@
153
171
  "metadata": {},
154
172
  "outputs": [],
155
173
  "source": [
156
- "for event in agent_engine.stream_query(message=\"hi!\", user_id=\"test\"):\n",
174
+ "async for event in agent_engine.async_stream_query(message=\"hi!\", user_id=\"test\"):\n",
157
175
  " print(event)"
158
176
  ]
159
177
  },
@@ -180,7 +198,7 @@
180
198
  },
181
199
  {
182
200
  "cell_type": "code",
183
- "execution_count": 20,
201
+ "execution_count": null,
184
202
  "metadata": {},
185
203
  "outputs": [],
186
204
  "source": [
@@ -336,7 +354,7 @@
336
354
  ],
337
355
  "metadata": {
338
356
  "kernelspec": {
339
- "display_name": "Python 3",
357
+ "display_name": "myagent-1757939450",
340
358
  "language": "python",
341
359
  "name": "python3"
342
360
  },
@@ -350,7 +368,7 @@
350
368
  "name": "python",
351
369
  "nbconvert_exporter": "python",
352
370
  "pygments_lexer": "ipython3",
353
- "version": "3.12.2"
371
+ "version": "3.12.9"
354
372
  }
355
373
  },
356
374
  "nbformat": 4,
@@ -231,6 +231,57 @@ dependencies = [
231
231
 
232
232
  **Best Practice:** Always include a `uv.lock` file for reproducible builds.
233
233
 
234
+ ### Version Locking for Guaranteed Compatibility
235
+
236
+ For maximum compatibility and stability, you can lock your remote template to a specific version of the Agent Starter Pack. This ensures that your template will always be processed with the exact version it was designed for, preventing potential breaking changes from affecting your users.
237
+
238
+ **To enable version locking:**
239
+
240
+ 1. **Add agent-starter-pack as a dev dependency** in your `pyproject.toml`:
241
+ ```toml
242
+ [dependency-groups]
243
+ dev = [
244
+ "agent-starter-pack==0.14.1", # Lock to specific version
245
+ # ... your other dev dependencies
246
+ ]
247
+ ```
248
+
249
+ 2. **Generate the lock file:**
250
+ ```bash
251
+ uv lock
252
+ ```
253
+
254
+ 3. **Commit both files:**
255
+ ```bash
256
+ git add pyproject.toml uv.lock
257
+ git commit -m "Lock agent-starter-pack version for compatibility"
258
+ ```
259
+
260
+ **How it works:**
261
+ - When users fetch your remote template, the starter pack automatically detects the locked version in `uv.lock`
262
+ - It then executes `uvx agent-starter-pack==VERSION` with the locked version (requires `uv` to be installed)
263
+ - This guarantees your template is processed with the exact version you tested it with
264
+
265
+ **Requirements:**
266
+ - Users must have `uv` installed to use version-locked templates
267
+ - If `uv` is not available, the command will fail with installation instructions
268
+
269
+ **When to use version locking:**
270
+ - ✅ Your template uses specific starter pack features that might change
271
+ - ✅ You want to guarantee long-term stability for your users
272
+ - ✅ Your template is critical infrastructure that needs predictable behavior
273
+ - ❌ You always want the latest starter pack features (trade-off: potential breaking changes)
274
+
275
+ **Example user experience:**
276
+ ```bash
277
+ uvx agent-starter-pack create my-project -a github.com/you/your-template
278
+
279
+ # Output:
280
+ # 🔒 Remote template specifies agent-starter-pack version 0.14.1 in uv.lock
281
+ # 📦 Executing nested command: uvx agent-starter-pack==0.14.1
282
+ # [continues with locked version]
283
+ ```
284
+
234
285
  ### Makefile Customization
235
286
 
236
287
  If your template includes a `Makefile`, it will be intelligently merged:
@@ -37,9 +37,10 @@ uvx agent-starter-pack create test-agent -a https://github.com/you/your-template
37
37
 
38
38
  Remote templates work by:
39
39
  1. **Fetching** template repositories from Git
40
- 2. **Applying** intelligent defaults based on repository structure
41
- 3. **Merging** template files with base agent infrastructure
42
- 4. **Generating** complete, production-ready agent projects
40
+ 2. **Version locking** - automatically uses the exact starter pack version specified by the template for guaranteed compatibility
41
+ 3. **Applying** intelligent defaults based on repository structure
42
+ 4. **Merging** template files with base agent infrastructure
43
+ 5. **Generating** complete, production-ready agent projects
43
44
 
44
45
  Any Git repository can become a template - the system handles the complexity automatically.
45
46
 
@@ -7,9 +7,10 @@ Remote templates let you instantly create production-ready AI agents from Git re
7
7
  When you use a remote template, the system:
8
8
 
9
9
  1. **Fetches** the template repository from Git
10
- 2. **Applies intelligent defaults** based on repository structure
11
- 3. **Merges** template files with base agent infrastructure
12
- 4. **Generates** a complete, production-ready agent project
10
+ 2. **Checks for version locking** - if the template specifies a starter pack version in `uv.lock`, automatically uses that version for guaranteed compatibility
11
+ 3. **Applies intelligent defaults** based on repository structure
12
+ 4. **Merges** template files with base agent infrastructure
13
+ 5. **Generates** a complete, production-ready agent project
13
14
 
14
15
  The file merging follows this priority order:
15
16
  1. Base template files (foundation)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "agent-starter-pack"
3
- version = "0.14.1"
3
+ version = "0.15.0"
4
4
  description = "CLI to bootstrap production-ready Google Cloud GenAI agent projects from templates."
5
5
  authors = [
6
6
  { name = "Google LLC", email = "agent-starter-pack@google.com" },
@@ -10,7 +10,7 @@ readme = "README.md"
10
10
  requires-python = ">=3.10"
11
11
  dependencies = [
12
12
  "click>=8.1.7",
13
- "cookiecutter~=2.6.0",
13
+ "cookiecutter>=2.6.0, <3.0.0",
14
14
  "google-cloud-aiplatform>=1.87.0",
15
15
  "rich>=13.7.0",
16
16
  "pyyaml>=6.0.1",
@@ -76,7 +76,7 @@ backend:
76
76
  --region "us-central1" \
77
77
  --no-allow-unauthenticated \
78
78
  --no-cpu-throttling \
79
- --labels "created-by=adk{%- if cookiecutter.agent_garden %},deployed-with=agent-garden{%- endif %}" \
79
+ --labels "{% if "adk" in cookiecutter.tags %}created-by=adk{% if cookiecutter.agent_garden %},{% endif %}{% endif %}{% if cookiecutter.agent_garden %}deployed-with=agent-garden{% if cookiecutter.agent_sample_id %},vertex-agent-sample-id={{cookiecutter.agent_sample_id}},vertex-agent-sample-publisher={{cookiecutter.agent_sample_publisher}}{% endif %}{% endif %}" \
80
80
  --set-env-vars \
81
81
  "COMMIT_SHA=$(shell git rev-parse HEAD){%- if cookiecutter.data_ingestion %}{%- if cookiecutter.datastore_type == "vertex_ai_search" %},DATA_STORE_ID={{cookiecutter.project_name}}-datastore,DATA_STORE_REGION=us{%- elif cookiecutter.datastore_type == "vertex_ai_vector_search" %},VECTOR_SEARCH_INDEX={{cookiecutter.project_name}}-vector-search,VECTOR_SEARCH_INDEX_ENDPOINT={{cookiecutter.project_name}}-vector-search-endpoint,VECTOR_SEARCH_BUCKET=$$PROJECT_ID-{{cookiecutter.project_name}}-vs{%- endif %}{%- endif %}" \
82
82
  $(if $(IAP),--iap) \
@@ -13,8 +13,11 @@ cicd_runner_project_id = "your-cicd-project-id"
13
13
  {%- if cookiecutter.cicd_runner == "google_cloud_build" %}
14
14
  # Name of the host connection you created in Cloud Build
15
15
  host_connection_name = "git-{{cookiecutter.project_name}}"
16
+ github_pat_secret_id = "your-github_pat_secret_id"
16
17
  {%- endif %}
17
18
 
19
+ repository_owner = "Your GitHub organization or username."
20
+
18
21
  # Name of the repository you added to Cloud Build
19
22
  repository_name = "{{cookiecutter.project_name}}"
20
23
 
@@ -34,7 +37,3 @@ vector_search_min_replica_count = 1
34
37
  vector_search_max_replica_count = 1
35
38
  {%- endif %}
36
39
  {%- endif %}
37
- {%- if cookiecutter.cicd_runner == "github_actions" %}
38
-
39
- repository_owner = "Your GitHub organization or username."
40
- {%- endif %}
@@ -14,14 +14,14 @@ dependencies = [
14
14
  "langchain-core~=0.3.9",
15
15
  "traceloop-sdk~=0.38.7",
16
16
  {%- endif %}
17
- "google-cloud-logging~=3.11.4",
17
+ "google-cloud-logging>=3.12.0",
18
18
  {%- if cookiecutter.deployment_target == 'cloud_run' %}
19
- "google-cloud-aiplatform[evaluation]~=1.106.0",
19
+ "google-cloud-aiplatform[evaluation]~=1.113.0",
20
20
  "fastapi~=0.115.8",
21
21
  "uvicorn~=0.34.0",
22
22
  "psycopg2-binary>=2.9.10",
23
23
  {%- elif cookiecutter.deployment_target == 'agent_engine' %}
24
- "google-cloud-aiplatform[evaluation,agent-engines]~=1.106.0"
24
+ "google-cloud-aiplatform[evaluation,agent-engines]~=1.113.0"
25
25
  {%- endif %}
26
26
  ]
27
27
  {% if cookiecutter.deployment_target == 'cloud_run' %}
@@ -72,7 +72,7 @@ select = [
72
72
  "UP", # pyupgrade
73
73
  "RUF", # ruff specific rules
74
74
  ]
75
- ignore = ["E501", "C901"] # ignore line too long, too complex
75
+ ignore = ["E501", "C901", "B006"] # ignore line too long, too complex
76
76
 
77
77
  [tool.ruff.lint.isort]
78
78
  known-first-party = ["{{cookiecutter.agent_directory}}", "frontend"]
@@ -226,6 +226,20 @@ def normalize_project_name(project_name: str) -> str:
226
226
  help="Template files directly into the current directory instead of creating a new project directory",
227
227
  default=False,
228
228
  )
229
+ @click.option(
230
+ "--skip-welcome",
231
+ is_flag=True,
232
+ hidden=True,
233
+ help="Skip the welcome banner",
234
+ default=False,
235
+ )
236
+ @click.option(
237
+ "--locked",
238
+ is_flag=True,
239
+ hidden=True,
240
+ help="Internal flag for version-locked remote templates",
241
+ default=False,
242
+ )
229
243
  @shared_template_options
230
244
  @handle_cli_error
231
245
  def create(
@@ -247,6 +261,7 @@ def create(
247
261
  agent_garden: bool = False,
248
262
  base_template: str | None = None,
249
263
  skip_welcome: bool = False,
264
+ locked: bool = False,
250
265
  cli_overrides: dict | None = None,
251
266
  ) -> None:
252
267
  """Create GCP-based AI agent projects from templates."""
@@ -337,8 +352,22 @@ def create(
337
352
  ignore=get_standard_ignore_patterns(),
338
353
  )
339
354
 
355
+ # Check for version lock and execute nested command if found
356
+ from ..utils.remote_template import check_and_execute_with_version_lock
357
+
358
+ if check_and_execute_with_version_lock(
359
+ template_source_path, agent, locked
360
+ ):
361
+ # If we executed with locked version, cleanup and exit
362
+ shutil.rmtree(temp_dir, ignore_errors=True)
363
+ return
364
+
340
365
  selected_agent = f"local_{template_source_path.name}"
341
- console.print(f"Using local template: {local_path}")
366
+ if locked:
367
+ # In locked mode, show a nicer message
368
+ console.print("✅ Using version-locked template", style="green")
369
+ else:
370
+ console.print(f"Using local template: {local_path}")
342
371
  logging.debug(
343
372
  f"Copied local template to temporary dir: {template_source_path}"
344
373
  )
@@ -354,7 +383,7 @@ def create(
354
383
  else:
355
384
  console.print(f"Fetching remote template: {agent}")
356
385
  template_source_path, temp_dir_path = fetch_remote_template(
357
- remote_spec
386
+ remote_spec, agent, locked
358
387
  )
359
388
  temp_dir_to_clean = str(temp_dir_path)
360
389
  selected_agent = f"remote_{hash(agent)}" # Generate unique name for remote template
@@ -416,7 +445,7 @@ def create(
416
445
  else:
417
446
  console.print(f"Fetching remote template: {agent}")
418
447
  template_source_path, temp_dir_path = fetch_remote_template(
419
- remote_spec
448
+ remote_spec, agent, locked
420
449
  )
421
450
  temp_dir_to_clean = str(temp_dir_path)
422
451
  final_agent = f"remote_{hash(agent)}" # Generate unique name for remote template
@@ -638,14 +667,7 @@ def create(
638
667
  except Exception as e:
639
668
  if debug:
640
669
  logging.warning(f"GCP environment setup failed: {e}")
641
- console.print(
642
- f"> Warning: GCP environment setup failed: {e}", style="yellow"
643
- )
644
- console.print(
645
- "> Please check your authentication settings and permissions. "
646
- "> Visit https://cloud.google.com/vertex-ai/docs/authentication for help.",
647
- style="yellow",
648
- )
670
+ console.print(f"> ⚠️ {e}", style="bold yellow")
649
671
  console.print(
650
672
  "> Continuing with template processing...", style="yellow"
651
673
  )
@@ -690,6 +712,7 @@ def create(
690
712
  in_folder=in_folder,
691
713
  cli_overrides=final_cli_overrides,
692
714
  agent_garden=agent_garden,
715
+ remote_spec=remote_spec,
693
716
  )
694
717
 
695
718
  # Replace region in all files if a different region was specified
@@ -13,9 +13,13 @@
13
13
  # limitations under the License.
14
14
 
15
15
  # ruff: noqa: E722
16
+ import os
16
17
  import subprocess
17
18
  import time
18
19
 
20
+ # Suppress gRPC verbose logging
21
+ os.environ["GRPC_VERBOSITY"] = "NONE"
22
+
19
23
  import google.auth
20
24
  from google.api_core.client_options import ClientOptions
21
25
  from google.api_core.exceptions import PermissionDenied
@@ -34,6 +38,12 @@ from src.cli.utils.version import PACKAGE_NAME, get_current_version
34
38
 
35
39
  console = Console()
36
40
 
41
+ _AUTH_ERROR_MESSAGE = (
42
+ "Looks like you are not authenticated with Google Cloud.\n"
43
+ "Please run: `gcloud auth login --update-adc`\n"
44
+ "Then set your project: `gcloud config set project YOUR_PROJECT_ID`"
45
+ )
46
+
37
47
 
38
48
  def enable_vertex_ai_api(
39
49
  project_id: str, auto_approve: bool = False, context: str | None = None
@@ -240,5 +250,14 @@ def verify_credentials() -> dict:
240
250
  account = "Unknown account"
241
251
 
242
252
  return {"project": project, "account": account}
253
+ except google.auth.exceptions.DefaultCredentialsError as e:
254
+ # Authentication error - provide friendly message
255
+ raise Exception(_AUTH_ERROR_MESSAGE) from e
243
256
  except Exception as e:
257
+ # Check if the error message indicates authentication issues
258
+ error_str = str(e).lower()
259
+ if any(
260
+ keyword in error_str for keyword in ["credential", "auth", "login", "token"]
261
+ ):
262
+ raise Exception(_AUTH_ERROR_MESSAGE) from e
244
263
  raise Exception(f"Failed to verify GCP credentials: {e!s}") from e