feat: make workflow messages resumable
This commit is contained in:
@@ -111,22 +111,27 @@ class WorkflowGraphTests(unittest.TestCase):
|
||||
self.assertTrue(body.vision_enabled)
|
||||
self.assertIsNone(body.vision_model_resource_id)
|
||||
|
||||
def test_agent_entry_mode_defaults_and_validation(self):
|
||||
def test_agent_entry_modes_only_control_conversation_start(self):
|
||||
graph = valid_graph()
|
||||
normalized = normalize_graph(graph)
|
||||
agent = next(node for node in normalized["nodes"] if node["type"] == "agent")
|
||||
self.assertEqual(agent["data"]["entryMode"], "wait_user")
|
||||
self.assertEqual(agent["data"]["entrySpeech"], "")
|
||||
self.assertNotIn("entrySpeech", agent["data"])
|
||||
self.assertTrue(agent["data"]["inheritGlobalConfig"])
|
||||
self.assertEqual(agent["data"]["contextPolicy"], "fresh")
|
||||
|
||||
agent["data"]["entryMode"] = "fixed_speech"
|
||||
self.assertTrue(
|
||||
any("固定进入语不能为空" in error for error in validate_graph(normalized))
|
||||
)
|
||||
agent["data"]["entrySpeech"] = "您好,{{customer}}"
|
||||
agent["data"]["entryMode"] = "generate"
|
||||
self.assertEqual(validate_graph(normalized), [])
|
||||
|
||||
agent["data"]["entryMode"] = "fixed_speech"
|
||||
agent["data"]["entrySpeech"] = "您好,{{customer}}"
|
||||
cleaned = normalize_graph(normalized)
|
||||
cleaned_agent = next(
|
||||
node for node in cleaned["nodes"] if node["type"] == "agent"
|
||||
)
|
||||
self.assertEqual(cleaned_agent["data"]["entryMode"], "wait_user")
|
||||
self.assertNotIn("entrySpeech", cleaned_agent["data"])
|
||||
|
||||
def test_action_defaults_preserve_legacy_result_assignment_behavior(self):
|
||||
graph = valid_graph()
|
||||
graph["nodes"].extend(
|
||||
|
||||
Reference in New Issue
Block a user