mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-06 07:51:53 +00:00
fix: expose context engine tools with saved toolsets
This commit is contained in:
parent
1a9ef83147
commit
8595281f3c
4 changed files with 116 additions and 0 deletions
|
|
@ -68,6 +68,7 @@ CONFIGURABLE_TOOLSETS = [
|
|||
("skills", "📚 Skills", "list, view, manage"),
|
||||
("todo", "📋 Task Planning", "todo"),
|
||||
("memory", "💾 Memory", "persistent memory across sessions"),
|
||||
("context_engine", "🧩 Context Engine", "runtime tools from the active context engine"),
|
||||
("session_search", "🔎 Session Search", "search past conversations"),
|
||||
("clarify", "❓ Clarifying Questions", "clarify"),
|
||||
("delegation", "👥 Task Delegation", "delegate_task"),
|
||||
|
|
@ -1295,6 +1296,24 @@ def _get_platform_tools(
|
|||
enabled_toolsets.add(pts)
|
||||
# else: known but not in config = user disabled it
|
||||
|
||||
# Context-engine tools are runtime-provided by the active engine, so they
|
||||
# are not part of any static platform composite. When a non-default engine
|
||||
# is selected, keep its recovery/status tools available even after a user
|
||||
# saves an explicit platform toolset list. Preserve the explicit empty-list
|
||||
# contract: selecting no configurable tools means no context-engine tools
|
||||
# either unless the user adds ``context_engine`` manually later.
|
||||
context_cfg = config.get("context") or {}
|
||||
if not isinstance(context_cfg, dict):
|
||||
context_cfg = {}
|
||||
context_engine_name = str(context_cfg.get("engine") or "compressor").strip().lower()
|
||||
explicit_empty_selection = (
|
||||
platform in platform_toolsets
|
||||
and isinstance(platform_toolsets.get(platform), list)
|
||||
and not toolset_names
|
||||
)
|
||||
if context_engine_name and context_engine_name != "compressor" and not explicit_empty_selection:
|
||||
enabled_toolsets.add("context_engine")
|
||||
|
||||
# Preserve any explicit non-configurable toolset entries (for example,
|
||||
# custom toolsets or MCP server names saved in platform_toolsets).
|
||||
explicit_passthrough = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue