feat(acp): read platform_toolsets.acp from config - #46832
Conversation
…ng ['hermes-acp']
Makes ACP toolset selection configurable via the profile's config.yaml:
platform_toolsets:
acp:
- hermes-acp
- memory
This allows ACP sessions to include the 'memory' toolset, enabling
for example honcho_* tools (honcho_profile, honcho_search, honcho_reasoning,
honcho_context, honcho_conclude) in the editor-agent session.
Default behaviour is unchanged (['hermes-acp']).
|
This pr is more minimal than: #45958 |
teknium1
left a comment
There was a problem hiding this comment.
Thanks for the focused ACP configuration proposal. The current hardcoded ACP selection at acp_adapter/session.py:619-622 means the broader configuration gap is real.
Problems
- The new lookup at
acp_adapter/session.py:591will raise if YAML containsplatform_toolsets:with no value. The shared resolver handles that supported shape withconfig.get("platform_toolsets") or {}inhermes_cli/tools_config.py:1646. - The sample
memoryaddition does not enable Honcho tools on current main:hermes-acpalready includesmemory(toolsets.py:390), and the provider gate resolves composites (agent/memory_manager.py:82-97; coverage attests/agent/test_memory_provider.py:1363-1368).
Suggested changes
- Normalize/type-check the mapping before selecting
acp, retaining the existing default for null or malformed values. - Add regression coverage for a non-default ACP toolset, the default path, and null
platform_toolsets. - Document the ACP config key and describe it as extending the curated surface rather than enabling memory-provider tools.
This is an automated hermes-sweeper review.
| if not isinstance(cfg, dict) or cfg.get("enabled", True) is not False | ||
| ] | ||
|
|
||
| acp_toolsets = list(config.get("platform_toolsets", {}).get("acp", ["hermes-acp"])) |
There was a problem hiding this comment.
Please normalize/type-check platform_toolsets before this lookup. A YAML platform_toolsets: with no value parses as None, so this .get() raises; the shared resolver handles that shape with config.get("platform_toolsets") or {} in hermes_cli/tools_config.py:1646.
What does this PR do?
Makes ACP toolset selection configurable via the profile's config.yaml:
This allows ACP sessions to include more tools like the 'memory' toolset, enabling honcho_* tools (honcho_profile, honcho_search, honcho_reasoning, honcho_context, honcho_conclude) in the editor-agent session.
Default behaviour is unchanged (['hermes-acp']).
Related Issue
Fixes #
Type of Change
Changes Made
Read the config tools when running the an ACP server.
How to Test
Checklist
Code
fix(scope):,feat(scope):, etc.)pytest tests/ -qand all tests passDocumentation & Housekeeping
docs/, docstrings) — or N/Acli-config.yaml.exampleif I added/changed config keys — or N/ACONTRIBUTING.mdorAGENTS.mdif I changed architecture or workflows — or N/AFor New Skills
hermes --toolsets skills -q "Use the X skill to do Y"Screenshots / Logs