fix: add missing Platform.SIGNAL to toolset mappings, update test + config docs

Platform.SIGNAL was missing from default_toolset_map and platform_config_key
in gateway/run.py, causing Signal to silently fall back to hermes-telegram
toolset (same bug as HomeAssistant, fixed in PR #538).

Also updates:
- tests/test_toolsets.py: include hermes-signal and hermes-homeassistant in
  the platform core-tools consistency check
- cli-config.yaml.example: document signal and homeassistant platform keys
This commit is contained in:
teknium1
2026-03-09 23:27:19 -07:00
parent ee4008431a
commit 1aa7badb3c
3 changed files with 12 additions and 6 deletions

View File

@@ -402,11 +402,13 @@ agent:
# discord: [web, vision, skills, todo] # discord: [web, vision, skills, todo]
# #
# If not set, defaults are: # If not set, defaults are:
# cli: hermes-cli (everything + cronjob management) # cli: hermes-cli (everything + cronjob management)
# telegram: hermes-telegram (terminal, file, web, vision, image, tts, browser, skills, todo, cronjob, messaging) # telegram: hermes-telegram (terminal, file, web, vision, image, tts, browser, skills, todo, cronjob, messaging)
# discord: hermes-discord (same as telegram) # discord: hermes-discord (same as telegram)
# whatsapp: hermes-whatsapp (same as telegram) # whatsapp: hermes-whatsapp (same as telegram)
# slack: hermes-slack (same as telegram) # slack: hermes-slack (same as telegram)
# signal: hermes-signal (same as telegram)
# homeassistant: hermes-homeassistant (same as telegram)
# #
platform_toolsets: platform_toolsets:
cli: [hermes-cli] cli: [hermes-cli]
@@ -414,6 +416,8 @@ platform_toolsets:
discord: [hermes-discord] discord: [hermes-discord]
whatsapp: [hermes-whatsapp] whatsapp: [hermes-whatsapp]
slack: [hermes-slack] slack: [hermes-slack]
signal: [hermes-signal]
homeassistant: [hermes-homeassistant]
# ───────────────────────────────────────────────────────────────────────────── # ─────────────────────────────────────────────────────────────────────────────
# Available toolsets (use these names in platform_toolsets or the toolsets list) # Available toolsets (use these names in platform_toolsets or the toolsets list)

View File

@@ -2402,6 +2402,7 @@ class GatewayRunner:
Platform.DISCORD: "hermes-discord", Platform.DISCORD: "hermes-discord",
Platform.WHATSAPP: "hermes-whatsapp", Platform.WHATSAPP: "hermes-whatsapp",
Platform.SLACK: "hermes-slack", Platform.SLACK: "hermes-slack",
Platform.SIGNAL: "hermes-signal",
Platform.HOMEASSISTANT: "hermes-homeassistant", Platform.HOMEASSISTANT: "hermes-homeassistant",
} }
@@ -2424,6 +2425,7 @@ class GatewayRunner:
Platform.DISCORD: "discord", Platform.DISCORD: "discord",
Platform.WHATSAPP: "whatsapp", Platform.WHATSAPP: "whatsapp",
Platform.SLACK: "slack", Platform.SLACK: "slack",
Platform.SIGNAL: "signal",
Platform.HOMEASSISTANT: "homeassistant", Platform.HOMEASSISTANT: "homeassistant",
}.get(source.platform, "telegram") }.get(source.platform, "telegram")

View File

@@ -136,7 +136,7 @@ class TestToolsetConsistency:
def test_hermes_platforms_share_core_tools(self): def test_hermes_platforms_share_core_tools(self):
"""All hermes-* platform toolsets should have the same tools.""" """All hermes-* platform toolsets should have the same tools."""
platforms = ["hermes-cli", "hermes-telegram", "hermes-discord", "hermes-whatsapp", "hermes-slack"] platforms = ["hermes-cli", "hermes-telegram", "hermes-discord", "hermes-whatsapp", "hermes-slack", "hermes-signal", "hermes-homeassistant"]
tool_sets = [set(TOOLSETS[p]["tools"]) for p in platforms] tool_sets = [set(TOOLSETS[p]["tools"]) for p in platforms]
# All platform toolsets should be identical # All platform toolsets should be identical
for ts in tool_sets[1:]: for ts in tool_sets[1:]: