agent-starter-pack 0.11.1__tar.gz → 0.11.2__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.
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.claude/settings.local.json +2 -1
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/PKG-INFO +1 -1
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/pyproject.toml +1 -1
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/dev/variables.tf +3 -2
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/iam.tf +10 -34
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/variables.tf +3 -3
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/cli/commands/setup_cicd.py +50 -41
- agent_starter_pack-0.11.2/tests/cicd/scripts/delete_agent_engines.py +242 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/uv.lock +1 -1
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/cd/test_e2e.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/ci/build_use_wheel.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/ci/lint.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/ci/lint_templated_agents.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/ci/test.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/ci/test_makefile.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/ci/test_pipeline_parity.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/ci/test_remote_template.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/ci/test_templated_agents.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/terraform/apis.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/terraform/build_triggers.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/terraform/service_account.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/terraform/storage.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/terraform/variables.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.github/workflows/docs.yml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.gitignore +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/CLAUDE.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/CODE_OF_CONDUCT.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/CONTRIBUTING.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/GEMINI.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/LICENSE +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/Makefile +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/README.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/README.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/adk_base/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/adk_base/README.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/adk_base/app/agent.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/adk_base/notebooks/adk_app_testing.ipynb +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/adk_base/notebooks/evaluating_adk_agent.ipynb +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/adk_base/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/agentic_rag/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/agentic_rag/README.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/agentic_rag/app/agent.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/agentic_rag/app/retrievers.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/agentic_rag/app/templates.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/agentic_rag/notebooks/adk_app_testing.ipynb +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/agentic_rag/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/README.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/app/agent.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/app/crew/crew.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/langgraph_base_react/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/langgraph_base_react/README.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/langgraph_base_react/app/agent.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/langgraph_base_react/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/live_api/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/live_api/README.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/live_api/app/agent.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/live_api/app/server.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/live_api/tests/integration/test_server_e2e.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/live_api/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/live_api/tests/unit/test_server.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/.vitepress/config.js +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/agents/overview.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/cli/create.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/cli/enhance.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/cli/index.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/cli/list.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/cli/setup_cicd.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/guide/data-ingestion.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/guide/deploy-ui.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/guide/deployment.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/guide/development-guide.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/guide/getting-started.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/guide/installation.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/guide/observability.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/guide/template-config-reference.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/guide/troubleshooting.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/guide/video-tutorials.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/guide/why_starter_pack.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/images/adk_gemini_fullstack.gif +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/images/adk_gemini_fullstack_architecture.png +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/images/adk_logo.png +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/images/agent_starter_pack_screenshot.png +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/images/ags_high_level_architecture.png +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/images/icon.png +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/images/logo.png +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/images/prototype_to_prod.png +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/images/why_sp_edited.png +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/images/why_starter_pack.png +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/index.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/package-lock.json +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/package.json +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/remote-templates/creating-remote-templates.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/remote-templates/index.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/docs/remote-templates/using-remote-templates.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/llm.txt +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/.gitignore +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/GEMINI.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/Makefile +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/README.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/app/__init__.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/app/utils/gcs.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/app/utils/tracing.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/app/utils/typing.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/README.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/apis.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/dev/apis.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/dev/iam.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/dev/log_sinks.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/dev/providers.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/dev/storage.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/dev/vars/env.tfvars +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/github.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/locals.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/log_sinks.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/providers.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/service_accounts.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/storage.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/vars/env.tfvars +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'github_actions' %}wif.tf{% else %}unused_wif.tf{% endif %} +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/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.11.1 → agent_starter_pack-0.11.2}/src/base_template/pyproject.toml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/tests/unit/test_dummy.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/pr_checks.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/deploy-to-prod.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/pr_checks.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/cli/commands/create.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/cli/commands/enhance.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/cli/commands/list.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/cli/main.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/cli/utils/__init__.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/cli/utils/cicd.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/cli/utils/datastores.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/cli/utils/gcp.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/cli/utils/logging.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/cli/utils/remote_template.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/cli/utils/template.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/cli/utils/version.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/data_ingestion/README.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/data_ingestion/data_ingestion_pipeline/components/process_data.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/data_ingestion/data_ingestion_pipeline/pipeline.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/data_ingestion/pyproject.toml +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/data_ingestion/uv.lock +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/deployment_targets/agent_engine/app/agent_engine_app.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/deployment_targets/agent_engine/deployment_metadata.json +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/deployment_targets/agent_engine/tests/load_test/README.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/deployment_targets/agent_engine/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/Dockerfile +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/app/server.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/deployment/terraform/service.tf +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/tests/load_test/README.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/components.json +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/eslint.config.js +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/index.html +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/package-lock.json +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/package.json +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/App.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ActivityTimeline.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ChatMessagesView.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/InputForm.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/WelcomeScreen.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/badge.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/button.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/card.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/input.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/scroll-area.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/select.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/tabs.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/textarea.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/global.css +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/main.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/utils.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/vite-env.d.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/tsconfig.json +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/tsconfig.node.json +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/vite.config.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/package-lock.json +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/package.json +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/public/favicon.ico +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/public/index.html +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/public/robots.txt +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/App.scss +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/App.test.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/App.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/components/audio-pulse/AudioPulse.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/components/audio-pulse/audio-pulse.scss +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/components/control-tray/ControlTray.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/components/control-tray/control-tray.scss +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/components/logger/Logger.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/components/logger/logger.scss +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/components/logger/mock-logs.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/components/side-panel/SidePanel.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/components/side-panel/side-panel.scss +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/contexts/LiveAPIContext.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/hooks/use-live-api.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/hooks/use-media-stream-mux.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/hooks/use-screen-capture.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/hooks/use-webcam.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/index.css +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/index.tsx +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/multimodal-live-types.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/react-app-env.d.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/reportWebVitals.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/setupTests.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/utils/audio-recorder.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/utils/audio-streamer.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/utils/audioworklet-registry.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/utils/multimodal-live-client.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/utils/store-logger.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/utils/utils.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/utils/worklets/audio-processing.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/utils/worklets/vol-meter.ts +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/tsconfig.json +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/side_bar.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/streamlit_app.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/style/app_markdown.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/utils/chat_utils.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/utils/local_chat_history.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/utils/message_editing.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/utils/stream_handler.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/utils/title_summary.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/containers/data_processing/Dockerfile +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/containers/e2e-tests/Dockerfile +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/docs/adk-cheatsheet.md +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/idx/.idx/dev.nix +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/idx/idx-template.json +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/idx/idx-template.nix +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/locks/uv-adk_base-agent_engine.lock +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/locks/uv-adk_base-cloud_run.lock +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/locks/uv-adk_gemini_fullstack-agent_engine.lock +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/locks/uv-adk_gemini_fullstack-cloud_run.lock +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/locks/uv-agentic_rag-agent_engine.lock +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/locks/uv-agentic_rag-cloud_run.lock +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/locks/uv-langgraph_base_react-agent_engine.lock +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/locks/uv-langgraph_base_react-cloud_run.lock +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/resources/locks/uv-live_api-cloud_run.lock +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/utils/generate_locks.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/utils/lock_utils.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/src/utils/watch_and_rebuild.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/__init__.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/cicd/example.env +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/cicd/test_e2e_deployment.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/cli/commands/test_create.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/cli/commands/test_create_local.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/cli/commands/test_enhance.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/cli/commands/test_list.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/cli/commands/test_setup_cicd.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/cli/utils/test_cicd.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/cli/utils/test_remote_template.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/integration/test_makefile_usability.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/integration/test_pipeline_parity.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/integration/test_remote_templating.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/integration/test_template_linting.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/integration/test_templated_patterns.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/integration/utils.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/test_frontend/test_side_bar.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/test_frontend/test_streamlit_app.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/test_frontend/test_utils/test_chat_utils.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/test_frontend/test_utils/test_local_chat_history.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/test_frontend/test_utils/test_message_editing.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/test_frontend/test_utils/test_multimodal_utils.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/test_frontend/test_utils/test_stream_handler.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/utils/__init__.py +0 -0
- {agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/tests/utils/get_agents.py +0 -0
@@ -13,7 +13,8 @@
|
|
13
13
|
"Bash(set +a)",
|
14
14
|
"Bash(bash:*)",
|
15
15
|
"Bash(ls:*)",
|
16
|
-
"Bash(python -m pytest tests/cli/commands/test_enhance.py::TestEnhanceCommand::test_enhance_with_interactive_base_template_selection -v)"
|
16
|
+
"Bash(python -m pytest tests/cli/commands/test_enhance.py::TestEnhanceCommand::test_enhance_with_interactive_base_template_selection -v)",
|
17
|
+
"Bash(python tests/cicd/scripts/delete_agent_engines.py:*)"
|
17
18
|
],
|
18
19
|
"deny": []
|
19
20
|
}
|
@@ -49,14 +49,15 @@ variable "app_sa_roles" {
|
|
49
49
|
description = "List of roles to assign to the application service account"
|
50
50
|
type = list(string)
|
51
51
|
default = [
|
52
|
-
{%- if
|
52
|
+
{%- if cookiecutter.session_type == "alloydb" %}
|
53
53
|
"roles/secretmanager.secretAccessor",
|
54
54
|
{%- endif %}
|
55
55
|
"roles/aiplatform.user",
|
56
56
|
"roles/discoveryengine.editor",
|
57
57
|
"roles/logging.logWriter",
|
58
58
|
"roles/cloudtrace.agent",
|
59
|
-
"roles/storage.admin"
|
59
|
+
"roles/storage.admin",
|
60
|
+
"roles/serviceusage.serviceUsageConsumer",
|
60
61
|
]
|
61
62
|
}
|
62
63
|
{% if cookiecutter.data_ingestion %}
|
@@ -44,19 +44,7 @@ resource "google_project_iam_member" "other_projects_roles" {
|
|
44
44
|
member = "serviceAccount:${resource.google_service_account.cicd_runner_sa.email}"
|
45
45
|
depends_on = [resource.google_project_service.cicd_services, resource.google_project_service.deploy_project_services]
|
46
46
|
}
|
47
|
-
|
48
|
-
# 3. Allow Cloud Run service SA to pull containers stored in the CICD project
|
49
|
-
resource "google_project_iam_member" "cicd_run_invoker_artifact_registry_reader" {
|
50
|
-
for_each = local.deploy_project_ids
|
51
|
-
project = var.cicd_runner_project_id
|
52
|
-
|
53
|
-
role = "roles/artifactregistry.reader"
|
54
|
-
member = "serviceAccount:service-${data.google_project.projects[each.key].number}@serverless-robot-prod.iam.gserviceaccount.com"
|
55
|
-
depends_on = [resource.google_project_service.cicd_services, resource.google_project_service.deploy_project_services]
|
56
|
-
|
57
|
-
}
|
58
|
-
|
59
|
-
# 4. Grant application SA the required permissions to run the application
|
47
|
+
# 3. Grant application SA the required permissions to run the application
|
60
48
|
resource "google_project_iam_member" "app_sa_roles" {
|
61
49
|
for_each = {
|
62
50
|
for pair in setproduct(keys(local.deploy_project_ids), var.app_sa_roles) :
|
@@ -72,33 +60,21 @@ resource "google_project_iam_member" "app_sa_roles" {
|
|
72
60
|
depends_on = [resource.google_project_service.cicd_services, resource.google_project_service.deploy_project_services]
|
73
61
|
}
|
74
62
|
|
75
|
-
{%
|
76
|
-
|
77
|
-
|
78
|
-
resource "google_project_service_identity" "vertex_sa" {
|
63
|
+
{% if cookiecutter.deployment_target == 'cloud_run' %}
|
64
|
+
# 4. Allow Cloud Run service SA to pull containers stored in the CICD project
|
65
|
+
resource "google_project_iam_member" "cicd_run_invoker_artifact_registry_reader" {
|
79
66
|
for_each = local.deploy_project_ids
|
80
|
-
|
81
|
-
project = each.value
|
82
|
-
service = "aiplatform.googleapis.com"
|
83
|
-
}
|
67
|
+
project = var.cicd_runner_project_id
|
84
68
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
for pair in setproduct(keys(local.deploy_project_ids), var.app_sa_roles) :
|
89
|
-
"${pair[0]}_${pair[1]}" => {
|
90
|
-
project = local.deploy_project_ids[pair[0]]
|
91
|
-
role = pair[1]
|
92
|
-
}
|
93
|
-
}
|
69
|
+
role = "roles/artifactregistry.reader"
|
70
|
+
member = "serviceAccount:service-${data.google_project.projects[each.key].number}@serverless-robot-prod.iam.gserviceaccount.com"
|
71
|
+
depends_on = [resource.google_project_service.cicd_services, resource.google_project_service.deploy_project_services]
|
94
72
|
|
95
|
-
project = each.value.project
|
96
|
-
role = each.value.role
|
97
|
-
member = "serviceAccount:service-${data.google_project.projects[split("_", each.key)[0]].number}@gcp-sa-aiplatform-re.iam.gserviceaccount.com"
|
98
|
-
depends_on = [resource.google_project_service.deploy_project_services, resource.google_project_service_identity.vertex_sa]
|
99
73
|
}
|
74
|
+
|
100
75
|
{% endif %}
|
101
76
|
|
77
|
+
|
102
78
|
# Special assignment: Allow the CICD SA to create tokens
|
103
79
|
resource "google_service_account_iam_member" "cicd_run_invoker_token_creator" {
|
104
80
|
service_account_id = google_service_account.cicd_runner_sa.name
|
@@ -70,15 +70,15 @@ variable "app_sa_roles" {
|
|
70
70
|
description = "List of roles to assign to the application service account"
|
71
71
|
type = list(string)
|
72
72
|
default = [
|
73
|
-
{%- if cookiecutter.
|
74
|
-
"roles/run.invoker",
|
73
|
+
{%- if cookiecutter.session_type == "alloydb" %}
|
75
74
|
"roles/secretmanager.secretAccessor",
|
76
75
|
{%- endif %}
|
77
76
|
"roles/aiplatform.user",
|
78
77
|
"roles/discoveryengine.editor",
|
79
78
|
"roles/logging.logWriter",
|
80
79
|
"roles/cloudtrace.agent",
|
81
|
-
"roles/storage.admin"
|
80
|
+
"roles/storage.admin",
|
81
|
+
"roles/serviceusage.serviceUsageConsumer",
|
82
82
|
]
|
83
83
|
}
|
84
84
|
{%- if cookiecutter.deployment_target == 'cloud_run' %}
|
@@ -48,7 +48,7 @@ def display_intro_message() -> None:
|
|
48
48
|
"This command helps set up a basic CI/CD pipeline for development and testing purposes."
|
49
49
|
)
|
50
50
|
console.print("It will:")
|
51
|
-
console.print("- Create a GitHub repository and connect it to
|
51
|
+
console.print("- Create a GitHub repository and connect it to your CI/CD runner")
|
52
52
|
console.print("- Set up development environment infrastructure")
|
53
53
|
console.print("- Configure basic CI/CD triggers for PR checks and deployments")
|
54
54
|
console.print(
|
@@ -218,6 +218,34 @@ def validate_working_directory() -> None:
|
|
218
218
|
)
|
219
219
|
|
220
220
|
|
221
|
+
def detect_region_from_terraform_vars() -> str | None:
|
222
|
+
"""Detect region from Terraform vars file.
|
223
|
+
|
224
|
+
Returns:
|
225
|
+
str | None: The detected region, or None if not found or is default
|
226
|
+
"""
|
227
|
+
try:
|
228
|
+
tf_vars_path = Path("deployment/terraform/vars/env.tfvars")
|
229
|
+
if not tf_vars_path.exists():
|
230
|
+
return None
|
231
|
+
|
232
|
+
with open(tf_vars_path, encoding="utf-8") as f:
|
233
|
+
content = f.read()
|
234
|
+
|
235
|
+
# Look for region = "value" pattern
|
236
|
+
region_match = re.search(r'region\s*=\s*"([^"]+)"', content)
|
237
|
+
if region_match:
|
238
|
+
detected_region = region_match.group(1)
|
239
|
+
# Don't auto-detect if it's the default value
|
240
|
+
if detected_region != "us-central1":
|
241
|
+
return detected_region
|
242
|
+
|
243
|
+
return None
|
244
|
+
except Exception:
|
245
|
+
# If any error occurs, return None to use default
|
246
|
+
return None
|
247
|
+
|
248
|
+
|
221
249
|
def update_build_triggers(tf_dir: Path) -> None:
|
222
250
|
"""Update build triggers configuration."""
|
223
251
|
build_triggers_path = tf_dir / "build_triggers.tf"
|
@@ -427,7 +455,9 @@ console = Console()
|
|
427
455
|
@click.option(
|
428
456
|
"--cicd-project", help="CICD project ID (defaults to prod project if not specified)"
|
429
457
|
)
|
430
|
-
@click.option(
|
458
|
+
@click.option(
|
459
|
+
"--region", help="GCP region (auto-detects from Terraform vars if not specified)"
|
460
|
+
)
|
431
461
|
@click.option("--repository-name", help="Repository name (optional)")
|
432
462
|
@click.option(
|
433
463
|
"--repository-owner",
|
@@ -468,7 +498,7 @@ def setup_cicd(
|
|
468
498
|
staging_project: str | None,
|
469
499
|
prod_project: str | None,
|
470
500
|
cicd_project: str | None,
|
471
|
-
region: str,
|
501
|
+
region: str | None,
|
472
502
|
repository_name: str | None,
|
473
503
|
repository_owner: str | None,
|
474
504
|
host_connection_name: str | None,
|
@@ -502,23 +532,24 @@ def setup_cicd(
|
|
502
532
|
cicd_project = prod_project
|
503
533
|
console.print(f"Using production project '{prod_project}' for CI/CD resources")
|
504
534
|
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
535
|
+
# Auto-detect region if not provided
|
536
|
+
if region is None:
|
537
|
+
detected_region = detect_region_from_terraform_vars()
|
538
|
+
if detected_region:
|
539
|
+
region = detected_region
|
540
|
+
console.print(f"Auto-detected region from Terraform vars: {region}")
|
541
|
+
else:
|
542
|
+
region = "us-central1"
|
543
|
+
console.print(f"Using default region: {region}")
|
544
|
+
else:
|
545
|
+
console.print(f"Using provided region: {region}")
|
510
546
|
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
console.print("- Set up development environment infrastructure")
|
518
|
-
console.print("- Configure basic CI/CD triggers for PR checks and deployments")
|
519
|
-
console.print(
|
520
|
-
"- Configure remote Terraform state in GCS (use --local-state to use local state instead)"
|
521
|
-
)
|
547
|
+
# Auto-detect CI/CD runner based on Terraform files (moved earlier)
|
548
|
+
tf_dir = Path("deployment/terraform")
|
549
|
+
is_github_actions = (tf_dir / "wif.tf").exists() and (tf_dir / "github.tf").exists()
|
550
|
+
cicd_runner = "github_actions" if is_github_actions else "google_cloud_build"
|
551
|
+
|
552
|
+
display_intro_message()
|
522
553
|
|
523
554
|
console.print("\n⚡ Production Setup Note:", style="bold yellow")
|
524
555
|
console.print(
|
@@ -537,28 +568,6 @@ def setup_cicd(
|
|
537
568
|
console.print("\n🛑 Setup cancelled by user", style="bold yellow")
|
538
569
|
return
|
539
570
|
|
540
|
-
console.print(
|
541
|
-
"This command helps set up a basic CI/CD pipeline for development and testing purposes."
|
542
|
-
)
|
543
|
-
console.print("It will:")
|
544
|
-
console.print("- Create a GitHub repository and connect it to Cloud Build")
|
545
|
-
console.print("- Set up development environment infrastructure")
|
546
|
-
console.print("- Configure basic CI/CD triggers for PR checks and deployments")
|
547
|
-
console.print(
|
548
|
-
"- Configure remote Terraform state in GCS (use --local-state to use local state instead)"
|
549
|
-
)
|
550
|
-
|
551
|
-
console.print("\n⚡ Production Setup Note:", style="bold yellow")
|
552
|
-
console.print(
|
553
|
-
"For production deployments and maximum flexibility, we recommend following"
|
554
|
-
)
|
555
|
-
console.print("the manual setup instructions in deployment/README.md")
|
556
|
-
console.print("This will give you more control over:")
|
557
|
-
console.print("- Security configurations")
|
558
|
-
console.print("- Custom deployment workflows")
|
559
|
-
console.print("- Environment-specific settings")
|
560
|
-
console.print("- Advanced CI/CD pipeline customization\n")
|
561
|
-
|
562
571
|
if debug:
|
563
572
|
logging.basicConfig(level=logging.DEBUG)
|
564
573
|
console.print("> Debug mode enabled")
|
@@ -0,0 +1,242 @@
|
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
|
3
|
+
# mypy: ignore-errors
|
4
|
+
"""
|
5
|
+
Script to delete all Agent Engine services from specified projects.
|
6
|
+
|
7
|
+
This script deletes all Agent Engine services from projects specified via environment variables.
|
8
|
+
|
9
|
+
Environment Variables:
|
10
|
+
- PROJECT_IDS: Comma-separated list of project IDs (e.g., "proj1,proj2,proj3")
|
11
|
+
- Alternative: Individual variables CICD_PROJECT_ID, E2E_PR_PROJECT_ID, E2E_ST_PROJECT_ID
|
12
|
+
|
13
|
+
Example usage:
|
14
|
+
export PROJECT_IDS="my-project-1,my-project-2,my-project-3"
|
15
|
+
python delete_agent_engines.py
|
16
|
+
|
17
|
+
Based on the cleanup logic from tests/cicd/test_e2e_deployment.py
|
18
|
+
"""
|
19
|
+
|
20
|
+
import logging
|
21
|
+
import os
|
22
|
+
import sys
|
23
|
+
import time
|
24
|
+
|
25
|
+
import vertexai
|
26
|
+
from google.api_core import exceptions
|
27
|
+
from vertexai import agent_engines
|
28
|
+
|
29
|
+
# Configure logging
|
30
|
+
logging.basicConfig(
|
31
|
+
level=logging.INFO,
|
32
|
+
format="%(asctime)s - %(levelname)s - %(message)s",
|
33
|
+
datefmt="%Y-%m-%d %H:%M:%S",
|
34
|
+
)
|
35
|
+
logger = logging.getLogger(__name__)
|
36
|
+
|
37
|
+
|
38
|
+
# Project IDs to clean up - loaded from environment variables
|
39
|
+
def get_project_ids() -> list[str]:
|
40
|
+
"""Get project IDs from environment variables."""
|
41
|
+
project_ids = []
|
42
|
+
|
43
|
+
# Try to get from comma-separated env var first
|
44
|
+
env_projects = os.getenv("PROJECT_IDS")
|
45
|
+
if env_projects:
|
46
|
+
project_ids = [pid.strip() for pid in env_projects.split(",") if pid.strip()]
|
47
|
+
else:
|
48
|
+
# Fallback to individual env vars for backward compatibility
|
49
|
+
for env_var in ["CICD_PROJECT_ID", "E2E_PR_PROJECT_ID", "E2E_ST_PROJECT_ID"]:
|
50
|
+
project_id = os.getenv(env_var)
|
51
|
+
if project_id:
|
52
|
+
project_ids.append(project_id.strip())
|
53
|
+
|
54
|
+
if not project_ids:
|
55
|
+
raise ValueError(
|
56
|
+
"No project IDs found. Please set either:\n"
|
57
|
+
"- PROJECT_IDS environment variable with comma-separated project IDs, or\n"
|
58
|
+
"- Individual env vars: CICD_PROJECT_ID, E2E_PR_PROJECT_ID, E2E_ST_PROJECT_ID"
|
59
|
+
)
|
60
|
+
|
61
|
+
return project_ids
|
62
|
+
|
63
|
+
|
64
|
+
# Default region
|
65
|
+
DEFAULT_REGION = "europe-west1"
|
66
|
+
|
67
|
+
# Rate limiting configuration
|
68
|
+
MAX_RETRIES = 3
|
69
|
+
RATE_LIMIT_DELAY = 60 # seconds to wait when hitting rate limits
|
70
|
+
RETRY_DELAY = 5 # seconds to wait between retries
|
71
|
+
|
72
|
+
|
73
|
+
def delete_single_agent_engine(engine, retry_count: int = 0) -> bool:
|
74
|
+
"""
|
75
|
+
Delete a single Agent Engine with retry logic and force deletion.
|
76
|
+
|
77
|
+
Args:
|
78
|
+
engine: The AgentEngine instance to delete
|
79
|
+
retry_count: Current retry attempt number
|
80
|
+
|
81
|
+
Returns:
|
82
|
+
True if deleted successfully, False otherwise
|
83
|
+
"""
|
84
|
+
engine_name = engine.display_name or engine.resource_name
|
85
|
+
|
86
|
+
try:
|
87
|
+
logger.info(f"🗑️ Deleting Agent Engine: {engine_name}")
|
88
|
+
logger.info(f" Resource name: {engine.resource_name}")
|
89
|
+
|
90
|
+
# Try normal deletion first
|
91
|
+
engine.delete()
|
92
|
+
logger.info(f"✅ Successfully deleted Agent Engine: {engine_name}")
|
93
|
+
return True
|
94
|
+
|
95
|
+
except exceptions.BadRequest as e:
|
96
|
+
# Handle child resources error by using force deletion
|
97
|
+
if "contains child resources" in str(e):
|
98
|
+
logger.warning(
|
99
|
+
f"⚠️ Agent Engine {engine_name} has child resources, attempting force deletion..."
|
100
|
+
)
|
101
|
+
try:
|
102
|
+
# Force delete with child resources
|
103
|
+
engine.delete(force=True)
|
104
|
+
logger.info(
|
105
|
+
f"✅ Force deleted Agent Engine with child resources: {engine_name}"
|
106
|
+
)
|
107
|
+
return True
|
108
|
+
except Exception as force_e:
|
109
|
+
logger.error(f"❌ Force deletion failed for {engine_name}: {force_e}")
|
110
|
+
return False
|
111
|
+
else:
|
112
|
+
logger.error(f"❌ Bad request error for {engine_name}: {e}")
|
113
|
+
return False
|
114
|
+
|
115
|
+
except exceptions.TooManyRequests as e:
|
116
|
+
# Handle rate limiting
|
117
|
+
if retry_count < MAX_RETRIES:
|
118
|
+
logger.warning(
|
119
|
+
f"⏱️ Rate limit hit for {engine_name}, waiting {RATE_LIMIT_DELAY} seconds before retry {retry_count + 1}/{MAX_RETRIES}..."
|
120
|
+
)
|
121
|
+
time.sleep(RATE_LIMIT_DELAY)
|
122
|
+
return delete_single_agent_engine(engine, retry_count + 1)
|
123
|
+
else:
|
124
|
+
logger.error(f"❌ Rate limit exceeded max retries for {engine_name}: {e}")
|
125
|
+
return False
|
126
|
+
|
127
|
+
except Exception as e:
|
128
|
+
# Handle other errors with retry logic
|
129
|
+
if retry_count < MAX_RETRIES:
|
130
|
+
logger.warning(
|
131
|
+
f"⏱️ Error deleting {engine_name}, retrying in {RETRY_DELAY} seconds... (attempt {retry_count + 1}/{MAX_RETRIES})"
|
132
|
+
)
|
133
|
+
time.sleep(RETRY_DELAY)
|
134
|
+
return delete_single_agent_engine(engine, retry_count + 1)
|
135
|
+
else:
|
136
|
+
logger.error(
|
137
|
+
f"❌ Failed to delete {engine_name} after {MAX_RETRIES} retries: {e}"
|
138
|
+
)
|
139
|
+
return False
|
140
|
+
|
141
|
+
|
142
|
+
def delete_agent_engines_in_project(
|
143
|
+
project_id: str, region: str = DEFAULT_REGION
|
144
|
+
) -> tuple[int, int]:
|
145
|
+
"""
|
146
|
+
Delete all Agent Engine services in a specific project.
|
147
|
+
|
148
|
+
Args:
|
149
|
+
project_id: The GCP project ID
|
150
|
+
region: The GCP region (default: europe-west1)
|
151
|
+
|
152
|
+
Returns:
|
153
|
+
Tuple of (successful_deletions, total_engines_found)
|
154
|
+
"""
|
155
|
+
logger.info(f"🔍 Checking for Agent Engine services in project {project_id}...")
|
156
|
+
|
157
|
+
try:
|
158
|
+
# Initialize Vertex AI for this project
|
159
|
+
vertexai.init(project=project_id, location=region)
|
160
|
+
|
161
|
+
# List all Agent Engine services in the project
|
162
|
+
logger.info(f"📋 Listing all Agent Engine services in {project_id}...")
|
163
|
+
engines = list(agent_engines.AgentEngine.list())
|
164
|
+
|
165
|
+
if not engines:
|
166
|
+
logger.info(f"✅ No Agent Engine services found in {project_id}")
|
167
|
+
return 0, 0
|
168
|
+
|
169
|
+
logger.info(f"🎯 Found {len(engines)} Agent Engine service(s) in {project_id}")
|
170
|
+
|
171
|
+
# Delete each engine with improved error handling
|
172
|
+
deleted_count = 0
|
173
|
+
for i, engine in enumerate(engines, 1):
|
174
|
+
logger.info(f"📋 Processing engine {i}/{len(engines)} in {project_id}")
|
175
|
+
|
176
|
+
if delete_single_agent_engine(engine):
|
177
|
+
deleted_count += 1
|
178
|
+
|
179
|
+
# Small delay between deletions to avoid overwhelming the API
|
180
|
+
if i < len(engines): # Don't sleep after the last engine
|
181
|
+
time.sleep(1)
|
182
|
+
|
183
|
+
logger.info(
|
184
|
+
f"🎉 Deleted {deleted_count}/{len(engines)} Agent Engine service(s) in {project_id}"
|
185
|
+
)
|
186
|
+
return deleted_count, len(engines)
|
187
|
+
|
188
|
+
except Exception as e:
|
189
|
+
logger.error(f"❌ Error processing project {project_id}: {e}")
|
190
|
+
return 0, 0
|
191
|
+
|
192
|
+
|
193
|
+
def main():
|
194
|
+
"""Main function to delete Agent Engine services from all specified projects."""
|
195
|
+
logger.info("🚀 Starting Agent Engine cleanup across multiple projects...")
|
196
|
+
|
197
|
+
try:
|
198
|
+
project_ids = get_project_ids()
|
199
|
+
logger.info(f"🎯 Target projects: {', '.join(project_ids)}")
|
200
|
+
except ValueError as e:
|
201
|
+
logger.error(f"❌ Configuration error: {e}")
|
202
|
+
sys.exit(1)
|
203
|
+
|
204
|
+
total_deleted = 0
|
205
|
+
total_found = 0
|
206
|
+
failed_projects = []
|
207
|
+
|
208
|
+
for project_id in project_ids:
|
209
|
+
try:
|
210
|
+
deleted_count, found_count = delete_agent_engines_in_project(project_id)
|
211
|
+
total_deleted += deleted_count
|
212
|
+
total_found += found_count
|
213
|
+
except Exception as e:
|
214
|
+
logger.error(f"❌ Failed to process project {project_id}: {e}")
|
215
|
+
failed_projects.append(project_id)
|
216
|
+
|
217
|
+
# Summary
|
218
|
+
logger.info("\n" + "=" * 60)
|
219
|
+
logger.info("📊 CLEANUP SUMMARY")
|
220
|
+
logger.info("=" * 60)
|
221
|
+
logger.info(f"🎯 Total Agent Engine services found: {total_found}")
|
222
|
+
logger.info(f"✅ Total Agent Engine services deleted: {total_deleted}")
|
223
|
+
logger.info(f"❌ Failed deletions: {total_found - total_deleted}")
|
224
|
+
logger.info(
|
225
|
+
f"📁 Projects processed: {len(project_ids) - len(failed_projects)}/{len(project_ids)}"
|
226
|
+
)
|
227
|
+
|
228
|
+
if failed_projects:
|
229
|
+
logger.warning(f"⚠️ Failed to process projects: {', '.join(failed_projects)}")
|
230
|
+
sys.exit(1)
|
231
|
+
elif total_found > total_deleted:
|
232
|
+
logger.warning(
|
233
|
+
f"⚠️ Some Agent Engine services could not be deleted ({total_found - total_deleted} failures)"
|
234
|
+
)
|
235
|
+
sys.exit(1)
|
236
|
+
else:
|
237
|
+
logger.info("🎉 All projects processed successfully!")
|
238
|
+
sys.exit(0)
|
239
|
+
|
240
|
+
|
241
|
+
if __name__ == "__main__":
|
242
|
+
main()
|
File without changes
|
File without changes
|
File without changes
|
{agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/ci/lint_templated_agents.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
{agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/ci/test_pipeline_parity.yaml
RENAMED
File without changes
|
{agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/ci/test_remote_template.yaml
RENAMED
File without changes
|
{agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/ci/test_templated_agents.yaml
RENAMED
File without changes
|
File without changes
|
{agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/terraform/build_triggers.tf
RENAMED
File without changes
|
{agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/.cloudbuild/terraform/service_account.tf
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/agentic_rag/app/retrievers.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/app/agent.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/app/crew/crew.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/langgraph_base_react/README.md
RENAMED
File without changes
|
{agent_starter_pack-0.11.1 → agent_starter_pack-0.11.2}/agents/langgraph_base_react/app/agent.py
RENAMED
File without changes
|
File without changes
|
File without changes
|