agent-starter-pack 0.11.0__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.0 → agent_starter_pack-0.11.2}/.claude/settings.local.json +5 -3
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/PKG-INFO +9 -2
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/README.md +8 -1
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/agents/overview.md +0 -10
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/pyproject.toml +1 -1
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/dev/variables.tf +3 -2
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/iam.tf +10 -34
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/variables.tf +3 -3
- {agent_starter_pack-0.11.0 → 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 +2 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/cli/commands/enhance.py +70 -16
- {agent_starter_pack-0.11.0 → 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.2/tests/cli/commands/test_enhance.py +142 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/uv.lock +1 -1
- agent_starter_pack-0.11.0/agents/adk_gemini_fullstack/.template/templateconfig.yaml +0 -39
- agent_starter_pack-0.11.0/agents/adk_gemini_fullstack/README.md +0 -27
- agent_starter_pack-0.11.0/agents/adk_gemini_fullstack/app/agent.py +0 -412
- agent_starter_pack-0.11.0/agents/adk_gemini_fullstack/app/config.py +0 -46
- agent_starter_pack-0.11.0/agents/adk_gemini_fullstack/tests/integration/test_agent.py +0 -58
- agent_starter_pack-0.11.0/agents/agentic_rag/notebooks/adk_app_testing.ipynb +0 -355
- agent_starter_pack-0.11.0/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb +0 -1528
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.cloudbuild/cd/test_e2e.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.cloudbuild/ci/build_use_wheel.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.cloudbuild/ci/lint.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.cloudbuild/ci/lint_templated_agents.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.cloudbuild/ci/test.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.cloudbuild/ci/test_makefile.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.cloudbuild/ci/test_pipeline_parity.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.cloudbuild/ci/test_remote_template.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.cloudbuild/ci/test_templated_agents.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.cloudbuild/terraform/apis.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.cloudbuild/terraform/build_triggers.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.cloudbuild/terraform/service_account.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.cloudbuild/terraform/storage.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.cloudbuild/terraform/variables.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.github/workflows/docs.yml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/.gitignore +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/CLAUDE.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/CODE_OF_CONDUCT.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/CONTRIBUTING.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/GEMINI.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/LICENSE +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/Makefile +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/README.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/adk_base/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/adk_base/README.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/adk_base/app/agent.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/adk_base/notebooks/adk_app_testing.ipynb +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/adk_base/notebooks/evaluating_adk_agent.ipynb +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/adk_base/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/agentic_rag/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/agentic_rag/README.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/agentic_rag/app/agent.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/agentic_rag/app/retrievers.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/agentic_rag/app/templates.py +0 -0
- {agent_starter_pack-0.11.0/agents/adk_gemini_fullstack → agent_starter_pack-0.11.2/agents/agentic_rag}/notebooks/adk_app_testing.ipynb +0 -0
- {agent_starter_pack-0.11.0/agents/adk_gemini_fullstack → agent_starter_pack-0.11.2/agents/agentic_rag}/notebooks/evaluating_adk_agent.ipynb +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/agentic_rag/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/README.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/app/agent.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/app/crew/crew.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/crewai_coding_crew/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/langgraph_base_react/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/langgraph_base_react/README.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/langgraph_base_react/app/agent.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/langgraph_base_react/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/live_api/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/live_api/README.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/live_api/app/agent.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/live_api/app/server.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/live_api/tests/integration/test_server_e2e.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/live_api/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/agents/live_api/tests/unit/test_server.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/.vitepress/config.js +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/cli/create.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/cli/enhance.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/cli/index.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/cli/list.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/cli/setup_cicd.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/guide/data-ingestion.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/guide/deploy-ui.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/guide/deployment.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/guide/development-guide.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/guide/getting-started.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/guide/installation.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/guide/observability.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/guide/template-config-reference.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/guide/troubleshooting.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/guide/video-tutorials.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/guide/why_starter_pack.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/images/adk_gemini_fullstack.gif +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/images/adk_gemini_fullstack_architecture.png +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/images/adk_logo.png +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/images/agent_starter_pack_screenshot.png +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/images/ags_high_level_architecture.png +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/images/icon.png +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/images/logo.png +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/images/prototype_to_prod.png +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/images/why_sp_edited.png +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/images/why_starter_pack.png +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/index.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/package-lock.json +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/package.json +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/remote-templates/creating-remote-templates.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/remote-templates/index.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/docs/remote-templates/using-remote-templates.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/llm.txt +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/.gitignore +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/GEMINI.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/Makefile +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/README.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/app/__init__.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/app/utils/gcs.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/app/utils/tracing.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/app/utils/typing.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/README.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/apis.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/dev/apis.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/dev/iam.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/dev/log_sinks.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/dev/providers.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/dev/storage.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/dev/vars/env.tfvars +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/github.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/locals.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/log_sinks.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/providers.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/service_accounts.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/storage.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/deployment/terraform/vars/env.tfvars +0 -0
- {agent_starter_pack-0.11.0 → 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.0 → 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.0 → agent_starter_pack-0.11.2}/src/base_template/pyproject.toml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/base_template/tests/unit/test_dummy.py +0 -0
- {agent_starter_pack-0.11.0 → 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.0 → 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.0 → 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.0 → 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.0 → 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.0 → agent_starter_pack-0.11.2}/src/cli/commands/create.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/cli/commands/list.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/cli/main.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/cli/utils/__init__.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/cli/utils/cicd.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/cli/utils/datastores.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/cli/utils/gcp.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/cli/utils/logging.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/cli/utils/remote_template.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/cli/utils/template.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/cli/utils/version.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/data_ingestion/README.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/data_ingestion/data_ingestion_pipeline/components/process_data.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/data_ingestion/data_ingestion_pipeline/pipeline.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/data_ingestion/pyproject.toml +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/data_ingestion/uv.lock +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/deployment_targets/agent_engine/app/agent_engine_app.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/deployment_targets/agent_engine/deployment_metadata.json +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -0
- {agent_starter_pack-0.11.0 → 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.0 → agent_starter_pack-0.11.2}/src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/deployment_targets/agent_engine/tests/load_test/README.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/deployment_targets/agent_engine/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/Dockerfile +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/app/server.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/deployment/terraform/service.tf +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/tests/load_test/README.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/deployment_targets/cloud_run/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/components.json +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/eslint.config.js +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/index.html +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/package-lock.json +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/package.json +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/App.tsx +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ActivityTimeline.tsx +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ChatMessagesView.tsx +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/InputForm.tsx +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/WelcomeScreen.tsx +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/badge.tsx +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/button.tsx +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/card.tsx +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/input.tsx +0 -0
- {agent_starter_pack-0.11.0 → 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.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/select.tsx +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/tabs.tsx +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/components/ui/textarea.tsx +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/global.css +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/main.tsx +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/utils.ts +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/src/vite-env.d.ts +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/tsconfig.json +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/tsconfig.node.json +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/adk_gemini_fullstack/frontend/vite.config.ts +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/package-lock.json +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/package.json +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/public/favicon.ico +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/public/index.html +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/public/robots.txt +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/App.scss +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/App.test.tsx +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/App.tsx +0 -0
- {agent_starter_pack-0.11.0 → 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.0 → 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.0 → 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.0 → 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.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/components/logger/Logger.tsx +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/components/logger/logger.scss +0 -0
- {agent_starter_pack-0.11.0 → 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.0 → 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.0 → 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.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/contexts/LiveAPIContext.tsx +0 -0
- {agent_starter_pack-0.11.0 → 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.0 → 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.0 → 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.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/hooks/use-webcam.ts +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/index.css +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/index.tsx +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/multimodal-live-types.ts +0 -0
- {agent_starter_pack-0.11.0 → 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.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/reportWebVitals.ts +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/setupTests.ts +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/utils/audio-recorder.ts +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/utils/audio-streamer.ts +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/utils/audioworklet-registry.ts +0 -0
- {agent_starter_pack-0.11.0 → 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.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/utils/store-logger.ts +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/src/utils/utils.ts +0 -0
- {agent_starter_pack-0.11.0 → 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.0 → 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.0 → agent_starter_pack-0.11.2}/src/frontends/live_api_react/frontend/tsconfig.json +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/side_bar.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/streamlit_app.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/style/app_markdown.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/utils/chat_utils.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/utils/local_chat_history.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/utils/message_editing.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/utils/stream_handler.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/frontends/streamlit/frontend/utils/title_summary.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/containers/data_processing/Dockerfile +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/containers/e2e-tests/Dockerfile +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/docs/adk-cheatsheet.md +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/idx/.idx/dev.nix +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/idx/idx-template.json +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/idx/idx-template.nix +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/locks/uv-adk_base-agent_engine.lock +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/locks/uv-adk_base-cloud_run.lock +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/locks/uv-adk_gemini_fullstack-agent_engine.lock +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/locks/uv-adk_gemini_fullstack-cloud_run.lock +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/locks/uv-agentic_rag-agent_engine.lock +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/locks/uv-agentic_rag-cloud_run.lock +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/locks/uv-langgraph_base_react-agent_engine.lock +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/locks/uv-langgraph_base_react-cloud_run.lock +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/resources/locks/uv-live_api-cloud_run.lock +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/utils/generate_locks.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/utils/lock_utils.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/src/utils/watch_and_rebuild.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/__init__.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/cicd/example.env +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/cicd/test_e2e_deployment.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/cli/commands/test_create.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/cli/commands/test_create_local.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/cli/commands/test_list.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/cli/commands/test_setup_cicd.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/cli/utils/test_cicd.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/cli/utils/test_remote_template.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/integration/test_makefile_usability.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/integration/test_pipeline_parity.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/integration/test_remote_templating.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/integration/test_template_linting.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/integration/test_templated_patterns.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/integration/utils.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/test_frontend/test_side_bar.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/test_frontend/test_streamlit_app.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/test_frontend/test_utils/test_chat_utils.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/test_frontend/test_utils/test_local_chat_history.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/test_frontend/test_utils/test_message_editing.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/test_frontend/test_utils/test_multimodal_utils.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/test_frontend/test_utils/test_stream_handler.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/utils/__init__.py +0 -0
- {agent_starter_pack-0.11.0 → agent_starter_pack-0.11.2}/tests/utils/get_agents.py +0 -0
@@ -1,4 +1,5 @@
|
|
1
1
|
{
|
2
|
+
"$schema": "https://json.schemastore.org/claude-code-settings.json",
|
2
3
|
"permissions": {
|
3
4
|
"allow": [
|
4
5
|
"Bash(grep:*)",
|
@@ -11,9 +12,10 @@
|
|
11
12
|
"Bash(. tests/cicd/.env)",
|
12
13
|
"Bash(set +a)",
|
13
14
|
"Bash(bash:*)",
|
14
|
-
"Bash(ls:*)"
|
15
|
+
"Bash(ls:*)",
|
16
|
+
"Bash(python -m pytest tests/cli/commands/test_enhance.py::TestEnhanceCommand::test_enhance_with_interactive_base_template_selection -v)",
|
17
|
+
"Bash(python tests/cicd/scripts/delete_agent_engines.py:*)"
|
15
18
|
],
|
16
19
|
"deny": []
|
17
|
-
}
|
18
|
-
"$schema": "https://json.schemastore.org/claude-code-settings.json"
|
20
|
+
}
|
19
21
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: agent-starter-pack
|
3
|
-
Version: 0.11.
|
3
|
+
Version: 0.11.2
|
4
4
|
Summary: CLI to bootstrap production-ready Google Cloud GenAI agent projects from templates.
|
5
5
|
Author-email: Google LLC <agent-starter-pack@google.com>
|
6
6
|
License: Apache-2.0
|
@@ -75,6 +75,14 @@ This command handles creating the project without needing to pre-install the pac
|
|
75
75
|
|
76
76
|
**That's it!** You now have a fully functional agent project—complete with backend, frontend, and deployment infrastructure—ready for you to explore and customize.
|
77
77
|
|
78
|
+
### 🔧 Enhance Existing Agents
|
79
|
+
|
80
|
+
Already have an agent? Add production-ready deployment and infrastructure:
|
81
|
+
|
82
|
+
```bash
|
83
|
+
agent-starter-pack enhance my-existing-agent
|
84
|
+
```
|
85
|
+
|
78
86
|
See [Installation Guide](https://googlecloudplatform.github.io/agent-starter-pack/guide/installation) for more options, or try with zero setup in [Firebase Studio](https://studio.firebase.google.com/new?template=https%3A%2F%2Fgithub.com%2FGoogleCloudPlatform%2Fagent-starter-pack%2Ftree%2Fmain%2Fsrc%2Fresources%2Fidx) or [Cloud Shell](https://shell.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Feliasecchig%2Fasp-open-in-cloud-shell&cloudshell_print=open-in-cs).
|
79
87
|
|
80
88
|
---
|
@@ -84,7 +92,6 @@ See [Installation Guide](https://googlecloudplatform.github.io/agent-starter-pac
|
|
84
92
|
| Agent Name | Description |
|
85
93
|
|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
|
86
94
|
| `adk_base` | A base ReAct agent implemented using Google's [Agent Development Kit](https://github.com/google/adk-python) |
|
87
|
-
| `adk_gemini_fullstack` | A production-ready fullstack research agent with Gemini that demonstrates complex agentic workflows, modular agent design, and Human-in-the-Loop steps. [ADK Samples](https://github.com/google/adk-samples/tree/main/python/agents/gemini-fullstack) |
|
88
95
|
| `agentic_rag` | A RAG agent for document retrieval and Q&A. Supporting [Vertex AI Search](https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction) and [Vector Search](https://cloud.google.com/vertex-ai/docs/vector-search/overview). |
|
89
96
|
| `langgraph_base_react` | An agent implementing a base ReAct agent using LangGraph |
|
90
97
|
| `crewai_coding_crew` | A multi-agent system implemented with CrewAI created to support coding activities |
|
@@ -52,6 +52,14 @@ This command handles creating the project without needing to pre-install the pac
|
|
52
52
|
|
53
53
|
**That's it!** You now have a fully functional agent project—complete with backend, frontend, and deployment infrastructure—ready for you to explore and customize.
|
54
54
|
|
55
|
+
### 🔧 Enhance Existing Agents
|
56
|
+
|
57
|
+
Already have an agent? Add production-ready deployment and infrastructure:
|
58
|
+
|
59
|
+
```bash
|
60
|
+
agent-starter-pack enhance my-existing-agent
|
61
|
+
```
|
62
|
+
|
55
63
|
See [Installation Guide](https://googlecloudplatform.github.io/agent-starter-pack/guide/installation) for more options, or try with zero setup in [Firebase Studio](https://studio.firebase.google.com/new?template=https%3A%2F%2Fgithub.com%2FGoogleCloudPlatform%2Fagent-starter-pack%2Ftree%2Fmain%2Fsrc%2Fresources%2Fidx) or [Cloud Shell](https://shell.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Feliasecchig%2Fasp-open-in-cloud-shell&cloudshell_print=open-in-cs).
|
56
64
|
|
57
65
|
---
|
@@ -61,7 +69,6 @@ See [Installation Guide](https://googlecloudplatform.github.io/agent-starter-pac
|
|
61
69
|
| Agent Name | Description |
|
62
70
|
|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
|
63
71
|
| `adk_base` | A base ReAct agent implemented using Google's [Agent Development Kit](https://github.com/google/adk-python) |
|
64
|
-
| `adk_gemini_fullstack` | A production-ready fullstack research agent with Gemini that demonstrates complex agentic workflows, modular agent design, and Human-in-the-Loop steps. [ADK Samples](https://github.com/google/adk-samples/tree/main/python/agents/gemini-fullstack) |
|
65
72
|
| `agentic_rag` | A RAG agent for document retrieval and Q&A. Supporting [Vertex AI Search](https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction) and [Vector Search](https://cloud.google.com/vertex-ai/docs/vector-search/overview). |
|
66
73
|
| `langgraph_base_react` | An agent implementing a base ReAct agent using LangGraph |
|
67
74
|
| `crewai_coding_crew` | A multi-agent system implemented with CrewAI created to support coding activities |
|
@@ -33,16 +33,6 @@ This template provides a minimal example of a ReAct agent built using Google's [
|
|
33
33
|
* Building general-purpose conversational agents.
|
34
34
|
* Learning the ADK framework and ReAct pattern.
|
35
35
|
|
36
|
-
### ADK Gemini Fullstack (`adk_gemini_fullstack`)
|
37
|
-
|
38
|
-
> 🔍 **Sample Agent**: This agent is part of the [ADK Samples](https://github.com/google/adk-samples/tree/main/python/agents/gemini-fullstack) collection, showcasing agent implementations using the Agent Development Kit.
|
39
|
-
|
40
|
-
This template provides a production-ready blueprint for building a sophisticated, fullstack research agent with Gemini. It demonstrates how the ADK helps structure complex agentic workflows, build modular agents, and incorporate critical Human-in-the-Loop (HITL) steps. Key features include:
|
41
|
-
|
42
|
-
* A complete React frontend and ADK-powered FastAPI backend
|
43
|
-
* Advanced agentic workflow where the agent strategizes a multi-step plan, reflects on findings to identify gaps, and synthesizes a final, comprehensive report.
|
44
|
-
* Iterative and Human-in-the-Loop research that involves the user for plan approval, then autonomously loops through searching and refining results.
|
45
|
-
|
46
36
|
### Agentic RAG (`agentic_rag`)
|
47
37
|
|
48
38
|
Built on the ADK, this template implements [Retrieval-Augmented Generation (RAG)](https://cloud.google.com/use-cases/retrieval-augmented-generation?hl=en) with a production-ready data ingestion pipeline for document-based question answering. It allows you to ingest, process, and embed custom data to enhance response relevance. Features include:
|
@@ -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' %}
|
@@ -64,10 +64,12 @@ jobs:
|
|
64
64
|
uses: 'google-github-actions/setup-gcloud@v2'
|
65
65
|
{%- endif %}
|
66
66
|
|
67
|
+
{%- if cookiecutter.deployment_target == 'agent_engine' %}
|
67
68
|
- name: Install uv and dependencies
|
68
69
|
run: |
|
69
70
|
pip install uv==0.6.12
|
70
71
|
uv sync --locked
|
72
|
+
{%- endif %}
|
71
73
|
|
72
74
|
{%- if cookiecutter.data_ingestion %}
|
73
75
|
- name: Deploy data ingestion pipeline (Production)
|
@@ -16,8 +16,10 @@ import pathlib
|
|
16
16
|
|
17
17
|
import click
|
18
18
|
from rich.console import Console
|
19
|
+
from rich.prompt import IntPrompt
|
19
20
|
|
20
21
|
from ..utils.logging import display_welcome_banner, handle_cli_error
|
22
|
+
from ..utils.template import get_available_agents
|
21
23
|
from .create import (
|
22
24
|
create,
|
23
25
|
get_available_base_templates,
|
@@ -28,6 +30,48 @@ from .create import (
|
|
28
30
|
console = Console()
|
29
31
|
|
30
32
|
|
33
|
+
def display_base_template_selection(current_base: str) -> str:
|
34
|
+
"""Display available base templates and prompt for selection."""
|
35
|
+
agents = get_available_agents()
|
36
|
+
|
37
|
+
if not agents:
|
38
|
+
raise click.ClickException("No base templates available")
|
39
|
+
|
40
|
+
console.print()
|
41
|
+
console.print("🔧 [bold]Base Template Selection[/bold]")
|
42
|
+
console.print()
|
43
|
+
console.print(f"Your project currently inherits from: [cyan]{current_base}[/cyan]")
|
44
|
+
console.print("Available base templates:")
|
45
|
+
|
46
|
+
# Create a mapping of choices to agent names
|
47
|
+
template_choices = {}
|
48
|
+
choice_num = 1
|
49
|
+
current_choice = None
|
50
|
+
|
51
|
+
for _num, agent in agents.items():
|
52
|
+
template_choices[choice_num] = agent["name"]
|
53
|
+
current_indicator = " (current)" if agent["name"] == current_base else ""
|
54
|
+
console.print(
|
55
|
+
f" {choice_num}. [bold]{agent['name']}[/]{current_indicator} - [dim]{agent['description']}[/]"
|
56
|
+
)
|
57
|
+
if agent["name"] == current_base:
|
58
|
+
current_choice = choice_num
|
59
|
+
choice_num += 1
|
60
|
+
|
61
|
+
if current_choice is None:
|
62
|
+
current_choice = 1
|
63
|
+
|
64
|
+
console.print()
|
65
|
+
choice = IntPrompt.ask(
|
66
|
+
"Select base template", default=current_choice, show_default=True
|
67
|
+
)
|
68
|
+
|
69
|
+
if choice in template_choices:
|
70
|
+
return template_choices[choice]
|
71
|
+
else:
|
72
|
+
raise ValueError(f"Invalid base template selection: {choice}")
|
73
|
+
|
74
|
+
|
31
75
|
@click.command()
|
32
76
|
@click.pass_context
|
33
77
|
@click.argument(
|
@@ -155,25 +199,35 @@ def enhance(
|
|
155
199
|
# Load config from current directory for inheritance info
|
156
200
|
current_dir = pathlib.Path.cwd()
|
157
201
|
source_config = load_remote_template_config(current_dir, cli_overrides)
|
158
|
-
|
159
|
-
|
160
|
-
console.print()
|
161
|
-
console.print(
|
162
|
-
f"Template inherits from base: [cyan][link=https://github.com/GoogleCloudPlatform/agent-starter-pack/tree/main/agents/{base_template_name}]{base_template_name}[/link][/cyan]"
|
163
|
-
)
|
202
|
+
original_base_template_name = get_base_template_name(source_config)
|
164
203
|
|
165
|
-
#
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
204
|
+
# Interactive base template selection if not provided via CLI and not auto-approved
|
205
|
+
if not base_template and not auto_approve:
|
206
|
+
selected_base_template = display_base_template_selection(
|
207
|
+
original_base_template_name
|
208
|
+
)
|
209
|
+
if selected_base_template != original_base_template_name:
|
210
|
+
# Update CLI overrides with the selected base template
|
211
|
+
cli_overrides["base_template"] = selected_base_template
|
212
|
+
base_template = selected_base_template
|
173
213
|
console.print(
|
174
|
-
"
|
214
|
+
f"✅ Selected base template: [cyan]{selected_base_template}[/cyan]"
|
175
215
|
)
|
176
|
-
|
216
|
+
console.print()
|
217
|
+
|
218
|
+
# Reload config with potential base template override
|
219
|
+
if cli_overrides.get("base_template"):
|
220
|
+
source_config = load_remote_template_config(current_dir, cli_overrides)
|
221
|
+
|
222
|
+
base_template_name = get_base_template_name(source_config)
|
223
|
+
|
224
|
+
# Show current inheritance info
|
225
|
+
if not auto_approve or base_template:
|
226
|
+
console.print()
|
227
|
+
console.print(
|
228
|
+
f"Template inherits from base: [cyan][link=https://github.com/GoogleCloudPlatform/agent-starter-pack/tree/main/agents/{base_template_name}]{base_template_name}[/link][/cyan]"
|
229
|
+
)
|
230
|
+
console.print()
|
177
231
|
|
178
232
|
# Validate project structure when using current directory template
|
179
233
|
if template_path == pathlib.Path("."):
|
@@ -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")
|