google-agents-cli 1.7.0__tar.gz → 1.9.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.7.0 → google_agents_cli-1.9.0}/PKG-INFO +36 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/README.md +35 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/pyproject.toml +5 -1
- google_agents_cli-1.9.0/src/google/agents/cli/_agent_platform_types.py +31 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/_click.py +65 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/_experiments.py +19 -2
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/_output.py +18 -10
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/_runner.py +37 -2
- google_agents_cli-1.9.0/src/google/agents/cli/_telemetry.py +444 -0
- google_agents_cli-1.9.0/src/google/agents/cli/_telemetry_worker.py +37 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/_tools.py +8 -1
- google_agents_cli-1.9.0/src/google/agents/cli/deploy/_agent_engines.py +68 -0
- google_agents_cli-1.9.0/src/google/agents/cli/deploy/_cloud_validation.py +576 -0
- google_agents_cli-1.9.0/src/google/agents/cli/deploy/_operation.py +512 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/deploy/_utils.py +73 -2
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/deploy/agent_runtime.py +1144 -807
- google_agents_cli-1.9.0/src/google/agents/cli/deploy/cloud_run.py +517 -0
- google_agents_cli-1.9.0/src/google/agents/cli/deploy/cmd_deploy.py +727 -0
- google_agents_cli-1.9.0/src/google/agents/cli/deploy/gke.py +396 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/_events.py +8 -8
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/_live.py +20 -21
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/_synthesize_runner.py +2 -4
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/cmd_analyze.py +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/cmd_generate.py +23 -25
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/cmd_grade.py +4 -7
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/cmd_metric.py +3 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/cmd_submit.py +2 -4
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/eval_utils.py +5 -3
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/_overrides.py +16 -7
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/info/cmd_info.py +25 -12
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/infra/_cicd_utils.py +21 -26
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/infra/cmd_cicd.py +29 -43
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/main.py +41 -32
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/publish/cmd_publish.py +0 -164
- google_agents_cli-1.9.0/src/google/agents/cli/run/_a2a_pinning.py +196 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/run/cmd_run.py +25 -3
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk/.template/templateconfig.yaml +2 -10
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk/app/app_utils/a2a.py +8 -3
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_ts/.cloudbuild/pr_checks.yaml +4 -4
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_ts/.github/workflows/pr_checks.yaml +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_ts/Dockerfile +12 -9
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_ts/README.md +2 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_ts/package-lock.json +2384 -1883
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_ts/package.json +2 -2
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/build_triggers.tf +18 -3
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/iam.tf +12 -9
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/providers.tf +4 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/.gitignore +2 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/.golangci.yml +3 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/deployment/terraform/cicd/telemetry.tf +15 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/deployment/terraform/shared/completions.sql +13 -4
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/deployment/terraform/shared/genai_logs_schema.json +16 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/deployment/terraform/single-project/telemetry.tf +15 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/java/.gitignore +2 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/.cloudbuild/pr_checks.yaml +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/.env +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/.env.example +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/.github/workflows/pr_checks.yaml +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/.gitignore +1 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/cicd/telemetry.tf +10 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/shared/completions.sql +10 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/shared/genai_logs_schema.json +2 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/single-project/telemetry.tf +10 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/pyproject.toml +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/typescript/.cloudbuild/staging.yaml +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/typescript/.github/workflows/staging.yaml +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/typescript/.gitignore +1 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/commands/create.py +37 -11
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/commands/enhance.py +8 -15
- google_agents_cli-1.9.0/src/google/agents/cli/scaffold/commands/upgrade.py +419 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment/terraform/cicd/service.tf +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment/terraform/single-project/service.tf +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/python/tests/integration/test_server_e2e.py +28 -14
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/deployment/terraform/cicd/service.tf +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/deployment/terraform/single-project/service.tf +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/tests/integration/test_server_e2e.py +29 -14
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/gke/_shared/deployment/terraform/cicd/service.tf +2 -2
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/gke/_shared/deployment/terraform/single-project/service.tf +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/gke/python/tests/integration/test_server_e2e.py +29 -14
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/none/python/tests/integration/test_server_e2e.py +29 -14
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/resources/locks/uv-adk-agent_runtime.lock +681 -660
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/resources/locks/uv-adk-cloud_run.lock +719 -685
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/resources/locks/uv-adk-gke.lock +719 -685
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/copy_files.py +80 -96
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/gcp.py +0 -44
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/merge.py +41 -24
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/symlinks.py +36 -17
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/template.py +15 -21
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/upgrade.py +62 -11
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-adk-code/SKILL.md +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-adk-code/references/adk-python.md +2 -2
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-adk-code/references/samples.md +0 -3
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/SKILL.md +13 -4
- google_agents_cli-1.9.0/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/cmek.md +112 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/terraform-patterns.md +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/SKILL.md +2 -2
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/references/user-simulation.md +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-observability/SKILL.md +10 -8
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-publish/SKILL.md +2 -8
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-scaffold/SKILL.md +6 -2
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-scaffold/references/flags.md +1 -1
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-workflow/SKILL.md +3 -3
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-workflow/references/internals.md +1 -1
- google_agents_cli-1.7.0/src/google/agents/cli/deploy/_operation.py +0 -104
- google_agents_cli-1.7.0/src/google/agents/cli/deploy/cmd_deploy.py +0 -1533
- google_agents_cli-1.7.0/src/google/agents/cli/scaffold/commands/upgrade.py +0 -190
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/LICENSE +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/_adk_client.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/_agent_platform.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/_defaults.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/_gcp_project.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/_modes.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/_project.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/_remote.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/_skills_check.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/_trust.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/auth.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/data/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/data/_recipe.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/data/cmd_data_ingestion.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/deploy/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/dev/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/dev/cmd_build.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/dev/cmd_install.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/dev/cmd_lint.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/dev/cmd_playground.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/_paths.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/cmd_compare.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/cmd_dataset.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/cmd_eval_group.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/cmd_optimize.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/cmd_run.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/eval/optimize_utils.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/_compat.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/_loader.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/_manifest.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/_paths.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/_refs.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/_resolver.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/_schema.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/_spec.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/_sync.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/_trust.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/cmd_extension_add.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/cmd_extension_group.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/cmd_extension_list.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/cmd_extension_remove.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/extension/cmd_extension_update.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/info/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/infra/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/infra/_terraform.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/infra/cmd_datastore.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/infra/cmd_infra.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/infra/cmd_infra_show.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/infra/cmd_infra_single_project.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/publish/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/publish/cmd_publish_group.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/run/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/run/_local_server.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/run/_multimodal.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/README.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk/app/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk/app/agent.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk/app/app_utils/reasoning_engine_adapter.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk/app/app_utils/services.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk/app/fast_api_app.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk/tests/eval/datasets/README.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk/tests/eval/datasets/basic-dataset.json +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk/tests/eval/eval_config.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk/tests/eval/response_quality.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk/tests/integration/test_agent.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/.template/templateconfig.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/Dockerfile +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/Makefile +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/README.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/app/agent.go +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/app/agent_test.go +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/appinfo/appinfo.go +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/appinfo/appinfo_test.go +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/apploader.go +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/appurl.go +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/e2e/integration/server_e2e_test.go +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/e2e/load_test/.results/.placeholder +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/e2e/load_test/README.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/e2e/load_test/load_test.go +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/eval/datasets/README.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/eval/datasets/basic-dataset.json +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/eval/eval_config.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/eval/response_quality.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/go.mod +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/go.sum +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/main.go +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/observability.go +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/observability_test.go +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/sessions/sessions.go +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_go/{{cookiecutter.agent_guidance_filename}} +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_java/.cloudbuild/pr_checks.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_java/.github/workflows/pr_checks.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_java/.template/templateconfig.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_java/Dockerfile +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_java/Makefile +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_java/README.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_java/pom.xml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_java/src/main/java/{{cookiecutter.java_package_path}}/Agent.java +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_java/src/main/java/{{cookiecutter.java_package_path}}/Main.java +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.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.7.0 → google_agents_cli-1.9.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.7.0 → google_agents_cli-1.9.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.7.0 → google_agents_cli-1.9.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.7.0 → google_agents_cli-1.9.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.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_java/{{cookiecutter.agent_guidance_filename}} +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_ts/.template/templateconfig.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_ts/Makefile +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_ts/app/agent.ts +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_ts/tests/integration/agent.test.ts +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_ts/tests/integration/server_e2e.test.ts +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_ts/tests/load_test/.results/.placeholder +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_ts/tests/load_test/README.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_ts/tests/load_test/load_test.ts +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/adk_ts/tests/unit/dummy.test.ts +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/empty_go/.template/templateconfig.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/empty_java/.template/templateconfig.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/empty_py/.template/templateconfig.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/agents/empty_ts/.template/templateconfig.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/agents-cli-manifest.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/apis.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/github.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/locals.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/service_accounts.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/storage.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/variables.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/vars/env.tfvars +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/wif.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/apis.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/iam.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/providers.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/storage.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/variables.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/vars/env.tfvars +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/.cloudbuild/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/.cloudbuild/pr_checks.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/.cloudbuild/staging.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/.env +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/.env.example +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/.gcloudignore +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/.github/workflows/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/.github/workflows/pr_checks.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/.github/workflows/staging.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/deployment/terraform/cicd/telemetry_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/go/deployment/terraform/single-project/telemetry_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/java/.cloudbuild/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/java/.cloudbuild/staging.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/java/.env.example +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/java/.gcloudignore +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/java/.github/workflows/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/java/.github/workflows/staging.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/java/src/main/resources/application.properties +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/.cloudbuild/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/.cloudbuild/staging.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/.gcloudignore +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/.github/workflows/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/.github/workflows/staging.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/Dockerfile +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/README.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/cicd/telemetry_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/single-project/telemetry_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/tests/unit/test_dummy.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/python/{{cookiecutter.agent_guidance_filename}} +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/typescript/.cloudbuild/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/typescript/.dockerignore +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/typescript/.env.example +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/typescript/.gcloudignore +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/typescript/.github/workflows/deploy-to-prod.yaml +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/typescript/eslint.config.mjs +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/typescript/tsconfig.json +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/base_templates/typescript/vitest.config.ts +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/cmd_scaffold_group.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/commands/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment/terraform/cicd/service_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment/terraform/shared/dummy_source.b64 +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment/terraform/single-project/service_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment_metadata.json +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/python/tests/load_test/.results/.placeholder +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/python/tests/load_test/README.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/python/tests/load_test/load_test.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/go/deployment/terraform/cicd/service.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/go/deployment/terraform/cicd/service_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/go/deployment/terraform/single-project/service.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/go/deployment/terraform/single-project/service_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/java/deployment/terraform/cicd/service.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/java/deployment/terraform/cicd/service_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/java/deployment/terraform/single-project/service.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/java/deployment/terraform/single-project/service_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/deployment/terraform/cicd/service_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/deployment/terraform/single-project/service_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/tests/load_test/.results/.placeholder +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/tests/load_test/README.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/tests/load_test/load_test.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/typescript/deployment/terraform/cicd/service.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/typescript/deployment/terraform/cicd/service_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/typescript/deployment/terraform/single-project/service.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/typescript/deployment/terraform/single-project/service_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/gke/_shared/deployment/terraform/cicd/service_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/gke/_shared/deployment/terraform/single-project/service_outputs.tf +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/gke/python/tests/load_test/.results/.placeholder +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/gke/python/tests/load_test/README.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/gke/python/tests/load_test/load_test.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/none/python/tests/load_test/.results/.placeholder +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/none/python/tests/load_test/README.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/deployment_targets/none/python/tests/load_test/load_test.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/backup.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/cli_options.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/command.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/fs.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/generate_locks.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/generation_metadata.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/language.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/lock_utils.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/logging.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/remote_template.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/scaffold/utils/version.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/setup/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/setup/_antigravity.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/setup/cmd_auth.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/setup/cmd_setup.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/setup/cmd_update.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/__init__.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/_bundle.py +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/README.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-adk-code/references/adk-go-workflows.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-adk-code/references/adk-go.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-adk-code/references/adk-python-live.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-adk-code/references/adk-python-workflows.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/agent-runtime.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/batch-inference.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/cicd-pipeline.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/cloud-run.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/gke.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/testing-deployed-agents.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/references/advanced-commands.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/references/builtin-tools-eval.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/references/dataset_schema.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/references/live-eval.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/references/metrics-guide.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/references/multimodal-eval.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-observability/references/adk-docs.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-observability/references/bigquery-agent-analytics.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-observability/references/cloud-trace-and-logging.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-observability/references/feedback-mechanism.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-workflow/references/brainstorming.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-workflow/references/commands.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-workflow/references/extension.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.0}/src/google/agents/cli/skills/data/google-agents-cli-workflow/references/spec-template.md +0 -0
- {google_agents_cli-1.7.0 → google_agents_cli-1.9.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.9.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
|
|
@@ -157,6 +157,8 @@ See the [full tutorial](https://google.github.io/agents-cli/guide/quickstart-tut
|
|
|
157
157
|
|
|
158
158
|
</details>
|
|
159
159
|
|
|
160
|
+
|
|
161
|
+
|
|
160
162
|
## How it works
|
|
161
163
|
|
|
162
164
|
<div align="center">
|
|
@@ -206,6 +208,39 @@ The best way to contribute is through feedback: bug reports, feature requests, a
|
|
|
206
208
|
|
|
207
209
|
See the [contributing guide](CONTRIBUTING.md) for details.
|
|
208
210
|
|
|
211
|
+
## Telemetry
|
|
212
|
+
|
|
213
|
+
By default, `agents-cli` emits a single usage signal per command invocation to help
|
|
214
|
+
improve the tool and better understand how it's used. Each signal
|
|
215
|
+
is a structured log entry written to **your own Google Cloud project**:
|
|
216
|
+
`GOOGLE_CLOUD_PROJECT`, or else the default project of your Application Default
|
|
217
|
+
Credentials (`logName=projects/<project>/logs/agents-cli`), where you can query
|
|
218
|
+
it in Cloud Logging. It records only the metadata such as command name
|
|
219
|
+
(e.g. `deploy`, `scaffold.create`), exit code, error class, duration (measured
|
|
220
|
+
from command dispatch to exit, so it excludes CLI startup), CLI/Python versions,
|
|
221
|
+
and OS — never file contents, arguments, or other input. Commands added by
|
|
222
|
+
extensions are recorded without their names.
|
|
223
|
+
|
|
224
|
+
The request that writes the entry also carries usage metadata in its
|
|
225
|
+
`User-Agent` and `X-Goog-Api-Client` headers, which Google receives for
|
|
226
|
+
agents-cli usage analytics: the CLI and Python versions, the OS and its release,
|
|
227
|
+
the CPU architecture, the command name and a random per-invocation ID. The log
|
|
228
|
+
entry's contents, such as the exit code, error class and duration, stay in your
|
|
229
|
+
project.
|
|
230
|
+
|
|
231
|
+
To opt out of sending telemetry, use one of the following environment variables:
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
# our cli-specific variable
|
|
235
|
+
# 0, false, no, or off (case-insensitive):
|
|
236
|
+
export AGENTS_CLI_TELEMETRY=0
|
|
237
|
+
|
|
238
|
+
# donottrack.sh standard variable
|
|
239
|
+
export DO_NOT_TRACK=1
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Use `agents-cli info` to see the current telemetry state.
|
|
243
|
+
|
|
209
244
|
## Terms of Service
|
|
210
245
|
|
|
211
246
|
`agents-cli` leverages Google Cloud APIs. When you deploy agents, you'll be deploying resources in your own Google Cloud project and will be responsible for those resources. Please review the [Google Cloud Service Terms](https://cloud.google.com/terms/service-terms) for details.
|
|
@@ -116,6 +116,8 @@ See the [full tutorial](https://google.github.io/agents-cli/guide/quickstart-tut
|
|
|
116
116
|
|
|
117
117
|
</details>
|
|
118
118
|
|
|
119
|
+
|
|
120
|
+
|
|
119
121
|
## How it works
|
|
120
122
|
|
|
121
123
|
<div align="center">
|
|
@@ -165,6 +167,39 @@ The best way to contribute is through feedback: bug reports, feature requests, a
|
|
|
165
167
|
|
|
166
168
|
See the [contributing guide](CONTRIBUTING.md) for details.
|
|
167
169
|
|
|
170
|
+
## Telemetry
|
|
171
|
+
|
|
172
|
+
By default, `agents-cli` emits a single usage signal per command invocation to help
|
|
173
|
+
improve the tool and better understand how it's used. Each signal
|
|
174
|
+
is a structured log entry written to **your own Google Cloud project**:
|
|
175
|
+
`GOOGLE_CLOUD_PROJECT`, or else the default project of your Application Default
|
|
176
|
+
Credentials (`logName=projects/<project>/logs/agents-cli`), where you can query
|
|
177
|
+
it in Cloud Logging. It records only the metadata such as command name
|
|
178
|
+
(e.g. `deploy`, `scaffold.create`), exit code, error class, duration (measured
|
|
179
|
+
from command dispatch to exit, so it excludes CLI startup), CLI/Python versions,
|
|
180
|
+
and OS — never file contents, arguments, or other input. Commands added by
|
|
181
|
+
extensions are recorded without their names.
|
|
182
|
+
|
|
183
|
+
The request that writes the entry also carries usage metadata in its
|
|
184
|
+
`User-Agent` and `X-Goog-Api-Client` headers, which Google receives for
|
|
185
|
+
agents-cli usage analytics: the CLI and Python versions, the OS and its release,
|
|
186
|
+
the CPU architecture, the command name and a random per-invocation ID. The log
|
|
187
|
+
entry's contents, such as the exit code, error class and duration, stay in your
|
|
188
|
+
project.
|
|
189
|
+
|
|
190
|
+
To opt out of sending telemetry, use one of the following environment variables:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
# our cli-specific variable
|
|
194
|
+
# 0, false, no, or off (case-insensitive):
|
|
195
|
+
export AGENTS_CLI_TELEMETRY=0
|
|
196
|
+
|
|
197
|
+
# donottrack.sh standard variable
|
|
198
|
+
export DO_NOT_TRACK=1
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Use `agents-cli info` to see the current telemetry state.
|
|
202
|
+
|
|
168
203
|
## Terms of Service
|
|
169
204
|
|
|
170
205
|
`agents-cli` leverages Google Cloud APIs. When you deploy agents, you'll be deploying resources in your own Google Cloud project and will be responsible for those resources. Please review the [Google Cloud Service Terms](https://cloud.google.com/terms/service-terms) for details.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "google-agents-cli"
|
|
3
|
-
version = "1.
|
|
3
|
+
version = "1.9.0"
|
|
4
4
|
description = "Agents CLI — Agent Development Lifecycle toolchain for ADK"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "Apache-2.0"
|
|
@@ -101,6 +101,9 @@ include = [
|
|
|
101
101
|
"tools/**/*.py",
|
|
102
102
|
# First-party extensions ship real code; lint them like the rest.
|
|
103
103
|
"extensions/**/*.py",
|
|
104
|
+
# The lift report builder and the eval tools.
|
|
105
|
+
"evals/report/**/*.py",
|
|
106
|
+
"evals/tools/**/*.py",
|
|
104
107
|
]
|
|
105
108
|
exclude = [
|
|
106
109
|
"src/google/agents/cli/scaffold/agents",
|
|
@@ -136,6 +139,7 @@ ignore = ["E501", "C901", "RUF001", "UP036", "RUF067", "RUF069"]
|
|
|
136
139
|
[tool.ruff.lint.flake8-tidy-imports.banned-api]
|
|
137
140
|
"rich.console.Console" = { msg = "Use `google.agents.cli._output.Console` instead to ensure project-wide defaults (soft_wrap=True) are applied." }
|
|
138
141
|
"agentplatform.Client" = { msg = "Use `google.agents.cli._agent_platform.AgentPlatformClient` instead, so the client retries throttled requests." }
|
|
142
|
+
"agentplatform._genai" = { msg = "Private SDK module that can change without notice. Use `types` from `google.agents.cli._agent_platform_types` for SDK types." }
|
|
139
143
|
|
|
140
144
|
[tool.ruff.lint.pylint]
|
|
141
145
|
max-positional-args = 5
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
"""Agent Platform SDK types, imported through the SDK's public path.
|
|
16
|
+
|
|
17
|
+
Use ``types.EvalCase``, ``types.evals.AgentEvent``, etc. from here rather than
|
|
18
|
+
importing ``agentplatform._genai`` directly.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
from typing import TYPE_CHECKING
|
|
22
|
+
|
|
23
|
+
if TYPE_CHECKING:
|
|
24
|
+
# The public `agentplatform.types` is served by an untyped module
|
|
25
|
+
# `__getattr__`, which type checkers resolve to Unknown. Point them at the
|
|
26
|
+
# module it returns so the SDK models stay type-checked.
|
|
27
|
+
from agentplatform._genai import types # noqa: TID251
|
|
28
|
+
else:
|
|
29
|
+
from agentplatform import types
|
|
30
|
+
|
|
31
|
+
__all__ = ["types"]
|
|
@@ -24,6 +24,20 @@ import click
|
|
|
24
24
|
|
|
25
25
|
from google.agents.cli._experiments import resolve_experiment
|
|
26
26
|
|
|
27
|
+
# Key under which the dispatched subcommand chain is recorded on ``ctx.meta``
|
|
28
|
+
# (root -> leaf, e.g. ``["scaffold", "create"]``). ``ctx.meta`` is shared across
|
|
29
|
+
# the whole context tree, so every level appends to the same list and any
|
|
30
|
+
# context can read the full path. Consumed by ``_telemetry``.
|
|
31
|
+
COMMAND_PATH_META_KEY = "agents_cli.command_path"
|
|
32
|
+
# Set on ``ctx.meta`` once the resolved leaf command actually runs, so a help
|
|
33
|
+
# view (``--help``, or a group given no subcommand) can be told apart from a
|
|
34
|
+
# run. Consumed by ``_telemetry``.
|
|
35
|
+
COMMAND_INVOKED_META_KEY = "agents_cli.command_invoked"
|
|
36
|
+
# Marks a recorded path segment that an extension serves: ``generate~ext`` for
|
|
37
|
+
# an overridden built-in. A command an extension adds is recorded as the bare
|
|
38
|
+
# marker, never by name, since the extension author chose that name.
|
|
39
|
+
EXTENSION_PATH_MARKER = "~ext"
|
|
40
|
+
|
|
27
41
|
|
|
28
42
|
class LazyGroup(click.Group):
|
|
29
43
|
"""Click group that defers importing subcommand modules until needed.
|
|
@@ -104,6 +118,33 @@ class LazyGroup(click.Group):
|
|
|
104
118
|
self.commands[cmd_name] = cmd
|
|
105
119
|
return super().get_command(ctx, cmd_name)
|
|
106
120
|
|
|
121
|
+
def resolve_command(
|
|
122
|
+
self, ctx: click.Context, args: list[str]
|
|
123
|
+
) -> tuple[str | None, click.Command | None, list[str]]:
|
|
124
|
+
cmd_name, cmd, rest = super().resolve_command(ctx, args)
|
|
125
|
+
if cmd_name is not None and cmd is not None:
|
|
126
|
+
# Record the dispatched command chain on ctx.meta as Click resolves
|
|
127
|
+
# each level, so we can avoid parsing arguments later. Recorded here
|
|
128
|
+
# rather than in get_command, which also runs for lookups that
|
|
129
|
+
# aren't dispatch (e.g. listing commands for shell completion).
|
|
130
|
+
ctx.meta.setdefault(COMMAND_PATH_META_KEY, []).append(
|
|
131
|
+
self._path_segment(cmd_name)
|
|
132
|
+
)
|
|
133
|
+
_flag_invocation(cmd)
|
|
134
|
+
return cmd_name, cmd, rest
|
|
135
|
+
|
|
136
|
+
def _path_segment(self, cmd_name: str) -> str:
|
|
137
|
+
"""The recorded path segment for a dispatched ``cmd_name``.
|
|
138
|
+
|
|
139
|
+
Overrides only apply to built-ins and added commands never share a
|
|
140
|
+
built-in's name, so an extension-served built-in name is an override.
|
|
141
|
+
"""
|
|
142
|
+
if cmd_name not in self._overrides:
|
|
143
|
+
return cmd_name
|
|
144
|
+
if cmd_name in self._lazy_commands or cmd_name in self.commands:
|
|
145
|
+
return f"{cmd_name}{EXTENSION_PATH_MARKER}"
|
|
146
|
+
return EXTENSION_PATH_MARKER
|
|
147
|
+
|
|
107
148
|
def format_commands(self, ctx: click.Context, formatter: click.HelpFormatter) -> None:
|
|
108
149
|
rows: list[tuple[str, str]] = []
|
|
109
150
|
for name in self.list_commands(ctx):
|
|
@@ -122,6 +163,30 @@ class LazyGroup(click.Group):
|
|
|
122
163
|
formatter.write_dl(rows)
|
|
123
164
|
|
|
124
165
|
|
|
166
|
+
def _flag_invocation(cmd: Any) -> None:
|
|
167
|
+
"""Make a leaf command set ``COMMAND_INVOKED_META_KEY`` when it runs.
|
|
168
|
+
|
|
169
|
+
Click handles ``--help`` while parsing arguments and exits before calling
|
|
170
|
+
``invoke``, so the flag stays unset for help views. Groups only dispatch,
|
|
171
|
+
so they are left alone.
|
|
172
|
+
|
|
173
|
+
This wraps ``invoke`` on the command object itself, which is shared for the
|
|
174
|
+
whole process, the same way ``patch_source_in_help`` wraps
|
|
175
|
+
``format_epilog``. The ``_invocation_flagged`` marker keeps it idempotent.
|
|
176
|
+
"""
|
|
177
|
+
if isinstance(cmd, click.Group) or getattr(cmd, "_invocation_flagged", False):
|
|
178
|
+
return
|
|
179
|
+
|
|
180
|
+
original = cmd.invoke
|
|
181
|
+
|
|
182
|
+
def _invoke(ctx: click.Context) -> Any:
|
|
183
|
+
ctx.meta[COMMAND_INVOKED_META_KEY] = True
|
|
184
|
+
return original(ctx)
|
|
185
|
+
|
|
186
|
+
cmd.invoke = _invoke
|
|
187
|
+
cmd._invocation_flagged = True
|
|
188
|
+
|
|
189
|
+
|
|
125
190
|
def _source_path(cmd: Any) -> str | None:
|
|
126
191
|
"""Resolve the absolute file path of a command's callback module."""
|
|
127
192
|
cb = cmd.callback
|
|
@@ -31,6 +31,24 @@ _REGISTRY: dict[str, Experiment] = {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
|
|
34
|
+
# String spellings accepted for boolean experiments, e.g. '{"x": "false"}'.
|
|
35
|
+
# bool("false") is True, so strings can't go through the plain type cast.
|
|
36
|
+
_TRUE_STRINGS = frozenset({"1", "true", "yes", "on"})
|
|
37
|
+
_FALSE_STRINGS = frozenset({"0", "false", "no", "off"})
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def _cast(exp: Experiment, val: Any) -> Any:
|
|
41
|
+
"""Cast an override value to the experiment's type."""
|
|
42
|
+
if exp.value_type is bool and isinstance(val, str):
|
|
43
|
+
normalized = val.strip().lower()
|
|
44
|
+
if normalized in _TRUE_STRINGS:
|
|
45
|
+
return True
|
|
46
|
+
if normalized in _FALSE_STRINGS:
|
|
47
|
+
return False
|
|
48
|
+
raise ValueError(f"expected true/false, 1/0, yes/no or on/off, got {val!r}")
|
|
49
|
+
return exp.value_type(val)
|
|
50
|
+
|
|
51
|
+
|
|
34
52
|
def resolve_experiment(label: str) -> Any:
|
|
35
53
|
"""Returns the value for the given experiment label."""
|
|
36
54
|
if label not in _REGISTRY:
|
|
@@ -45,8 +63,7 @@ def resolve_experiment(label: str) -> Any:
|
|
|
45
63
|
overrides = json.loads(env_val)
|
|
46
64
|
if label in overrides:
|
|
47
65
|
val = overrides[label]
|
|
48
|
-
|
|
49
|
-
return exp.value_type(val)
|
|
66
|
+
return _cast(exp, val)
|
|
50
67
|
except Exception as e:
|
|
51
68
|
logging.warning(
|
|
52
69
|
f"Failed to apply AGENTS_CLI_EXPERIMENTS override for '{label}', "
|
|
@@ -16,15 +16,11 @@
|
|
|
16
16
|
|
|
17
17
|
import json
|
|
18
18
|
import sys
|
|
19
|
-
from enum import IntEnum
|
|
20
19
|
from typing import Any
|
|
21
20
|
|
|
21
|
+
import click
|
|
22
22
|
from rich.console import Console as _RichConsole # noqa: TID251
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
class ExitCode(IntEnum):
|
|
26
|
-
OK = 0
|
|
27
|
-
ERROR = 1
|
|
23
|
+
from rich.markup import escape
|
|
28
24
|
|
|
29
25
|
|
|
30
26
|
class Console(_RichConsole):
|
|
@@ -40,7 +36,19 @@ def emit(data: dict) -> None:
|
|
|
40
36
|
print(json.dumps(data), file=sys.stdout)
|
|
41
37
|
|
|
42
38
|
|
|
43
|
-
def
|
|
44
|
-
"""
|
|
45
|
-
|
|
46
|
-
|
|
39
|
+
def print_error(message: str) -> None:
|
|
40
|
+
"""Print an error message to stderr with a red "❌ Error:" prefix."""
|
|
41
|
+
# escape() so text like "[cyan]" or "[0]" in the message is shown as-is.
|
|
42
|
+
Console(stderr=True, highlight=False).print(
|
|
43
|
+
f"[bold red]❌ Error:[/bold red] {escape(message)}"
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def print_click_exception(e: click.ClickException) -> None:
|
|
48
|
+
"""Show a ClickException like Click does, but with a red "❌ Error:" prefix."""
|
|
49
|
+
if isinstance(e, click.UsageError) and e.ctx is not None:
|
|
50
|
+
hint = ""
|
|
51
|
+
if e.ctx.command.get_help_option(e.ctx) is not None:
|
|
52
|
+
hint = f"Try '{e.ctx.command_path} {e.ctx.help_option_names[0]}' for help.\n"
|
|
53
|
+
click.echo(f"{e.ctx.get_usage()}\n{hint}", err=True, color=e.ctx.color)
|
|
54
|
+
print_error(e.format_message())
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
"""Subprocess helpers for agents CLI."""
|
|
16
16
|
|
|
17
|
+
import contextlib
|
|
17
18
|
import io
|
|
18
19
|
import os
|
|
19
20
|
import shlex
|
|
@@ -222,6 +223,30 @@ def run_extension_command(
|
|
|
222
223
|
return result.returncode
|
|
223
224
|
|
|
224
225
|
|
|
226
|
+
@contextlib.contextmanager
|
|
227
|
+
def _wrap_launch_errors(executable: str | None, args: list[str]):
|
|
228
|
+
"""Turn a resolved tool's launch-time OSError into a ToolNotExecutableError.
|
|
229
|
+
|
|
230
|
+
On Windows, shutil.which doesn't check ACLs or security policies, so a
|
|
231
|
+
blocked tool resolves fine and only fails at launch, even with check=False.
|
|
232
|
+
Only ERROR_ACCESS_DENIED maps to PermissionError; policy blocks (e.g.
|
|
233
|
+
WinError 4551 from Application Control) surface as a plain OSError.
|
|
234
|
+
FileNotFoundError and unresolved executables (``executable is None``) keep
|
|
235
|
+
the raw error so callers' own handling still applies.
|
|
236
|
+
"""
|
|
237
|
+
try:
|
|
238
|
+
yield
|
|
239
|
+
except FileNotFoundError:
|
|
240
|
+
raise
|
|
241
|
+
except (PermissionError, OSError) as e:
|
|
242
|
+
if executable is None:
|
|
243
|
+
raise
|
|
244
|
+
msg = f"'{executable}' was found at '{args[0]}' but could not be executed: {e}"
|
|
245
|
+
if _tools.is_windows():
|
|
246
|
+
msg += "\n It may be blocked by a security policy (e.g. AppLocker, WDAC, Defender)."
|
|
247
|
+
raise _tools.ToolNotExecutableError(msg) from e
|
|
248
|
+
|
|
249
|
+
|
|
225
250
|
def run_resolved(
|
|
226
251
|
args: list[str], *, resolve_executable: bool = True, **kwargs
|
|
227
252
|
) -> subprocess.CompletedProcess:
|
|
@@ -235,6 +260,8 @@ def run_resolved(
|
|
|
235
260
|
|
|
236
261
|
Raises:
|
|
237
262
|
ToolNotFoundError: If resolve_executable is True and the tool cannot be found.
|
|
263
|
+
ToolNotExecutableError: If resolve_executable is True and the OS refuses
|
|
264
|
+
to execute the resolved tool.
|
|
238
265
|
|
|
239
266
|
Returns:
|
|
240
267
|
CompletedProcess instance.
|
|
@@ -242,13 +269,15 @@ def run_resolved(
|
|
|
242
269
|
if isinstance(args, str):
|
|
243
270
|
raise ValueError("args must be a list of strings, not a single string.")
|
|
244
271
|
|
|
272
|
+
executable = None
|
|
245
273
|
if resolve_executable and args:
|
|
246
274
|
executable = args[0]
|
|
247
275
|
# Create a shallow copy to avoid modifying the original list passed by reference
|
|
248
276
|
args = args.copy()
|
|
249
277
|
args[0] = _tools.require_tool(executable)
|
|
250
278
|
|
|
251
|
-
|
|
279
|
+
with _wrap_launch_errors(executable, args):
|
|
280
|
+
return subprocess.run(args, **kwargs)
|
|
252
281
|
|
|
253
282
|
|
|
254
283
|
def popen_resolved(
|
|
@@ -264,6 +293,8 @@ def popen_resolved(
|
|
|
264
293
|
|
|
265
294
|
Raises:
|
|
266
295
|
ToolNotFoundError: If resolve_executable is True and the tool cannot be found.
|
|
296
|
+
ToolNotExecutableError: If resolve_executable is True and the OS refuses
|
|
297
|
+
to execute the resolved tool.
|
|
267
298
|
|
|
268
299
|
Returns:
|
|
269
300
|
Popen instance.
|
|
@@ -271,13 +302,15 @@ def popen_resolved(
|
|
|
271
302
|
if isinstance(args, str):
|
|
272
303
|
raise ValueError("args must be a list of strings, not a single string.")
|
|
273
304
|
|
|
305
|
+
executable = None
|
|
274
306
|
if resolve_executable and args:
|
|
275
307
|
executable = args[0]
|
|
276
308
|
# Create a shallow copy to avoid modifying the original list passed by reference
|
|
277
309
|
args = args.copy()
|
|
278
310
|
args[0] = _tools.require_tool(executable)
|
|
279
311
|
|
|
280
|
-
|
|
312
|
+
with _wrap_launch_errors(executable, args):
|
|
313
|
+
return subprocess.Popen(args, **kwargs)
|
|
281
314
|
|
|
282
315
|
|
|
283
316
|
def popen_resolved_detached(
|
|
@@ -298,6 +331,8 @@ def popen_resolved_detached(
|
|
|
298
331
|
|
|
299
332
|
Raises:
|
|
300
333
|
ToolNotFoundError: If resolve_executable is True and the tool cannot be found.
|
|
334
|
+
ToolNotExecutableError: If resolve_executable is True and the OS refuses
|
|
335
|
+
to execute the resolved tool.
|
|
301
336
|
|
|
302
337
|
Returns:
|
|
303
338
|
Popen instance.
|