google-agents-cli 1.4.2__tar.gz → 1.5.0__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.
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/PKG-INFO +10 -8
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/README.md +3 -6
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/pyproject.toml +26 -5
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/__init__.py +5 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/_adk_client.py +8 -5
- google_agents_cli-1.5.0/src/google/agents/cli/_agent_platform.py +66 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/_click.py +13 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/_output.py +1 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/_project.py +69 -20
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/_remote.py +15 -5
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/_runner.py +49 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/_tools.py +5 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/_trust.py +8 -5
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/deploy/_utils.py +32 -3
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/deploy/agent_runtime.py +79 -22
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/deploy/cmd_deploy.py +81 -10
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/dev/cmd_install.py +9 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/dev/cmd_playground.py +9 -3
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/eval/_paths.py +11 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/eval/_synthesize_runner.py +3 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/eval/cmd_analyze.py +2 -3
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/eval/cmd_generate.py +12 -11
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/eval/cmd_grade.py +53 -9
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/eval/cmd_run.py +56 -13
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/eval/cmd_submit.py +3 -3
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/eval/eval_utils.py +75 -2
- google_agents_cli-1.5.0/src/google/agents/cli/extension/_compat.py +86 -0
- google_agents_cli-1.5.0/src/google/agents/cli/extension/_loader.py +295 -0
- google_agents_cli-1.5.0/src/google/agents/cli/extension/_manifest.py +137 -0
- google_agents_cli-1.5.0/src/google/agents/cli/extension/_overrides.py +197 -0
- google_agents_cli-1.5.0/src/google/agents/cli/extension/_paths.py +91 -0
- google_agents_cli-1.5.0/src/google/agents/cli/extension/_refs.py +168 -0
- google_agents_cli-1.5.0/src/google/agents/cli/extension/_resolver.py +345 -0
- google_agents_cli-1.5.0/src/google/agents/cli/extension/_schema.py +103 -0
- google_agents_cli-1.5.0/src/google/agents/cli/extension/_spec.py +255 -0
- google_agents_cli-1.5.0/src/google/agents/cli/extension/_sync.py +102 -0
- google_agents_cli-1.5.0/src/google/agents/cli/extension/_trust.py +38 -0
- google_agents_cli-1.5.0/src/google/agents/cli/extension/cmd_extension_add.py +216 -0
- google_agents_cli-1.5.0/src/google/agents/cli/extension/cmd_extension_group.py +57 -0
- google_agents_cli-1.5.0/src/google/agents/cli/extension/cmd_extension_list.py +58 -0
- google_agents_cli-1.5.0/src/google/agents/cli/extension/cmd_extension_remove.py +63 -0
- google_agents_cli-1.5.0/src/google/agents/cli/extension/cmd_extension_update.py +147 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/info/cmd_info.py +38 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/infra/_cicd_utils.py +10 -3
- google_agents_cli-1.5.0/src/google/agents/cli/infra/_terraform.py +79 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/infra/cmd_infra.py +6 -0
- google_agents_cli-1.5.0/src/google/agents/cli/infra/cmd_infra_show.py +100 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/infra/cmd_infra_single_project.py +5 -10
- google_agents_cli-1.5.0/src/google/agents/cli/main.py +482 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/publish/cmd_publish.py +39 -16
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/run/_local_server.py +34 -11
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/run/_multimodal.py +1 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/run/cmd_run.py +51 -38
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/adk/.template/templateconfig.yaml +5 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/adk/app/agent.py +1 -1
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/python/{{cookiecutter.agent_directory}} → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk/app}/app_utils/a2a.py +1 -38
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/python/{{cookiecutter.agent_directory}} → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk/app}/app_utils/reasoning_engine_adapter.py +17 -7
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/python/{{cookiecutter.agent_directory}} → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk/app}/fast_api_app.py +13 -8
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/adk/tests/eval/response_quality.py +21 -2
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/go → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go}/.cloudbuild/pr_checks.yaml +1 -1
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/go → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go}/.github/workflows/pr_checks.yaml +2 -2
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/adk_go/.template/templateconfig.yaml +0 -1
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/go → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go}/Dockerfile +12 -10
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/go → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go}/Makefile +5 -5
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/go → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go}/README.md +2 -2
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/agents/adk_go/agent → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go/app}/agent.go +37 -7
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/agents/adk_go/agent → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go/app}/agent_test.go +2 -2
- google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go/appinfo/appinfo.go +297 -0
- google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go/appinfo/appinfo_test.go +185 -0
- google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go/appurl.go +47 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/go → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go}/e2e/integration/server_e2e_test.go +99 -2
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/go → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go}/e2e/load_test/README.md +1 -1
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/go → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go}/go.mod +2 -2
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/go → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go}/main.go +36 -12
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/java → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_java}/Makefile +1 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/adk_java/src/main/java/{{cookiecutter.java_package_path}}/Agent.java +1 -1
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/typescript → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_ts}/Makefile +1 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/adk_ts/app/agent.ts +1 -1
- google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/empty_go/.template/templateconfig.yaml +25 -0
- google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/empty_java/.template/templateconfig.yaml +25 -0
- google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/empty_py/.template/templateconfig.yaml +24 -0
- google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/empty_ts/.template/templateconfig.yaml +25 -0
- google_agents_cli-1.5.0/src/google/agents/cli/scaffold/base_templates/_shared/agents-cli-manifest.yaml +16 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/go/.github/workflows/staging.yaml +1 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/go/.gitignore +3 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/java/.gitignore +3 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/.gitignore +6 -2
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/pyproject.toml +9 -4
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/{{cookiecutter.agent_guidance_filename}} +2 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/typescript/.gitignore +7 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/commands/create.py +103 -35
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/commands/enhance.py +62 -27
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/commands/upgrade.py +1 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/python/tests/integration/test_server_e2e.py +24 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/go/deployment/terraform/cicd/service.tf +1 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/go/deployment/terraform/single-project/service.tf +1 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/java/deployment/terraform/cicd/service.tf +1 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/java/deployment/terraform/single-project/service.tf +1 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/deployment/terraform/cicd/service.tf +1 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/deployment/terraform/single-project/service.tf +1 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/typescript/deployment/terraform/cicd/service.tf +1 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/typescript/deployment/terraform/single-project/service.tf +1 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/gke/_shared/deployment/terraform/cicd/service.tf +2 -4
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/gke/_shared/deployment/terraform/single-project/service.tf +1 -2
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/resources/locks/uv-adk-agent_runtime.lock +2 -2
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/resources/locks/uv-adk-cloud_run.lock +2 -2
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/resources/locks/uv-adk-gke.lock +2 -2
- google_agents_cli-1.5.0/src/google/agents/cli/scaffold/utils/__init__.py +13 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/utils/generate_locks.py +15 -13
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/utils/generation_metadata.py +14 -3
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/utils/language.py +5 -1
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/utils/lock_utils.py +36 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/utils/merge.py +6 -3
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/utils/remote_template.py +37 -6
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/utils/template.py +158 -38
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/utils/upgrade.py +11 -9
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/setup/cmd_setup.py +119 -17
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/setup/cmd_update.py +1 -1
- google_agents_cli-1.5.0/src/google/agents/cli/skills/__init__.py +13 -0
- google_agents_cli-1.5.0/src/google/agents/cli/skills/_bundle.py +59 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-adk-code/SKILL.md +1 -1
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-deploy/SKILL.md +17 -15
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-deploy/references/agent-runtime.md +28 -20
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-deploy/references/batch-inference.md +4 -2
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-deploy/references/cloud-run.md +5 -1
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-deploy/references/gke.md +7 -1
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-deploy/references/terraform-patterns.md +3 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-deploy/references/testing-deployed-agents.md +4 -2
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-eval/SKILL.md +24 -11
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-eval/references/advanced-commands.md +3 -1
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-eval/references/builtin-tools-eval.md +3 -1
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-eval/references/metrics-guide.md +4 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-eval/references/user-simulation.md +2 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-observability/SKILL.md +24 -32
- google_agents_cli-1.5.0/src/google/agents/cli/skills/data/google-agents-cli-observability/references/adk-docs.md +10 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-observability/references/bigquery-agent-analytics.md +2 -2
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-observability/references/cloud-trace-and-logging.md +3 -3
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-publish/SKILL.md +11 -7
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-scaffold/SKILL.md +18 -14
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-scaffold/references/flags.md +4 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-workflow/SKILL.md +6 -3
- google_agents_cli-1.5.0/src/google/agents/cli/skills/data/google-agents-cli-workflow/references/extension.md +125 -0
- google_agents_cli-1.4.2/src/google/agents/cli/_agent_runtime_a2a.py +0 -44
- google_agents_cli-1.4.2/src/google/agents/cli/main.py +0 -211
- google_agents_cli-1.4.2/src/google/agents/cli/scaffold/agents/adk/README.md +0 -14
- google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/_shared/agents-cli-manifest.yaml +0 -16
- google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/go/agent/agent.go +0 -29
- google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/java/src/main/java/{{cookiecutter.java_package_path}}/Agent.java +0 -48
- google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/java/src/test/java/{{cookiecutter.java_package_path}}/unit/AgentTest.java +0 -33
- google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/typescript/app/agent.ts +0 -25
- google_agents_cli-1.4.2/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/{{cookiecutter.agent_directory}}/fast_api_app.py +0 -76
- google_agents_cli-1.4.2/src/google/agents/cli/scaffold/deployment_targets/gke/python/{{cookiecutter.agent_directory}}/fast_api_app.py +0 -76
- google_agents_cli-1.4.2/src/google/agents/cli/scaffold/deployment_targets/none/python/{{cookiecutter.agent_directory}}/fast_api_app.py +0 -76
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/LICENSE +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/_experiments.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/_gcp_project.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/_skills_check.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/auth.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/data/__init__.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/data/_recipe.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/data/cmd_data_ingestion.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/deploy/__init__.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/deploy/_operation.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/dev/__init__.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/dev/cmd_build.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/dev/cmd_lint.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/eval/__init__.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/eval/cmd_compare.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/eval/cmd_dataset.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/eval/cmd_eval_group.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/eval/cmd_metric.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/eval/cmd_optimize.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/eval/optimize_utils.py +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/run → google_agents_cli-1.5.0/src/google/agents/cli/extension}/__init__.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/info/__init__.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/infra/__init__.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/infra/cmd_cicd.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/infra/cmd_datastore.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/publish/__init__.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/publish/cmd_publish_group.py +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/utils → google_agents_cli-1.5.0/src/google/agents/cli/run}/__init__.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/__init__.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/README.md +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/adk/app/__init__.py +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/python/{{cookiecutter.agent_directory}} → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk/app}/app_utils/services.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/adk/tests/eval/datasets/README.md +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/adk/tests/eval/datasets/basic-dataset.json +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/adk/tests/eval/eval_config.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/adk/tests/integration/test_agent.py +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/go → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go}/e2e/load_test/.results/.placeholder +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/go → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go}/e2e/load_test/load_test.go +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/go → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go}/go.sum +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/go → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_go}/{{cookiecutter.agent_guidance_filename}} +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/java → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_java}/.cloudbuild/pr_checks.yaml +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/java → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_java}/.github/workflows/pr_checks.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/adk_java/.template/templateconfig.yaml +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/java → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_java}/Dockerfile +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/java → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_java}/README.md +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/java → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_java}/pom.xml +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/java → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_java}/src/main/java/{{cookiecutter.java_package_path}}/Main.java +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/java → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_java}/src/test/java/{{cookiecutter.java_package_path}}/e2e/integration/ServerE2ETest.java +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/java → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_java}/src/test/java/{{cookiecutter.java_package_path}}/e2e/load_test/.results/.placeholder +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/java → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_java}/src/test/java/{{cookiecutter.java_package_path}}/e2e/load_test/LoadTest.java +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/java → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_java}/src/test/java/{{cookiecutter.java_package_path}}/e2e/load_test/README.md +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/adk_java/src/test/java/{{cookiecutter.java_package_path}}/unit/AgentTest.java +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/java → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_java}/{{cookiecutter.agent_guidance_filename}} +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/typescript → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_ts}/.cloudbuild/pr_checks.yaml +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/typescript → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_ts}/.github/workflows/pr_checks.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/adk_ts/.template/templateconfig.yaml +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/typescript → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_ts}/Dockerfile +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/typescript → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_ts}/README.md +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/typescript → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_ts}/package-lock.json +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/typescript → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_ts}/package.json +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/agents/adk_ts/tests/integration/agent.test.ts +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/typescript → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_ts}/tests/integration/server_e2e.test.ts +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/typescript → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_ts}/tests/load_test/.results/.placeholder +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/typescript → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_ts}/tests/load_test/README.md +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/typescript → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_ts}/tests/load_test/load_test.ts +0 -0
- {google_agents_cli-1.4.2/src/google/agents/cli/scaffold/base_templates/typescript → google_agents_cli-1.5.0/src/google/agents/cli/scaffold/agents/adk_ts}/tests/unit/dummy.test.ts +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/apis.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/build_triggers.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/github.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/iam.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/locals.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/providers.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/service_accounts.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/storage.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/variables.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/vars/env.tfvars +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/wif.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/apis.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/iam.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/providers.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/storage.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/variables.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/vars/env.tfvars +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/go/.cloudbuild/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/go/.cloudbuild/staging.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/go/.env +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/go/.env.example +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/go/.github/workflows/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/go/.golangci.yml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/java/.cloudbuild/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/java/.cloudbuild/staging.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/java/.env.example +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/java/.github/workflows/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/java/.github/workflows/staging.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/java/src/main/resources/application.properties +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/.cloudbuild/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/.cloudbuild/pr_checks.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/.cloudbuild/staging.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/.env +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/.env.example +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/.github/workflows/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/.github/workflows/pr_checks.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/.github/workflows/staging.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/Dockerfile +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/README.md +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/cicd/telemetry.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/cicd/telemetry_outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/shared/completions.sql +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/shared/genai_logs_schema.json +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/single-project/telemetry.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/single-project/telemetry_outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/python/tests/unit/test_dummy.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/typescript/.cloudbuild/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/typescript/.cloudbuild/staging.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/typescript/.dockerignore +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/typescript/.env.example +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/typescript/.github/workflows/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/typescript/.github/workflows/staging.yaml +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/typescript/eslint.config.mjs +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/typescript/tsconfig.json +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/base_templates/typescript/vitest.config.ts +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/cmd_scaffold_group.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/commands/__init__.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment/terraform/cicd/service.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment/terraform/cicd/service_outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment/terraform/shared/dummy_source.b64 +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment/terraform/single-project/service.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment/terraform/single-project/service_outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment_metadata.json +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/python/tests/load_test/.results/.placeholder +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/python/tests/load_test/README.md +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/python/tests/load_test/load_test.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/go/deployment/terraform/cicd/service_outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/go/deployment/terraform/single-project/service_outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/java/deployment/terraform/cicd/service_outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/java/deployment/terraform/single-project/service_outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/deployment/terraform/cicd/service_outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/deployment/terraform/single-project/service_outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/tests/integration/test_server_e2e.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/tests/load_test/.results/.placeholder +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/tests/load_test/README.md +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/tests/load_test/load_test.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/typescript/deployment/terraform/cicd/service_outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/typescript/deployment/terraform/single-project/service_outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/gke/_shared/deployment/terraform/cicd/service_outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/gke/_shared/deployment/terraform/single-project/service_outputs.tf +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/gke/python/tests/integration/test_server_e2e.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/gke/python/tests/load_test/.results/.placeholder +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/gke/python/tests/load_test/README.md +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/gke/python/tests/load_test/load_test.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/none/python/tests/integration/test_server_e2e.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/none/python/tests/load_test/.results/.placeholder +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/none/python/tests/load_test/README.md +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/deployment_targets/none/python/tests/load_test/load_test.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/utils/backup.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/utils/command.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/utils/gcp.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/utils/logging.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/scaffold/utils/version.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/setup/__init__.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/setup/_antigravity.py +0 -0
- {google_agents_cli-1.4.2 → google_agents_cli-1.5.0}/src/google/agents/cli/setup/cmd_auth.py +0 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/README.md +0 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-adk-code/references/adk-python.md +0 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-adk-code/references/adk-workflows.md +0 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-adk-code/references/samples.md +0 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-deploy/references/cicd-pipeline.md +0 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-eval/references/dataset_schema.md +0 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-eval/references/multimodal-eval.md +0 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-observability/references/feedback-mechanism.md +0 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-workflow/references/brainstorming.md +0 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-workflow/references/commands.md +0 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-workflow/references/internals.md +0 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-workflow/references/spec-template.md +0 -0
- {google_agents_cli-1.4.2/skills → google_agents_cli-1.5.0/src/google/agents/cli/skills/data}/google-agents-cli-workflow/references/terminology.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: google-agents-cli
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.5.0
|
|
4
4
|
Summary: Agents CLI — Agent Development Lifecycle toolchain for ADK
|
|
5
5
|
Author-email: Google LLC <agents-cli-dev-pypi@google.com>
|
|
6
6
|
Requires-Python: >=3.11
|
|
@@ -13,17 +13,22 @@ Requires-Dist: click>=8.1.8,<9
|
|
|
13
13
|
Requires-Dist: PyYAML>=6.0.2,<7
|
|
14
14
|
Requires-Dist: cookiecutter>=2.6.0,<3
|
|
15
15
|
Requires-Dist: jinja2>=3.1.0
|
|
16
|
-
Requires-Dist: google-cloud-aiplatform[evaluation]>=1.
|
|
16
|
+
Requires-Dist: google-cloud-aiplatform[evaluation]>=1.165.0,<2
|
|
17
17
|
Requires-Dist: google-cloud-resource-manager>=1.12.0
|
|
18
18
|
Requires-Dist: google-auth[pyopenssl]>=2.47.0
|
|
19
|
+
Requires-Dist: pyopenssl<26.2
|
|
19
20
|
Requires-Dist: rich>=13.7.0
|
|
20
21
|
Requires-Dist: backoff>=2.2.1
|
|
21
22
|
Requires-Dist: requests>=2.31.0
|
|
22
23
|
Requires-Dist: a2a-sdk>=1.0,<2
|
|
24
|
+
Requires-Dist: protobuf>=5.29.5,<7
|
|
23
25
|
Requires-Dist: tomlkit>=0.13.0,<1
|
|
24
26
|
Requires-Dist: psutil>=5.9.0
|
|
25
27
|
Requires-Dist: python-dotenv>=1.0.0
|
|
26
28
|
Requires-Dist: pathspec>=0.12.1
|
|
29
|
+
Requires-Dist: filelock>=3.12,<4
|
|
30
|
+
Requires-Dist: packaging>=24
|
|
31
|
+
Requires-Dist: pydantic>=2.10,<3
|
|
27
32
|
Requires-Dist: ruff ; extra == "lint"
|
|
28
33
|
Requires-Dist: ty ; extra == "lint"
|
|
29
34
|
Requires-Dist: codespell ; extra == "lint"
|
|
@@ -111,7 +116,7 @@ See the [full tutorial](https://google.github.io/agents-cli/guide/quickstart-tut
|
|
|
111
116
|
| Command | What it does |
|
|
112
117
|
|---------|-------------|
|
|
113
118
|
| `agents-cli setup` | Install CLI + skills to coding agents |
|
|
114
|
-
| `agents-cli
|
|
119
|
+
| `agents-cli create <name>` | Create a new agent project |
|
|
115
120
|
| `agents-cli eval run` | Run the agent over the eval dataset and grade the traces |
|
|
116
121
|
| `agents-cli deploy` | Deploy to Google Cloud |
|
|
117
122
|
| `agents-cli publish gemini-enterprise` | Register with Gemini Enterprise |
|
|
@@ -124,8 +129,8 @@ See the [full tutorial](https://google.github.io/agents-cli/guide/quickstart-tut
|
|
|
124
129
|
| `agents-cli login` | Authenticate with Google Cloud or AI Studio |
|
|
125
130
|
| `agents-cli login --status` | Show authentication status |
|
|
126
131
|
| **Scaffold** | |
|
|
127
|
-
| `agents-cli
|
|
128
|
-
| `agents-cli scaffold enhance` | Add deployment
|
|
132
|
+
| `agents-cli create <name>` | Create a new agent project |
|
|
133
|
+
| `agents-cli scaffold enhance` | Add deployment or CI/CD to an existing project |
|
|
129
134
|
| `agents-cli scaffold upgrade` | Upgrade project to a newer agents-cli version |
|
|
130
135
|
| **Develop** | |
|
|
131
136
|
| `agents-cli run "prompt"` | Run agent with a single prompt |
|
|
@@ -145,9 +150,6 @@ See the [full tutorial](https://google.github.io/agents-cli/guide/quickstart-tut
|
|
|
145
150
|
| `agents-cli publish gemini-enterprise` | Register with Gemini Enterprise |
|
|
146
151
|
| `agents-cli infra single-project` | Provision single-project infrastructure |
|
|
147
152
|
| `agents-cli infra cicd` | Set up CI/CD pipeline + staging/prod infrastructure |
|
|
148
|
-
| **Data** | |
|
|
149
|
-
| `agents-cli infra datastore` | Provision datastore infrastructure for RAG |
|
|
150
|
-
| `agents-cli data-ingestion` | Run data ingestion pipeline |
|
|
151
153
|
| **Other** | |
|
|
152
154
|
| `agents-cli info` | Show project config and CLI version |
|
|
153
155
|
| `agents-cli update` | Force reinstall skills to all IDEs |
|
|
@@ -76,7 +76,7 @@ See the [full tutorial](https://google.github.io/agents-cli/guide/quickstart-tut
|
|
|
76
76
|
| Command | What it does |
|
|
77
77
|
|---------|-------------|
|
|
78
78
|
| `agents-cli setup` | Install CLI + skills to coding agents |
|
|
79
|
-
| `agents-cli
|
|
79
|
+
| `agents-cli create <name>` | Create a new agent project |
|
|
80
80
|
| `agents-cli eval run` | Run the agent over the eval dataset and grade the traces |
|
|
81
81
|
| `agents-cli deploy` | Deploy to Google Cloud |
|
|
82
82
|
| `agents-cli publish gemini-enterprise` | Register with Gemini Enterprise |
|
|
@@ -89,8 +89,8 @@ See the [full tutorial](https://google.github.io/agents-cli/guide/quickstart-tut
|
|
|
89
89
|
| `agents-cli login` | Authenticate with Google Cloud or AI Studio |
|
|
90
90
|
| `agents-cli login --status` | Show authentication status |
|
|
91
91
|
| **Scaffold** | |
|
|
92
|
-
| `agents-cli
|
|
93
|
-
| `agents-cli scaffold enhance` | Add deployment
|
|
92
|
+
| `agents-cli create <name>` | Create a new agent project |
|
|
93
|
+
| `agents-cli scaffold enhance` | Add deployment or CI/CD to an existing project |
|
|
94
94
|
| `agents-cli scaffold upgrade` | Upgrade project to a newer agents-cli version |
|
|
95
95
|
| **Develop** | |
|
|
96
96
|
| `agents-cli run "prompt"` | Run agent with a single prompt |
|
|
@@ -110,9 +110,6 @@ See the [full tutorial](https://google.github.io/agents-cli/guide/quickstart-tut
|
|
|
110
110
|
| `agents-cli publish gemini-enterprise` | Register with Gemini Enterprise |
|
|
111
111
|
| `agents-cli infra single-project` | Provision single-project infrastructure |
|
|
112
112
|
| `agents-cli infra cicd` | Set up CI/CD pipeline + staging/prod infrastructure |
|
|
113
|
-
| **Data** | |
|
|
114
|
-
| `agents-cli infra datastore` | Provision datastore infrastructure for RAG |
|
|
115
|
-
| `agents-cli data-ingestion` | Run data ingestion pipeline |
|
|
116
113
|
| **Other** | |
|
|
117
114
|
| `agents-cli info` | Show project config and CLI version |
|
|
118
115
|
| `agents-cli update` | Force reinstall skills to all IDEs |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "google-agents-cli"
|
|
3
|
-
version = "1.
|
|
3
|
+
version = "1.5.0"
|
|
4
4
|
description = "Agents CLI — Agent Development Lifecycle toolchain for ADK"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "Apache-2.0"
|
|
@@ -16,17 +16,27 @@ dependencies = [
|
|
|
16
16
|
"PyYAML>=6.0.2,<7",
|
|
17
17
|
"cookiecutter>=2.6.0,<3",
|
|
18
18
|
"jinja2>=3.1.0",
|
|
19
|
-
"google-cloud-aiplatform[evaluation]>=1.
|
|
19
|
+
"google-cloud-aiplatform[evaluation]>=1.165.0,<2",
|
|
20
20
|
"google-cloud-resource-manager>=1.12.0",
|
|
21
21
|
"google-auth[pyopenssl]>=2.47.0",
|
|
22
|
+
# pyOpenSSL 26.2 forbids mutating a used SSL Context; urllib3 does it per
|
|
23
|
+
# connection under google-auth's mTLS shim (urllib3#5107). Lift when fixed.
|
|
24
|
+
"pyopenssl<26.2",
|
|
22
25
|
"rich>=13.7.0",
|
|
23
26
|
"backoff>=2.2.1",
|
|
24
27
|
"requests>=2.31.0",
|
|
25
28
|
"a2a-sdk>=1.0,<2",
|
|
29
|
+
# Pin the a2a-sdk (>=5.29.5) .. aiplatform (<7) window so pip won't chase
|
|
30
|
+
# protobuf 7 and backtrack into old google-api-core (protobuf<5).
|
|
31
|
+
"protobuf>=5.29.5,<7",
|
|
26
32
|
"tomlkit>=0.13.0,<1",
|
|
27
33
|
"psutil>=5.9.0",
|
|
28
34
|
"python-dotenv>=1.0.0",
|
|
29
35
|
"pathspec>=0.12.1",
|
|
36
|
+
"filelock>=3.12,<4",
|
|
37
|
+
"packaging>=24",
|
|
38
|
+
# 2.10+: earlier versions emit `enum` beside `const`, which the schema sync test sees.
|
|
39
|
+
"pydantic>=2.10,<3",
|
|
30
40
|
]
|
|
31
41
|
|
|
32
42
|
[project.urls]
|
|
@@ -53,7 +63,6 @@ include = [
|
|
|
53
63
|
"src/google/agents/cli/scaffold/deployment_targets/",
|
|
54
64
|
"src/google/agents/cli/scaffold/resources/",
|
|
55
65
|
"src/google/agents/cli/scaffold/sample_data/",
|
|
56
|
-
"skills/",
|
|
57
66
|
]
|
|
58
67
|
|
|
59
68
|
[project.optional-dependencies]
|
|
@@ -79,16 +88,27 @@ dev = [
|
|
|
79
88
|
"pytest-rerunfailures>=15.0",
|
|
80
89
|
"pytest-xdist>=3.6.1",
|
|
81
90
|
"pytest-cov>=4.1.0",
|
|
91
|
+
"jsonschema>=4.20",
|
|
82
92
|
]
|
|
83
93
|
|
|
84
94
|
[tool.ruff]
|
|
85
95
|
line-length = 90
|
|
86
96
|
target-version = "py311"
|
|
87
|
-
include = [
|
|
97
|
+
include = [
|
|
98
|
+
"src/google/agents/cli/**/*.py",
|
|
99
|
+
"tests/**/*.py",
|
|
100
|
+
"tools/**/*.py",
|
|
101
|
+
# First-party extensions ship real code; lint them like the rest.
|
|
102
|
+
"extensions/**/*.py",
|
|
103
|
+
]
|
|
88
104
|
exclude = [
|
|
89
105
|
"src/google/agents/cli/scaffold/agents",
|
|
90
106
|
"src/google/agents/cli/scaffold/base_templates",
|
|
91
107
|
"src/google/agents/cli/scaffold/deployment_targets",
|
|
108
|
+
# Generated-project sources, linted by the project's own config (a
|
|
109
|
+
# different line length, and no `google` namespace on disk), not this one.
|
|
110
|
+
"extensions/*/template",
|
|
111
|
+
"src/google/agents/cli/skills/data",
|
|
92
112
|
"tests/cicd/scripts",
|
|
93
113
|
]
|
|
94
114
|
|
|
@@ -111,10 +131,10 @@ ignore = ["E501", "C901", "RUF001", "UP036", "RUF067", "RUF069"]
|
|
|
111
131
|
|
|
112
132
|
[tool.ruff.lint.per-file-ignores]
|
|
113
133
|
"tests/**/*.py" = ["PLR0917"]
|
|
114
|
-
"src/google/agents/cli/_output.py" = ["TID251"]
|
|
115
134
|
|
|
116
135
|
[tool.ruff.lint.flake8-tidy-imports.banned-api]
|
|
117
136
|
"rich.console.Console" = { msg = "Use `google.agents.cli._output.Console` instead to ensure project-wide defaults (soft_wrap=True) are applied." }
|
|
137
|
+
"agentplatform.Client" = { msg = "Use `google.agents.cli._agent_platform.AgentPlatformClient` instead, so the client retries throttled requests." }
|
|
118
138
|
|
|
119
139
|
[tool.ruff.lint.pylint]
|
|
120
140
|
max-positional-args = 5
|
|
@@ -136,6 +156,7 @@ exclude = [
|
|
|
136
156
|
"src/google/agents/cli/scaffold/agents/**",
|
|
137
157
|
"src/google/agents/cli/scaffold/base_templates/**",
|
|
138
158
|
"src/google/agents/cli/scaffold/deployment_targets/**",
|
|
159
|
+
"src/google/agents/cli/skills/data/**",
|
|
139
160
|
"tests/cicd/scripts/**",
|
|
140
161
|
]
|
|
141
162
|
|
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
|
|
17
17
|
import importlib.metadata
|
|
18
18
|
|
|
19
|
+
# Reported when the CLI runs from a source checkout rather than an installed
|
|
20
|
+
# distribution. Version checks treat it as "unknown, don't block".
|
|
21
|
+
DEV_VERSION = "0.0.0-dev"
|
|
22
|
+
|
|
19
23
|
try:
|
|
20
24
|
__version__ = importlib.metadata.version("google-agents-cli")
|
|
21
25
|
except importlib.metadata.PackageNotFoundError:
|
|
22
|
-
__version__ =
|
|
26
|
+
__version__ = DEV_VERSION
|
|
@@ -71,7 +71,10 @@ def fetch_app_info(
|
|
|
71
71
|
resp = requests.get(url, headers=headers, timeout=_APP_INFO_TIMEOUT)
|
|
72
72
|
resp.raise_for_status()
|
|
73
73
|
payload = resp.json()
|
|
74
|
-
|
|
74
|
+
# Accept both camelCase and snake_case for cross language compatibility
|
|
75
|
+
root_agent_name = payload.get("rootAgentName", payload.get("root_agent_name"))
|
|
76
|
+
agents = payload.get("agents") or {}
|
|
77
|
+
return root_agent_name, agents
|
|
75
78
|
|
|
76
79
|
|
|
77
80
|
def run_sse(
|
|
@@ -91,10 +94,10 @@ def run_sse(
|
|
|
91
94
|
"""
|
|
92
95
|
run_url = f"{base_url}/run_sse"
|
|
93
96
|
payload = {
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
97
|
+
"appName": app_name,
|
|
98
|
+
"userId": user_id,
|
|
99
|
+
"sessionId": session_id,
|
|
100
|
+
"newMessage": user_message,
|
|
98
101
|
}
|
|
99
102
|
|
|
100
103
|
with requests.post(
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Copyright 2026 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
"""Shared construction of the Agent Platform SDK client."""
|
|
16
|
+
|
|
17
|
+
from __future__ import annotations
|
|
18
|
+
|
|
19
|
+
from typing import TYPE_CHECKING, Any
|
|
20
|
+
|
|
21
|
+
if TYPE_CHECKING:
|
|
22
|
+
import agentplatform
|
|
23
|
+
|
|
24
|
+
# Retry options applied to every Agent Platform client the CLI builds. Leaving
|
|
25
|
+
# http_status_codes unset keeps the SDK's default retryable set (408/429/500/502/503/504);
|
|
26
|
+
# waits are roughly 1s, 2s, 4s, 8s (full-jittered).
|
|
27
|
+
RETRY_OPTIONS: dict[str, Any] = {
|
|
28
|
+
"attempts": 5,
|
|
29
|
+
"initial_delay": 1.0,
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class AgentPlatformClient:
|
|
34
|
+
"""Agent Platform client configured with CLI-wide defaults (e.g. retries on transient errors).
|
|
35
|
+
|
|
36
|
+
Retries are opt-in in the underlying SDK, so constructing ``agentplatform.Client``
|
|
37
|
+
directly runs without them. A ruff rule enforces using this wrapper instead.
|
|
38
|
+
|
|
39
|
+
Args:
|
|
40
|
+
project: GCP project ID, or None to let the SDK resolve it.
|
|
41
|
+
location: API location (e.g. ``us-east1``), or None.
|
|
42
|
+
api_version: Optional API version override (e.g. ``v1beta1``).
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
def __init__(
|
|
46
|
+
self,
|
|
47
|
+
*,
|
|
48
|
+
project: str | None = None,
|
|
49
|
+
location: str | None = None,
|
|
50
|
+
api_version: str | None = None,
|
|
51
|
+
) -> None:
|
|
52
|
+
# Lazy: agentplatform is expensive to import, this module is not.
|
|
53
|
+
import agentplatform
|
|
54
|
+
|
|
55
|
+
http_options: dict[str, Any] = {"retry_options": RETRY_OPTIONS}
|
|
56
|
+
if api_version:
|
|
57
|
+
http_options["api_version"] = api_version
|
|
58
|
+
|
|
59
|
+
self._client: agentplatform.Client = agentplatform.Client( # noqa: TID251
|
|
60
|
+
project=project,
|
|
61
|
+
location=location,
|
|
62
|
+
http_options=http_options,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
def __getattr__(self, name: str) -> Any:
|
|
66
|
+
return getattr(self._client, name)
|
|
@@ -50,6 +50,7 @@ class LazyGroup(click.Group):
|
|
|
50
50
|
self._lazy_commands: dict[str, tuple[str, str]] = {}
|
|
51
51
|
# name -> experiment label
|
|
52
52
|
self._experiment_gates: dict[str, str] = {}
|
|
53
|
+
self._overrides: dict[str, click.Command] = {}
|
|
53
54
|
|
|
54
55
|
def add_lazy_command(
|
|
55
56
|
self,
|
|
@@ -81,12 +82,20 @@ class LazyGroup(click.Group):
|
|
|
81
82
|
return bool(resolve_experiment(label))
|
|
82
83
|
|
|
83
84
|
def list_commands(self, ctx: click.Context) -> list[str]:
|
|
84
|
-
names =
|
|
85
|
+
names = (
|
|
86
|
+
set(super().list_commands(ctx))
|
|
87
|
+
| set(self._lazy_commands)
|
|
88
|
+
| set(self._overrides)
|
|
89
|
+
)
|
|
85
90
|
return sorted(filter(self._is_visible, names))
|
|
86
91
|
|
|
87
92
|
def get_command(self, ctx: click.Context, cmd_name: str) -> click.Command | None:
|
|
93
|
+
# Overrides are consulted only after the visibility check, so an installed
|
|
94
|
+
# extension cannot expose a command that is gated off.
|
|
88
95
|
if not self._is_visible(cmd_name):
|
|
89
96
|
return None
|
|
97
|
+
if cmd_name in self._overrides:
|
|
98
|
+
return self._overrides[cmd_name]
|
|
90
99
|
if cmd_name in self._lazy_commands and cmd_name not in self.commands:
|
|
91
100
|
import_path, _ = self._lazy_commands[cmd_name]
|
|
92
101
|
module_path, attr = import_path.split(":")
|
|
@@ -98,6 +107,9 @@ class LazyGroup(click.Group):
|
|
|
98
107
|
def format_commands(self, ctx: click.Context, formatter: click.HelpFormatter) -> None:
|
|
99
108
|
rows: list[tuple[str, str]] = []
|
|
100
109
|
for name in self.list_commands(ctx):
|
|
110
|
+
if name in self._overrides:
|
|
111
|
+
rows.append((name, self._overrides[name].get_short_help_str(limit=1000)))
|
|
112
|
+
continue
|
|
101
113
|
if name in self.commands:
|
|
102
114
|
# Don't truncate — Click's default of 45 would cut our docstring summaries.
|
|
103
115
|
rows.append((name, self.commands[name].get_short_help_str(limit=1000)))
|
|
@@ -18,7 +18,9 @@ from __future__ import annotations
|
|
|
18
18
|
|
|
19
19
|
import logging
|
|
20
20
|
import os
|
|
21
|
+
import re
|
|
21
22
|
import tomllib
|
|
23
|
+
from collections.abc import Mapping
|
|
22
24
|
from dataclasses import dataclass
|
|
23
25
|
from pathlib import Path
|
|
24
26
|
from typing import Any
|
|
@@ -56,8 +58,15 @@ class ProjectConfig:
|
|
|
56
58
|
}
|
|
57
59
|
|
|
58
60
|
@classmethod
|
|
59
|
-
def from_dict(
|
|
61
|
+
def from_dict(
|
|
62
|
+
cls,
|
|
63
|
+
data: Mapping[str, Any] | Any,
|
|
64
|
+
filename: str = "agents-cli-manifest.yaml",
|
|
65
|
+
) -> ProjectConfig:
|
|
60
66
|
"""Create a ProjectConfig from a raw manifest dictionary."""
|
|
67
|
+
if not isinstance(data, Mapping):
|
|
68
|
+
raise click.ClickException(f"malformed {filename}")
|
|
69
|
+
|
|
61
70
|
cfg = cls()
|
|
62
71
|
cfg.project_name = data.get("name", cfg.project_name)
|
|
63
72
|
cfg.agent_directory = data.get("agent_directory", cfg.agent_directory)
|
|
@@ -68,7 +77,11 @@ class ProjectConfig:
|
|
|
68
77
|
)
|
|
69
78
|
cfg.language = data.get("language", cfg.language)
|
|
70
79
|
|
|
71
|
-
create_params = data.get("create_params"
|
|
80
|
+
create_params = data.get("create_params")
|
|
81
|
+
if create_params is None:
|
|
82
|
+
create_params = {}
|
|
83
|
+
elif not isinstance(create_params, Mapping):
|
|
84
|
+
raise click.ClickException(f"malformed create_params in {filename}")
|
|
72
85
|
|
|
73
86
|
cfg.session_type = create_params.get("session_type", cfg.session_type)
|
|
74
87
|
cfg.cicd_runner = create_params.get("cicd_runner", cfg.cicd_runner)
|
|
@@ -103,6 +116,34 @@ def _warn_legacy_config() -> None:
|
|
|
103
116
|
_WARNED_LEGACY_CONFIG = True
|
|
104
117
|
|
|
105
118
|
|
|
119
|
+
def _read_project_config_from_manifest(manifest_path: Path) -> ProjectConfig:
|
|
120
|
+
"""Read project configuration from an agents-cli-manifest.yaml file."""
|
|
121
|
+
with open(manifest_path, encoding="utf-8") as f:
|
|
122
|
+
data = yaml.safe_load(f)
|
|
123
|
+
if data is None:
|
|
124
|
+
data = {}
|
|
125
|
+
return ProjectConfig.from_dict(data, filename=manifest_path.name)
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
def _read_project_config_from_pyproject(pyproject_path: Path) -> ProjectConfig:
|
|
129
|
+
"""Read project configuration from a legacy pyproject.toml file."""
|
|
130
|
+
with open(pyproject_path, "rb") as f:
|
|
131
|
+
pyproj_data = tomllib.load(f)
|
|
132
|
+
tool_section = pyproj_data.get("tool", {})
|
|
133
|
+
if not isinstance(tool_section, Mapping) or "agents-cli" not in tool_section:
|
|
134
|
+
return ProjectConfig()
|
|
135
|
+
_warn_legacy_config()
|
|
136
|
+
data = tool_section["agents-cli"]
|
|
137
|
+
if data is None:
|
|
138
|
+
data = {}
|
|
139
|
+
elif isinstance(data, Mapping):
|
|
140
|
+
data = dict(data)
|
|
141
|
+
project_section = pyproj_data.get("project", {})
|
|
142
|
+
if isinstance(project_section, Mapping):
|
|
143
|
+
data["name"] = project_section.get("name", "")
|
|
144
|
+
return ProjectConfig.from_dict(data, filename=pyproject_path.name)
|
|
145
|
+
|
|
146
|
+
|
|
106
147
|
def read_project_config(project_dir: str | None = None) -> ProjectConfig:
|
|
107
148
|
"""Read project metadata from agents-cli-manifest.yaml.
|
|
108
149
|
|
|
@@ -120,27 +161,13 @@ def read_project_config(project_dir: str | None = None) -> ProjectConfig:
|
|
|
120
161
|
pyproject_path = root / "pyproject.toml"
|
|
121
162
|
|
|
122
163
|
if manifest_path.exists():
|
|
123
|
-
|
|
124
|
-
with open(manifest_path, encoding="utf-8") as f:
|
|
125
|
-
data = yaml.safe_load(f) or {}
|
|
164
|
+
return _read_project_config_from_manifest(manifest_path)
|
|
126
165
|
elif pyproject_path.exists():
|
|
127
|
-
|
|
128
|
-
with open(pyproject_path, "rb") as f:
|
|
129
|
-
pyproj_data = tomllib.load(f)
|
|
130
|
-
if not pyproj_data.get("tool", {}).get("agents-cli"):
|
|
131
|
-
return ProjectConfig()
|
|
132
|
-
_warn_legacy_config()
|
|
133
|
-
data = pyproj_data["tool"]["agents-cli"]
|
|
134
|
-
# Read project name from [project]
|
|
135
|
-
project_section = pyproj_data.get("project", {})
|
|
136
|
-
project_name = project_section.get("name", "")
|
|
137
|
-
data["name"] = project_name
|
|
166
|
+
return _read_project_config_from_pyproject(pyproject_path)
|
|
138
167
|
else:
|
|
139
|
-
# If neither
|
|
168
|
+
# If neither exists, return a default project config
|
|
140
169
|
return ProjectConfig()
|
|
141
170
|
|
|
142
|
-
return ProjectConfig.from_dict(data)
|
|
143
|
-
|
|
144
171
|
|
|
145
172
|
def _parse_version(v: str) -> tuple[int, ...]:
|
|
146
173
|
"""Parse a dotted numeric version into a comparable tuple.
|
|
@@ -207,7 +234,8 @@ def _find_legacy_project_root(start_dir: Path) -> Path | None:
|
|
|
207
234
|
try:
|
|
208
235
|
with open(pyproject_path, "rb") as f:
|
|
209
236
|
data = tomllib.load(f)
|
|
210
|
-
|
|
237
|
+
tool_data = data.get("tool")
|
|
238
|
+
if isinstance(tool_data, Mapping) and "agents-cli" in tool_data:
|
|
211
239
|
return parent
|
|
212
240
|
except Exception:
|
|
213
241
|
pass
|
|
@@ -334,3 +362,24 @@ def find_project_config(project_dir: Path | None = None) -> ProjectConfig | None
|
|
|
334
362
|
return None
|
|
335
363
|
|
|
336
364
|
return read_project_config(str(project_root_dir))
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
def root_agent_name(project_name: str) -> str:
|
|
368
|
+
"""The ADK agent name the scaffolded template gives a project's root agent.
|
|
369
|
+
|
|
370
|
+
Single definition on purpose. The scaffold bakes this into
|
|
371
|
+
``Agent(name=...)``, and it then travels out in telemetry as the OpenTelemetry
|
|
372
|
+
``gen_ai.agent.name`` attribute -- which is what an observability backend
|
|
373
|
+
filters an agent's traces on. Deriving it from the project name in one
|
|
374
|
+
place is what lets agents-cli know the value without parsing the
|
|
375
|
+
generated ``agent.py``.
|
|
376
|
+
|
|
377
|
+
Coerced to a valid Python identifier, since ADK agent names must be:
|
|
378
|
+
``my-agent`` becomes ``my_agent``. Falls back to ``root_agent`` (the
|
|
379
|
+
historical literal) when the project name has nothing usable in it.
|
|
380
|
+
"""
|
|
381
|
+
candidate = re.sub(r"\W+", "_", project_name).strip("_").lower()
|
|
382
|
+
if not candidate:
|
|
383
|
+
return "root_agent"
|
|
384
|
+
# A leading digit is legal in a project name but not in an identifier.
|
|
385
|
+
return f"agent_{candidate}" if candidate[0].isdigit() else candidate
|
|
@@ -38,13 +38,14 @@ def is_agent_runtime_url(url: str) -> bool:
|
|
|
38
38
|
return _AGENT_ENGINE_URL_FRAGMENT in url and _REASONING_ENGINE_PATH in url
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
def
|
|
42
|
-
"""``True`` for a bare Agent Runtime resource URL
|
|
43
|
-
|
|
41
|
+
def is_legacy_agent_runtime_url(url: str) -> bool:
|
|
42
|
+
"""``True`` for a bare, non-passthrough Agent Runtime resource URL.
|
|
43
|
+
|
|
44
|
+
This URL can only be used for legacy ``:streamQuery`` endpoints, not the
|
|
45
|
+
``/api/`` passthrough API.
|
|
44
46
|
|
|
45
47
|
A URL already containing ``/api`` (the deployed APP_URL form served by the
|
|
46
|
-
container) or any non-Agent-Runtime URL returns ``False
|
|
47
|
-
as-is with ``/a2a/<app>`` (a2a) or ``/run_sse`` (adk) appended.
|
|
48
|
+
container) or any non-Agent-Runtime URL returns ``False``.
|
|
48
49
|
"""
|
|
49
50
|
return is_agent_runtime_url(url) and "/api" not in url
|
|
50
51
|
|
|
@@ -69,6 +70,15 @@ def validate_agent_runtime_url(url: str) -> None:
|
|
|
69
70
|
)
|
|
70
71
|
|
|
71
72
|
|
|
73
|
+
def build_agent_runtime_passthrough_url(location: str, runtime_resource: str) -> str:
|
|
74
|
+
"""Base all clients can target. ``runtime_resource`` is the full
|
|
75
|
+
``projects/<num>/locations/<loc>/reasoningEngines/<id>`` resource name."""
|
|
76
|
+
return (
|
|
77
|
+
f"https://{location}-aiplatform.googleapis.com/reasoningEngines/v1/"
|
|
78
|
+
f"{runtime_resource}/api"
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
|
|
72
82
|
def parse_agent_runtime_service_url(service_url: str) -> tuple[str, str]:
|
|
73
83
|
"""Split an Agent Runtime service URL into (location, runtime_resource).
|
|
74
84
|
|
|
@@ -19,12 +19,19 @@ import os
|
|
|
19
19
|
import shlex
|
|
20
20
|
import subprocess
|
|
21
21
|
import sys
|
|
22
|
+
from collections.abc import Sequence
|
|
22
23
|
from pathlib import Path
|
|
23
24
|
|
|
24
25
|
import click
|
|
25
26
|
|
|
26
27
|
from google.agents.cli import _tools
|
|
27
28
|
|
|
29
|
+
# Set for an extension's command so any re-entry into `agents-cli <cmd>` runs the
|
|
30
|
+
# built-in instead of recursing back into the override.
|
|
31
|
+
DISABLE_OVERRIDES_ENV = "AGENTS_CLI_DISABLE_OVERRIDES"
|
|
32
|
+
# Exported so an extension's scripts can find sibling resources (templates etc.).
|
|
33
|
+
EXTENSION_DIR_ENV = "AGENTS_CLI_EXTENSION_DIR"
|
|
34
|
+
|
|
28
35
|
|
|
29
36
|
def redact_cmd(args: list[str]) -> str:
|
|
30
37
|
"""Mask sensitive information in command arguments and return joined string.
|
|
@@ -173,6 +180,48 @@ def run(
|
|
|
173
180
|
return result
|
|
174
181
|
|
|
175
182
|
|
|
183
|
+
def _looks_like_path(token: str) -> bool:
|
|
184
|
+
"""A `run:` token the author wrote as a path, e.g. `scripts/run.py`."""
|
|
185
|
+
return "/" in token or os.sep in token
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
def run_extension_command(
|
|
189
|
+
run_vector: Sequence[str],
|
|
190
|
+
extra_args: list[str],
|
|
191
|
+
*,
|
|
192
|
+
cwd: Path,
|
|
193
|
+
extension_root: Path,
|
|
194
|
+
) -> int:
|
|
195
|
+
"""Run an extension's declared `run:` vector with the user's argv appended.
|
|
196
|
+
|
|
197
|
+
Differs from `run` in ways an override needs: the vector is extension-supplied
|
|
198
|
+
and passed through verbatim (no `require_tool` resolution), the command is
|
|
199
|
+
not echoed, and the child's exit code is returned rather than raised, so the
|
|
200
|
+
override exits like the command it replaced.
|
|
201
|
+
|
|
202
|
+
Tokens that exist as paths under `extension_root` are made absolute, so a
|
|
203
|
+
vendored script is found regardless of cwd.
|
|
204
|
+
"""
|
|
205
|
+
# Only tokens written as paths. Resolving every token would rewrite an
|
|
206
|
+
# ordinary argument that happens to name a file in the extension, e.g.
|
|
207
|
+
# `run: ["make", "build"]` in an extension that also ships `build/`.
|
|
208
|
+
resolved_vector = [
|
|
209
|
+
str((extension_root / tok).resolve())
|
|
210
|
+
if _looks_like_path(tok) and (extension_root / tok).exists()
|
|
211
|
+
else tok
|
|
212
|
+
for tok in run_vector
|
|
213
|
+
]
|
|
214
|
+
result = run(
|
|
215
|
+
resolved_vector + list(extra_args),
|
|
216
|
+
cwd=cwd,
|
|
217
|
+
env={DISABLE_OVERRIDES_ENV: "1", EXTENSION_DIR_ENV: str(extension_root)},
|
|
218
|
+
print_cmd=False,
|
|
219
|
+
check=False,
|
|
220
|
+
resolve_executable=False,
|
|
221
|
+
)
|
|
222
|
+
return result.returncode
|
|
223
|
+
|
|
224
|
+
|
|
176
225
|
def run_resolved(
|
|
177
226
|
args: list[str], *, resolve_executable: bool = True, **kwargs
|
|
178
227
|
) -> subprocess.CompletedProcess:
|
|
@@ -151,6 +151,10 @@ def require_tool(name: str, install_hint: str = "") -> str:
|
|
|
151
151
|
return path
|
|
152
152
|
|
|
153
153
|
|
|
154
|
+
# Where `agents-cli setup` fetches the bundled skills from.
|
|
155
|
+
DEFAULT_SKILLS_SOURCE = "https://github.com/google/agents-cli"
|
|
156
|
+
|
|
157
|
+
|
|
154
158
|
def run_npx_skills(args: list[str], spinner_msg: str):
|
|
155
159
|
"""Run an npx skills command, streaming output in real-time.
|
|
156
160
|
|
|
@@ -164,7 +168,7 @@ def run_npx_skills(args: list[str], spinner_msg: str):
|
|
|
164
168
|
from google.agents.cli._skills_check import SKILLS_NPX_PACKAGE
|
|
165
169
|
|
|
166
170
|
full_args = ["npx", "-y", SKILLS_NPX_PACKAGE, *args]
|
|
167
|
-
click.secho(f"
|
|
171
|
+
click.secho(f" ▸ {shlex.join(full_args)}", fg="cyan", dim=True)
|
|
168
172
|
|
|
169
173
|
try:
|
|
170
174
|
run_resolved(full_args, check=True, encoding="utf-8", errors="replace")
|
|
@@ -24,7 +24,7 @@ def require_confirmation(message: str):
|
|
|
24
24
|
|
|
25
25
|
In interactive mode (-i), the user is prompted to confirm the action.
|
|
26
26
|
In auto-approve mode (-y) or strict programmatic mode (no flags), proceeds silently.
|
|
27
|
-
The decorated function receives
|
|
27
|
+
The decorated function receives an 'auto_approve' parameter.
|
|
28
28
|
|
|
29
29
|
Args:
|
|
30
30
|
message: Confirmation prompt shown to the user.
|
|
@@ -42,21 +42,24 @@ def require_confirmation(message: str):
|
|
|
42
42
|
"-y",
|
|
43
43
|
"--yes",
|
|
44
44
|
"--auto-approve",
|
|
45
|
+
"auto_approve",
|
|
45
46
|
is_flag=True,
|
|
46
47
|
default=False,
|
|
47
48
|
help="Skip confirmation prompt.",
|
|
48
49
|
)
|
|
49
50
|
@functools.wraps(f)
|
|
50
|
-
def wrapper(*args, interactive=False,
|
|
51
|
-
if interactive and not
|
|
51
|
+
def wrapper(*args, interactive=False, auto_approve=False, **kwargs):
|
|
52
|
+
if interactive and not auto_approve:
|
|
52
53
|
click.echo()
|
|
53
54
|
if not click.confirm(f" {message}", default=False):
|
|
54
55
|
click.echo()
|
|
55
56
|
click.secho(" Aborted.", fg="yellow")
|
|
56
57
|
return
|
|
57
58
|
click.echo()
|
|
58
|
-
# In strict programmatic mode (no -i, no -y): auto-proceed silently
|
|
59
|
-
|
|
59
|
+
# In strict programmatic mode (no -i, no -y): auto-proceed silently.
|
|
60
|
+
# `interactive` is not passed on: the prompt happens here, and no
|
|
61
|
+
# decorated command has ever read it.
|
|
62
|
+
return f(*args, auto_approve=auto_approve, **kwargs)
|
|
60
63
|
|
|
61
64
|
return wrapper
|
|
62
65
|
|