Add /version slash command across CLI, gateway, TUI, and desktop.
Surfaces Hermes Agent version info on demand without leaving chat; works mid-run like /help and /update.
This commit is contained in:
committed by
Teknium
parent
aa52cd3b57
commit
9c1bb8d2c7
@@ -0,0 +1,28 @@
|
||||
"""Tests for the /version slash command."""
|
||||
|
||||
from unittest.mock import patch
|
||||
|
||||
from cli import HermesCLI
|
||||
from hermes_cli.commands import GATEWAY_KNOWN_COMMANDS, resolve_command
|
||||
|
||||
|
||||
def test_version_command_is_registered():
|
||||
cmd = resolve_command("version")
|
||||
assert cmd is not None
|
||||
assert cmd.name == "version"
|
||||
assert cmd.category == "Info"
|
||||
assert resolve_command("v") is cmd
|
||||
|
||||
|
||||
def test_version_is_gateway_known():
|
||||
assert "version" in GATEWAY_KNOWN_COMMANDS
|
||||
assert "v" in GATEWAY_KNOWN_COMMANDS
|
||||
|
||||
|
||||
def test_process_command_version_prints_version_info():
|
||||
cli_obj = HermesCLI.__new__(HermesCLI)
|
||||
|
||||
with patch("hermes_cli.main._print_version_info") as mock_print:
|
||||
assert cli_obj.process_command("/version") is True
|
||||
|
||||
mock_print.assert_called_once_with(check_updates=True)
|
||||
@@ -0,0 +1,12 @@
|
||||
"""Tests for gateway /version command."""
|
||||
|
||||
import asyncio
|
||||
|
||||
from hermes_cli import __release_date__, __version__
|
||||
|
||||
|
||||
def test_gateway_version_command_returns_release_line():
|
||||
from gateway.run import GatewayRunner
|
||||
|
||||
result = asyncio.run(GatewayRunner._handle_version_command(None, None)) # type: ignore[arg-type]
|
||||
assert result == f"Hermes Agent v{__version__} ({__release_date__})"
|
||||
Reference in New Issue
Block a user