google-agents-cli 1.12.0__tar.gz → 1.13.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.
Files changed (381) hide show
  1. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/PKG-INFO +23 -18
  2. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/README.md +4 -2
  3. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/pyproject.toml +26 -22
  4. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_adk_client.py +3 -2
  5. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_click.py +34 -11
  6. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_experiments.py +2 -0
  7. google_agents_cli-1.13.0/src/google/agents/cli/_gcloud_auth.py +290 -0
  8. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_gcp_project.py +44 -0
  9. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_project.py +45 -17
  10. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_remote.py +65 -8
  11. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_runner.py +13 -0
  12. google_agents_cli-1.12.0/src/google/agents/cli/scaffold/utils/symlinks.py → google_agents_cli-1.13.0/src/google/agents/cli/_symlinks.py +57 -16
  13. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_telemetry.py +8 -7
  14. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/auth.py +30 -13
  15. google_agents_cli-1.13.0/src/google/agents/cli/command_center/_app.py +85 -0
  16. google_agents_cli-1.13.0/src/google/agents/cli/command_center/_proxy.py +268 -0
  17. google_agents_cli-1.13.0/src/google/agents/cli/command_center/cmd_command_center.py +170 -0
  18. google_agents_cli-1.13.0/src/google/agents/cli/deploy/_agent_identity.py +223 -0
  19. google_agents_cli-1.13.0/src/google/agents/cli/deploy/_agent_runtime_validation.py +269 -0
  20. google_agents_cli-1.13.0/src/google/agents/cli/deploy/_cloud_run_validation.py +473 -0
  21. google_agents_cli-1.13.0/src/google/agents/cli/deploy/_cloud_validation.py +670 -0
  22. google_agents_cli-1.13.0/src/google/agents/cli/deploy/_gke_validation.py +561 -0
  23. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/deploy/_utils.py +21 -0
  24. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/deploy/agent_runtime.py +289 -54
  25. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/deploy/cloud_run.py +271 -27
  26. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/deploy/cmd_deploy.py +21 -14
  27. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/deploy/gke.py +11 -1
  28. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/dev/cmd_build.py +1 -0
  29. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/dev/cmd_install.py +1 -0
  30. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/dev/cmd_lint.py +1 -0
  31. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/dev/cmd_playground.py +2 -5
  32. google_agents_cli-1.13.0/src/google/agents/cli/eval/_verdict.py +307 -0
  33. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/cmd_generate.py +5 -9
  34. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/cmd_grade.py +47 -4
  35. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/cmd_run.py +9 -6
  36. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/cmd_submit.py +7 -1
  37. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/eval_utils.py +97 -27
  38. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/_loader.py +103 -61
  39. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/_overrides.py +9 -3
  40. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/_refs.py +60 -12
  41. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/_resolver.py +247 -63
  42. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/_skills.py +43 -23
  43. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/_spec.py +3 -0
  44. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/_sync.py +7 -4
  45. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/_trust.py +3 -3
  46. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/cmd_extension_add.py +26 -4
  47. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/cmd_extension_update.py +78 -19
  48. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/main.py +20 -3
  49. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/publish/cmd_publish.py +42 -73
  50. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/run/_local_server.py +4 -0
  51. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/run/cmd_run.py +3 -4
  52. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/apploader.go +2 -2
  53. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/appurl.go +19 -3
  54. google_agents_cli-1.13.0/src/google/agents/cli/scaffold/agents/adk_go/appurl_test.go +58 -0
  55. {google_agents_cli-1.12.0/src/google/agents/cli/scaffold/agents/adk_python/tests → google_agents_cli-1.13.0/src/google/agents/cli/scaffold/agents/adk_go}/eval/eval_config.yaml +5 -0
  56. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/main.go +1 -2
  57. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_java/src/main/java/{{cookiecutter.java_package_path}}/Agent.java +25 -2
  58. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_python/app/agent.py +1 -1
  59. {google_agents_cli-1.12.0/src/google/agents/cli/scaffold/agents/adk_go → google_agents_cli-1.13.0/src/google/agents/cli/scaffold/agents/adk_python/tests}/eval/eval_config.yaml +5 -0
  60. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_ts/Dockerfile +3 -3
  61. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_ts/Makefile +1 -1
  62. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_ts/package-lock.json +349 -280
  63. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_ts/package.json +9 -8
  64. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_ts/tests/integration/server_e2e.test.ts +4 -5
  65. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_ts/tests/load_test/load_test.ts +2 -2
  66. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/agents-cli-manifest.yaml +6 -0
  67. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/iam.tf +49 -1
  68. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/providers.tf +1 -1
  69. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/service_accounts.tf +1 -1
  70. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/variables.tf +4 -0
  71. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/iam.tf +42 -1
  72. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/providers.tf +1 -1
  73. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/variables.tf +4 -0
  74. google_agents_cli-1.13.0/src/google/agents/cli/scaffold/base_templates/typescript/.env +11 -0
  75. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/typescript/tsconfig.json +3 -1
  76. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/commands/create.py +23 -4
  77. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/commands/enhance.py +16 -9
  78. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/commands/upgrade.py +8 -4
  79. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment/terraform/cicd/service.tf +4 -0
  80. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment/terraform/single-project/service.tf +4 -0
  81. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/python/tests/integration/test_server_e2e.py +1 -1
  82. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/go/deployment/terraform/cicd/service.tf +28 -2
  83. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/go/deployment/terraform/single-project/service.tf +26 -2
  84. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/java/deployment/terraform/cicd/service.tf +13 -2
  85. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/java/deployment/terraform/single-project/service.tf +13 -2
  86. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/deployment/terraform/cicd/service.tf +28 -2
  87. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/deployment/terraform/single-project/service.tf +26 -2
  88. {google_agents_cli-1.12.0/src/google/agents/cli/scaffold/deployment_targets/none → google_agents_cli-1.13.0/src/google/agents/cli/scaffold/deployment_targets/cloud_run}/python/tests/integration/test_server_e2e.py +1 -1
  89. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/typescript/deployment/terraform/cicd/service.tf +13 -2
  90. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/typescript/deployment/terraform/single-project/service.tf +13 -2
  91. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/cli_options.py +12 -2
  92. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/copy_files.py +5 -2
  93. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/generation_metadata.py +29 -13
  94. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/go_overlay.py +1 -1
  95. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/language.py +51 -17
  96. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/template.py +51 -28
  97. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/upgrade.py +16 -8
  98. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/setup/cmd_setup.py +6 -0
  99. google_agents_cli-1.13.0/src/google/agents/cli/skills/__init__.py +13 -0
  100. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-adk-code/SKILL.md +3 -3
  101. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-adk-code/references/recipes.md +6 -10
  102. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/SKILL.md +11 -11
  103. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/agent-runtime.md +9 -5
  104. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/SKILL.md +13 -5
  105. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/references/metrics-guide.md +2 -0
  106. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-observability/SKILL.md +1 -1
  107. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-publish/SKILL.md +3 -1
  108. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-scaffold/SKILL.md +4 -4
  109. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-scaffold/references/flags.md +3 -3
  110. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-workflow/SKILL.md +5 -5
  111. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-workflow/references/extension.md +8 -5
  112. google_agents_cli-1.12.0/src/google/agents/cli/deploy/_agent_identity.py +0 -51
  113. google_agents_cli-1.12.0/src/google/agents/cli/deploy/_cloud_validation.py +0 -1011
  114. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/LICENSE +0 -0
  115. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/__init__.py +0 -0
  116. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_agent_platform.py +0 -0
  117. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_agent_platform_types.py +0 -0
  118. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_defaults.py +0 -0
  119. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_fs.py +0 -0
  120. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_git.py +0 -0
  121. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_modes.py +0 -0
  122. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_output.py +0 -0
  123. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_sdk_compat.py +0 -0
  124. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_skills_check.py +0 -0
  125. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_telemetry_worker.py +0 -0
  126. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_tools.py +0 -0
  127. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_trust.py +0 -0
  128. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/_uv_index.py +0 -0
  129. {google_agents_cli-1.12.0/src/google/agents/cli/data → google_agents_cli-1.13.0/src/google/agents/cli/command_center}/__init__.py +0 -0
  130. {google_agents_cli-1.12.0/src/google/agents/cli/deploy → google_agents_cli-1.13.0/src/google/agents/cli/data}/__init__.py +0 -0
  131. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/data/_recipe.py +0 -0
  132. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/data/cmd_data_ingestion.py +0 -0
  133. {google_agents_cli-1.12.0/src/google/agents/cli/dev → google_agents_cli-1.13.0/src/google/agents/cli/deploy}/__init__.py +0 -0
  134. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/deploy/_build_logs.py +0 -0
  135. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/deploy/_operation.py +0 -0
  136. {google_agents_cli-1.12.0/src/google/agents/cli/info → google_agents_cli-1.13.0/src/google/agents/cli/dev}/__init__.py +0 -0
  137. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/__init__.py +0 -0
  138. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/_events.py +0 -0
  139. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/_live.py +0 -0
  140. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/_paths.py +0 -0
  141. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/_synthesize_runner.py +0 -0
  142. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/cmd_analyze.py +0 -0
  143. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/cmd_compare.py +0 -0
  144. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/cmd_dataset.py +0 -0
  145. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/cmd_eval_group.py +0 -0
  146. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/cmd_metric.py +0 -0
  147. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/cmd_optimize.py +0 -0
  148. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/eval/optimize_utils.py +0 -0
  149. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/__init__.py +0 -0
  150. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/_compat.py +0 -0
  151. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/_manifest.py +0 -0
  152. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/_paths.py +0 -0
  153. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/_schema.py +0 -0
  154. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/cmd_extension_group.py +0 -0
  155. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/cmd_extension_list.py +0 -0
  156. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/extension/cmd_extension_remove.py +0 -0
  157. {google_agents_cli-1.12.0/src/google/agents/cli/infra → google_agents_cli-1.13.0/src/google/agents/cli/info}/__init__.py +0 -0
  158. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/info/cmd_info.py +0 -0
  159. {google_agents_cli-1.12.0/src/google/agents/cli/publish → google_agents_cli-1.13.0/src/google/agents/cli/infra}/__init__.py +0 -0
  160. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/infra/_cicd_utils.py +0 -0
  161. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/infra/_terraform.py +0 -0
  162. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/infra/cmd_cicd.py +0 -0
  163. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/infra/cmd_datastore.py +0 -0
  164. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/infra/cmd_infra.py +0 -0
  165. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/infra/cmd_infra_show.py +0 -0
  166. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/infra/cmd_infra_single_project.py +0 -0
  167. {google_agents_cli-1.12.0/src/google/agents/cli/scaffold/commands → google_agents_cli-1.13.0/src/google/agents/cli/publish}/__init__.py +0 -0
  168. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/publish/cmd_publish_group.py +0 -0
  169. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/run/__init__.py +0 -0
  170. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/run/_a2a_pinning.py +0 -0
  171. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/run/_multimodal.py +0 -0
  172. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/__init__.py +0 -0
  173. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/README.md +0 -0
  174. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/.template/templateconfig.yaml +0 -0
  175. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/Dockerfile +0 -0
  176. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/Makefile +0 -0
  177. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/README.md +0 -0
  178. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/app/agent.go +0 -0
  179. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/app/agent_test.go +0 -0
  180. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/appinfo/appinfo.go +0 -0
  181. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/appinfo/appinfo_test.go +0 -0
  182. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/e2e/integration/server_e2e_test.go +0 -0
  183. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/e2e/load_test/.results/.placeholder +0 -0
  184. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/e2e/load_test/README.md +0 -0
  185. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/e2e/load_test/load_test.go +0 -0
  186. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/eval/datasets/README.md +0 -0
  187. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/eval/datasets/basic-dataset.json +0 -0
  188. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/eval/response_quality.py +0 -0
  189. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/go.mod +0 -0
  190. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/go.sum +0 -0
  191. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/observability.go +0 -0
  192. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/observability_test.go +0 -0
  193. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/sessions/backends.go +0 -0
  194. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/sessions/sessions.go +0 -0
  195. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/sessions/sessions_test.go +0 -0
  196. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_go/{{cookiecutter.agent_guidance_filename}} +0 -0
  197. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_java/.cloudbuild/pr_checks.yaml +0 -0
  198. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_java/.github/workflows/pr_checks.yaml +0 -0
  199. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_java/.template/templateconfig.yaml +0 -0
  200. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_java/Dockerfile +0 -0
  201. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_java/Makefile +0 -0
  202. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_java/README.md +0 -0
  203. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_java/pom.xml +0 -0
  204. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_java/src/main/java/{{cookiecutter.java_package_path}}/Main.java +0 -0
  205. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_java/src/test/java/{{cookiecutter.java_package_path}}/e2e/integration/ServerE2ETest.java +0 -0
  206. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_java/src/test/java/{{cookiecutter.java_package_path}}/e2e/load_test/.results/.placeholder +0 -0
  207. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_java/src/test/java/{{cookiecutter.java_package_path}}/e2e/load_test/LoadTest.java +0 -0
  208. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_java/src/test/java/{{cookiecutter.java_package_path}}/e2e/load_test/README.md +0 -0
  209. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_java/src/test/java/{{cookiecutter.java_package_path}}/unit/AgentTest.java +0 -0
  210. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_java/{{cookiecutter.agent_guidance_filename}} +0 -0
  211. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_python/.template/templateconfig.yaml +0 -0
  212. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_python/app/__init__.py +0 -0
  213. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_python/app/app_utils/a2a.py +0 -0
  214. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_python/app/app_utils/reasoning_engine_adapter.py +0 -0
  215. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_python/app/app_utils/services.py +0 -0
  216. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_python/app/fast_api_app.py +0 -0
  217. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_python/tests/eval/datasets/README.md +0 -0
  218. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_python/tests/eval/datasets/basic-dataset.json +0 -0
  219. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_python/tests/eval/response_quality.py +0 -0
  220. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_python/tests/integration/test_agent.py +0 -0
  221. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_ts/.cloudbuild/pr_checks.yaml +0 -0
  222. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_ts/.github/workflows/pr_checks.yaml +0 -0
  223. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_ts/.template/templateconfig.yaml +0 -0
  224. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_ts/README.md +0 -0
  225. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_ts/app/agent.ts +0 -0
  226. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_ts/tests/integration/agent.test.ts +0 -0
  227. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_ts/tests/load_test/.results/.placeholder +0 -0
  228. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_ts/tests/load_test/README.md +0 -0
  229. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/adk_ts/tests/unit/dummy.test.ts +0 -0
  230. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/empty_go/.template/templateconfig.yaml +0 -0
  231. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/empty_java/.template/templateconfig.yaml +0 -0
  232. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/empty_py/.template/templateconfig.yaml +0 -0
  233. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/agents/empty_ts/.template/templateconfig.yaml +0 -0
  234. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/apis.tf +0 -0
  235. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/build_triggers.tf +0 -0
  236. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/github.tf +0 -0
  237. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/locals.tf +0 -0
  238. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/outputs.tf +0 -0
  239. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/storage.tf +0 -0
  240. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/vars/env.tfvars +0 -0
  241. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/cicd/wif.tf +0 -0
  242. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/apis.tf +0 -0
  243. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/outputs.tf +0 -0
  244. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/storage.tf +0 -0
  245. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/_shared/deployment/terraform/single-project/vars/env.tfvars +0 -0
  246. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/.cloudbuild/deploy-to-prod.yaml +0 -0
  247. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/.cloudbuild/pr_checks.yaml +0 -0
  248. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/.cloudbuild/staging.yaml +0 -0
  249. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/.env +0 -0
  250. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/.env.example +0 -0
  251. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/.gcloudignore +0 -0
  252. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/.github/workflows/deploy-to-prod.yaml +0 -0
  253. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/.github/workflows/pr_checks.yaml +0 -0
  254. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/.github/workflows/staging.yaml +0 -0
  255. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/.gitignore +0 -0
  256. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/.golangci.yml +0 -0
  257. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/deployment/terraform/cicd/telemetry.tf +0 -0
  258. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/deployment/terraform/cicd/telemetry_outputs.tf +0 -0
  259. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/deployment/terraform/shared/completions.sql +0 -0
  260. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/deployment/terraform/shared/genai_logs_schema.json +0 -0
  261. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/deployment/terraform/single-project/telemetry.tf +0 -0
  262. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/go/deployment/terraform/single-project/telemetry_outputs.tf +0 -0
  263. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/java/.cloudbuild/deploy-to-prod.yaml +0 -0
  264. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/java/.cloudbuild/staging.yaml +0 -0
  265. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/java/.env.example +0 -0
  266. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/java/.gcloudignore +0 -0
  267. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/java/.github/workflows/deploy-to-prod.yaml +0 -0
  268. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/java/.github/workflows/staging.yaml +0 -0
  269. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/java/.gitignore +0 -0
  270. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/java/src/main/resources/application.properties +0 -0
  271. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/.cloudbuild/deploy-to-prod.yaml +0 -0
  272. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/.cloudbuild/pr_checks.yaml +0 -0
  273. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/.cloudbuild/staging.yaml +0 -0
  274. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/.env +0 -0
  275. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/.env.example +0 -0
  276. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/.gcloudignore +0 -0
  277. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/.github/workflows/deploy-to-prod.yaml +0 -0
  278. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/.github/workflows/pr_checks.yaml +0 -0
  279. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/.github/workflows/staging.yaml +0 -0
  280. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/.gitignore +0 -0
  281. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/Dockerfile +0 -0
  282. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/README.md +0 -0
  283. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/cicd/telemetry.tf +0 -0
  284. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/cicd/telemetry_outputs.tf +0 -0
  285. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/shared/completions.sql +0 -0
  286. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/shared/genai_logs_schema.json +0 -0
  287. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/single-project/telemetry.tf +0 -0
  288. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/deployment/terraform/single-project/telemetry_outputs.tf +0 -0
  289. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/pyproject.toml +0 -0
  290. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/tests/unit/test_dummy.py +0 -0
  291. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/python/{{cookiecutter.agent_guidance_filename}} +0 -0
  292. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/typescript/.cloudbuild/deploy-to-prod.yaml +0 -0
  293. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/typescript/.cloudbuild/staging.yaml +0 -0
  294. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/typescript/.dockerignore +0 -0
  295. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/typescript/.env.example +0 -0
  296. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/typescript/.gcloudignore +0 -0
  297. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/typescript/.github/workflows/deploy-to-prod.yaml +0 -0
  298. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/typescript/.github/workflows/staging.yaml +0 -0
  299. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/typescript/.gitignore +0 -0
  300. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/typescript/eslint.config.mjs +0 -0
  301. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/base_templates/typescript/vitest.config.ts +0 -0
  302. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/cmd_scaffold_group.py +0 -0
  303. {google_agents_cli-1.12.0/src/google/agents/cli/setup → google_agents_cli-1.13.0/src/google/agents/cli/scaffold/commands}/__init__.py +0 -0
  304. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment/terraform/cicd/service_outputs.tf +0 -0
  305. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment/terraform/shared/dummy_source.b64 +0 -0
  306. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment/terraform/single-project/service_outputs.tf +0 -0
  307. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/_shared/deployment_metadata.json +0 -0
  308. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/python/tests/load_test/.results/.placeholder +0 -0
  309. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/python/tests/load_test/README.md +0 -0
  310. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/agent_runtime/python/tests/load_test/load_test.py +0 -0
  311. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/go/deployment/terraform/cicd/service_outputs.tf +0 -0
  312. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/go/deployment/terraform/single-project/service_outputs.tf +0 -0
  313. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/java/deployment/terraform/cicd/service_outputs.tf +0 -0
  314. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/java/deployment/terraform/single-project/service_outputs.tf +0 -0
  315. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/deployment/terraform/cicd/service_outputs.tf +0 -0
  316. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/deployment/terraform/single-project/service_outputs.tf +0 -0
  317. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/tests/load_test/.results/.placeholder +0 -0
  318. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/tests/load_test/README.md +0 -0
  319. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/python/tests/load_test/load_test.py +0 -0
  320. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/typescript/deployment/terraform/cicd/service_outputs.tf +0 -0
  321. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/cloud_run/typescript/deployment/terraform/single-project/service_outputs.tf +0 -0
  322. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/gke/_shared/deployment/terraform/cicd/service.tf +0 -0
  323. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/gke/_shared/deployment/terraform/cicd/service_outputs.tf +0 -0
  324. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/gke/_shared/deployment/terraform/single-project/service.tf +0 -0
  325. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/gke/_shared/deployment/terraform/single-project/service_outputs.tf +0 -0
  326. {google_agents_cli-1.12.0/src/google/agents/cli/scaffold/deployment_targets/cloud_run → google_agents_cli-1.13.0/src/google/agents/cli/scaffold/deployment_targets/gke}/python/tests/integration/test_server_e2e.py +0 -0
  327. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/gke/python/tests/load_test/.results/.placeholder +0 -0
  328. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/gke/python/tests/load_test/README.md +0 -0
  329. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/gke/python/tests/load_test/load_test.py +0 -0
  330. {google_agents_cli-1.12.0/src/google/agents/cli/scaffold/deployment_targets/gke → google_agents_cli-1.13.0/src/google/agents/cli/scaffold/deployment_targets/none}/python/tests/integration/test_server_e2e.py +0 -0
  331. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/none/python/tests/load_test/.results/.placeholder +0 -0
  332. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/none/python/tests/load_test/README.md +0 -0
  333. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/deployment_targets/none/python/tests/load_test/load_test.py +0 -0
  334. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/resources/locks/uv-adk_python-agent_runtime.lock +0 -0
  335. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/resources/locks/uv-adk_python-cloud_run.lock +0 -0
  336. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/resources/locks/uv-adk_python-gke.lock +0 -0
  337. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/__init__.py +0 -0
  338. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/adk_shortcut.py +0 -0
  339. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/backup.py +0 -0
  340. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/command.py +0 -0
  341. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/fs.py +0 -0
  342. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/gcp.py +0 -0
  343. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/generate_locks.py +0 -0
  344. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/lock_utils.py +0 -0
  345. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/logging.py +0 -0
  346. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/merge.py +0 -0
  347. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/remote_template.py +0 -0
  348. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/scaffold/utils/version.py +0 -0
  349. {google_agents_cli-1.12.0/src/google/agents/cli/skills → google_agents_cli-1.13.0/src/google/agents/cli/setup}/__init__.py +0 -0
  350. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/setup/_antigravity.py +0 -0
  351. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/setup/cmd_auth.py +0 -0
  352. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/setup/cmd_update.py +0 -0
  353. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/_bundle.py +0 -0
  354. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/README.md +0 -0
  355. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-adk-code/references/adk-go-workflows.md +0 -0
  356. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-adk-code/references/adk-go.md +0 -0
  357. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-adk-code/references/adk-python-live.md +0 -0
  358. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-adk-code/references/adk-python-workflows.md +0 -0
  359. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-adk-code/references/adk-python.md +0 -0
  360. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/batch-inference.md +0 -0
  361. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/cicd-pipeline.md +0 -0
  362. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/cloud-run.md +0 -0
  363. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/cmek.md +0 -0
  364. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/gke.md +0 -0
  365. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/terraform-patterns.md +0 -0
  366. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-deploy/references/testing-deployed-agents.md +0 -0
  367. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/references/advanced-commands.md +0 -0
  368. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/references/builtin-tools-eval.md +0 -0
  369. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/references/dataset_schema.md +0 -0
  370. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/references/live-eval.md +0 -0
  371. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/references/multimodal-eval.md +0 -0
  372. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-eval/references/user-simulation.md +0 -0
  373. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-observability/references/adk-docs.md +0 -0
  374. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-observability/references/bigquery-agent-analytics.md +0 -0
  375. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-observability/references/cloud-trace-and-logging.md +0 -0
  376. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-observability/references/feedback-mechanism.md +0 -0
  377. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-workflow/references/brainstorming.md +0 -0
  378. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-workflow/references/commands.md +0 -0
  379. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-workflow/references/internals.md +0 -0
  380. {google_agents_cli-1.12.0 → google_agents_cli-1.13.0}/src/google/agents/cli/skills/data/google-agents-cli-workflow/references/spec-template.md +0 -0
  381. {google_agents_cli-1.12.0 → google_agents_cli-1.13.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.12.0
3
+ Version: 1.13.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
@@ -12,27 +12,30 @@ License-File: LICENSE
12
12
  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
- Requires-Dist: jinja2>=3.1.0
15
+ Requires-Dist: jinja2>=3.1.0,<4
16
16
  Requires-Dist: google-cloud-aiplatform[evaluation]>=2.2.0,<3
17
- Requires-Dist: google-cloud-resource-manager>=1.12.0
18
- Requires-Dist: google-auth[pyopenssl]>=2.47.0
17
+ Requires-Dist: google-cloud-resource-manager>=1.12.0,<2
18
+ Requires-Dist: google-auth[pyopenssl]>=2.47.0,<3
19
19
  Requires-Dist: pyopenssl<26.2
20
- Requires-Dist: rich>=13.7.0
21
- Requires-Dist: backoff>=2.2.1
22
- Requires-Dist: requests>=2.31.0
23
- Requires-Dist: websockets>=13.0
20
+ Requires-Dist: rich>=13.7.0,<16
21
+ Requires-Dist: backoff>=2.2.1,<3
22
+ Requires-Dist: requests>=2.31.0,<3
23
+ Requires-Dist: websockets>=13.0,<17
24
24
  Requires-Dist: a2a-sdk>=1.0,<2
25
25
  Requires-Dist: protobuf>=5.29.5,<7
26
26
  Requires-Dist: tomlkit>=0.13.0,<1
27
- Requires-Dist: psutil>=5.9.0
28
- Requires-Dist: python-dotenv>=1.0.0
29
- Requires-Dist: pathspec>=0.12.1
30
- Requires-Dist: filelock>=3.12,<4
31
- Requires-Dist: packaging>=24
27
+ Requires-Dist: psutil>=5.9.0,<8
28
+ Requires-Dist: python-dotenv>=1.0.0,<2
29
+ Requires-Dist: pathspec>=0.12.1,<2
30
+ Requires-Dist: filelock>=4.2.1,<5
31
+ Requires-Dist: packaging>=24,<27
32
32
  Requires-Dist: pydantic>=2.10,<3
33
- Requires-Dist: ruff ; extra == "lint"
34
- Requires-Dist: ty ; extra == "lint"
35
- Requires-Dist: codespell ; extra == "lint"
33
+ Requires-Dist: starlette>=1.0,<2
34
+ Requires-Dist: uvicorn>=0.34,<1
35
+ Requires-Dist: httpx>=0.28,<1
36
+ Requires-Dist: ruff>=0.15,<0.16 ; extra == "lint"
37
+ Requires-Dist: ty>=0.0.38,<0.1 ; extra == "lint"
38
+ Requires-Dist: codespell>=2.4,<3 ; extra == "lint"
36
39
  Project-URL: documentation, https://google.github.io/agents-cli/
37
40
  Project-URL: homepage, https://github.com/google/agents-cli
38
41
  Project-URL: issues, https://github.com/google/agents-cli/issues
@@ -193,7 +196,7 @@ Yes. `agents-cli scaffold enhance` adds deployment and CI/CD to existing project
193
196
  Yes. The CLI works standalone — you can run `agents-cli scaffold`, `eval`, `deploy`, and every other command directly from your terminal. The skills just make it easier for coding agents to do it for you.
194
197
 
195
198
  **How can I extend `agents-cli` with other skills?**<br>
196
- `agents-cli` skills cover the agent-building lifecycle (scaffold, ADK code patterns, evals, deploy, publish, observability). For adjacent concerns, you could install another skill suite alongside. For example, [agent-skills](https://github.com/addyosmani/agent-skills) covers general software-engineering workflows (ideation, spec gates, planning, code review), and [google/skills](https://github.com/google/skills) covers Google Cloud foundations (BigQuery, Cloud Run, Firebase, GKE).
199
+ `agents-cli` skills cover the agent-building lifecycle (scaffold, ADK code patterns, evals, deploy, publish, observability). For adjacent concerns, you could install another skill suite alongside. For example, [agent-skills](https://github.com/addyosmani/agent-skills) covers general software-engineering workflows (ideation, spec gates, planning, code review), and [google/skills](https://github.com/google/skills) covers Google Cloud foundations (BigQuery, Cloud Run, Firebase, GKE). [genai-factory](https://github.com/GoogleCloudPlatform/genai-factory) has Terraform blueprints for enterprise GenAI infrastructure and ships as an extension: `agents-cli extension add GoogleCloudPlatform/genai-factory`.
197
200
 
198
201
  ## Feedback
199
202
 
@@ -219,7 +222,9 @@ it in Cloud Logging. It records only the metadata such as command name
219
222
  (e.g. `deploy`, `scaffold.create`), exit code, error class, duration (measured
220
223
  from command dispatch to exit, so it excludes CLI startup), CLI/Python versions,
221
224
  and OS — never file contents, arguments, or other input. Commands added by
222
- extensions are recorded without their names.
225
+ extensions are recorded without their names. A command an extension serves is
226
+ marked as such, and the extension is named only if it was installed from a
227
+ repository in the `google` GitHub organization.
223
228
 
224
229
  The request that writes the entry also carries usage metadata in its
225
230
  `User-Agent` and `X-Goog-Api-Client` headers, which Google receives for
@@ -152,7 +152,7 @@ Yes. `agents-cli scaffold enhance` adds deployment and CI/CD to existing project
152
152
  Yes. The CLI works standalone — you can run `agents-cli scaffold`, `eval`, `deploy`, and every other command directly from your terminal. The skills just make it easier for coding agents to do it for you.
153
153
 
154
154
  **How can I extend `agents-cli` with other skills?**<br>
155
- `agents-cli` skills cover the agent-building lifecycle (scaffold, ADK code patterns, evals, deploy, publish, observability). For adjacent concerns, you could install another skill suite alongside. For example, [agent-skills](https://github.com/addyosmani/agent-skills) covers general software-engineering workflows (ideation, spec gates, planning, code review), and [google/skills](https://github.com/google/skills) covers Google Cloud foundations (BigQuery, Cloud Run, Firebase, GKE).
155
+ `agents-cli` skills cover the agent-building lifecycle (scaffold, ADK code patterns, evals, deploy, publish, observability). For adjacent concerns, you could install another skill suite alongside. For example, [agent-skills](https://github.com/addyosmani/agent-skills) covers general software-engineering workflows (ideation, spec gates, planning, code review), and [google/skills](https://github.com/google/skills) covers Google Cloud foundations (BigQuery, Cloud Run, Firebase, GKE). [genai-factory](https://github.com/GoogleCloudPlatform/genai-factory) has Terraform blueprints for enterprise GenAI infrastructure and ships as an extension: `agents-cli extension add GoogleCloudPlatform/genai-factory`.
156
156
 
157
157
  ## Feedback
158
158
 
@@ -178,7 +178,9 @@ it in Cloud Logging. It records only the metadata such as command name
178
178
  (e.g. `deploy`, `scaffold.create`), exit code, error class, duration (measured
179
179
  from command dispatch to exit, so it excludes CLI startup), CLI/Python versions,
180
180
  and OS — never file contents, arguments, or other input. Commands added by
181
- extensions are recorded without their names.
181
+ extensions are recorded without their names. A command an extension serves is
182
+ marked as such, and the extension is named only if it was installed from a
183
+ repository in the `google` GitHub organization.
182
184
 
183
185
  The request that writes the entry also carries usage metadata in its
184
186
  `User-Agent` and `X-Goog-Api-Client` headers, which Google receives for
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "google-agents-cli"
3
- version = "1.12.0"
3
+ version = "1.13.0"
4
4
  description = "Agents CLI — Agent Development Lifecycle toolchain for ADK"
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"
@@ -15,29 +15,33 @@ dependencies = [
15
15
  "click>=8.1.8,<9",
16
16
  "PyYAML>=6.0.2,<7",
17
17
  "cookiecutter>=2.6.0,<3",
18
- "jinja2>=3.1.0",
18
+ "jinja2>=3.1.0,<4",
19
19
  "google-cloud-aiplatform[evaluation]>=2.2.0,<3",
20
- "google-cloud-resource-manager>=1.12.0",
21
- "google-auth[pyopenssl]>=2.47.0",
20
+ "google-cloud-resource-manager>=1.12.0,<2",
21
+ "google-auth[pyopenssl]>=2.47.0,<3",
22
22
  # pyOpenSSL 26.2 forbids mutating a used SSL Context; urllib3 does it per
23
23
  # connection under google-auth's mTLS shim (urllib3#5107). Lift when fixed.
24
24
  "pyopenssl<26.2",
25
- "rich>=13.7.0",
26
- "backoff>=2.2.1",
27
- "requests>=2.31.0",
28
- "websockets>=13.0",
25
+ "rich>=13.7.0,<16",
26
+ "backoff>=2.2.1,<3",
27
+ "requests>=2.31.0,<3",
28
+ "websockets>=13.0,<17",
29
29
  "a2a-sdk>=1.0,<2",
30
30
  # Pin the a2a-sdk (>=5.29.5) .. aiplatform (<7) window so pip won't chase
31
31
  # protobuf 7 and backtrack into old google-api-core (protobuf<5).
32
32
  "protobuf>=5.29.5,<7",
33
33
  "tomlkit>=0.13.0,<1",
34
- "psutil>=5.9.0",
35
- "python-dotenv>=1.0.0",
36
- "pathspec>=0.12.1",
37
- "filelock>=3.12,<4",
38
- "packaging>=24",
34
+ "psutil>=5.9.0,<8",
35
+ "python-dotenv>=1.0.0,<2",
36
+ "pathspec>=0.12.1,<2",
37
+ "filelock>=4.2.1,<5",
38
+ "packaging>=24,<27",
39
39
  # 2.10+: earlier versions emit `enum` beside `const`, which the schema sync test sees.
40
40
  "pydantic>=2.10,<3",
41
+ # Agent Command Center server (`agents-cli command-center`).
42
+ "starlette>=1.0,<2",
43
+ "uvicorn>=0.34,<1",
44
+ "httpx>=0.28,<1",
41
45
  ]
42
46
 
43
47
  [project.urls]
@@ -68,9 +72,9 @@ include = [
68
72
 
69
73
  [project.optional-dependencies]
70
74
  lint = [
71
- "ruff",
72
- "ty",
73
- "codespell",
75
+ "ruff>=0.15,<0.16",
76
+ "ty>=0.0.38,<0.1",
77
+ "codespell>=2.4,<3",
74
78
  ]
75
79
 
76
80
  [tool.pytest.ini_options]
@@ -84,12 +88,12 @@ log_cli_date_format = "%Y-%m-%d %H:%M:%S"
84
88
 
85
89
  [dependency-groups]
86
90
  dev = [
87
- "pytest>=9.0.2",
88
- "pytest-mock>=3.15.1",
89
- "pytest-rerunfailures>=15.0",
90
- "pytest-xdist>=3.6.1",
91
- "pytest-cov>=4.1.0",
92
- "jsonschema>=4.20",
91
+ "pytest>=9.0.2,<10",
92
+ "pytest-mock>=3.15.1,<4",
93
+ "pytest-rerunfailures>=15.0,<17",
94
+ "pytest-xdist>=3.6.1,<4",
95
+ "pytest-cov>=4.1.0,<8",
96
+ "jsonschema>=4.20,<5",
93
97
  ]
94
98
 
95
99
  [tool.ruff]
@@ -139,9 +139,10 @@ def run_sse(
139
139
  if "charset" not in resp.headers.get("Content-Type", "").lower():
140
140
  resp.encoding = "utf-8"
141
141
  for line in resp.iter_lines(decode_unicode=True):
142
- if not isinstance(line, str) or not line.startswith("data: "):
142
+ # The space after "data:" is optional; ADK Java's server omits it.
143
+ if not isinstance(line, str) or not line.startswith("data:"):
143
144
  continue
144
- data_str = line[len("data: ") :]
145
+ data_str = line[len("data:") :]
145
146
  try:
146
147
  yield json.loads(data_str)
147
148
  except json.JSONDecodeError:
@@ -18,6 +18,7 @@ from __future__ import annotations
18
18
 
19
19
  import importlib
20
20
  import inspect
21
+ from dataclasses import dataclass
21
22
  from typing import Any
22
23
 
23
24
  import click
@@ -33,10 +34,20 @@ COMMAND_PATH_META_KEY = "agents_cli.command_path"
33
34
  # view (``--help``, or a group given no subcommand) can be told apart from a
34
35
  # run. Consumed by ``_telemetry``.
35
36
  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"
37
+ # Separates a recorded path segment from the extension that serves it:
38
+ # ``generate~<name>`` for a first-party extension's override, ``generate~ext``
39
+ # for any other. A command an extension adds is recorded as ``~<extension>``,
40
+ # never by name, since the extension author chose that name.
41
+ EXTENSION_PATH_SEPARATOR = "~"
42
+ _UNNAMED_EXTENSION = "ext"
43
+
44
+
45
+ @dataclass(frozen=True)
46
+ class _Override:
47
+ command: click.Command
48
+ extension_name: str
49
+ # Only a first-party extension is recorded by name.
50
+ first_party: bool
40
51
 
41
52
 
42
53
  class LazyGroup(click.Group):
@@ -64,7 +75,7 @@ class LazyGroup(click.Group):
64
75
  self._lazy_commands: dict[str, tuple[str, str]] = {}
65
76
  # name -> experiment label
66
77
  self._experiment_gates: dict[str, str] = {}
67
- self._overrides: dict[str, click.Command] = {}
78
+ self._overrides: dict[str, _Override] = {}
68
79
  self._hidden: set[str] = set()
69
80
 
70
81
  def add_lazy_command(
@@ -95,6 +106,12 @@ class LazyGroup(click.Group):
95
106
  if hidden:
96
107
  self._hidden.add(name)
97
108
 
109
+ def add_override(
110
+ self, name: str, cmd: click.Command, extension_name: str, first_party: bool
111
+ ) -> None:
112
+ """Serve `name` with `cmd` from extension `extension_name`."""
113
+ self._overrides[name] = _Override(cmd, extension_name, first_party)
114
+
98
115
  @property
99
116
  def hidden_commands(self) -> frozenset[str]:
100
117
  """Names registered with `hidden=True`: invocable, but not listed."""
@@ -121,7 +138,7 @@ class LazyGroup(click.Group):
121
138
  if not self._is_visible(cmd_name):
122
139
  return None
123
140
  if cmd_name in self._overrides:
124
- return self._overrides[cmd_name]
141
+ return self._overrides[cmd_name].command
125
142
  if cmd_name in self._lazy_commands and cmd_name not in self.commands:
126
143
  import_path, _ = self._lazy_commands[cmd_name]
127
144
  module_path, attr = import_path.split(":")
@@ -151,17 +168,23 @@ class LazyGroup(click.Group):
151
168
  Overrides only apply to built-ins and added commands never share a
152
169
  built-in's name, so an extension-served built-in name is an override.
153
170
  """
154
- if cmd_name not in self._overrides:
171
+ override = self._overrides.get(cmd_name)
172
+ if override is None:
155
173
  return cmd_name
156
- if cmd_name in self._lazy_commands or cmd_name in self.commands:
157
- return f"{cmd_name}{EXTENSION_PATH_MARKER}"
158
- return EXTENSION_PATH_MARKER
174
+ is_builtin = cmd_name in self._lazy_commands or cmd_name in self.commands
175
+ recorded_name = cmd_name if is_builtin else ""
176
+ extension = (
177
+ override.extension_name if override.first_party else _UNNAMED_EXTENSION
178
+ )
179
+ return f"{recorded_name}{EXTENSION_PATH_SEPARATOR}{extension}"
159
180
 
160
181
  def format_commands(self, ctx: click.Context, formatter: click.HelpFormatter) -> None:
161
182
  rows: list[tuple[str, str]] = []
162
183
  for name in self.list_commands(ctx):
163
184
  if name in self._overrides:
164
- rows.append((name, self._overrides[name].get_short_help_str(limit=1000)))
185
+ rows.append(
186
+ (name, self._overrides[name].command.get_short_help_str(limit=1000))
187
+ )
165
188
  continue
166
189
  if name in self.commands:
167
190
  # Don't truncate — Click's default of 45 would cut our docstring summaries.
@@ -32,6 +32,8 @@ _REGISTRY: dict[str, Experiment] = {
32
32
  "adk_java": Experiment("adk_java", bool, False),
33
33
  "adk_kotlin": Experiment("adk_kotlin", bool, False),
34
34
  "adk_typescript": Experiment("adk_typescript", bool, False),
35
+ # Hides Agent Command Center (`command-center`, `acc`, `cc`) while in progress.
36
+ "command_center": Experiment("command_center", bool, False),
35
37
  }
36
38
 
37
39
 
@@ -0,0 +1,290 @@
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
+ """Let gcloud subprocesses fall back to Application Default Credentials.
16
+
17
+ gcloud reads only its own credential store, never ADC, so in an environment
18
+ that has ADC but no `gcloud auth login` (CI with a service account key, a
19
+ container with ADC mounted) every gcloud command fails with "You do not
20
+ currently have an active account selected". When gcloud has no account of its
21
+ own, agents-cli hands it an ADC access token instead.
22
+ """
23
+
24
+ import json
25
+ import logging
26
+ import math
27
+ import os
28
+ import subprocess
29
+ import time
30
+ from collections.abc import Mapping, Sequence
31
+ from dataclasses import dataclass
32
+
33
+ from google.agents.cli._runner import run_resolved
34
+ from google.agents.cli._tools import ToolNotExecutableError, ToolNotFoundError
35
+
36
+ _ACCESS_TOKEN_ENV = "CLOUDSDK_AUTH_ACCESS_TOKEN"
37
+ # Any of these means the user already chose how gcloud authenticates.
38
+ _GCLOUD_AUTH_OVERRIDE_ENVS = (
39
+ _ACCESS_TOKEN_ENV,
40
+ "CLOUDSDK_AUTH_ACCESS_TOKEN_FILE",
41
+ "CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE",
42
+ )
43
+ # gcloud command groups that never send credentials, so they skip the account check.
44
+ _CREDENTIAL_FREE_GROUPS = frozenset(
45
+ {"components", "config", "help", "info", "topic", "version"}
46
+ )
47
+ # gcloud's config folder defaults to one under these (~/.config/gcloud, or
48
+ # %APPDATA%\gcloud on Windows).
49
+ _GCLOUD_CONFIG_DIR_ENVS = frozenset({"HOME", "APPDATA"})
50
+ # A release track goes before the command group, as in `gcloud beta auth login`.
51
+ _RELEASE_TRACKS = frozenset({"alpha", "beta"})
52
+ # `gcloud auth` subcommands that only read credentials; any other one may change
53
+ # the account gcloud or ADC signs in as.
54
+ _READ_ONLY_AUTH_COMMANDS = frozenset(
55
+ {"list", "print-access-token", "print-identity-token"}
56
+ )
57
+ # A missing or blocked gcloud, which matters when adc_token_for_gcloud() is
58
+ # called directly rather than from a gcloud call that already found gcloud.
59
+ _GCLOUD_RUN_ERRORS = (
60
+ ToolNotFoundError,
61
+ ToolNotExecutableError,
62
+ OSError,
63
+ subprocess.TimeoutExpired,
64
+ )
65
+ # gcloud doesn't say when a token it prints expires, so reuse it only briefly.
66
+ _GCLOUD_TOKEN_TTL_SECONDS = 300
67
+
68
+
69
+ @dataclass(frozen=True)
70
+ class _CachedToken:
71
+ token: str | None
72
+ expires_at: float # A time.monotonic() deadline.
73
+
74
+
75
+ _cached_token: _CachedToken | None = None
76
+ # Whether gcloud has credentials of its own, per gcloud environment (see
77
+ # _gcloud_env_key). Cleared when a `gcloud auth` command may change accounts.
78
+ _own_credentials: dict[tuple[tuple[str, str], ...], bool] = {}
79
+
80
+
81
+ def fallback_token_env(
82
+ gcloud_args: Sequence[str], env: Mapping[str, str] | None
83
+ ) -> dict[str, str] | None:
84
+ """Return the environment for a gcloud subprocess with an ADC token added.
85
+
86
+ Returns None, meaning "run gcloud as is", when the command is a
87
+ `gcloud auth` command or doesn't use credentials, or when
88
+ `adc_token_for_gcloud` returns None.
89
+
90
+ Args:
91
+ gcloud_args: The gcloud arguments, without the leading "gcloud".
92
+ env: The environment the caller passes to the subprocess, or None for
93
+ the current process environment.
94
+ """
95
+ command = _command_path(gcloud_args)
96
+ group = command[0] if command else None
97
+ # `gcloud auth` commands manage gcloud's own credentials; a token would
98
+ # override them (e.g. print-identity-token fails with one).
99
+ if group == "auth":
100
+ if not _READ_ONLY_AUTH_COMMANDS.intersection(command[1:]):
101
+ # The account may change, so check it again on the next call.
102
+ _clear_caches()
103
+ return None
104
+ if group is None or group in _CREDENTIAL_FREE_GROUPS:
105
+ return None
106
+ base_env = dict(os.environ if env is None else env)
107
+ token = adc_token_for_gcloud(base_env)
108
+ if token is None:
109
+ return None
110
+ return {**base_env, _ACCESS_TOKEN_ENV: token}
111
+
112
+
113
+ def adc_token_for_gcloud(env: Mapping[str, str] | None = None) -> str | None:
114
+ """Return the ADC token that gcloud commands from agents-cli run with.
115
+
116
+ Returns None when gcloud uses its own credentials: an active account, or
117
+ an access token or credential file set in the environment or in gcloud's
118
+ config. Also returns None when ADC is unavailable.
119
+
120
+ Args:
121
+ env: The environment gcloud runs with, or None for the current
122
+ process environment.
123
+ """
124
+ base_env = os.environ if env is None else env
125
+ if any(base_env.get(name) for name in _GCLOUD_AUTH_OVERRIDE_ENVS):
126
+ return None
127
+ if _gcloud_has_own_credentials(base_env):
128
+ return None
129
+ token = _get_adc_token()
130
+ if token is not None:
131
+ logging.debug("gcloud has no credentials of its own; passing it the ADC token.")
132
+ return token
133
+
134
+
135
+ def _command_path(gcloud_args: Sequence[str]) -> list[str]:
136
+ """The command group and subcommands, without flags or a release track.
137
+
138
+ Global flags before the group must use the `--flag=value` form, or their
139
+ value would be taken for the group.
140
+ """
141
+ command = [arg for arg in gcloud_args if not arg.startswith("-")]
142
+ if command and command[0] in _RELEASE_TRACKS:
143
+ return command[1:]
144
+ return command
145
+
146
+
147
+ def _clear_caches() -> None:
148
+ # Imported here: auth imports _runner, which imports this module lazily.
149
+ from google.agents.cli.auth import reset_adc_credentials
150
+
151
+ global _cached_token
152
+ _cached_token = None
153
+ _own_credentials.clear()
154
+ reset_adc_credentials()
155
+
156
+
157
+ def _gcloud_has_own_credentials(env: Mapping[str, str]) -> bool:
158
+ # The checks run with the gcloud call's own environment: a CLOUDSDK_CONFIG
159
+ # or CLOUDSDK_ACTIVE_CONFIG_NAME there selects other accounts and config.
160
+ key = _gcloud_env_key(env)
161
+ if key not in _own_credentials:
162
+ check_env = dict(env)
163
+ _own_credentials[key] = _gcloud_has_active_account(
164
+ check_env
165
+ ) or _gcloud_auth_configured(check_env)
166
+ return _own_credentials[key]
167
+
168
+
169
+ def _gcloud_env_key(env: Mapping[str, str]) -> tuple[tuple[str, str], ...]:
170
+ """The variables that change which accounts and config gcloud reads."""
171
+ return tuple(
172
+ sorted(
173
+ (name, value)
174
+ for name, value in env.items()
175
+ if name.startswith("CLOUDSDK_") or name in _GCLOUD_CONFIG_DIR_ENVS
176
+ )
177
+ )
178
+
179
+
180
+ def _gcloud_has_active_account(env: dict[str, str]) -> bool:
181
+ try:
182
+ result = run_resolved(
183
+ [
184
+ "gcloud",
185
+ "auth",
186
+ "list",
187
+ "--filter=status:ACTIVE",
188
+ "--format=value(account)",
189
+ ],
190
+ env=env,
191
+ capture_output=True,
192
+ text=True,
193
+ encoding="utf-8",
194
+ errors="replace",
195
+ timeout=30,
196
+ )
197
+ except _GCLOUD_RUN_ERRORS as e:
198
+ logging.debug("Could not list gcloud accounts: %s", e)
199
+ return True
200
+ # If gcloud can't tell, leave it alone rather than override an account it may have.
201
+ return result.returncode != 0 or bool(result.stdout.strip())
202
+
203
+
204
+ def _gcloud_auth_configured(env: dict[str, str]) -> bool:
205
+ """Whether gcloud's config sets an access token file or credential file.
206
+
207
+ `gcloud auth list` shows no account for these, and the ADC token would
208
+ take precedence over them.
209
+ """
210
+ try:
211
+ result = run_resolved(
212
+ ["gcloud", "config", "list", "--format=json(auth)"],
213
+ env=env,
214
+ capture_output=True,
215
+ text=True,
216
+ encoding="utf-8",
217
+ errors="replace",
218
+ timeout=30,
219
+ )
220
+ except _GCLOUD_RUN_ERRORS as e:
221
+ logging.debug("Could not read the gcloud config: %s", e)
222
+ return True
223
+ if result.returncode != 0:
224
+ return True
225
+ try:
226
+ # gcloud prints `{"auth": {...}}`, or `null` when no auth property is set.
227
+ auth = (json.loads(result.stdout.strip() or "null") or {}).get("auth") or {}
228
+ return bool(auth.get("access_token_file") or auth.get("credential_file_override"))
229
+ except (json.JSONDecodeError, AttributeError) as e:
230
+ logging.debug("Could not parse the gcloud auth config: %s", e)
231
+ return True
232
+
233
+
234
+ def _get_adc_token() -> str | None:
235
+ global _cached_token
236
+ if _cached_token is not None and time.monotonic() < _cached_token.expires_at:
237
+ return _cached_token.token
238
+
239
+ # Imported here: auth imports _runner, which imports this module lazily.
240
+ import google.auth.exceptions
241
+ from google.auth.transport.requests import Request as GoogleAuthRequest
242
+
243
+ from google.agents.cli.auth import get_adc_credentials
244
+
245
+ try:
246
+ credentials, _ = get_adc_credentials()
247
+ # The cached credentials refresh only when expired, so a long command
248
+ # doesn't pay for a token request on every gcloud call.
249
+ if not credentials.valid:
250
+ credentials.refresh(GoogleAuthRequest())
251
+ return credentials.token
252
+ except (google.auth.exceptions.DefaultCredentialsError, OSError) as e:
253
+ # gcloud reads the same ADC file, so it can't find a token either. An
254
+ # unreadable GOOGLE_APPLICATION_CREDENTIALS file raises OSError.
255
+ logging.debug("No Application Default Credentials for gcloud: %s", e)
256
+ _cached_token = _CachedToken(None, math.inf)
257
+ return None
258
+ except google.auth.exceptions.RefreshError as e:
259
+ # google-auth can't refresh some user credentials that gcloud can, e.g.
260
+ # when the organization requires reauthentication.
261
+ logging.debug("google-auth could not refresh ADC: %s", e)
262
+ except google.auth.exceptions.GoogleAuthError as e:
263
+ # Not cached: a network error may pass before the next gcloud call.
264
+ logging.debug("Could not get an ADC access token: %s", e)
265
+ return None
266
+
267
+ token = _print_adc_token_with_gcloud()
268
+ ttl = _GCLOUD_TOKEN_TTL_SECONDS if token else math.inf
269
+ _cached_token = _CachedToken(token, time.monotonic() + ttl)
270
+ return token
271
+
272
+
273
+ def _print_adc_token_with_gcloud() -> str | None:
274
+ try:
275
+ result = run_resolved(
276
+ ["gcloud", "auth", "application-default", "print-access-token", "--quiet"],
277
+ capture_output=True,
278
+ text=True,
279
+ encoding="utf-8",
280
+ errors="replace",
281
+ timeout=30,
282
+ )
283
+ except _GCLOUD_RUN_ERRORS as e:
284
+ logging.debug("Could not print the ADC access token: %s", e)
285
+ return None
286
+ if result.returncode != 0 or not result.stdout.strip():
287
+ # gcloud then fails with its own "run gcloud auth login" message.
288
+ logging.debug("No Application Default Credentials for gcloud: %s", result.stderr)
289
+ return None
290
+ return result.stdout.strip()
@@ -14,7 +14,10 @@
14
14
 
15
15
  """GCP project resolution and lookup utilities."""
16
16
 
17
+ import json
18
+ import logging
17
19
  import os
20
+ from dataclasses import dataclass
18
21
 
19
22
  import click
20
23
 
@@ -91,3 +94,44 @@ def get_gcp_project_number(project_id: str) -> str | None:
91
94
  if project_id.isdigit():
92
95
  return project_id
93
96
  return None
97
+
98
+
99
+ @dataclass(frozen=True)
100
+ class ProjectAncestor:
101
+ """A resource a project sits under, as `gcloud projects get-ancestors` lists it."""
102
+
103
+ id: str
104
+ # "project", "folder" or "organization".
105
+ type: str
106
+
107
+
108
+ def get_gcp_project_ancestors(project_id: str) -> list[ProjectAncestor] | None:
109
+ """Get the resource hierarchy a project sits in.
110
+
111
+ Args:
112
+ project_id: GCP project ID or project number.
113
+
114
+ Returns:
115
+ The ancestry (possibly empty), or None if it can't be read.
116
+ """
117
+ res = run(
118
+ ["gcloud", "projects", "get-ancestors", project_id, "--format=json"],
119
+ check=False,
120
+ capture=True,
121
+ print_cmd=False,
122
+ )
123
+ if res.returncode != 0:
124
+ logging.warning(
125
+ "Could not read the ancestry of project %s: %s",
126
+ project_id,
127
+ res.stderr.strip(),
128
+ )
129
+ return None
130
+ try:
131
+ return [
132
+ ProjectAncestor(id=entry["id"], type=entry["type"])
133
+ for entry in json.loads(res.stdout)
134
+ ]
135
+ except (json.JSONDecodeError, TypeError, KeyError) as e:
136
+ logging.warning("Could not read the ancestry of project %s: %s", project_id, e)
137
+ return None