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:
Brooklyn Nicholson
2026-06-05 18:05:05 -07:00
committed by Teknium
parent aa52cd3b57
commit 9c1bb8d2c7
7 changed files with 59 additions and 0 deletions
+28
View File
@@ -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)
+12
View File
@@ -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__})"