Skip to content

Commit 3229109

Browse files
authored
refactor: Convert register-gemini-enterprise to CLI subcommand (#476)
Move register-gemini-enterprise from standalone script to proper CLI subcommand for consistency with other commands (create, enhance, setup-cicd). Changes: - Move cli/utils/register_gemini_enterprise.py -> cli/commands/register_gemini_enterprise.py - Rename main() -> register_gemini_enterprise() to match command pattern - Register command in cli/main.py - Remove standalone script entry from pyproject.toml - Update Makefile to use: uvx agent-starter-pack@{{ cookiecutter.package_version }} register-gemini-enterprise - Update documentation and test fixtures - Fix test imports Benefits: - Consistent command structure: agent-starter-pack register-gemini-enterprise - Shows in --help output for better discoverability - Single CLI entry point - Version pinning in generated Makefiles via cookiecutter variable
1 parent add11ae commit 3229109

File tree

12 files changed

+34
-25
lines changed

12 files changed

+34
-25
lines changed

agent_starter_pack/base_template/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,5 +315,5 @@ lint:
315315
# Usage: ID="projects/.../engines/xxx" make register-gemini-enterprise
316316
# Optional env vars: GEMINI_DISPLAY_NAME, GEMINI_DESCRIPTION, GEMINI_TOOL_DESCRIPTION, AGENT_ENGINE_ID
317317
register-gemini-enterprise:
318-
uvx --from agent-starter-pack agent-starter-pack-register-gemini-enterprise
318+
uvx agent-starter-pack@{{ cookiecutter.package_version }} register-gemini-enterprise
319319
{%- endif %}

agent_starter_pack/cli/utils/register_gemini_enterprise.py renamed to agent_starter_pack/cli/commands/register_gemini_enterprise.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ def register_agent(
371371
help="OAuth authorization resource name "
372372
"(e.g., projects/{project_number}/locations/global/authorizations/{auth_id}).",
373373
)
374-
def main(
374+
def register_gemini_enterprise(
375375
agent_engine_id: str | None,
376376
metadata_file: str,
377377
gemini_enterprise_app_id: str | None,
@@ -420,7 +420,3 @@ def main(
420420
)
421421
except Exception as e:
422422
raise click.ClickException(f"Error during registration: {e}") from e
423-
424-
425-
if __name__ == "__main__":
426-
main()

agent_starter_pack/cli/main.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from .commands.create import create
2222
from .commands.enhance import enhance
2323
from .commands.list import list_agents
24+
from .commands.register_gemini_enterprise import register_gemini_enterprise
2425
from .commands.setup_cicd import setup_cicd
2526
from .utils import display_update_message
2627

@@ -57,6 +58,7 @@ def cli() -> None:
5758
# Register commands
5859
cli.add_command(create)
5960
cli.add_command(enhance)
61+
cli.add_command(register_gemini_enterprise)
6062
cli.add_command(setup_cicd)
6163
cli.add_command(list_agents, name="list")
6264

agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/agent_engine_app.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
from google.adk.a2a.utils.agent_card_builder import AgentCardBuilder
3232
from google.adk.apps.app import App
3333
{%- endif %}
34-
from google.adk.artifacts import GcsArtifactService
34+
from google.adk.artifacts import GcsArtifactService, InMemoryArtifactService
3535
{%- if cookiecutter.is_adk_a2a %}
3636
from google.adk.runners import Runner
3737
from google.adk.sessions import InMemorySessionService
@@ -169,20 +169,18 @@ def clone(self) -> "AgentEngineApp":
169169
artifact_service=(
170170
GcsArtifactService(bucket_name=artifacts_bucket_name)
171171
if artifacts_bucket_name
172-
else None
172+
else InMemoryArtifactService()
173173
),
174174
session_service=InMemorySessionService(),
175175
)
176176
{%- else %}
177-
artifact_service_builder = (
178-
lambda: GcsArtifactService(bucket_name=artifacts_bucket_name)
179-
if artifacts_bucket_name
180-
else None
181-
)
182-
183177
agent_engine = AgentEngineApp(
184178
app=adk_app,
185-
artifact_service_builder=artifact_service_builder,
179+
artifact_service_builder=lambda: GcsArtifactService(
180+
bucket_name=artifacts_bucket_name
181+
)
182+
if artifacts_bucket_name
183+
else InMemoryArtifactService(),
186184
)
187185
{%- endif -%}
188186
{% else %}

docs/cli/register_gemini_enterprise.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@ Register a deployed Agent Engine to Gemini Enterprise, making it available as a
88
# Via Makefile (recommended)
99
ID="projects/.../engines/xxx" make register-gemini-enterprise
1010

11-
# Direct command
12-
uvx --from agent-starter-pack agent-starter-pack-register-gemini-enterprise [OPTIONS]
11+
# Direct command (installed)
12+
agent-starter-pack register-gemini-enterprise [OPTIONS]
13+
14+
# Or with uvx (no install required)
15+
uvx agent-starter-pack@latest register-gemini-enterprise [OPTIONS]
1316
```
1417

1518
## Quick Start
@@ -82,7 +85,7 @@ export GEMINI_ENTERPRISE_APP_ID="projects/.../engines/xxx"
8285
export GEMINI_DISPLAY_NAME="Product Support Agent"
8386
export GEMINI_DESCRIPTION="AI agent for product support"
8487

85-
agent-starter-pack-register-gemini-enterprise
88+
agent-starter-pack register-gemini-enterprise
8689
```
8790

8891
## Troubleshooting

pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ build-backend = "hatchling.build"
125125

126126
[project.scripts]
127127
agent-starter-pack = "agent_starter_pack.cli.main:cli"
128-
agent-starter-pack-register-gemini-enterprise = "agent_starter_pack.cli.utils.register_gemini_enterprise:main"
129128

130129
[tool.hatch.build.targets.wheel]
131130
packages = ["agent_starter_pack", "llm.txt"]

tests/cicd/test_gemini_enterprise_registration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ def registered_agent(self) -> Generator[tuple[str, str | None, Path], None, None
198198
# Step 4: Register with Gemini Enterprise
199199
logger.info("\n🔗 Step 4: Registering with Gemini Enterprise")
200200
register_result = run_command(
201-
["uv", "run", "agent-starter-pack-register-gemini-enterprise"],
201+
["uv", "run", "agent-starter-pack", "register-gemini-enterprise"],
202202
cwd=str(project_path),
203203
env={"ID": gemini_app_id},
204204
capture_output=True,

tests/cli/utils/test_register_gemini_enterprise.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
import pytest
1818

19-
from agent_starter_pack.cli.utils.register_gemini_enterprise import (
19+
from agent_starter_pack.cli.commands.register_gemini_enterprise import (
2020
get_discovery_engine_endpoint,
2121
)
2222

tests/fixtures/makefile_hashes.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"adk_a2a_agent_engine": "10d818e7fd1966325d1de7a9d7082574c74477a424f472478d1216686d196f5a",
2+
"adk_a2a_agent_engine": "08e69c6ecca0515b8c5ebfde58bb785ed1f69f0bf8e2c835dbe9f5ef1c3ffd8e",
33
"adk_a2a_cloud_run": "af30ef40c1c84582d9322d48864d2329b2f34efe615e6a873eb1e695cffd24c7",
4-
"adk_base_agent_engine_no_data": "c0d407869c19551e534de18b138007ef29e7dcf63a45969caff266361d06be2c",
4+
"adk_base_agent_engine_no_data": "78181ba4967c57ce14917384829da889c8673f6d8c8984567e27a4db9b9b0a5c",
55
"adk_base_cloud_run_no_data": "b63105d6122d61b85ce3d578de319133afaf1de2f37c56c56665da290e7fe375",
66
"adk_live_agent_engine": "0d759388e24fad173bd923b413eadf02af482203fa497b748aeb4f67dd954c48",
77
"adk_live_cloud_run": "b6371a9cda3cfb08baac1924b56302047e5d8f144c3992fe032dd58e36fc8c43",

tests/fixtures/makefile_snapshots/adk_a2a_agent_engine.makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,4 +124,4 @@ lint:
124124
# Usage: ID="projects/.../engines/xxx" make register-gemini-enterprise
125125
# Optional env vars: GEMINI_DISPLAY_NAME, GEMINI_DESCRIPTION, GEMINI_TOOL_DESCRIPTION, AGENT_ENGINE_ID
126126
register-gemini-enterprise:
127-
uvx --from agent-starter-pack agent-starter-pack-register-gemini-enterprise
127+
uvx agent-starter-pack@0.20.0 register-gemini-enterprise

0 commit comments

Comments
 (0)