{
  "name": "M1-Breadth-Fetch",
  "nodes": [
    {
      "id": "trigger",
      "name": "\u5b9a\u65f6\u89e6\u53d1",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.1,
      "position": [
        0,
        0
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes",
              "minutesInterval": 5
            }
          ]
        }
      }
    },
    {
      "id": "manual",
      "name": "\u624b\u52a8\u89e6\u53d1",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        0,
        200
      ]
    },
    {
      "id": "http",
      "name": "\u8c03\u7528\u672c\u5730\u811a\u672c",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.1,
      "position": [
        250,
        100
      ],
      "parameters": {
        "method": "POST",
        "url": "http://host.docker.internal:8787/api/m1/run",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"script\": \"breadth_manager.py\",\n  \"cmd\": \"spot\"\n}",
        "options": {}
      }
    },
    {
      "id": "parse",
      "name": "\u8f93\u51fa\u65e5\u5fd7",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        450,
        100
      ],
      "parameters": {
        "jsCode": "return $input.all().map(item => {\n  let raw = item.json.stdout ? item.json.stdout.join('') : '{}';\n  let parsed = {};\n  try { parsed = JSON.parse(raw); } catch(e) {}\n  \n  let summary = `M1-Breadth \u274c \u672a\u77e5\u9519\u8bef`;\n  if (parsed.ok === false) {\n    summary = `M1-Breadth \u23ed\ufe0f \u8df3\u8fc7: ${parsed.error}`;\n  } else if (parsed.ok) {\n    let d = parsed.data || {};\n    summary = `M1-Breadth \u2705 \u6293\u53d6\u6210\u529f\\n\u4e0a\u6da8: ${d.up} | \u4e0b\u8dcc: ${d.down} | \u5e73\u76d8: ${d.flat}`;\n  }\n  \n  return { json: { summary } };\n});"
      }
    }
  ],
  "connections": {
    "\u5b9a\u65f6\u89e6\u53d1": {
      "main": [
        [
          {
            "node": "\u8c03\u7528\u672c\u5730\u811a\u672c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u624b\u52a8\u89e6\u53d1": {
      "main": [
        [
          {
            "node": "\u8c03\u7528\u672c\u5730\u811a\u672c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u8c03\u7528\u672c\u5730\u811a\u672c": {
      "main": [
        [
          {
            "node": "\u8f93\u51fa\u65e5\u5fd7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}