`hermes status` now prints the one-screen summary (model, provider, connected providers, gateway, platforms, jobs); `--full` (alias `--all`, which never changed the output) and `--deep` print every section as before. Hermes Console keeps the full report since it accepts no flags. The summary reads the canonical sources instead of re-deriving them: - Providers: list_authenticated_providers, the list the /model picker offers (cached catalogs only, no custom-endpoint probes), so it honours model_catalog.excluded_providers, pools and plugin providers for free. - Platforms: GatewayConfig.get_connected_platforms, the gateway's own decision about which adapters to start (it also rejects placeholder tokens). The full Messaging Platforms section now uses the same verdict for plugin rows. It called check_fn, a passive "SDK importable" probe that is True for every bundled plugin, so a fresh install listed Discord, Slack, Matrix, Teams, WhatsApp and ~9 more as "configured" with no credentials.
19 lines
761 B
Python
19 lines
761 B
Python
"""``hermes status`` subcommand parser."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Callable
|
|
|
|
|
|
def build_status_parser(subparsers, *, cmd_status: Callable) -> None:
|
|
"""Attach the ``status`` subcommand to ``subparsers``."""
|
|
status_parser = subparsers.add_parser(
|
|
"status", help="Show status of all components",
|
|
description="Display status of Hermes Agent components")
|
|
status_parser.add_argument(
|
|
"--full", "--all", dest="full", action="store_true",
|
|
help="Show every section (keys redacted) instead of the one-screen summary")
|
|
status_parser.add_argument(
|
|
"--deep", action="store_true", help="Run deep checks (implies --full; may take longer)")
|
|
status_parser.set_defaults(func=cmd_status)
|