serializeNode function
Serializes a workflow node.
Implementation
GraphJson serializeNode(BaseNode node) {
final GraphJson result = <String, Object?>{
'name': node.name,
'type': _nodeType(node),
'rerun_on_resume': node.rerunOnResume,
'wait_for_output': node.waitForOutput,
};
if (node.description.isNotEmpty) {
result['description'] = node.description;
}
if (node.dependsOn.isNotEmpty) {
result['depends_on'] = node.dependsOn;
}
if (node is AgentNode) {
result['agent'] = serializeAgent(node.agent);
} else if (node is ToolNode) {
result['tool'] = _serializeToolLike(node.tool);
}
return result;
}