diff --git a/tests/cli/test_managed_sidecar_source.py b/tests/cli/test_managed_sidecar_source.py index 72f86df6c..4ac1ba976 100644 --- a/tests/cli/test_managed_sidecar_source.py +++ b/tests/cli/test_managed_sidecar_source.py @@ -44,14 +44,14 @@ def _package(root: Path) -> Path: return package -def test_rewrite_uses_source_snapshot_and_pins_public_sdk() -> None: +def test_rewrite_uses_source_snapshot_and_pins_runtime_dependencies() -> None: rewritten = rewrite_managed_sidecar_requirements( "\n".join( ( "veadk-python[harness-sidecar]>=1.1.1", "agentkit_sdk_python>=0.8.0,<0.9.0", "agentkit-harness-sidecar-integration==0.1.0", - "google-adk>=1.34.0", + "google_adk==1.23.0", "", ) ) @@ -61,8 +61,10 @@ def test_rewrite_uses_source_snapshot_and_pins_public_sdk() -> None: assert "veadk-python[" not in rewritten assert "agentkit-harness-sidecar-integration" not in rewritten assert rewritten.splitlines()[1] == "agentkit-sdk-python==0.8.4" + assert rewritten.splitlines()[2] == "google-adk>=1.34.0" assert rewritten.splitlines().count("agentkit-sdk-python==0.8.4") == 1 - assert "google-adk>=1.34.0" in rewritten + assert rewritten.splitlines().count("google-adk>=1.34.0") == 1 + assert "google_adk==1.23.0" not in rewritten def test_rewrite_preserves_comments_and_rejects_missing_veadk() -> None: @@ -111,6 +113,8 @@ def test_stage_copies_only_safe_runtime_source_and_rewrites_requirements( assert not (project / "veadk/.env.local").exists() requirements = (project / "requirements.txt").read_text(encoding="utf-8") assert requirements.splitlines().count("agentkit-sdk-python==0.8.4") == 1 + assert requirements.splitlines().count("google-adk>=1.34.0") == 1 + assert "\ngoogle-adk\n" not in f"\n{requirements}" assert "veadk-python[" not in requirements diff --git a/veadk/cli/managed_sidecar_source.py b/veadk/cli/managed_sidecar_source.py index 0c8b08273..b9bef72a6 100644 --- a/veadk/cli/managed_sidecar_source.py +++ b/veadk/cli/managed_sidecar_source.py @@ -26,9 +26,11 @@ _REMOVED_DISTRIBUTIONS = { "agentkit-sdk-python", "agentkit-harness-sidecar-integration", + "google-adk", "veadk-python", } _MANAGED_SDK_REQUIREMENT = "agentkit-sdk-python==0.8.4" +_MANAGED_ADK_REQUIREMENT = "google-adk>=1.34.0" _IGNORED_PARTS = {".git", "__pycache__", "webui"} _IGNORED_SUFFIXES = {".pyc", ".pyo"} _BLOCKED_SUFFIXES = {".key", ".p12", ".pem", ".pfx"} @@ -64,7 +66,7 @@ def _canonical_requirement_name(line: str) -> str | None: def rewrite_managed_sidecar_requirements(requirements: str) -> str: - """Use in-snapshot VeADK and install the approved public SDK explicitly.""" + """Use in-snapshot VeADK and install approved runtime dependencies.""" lines: list[str] = [] veadk_removed = False @@ -76,14 +78,11 @@ def rewrite_managed_sidecar_requirements(requirements: str) -> str: lines.append(line) if not veadk_removed: raise ManagedSidecarSourceError("veadk_requirement_missing") - lines.insert( - 0, - _MANAGED_SDK_REQUIREMENT, - ) - lines.insert( - 0, + lines[0:0] = [ "# veadk-python is provided by the Studio-managed public source snapshot.", - ) + _MANAGED_SDK_REQUIREMENT, + _MANAGED_ADK_REQUIREMENT, + ] return "\n".join(lines).rstrip() + "\n"