refactor(workflow): move agent node back to core workflow (#33431)

This commit is contained in:
99
2026-03-14 22:33:13 +08:00
committed by GitHub
parent 98df8e1d6c
commit 1b6e695520
45 changed files with 1115 additions and 964 deletions

View File

@ -1,6 +1,6 @@
import time
import uuid
from unittest.mock import MagicMock
from unittest.mock import MagicMock, patch
from core.app.entities.app_invoke_entities import InvokeFrom, UserFrom
from core.tools.utils.configuration import ToolParameterConfigurationManager
@ -87,17 +87,20 @@ def test_tool_variable_invoke():
}
)
ToolParameterConfigurationManager.decrypt_tool_parameters = MagicMock(return_value={"format": "%Y-%m-%d %H:%M:%S"})
with patch.object(
ToolParameterConfigurationManager,
"decrypt_tool_parameters",
return_value={"format": "%Y-%m-%d %H:%M:%S"},
):
node.graph_runtime_state.variable_pool.add(["1", "args1"], "1+1")
node.graph_runtime_state.variable_pool.add(["1", "args1"], "1+1")
# execute node
result = node._run()
for item in result:
if isinstance(item, StreamCompletedEvent):
assert item.node_run_result.status == WorkflowNodeExecutionStatus.SUCCEEDED
assert item.node_run_result.outputs is not None
assert item.node_run_result.outputs.get("text") is not None
# execute node
result = node._run()
for item in result:
if isinstance(item, StreamCompletedEvent):
assert item.node_run_result.status == WorkflowNodeExecutionStatus.SUCCEEDED
assert item.node_run_result.outputs is not None
assert item.node_run_result.outputs.get("text") is not None
def test_tool_mixed_invoke():
@ -121,12 +124,15 @@ def test_tool_mixed_invoke():
}
)
ToolParameterConfigurationManager.decrypt_tool_parameters = MagicMock(return_value={"format": "%Y-%m-%d %H:%M:%S"})
# execute node
result = node._run()
for item in result:
if isinstance(item, StreamCompletedEvent):
assert item.node_run_result.status == WorkflowNodeExecutionStatus.SUCCEEDED
assert item.node_run_result.outputs is not None
assert item.node_run_result.outputs.get("text") is not None
with patch.object(
ToolParameterConfigurationManager,
"decrypt_tool_parameters",
return_value={"format": "%Y-%m-%d %H:%M:%S"},
):
# execute node
result = node._run()
for item in result:
if isinstance(item, StreamCompletedEvent):
assert item.node_run_result.status == WorkflowNodeExecutionStatus.SUCCEEDED
assert item.node_run_result.outputs is not None
assert item.node_run_result.outputs.get("text") is not None