{
  "kind": "open-flow-workflow",
  "version": 1,
  "name": "A greeting workflow",
  "content": {
    "modelVersion": 14,
    "document": {
      "bindings": {},
      "graph": {
        "nodes": {
          "start": {
            "name": "Start",
            "kind": "start",
            "inputDefs": [
              {
                "jsonSchema": {
                  "type": "string"
                },
                "nullable": false,
                "handle": "name"
              }
            ]
          },
          "settings": {
            "inputs": {},
            "name": "Greeting settings",
            "kind": "value",
            "values": [
              {
                "jsonSchema": {
                  "type": "string"
                },
                "nullable": false,
                "handle": "prefix",
                "value": "Hello"
              }
            ]
          },
          "greet": {
            "inputs": {
              "name": {
                "kind": "sources",
                "sources": [
                  {
                    "kind": "node",
                    "nodeId": "start",
                    "output": "name"
                  }
                ]
              },
              "prefix": {
                "kind": "sources",
                "sources": [
                  {
                    "kind": "node",
                    "nodeId": "settings",
                    "output": "prefix"
                  }
                ]
              }
            },
            "name": "Compose greeting",
            "kind": "task",
            "task": {
              "inputs": [
                {
                  "jsonSchema": {
                    "type": "string"
                  },
                  "nullable": false,
                  "handle": "name"
                },
                {
                  "jsonSchema": {
                    "type": "string"
                  },
                  "nullable": false,
                  "handle": "prefix"
                }
              ],
              "outputs": [
                {
                  "jsonSchema": {
                    "type": "string"
                  },
                  "nullable": false,
                  "handle": "message"
                }
              ],
              "name": "Compose greeting",
              "moduleId": "greet-module",
              "capabilities": [
                {
                  "kind": "connector",
                  "mode": "independent",
                  "actions": []
                }
              ]
            }
          },
          "outputs": {
            "name": "Workflow result",
            "kind": "outputs",
            "outputDefs": [
              {
                "jsonSchema": {
                  "type": "string"
                },
                "nullable": false,
                "handle": "message"
              }
            ],
            "outputMappings": {
              "message": {
                "kind": "sources",
                "sources": [
                  {
                    "kind": "node",
                    "nodeId": "greet",
                    "output": "message"
                  }
                ]
              }
            }
          }
        },
        "edges": [
          {
            "source": "start",
            "target": "greet"
          },
          {
            "source": "settings",
            "target": "greet"
          },
          {
            "source": "greet",
            "target": "outputs"
          }
        ]
      }
    },
    "modules": {
      "greet-module": {
        "name": "Compose greeting",
        "imports": [],
        "source": "export default ({ name, prefix }) => ({ message: prefix + \", \" + name + \"!\" });"
      }
    }
  },
  "presentation": {
    "designer": {
      "version": 1,
      "flow": {
        "nodes": {
          "start": {
            "x": 0,
            "y": 0
          },
          "settings": {
            "x": 0,
            "y": 220
          },
          "greet": {
            "x": 360,
            "y": 100
          },
          "outputs": {
            "x": 720,
            "y": 100
          }
        }
      }
    }
  }
}
