mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
fix(delegate): default inherit_mcp_toolsets=true, drop version bump
Follow-up on helix4u's PR #14211: - Flip default to true: narrowing toolsets=['web','browser'] expresses 'I want these extras', not 'silently strip MCP'. Parent MCP tools (registered at runtime) should survive narrowing by default. - Drop _config_version bump (22->23); additive nested key under delegation.* is handled by _deep_merge, no migration needed. - Update tests to reflect new default behavior.
This commit is contained in:
parent
3e96c87f37
commit
7d8b2eee63
4 changed files with 37 additions and 35 deletions
|
|
@ -1059,35 +1059,7 @@ class TestChildCredentialPoolResolution(unittest.TestCase):
|
|||
self.assertEqual(mock_child._credential_pool, mock_pool)
|
||||
|
||||
@patch("tools.delegate_tool._load_config", return_value={})
|
||||
def test_build_child_agent_does_not_preserve_mcp_toolsets_by_default(self, mock_cfg):
|
||||
parent = _make_mock_parent()
|
||||
parent.enabled_toolsets = ["web", "browser", "mcp-MiniMax"]
|
||||
|
||||
with patch("run_agent.AIAgent") as MockAgent:
|
||||
mock_child = MagicMock()
|
||||
MockAgent.return_value = mock_child
|
||||
|
||||
_build_child_agent(
|
||||
task_index=0,
|
||||
goal="Test narrowed toolsets",
|
||||
context=None,
|
||||
toolsets=["web", "browser"],
|
||||
model=None,
|
||||
max_iterations=10,
|
||||
parent_agent=parent,
|
||||
task_count=1,
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
MockAgent.call_args[1]["enabled_toolsets"],
|
||||
["web", "browser"],
|
||||
)
|
||||
|
||||
@patch(
|
||||
"tools.delegate_tool._load_config",
|
||||
return_value={"inherit_mcp_toolsets": True},
|
||||
)
|
||||
def test_build_child_agent_can_preserve_parent_mcp_toolsets(self, mock_cfg):
|
||||
def test_build_child_agent_preserves_mcp_toolsets_by_default(self, mock_cfg):
|
||||
parent = _make_mock_parent()
|
||||
parent.enabled_toolsets = ["web", "browser", "mcp-MiniMax"]
|
||||
|
||||
|
|
@ -1111,6 +1083,34 @@ class TestChildCredentialPoolResolution(unittest.TestCase):
|
|||
["web", "browser", "mcp-MiniMax"],
|
||||
)
|
||||
|
||||
@patch(
|
||||
"tools.delegate_tool._load_config",
|
||||
return_value={"inherit_mcp_toolsets": False},
|
||||
)
|
||||
def test_build_child_agent_strict_intersection_when_opted_out(self, mock_cfg):
|
||||
parent = _make_mock_parent()
|
||||
parent.enabled_toolsets = ["web", "browser", "mcp-MiniMax"]
|
||||
|
||||
with patch("run_agent.AIAgent") as MockAgent:
|
||||
mock_child = MagicMock()
|
||||
MockAgent.return_value = mock_child
|
||||
|
||||
_build_child_agent(
|
||||
task_index=0,
|
||||
goal="Test narrowed toolsets",
|
||||
context=None,
|
||||
toolsets=["web", "browser"],
|
||||
model=None,
|
||||
max_iterations=10,
|
||||
parent_agent=parent,
|
||||
task_count=1,
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
MockAgent.call_args[1]["enabled_toolsets"],
|
||||
["web", "browser"],
|
||||
)
|
||||
|
||||
|
||||
class TestChildCredentialLeasing(unittest.TestCase):
|
||||
def test_run_single_child_acquires_and_releases_lease(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue