Improve data skill routing and tool organization
This commit is contained in:
@@ -144,6 +144,17 @@ class AgentRuntimeTests(unittest.TestCase):
|
||||
self.assertEqual(child_model.model, 'child-model')
|
||||
self.assertEqual(sorted(child_tools), ['grep_search', 'read_file'])
|
||||
|
||||
def test_builtin_child_model_alias_inherits_non_claude_parent_model(self) -> None:
|
||||
agent = LocalCodingAgent(
|
||||
model_config=ModelConfig(model='xiaomi/mimo-v2.5-pro'),
|
||||
runtime_config=AgentRuntimeConfig(cwd=Path.cwd()),
|
||||
)
|
||||
agent_def = agent._resolve_agent_definition({'subagent_type': 'Explore'})
|
||||
child_model = agent._resolve_child_model_config({}, agent_def)
|
||||
|
||||
self.assertEqual(agent_def.model, 'haiku')
|
||||
self.assertEqual(child_model.model, 'xiaomi/mimo-v2.5-pro')
|
||||
|
||||
def test_openai_client_parses_tool_calls(self) -> None:
|
||||
responses = [
|
||||
{
|
||||
@@ -322,9 +333,9 @@ class AgentRuntimeTests(unittest.TestCase):
|
||||
|
||||
self.assertEqual(result.stop_reason, 'user_review_required')
|
||||
self.assertEqual(result.tool_calls, 1)
|
||||
self.assertIn('本轮已暂停', result.final_output)
|
||||
self.assertIn('先确认边界', result.final_output)
|
||||
self.assertIn('goal_id', result.final_output)
|
||||
self.assertIn('计划提示', result.final_output)
|
||||
self.assertIn('下一步', result.final_output)
|
||||
self.assertIn('建议先生成 10 条单轮', result.final_output)
|
||||
review_messages = [
|
||||
entry
|
||||
@@ -333,7 +344,7 @@ class AgentRuntimeTests(unittest.TestCase):
|
||||
and entry.get('stop_reason') == 'user_review_required'
|
||||
]
|
||||
self.assertEqual(len(review_messages), 1)
|
||||
self.assertIn('数据生成目标', str(review_messages[0].get('content', '')))
|
||||
self.assertIn('生成目标', str(review_messages[0].get('content', '')))
|
||||
self.assertTrue(
|
||||
any(event.get('type') == 'user_review_required' for event in result.events)
|
||||
)
|
||||
@@ -416,8 +427,9 @@ class AgentRuntimeTests(unittest.TestCase):
|
||||
result = agent.run('Prepare data generation plan')
|
||||
|
||||
self.assertEqual(result.stop_reason, 'user_review_required')
|
||||
self.assertIn('数据生成计划', result.final_output)
|
||||
self.assertIn('只补充生成参数', result.final_output)
|
||||
self.assertIn('plan_id', result.final_output)
|
||||
self.assertNotIn('target_definitions', result.final_output)
|
||||
review_messages = [
|
||||
entry
|
||||
for entry in result.transcript
|
||||
@@ -425,7 +437,7 @@ class AgentRuntimeTests(unittest.TestCase):
|
||||
and entry.get('stop_reason') == 'user_review_required'
|
||||
]
|
||||
self.assertEqual(len(review_messages), 1)
|
||||
self.assertIn('数据生成计划', str(review_messages[0].get('content', '')))
|
||||
self.assertIn('生成参数', str(review_messages[0].get('content', '')))
|
||||
|
||||
def test_write_tool_is_blocked_without_permission(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as tmp_dir:
|
||||
|
||||
Reference in New Issue
Block a user