diff --git a/nanobot/apps/cli/service.py b/nanobot/apps/cli/service.py index 7273bbdbf..02c7ab2cb 100644 --- a/nanobot/apps/cli/service.py +++ b/nanobot/apps/cli/service.py @@ -302,6 +302,11 @@ def _brand_candidates(app: dict[str, Any]) -> list[str]: def _brand_payload(app: dict[str, Any]) -> tuple[str | None, str | None]: + declared_logo = str(app.get("logo_url") or "").strip() + if declared_logo.startswith(("https://", "/")): + declared_color = str(app.get("brand_color") or "").strip() + return declared_logo, declared_color or None + brand = None domain_brand = None for candidate in _brand_candidates(app): diff --git a/tests/cli_apps/test_service.py b/tests/cli_apps/test_service.py index a25547186..1c68f2ec0 100644 --- a/tests/cli_apps/test_service.py +++ b/tests/cli_apps/test_service.py @@ -216,6 +216,8 @@ def test_payload_includes_nanobot_extension_registry(tmp_path: Path) -> None: "npm_package": "hyperframes", "install_cmd": "npm install -g hyperframes", "entry_point": "hyperframes", + "logo_url": "https://raw.githubusercontent.com/heygen-com/hyperframes/main/assets/logo.png", + "brand_color": "#111827", "skill_md": "skills/hyperframes/SKILL.md", } ], @@ -228,6 +230,8 @@ def test_payload_includes_nanobot_extension_registry(tmp_path: Path) -> None: app = payload["apps"][0] assert app["name"] == "hyperframes" assert app["source"] == "extensions" + assert app["logo_url"] == "https://raw.githubusercontent.com/heygen-com/hyperframes/main/assets/logo.png" + assert app["brand_color"] == "#111827" assert app["install_supported"] is True assert app["manifest"]["source"] == "nanobot-extension" assert app["manifest"]["trust"]["registry"] == "nanobot-extension"