Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/seclab_taskflow_agent/banner.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

"""ASCII banner displayed at agent startup."""

from .__about__ import __version__
from .capi import get_AI_endpoint

__all__ = ["get_banner"]
Expand Down Expand Up @@ -35,7 +36,7 @@ def get_banner() -> str:
║ ███████╗██║ ██║██████╔╝ ║
║ ╚══════╝╚═╝ ╚═╝╚═════╝ ║
║ ║
TASKFLOW AGENT
║ TASKFLOW AGENT v{__version__:<29}
Comment thread
p- marked this conversation as resolved.
║ ║
╠══════════════════════════════════════════════════════════════════╣
║ Default AI API Endpoint: {api_endpoint:<40}║
Expand Down
15 changes: 15 additions & 0 deletions tests/test_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,21 @@
from seclab_taskflow_agent.cli import _parse_global


class TestBanner:
"""Tests for startup banner rendering."""

def test_banner_includes_version(self, monkeypatch):
from seclab_taskflow_agent.__about__ import __version__
from seclab_taskflow_agent.banner import get_banner

monkeypatch.setattr("seclab_taskflow_agent.banner.get_AI_endpoint", lambda: "https://example.test")

banner = get_banner()

assert f"v{__version__}" in banner
assert "Default AI API Endpoint: https://example.test" in banner


class TestParseGlobal:
"""Tests for _parse_global KEY=VALUE parsing."""

Expand Down
Loading