agent-starter-pack 0.11.0__tar.gz → 0.11.1__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 (292) hide show
  1. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.claude/settings.local.json +4 -3
  2. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/PKG-INFO +9 -2
  3. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/README.md +8 -1
  4. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/agents/overview.md +0 -10
  5. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/pyproject.toml +1 -1
  6. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml +2 -0
  7. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/cli/commands/enhance.py +70 -16
  8. agent_starter_pack-0.11.1/tests/cli/commands/test_enhance.py +142 -0
  9. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/uv.lock +1 -1
  10. agent_starter_pack-0.11.0/agents/adk_gemini_fullstack/.template/templateconfig.yaml +0 -39
  11. agent_starter_pack-0.11.0/agents/adk_gemini_fullstack/README.md +0 -27
  12. agent_starter_pack-0.11.0/agents/adk_gemini_fullstack/app/agent.py +0 -412
  13. agent_starter_pack-0.11.0/agents/adk_gemini_fullstack/app/config.py +0 -46
  14. agent_starter_pack-0.11.0/agents/adk_gemini_fullstack/tests/integration/test_agent.py +0 -58
  15. agent_starter_pack-0.11.0/agents/agentic_rag/notebooks/adk_app_testing.ipynb +0 -355
  16. agent_starter_pack-0.11.0/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb +0 -1528
  17. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.cloudbuild/cd/test_e2e.yaml +0 -0
  18. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.cloudbuild/ci/build_use_wheel.yaml +0 -0
  19. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.cloudbuild/ci/lint.yaml +0 -0
  20. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.cloudbuild/ci/lint_templated_agents.yaml +0 -0
  21. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.cloudbuild/ci/test.yaml +0 -0
  22. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.cloudbuild/ci/test_makefile.yaml +0 -0
  23. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.cloudbuild/ci/test_pipeline_parity.yaml +0 -0
  24. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.cloudbuild/ci/test_remote_template.yaml +0 -0
  25. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.cloudbuild/ci/test_templated_agents.yaml +0 -0
  26. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.cloudbuild/terraform/apis.tf +0 -0
  27. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.cloudbuild/terraform/build_triggers.tf +0 -0
  28. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.cloudbuild/terraform/service_account.tf +0 -0
  29. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.cloudbuild/terraform/storage.tf +0 -0
  30. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.cloudbuild/terraform/variables.tf +0 -0
  31. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.github/workflows/docs.yml +0 -0
  32. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/.gitignore +0 -0
  33. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/CLAUDE.md +0 -0
  34. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/CODE_OF_CONDUCT.md +0 -0
  35. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/CONTRIBUTING.md +0 -0
  36. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/GEMINI.md +0 -0
  37. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/LICENSE +0 -0
  38. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/Makefile +0 -0
  39. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/README.md +0 -0
  40. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/adk_base/.template/templateconfig.yaml +0 -0
  41. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/adk_base/README.md +0 -0
  42. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/adk_base/app/agent.py +0 -0
  43. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/adk_base/notebooks/adk_app_testing.ipynb +0 -0
  44. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/adk_base/notebooks/evaluating_adk_agent.ipynb +0 -0
  45. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/adk_base/tests/integration/test_agent.py +0 -0
  46. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/agentic_rag/.template/templateconfig.yaml +0 -0
  47. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/agentic_rag/README.md +0 -0
  48. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/agentic_rag/app/agent.py +0 -0
  49. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/agentic_rag/app/retrievers.py +0 -0
  50. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/agentic_rag/app/templates.py +0 -0
  51. {agent_starter_pack-0.11.0/agents/adk_gemini_fullstack → agent_starter_pack-0.11.1/agents/agentic_rag}/notebooks/adk_app_testing.ipynb +0 -0
  52. {agent_starter_pack-0.11.0/agents/adk_gemini_fullstack → agent_starter_pack-0.11.1/agents/agentic_rag}/notebooks/evaluating_adk_agent.ipynb +0 -0
  53. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/agentic_rag/tests/integration/test_agent.py +0 -0
  54. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/crewai_coding_crew/.template/templateconfig.yaml +0 -0
  55. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/crewai_coding_crew/README.md +0 -0
  56. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/crewai_coding_crew/app/agent.py +0 -0
  57. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -0
  58. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -0
  59. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/crewai_coding_crew/app/crew/crew.py +0 -0
  60. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb +0 -0
  61. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb +0 -0
  62. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/crewai_coding_crew/tests/integration/test_agent.py +0 -0
  63. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/langgraph_base_react/.template/templateconfig.yaml +0 -0
  64. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/langgraph_base_react/README.md +0 -0
  65. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/langgraph_base_react/app/agent.py +0 -0
  66. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb +0 -0
  67. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/langgraph_base_react/tests/integration/test_agent.py +0 -0
  68. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/live_api/.template/templateconfig.yaml +0 -0
  69. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/live_api/README.md +0 -0
  70. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/live_api/app/agent.py +0 -0
  71. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/live_api/app/server.py +0 -0
  72. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/live_api/tests/integration/test_server_e2e.py +0 -0
  73. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/live_api/tests/load_test/load_test.py +0 -0
  74. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/agents/live_api/tests/unit/test_server.py +0 -0
  75. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/.vitepress/config.js +0 -0
  76. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/cli/create.md +0 -0
  77. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/cli/enhance.md +0 -0
  78. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/cli/index.md +0 -0
  79. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/cli/list.md +0 -0
  80. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/cli/setup_cicd.md +0 -0
  81. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/guide/data-ingestion.md +0 -0
  82. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/guide/deploy-ui.md +0 -0
  83. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/guide/deployment.md +0 -0
  84. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/guide/development-guide.md +0 -0
  85. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/guide/getting-started.md +0 -0
  86. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/guide/installation.md +0 -0
  87. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/guide/observability.md +0 -0
  88. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/guide/template-config-reference.md +0 -0
  89. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/guide/troubleshooting.md +0 -0
  90. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/guide/video-tutorials.md +0 -0
  91. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/guide/why_starter_pack.md +0 -0
  92. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/images/adk_gemini_fullstack.gif +0 -0
  93. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/images/adk_gemini_fullstack_architecture.png +0 -0
  94. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/images/adk_logo.png +0 -0
  95. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/images/agent_starter_pack_screenshot.png +0 -0
  96. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/images/ags_high_level_architecture.png +0 -0
  97. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/images/icon.png +0 -0
  98. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/images/logo.png +0 -0
  99. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/images/prototype_to_prod.png +0 -0
  100. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/images/why_sp_edited.png +0 -0
  101. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/images/why_starter_pack.png +0 -0
  102. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/index.md +0 -0
  103. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/package-lock.json +0 -0
  104. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/package.json +0 -0
  105. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/remote-templates/creating-remote-templates.md +0 -0
  106. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/remote-templates/index.md +0 -0
  107. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/docs/remote-templates/using-remote-templates.md +0 -0
  108. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/llm.txt +0 -0
  109. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/.gitignore +0 -0
  110. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/GEMINI.md +0 -0
  111. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/Makefile +0 -0
  112. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/README.md +0 -0
  113. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/app/__init__.py +0 -0
  114. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/app/utils/gcs.py +0 -0
  115. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/app/utils/tracing.py +0 -0
  116. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/app/utils/typing.py +0 -0
  117. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/README.md +0 -0
  118. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/apis.tf +0 -0
  119. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/dev/apis.tf +0 -0
  120. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/dev/iam.tf +0 -0
  121. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/dev/log_sinks.tf +0 -0
  122. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/dev/providers.tf +0 -0
  123. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/dev/storage.tf +0 -0
  124. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/dev/variables.tf +0 -0
  125. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/dev/vars/env.tfvars +0 -0
  126. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/github.tf +0 -0
  127. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/iam.tf +0 -0
  128. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/locals.tf +0 -0
  129. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/log_sinks.tf +0 -0
  130. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/providers.tf +0 -0
  131. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/service_accounts.tf +0 -0
  132. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/storage.tf +0 -0
  133. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/variables.tf +0 -0
  134. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/vars/env.tfvars +0 -0
  135. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'github_actions' %}wif.tf{% else %}unused_wif.tf{% endif %} +0 -0
  136. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}build_triggers.tf{% else %}unused_build_triggers.tf{% endif %} +0 -0
  137. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/pyproject.toml +0 -0
  138. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/tests/unit/test_dummy.py +0 -0
  139. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/pr_checks.yaml +0 -0
  140. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml +0 -0
  141. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/deploy-to-prod.yaml +0 -0
  142. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/pr_checks.yaml +0 -0
  143. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml +0 -0
  144. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/cli/commands/create.py +0 -0
  145. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/cli/commands/list.py +0 -0
  146. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/cli/commands/setup_cicd.py +0 -0
  147. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/cli/main.py +0 -0
  148. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/cli/utils/__init__.py +0 -0
  149. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/cli/utils/cicd.py +0 -0
  150. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/cli/utils/datastores.py +0 -0
  151. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/cli/utils/gcp.py +0 -0
  152. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/cli/utils/logging.py +0 -0
  153. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/cli/utils/remote_template.py +0 -0
  154. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/cli/utils/template.py +0 -0
  155. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/cli/utils/version.py +0 -0
  156. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/data_ingestion/README.md +0 -0
  157. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +0 -0
  158. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/data_ingestion/data_ingestion_pipeline/components/process_data.py +0 -0
  159. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/data_ingestion/data_ingestion_pipeline/pipeline.py +0 -0
  160. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +0 -0
  161. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/data_ingestion/pyproject.toml +0 -0
  162. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/data_ingestion/uv.lock +0 -0
  163. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/deployment_targets/agent_engine/app/agent_engine_app.py +0 -0
  164. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/deployment_targets/agent_engine/deployment_metadata.json +0 -0
  165. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -0
  166. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +0 -0
  167. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
  168. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/deployment_targets/agent_engine/tests/load_test/README.md +0 -0
  169. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/deployment_targets/agent_engine/tests/load_test/load_test.py +0 -0
  170. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/deployment_targets/cloud_run/Dockerfile +0 -0
  171. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/deployment_targets/cloud_run/app/server.py +0 -0
  172. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +0 -0
  173. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/deployment_targets/cloud_run/deployment/terraform/service.tf +0 -0
  174. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +0 -0
  175. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
  176. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/deployment_targets/cloud_run/tests/load_test/README.md +0 -0
  177. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/deployment_targets/cloud_run/tests/load_test/load_test.py +0 -0
  178. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/components.json +0 -0
  179. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/eslint.config.js +0 -0
  180. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/index.html +0 -0
  181. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/package-lock.json +0 -0
  182. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/package.json +0 -0
  183. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/App.tsx +0 -0
  184. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/components/ActivityTimeline.tsx +0 -0
  185. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/components/ChatMessagesView.tsx +0 -0
  186. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/components/InputForm.tsx +0 -0
  187. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/components/WelcomeScreen.tsx +0 -0
  188. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/badge.tsx +0 -0
  189. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/button.tsx +0 -0
  190. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/card.tsx +0 -0
  191. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/input.tsx +0 -0
  192. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/scroll-area.tsx +0 -0
  193. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/select.tsx +0 -0
  194. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/tabs.tsx +0 -0
  195. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/textarea.tsx +0 -0
  196. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/global.css +0 -0
  197. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/main.tsx +0 -0
  198. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/utils.ts +0 -0
  199. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/src/vite-env.d.ts +0 -0
  200. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/tsconfig.json +0 -0
  201. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/tsconfig.node.json +0 -0
  202. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/adk_gemini_fullstack/frontend/vite.config.ts +0 -0
  203. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/package-lock.json +0 -0
  204. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/package.json +0 -0
  205. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/public/favicon.ico +0 -0
  206. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/public/index.html +0 -0
  207. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/public/robots.txt +0 -0
  208. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/App.scss +0 -0
  209. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/App.test.tsx +0 -0
  210. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/App.tsx +0 -0
  211. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/components/audio-pulse/AudioPulse.tsx +0 -0
  212. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/components/audio-pulse/audio-pulse.scss +0 -0
  213. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/components/control-tray/ControlTray.tsx +0 -0
  214. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/components/control-tray/control-tray.scss +0 -0
  215. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/components/logger/Logger.tsx +0 -0
  216. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/components/logger/logger.scss +0 -0
  217. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/components/logger/mock-logs.ts +0 -0
  218. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/components/side-panel/SidePanel.tsx +0 -0
  219. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/components/side-panel/side-panel.scss +0 -0
  220. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/contexts/LiveAPIContext.tsx +0 -0
  221. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/hooks/use-live-api.ts +0 -0
  222. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/hooks/use-media-stream-mux.ts +0 -0
  223. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/hooks/use-screen-capture.ts +0 -0
  224. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/hooks/use-webcam.ts +0 -0
  225. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/index.css +0 -0
  226. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/index.tsx +0 -0
  227. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/multimodal-live-types.ts +0 -0
  228. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/react-app-env.d.ts +0 -0
  229. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/reportWebVitals.ts +0 -0
  230. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/setupTests.ts +0 -0
  231. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/utils/audio-recorder.ts +0 -0
  232. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/utils/audio-streamer.ts +0 -0
  233. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/utils/audioworklet-registry.ts +0 -0
  234. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/utils/multimodal-live-client.ts +0 -0
  235. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/utils/store-logger.ts +0 -0
  236. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/utils/utils.ts +0 -0
  237. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/utils/worklets/audio-processing.ts +0 -0
  238. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/src/utils/worklets/vol-meter.ts +0 -0
  239. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/live_api_react/frontend/tsconfig.json +0 -0
  240. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/streamlit/frontend/side_bar.py +0 -0
  241. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/streamlit/frontend/streamlit_app.py +0 -0
  242. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/streamlit/frontend/style/app_markdown.py +0 -0
  243. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/streamlit/frontend/utils/chat_utils.py +0 -0
  244. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/streamlit/frontend/utils/local_chat_history.py +0 -0
  245. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/streamlit/frontend/utils/message_editing.py +0 -0
  246. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -0
  247. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/streamlit/frontend/utils/stream_handler.py +0 -0
  248. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/frontends/streamlit/frontend/utils/title_summary.py +0 -0
  249. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/containers/data_processing/Dockerfile +0 -0
  250. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/containers/e2e-tests/Dockerfile +0 -0
  251. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/docs/adk-cheatsheet.md +0 -0
  252. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/idx/.idx/dev.nix +0 -0
  253. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/idx/idx-template.json +0 -0
  254. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/idx/idx-template.nix +0 -0
  255. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/locks/uv-adk_base-agent_engine.lock +0 -0
  256. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/locks/uv-adk_base-cloud_run.lock +0 -0
  257. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/locks/uv-adk_gemini_fullstack-agent_engine.lock +0 -0
  258. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/locks/uv-adk_gemini_fullstack-cloud_run.lock +0 -0
  259. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/locks/uv-agentic_rag-agent_engine.lock +0 -0
  260. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/locks/uv-agentic_rag-cloud_run.lock +0 -0
  261. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +0 -0
  262. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +0 -0
  263. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/locks/uv-langgraph_base_react-agent_engine.lock +0 -0
  264. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/locks/uv-langgraph_base_react-cloud_run.lock +0 -0
  265. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/resources/locks/uv-live_api-cloud_run.lock +0 -0
  266. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/utils/generate_locks.py +0 -0
  267. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/utils/lock_utils.py +0 -0
  268. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/src/utils/watch_and_rebuild.py +0 -0
  269. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/__init__.py +0 -0
  270. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/cicd/example.env +0 -0
  271. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/cicd/test_e2e_deployment.py +0 -0
  272. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/cli/commands/test_create.py +0 -0
  273. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/cli/commands/test_create_local.py +0 -0
  274. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/cli/commands/test_list.py +0 -0
  275. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/cli/commands/test_setup_cicd.py +0 -0
  276. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/cli/utils/test_cicd.py +0 -0
  277. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/cli/utils/test_remote_template.py +0 -0
  278. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/integration/test_makefile_usability.py +0 -0
  279. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/integration/test_pipeline_parity.py +0 -0
  280. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/integration/test_remote_templating.py +0 -0
  281. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/integration/test_template_linting.py +0 -0
  282. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/integration/test_templated_patterns.py +0 -0
  283. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/integration/utils.py +0 -0
  284. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/test_frontend/test_side_bar.py +0 -0
  285. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/test_frontend/test_streamlit_app.py +0 -0
  286. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/test_frontend/test_utils/test_chat_utils.py +0 -0
  287. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/test_frontend/test_utils/test_local_chat_history.py +0 -0
  288. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/test_frontend/test_utils/test_message_editing.py +0 -0
  289. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/test_frontend/test_utils/test_multimodal_utils.py +0 -0
  290. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/test_frontend/test_utils/test_stream_handler.py +0 -0
  291. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/utils/__init__.py +0 -0
  292. {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.1}/tests/utils/get_agents.py +0 -0
@@ -1,4 +1,5 @@
1
1
  {
2
+ "$schema": "https://json.schemastore.org/claude-code-settings.json",
2
3
  "permissions": {
3
4
  "allow": [
4
5
  "Bash(grep:*)",
@@ -11,9 +12,9 @@
11
12
  "Bash(. tests/cicd/.env)",
12
13
  "Bash(set +a)",
13
14
  "Bash(bash:*)",
14
- "Bash(ls:*)"
15
+ "Bash(ls:*)",
16
+ "Bash(python -m pytest tests/cli/commands/test_enhance.py::TestEnhanceCommand::test_enhance_with_interactive_base_template_selection -v)"
15
17
  ],
16
18
  "deny": []
17
- },
18
- "$schema": "https://json.schemastore.org/claude-code-settings.json"
19
+ }
19
20
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-starter-pack
3
- Version: 0.11.0
3
+ Version: 0.11.1
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
@@ -75,6 +75,14 @@ This command handles creating the project without needing to pre-install the pac
75
75
 
76
76
  **That's it!** You now have a fully functional agent project—complete with backend, frontend, and deployment infrastructure—ready for you to explore and customize.
77
77
 
78
+ ### 🔧 Enhance Existing Agents
79
+
80
+ Already have an agent? Add production-ready deployment and infrastructure:
81
+
82
+ ```bash
83
+ agent-starter-pack enhance my-existing-agent
84
+ ```
85
+
78
86
  See [Installation Guide](https://googlecloudplatform.github.io/agent-starter-pack/guide/installation) for more options, or try with zero setup in [Firebase Studio](https://studio.firebase.google.com/new?template=https%3A%2F%2Fgithub.com%2FGoogleCloudPlatform%2Fagent-starter-pack%2Ftree%2Fmain%2Fsrc%2Fresources%2Fidx) or [Cloud Shell](https://shell.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Feliasecchig%2Fasp-open-in-cloud-shell&cloudshell_print=open-in-cs).
79
87
 
80
88
  ---
@@ -84,7 +92,6 @@ See [Installation Guide](https://googlecloudplatform.github.io/agent-starter-pac
84
92
  | Agent Name | Description |
85
93
  |-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
86
94
  | `adk_base` | A base ReAct agent implemented using Google's [Agent Development Kit](https://github.com/google/adk-python) |
87
- | `adk_gemini_fullstack` | A production-ready fullstack research agent with Gemini that demonstrates complex agentic workflows, modular agent design, and Human-in-the-Loop steps. [ADK Samples](https://github.com/google/adk-samples/tree/main/python/agents/gemini-fullstack) |
88
95
  | `agentic_rag` | A RAG agent for document retrieval and Q&A. Supporting [Vertex AI Search](https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction) and [Vector Search](https://cloud.google.com/vertex-ai/docs/vector-search/overview). |
89
96
  | `langgraph_base_react` | An agent implementing a base ReAct agent using LangGraph |
90
97
  | `crewai_coding_crew` | A multi-agent system implemented with CrewAI created to support coding activities |
@@ -52,6 +52,14 @@ This command handles creating the project without needing to pre-install the pac
52
52
 
53
53
  **That's it!** You now have a fully functional agent project—complete with backend, frontend, and deployment infrastructure—ready for you to explore and customize.
54
54
 
55
+ ### 🔧 Enhance Existing Agents
56
+
57
+ Already have an agent? Add production-ready deployment and infrastructure:
58
+
59
+ ```bash
60
+ agent-starter-pack enhance my-existing-agent
61
+ ```
62
+
55
63
  See [Installation Guide](https://googlecloudplatform.github.io/agent-starter-pack/guide/installation) for more options, or try with zero setup in [Firebase Studio](https://studio.firebase.google.com/new?template=https%3A%2F%2Fgithub.com%2FGoogleCloudPlatform%2Fagent-starter-pack%2Ftree%2Fmain%2Fsrc%2Fresources%2Fidx) or [Cloud Shell](https://shell.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Feliasecchig%2Fasp-open-in-cloud-shell&cloudshell_print=open-in-cs).
56
64
 
57
65
  ---
@@ -61,7 +69,6 @@ See [Installation Guide](https://googlecloudplatform.github.io/agent-starter-pac
61
69
  | Agent Name | Description |
62
70
  |-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
63
71
  | `adk_base` | A base ReAct agent implemented using Google's [Agent Development Kit](https://github.com/google/adk-python) |
64
- | `adk_gemini_fullstack` | A production-ready fullstack research agent with Gemini that demonstrates complex agentic workflows, modular agent design, and Human-in-the-Loop steps. [ADK Samples](https://github.com/google/adk-samples/tree/main/python/agents/gemini-fullstack) |
65
72
  | `agentic_rag` | A RAG agent for document retrieval and Q&A. Supporting [Vertex AI Search](https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction) and [Vector Search](https://cloud.google.com/vertex-ai/docs/vector-search/overview). |
66
73
  | `langgraph_base_react` | An agent implementing a base ReAct agent using LangGraph |
67
74
  | `crewai_coding_crew` | A multi-agent system implemented with CrewAI created to support coding activities |
@@ -33,16 +33,6 @@ This template provides a minimal example of a ReAct agent built using Google's [
33
33
  * Building general-purpose conversational agents.
34
34
  * Learning the ADK framework and ReAct pattern.
35
35
 
36
- ### ADK Gemini Fullstack (`adk_gemini_fullstack`)
37
-
38
- > 🔍 **Sample Agent**: This agent is part of the [ADK Samples](https://github.com/google/adk-samples/tree/main/python/agents/gemini-fullstack) collection, showcasing agent implementations using the Agent Development Kit.
39
-
40
- This template provides a production-ready blueprint for building a sophisticated, fullstack research agent with Gemini. It demonstrates how the ADK helps structure complex agentic workflows, build modular agents, and incorporate critical Human-in-the-Loop (HITL) steps. Key features include:
41
-
42
- * A complete React frontend and ADK-powered FastAPI backend
43
- * Advanced agentic workflow where the agent strategizes a multi-step plan, reflects on findings to identify gaps, and synthesizes a final, comprehensive report.
44
- * Iterative and Human-in-the-Loop research that involves the user for plan approval, then autonomously loops through searching and refining results.
45
-
46
36
  ### Agentic RAG (`agentic_rag`)
47
37
 
48
38
  Built on the ADK, this template implements [Retrieval-Augmented Generation (RAG)](https://cloud.google.com/use-cases/retrieval-augmented-generation?hl=en) with a production-ready data ingestion pipeline for document-based question answering. It allows you to ingest, process, and embed custom data to enhance response relevance. Features include:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "agent-starter-pack"
3
- version = "0.11.0"
3
+ version = "0.11.1"
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" },
@@ -64,10 +64,12 @@ jobs:
64
64
  uses: 'google-github-actions/setup-gcloud@v2'
65
65
  {%- endif %}
66
66
 
67
+ {%- if cookiecutter.deployment_target == 'agent_engine' %}
67
68
  - name: Install uv and dependencies
68
69
  run: |
69
70
  pip install uv==0.6.12
70
71
  uv sync --locked
72
+ {%- endif %}
71
73
 
72
74
  {%- if cookiecutter.data_ingestion %}
73
75
  - name: Deploy data ingestion pipeline (Production)
@@ -16,8 +16,10 @@ import pathlib
16
16
 
17
17
  import click
18
18
  from rich.console import Console
19
+ from rich.prompt import IntPrompt
19
20
 
20
21
  from ..utils.logging import display_welcome_banner, handle_cli_error
22
+ from ..utils.template import get_available_agents
21
23
  from .create import (
22
24
  create,
23
25
  get_available_base_templates,
@@ -28,6 +30,48 @@ from .create import (
28
30
  console = Console()
29
31
 
30
32
 
33
+ def display_base_template_selection(current_base: str) -> str:
34
+ """Display available base templates and prompt for selection."""
35
+ agents = get_available_agents()
36
+
37
+ if not agents:
38
+ raise click.ClickException("No base templates available")
39
+
40
+ console.print()
41
+ console.print("🔧 [bold]Base Template Selection[/bold]")
42
+ console.print()
43
+ console.print(f"Your project currently inherits from: [cyan]{current_base}[/cyan]")
44
+ console.print("Available base templates:")
45
+
46
+ # Create a mapping of choices to agent names
47
+ template_choices = {}
48
+ choice_num = 1
49
+ current_choice = None
50
+
51
+ for _num, agent in agents.items():
52
+ template_choices[choice_num] = agent["name"]
53
+ current_indicator = " (current)" if agent["name"] == current_base else ""
54
+ console.print(
55
+ f" {choice_num}. [bold]{agent['name']}[/]{current_indicator} - [dim]{agent['description']}[/]"
56
+ )
57
+ if agent["name"] == current_base:
58
+ current_choice = choice_num
59
+ choice_num += 1
60
+
61
+ if current_choice is None:
62
+ current_choice = 1
63
+
64
+ console.print()
65
+ choice = IntPrompt.ask(
66
+ "Select base template", default=current_choice, show_default=True
67
+ )
68
+
69
+ if choice in template_choices:
70
+ return template_choices[choice]
71
+ else:
72
+ raise ValueError(f"Invalid base template selection: {choice}")
73
+
74
+
31
75
  @click.command()
32
76
  @click.pass_context
33
77
  @click.argument(
@@ -155,25 +199,35 @@ def enhance(
155
199
  # Load config from current directory for inheritance info
156
200
  current_dir = pathlib.Path.cwd()
157
201
  source_config = load_remote_template_config(current_dir, cli_overrides)
158
- base_template_name = get_base_template_name(source_config)
159
-
160
- console.print()
161
- console.print(
162
- f"Template inherits from base: [cyan][link=https://github.com/GoogleCloudPlatform/agent-starter-pack/tree/main/agents/{base_template_name}]{base_template_name}[/link][/cyan]"
163
- )
202
+ original_base_template_name = get_base_template_name(source_config)
164
203
 
165
- # Show available alternatives and guidance
166
- available_bases = get_available_base_templates()
167
- if len(available_bases) > 1:
168
- other_bases = [b for b in available_bases if b != base_template_name]
169
- if other_bases:
170
- console.print(
171
- f"[dim]💡 To use a different base template (e.g., {', '.join(other_bases[:2])}), use:[/dim]"
172
- )
204
+ # Interactive base template selection if not provided via CLI and not auto-approved
205
+ if not base_template and not auto_approve:
206
+ selected_base_template = display_base_template_selection(
207
+ original_base_template_name
208
+ )
209
+ if selected_base_template != original_base_template_name:
210
+ # Update CLI overrides with the selected base template
211
+ cli_overrides["base_template"] = selected_base_template
212
+ base_template = selected_base_template
173
213
  console.print(
174
- "[dim] asp enhance . --base-template langgraph_base_react[/dim]"
214
+ f" Selected base template: [cyan]{selected_base_template}[/cyan]"
175
215
  )
176
- console.print()
216
+ console.print()
217
+
218
+ # Reload config with potential base template override
219
+ if cli_overrides.get("base_template"):
220
+ source_config = load_remote_template_config(current_dir, cli_overrides)
221
+
222
+ base_template_name = get_base_template_name(source_config)
223
+
224
+ # Show current inheritance info
225
+ if not auto_approve or base_template:
226
+ console.print()
227
+ console.print(
228
+ f"Template inherits from base: [cyan][link=https://github.com/GoogleCloudPlatform/agent-starter-pack/tree/main/agents/{base_template_name}]{base_template_name}[/link][/cyan]"
229
+ )
230
+ console.print()
177
231
 
178
232
  # Validate project structure when using current directory template
179
233
  if template_path == pathlib.Path("."):
@@ -0,0 +1,142 @@
1
+ # Copyright 2025 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ import pathlib
16
+ from unittest.mock import MagicMock, patch
17
+
18
+ import click
19
+ import pytest
20
+ from click.testing import CliRunner
21
+
22
+ from src.cli.commands.enhance import display_base_template_selection, enhance
23
+
24
+
25
+ class TestDisplayBaseTemplateSelection:
26
+ """Test the base template selection function."""
27
+
28
+ @patch("src.cli.commands.enhance.get_available_agents")
29
+ @patch("src.cli.commands.enhance.IntPrompt.ask")
30
+ def test_base_template_selection_with_current_default(
31
+ self, mock_prompt: MagicMock, mock_get_agents: MagicMock
32
+ ) -> None:
33
+ """Test that current base template is the default selection."""
34
+ # Mock available agents
35
+ mock_get_agents.return_value = {
36
+ 1: {"name": "adk_base", "description": "Basic agent template"},
37
+ 2: {"name": "langgraph_base_react", "description": "LangGraph ReAct agent"},
38
+ 3: {"name": "agentic_rag", "description": "RAG-enabled agent"},
39
+ }
40
+
41
+ # Mock user selecting default (current template)
42
+ mock_prompt.return_value = 1
43
+
44
+ result = display_base_template_selection("adk_base")
45
+
46
+ assert result == "adk_base"
47
+ # Check that prompt was called with the correct default (1 for adk_base)
48
+ mock_prompt.assert_called_once()
49
+ call_args = mock_prompt.call_args
50
+ assert call_args[1]["default"] == 1
51
+
52
+ @patch("src.cli.commands.enhance.get_available_agents")
53
+ @patch("src.cli.commands.enhance.IntPrompt.ask")
54
+ def test_base_template_selection_different_choice(
55
+ self, mock_prompt: MagicMock, mock_get_agents: MagicMock
56
+ ) -> None:
57
+ """Test selecting a different base template."""
58
+ # Mock available agents
59
+ mock_get_agents.return_value = {
60
+ 1: {"name": "adk_base", "description": "Basic agent template"},
61
+ 2: {"name": "langgraph_base_react", "description": "LangGraph ReAct agent"},
62
+ 3: {"name": "agentic_rag", "description": "RAG-enabled agent"},
63
+ }
64
+
65
+ # Mock user selecting option 2
66
+ mock_prompt.return_value = 2
67
+
68
+ result = display_base_template_selection("adk_base")
69
+
70
+ assert result == "langgraph_base_react"
71
+
72
+ @patch("src.cli.commands.enhance.get_available_agents")
73
+ def test_base_template_selection_no_agents(
74
+ self, mock_get_agents: MagicMock
75
+ ) -> None:
76
+ """Test error handling when no agents are available."""
77
+ mock_get_agents.return_value = {}
78
+
79
+ with pytest.raises(click.ClickException):
80
+ display_base_template_selection("adk_base")
81
+
82
+
83
+ class TestEnhanceCommand:
84
+ """Test the enhance command functionality."""
85
+
86
+ @patch("src.cli.utils.remote_template.get_base_template_name")
87
+ @patch("src.cli.utils.remote_template.load_remote_template_config")
88
+ @patch("src.cli.commands.enhance.display_base_template_selection")
89
+ def test_enhance_with_interactive_base_template_selection(
90
+ self,
91
+ mock_display_selection: MagicMock,
92
+ mock_load_config: MagicMock,
93
+ mock_get_base_name: MagicMock,
94
+ ) -> None:
95
+ """Test that enhance prompts for base template when not provided via CLI."""
96
+ # Mock the template config loading
97
+ mock_get_base_name.return_value = "adk_base"
98
+ mock_load_config.return_value = {"base_template": "adk_base"}
99
+ mock_display_selection.return_value = "langgraph_base_react"
100
+
101
+ runner = CliRunner()
102
+
103
+ # Create a temporary directory to run enhance in
104
+ with runner.isolated_filesystem():
105
+ # Create an app directory to avoid structure warnings
106
+ pathlib.Path("app").mkdir()
107
+ pathlib.Path("app/agent.py").touch()
108
+
109
+ # Mock the create command to avoid actually running it
110
+ with patch("src.cli.commands.enhance.create"):
111
+ # Run enhance without --auto-approve and without --base-template
112
+ runner.invoke(
113
+ enhance,
114
+ [
115
+ ".",
116
+ "--auto-approve",
117
+ ], # Use auto-approve to skip confirmation prompts
118
+ input="y\n", # Confirm enhancement
119
+ )
120
+
121
+ # The interactive selection should not be called with --auto-approve
122
+ mock_display_selection.assert_not_called()
123
+
124
+ def test_enhance_with_base_template_cli_param(self) -> None:
125
+ """Test that enhance respects --base-template CLI parameter."""
126
+ runner = CliRunner()
127
+
128
+ with runner.isolated_filesystem():
129
+ # Create app directory structure
130
+ pathlib.Path("app").mkdir()
131
+ pathlib.Path("app/agent.py").touch()
132
+
133
+ with patch("src.cli.commands.enhance.create") as mock_create:
134
+ runner.invoke(
135
+ enhance,
136
+ [".", "--base-template", "langgraph_base_react", "--auto-approve"],
137
+ )
138
+
139
+ # Should call create with the specified base template
140
+ mock_create.assert_called_once()
141
+ call_args = mock_create.call_args
142
+ assert call_args[1]["base_template"] == "langgraph_base_react"
@@ -11,7 +11,7 @@ resolution-markers = [
11
11
 
12
12
  [[package]]
13
13
  name = "agent-starter-pack"
14
- version = "0.11.0"
14
+ version = "0.11.1"
15
15
  source = { editable = "." }
16
16
  dependencies = [
17
17
  { name = "backoff" },
@@ -1,39 +0,0 @@
1
- # Copyright 2025 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- description: "A production-ready fullstack research agent that uses Gemini to strategize, research, and synthesize comprehensive reports with human-in-the-loop collaboration"
16
- example_question: "A report on the latest Google I/O event"
17
- settings:
18
- requires_data_ingestion: false
19
- requires_session: true
20
- deployment_targets: ["agent_engine", "cloud_run"]
21
- extra_dependencies: ["google-adk~=1.8.0"]
22
- tags: ["adk"]
23
- frontend_type: "adk_gemini_fullstack"
24
- interactive_command: "dev"
25
- commands:
26
- override:
27
- install: "uv sync --dev --extra jupyter && npm --prefix frontend install"
28
- extra:
29
- dev:
30
- command: 'make dev-backend & make dev-frontend'
31
- description: "Start the ADK API server and React frontend development server simultaneously"
32
- dev-backend:
33
- command:
34
- agent_engine: 'uv run adk api_server app --allow_origins="*"'
35
- cloud_run: 'ALLOW_ORIGINS="*" uv run uvicorn app.server:app --host 0.0.0.0 --port 8000 --reload'
36
- description: "Start the ADK API server"
37
- dev-frontend:
38
- command: 'npm --prefix frontend run dev'
39
- description: "Start the React frontend development server"
@@ -1,27 +0,0 @@
1
- # Gemini Fullstack Agent Development Kit (ADK) Quickstart
2
-
3
- > 🔍 **Sample Agent**: This agent is part of the [ADK Samples](https://github.com/google/adk-samples/tree/main/python/agents/gemini-fullstack) collection, showcasing agent implementations using the Agent Development Kit.
4
-
5
- The **Gemini Fullstack Agent Development Kit (ADK) Quickstart** is a production-ready blueprint for building a sophisticated, fullstack research agent with Gemini. It's built to demonstrate how the ADK helps structure complex agentic workflows, build modular agents, and incorporate critical Human-in-the-Loop (HITL) steps.
6
-
7
- <table>
8
- <thead>
9
- <tr>
10
- <th colspan="2">Key Features</th>
11
- </tr>
12
- </thead>
13
- <tbody>
14
- <tr>
15
- <td>🏗️</td>
16
- <td><strong>Fullstack & Production-Ready:</strong> A complete React frontend and ADK-powered FastAPI backend, with deployment options for <a href="https://cloud.google.com/run">Google Cloud Run</a> and <a href="https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview">Vertex AI Agent Engine</a>.</td>
17
- </tr>
18
- <tr>
19
- <td>🧠</td>
20
- <td><strong>Advanced Agentic Workflow:</strong> The agent uses Gemini to <strong>strategize</strong> a multi-step plan, <strong>reflect</strong> on findings to identify gaps, and <strong>synthesize</strong> a final, comprehensive report.</td>
21
- </tr>
22
- <tr>
23
- <td>🔄</td>
24
- <td><strong>Iterative & Human-in-the-Loop Research:</strong> Involves the user for plan approval, then autonomously loops through searching (via Gemini function calling) and refining its results until it has gathered sufficient information.</td>
25
- </tr>
26
- </tbody>
27
- </table>