agent-starter-pack 0.17.5__tar.gz → 0.18.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.
Potentially problematic release.
This version of agent-starter-pack might be problematic. Click here for more details.
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.claude/settings.local.json +9 -1
- agent_starter_pack-0.18.1/.cloudbuild/cd/test_gemini_enterprise.yaml +54 -0
- agent_starter_pack-0.18.1/.cloudbuild/scheduled-cleanup.yaml +30 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/terraform/apis.tf +22 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/terraform/backend.tf +1 -1
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/terraform/build_triggers.tf +32 -1
- agent_starter_pack-0.18.1/.cloudbuild/terraform/scheduled_cleanup.tf +65 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/terraform/service_account.tf +9 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/terraform/variables.tf +13 -0
- agent_starter_pack-0.18.1/.cloudbuild/terraform/vars/env.tfvars +13 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/GEMINI.md +85 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/PKG-INFO +3 -2
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/README.md +1 -1
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/Makefile +24 -2
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/README.md +14 -10
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/github.tf +19 -1
- agent_starter_pack-0.18.1/agent_starter_pack/cli/utils/register_gemini_enterprise.py +406 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +20 -6
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/data_ingestion/pyproject.toml +1 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/data_ingestion/uv.lock +562 -551
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/agent_engine/tests/load_test/README.md +1 -1
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/utils/deployment.py +12 -7
- {agent_starter_pack-0.17.5/src → agent_starter_pack-0.18.1/agent_starter_pack}/resources/idx/.idx/dev.nix +4 -2
- agent_starter_pack-0.18.1/agent_starter_pack/resources/idx_ag/.idx/dev.nix +65 -0
- agent_starter_pack-0.18.1/agent_starter_pack/resources/idx_ag/idx-template.json +22 -0
- agent_starter_pack-0.18.1/agent_starter_pack/resources/idx_ag/idx-template.nix +27 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/guide/deploy-ui.md +2 -2
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/guide/deployment.md +1 -1
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/guide/development-guide.md +1 -1
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/package-lock.json +3 -3
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/llm.txt +2 -2
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/pyproject.toml +8 -1
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/cicd/scripts/delete_agent_engines.py +10 -4
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/cicd/scripts/delete_alloydb_clusters.py +9 -3
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/cicd/scripts/delete_service_accounts.py +34 -26
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/cicd/scripts/delete_vector_search.py +14 -4
- agent_starter_pack-0.18.1/tests/cicd/scripts/force-cleanup.sh +80 -0
- agent_starter_pack-0.18.1/tests/cicd/test_gemini_enterprise_registration.py +332 -0
- agent_starter_pack-0.18.1/tests/fixtures/makefile_hashes.json +11 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/fixtures/makefile_snapshots/adk_base_agent_engine_no_data.makefile +19 -1
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/fixtures/makefile_snapshots/adk_base_cloud_run_no_data.makefile +5 -2
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/fixtures/makefile_snapshots/adk_live_agent_engine.makefile +4 -1
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/fixtures/makefile_snapshots/adk_live_cloud_run.makefile +5 -21
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/fixtures/makefile_snapshots/agent_with_agent_garden.makefile +5 -2
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/fixtures/makefile_snapshots/agent_with_custom_commands.makefile +5 -2
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/fixtures/makefile_snapshots/agentic_rag_cloud_run_vector_search.makefile +5 -2
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/fixtures/makefile_snapshots/agentic_rag_cloud_run_vertex_search.makefile +5 -2
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/fixtures/makefile_snapshots/langgraph_cloud_run_no_data.makefile +5 -2
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/unit/test_makefile_template.py +5 -3
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/uv.lock +3 -1
- agent_starter_pack-0.17.5/.cloudbuild/terraform/vars/env.tfvars +0 -13
- agent_starter_pack-0.17.5/tests/fixtures/makefile_hashes.json +0 -11
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/cd/test_e2e.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/ci/build_use_wheel.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/ci/lint.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/ci/lint_templated_agents.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/ci/test.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/ci/test_makefile.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/ci/test_pipeline_parity.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/ci/test_remote_template.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/ci/test_templated_agents.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/terraform/storage.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.github/workflows/docs.yml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.gitignore +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/CLAUDE.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/CODE_OF_CONDUCT.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/CONTRIBUTING.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/LICENSE +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/Makefile +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/README.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/adk_base/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/adk_base/README.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/adk_base/app/__init__.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/adk_base/app/agent.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/adk_base/notebooks/adk_app_testing.ipynb +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/adk_base/notebooks/evaluating_adk_agent.ipynb +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/adk_base/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/adk_live/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/adk_live/README.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/adk_live/app/agent.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/adk_live/tests/unit/test_dummy.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/agentic_rag/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/agentic_rag/README.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/agentic_rag/app/__init__.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/agentic_rag/app/agent.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/agentic_rag/app/retrievers.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/agentic_rag/app/templates.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/agentic_rag/notebooks/adk_app_testing.ipynb +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/agentic_rag/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/crewai_coding_crew/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/crewai_coding_crew/README.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/crewai_coding_crew/app/agent.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/crewai_coding_crew/app/crew/crew.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/crewai_coding_crew/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/langgraph_base_react/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/langgraph_base_react/README.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/langgraph_base_react/app/agent.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/agents/langgraph_base_react/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/.gitignore +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/GEMINI.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/README.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/apis.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/dev/apis.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/dev/iam.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/dev/log_sinks.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/dev/providers.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/dev/storage.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/dev/variables.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/dev/vars/env.tfvars +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/iam.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/locals.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/log_sinks.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/providers.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/service_accounts.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/storage.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/variables.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/vars/env.tfvars +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'github_actions' %}wif.tf{% else %}unused_wif.tf{% endif %} +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}build_triggers.tf{% else %}unused_build_triggers.tf{% endif %} +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/pyproject.toml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/tests/unit/test_dummy.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/pr_checks.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/deploy-to-prod.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/pr_checks.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/utils/gcs.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/utils/tracing.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/utils/typing.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/cli/commands/create.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/cli/commands/enhance.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/cli/commands/list.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/cli/commands/setup_cicd.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/cli/main.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/cli/utils/__init__.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/cli/utils/cicd.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/cli/utils/datastores.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/cli/utils/gcp.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/cli/utils/logging.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/cli/utils/remote_template.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/cli/utils/template.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/cli/utils/version.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/data_ingestion/README.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/data_ingestion/data_ingestion_pipeline/components/process_data.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/data_ingestion/data_ingestion_pipeline/pipeline.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/agent_engine/deployment/terraform/{% if not cookiecutter.is_adk_live %}service.tf{% else %}unused_service.tf{% endif %} +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/agent_engine/deployment_metadata.json +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/agent_engine/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/agent_engine_app.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/utils/{% if cookiecutter.is_adk_live %}expose_app.py{% else %}unused_expose_app.py{% endif %} +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/cloud_run/Dockerfile +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/service.tf +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/cloud_run/tests/load_test/README.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/cloud_run/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/deployment_targets/cloud_run/{{cookiecutter.agent_directory}}/server.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/package-lock.json +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/package.json +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/public/favicon.ico +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/public/index.html +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/public/robots.txt +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/App.scss +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/App.test.tsx +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/App.tsx +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/audio-pulse/AudioPulse.tsx +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/audio-pulse/audio-pulse.scss +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/logger/Logger.tsx +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/logger/logger.scss +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/logger/mock-logs.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/side-panel/SidePanel.tsx +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/side-panel/side-panel.scss +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/transcription-preview/TranscriptionPreview.tsx +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/transcription-preview/transcription-preview.scss +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/contexts/LiveAPIContext.tsx +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/hooks/use-live-api.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/hooks/use-media-stream-mux.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/hooks/use-screen-capture.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/hooks/use-webcam.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/index.css +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/index.tsx +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/multimodal-live-types.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/react-app-env.d.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/reportWebVitals.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/setupTests.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/audio-recorder.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/audio-streamer.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/audioworklet-registry.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/multimodal-live-client.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/store-logger.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/utils.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/worklets/audio-processing.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/worklets/vol-meter.ts +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/adk_live_react/frontend/tsconfig.json +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/streamlit/frontend/side_bar.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/streamlit/frontend/streamlit_app.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/streamlit/frontend/style/app_markdown.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/streamlit/frontend/utils/chat_utils.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/streamlit/frontend/utils/local_chat_history.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/streamlit/frontend/utils/message_editing.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/streamlit/frontend/utils/stream_handler.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/frontends/streamlit/frontend/utils/title_summary.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/resources/containers/data_processing/Dockerfile +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/resources/containers/e2e-tests/Dockerfile +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/resources/docs/adk-cheatsheet.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/resources/idx/idx-template.json +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/resources/idx/idx-template.nix +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/resources/locks/uv-adk_base-agent_engine.lock +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/resources/locks/uv-adk_base-cloud_run.lock +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/resources/locks/uv-adk_live-agent_engine.lock +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/resources/locks/uv-adk_live-cloud_run.lock +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/resources/locks/uv-agentic_rag-agent_engine.lock +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/resources/locks/uv-agentic_rag-cloud_run.lock +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/resources/locks/uv-crewai_coding_crew-agent_engine.lock +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/resources/locks/uv-crewai_coding_crew-cloud_run.lock +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/resources/locks/uv-langgraph_base_react-agent_engine.lock +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/resources/locks/uv-langgraph_base_react-cloud_run.lock +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/utils/generate_locks.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/utils/lock_utils.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/utils/watch_and_rebuild.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/.vitepress/config.js +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/agents/overview.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/cli/create.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/cli/enhance.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/cli/index.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/cli/list.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/cli/setup_cicd.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/guide/community-showcase.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/guide/data-ingestion.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/guide/getting-started.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/guide/installation.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/guide/observability.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/guide/template-config-reference.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/guide/troubleshooting.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/guide/video-tutorials.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/guide/why_starter_pack.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/images/adk_gemini_fullstack.gif +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/images/adk_gemini_fullstack_architecture.png +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/images/adk_logo.png +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/images/agent_starter_pack_screenshot.png +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/images/ags_high_level_architecture.png +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/images/icon.png +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/images/logo.png +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/images/prototype_to_prod.png +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/images/why_sp_edited.png +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/images/why_starter_pack.png +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/index.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/package.json +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/remote-templates/creating-remote-templates.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/remote-templates/index.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/docs/remote-templates/using-remote-templates.md +0 -0
- {agent_starter_pack-0.17.5/agent_starter_pack → agent_starter_pack-0.18.1/src}/resources/idx/.idx/dev.nix +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/src/resources/idx/idx-template.json +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/src/resources/idx/idx-template.nix +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/__init__.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/cicd/example.env +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/cicd/test_e2e_deployment.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/cli/commands/test_create.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/cli/commands/test_create_local.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/cli/commands/test_enhance.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/cli/commands/test_list.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/cli/commands/test_setup_cicd.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/cli/utils/test_cicd.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/cli/utils/test_remote_template.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/integration/test_agent_directory_functionality.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/integration/test_makefile_usability.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/integration/test_pipeline_parity.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/integration/test_remote_templating.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/integration/test_template_linting.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/integration/test_templated_patterns.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/integration/utils.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/test_frontend/test_side_bar.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/test_frontend/test_streamlit_app.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/test_frontend/test_utils/test_chat_utils.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/test_frontend/test_utils/test_local_chat_history.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/test_frontend/test_utils/test_message_editing.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/test_frontend/test_utils/test_multimodal_utils.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/test_frontend/test_utils/test_stream_handler.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/unit/README_MAKEFILE_TESTS.md +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/utils/__init__.py +0 -0
- {agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/tests/utils/get_agents.py +0 -0
|
@@ -27,7 +27,15 @@
|
|
|
27
27
|
"Bash(export _TEST_AGENT_COMBINATION=adk_live,agent_engine)",
|
|
28
28
|
"Bash(make lint-templated-agents)",
|
|
29
29
|
"Bash(mkdir -p agent-starter-pack)",
|
|
30
|
-
"Bash(ls -la \"agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == ''google_cloud_build'' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/\")"
|
|
30
|
+
"Bash(ls -la \"agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == ''google_cloud_build'' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/\")",
|
|
31
|
+
"Bash(PROJECT_IDS=asp-starter-dev,asp-starter-prod,asp-starter-staging python3 tests/cicd/scripts/delete_agent_engines.py)",
|
|
32
|
+
"Bash(PROJECT_IDS=agent-starter-pack-e2e-dev,agent-starter-pack-e2e-st,agent-starter-pack-e2e-pr python3 tests/cicd/scripts/delete_vector_search.py)",
|
|
33
|
+
"Bash(PROJECT_IDS=asp-starter-dev,asp-starter-prod,asp-starter-staging python3 tests/cicd/scripts/delete_alloydb_clusters.py)",
|
|
34
|
+
"Bash(PROJECT_IDS=asp-starter-dev,asp-starter-prod,asp-starter-staging python3 tests/cicd/scripts/delete_service_accounts.py)",
|
|
35
|
+
"Bash(PROJECT_IDS=asp-starter-dev,asp-starter-prod,asp-starter-staging python3 tests/cicd/scripts/delete_vector_search.py)",
|
|
36
|
+
"Bash(chmod +x /Users/eliasecchi/Development/agent-starter-pack/force-cleanup.sh)",
|
|
37
|
+
"Bash(terraform plan -var-file=vars/env.tfvars)",
|
|
38
|
+
"Bash(uv run pytest \"tests/unit/test_makefile_template.py::TestMakefileGeneration::test_makefile_hash[adk_base_agent_engine_no_data]\" -v)"
|
|
31
39
|
],
|
|
32
40
|
"deny": [],
|
|
33
41
|
"ask": []
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
# Sync dependencies
|
|
17
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
|
18
|
+
id: install-dependencies
|
|
19
|
+
entrypoint: /bin/bash
|
|
20
|
+
args:
|
|
21
|
+
- "-c"
|
|
22
|
+
- |
|
|
23
|
+
uv sync --dev --locked
|
|
24
|
+
|
|
25
|
+
# Set gcloud project to dev environment
|
|
26
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
|
27
|
+
id: set-gcloud-project
|
|
28
|
+
entrypoint: /bin/bash
|
|
29
|
+
args:
|
|
30
|
+
- "-c"
|
|
31
|
+
- |
|
|
32
|
+
gcloud config set project ${_E2E_DEV_PROJECT}
|
|
33
|
+
|
|
34
|
+
# Run Gemini Enterprise registration test
|
|
35
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
|
36
|
+
id: gemini-enterprise-test
|
|
37
|
+
entrypoint: /bin/bash
|
|
38
|
+
args:
|
|
39
|
+
- "-c"
|
|
40
|
+
- |
|
|
41
|
+
uv run pytest tests/cicd/test_gemini_enterprise_registration.py -v
|
|
42
|
+
secretEnv: ['GEMINI_ENTERPRISE_APP_ID']
|
|
43
|
+
|
|
44
|
+
availableSecrets:
|
|
45
|
+
secretManager:
|
|
46
|
+
- versionName: projects/$PROJECT_ID/secrets/gemini-enterprise-app-id/versions/latest
|
|
47
|
+
env: 'GEMINI_ENTERPRISE_APP_ID'
|
|
48
|
+
|
|
49
|
+
logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
|
|
50
|
+
options:
|
|
51
|
+
defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
|
|
52
|
+
env:
|
|
53
|
+
- "RUN_GEMINI_ENTERPRISE_TEST=1"
|
|
54
|
+
timeout: 3600s # 1 hour timeout
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
# Run the force cleanup script
|
|
17
|
+
- name: "europe-west4-docker.pkg.dev/production-ai-template/starter-pack/e2e-tests"
|
|
18
|
+
id: force-cleanup
|
|
19
|
+
entrypoint: /bin/bash
|
|
20
|
+
args:
|
|
21
|
+
- "-c"
|
|
22
|
+
- |
|
|
23
|
+
chmod +x tests/cicd/scripts/force-cleanup.sh
|
|
24
|
+
./tests/cicd/scripts/force-cleanup.sh
|
|
25
|
+
|
|
26
|
+
timeout: 18000s # 5 hour timeout for cleanup operations
|
|
27
|
+
|
|
28
|
+
logsBucket: gs://${PROJECT_ID}-logs-data/build-logs
|
|
29
|
+
options:
|
|
30
|
+
defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
|
|
@@ -24,3 +24,25 @@ resource "google_project_service" "cloud_resource_manager_api" {
|
|
|
24
24
|
service = "cloudresourcemanager.googleapis.com"
|
|
25
25
|
disable_on_destroy = false
|
|
26
26
|
}
|
|
27
|
+
|
|
28
|
+
# Enable Cloud Scheduler API for scheduled cleanup jobs
|
|
29
|
+
resource "google_project_service" "cloud_scheduler_api" {
|
|
30
|
+
project = var.cicd_runner_project_id
|
|
31
|
+
service = "cloudscheduler.googleapis.com"
|
|
32
|
+
disable_on_destroy = false
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
# Enable Discovery Engine API for Gemini Enterprise registration tests
|
|
36
|
+
# Note: You must manually create the secret "gemini-enterprise-app-id" in Secret Manager
|
|
37
|
+
# with the Gemini Enterprise app resource name as the value. Example:
|
|
38
|
+
# gcloud secrets create gemini-enterprise-app-id --project=<CICD_PROJECT_ID> \
|
|
39
|
+
# --data-file=<(echo -n "projects/{project_number}/locations/{location}/collections/{collection}/engines/{engine_id}")
|
|
40
|
+
resource "google_project_service" "discovery_engine_api" {
|
|
41
|
+
for_each = {
|
|
42
|
+
"dev" = var.e2e_test_project_mapping.dev
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
project = each.value
|
|
46
|
+
service = "discoveryengine.googleapis.com"
|
|
47
|
+
disable_on_destroy = false
|
|
48
|
+
}
|
{agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/terraform/build_triggers.tf
RENAMED
|
@@ -403,7 +403,7 @@ resource "google_cloudbuild_trigger" "pr_test_makefile" {
|
|
|
403
403
|
|
|
404
404
|
filename = ".cloudbuild/ci/test_makefile.yaml"
|
|
405
405
|
included_files = local.makefile_usability_included_files
|
|
406
|
-
ignored_files =
|
|
406
|
+
ignored_files = ["**/*.md"] # Don't ignore Makefiles for this trigger
|
|
407
407
|
include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
|
|
408
408
|
}
|
|
409
409
|
|
|
@@ -436,3 +436,34 @@ resource "google_cloudbuild_trigger" "pr_test_pipeline_parity" {
|
|
|
436
436
|
ignored_files = local.common_ignored_files
|
|
437
437
|
include_build_logs = "INCLUDE_BUILD_LOGS_WITH_STATUS"
|
|
438
438
|
}
|
|
439
|
+
|
|
440
|
+
# i. Create E2E Gemini Enterprise Registration Test trigger for main branch commits (runs on merge to main)
|
|
441
|
+
# TODO: Uncomment when ready to run remotely
|
|
442
|
+
# resource "google_cloudbuild_trigger" "main_e2e_gemini_enterprise_test" {
|
|
443
|
+
# name = "e2e-gemini-enterprise-registration"
|
|
444
|
+
# project = var.cicd_runner_project_id
|
|
445
|
+
# location = var.region
|
|
446
|
+
# description = "E2E test for Gemini Enterprise registration on main branch (runs when PR merges to main)"
|
|
447
|
+
# service_account = resource.google_service_account.cicd_runner_sa.id
|
|
448
|
+
#
|
|
449
|
+
# repository_event_config {
|
|
450
|
+
# repository = local.repository_path
|
|
451
|
+
# push {
|
|
452
|
+
# branch = "main"
|
|
453
|
+
# }
|
|
454
|
+
# }
|
|
455
|
+
#
|
|
456
|
+
# filename = ".cloudbuild/cd/test_gemini_enterprise.yaml"
|
|
457
|
+
# included_files = [
|
|
458
|
+
# "pyproject.toml", # Triggers on releases
|
|
459
|
+
# "agent_starter_pack/cli/utils/register_gemini_enterprise.py", # Registration code changes
|
|
460
|
+
# "tests/cicd/test_gemini_enterprise_registration.py", # Test changes
|
|
461
|
+
# ".cloudbuild/cd/test_gemini_enterprise.yaml", # Pipeline changes
|
|
462
|
+
# ]
|
|
463
|
+
# ignored_files = local.common_ignored_files
|
|
464
|
+
# include_build_logs = "INCLUDE_BUILD_LOGS_UNSPECIFIED"
|
|
465
|
+
#
|
|
466
|
+
# substitutions = {
|
|
467
|
+
# _E2E_DEV_PROJECT = var.e2e_test_project_mapping.dev
|
|
468
|
+
# }
|
|
469
|
+
# }
|
|
@@ -0,0 +1,65 @@
|
|
|
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
|
+
# Create a manual Cloud Build trigger for scheduled cleanup
|
|
16
|
+
resource "google_cloudbuild_trigger" "scheduled_cleanup" {
|
|
17
|
+
name = "scheduled-cleanup"
|
|
18
|
+
project = var.cicd_runner_project_id
|
|
19
|
+
location = var.region # Must match repository connection region
|
|
20
|
+
description = "Daily cleanup of test resources (Agent Engines, AlloyDB, Vector Search, Service Accounts)"
|
|
21
|
+
service_account = google_service_account.cicd_runner_sa.id
|
|
22
|
+
|
|
23
|
+
# Manual trigger - will be invoked by Cloud Scheduler
|
|
24
|
+
source_to_build {
|
|
25
|
+
repository = local.repository_path
|
|
26
|
+
ref = "refs/heads/main"
|
|
27
|
+
repo_type = "GITHUB"
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
filename = ".cloudbuild/scheduled-cleanup.yaml"
|
|
31
|
+
include_build_logs = "INCLUDE_BUILD_LOGS_UNSPECIFIED"
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
# Create Cloud Scheduler job to trigger cleanup daily at 3 AM UTC
|
|
35
|
+
resource "google_cloud_scheduler_job" "daily_cleanup" {
|
|
36
|
+
name = "daily-cleanup-trigger"
|
|
37
|
+
project = var.cicd_runner_project_id
|
|
38
|
+
region = "europe-west1" # Cloud Scheduler doesn't support europe-west4
|
|
39
|
+
description = "Triggers daily cleanup of test resources at 3 AM UTC"
|
|
40
|
+
schedule = "0 3 * * *"
|
|
41
|
+
time_zone = "UTC"
|
|
42
|
+
attempt_deadline = "1800s" # 30 minutes (max allowed)
|
|
43
|
+
|
|
44
|
+
http_target {
|
|
45
|
+
http_method = "POST"
|
|
46
|
+
uri = "https://cloudbuild.googleapis.com/v1/projects/${var.cicd_runner_project_id}/locations/${var.region}/triggers/${google_cloudbuild_trigger.scheduled_cleanup.trigger_id}:run"
|
|
47
|
+
|
|
48
|
+
oauth_token {
|
|
49
|
+
service_account_email = google_service_account.cicd_runner_sa.email
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
# For manual triggers with source_to_build, no request body is needed
|
|
53
|
+
# The trigger configuration already specifies the source
|
|
54
|
+
body = base64encode(jsonencode({}))
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
retry_config {
|
|
58
|
+
retry_count = 3
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
depends_on = [
|
|
62
|
+
google_project_service.cloud_scheduler_api,
|
|
63
|
+
google_cloudbuild_trigger.scheduled_cleanup
|
|
64
|
+
]
|
|
65
|
+
}
|
{agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/.cloudbuild/terraform/service_account.tf
RENAMED
|
@@ -59,3 +59,12 @@ resource "google_project_iam_member" "cicd_runner_e2e_project_roles" {
|
|
|
59
59
|
role = each.value.role
|
|
60
60
|
member = "serviceAccount:${google_service_account.cicd_runner_sa.email}"
|
|
61
61
|
}
|
|
62
|
+
|
|
63
|
+
# Grant owner permissions to the service account for all cleanup projects
|
|
64
|
+
resource "google_project_iam_member" "cicd_runner_cleanup_project_roles" {
|
|
65
|
+
for_each = toset(var.cleanup_project_ids)
|
|
66
|
+
|
|
67
|
+
project = each.key
|
|
68
|
+
role = "roles/owner"
|
|
69
|
+
member = "serviceAccount:${google_service_account.cicd_runner_sa.email}"
|
|
70
|
+
}
|
|
@@ -41,3 +41,16 @@ variable "e2e_test_project_mapping" {
|
|
|
41
41
|
staging = string
|
|
42
42
|
})
|
|
43
43
|
}
|
|
44
|
+
|
|
45
|
+
variable "cleanup_project_ids" {
|
|
46
|
+
description = "List of all project IDs that need cleanup (for scheduled cleanup job)"
|
|
47
|
+
type = list(string)
|
|
48
|
+
default = [
|
|
49
|
+
"asp-e2e-dev",
|
|
50
|
+
"asp-e2e-stg",
|
|
51
|
+
"asp-e2e-prd",
|
|
52
|
+
"asp-test-dev",
|
|
53
|
+
"asp-test-prd",
|
|
54
|
+
"asp-test-stg"
|
|
55
|
+
]
|
|
56
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
cicd_runner_project_id = "asp-e2e-cicd"
|
|
2
|
+
|
|
3
|
+
region = "europe-west4"
|
|
4
|
+
|
|
5
|
+
host_connection_name = "git-connection"
|
|
6
|
+
|
|
7
|
+
repository_name = "GoogleCloudPlatform-agent-starter-pack"
|
|
8
|
+
|
|
9
|
+
e2e_test_project_mapping = {
|
|
10
|
+
dev = "asp-e2e-dev"
|
|
11
|
+
staging = "asp-e2e-stg"
|
|
12
|
+
prod = "asp-e2e-prd"
|
|
13
|
+
}
|
|
@@ -166,6 +166,91 @@ Test changes across multiple dimensions:
|
|
|
166
166
|
- [ ] **CI/CD Parity:** Changes applied to both GitHub Actions and Cloud Build?
|
|
167
167
|
- [ ] **Multi-Agent Testing:** Tested with different agent types and configurations?
|
|
168
168
|
|
|
169
|
+
## Pull Request Best Practices
|
|
170
|
+
|
|
171
|
+
When creating pull requests for this repository, follow these guidelines for clear, professional commits and PR descriptions.
|
|
172
|
+
|
|
173
|
+
### Commit Message Format
|
|
174
|
+
```
|
|
175
|
+
<type>: <concise summary in imperative mood>
|
|
176
|
+
|
|
177
|
+
<detailed explanation of the change>
|
|
178
|
+
- Why the change was needed
|
|
179
|
+
- What was the root cause
|
|
180
|
+
- How the fix addresses it
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**Types**: `fix`, `feat`, `refactor`, `docs`, `test`, `chore`
|
|
184
|
+
|
|
185
|
+
### PR Structure Example
|
|
186
|
+
|
|
187
|
+
**Title:** Brief, descriptive summary (50-60 chars)
|
|
188
|
+
```
|
|
189
|
+
Fix Cloud Build service account permission for GitHub PAT secret access
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**Description:**
|
|
193
|
+
```markdown
|
|
194
|
+
## Summary
|
|
195
|
+
- Key change 1 (what was added/modified)
|
|
196
|
+
- Key change 2
|
|
197
|
+
- Key change 3
|
|
198
|
+
|
|
199
|
+
## Problem
|
|
200
|
+
Clear description of the issue, including:
|
|
201
|
+
- Error messages or symptoms
|
|
202
|
+
- Why it was failing
|
|
203
|
+
- Context about when/where it occurs
|
|
204
|
+
|
|
205
|
+
## Solution
|
|
206
|
+
Explanation of how the changes fix the problem:
|
|
207
|
+
- What resources/files were modified
|
|
208
|
+
- Why this approach was chosen
|
|
209
|
+
- Any dependencies or sequencing requirements
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Example (based on actual PR)
|
|
213
|
+
|
|
214
|
+
**Commit:**
|
|
215
|
+
```
|
|
216
|
+
Fix Cloud Build service account permission for GitHub PAT secret access
|
|
217
|
+
|
|
218
|
+
Add IAM binding to grant Cloud Build service account the secretAccessor
|
|
219
|
+
role for the GitHub PAT secret. This resolves permission errors when
|
|
220
|
+
Terraform creates Cloud Build v2 connections in E2E tests.
|
|
221
|
+
|
|
222
|
+
The CLI setup already grants this permission via gcloud, but the
|
|
223
|
+
Terraform configuration was missing this binding, causing failures when
|
|
224
|
+
Terraform runs independently.
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**PR Description:**
|
|
228
|
+
```markdown
|
|
229
|
+
## Summary
|
|
230
|
+
- Grant Cloud Build service account `secretmanager.secretAccessor` role
|
|
231
|
+
- Add proper dependency to Cloud Build v2 connection resource
|
|
232
|
+
|
|
233
|
+
## Problem
|
|
234
|
+
E2E tests failed when Terraform attempted to create Cloud Build v2 connections:
|
|
235
|
+
```
|
|
236
|
+
Error: could not access secret with service account:
|
|
237
|
+
generic::permission_denied
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
The CLI setup grants this permission via gcloud, but Terraform
|
|
241
|
+
configuration lacked the IAM binding.
|
|
242
|
+
|
|
243
|
+
## Solution
|
|
244
|
+
Added `google_secret_manager_secret_iam_member` resource to grant the
|
|
245
|
+
Cloud Build service account permission to access the GitHub PAT secret
|
|
246
|
+
before creating the connection.
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### Key Principles
|
|
250
|
+
- **Concise but complete**: Provide enough context for reviewers
|
|
251
|
+
- **Problem-first**: Explain the "why" before the "what"
|
|
252
|
+
- **Professional tone**: Avoid mentions of AI tools or assistants
|
|
253
|
+
|
|
169
254
|
### Key Tooling
|
|
170
255
|
|
|
171
256
|
- **`uv` for Python:** Primary tool for dependency management and CLI execution
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-starter-pack
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.18.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
|
|
@@ -11,6 +11,7 @@ Requires-Dist: click>=8.1.7
|
|
|
11
11
|
Requires-Dist: cookiecutter<3.0.0,>=2.6.0
|
|
12
12
|
Requires-Dist: google-cloud-aiplatform>=1.120.0
|
|
13
13
|
Requires-Dist: pyyaml>=6.0.1
|
|
14
|
+
Requires-Dist: requests>=2.31.0
|
|
14
15
|
Requires-Dist: rich>=13.7.0
|
|
15
16
|
Requires-Dist: tomli>=1.1.0; python_version < '3.11'
|
|
16
17
|
Provides-Extra: jupyter
|
|
@@ -45,7 +46,7 @@ Focus on your agent logic—the starter pack provides everything else: infrastru
|
|
|
45
46
|
|
|
46
47
|
| ⚡️ Launch | 🧪 Experiment | ✅ Deploy | 🛠️ Customize |
|
|
47
48
|
|---|---|---|---|
|
|
48
|
-
| [Pre-built agent templates](./agents/) (ReAct, RAG, multi-agent, Live API). | [Vertex AI evaluation](https://cloud.google.com/vertex-ai/generative-ai/docs/models/evaluation-overview) and an interactive playground. | Production-ready infra with [monitoring, observability](https://googlecloudplatform.github.io/agent-starter-pack/guide/observability), and [CI/CD](https://googlecloudplatform.github.io/agent-starter-pack/guide/deployment) on [Cloud Run](https://cloud.google.com/run) or [Agent Engine](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview). | Extend and customize templates according to your needs. 🆕 Now integrating with [Gemini CLI](https://github.com/google-gemini/gemini-cli) |
|
|
49
|
+
| [Pre-built agent templates](./agent_starter_pack/agents/) (ReAct, RAG, multi-agent, Live API). | [Vertex AI evaluation](https://cloud.google.com/vertex-ai/generative-ai/docs/models/evaluation-overview) and an interactive playground. | Production-ready infra with [monitoring, observability](https://googlecloudplatform.github.io/agent-starter-pack/guide/observability), and [CI/CD](https://googlecloudplatform.github.io/agent-starter-pack/guide/deployment) on [Cloud Run](https://cloud.google.com/run) or [Agent Engine](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview). | Extend and customize templates according to your needs. 🆕 Now integrating with [Gemini CLI](https://github.com/google-gemini/gemini-cli) |
|
|
49
50
|
|
|
50
51
|
---
|
|
51
52
|
|
|
@@ -21,7 +21,7 @@ Focus on your agent logic—the starter pack provides everything else: infrastru
|
|
|
21
21
|
|
|
22
22
|
| ⚡️ Launch | 🧪 Experiment | ✅ Deploy | 🛠️ Customize |
|
|
23
23
|
|---|---|---|---|
|
|
24
|
-
| [Pre-built agent templates](./agents/) (ReAct, RAG, multi-agent, Live API). | [Vertex AI evaluation](https://cloud.google.com/vertex-ai/generative-ai/docs/models/evaluation-overview) and an interactive playground. | Production-ready infra with [monitoring, observability](https://googlecloudplatform.github.io/agent-starter-pack/guide/observability), and [CI/CD](https://googlecloudplatform.github.io/agent-starter-pack/guide/deployment) on [Cloud Run](https://cloud.google.com/run) or [Agent Engine](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview). | Extend and customize templates according to your needs. 🆕 Now integrating with [Gemini CLI](https://github.com/google-gemini/gemini-cli) |
|
|
24
|
+
| [Pre-built agent templates](./agent_starter_pack/agents/) (ReAct, RAG, multi-agent, Live API). | [Vertex AI evaluation](https://cloud.google.com/vertex-ai/generative-ai/docs/models/evaluation-overview) and an interactive playground. | Production-ready infra with [monitoring, observability](https://googlecloudplatform.github.io/agent-starter-pack/guide/observability), and [CI/CD](https://googlecloudplatform.github.io/agent-starter-pack/guide/deployment) on [Cloud Run](https://cloud.google.com/run) or [Agent Engine](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview). | Extend and customize templates according to your needs. 🆕 Now integrating with [Gemini CLI](https://github.com/google-gemini/gemini-cli) |
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
{agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/Makefile
RENAMED
|
@@ -127,6 +127,8 @@ playground-remote: build-frontend-if-needed
|
|
|
127
127
|
@echo "==============================================================================="
|
|
128
128
|
uv run python -m {{cookiecutter.agent_directory}}.utils.expose_app --mode remote
|
|
129
129
|
{%- endif %}
|
|
130
|
+
{%- endif %}
|
|
131
|
+
{%- if cookiecutter.is_adk_live and cookiecutter.deployment_target == 'agent_engine' %}
|
|
130
132
|
|
|
131
133
|
# Start the frontend UI separately for development (requires backend running separately)
|
|
132
134
|
ui:
|
|
@@ -154,9 +156,9 @@ playground-dev:
|
|
|
154
156
|
|
|
155
157
|
# Deploy the agent remotely
|
|
156
158
|
{%- if cookiecutter.deployment_target == 'cloud_run' %}
|
|
157
|
-
# Usage: make
|
|
159
|
+
# Usage: make deploy [IAP=true] [PORT=8080] - Set IAP=true to enable Identity-Aware Proxy, PORT to specify container port
|
|
158
160
|
{%- endif %}
|
|
159
|
-
|
|
161
|
+
deploy:
|
|
160
162
|
{%- if cookiecutter.deployment_target == 'cloud_run' %}
|
|
161
163
|
PROJECT_ID=$$(gcloud config get-value project) && \
|
|
162
164
|
gcloud beta run deploy {{cookiecutter.project_name}} \
|
|
@@ -177,6 +179,9 @@ backend:
|
|
|
177
179
|
uv export --no-hashes --no-header --no-dev --no-emit-project > .requirements.txt && uv run {{cookiecutter.agent_directory}}/agent_engine_app.py
|
|
178
180
|
{%- endif %}
|
|
179
181
|
|
|
182
|
+
# Alias for 'make deploy' for backward compatibility
|
|
183
|
+
backend: deploy
|
|
184
|
+
|
|
180
185
|
|
|
181
186
|
# ==============================================================================
|
|
182
187
|
# Infrastructure Setup
|
|
@@ -226,3 +231,20 @@ lint:
|
|
|
226
231
|
uv run ruff check . --diff
|
|
227
232
|
uv run ruff format . --check --diff
|
|
228
233
|
uv run mypy .
|
|
234
|
+
{%- if cookiecutter.is_adk and cookiecutter.deployment_target == 'agent_engine' %}
|
|
235
|
+
|
|
236
|
+
# ==============================================================================
|
|
237
|
+
# Gemini Enterprise Integration
|
|
238
|
+
# ==============================================================================
|
|
239
|
+
|
|
240
|
+
# Register the deployed agent to Gemini Enterprise
|
|
241
|
+
# Usage: make register-gemini-enterprise GEMINI_ENTERPRISE_APP_ID=projects/{project_number}/locations/{location}/collections/{collection}/engines/{engine_id} [AGENT_ENGINE_ID=<id>] # Defaults to deployment_metadata.json
|
|
242
|
+
register-gemini-enterprise:
|
|
243
|
+
uvx --from agent-starter-pack agent-starter-pack-register-gemini-enterprise \
|
|
244
|
+
$(if $(GEMINI_ENTERPRISE_APP_ID),--gemini-enterprise-app-id="$(GEMINI_ENTERPRISE_APP_ID)",) \
|
|
245
|
+
$(if $(AGENT_ENGINE_ID),--agent-engine-id="$(AGENT_ENGINE_ID)",) \
|
|
246
|
+
$(if $(GEMINI_DISPLAY_NAME),--display-name="$(GEMINI_DISPLAY_NAME)",) \
|
|
247
|
+
$(if $(GEMINI_DESCRIPTION),--description="$(GEMINI_DESCRIPTION)",) \
|
|
248
|
+
$(if $(GEMINI_TOOL_DESCRIPTION),--tool-description="$(GEMINI_TOOL_DESCRIPTION)",) \
|
|
249
|
+
$(if $(GEMINI_AUTHORIZATION_ID),--authorization-id="$(GEMINI_AUTHORIZATION_ID)",)
|
|
250
|
+
{%- endif %}
|
{agent_starter_pack-0.17.5 → agent_starter_pack-0.18.1}/agent_starter_pack/base_template/README.md
RENAMED
|
@@ -59,16 +59,21 @@ make install && make playground
|
|
|
59
59
|
{%- endif %}
|
|
60
60
|
{%- if cookiecutter.deployment_target == 'cloud_run' %}
|
|
61
61
|
| `make playground` | Launch local development environment with backend and frontend{%- if cookiecutter.is_adk %} - leveraging `adk web` command. {%- endif %}|
|
|
62
|
-
| `make
|
|
63
|
-
| `make local-backend` | Launch local development server |
|
|
64
|
-
{%-
|
|
62
|
+
| `make deploy` | Deploy agent to Cloud Run (use `IAP=true` to enable Identity-Aware Proxy, `PORT=8080` to specify container port) |
|
|
63
|
+
| `make local-backend` | Launch local development server with hot-reload |
|
|
64
|
+
{%- elif cookiecutter.deployment_target == 'agent_engine' %}
|
|
65
|
+
| `make playground` | Launch Streamlit interface for testing agent locally and remotely |
|
|
66
|
+
| `make deploy` | Deploy agent to Agent Engine |
|
|
65
67
|
{%- if cookiecutter.is_adk_live %}
|
|
66
|
-
| `make
|
|
68
|
+
| `make local-backend` | Launch local development server with hot-reload |
|
|
69
|
+
| `make ui` | Start the frontend UI separately for development (requires backend running separately) |
|
|
70
|
+
| `make playground-dev` | Launch dev playground with both frontend and backend hot-reload |
|
|
71
|
+
| `make playground-remote` | Connect to remote deployed agent with local frontend |
|
|
72
|
+
| `make build-frontend` | Build the frontend for production |
|
|
67
73
|
{%- endif %}
|
|
74
|
+
{%- if cookiecutter.is_adk %}
|
|
75
|
+
| `make register-gemini-enterprise` | Register deployed agent to Gemini Enterprise (see Makefile for parameters) |
|
|
68
76
|
{%- endif %}
|
|
69
|
-
{%- elif cookiecutter.deployment_target == 'agent_engine' %}
|
|
70
|
-
| `make playground` | Launch Streamlit interface for testing agent locally and remotely |
|
|
71
|
-
| `make backend` | Deploy agent to Agent Engine |
|
|
72
77
|
{%- endif %}
|
|
73
78
|
| `make test` | Run unit and integration tests |
|
|
74
79
|
| `make lint` | Run code quality checks (codespell, ruff, mypy) |
|
|
@@ -76,7 +81,6 @@ make install && make playground
|
|
|
76
81
|
{%- if cookiecutter.data_ingestion %}
|
|
77
82
|
| `make data-ingestion`| Run data ingestion pipeline in the Dev environment |
|
|
78
83
|
{%- endif %}
|
|
79
|
-
| `uv run jupyter lab` | Launch Jupyter notebook |
|
|
80
84
|
|
|
81
85
|
For full command options and usage, refer to the [Makefile](Makefile).
|
|
82
86
|
|
|
@@ -156,10 +160,10 @@ You can test deployment towards a Dev Environment using the following command:
|
|
|
156
160
|
|
|
157
161
|
```bash
|
|
158
162
|
gcloud config set project <your-dev-project-id>
|
|
159
|
-
make
|
|
163
|
+
make deploy
|
|
160
164
|
```
|
|
161
165
|
{% if cookiecutter.is_adk_live %}
|
|
162
|
-
**Note:** For secure access to your deployed backend, consider using Identity-Aware Proxy (IAP) by running `make
|
|
166
|
+
**Note:** For secure access to your deployed backend, consider using Identity-Aware Proxy (IAP) by running `make deploy IAP=true`.
|
|
163
167
|
{%- endif %}
|
|
164
168
|
|
|
165
169
|
The repository includes a Terraform configuration for the setup of the Dev Google Cloud project.
|
|
@@ -276,6 +276,20 @@ data "google_secret_manager_secret" "github_pat" {
|
|
|
276
276
|
secret_id = var.github_pat_secret_id
|
|
277
277
|
}
|
|
278
278
|
|
|
279
|
+
# Get CICD project data for Cloud Build service account
|
|
280
|
+
data "google_project" "cicd_project" {
|
|
281
|
+
project_id = var.cicd_runner_project_id
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
# Grant Cloud Build service account access to GitHub PAT secret
|
|
285
|
+
resource "google_secret_manager_secret_iam_member" "cloudbuild_secret_accessor" {
|
|
286
|
+
project = var.cicd_runner_project_id
|
|
287
|
+
secret_id = data.google_secret_manager_secret.github_pat.secret_id
|
|
288
|
+
role = "roles/secretmanager.secretAccessor"
|
|
289
|
+
member = "serviceAccount:service-${data.google_project.cicd_project.number}@gcp-sa-cloudbuild.iam.gserviceaccount.com"
|
|
290
|
+
depends_on = [resource.google_project_service.cicd_services]
|
|
291
|
+
}
|
|
292
|
+
|
|
279
293
|
# Create the GitHub connection (fallback for manual Terraform usage)
|
|
280
294
|
resource "google_cloudbuildv2_connection" "github_connection" {
|
|
281
295
|
count = var.create_cb_connection ? 0 : 1
|
|
@@ -289,7 +303,11 @@ resource "google_cloudbuildv2_connection" "github_connection" {
|
|
|
289
303
|
oauth_token_secret_version = "${data.google_secret_manager_secret.github_pat.id}/versions/latest"
|
|
290
304
|
}
|
|
291
305
|
}
|
|
292
|
-
depends_on = [
|
|
306
|
+
depends_on = [
|
|
307
|
+
resource.google_project_service.cicd_services,
|
|
308
|
+
resource.google_project_service.deploy_project_services,
|
|
309
|
+
resource.google_secret_manager_secret_iam_member.cloudbuild_secret_accessor
|
|
310
|
+
]
|
|
293
311
|
}
|
|
294
312
|
|
|
295
313
|
|