serializeNode function

GraphJson serializeNode(
  1. BaseNode node
)

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;
}