agent-starter-pack 0.17.2__tar.gz → 0.17.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of agent-starter-pack might be problematic. Click here for more details.
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/PKG-INFO +2 -2
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/README.md +1 -1
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/crewai_coding_crew/.template/templateconfig.yaml +1 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/langgraph_base_react/.template/templateconfig.yaml +1 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/Makefile +14 -10
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/commands/create.py +5 -3
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/commands/enhance.py +6 -7
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/utils/template.py +16 -18
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/pyproject.toml +1 -1
- agent_starter_pack-0.17.4/src/resources/idx/.idx/dev.nix +64 -0
- agent_starter_pack-0.17.4/src/resources/idx/idx-template.json +6 -0
- agent_starter_pack-0.17.4/src/resources/idx/idx-template.nix +25 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/cli/commands/test_enhance.py +204 -4
- agent_starter_pack-0.17.4/tests/fixtures/makefile_hashes.json +11 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/fixtures/makefile_snapshots/adk_base_cloud_run_no_data.makefile +8 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/fixtures/makefile_snapshots/adk_live_agent_engine.makefile +8 -4
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/fixtures/makefile_snapshots/adk_live_cloud_run.makefile +8 -4
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/fixtures/makefile_snapshots/agent_with_agent_garden.makefile +8 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/fixtures/makefile_snapshots/agent_with_custom_commands.makefile +8 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/fixtures/makefile_snapshots/agentic_rag_cloud_run_vector_search.makefile +8 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/fixtures/makefile_snapshots/agentic_rag_cloud_run_vertex_search.makefile +8 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/fixtures/makefile_snapshots/langgraph_cloud_run_no_data.makefile +8 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/integration/test_templated_patterns.py +8 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/uv.lock +1 -1
- agent_starter_pack-0.17.2/tests/fixtures/makefile_hashes.json +0 -11
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.claude/settings.local.json +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/cd/test_e2e.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/ci/build_use_wheel.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/ci/lint.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/ci/lint_templated_agents.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/ci/test.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/ci/test_makefile.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/ci/test_pipeline_parity.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/ci/test_remote_template.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/ci/test_templated_agents.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/terraform/apis.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/terraform/backend.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/terraform/build_triggers.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/terraform/service_account.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/terraform/storage.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/terraform/variables.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.cloudbuild/terraform/vars/env.tfvars +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.github/workflows/docs.yml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/.gitignore +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/CLAUDE.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/CODE_OF_CONDUCT.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/CONTRIBUTING.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/GEMINI.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/LICENSE +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/Makefile +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/README.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/adk_base/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/adk_base/README.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/adk_base/app/__init__.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/adk_base/app/agent.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/adk_base/notebooks/adk_app_testing.ipynb +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/adk_base/notebooks/evaluating_adk_agent.ipynb +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/adk_base/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/adk_live/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/adk_live/README.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/adk_live/app/agent.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/adk_live/tests/unit/test_dummy.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/agentic_rag/.template/templateconfig.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/agentic_rag/README.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/agentic_rag/app/__init__.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/agentic_rag/app/agent.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/agentic_rag/app/retrievers.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/agentic_rag/app/templates.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/agentic_rag/notebooks/adk_app_testing.ipynb +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/agentic_rag/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/crewai_coding_crew/README.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/crewai_coding_crew/app/agent.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/crewai_coding_crew/app/crew/crew.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/crewai_coding_crew/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/langgraph_base_react/README.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/langgraph_base_react/app/agent.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/agents/langgraph_base_react/tests/integration/test_agent.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/.gitignore +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/GEMINI.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/README.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/README.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/apis.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/dev/apis.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/dev/iam.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/dev/log_sinks.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/dev/providers.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/dev/storage.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/dev/variables.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/dev/vars/env.tfvars +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/github.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/iam.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/locals.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/log_sinks.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/providers.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/service_accounts.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/storage.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/variables.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/vars/env.tfvars +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'github_actions' %}wif.tf{% else %}unused_wif.tf{% endif %} +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}build_triggers.tf{% else %}unused_build_triggers.tf{% endif %} +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/pyproject.toml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/tests/unit/test_dummy.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/pr_checks.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/deploy-to-prod.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/pr_checks.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/utils/gcs.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/utils/tracing.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/utils/typing.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/commands/list.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/commands/setup_cicd.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/main.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/utils/__init__.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/utils/cicd.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/utils/datastores.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/utils/gcp.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/utils/logging.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/utils/remote_template.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/utils/version.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/data_ingestion/README.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/data_ingestion/data_ingestion_pipeline/components/process_data.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/data_ingestion/data_ingestion_pipeline/pipeline.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/data_ingestion/pyproject.toml +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/data_ingestion/uv.lock +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/agent_engine/deployment/terraform/{% if not cookiecutter.is_adk_live %}service.tf{% else %}unused_service.tf{% endif %} +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/agent_engine/deployment_metadata.json +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/agent_engine/tests/load_test/README.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/agent_engine/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/agent_engine_app.py +1 -1
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/utils/deployment.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/utils/{% if cookiecutter.is_adk_live %}expose_app.py{% else %}unused_expose_app.py{% endif %} +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/cloud_run/Dockerfile +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/service.tf +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/cloud_run/tests/load_test/README.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/cloud_run/tests/load_test/load_test.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/deployment_targets/cloud_run/{{cookiecutter.agent_directory}}/server.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/package-lock.json +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/package.json +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/public/favicon.ico +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/public/index.html +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/public/robots.txt +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/App.scss +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/App.test.tsx +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/App.tsx +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/audio-pulse/AudioPulse.tsx +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/audio-pulse/audio-pulse.scss +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/logger/Logger.tsx +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/logger/logger.scss +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/logger/mock-logs.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/side-panel/SidePanel.tsx +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/side-panel/side-panel.scss +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/transcription-preview/TranscriptionPreview.tsx +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/components/transcription-preview/transcription-preview.scss +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/contexts/LiveAPIContext.tsx +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/hooks/use-live-api.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/hooks/use-media-stream-mux.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/hooks/use-screen-capture.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/hooks/use-webcam.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/index.css +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/index.tsx +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/multimodal-live-types.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/react-app-env.d.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/reportWebVitals.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/setupTests.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/audio-recorder.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/audio-streamer.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/audioworklet-registry.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/multimodal-live-client.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/store-logger.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/utils.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/worklets/audio-processing.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/src/utils/worklets/vol-meter.ts +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/adk_live_react/frontend/tsconfig.json +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/streamlit/frontend/side_bar.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/streamlit/frontend/streamlit_app.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/streamlit/frontend/style/app_markdown.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/streamlit/frontend/utils/chat_utils.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/streamlit/frontend/utils/local_chat_history.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/streamlit/frontend/utils/message_editing.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/streamlit/frontend/utils/stream_handler.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/frontends/streamlit/frontend/utils/title_summary.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/containers/data_processing/Dockerfile +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/containers/e2e-tests/Dockerfile +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/docs/adk-cheatsheet.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/idx/.idx/dev.nix +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/idx/idx-template.json +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/idx/idx-template.nix +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/locks/uv-adk_base-agent_engine.lock +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/locks/uv-adk_base-cloud_run.lock +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/locks/uv-adk_live-agent_engine.lock +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/locks/uv-adk_live-cloud_run.lock +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/locks/uv-agentic_rag-agent_engine.lock +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/locks/uv-agentic_rag-cloud_run.lock +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/locks/uv-crewai_coding_crew-agent_engine.lock +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/locks/uv-crewai_coding_crew-cloud_run.lock +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/locks/uv-langgraph_base_react-agent_engine.lock +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/resources/locks/uv-langgraph_base_react-cloud_run.lock +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/utils/generate_locks.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/utils/lock_utils.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/utils/watch_and_rebuild.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/.vitepress/config.js +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/agents/overview.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/cli/create.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/cli/enhance.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/cli/index.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/cli/list.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/cli/setup_cicd.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/guide/community-showcase.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/guide/data-ingestion.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/guide/deploy-ui.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/guide/deployment.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/guide/development-guide.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/guide/getting-started.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/guide/installation.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/guide/observability.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/guide/template-config-reference.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/guide/troubleshooting.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/guide/video-tutorials.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/guide/why_starter_pack.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/images/adk_gemini_fullstack.gif +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/images/adk_gemini_fullstack_architecture.png +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/images/adk_logo.png +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/images/agent_starter_pack_screenshot.png +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/images/ags_high_level_architecture.png +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/images/icon.png +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/images/logo.png +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/images/prototype_to_prod.png +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/images/why_sp_edited.png +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/images/why_starter_pack.png +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/index.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/package-lock.json +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/package.json +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/remote-templates/creating-remote-templates.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/remote-templates/index.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/docs/remote-templates/using-remote-templates.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/llm.txt +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/__init__.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/cicd/example.env +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/cicd/scripts/delete_agent_engines.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/cicd/scripts/delete_alloydb_clusters.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/cicd/scripts/delete_service_accounts.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/cicd/scripts/delete_vector_search.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/cicd/test_e2e_deployment.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/cli/commands/test_create.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/cli/commands/test_create_local.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/cli/commands/test_list.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/cli/commands/test_setup_cicd.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/cli/utils/test_cicd.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/cli/utils/test_remote_template.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/fixtures/makefile_snapshots/adk_base_agent_engine_no_data.makefile +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/integration/test_agent_directory_functionality.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/integration/test_makefile_usability.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/integration/test_pipeline_parity.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/integration/test_remote_templating.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/integration/test_template_linting.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/integration/utils.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/test_frontend/test_side_bar.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/test_frontend/test_streamlit_app.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/test_frontend/test_utils/test_chat_utils.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/test_frontend/test_utils/test_local_chat_history.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/test_frontend/test_utils/test_message_editing.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/test_frontend/test_utils/test_multimodal_utils.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/test_frontend/test_utils/test_stream_handler.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/unit/README_MAKEFILE_TESTS.md +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/unit/test_makefile_template.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/utils/__init__.py +0 -0
- {agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/tests/utils/get_agents.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-starter-pack
|
|
3
|
-
Version: 0.17.
|
|
3
|
+
Version: 0.17.4
|
|
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
|
|
@@ -24,7 +24,7 @@ Description-Content-Type: text/markdown
|
|
|
24
24
|
|
|
25
25
|
# 🚀 Agent Starter Pack
|
|
26
26
|
|
|
27
|
-
 [](https://youtu.be/jHt-ZVD660g) [](https://googlecloudplatform.github.io/agent-starter-pack/) <a href="https://studio.firebase.google.com/new?template=https%3A%2F%2Fgithub.com%2FGoogleCloudPlatform%2Fagent-starter-pack%2Ftree%2Fmain%
|
|
27
|
+
 [](https://youtu.be/jHt-ZVD660g) [](https://googlecloudplatform.github.io/agent-starter-pack/) <a href="https://studio.firebase.google.com/new?template=https%3A%2F%2Fgithub.com%2FGoogleCloudPlatform%2Fagent-starter-pack%2Ftree%2Fmain%2Fagent_starter_pack%2Fresources%2Fidx">
|
|
28
28
|
<picture>
|
|
29
29
|
<source
|
|
30
30
|
media="(prefers-color-scheme: dark)"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 🚀 Agent Starter Pack
|
|
2
2
|
|
|
3
|
-
 [](https://youtu.be/jHt-ZVD660g) [](https://googlecloudplatform.github.io/agent-starter-pack/) <a href="https://studio.firebase.google.com/new?template=https%3A%2F%2Fgithub.com%2FGoogleCloudPlatform%2Fagent-starter-pack%2Ftree%2Fmain%
|
|
3
|
+
 [](https://youtu.be/jHt-ZVD660g) [](https://googlecloudplatform.github.io/agent-starter-pack/) <a href="https://studio.firebase.google.com/new?template=https%3A%2F%2Fgithub.com%2FGoogleCloudPlatform%2Fagent-starter-pack%2Ftree%2Fmain%2Fagent_starter_pack%2Fresources%2Fidx">
|
|
4
4
|
<picture>
|
|
5
5
|
<source
|
|
6
6
|
media="(prefers-color-scheme: dark)"
|
{agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/base_template/Makefile
RENAMED
|
@@ -79,6 +79,20 @@ playground:{%- if cookiecutter.is_adk_live %} build-frontend-if-needed{%- endif
|
|
|
79
79
|
{%- endif %}
|
|
80
80
|
{%- endfor %}
|
|
81
81
|
{%- endif %}
|
|
82
|
+
{%- if cookiecutter.deployment_target == 'cloud_run' or (cookiecutter.deployment_target == 'agent_engine' and cookiecutter.is_adk_live) %}
|
|
83
|
+
|
|
84
|
+
# ==============================================================================
|
|
85
|
+
# Local Development Commands
|
|
86
|
+
# ==============================================================================
|
|
87
|
+
|
|
88
|
+
# Launch local development server with hot-reload
|
|
89
|
+
local-backend:
|
|
90
|
+
{%- if cookiecutter.deployment_target == 'cloud_run' %}
|
|
91
|
+
uv run uvicorn {{cookiecutter.agent_directory}}.server:app --host localhost --port 8000 --reload
|
|
92
|
+
{%- else %}
|
|
93
|
+
uv run python -m {{cookiecutter.agent_directory}}.utils.expose_app --mode local --port 8000 --local-agent {{cookiecutter.agent_directory}}.agent.root_agent
|
|
94
|
+
{%- endif %}
|
|
95
|
+
{%- endif %}
|
|
82
96
|
{%- if cookiecutter.is_adk_live %}
|
|
83
97
|
|
|
84
98
|
# ==============================================================================
|
|
@@ -101,18 +115,8 @@ build-frontend-if-needed:
|
|
|
101
115
|
else \
|
|
102
116
|
echo "Frontend build is up to date. Skipping build..."; \
|
|
103
117
|
fi
|
|
104
|
-
{%- if cookiecutter.deployment_target == 'cloud_run' %}
|
|
105
|
-
|
|
106
|
-
# Launch local development server with hot-reload
|
|
107
|
-
local-backend:
|
|
108
|
-
uv run uvicorn {{cookiecutter.agent_directory}}.server:app --host localhost --port 8000 --reload
|
|
109
|
-
{%- endif %}
|
|
110
118
|
{%- if cookiecutter.deployment_target == 'agent_engine' %}
|
|
111
119
|
|
|
112
|
-
# Launch local development server with hot-reload
|
|
113
|
-
local-backend:
|
|
114
|
-
uv run python -m {{cookiecutter.agent_directory}}.utils.expose_app --mode local --port 8000 --local-agent {{cookiecutter.agent_directory}}.agent.root_agent
|
|
115
|
-
|
|
116
120
|
# Connect to remote deployed agent
|
|
117
121
|
playground-remote: build-frontend-if-needed
|
|
118
122
|
@echo "==============================================================================="
|
{agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/commands/create.py
RENAMED
|
@@ -470,7 +470,9 @@ def create(
|
|
|
470
470
|
# Load template configuration based on whether it's remote or local
|
|
471
471
|
if template_source_path:
|
|
472
472
|
# Prepare CLI overrides for remote template config
|
|
473
|
-
cli_overrides
|
|
473
|
+
# Initialize cli_overrides if not provided (e.g., from enhance command)
|
|
474
|
+
if cli_overrides is None:
|
|
475
|
+
cli_overrides = {}
|
|
474
476
|
if base_template:
|
|
475
477
|
cli_overrides["base_template"] = base_template
|
|
476
478
|
|
|
@@ -491,7 +493,7 @@ def create(
|
|
|
491
493
|
logging.debug(f"Using base template: {base_template_name}")
|
|
492
494
|
|
|
493
495
|
base_template_path = (
|
|
494
|
-
pathlib.Path(__file__).parent.parent.parent
|
|
496
|
+
pathlib.Path(__file__).parent.parent.parent
|
|
495
497
|
/ "agents"
|
|
496
498
|
/ base_template_name
|
|
497
499
|
/ ".template"
|
|
@@ -504,7 +506,7 @@ def create(
|
|
|
504
506
|
template_path = template_source_path / ".template"
|
|
505
507
|
else:
|
|
506
508
|
template_path = (
|
|
507
|
-
pathlib.Path(__file__).parent.parent.parent
|
|
509
|
+
pathlib.Path(__file__).parent.parent.parent
|
|
508
510
|
/ "agents"
|
|
509
511
|
/ final_agent
|
|
510
512
|
/ ".template"
|
{agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/commands/enhance.py
RENAMED
|
@@ -329,10 +329,7 @@ def enhance(
|
|
|
329
329
|
console.print()
|
|
330
330
|
|
|
331
331
|
# Determine agent specification based on template_path
|
|
332
|
-
|
|
333
|
-
if base_template:
|
|
334
|
-
agent_spec = base_template
|
|
335
|
-
elif template_path == pathlib.Path("."):
|
|
332
|
+
if template_path == pathlib.Path("."):
|
|
336
333
|
# Current directory - use local@ syntax
|
|
337
334
|
agent_spec = "local@."
|
|
338
335
|
elif template_path.is_dir():
|
|
@@ -367,6 +364,8 @@ def enhance(
|
|
|
367
364
|
selected_base_template = display_base_template_selection(
|
|
368
365
|
original_base_template_name
|
|
369
366
|
)
|
|
367
|
+
# Always set base_template to the selected value (even if unchanged)
|
|
368
|
+
base_template = selected_base_template
|
|
370
369
|
if selected_base_template != original_base_template_name:
|
|
371
370
|
# Update CLI overrides with the selected base template
|
|
372
371
|
cli_overrides["base_template"] = selected_base_template
|
|
@@ -374,7 +373,6 @@ def enhance(
|
|
|
374
373
|
if agent_directory:
|
|
375
374
|
cli_overrides["settings"] = cli_overrides.get("settings", {})
|
|
376
375
|
cli_overrides["settings"]["agent_directory"] = agent_directory
|
|
377
|
-
base_template = selected_base_template
|
|
378
376
|
console.print(
|
|
379
377
|
f"✅ Selected base template: [cyan]{selected_base_template}[/cyan]"
|
|
380
378
|
)
|
|
@@ -582,9 +580,10 @@ def enhance(
|
|
|
582
580
|
final_cli_overrides["base_template"] = base_template
|
|
583
581
|
|
|
584
582
|
# For current directory templates, ensure agent_directory is included in cli_overrides
|
|
585
|
-
|
|
583
|
+
# final_agent_directory is set from interactive selection or CLI/detection
|
|
584
|
+
if template_path == pathlib.Path(".") and final_agent_directory:
|
|
586
585
|
final_cli_overrides["settings"] = final_cli_overrides.get("settings", {})
|
|
587
|
-
final_cli_overrides["settings"]["agent_directory"] =
|
|
586
|
+
final_cli_overrides["settings"]["agent_directory"] = final_agent_directory
|
|
588
587
|
|
|
589
588
|
# Call the create command with in-folder mode enabled
|
|
590
589
|
ctx.invoke(
|
{agent_starter_pack-0.17.2 → agent_starter_pack-0.17.4}/agent_starter_pack/cli/utils/template.py
RENAMED
|
@@ -579,8 +579,8 @@ def process_template(
|
|
|
579
579
|
)
|
|
580
580
|
# Get agent directory from config early for use in file copying
|
|
581
581
|
# Load config early to get agent_directory
|
|
582
|
-
if
|
|
583
|
-
early_config = remote_config
|
|
582
|
+
if remote_config:
|
|
583
|
+
early_config = remote_config
|
|
584
584
|
else:
|
|
585
585
|
template_path = pathlib.Path(template_dir)
|
|
586
586
|
early_config = load_template_config(template_path)
|
|
@@ -620,25 +620,16 @@ def process_template(
|
|
|
620
620
|
)
|
|
621
621
|
copy_data_ingestion_files(project_template, datastore)
|
|
622
622
|
|
|
623
|
-
# 4.
|
|
624
|
-
# Load template config
|
|
625
|
-
template_config = load_template_config(pathlib.Path(template_dir))
|
|
626
|
-
frontend_type = template_config.get("settings", {}).get(
|
|
627
|
-
"frontend_type", DEFAULT_FRONTEND
|
|
628
|
-
)
|
|
629
|
-
copy_frontend_files(frontend_type, project_template)
|
|
630
|
-
logging.debug(f"4. Processed frontend files for type: {frontend_type}")
|
|
631
|
-
|
|
632
|
-
# 6. Skip remote template files during cookiecutter processing
|
|
623
|
+
# 4. Skip remote template files during cookiecutter processing
|
|
633
624
|
# Remote files will be copied after cookiecutter to avoid Jinja conflicts
|
|
634
625
|
if is_remote and remote_template_path:
|
|
635
626
|
logging.debug(
|
|
636
|
-
"
|
|
627
|
+
"4. Skipping remote template files during cookiecutter processing - will copy after templating"
|
|
637
628
|
)
|
|
638
629
|
|
|
639
630
|
# Load and validate template config first
|
|
640
|
-
if
|
|
641
|
-
config = remote_config
|
|
631
|
+
if remote_config:
|
|
632
|
+
config = remote_config
|
|
642
633
|
else:
|
|
643
634
|
template_path = pathlib.Path(template_dir)
|
|
644
635
|
config = load_template_config(template_path)
|
|
@@ -659,7 +650,14 @@ def process_template(
|
|
|
659
650
|
# Use the already loaded config
|
|
660
651
|
template_config = config
|
|
661
652
|
|
|
662
|
-
#
|
|
653
|
+
# Process frontend files (after config is properly loaded with CLI overrides)
|
|
654
|
+
frontend_type = template_config.get("settings", {}).get(
|
|
655
|
+
"frontend_type", DEFAULT_FRONTEND
|
|
656
|
+
)
|
|
657
|
+
copy_frontend_files(frontend_type, project_template)
|
|
658
|
+
logging.debug(f"5. Processed frontend files for type: {frontend_type}")
|
|
659
|
+
|
|
660
|
+
# 6. Copy agent-specific files to override base template (using final config)
|
|
663
661
|
if agent_path.exists():
|
|
664
662
|
agent_directory = get_agent_directory(template_config, cli_overrides)
|
|
665
663
|
|
|
@@ -673,7 +671,7 @@ def process_template(
|
|
|
673
671
|
target_agent_folder = project_template / agent_directory
|
|
674
672
|
if source_agent_folder.exists():
|
|
675
673
|
logging.debug(
|
|
676
|
-
f"
|
|
674
|
+
f"6. Copying agent folder {template_agent_directory} -> {agent_directory} with override"
|
|
677
675
|
)
|
|
678
676
|
copy_files(
|
|
679
677
|
source_agent_folder,
|
|
@@ -689,7 +687,7 @@ def process_template(
|
|
|
689
687
|
agent_folder = agent_path / folder
|
|
690
688
|
project_folder = project_template / folder
|
|
691
689
|
if agent_folder.exists():
|
|
692
|
-
logging.debug(f"
|
|
690
|
+
logging.debug(f"6. Copying {folder} folder with override")
|
|
693
691
|
copy_files(
|
|
694
692
|
agent_folder,
|
|
695
693
|
project_folder,
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
|
|
2
|
+
# To learn more about how to use Nix to configure your environment
|
|
3
|
+
# see: https://firebase.google.com/docs/studio/customize-workspace
|
|
4
|
+
{ pkgs, ... }: {
|
|
5
|
+
# Which nixpkgs channel to use.
|
|
6
|
+
channel = "stable-24.11"; # or "unstable"
|
|
7
|
+
|
|
8
|
+
# Use https://search.nixos.org/packages to find packages
|
|
9
|
+
packages = [
|
|
10
|
+
pkgs.uv
|
|
11
|
+
pkgs.gnumake
|
|
12
|
+
pkgs.terraform
|
|
13
|
+
pkgs.gh
|
|
14
|
+
];
|
|
15
|
+
# Sets environment variables in the workspace
|
|
16
|
+
env = {};
|
|
17
|
+
idx = {
|
|
18
|
+
# Search for the extensions you want on https://open-vsx.org/ and use "publisher.id"
|
|
19
|
+
extensions = [
|
|
20
|
+
];
|
|
21
|
+
workspace = {
|
|
22
|
+
# Runs when a workspace is first created with this `dev.nix` file
|
|
23
|
+
onCreate = {
|
|
24
|
+
create-venv = ''
|
|
25
|
+
# Load environment variables from .env file if it exists
|
|
26
|
+
source .env
|
|
27
|
+
|
|
28
|
+
# Beautiful prints for gcloud setup
|
|
29
|
+
echo ""
|
|
30
|
+
echo "╔════════════════════════════════════════════════════════════╗"
|
|
31
|
+
echo "║ 🔐 GCLOUD SETUP REQUIRED ║"
|
|
32
|
+
echo "╚════════════════════════════════════════════════════════════╝"
|
|
33
|
+
echo ""
|
|
34
|
+
echo "📝 Before proceeding, please ensure:"
|
|
35
|
+
echo " 1️⃣ You are logged in to gcloud"
|
|
36
|
+
echo " 2️⃣ You have selected the correct project"
|
|
37
|
+
echo ""
|
|
38
|
+
|
|
39
|
+
auth_status=$(gcloud auth list --quiet 2>&1)
|
|
40
|
+
|
|
41
|
+
echo ""
|
|
42
|
+
echo "⚙️ We will now set the project you want to use..."
|
|
43
|
+
gcloud config get project
|
|
44
|
+
|
|
45
|
+
echo ""
|
|
46
|
+
echo "💡 Need to setup? Run these commands:"
|
|
47
|
+
echo " → gcloud auth login"
|
|
48
|
+
echo " → gcloud config set project YOUR_PROJECT_ID"
|
|
49
|
+
echo ""
|
|
50
|
+
|
|
51
|
+
echo "Running agent starter pack creation..."
|
|
52
|
+
uvx agent-starter-pack create $WS_NAME
|
|
53
|
+
code ~/$WS_NAME/$WS_NAME/README.md
|
|
54
|
+
exec bash
|
|
55
|
+
'';
|
|
56
|
+
# Open editors for the following files by default, if they exist:
|
|
57
|
+
default.openFiles = [];
|
|
58
|
+
};
|
|
59
|
+
# To run something each time the workspace is (re)started, use the `onStart` hook
|
|
60
|
+
};
|
|
61
|
+
# Enable previews and customize configuration
|
|
62
|
+
previews = {};
|
|
63
|
+
};
|
|
64
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Agent Starter Pack",
|
|
3
|
+
"description": "Production-ready Gen AI Agent templates for Google Cloud. Addressing common challenges (Deployment & Operations, Evaluation, Customization, Observability) in building and deploying GenAI agents.",
|
|
4
|
+
"icon": "https://github.com/GoogleCloudPlatform/agent-starter-pack/blob/main/docs/images/icon.png?raw=true",
|
|
5
|
+
"params": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
# No user-configurable parameters
|
|
3
|
+
# Accept additional arguments to this template corresponding to template
|
|
4
|
+
# parameter IDs
|
|
5
|
+
{ pkgs, agent_name ? "", google_cloud_project_id ? "", ... }: {
|
|
6
|
+
# Shell script that produces the final environment
|
|
7
|
+
bootstrap = ''
|
|
8
|
+
# Copy the folder containing the `idx-template` files to the final
|
|
9
|
+
# project folder for the new workspace. ${./.} inserts the directory
|
|
10
|
+
# of the checked-out Git folder containing this template.
|
|
11
|
+
cp -rf ${./.} "$out"
|
|
12
|
+
|
|
13
|
+
# Set some permissions
|
|
14
|
+
chmod -R +w "$out"
|
|
15
|
+
|
|
16
|
+
# Create .env file with the parameter values
|
|
17
|
+
cat > "$out/.env" << EOF
|
|
18
|
+
WS_NAME=$WS_NAME
|
|
19
|
+
EOF
|
|
20
|
+
|
|
21
|
+
# Remove the template files themselves and any connection to the template's
|
|
22
|
+
# Git repository
|
|
23
|
+
rm -rf "$out/.git" "$out/idx-template".{nix,json}
|
|
24
|
+
'';
|
|
25
|
+
}
|
|
@@ -344,7 +344,13 @@ agent = RunnablePassthrough()
|
|
|
344
344
|
f"Enhance failed with output:\n{result.output}"
|
|
345
345
|
)
|
|
346
346
|
|
|
347
|
-
# Verify
|
|
347
|
+
# Verify agent.py content was NOT modified (customer file preservation)
|
|
348
|
+
preserved_agent_content = agent_file.read_text()
|
|
349
|
+
assert preserved_agent_content == agent_content, (
|
|
350
|
+
f"agent.py was modified! Expected:\n{agent_content}\n\nGot:\n{preserved_agent_content}"
|
|
351
|
+
)
|
|
352
|
+
|
|
353
|
+
# Verify agent_engine_app.py was created (deployment target specific)
|
|
348
354
|
agent_engine_app = agent_dir / "agent_engine_app.py"
|
|
349
355
|
assert agent_engine_app.exists(), (
|
|
350
356
|
f"agent_engine_app.py not created in {agent_dir}"
|
|
@@ -368,15 +374,14 @@ agent = RunnablePassthrough()
|
|
|
368
374
|
agent_dir = pathlib.Path("my_custom_agent")
|
|
369
375
|
agent_dir.mkdir()
|
|
370
376
|
agent_file = agent_dir / "agent.py"
|
|
371
|
-
|
|
372
|
-
"""from google.adk.agents import Agent
|
|
377
|
+
agent_content = """from google.adk.agents import Agent
|
|
373
378
|
|
|
374
379
|
root_agent = Agent(
|
|
375
380
|
name="test_agent",
|
|
376
381
|
model="gemini-2.0-flash-001",
|
|
377
382
|
)
|
|
378
383
|
"""
|
|
379
|
-
)
|
|
384
|
+
agent_file.write_text(agent_content)
|
|
380
385
|
|
|
381
386
|
# Run enhance with custom agent directory
|
|
382
387
|
result = runner.invoke(
|
|
@@ -399,6 +404,12 @@ root_agent = Agent(
|
|
|
399
404
|
f"Enhance failed with output:\n{result.output}"
|
|
400
405
|
)
|
|
401
406
|
|
|
407
|
+
# Verify agent.py content was NOT modified (customer file preservation)
|
|
408
|
+
preserved_agent_content = agent_file.read_text()
|
|
409
|
+
assert preserved_agent_content == agent_content, (
|
|
410
|
+
f"agent.py in custom directory was modified! Expected:\n{agent_content}\n\nGot:\n{preserved_agent_content}"
|
|
411
|
+
)
|
|
412
|
+
|
|
402
413
|
# Verify agent_engine_app.py was created in custom directory
|
|
403
414
|
agent_engine_app = agent_dir / "agent_engine_app.py"
|
|
404
415
|
assert agent_engine_app.exists(), (
|
|
@@ -483,3 +494,192 @@ class TestEnhanceAgentDirectoryPrompt:
|
|
|
483
494
|
call_args = mock_display_selection.call_args
|
|
484
495
|
# The base_template should be passed to the function
|
|
485
496
|
assert call_args[0][2] == "langgraph_base_react"
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
class TestEnhanceFilePopulation:
|
|
500
|
+
"""Test that enhance properly populates files based on configuration."""
|
|
501
|
+
|
|
502
|
+
def test_adk_live_populates_frontend_files(self, tmp_path: pathlib.Path) -> None:
|
|
503
|
+
"""Test that adk_live agent populates frontend files (regression test for bug)."""
|
|
504
|
+
runner = CliRunner()
|
|
505
|
+
|
|
506
|
+
with runner.isolated_filesystem(temp_dir=tmp_path):
|
|
507
|
+
# Create agent directory with adk_live agent.py
|
|
508
|
+
agent_dir = pathlib.Path("app")
|
|
509
|
+
agent_dir.mkdir()
|
|
510
|
+
agent_file = agent_dir / "agent.py"
|
|
511
|
+
|
|
512
|
+
agent_content = """from google.adk.agents import Agent
|
|
513
|
+
|
|
514
|
+
root_agent = Agent(
|
|
515
|
+
name="test_agent",
|
|
516
|
+
model="gemini-2.0-flash-001",
|
|
517
|
+
)
|
|
518
|
+
"""
|
|
519
|
+
agent_file.write_text(agent_content)
|
|
520
|
+
|
|
521
|
+
# Run enhance with adk_live base template
|
|
522
|
+
result = runner.invoke(
|
|
523
|
+
enhance,
|
|
524
|
+
[
|
|
525
|
+
".",
|
|
526
|
+
"--base-template",
|
|
527
|
+
"adk_live",
|
|
528
|
+
"--deployment-target",
|
|
529
|
+
"agent_engine",
|
|
530
|
+
"--auto-approve",
|
|
531
|
+
"--skip-checks",
|
|
532
|
+
],
|
|
533
|
+
)
|
|
534
|
+
|
|
535
|
+
# Check that enhance succeeded
|
|
536
|
+
assert result.exit_code == 0, (
|
|
537
|
+
f"Enhance failed with output:\n{result.output}"
|
|
538
|
+
)
|
|
539
|
+
|
|
540
|
+
# Verify frontend files were populated for adk_live
|
|
541
|
+
# adk_live uses adk_live_react frontend
|
|
542
|
+
frontend_dir = pathlib.Path("frontend")
|
|
543
|
+
assert frontend_dir.exists(), "Frontend directory was not created"
|
|
544
|
+
|
|
545
|
+
# Check for key frontend files
|
|
546
|
+
key_frontend_files = [
|
|
547
|
+
frontend_dir / "src" / "App.tsx",
|
|
548
|
+
frontend_dir / "src" / "index.tsx",
|
|
549
|
+
frontend_dir / "package.json",
|
|
550
|
+
]
|
|
551
|
+
|
|
552
|
+
for frontend_file in key_frontend_files:
|
|
553
|
+
assert frontend_file.exists(), (
|
|
554
|
+
f"Expected frontend file {frontend_file} was not created for adk_live"
|
|
555
|
+
)
|
|
556
|
+
|
|
557
|
+
# Verify agent.py was NOT modified (customer file preservation)
|
|
558
|
+
preserved_agent_content = agent_file.read_text()
|
|
559
|
+
assert preserved_agent_content == agent_content, (
|
|
560
|
+
"agent.py was modified during enhance!"
|
|
561
|
+
)
|
|
562
|
+
|
|
563
|
+
def test_cloud_run_deployment_populates_files(self, tmp_path: pathlib.Path) -> None:
|
|
564
|
+
"""Test that Cloud Run deployment target populates deployment-specific files."""
|
|
565
|
+
runner = CliRunner()
|
|
566
|
+
|
|
567
|
+
with runner.isolated_filesystem(temp_dir=tmp_path):
|
|
568
|
+
# Create agent directory
|
|
569
|
+
agent_dir = pathlib.Path("app")
|
|
570
|
+
agent_dir.mkdir()
|
|
571
|
+
agent_file = agent_dir / "agent.py"
|
|
572
|
+
|
|
573
|
+
agent_content = """from google.adk.agents import Agent
|
|
574
|
+
|
|
575
|
+
root_agent = Agent(
|
|
576
|
+
name="test_agent",
|
|
577
|
+
model="gemini-2.0-flash-001",
|
|
578
|
+
)
|
|
579
|
+
"""
|
|
580
|
+
agent_file.write_text(agent_content)
|
|
581
|
+
|
|
582
|
+
# Run enhance with cloud_run deployment target
|
|
583
|
+
result = runner.invoke(
|
|
584
|
+
enhance,
|
|
585
|
+
[
|
|
586
|
+
".",
|
|
587
|
+
"--base-template",
|
|
588
|
+
"adk_base",
|
|
589
|
+
"--deployment-target",
|
|
590
|
+
"cloud_run",
|
|
591
|
+
"--auto-approve",
|
|
592
|
+
"--skip-checks",
|
|
593
|
+
],
|
|
594
|
+
)
|
|
595
|
+
|
|
596
|
+
# Check that enhance succeeded
|
|
597
|
+
assert result.exit_code == 0, (
|
|
598
|
+
f"Enhance failed with output:\n{result.output}"
|
|
599
|
+
)
|
|
600
|
+
|
|
601
|
+
# Verify Cloud Run specific files were populated
|
|
602
|
+
cloud_run_files = [
|
|
603
|
+
agent_dir / "server.py", # Cloud Run server
|
|
604
|
+
pathlib.Path("Dockerfile"), # Cloud Run Dockerfile
|
|
605
|
+
pathlib.Path("deployment") / "terraform" / "service.tf",
|
|
606
|
+
]
|
|
607
|
+
|
|
608
|
+
for cloud_run_file in cloud_run_files:
|
|
609
|
+
assert cloud_run_file.exists(), (
|
|
610
|
+
f"Expected Cloud Run file {cloud_run_file} was not created"
|
|
611
|
+
)
|
|
612
|
+
|
|
613
|
+
# Verify agent.py was NOT modified
|
|
614
|
+
preserved_agent_content = agent_file.read_text()
|
|
615
|
+
assert preserved_agent_content == agent_content, (
|
|
616
|
+
"agent.py was modified during enhance!"
|
|
617
|
+
)
|
|
618
|
+
|
|
619
|
+
def test_data_ingestion_populates_files(self, tmp_path: pathlib.Path) -> None:
|
|
620
|
+
"""Test that --include-data-ingestion actually populates data pipeline files."""
|
|
621
|
+
runner = CliRunner()
|
|
622
|
+
|
|
623
|
+
with runner.isolated_filesystem(temp_dir=tmp_path):
|
|
624
|
+
# Create agent directory
|
|
625
|
+
agent_dir = pathlib.Path("app")
|
|
626
|
+
agent_dir.mkdir()
|
|
627
|
+
agent_file = agent_dir / "agent.py"
|
|
628
|
+
|
|
629
|
+
agent_content = """from google.adk.agents import Agent
|
|
630
|
+
|
|
631
|
+
root_agent = Agent(
|
|
632
|
+
name="test_agent",
|
|
633
|
+
model="gemini-2.0-flash-001",
|
|
634
|
+
)
|
|
635
|
+
"""
|
|
636
|
+
agent_file.write_text(agent_content)
|
|
637
|
+
|
|
638
|
+
# Run enhance with data ingestion enabled
|
|
639
|
+
result = runner.invoke(
|
|
640
|
+
enhance,
|
|
641
|
+
[
|
|
642
|
+
".",
|
|
643
|
+
"--base-template",
|
|
644
|
+
"adk_base",
|
|
645
|
+
"--deployment-target",
|
|
646
|
+
"agent_engine",
|
|
647
|
+
"--include-data-ingestion",
|
|
648
|
+
"--auto-approve",
|
|
649
|
+
"--skip-checks",
|
|
650
|
+
],
|
|
651
|
+
)
|
|
652
|
+
|
|
653
|
+
# Check that enhance succeeded
|
|
654
|
+
assert result.exit_code == 0, (
|
|
655
|
+
f"Enhance failed with output:\n{result.output}"
|
|
656
|
+
)
|
|
657
|
+
|
|
658
|
+
# Verify data ingestion files were populated
|
|
659
|
+
data_ingestion_files = [
|
|
660
|
+
pathlib.Path("data_ingestion")
|
|
661
|
+
/ "data_ingestion_pipeline"
|
|
662
|
+
/ "pipeline.py",
|
|
663
|
+
pathlib.Path("data_ingestion")
|
|
664
|
+
/ "data_ingestion_pipeline"
|
|
665
|
+
/ "submit_pipeline.py",
|
|
666
|
+
pathlib.Path("data_ingestion")
|
|
667
|
+
/ "data_ingestion_pipeline"
|
|
668
|
+
/ "components"
|
|
669
|
+
/ "ingest_data.py",
|
|
670
|
+
pathlib.Path("data_ingestion")
|
|
671
|
+
/ "data_ingestion_pipeline"
|
|
672
|
+
/ "components"
|
|
673
|
+
/ "process_data.py",
|
|
674
|
+
]
|
|
675
|
+
|
|
676
|
+
for data_file in data_ingestion_files:
|
|
677
|
+
assert data_file.exists(), (
|
|
678
|
+
f"Expected data ingestion file {data_file} was not created"
|
|
679
|
+
)
|
|
680
|
+
|
|
681
|
+
# Verify agent.py was NOT modified
|
|
682
|
+
preserved_agent_content = agent_file.read_text()
|
|
683
|
+
assert preserved_agent_content == agent_content, (
|
|
684
|
+
"agent.py was modified during enhance!"
|
|
685
|
+
)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"adk_base_agent_engine_no_data": "d76c4fc040b90d51d76b2fc9dbd87bb7847aaf20b34ca937ab5e9abfbba919b9",
|
|
3
|
+
"adk_base_cloud_run_no_data": "048610cde47f7eaf92325f0bc041506712f13a73284d481d7a23300c1184c2da",
|
|
4
|
+
"adk_live_agent_engine": "e406773318d3f06966ca1719018c9b3b51c5cce21ca808497d34a5e34baa7be5",
|
|
5
|
+
"adk_live_cloud_run": "ec3e84e89e9e735af4335a4f1de0be9021c8ff8fc6d89ef039af8b7baa7bdd71",
|
|
6
|
+
"agent_with_agent_garden": "9394986d70140cbdc05748cc081c3962af062661f5f878e4738a20b59f509acb",
|
|
7
|
+
"agent_with_custom_commands": "72620702864f5ff00595fe2dc143d145278d9d53d4aa7cff9e44b50cd8a51c57",
|
|
8
|
+
"agentic_rag_cloud_run_vector_search": "6343c9acd1aa12d87c7e71d838862526420e2a002c3ab3decf8cf95eb094b12b",
|
|
9
|
+
"agentic_rag_cloud_run_vertex_search": "ccbff227d94ec14b3784034723392598391c5ca92be10dbca4b56dd3387c5448",
|
|
10
|
+
"langgraph_cloud_run_no_data": "72dfd291fa55e836b4e33fc51c1cb6e4c1f666dbfa03176d4fab4a007cef4a81"
|
|
11
|
+
}
|
|
@@ -22,6 +22,14 @@ playground:
|
|
|
22
22
|
@echo "==============================================================================="
|
|
23
23
|
uv run adk web . --port 8501 --reload_agents
|
|
24
24
|
|
|
25
|
+
# ==============================================================================
|
|
26
|
+
# Local Development Commands
|
|
27
|
+
# ==============================================================================
|
|
28
|
+
|
|
29
|
+
# Launch local development server with hot-reload
|
|
30
|
+
local-backend:
|
|
31
|
+
uv run uvicorn test_adk_base.server:app --host localhost --port 8000 --reload
|
|
32
|
+
|
|
25
33
|
# ==============================================================================
|
|
26
34
|
# Backend Deployment Targets
|
|
27
35
|
# ==============================================================================
|
|
@@ -21,6 +21,14 @@ playground: build-frontend-if-needed
|
|
|
21
21
|
@echo "==============================================================================="
|
|
22
22
|
uv run python -m test_adk_live.utils.expose_app --mode local --local-agent test_adk_live.agent.root_agent
|
|
23
23
|
|
|
24
|
+
# ==============================================================================
|
|
25
|
+
# Local Development Commands
|
|
26
|
+
# ==============================================================================
|
|
27
|
+
|
|
28
|
+
# Launch local development server with hot-reload
|
|
29
|
+
local-backend:
|
|
30
|
+
uv run python -m test_adk_live.utils.expose_app --mode local --port 8000 --local-agent test_adk_live.agent.root_agent
|
|
31
|
+
|
|
24
32
|
# ==============================================================================
|
|
25
33
|
# ADK Live Commands
|
|
26
34
|
# ==============================================================================
|
|
@@ -42,10 +50,6 @@ build-frontend-if-needed:
|
|
|
42
50
|
echo "Frontend build is up to date. Skipping build..."; \
|
|
43
51
|
fi
|
|
44
52
|
|
|
45
|
-
# Launch local development server with hot-reload
|
|
46
|
-
local-backend:
|
|
47
|
-
uv run python -m test_adk_live.utils.expose_app --mode local --port 8000 --local-agent test_adk_live.agent.root_agent
|
|
48
|
-
|
|
49
53
|
# Connect to remote deployed agent
|
|
50
54
|
playground-remote: build-frontend-if-needed
|
|
51
55
|
@echo "==============================================================================="
|
|
@@ -21,6 +21,14 @@ playground: build-frontend-if-needed
|
|
|
21
21
|
@echo "==============================================================================="
|
|
22
22
|
uv run uvicorn test_adk_live.server:app --host localhost --port 8000 --reload
|
|
23
23
|
|
|
24
|
+
# ==============================================================================
|
|
25
|
+
# Local Development Commands
|
|
26
|
+
# ==============================================================================
|
|
27
|
+
|
|
28
|
+
# Launch local development server with hot-reload
|
|
29
|
+
local-backend:
|
|
30
|
+
uv run uvicorn test_adk_live.server:app --host localhost --port 8000 --reload
|
|
31
|
+
|
|
24
32
|
# ==============================================================================
|
|
25
33
|
# ADK Live Commands
|
|
26
34
|
# ==============================================================================
|
|
@@ -42,10 +50,6 @@ build-frontend-if-needed:
|
|
|
42
50
|
echo "Frontend build is up to date. Skipping build..."; \
|
|
43
51
|
fi
|
|
44
52
|
|
|
45
|
-
# Launch local development server with hot-reload
|
|
46
|
-
local-backend:
|
|
47
|
-
uv run uvicorn test_adk_live.server:app --host localhost --port 8000 --reload
|
|
48
|
-
|
|
49
53
|
# Start the frontend UI separately for development (requires backend running separately)
|
|
50
54
|
ui:
|
|
51
55
|
(cd frontend && PORT=8501 npm start)
|