[
    {
        "id": "3fd7d9d5831b7682",
        "type": "tab",
        "label": "ChatGPT node generator",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "22855aff951286e8",
        "type": "group",
        "z": "3fd7d9d5831b7682",
        "name": "Nodes made by a ChatGPT node using the gpt-3.5-turbo model",
        "style": {
            "label": true
        },
        "nodes": [
            "615c6e787b0b8cf6",
            "73afc4a92e0e28ce",
            "a050c5ab1c9b8db4",
            "f7530fba30273fae",
            "62224bd45ec47eda",
            "be7e208e0c801c59",
            "127dbf6b6db7ada8",
            "7b1923ed394e7f6a",
            "40c90963b3b03ab7",
            "41fc6e6c55b22d15"
        ],
        "x": 674,
        "y": 239,
        "w": 402,
        "h": 582
    },
    {
        "id": "0f5454cfef59c42d",
        "type": "group",
        "z": "3fd7d9d5831b7682",
        "name": "Node generator templates",
        "style": {
            "label": true
        },
        "nodes": [
            "3255e27c1d746456",
            "8abb2c1a0816738b",
            "066f14ba28cf732b",
            "580702fcddbcba8f",
            "6b6b5995bb167409",
            "7aa23b5f7aaf3948",
            "db35b2f9dbc267e5",
            "769eeabd6c0f8f1d",
            "e7d7a636f5b79b16",
            "492f869dd425cbb2",
            "1a0b169db6687b16",
            "66762c2a030a4558",
            "1e45800e774dd00b",
            "5fa384194f3bdb6d",
            "171c332682955427",
            "a9d3624877d8e3b9",
            "340a742cc6423377",
            "0412e5ed23135e45",
            "8a4b91b9acc48071",
            "e2f27f4f97bb4683",
            "9e12fe8c808b34d0"
        ],
        "x": 14,
        "y": 239,
        "w": 572,
        "h": 582
    },
    {
        "id": "c8e37a3d9111f98a",
        "type": "group",
        "z": "3fd7d9d5831b7682",
        "name": "Auto-Importer (Windows + Mac)",
        "style": {
            "label": true
        },
        "nodes": [
            "a19628a95e7bba2e",
            "3af9a4ecd33dbe63",
            "5bb12c197c742e48",
            "4d271e7267c69360",
            "b79eca37abc5fc99",
            "bf9933a02c587876",
            "dd94b3a222b6b0e8",
            "15be7bea90f95a9c",
            "4b47a2580b7dbb19",
            "c76174fde7299813",
            "771075e9ec4a6a87",
            "04a9124c208fd84d",
            "0edc6e7bb2ccad3f",
            "cccf2076d83038fb"
        ],
        "x": 674,
        "y": 19,
        "w": 872,
        "h": 202
    },
    {
        "id": "949469fbfcf72750",
        "type": "junction",
        "z": "3fd7d9d5831b7682",
        "x": 620,
        "y": 280,
        "wires": [
            [
                "7ca25b19d1f77e0b"
            ]
        ]
    },
    {
        "id": "43314e1f43e05663",
        "type": "debug",
        "z": "3fd7d9d5831b7682",
        "name": "debug prompt inputs",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 400,
        "y": 60,
        "wires": []
    },
    {
        "id": "3255e27c1d746456",
        "type": "template",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "switch node generator",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "Respond only with valid JSON syntax for a single Node-RED \"switch\" node that can be imported into the Node-RED editor. Do not add any comments or explanations. The node should be configured to route messages based on the following rules: ```{{{payload}}}```",
        "output": "str",
        "x": 460,
        "y": 500,
        "wires": [
            [
                "949469fbfcf72750"
            ]
        ]
    },
    {
        "id": "8abb2c1a0816738b",
        "type": "inject",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "8-way switch",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "contains \"wind\", contains \"holy\", contains \"fire\", contains \"ice\", contains \"earth\", contains \"lightning\", contains \"posion\", otherwise",
        "payloadType": "str",
        "x": 130,
        "y": 480,
        "wires": [
            [
                "9e12fe8c808b34d0"
            ]
        ]
    },
    {
        "id": "590312af5ccdc305",
        "type": "switch",
        "z": "3fd7d9d5831b7682",
        "name": "gate",
        "property": "gate",
        "propertyType": "flow",
        "rules": [
            {
                "t": "true"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 510,
        "y": 100,
        "wires": [
            [
                "04a9124c208fd84d"
            ]
        ]
    },
    {
        "id": "7ca25b19d1f77e0b",
        "type": "change",
        "z": "3fd7d9d5831b7682",
        "name": "open gates",
        "rules": [
            {
                "t": "set",
                "p": "gate",
                "pt": "flow",
                "to": "true",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 190,
        "y": 100,
        "wires": [
            [
                "43314e1f43e05663",
                "b775e23209198fad"
            ]
        ]
    },
    {
        "id": "066f14ba28cf732b",
        "type": "inject",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "3-way switch",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "greater than or equals to 100, less than 100, else",
        "payloadType": "str",
        "x": 130,
        "y": 520,
        "wires": [
            [
                "9e12fe8c808b34d0"
            ]
        ]
    },
    {
        "id": "580702fcddbcba8f",
        "type": "template",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "debug node generator",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "Respond only with valid JSON syntax for a single Node-RED \"debug\" node that can be imported into the Node-RED editor. Do not add any comments or explanations. The node should be configured to: `{{{payload}}}`",
        "output": "str",
        "x": 460,
        "y": 320,
        "wires": [
            [
                "949469fbfcf72750"
            ]
        ]
    },
    {
        "id": "6b6b5995bb167409",
        "type": "inject",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "debug",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "display the complete message object",
        "payloadType": "str",
        "x": 110,
        "y": 320,
        "wires": [
            [
                "580702fcddbcba8f"
            ]
        ]
    },
    {
        "id": "7aa23b5f7aaf3948",
        "type": "template",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "http request node generator",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "Respond only with valid JSON syntax for a single Node-RED \"http request\" node that can be imported into the Node-RED editor. Do not add any comments or explanations. The node should be configured to: send a {{type}} request to {{url}}{{payload}}",
        "output": "str",
        "x": 440,
        "y": 780,
        "wires": [
            [
                "949469fbfcf72750"
            ]
        ]
    },
    {
        "id": "db35b2f9dbc267e5",
        "type": "inject",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "http",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "type",
                "v": "GET",
                "vt": "str"
            },
            {
                "p": "url",
                "v": "reddit",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": " to view the front page",
        "payloadType": "str",
        "x": 110,
        "y": 780,
        "wires": [
            [
                "7aa23b5f7aaf3948"
            ]
        ]
    },
    {
        "id": "615c6e787b0b8cf6",
        "type": "switch",
        "z": "3fd7d9d5831b7682",
        "g": "22855aff951286e8",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "cont",
                "v": "wind",
                "vt": "str"
            },
            {
                "t": "cont",
                "v": "holy",
                "vt": "str"
            },
            {
                "t": "cont",
                "v": "fire",
                "vt": "str"
            },
            {
                "t": "cont",
                "v": "ice",
                "vt": "str"
            },
            {
                "t": "cont",
                "v": "earth",
                "vt": "str"
            },
            {
                "t": "cont",
                "v": "lightning",
                "vt": "str"
            },
            {
                "t": "cont",
                "v": "poison",
                "vt": "str"
            },
            {
                "t": "else"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 8,
        "x": 750,
        "y": 480,
        "wires": [
            [],
            [],
            [],
            [],
            [],
            [],
            [],
            []
        ]
    },
    {
        "id": "73afc4a92e0e28ce",
        "type": "switch",
        "z": "3fd7d9d5831b7682",
        "g": "22855aff951286e8",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "gte",
                "v": "100",
                "vt": "num"
            },
            {
                "t": "lt",
                "v": "100",
                "vt": "num"
            },
            {
                "t": "else"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 3,
        "x": 750,
        "y": 580,
        "wires": [
            [],
            [],
            []
        ]
    },
    {
        "id": "a050c5ab1c9b8db4",
        "type": "http request",
        "z": "3fd7d9d5831b7682",
        "g": "22855aff951286e8",
        "name": "",
        "method": "GET",
        "ret": "txt",
        "paytoqs": "ignore",
        "url": "https://www.reddit.com/.json",
        "tls": "",
        "persist": false,
        "proxy": "",
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 770,
        "y": 780,
        "wires": [
            []
        ]
    },
    {
        "id": "769eeabd6c0f8f1d",
        "type": "template",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "inject node generator",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "Respond only with valid JSON syntax for a single Node-RED \"inject\" node that can be imported into the Node-RED editor. Do not add any comments or explanations. The node should be configured to: send a message object with the following: {{{payload}}}\n",
        "output": "str",
        "x": 460,
        "y": 280,
        "wires": [
            [
                "949469fbfcf72750"
            ]
        ]
    },
    {
        "id": "e7d7a636f5b79b16",
        "type": "inject",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "inject",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "{ \"payload\": \"success\", \"topic\": \"turbo\" }",
        "payloadType": "str",
        "x": 110,
        "y": 280,
        "wires": [
            [
                "769eeabd6c0f8f1d"
            ]
        ]
    },
    {
        "id": "f7530fba30273fae",
        "type": "inject",
        "z": "3fd7d9d5831b7682",
        "g": "22855aff951286e8",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "turbo",
        "payload": "success",
        "payloadType": "str",
        "x": 790,
        "y": 280,
        "wires": [
            []
        ]
    },
    {
        "id": "62224bd45ec47eda",
        "type": "debug",
        "z": "3fd7d9d5831b7682",
        "g": "22855aff951286e8",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 750,
        "y": 320,
        "wires": []
    },
    {
        "id": "492f869dd425cbb2",
        "type": "template",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "comment node generator",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "Respond only with valid JSON syntax for a single Node-RED \"comment\" node named {{{name}}} that can be imported into the Node-RED editor. Do not add any additional comments or explanations. The node should contain the following info: ```{{{payload}}}```",
        "output": "str",
        "x": 450,
        "y": 360,
        "wires": [
            [
                "949469fbfcf72750"
            ]
        ]
    },
    {
        "id": "1a0b169db6687b16",
        "type": "function",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "sanitize",
        "func": "const x = msg.timestamp;\nmsg.timestamp = new Date(x).toLocaleString();\nmsg.name = `\"${msg.name} ${msg.timestamp}\"`\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 260,
        "y": 360,
        "wires": [
            [
                "492f869dd425cbb2"
            ]
        ]
    },
    {
        "id": "66762c2a030a4558",
        "type": "inject",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "comment",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "name",
                "v": "comment made on",
                "vt": "str"
            },
            {
                "p": "timestamp",
                "v": "",
                "vt": "date"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "[\"success\",true]",
        "payloadType": "str",
        "x": 120,
        "y": 360,
        "wires": [
            [
                "1a0b169db6687b16"
            ]
        ]
    },
    {
        "id": "be7e208e0c801c59",
        "type": "comment",
        "z": "3fd7d9d5831b7682",
        "g": "22855aff951286e8",
        "name": "comment made on 3/30/2023, 9:59:50 PM",
        "info": "[\"success\",true]",
        "x": 860,
        "y": 360,
        "wires": []
    },
    {
        "id": "1e45800e774dd00b",
        "type": "template",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "function node generator",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "Respond only with valid JSON syntax for a single Node-RED \"function\" node that can be imported into the Node-RED editor. Do not add any additional comments or explanations. The node should contain the following JavaScript code: ```{{{payload}}}```",
        "output": "str",
        "x": 450,
        "y": 400,
        "wires": [
            [
                "949469fbfcf72750"
            ]
        ]
    },
    {
        "id": "5fa384194f3bdb6d",
        "type": "inject",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "function",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "msg.payload = { \"result\": { \"success\": true }};msg.topic = \"Auto\";return msg;",
        "payloadType": "str",
        "x": 110,
        "y": 400,
        "wires": [
            [
                "1e45800e774dd00b"
            ]
        ]
    },
    {
        "id": "127dbf6b6db7ada8",
        "type": "function",
        "z": "3fd7d9d5831b7682",
        "g": "22855aff951286e8",
        "name": "",
        "func": "msg.payload = { \"result\": { \"success\": true }};\nmsg.topic = \"Auto\";\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 760,
        "y": 400,
        "wires": [
            []
        ]
    },
    {
        "id": "171c332682955427",
        "type": "template",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "change node generator",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "Respond only with valid JSON syntax for a single Node-RED \"change\" node that can be imported into the Node-RED editor. Do not add any comments or explanations. The node should be configured based on the following rules: ```{{{payload}}}```",
        "output": "str",
        "x": 450,
        "y": 640,
        "wires": [
            [
                "949469fbfcf72750"
            ]
        ]
    },
    {
        "id": "a9d3624877d8e3b9",
        "type": "inject",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "change",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "set msg.element to \"fire\", set msg.topic to \"turbo\", move msg.payload to msg.saved",
        "payloadType": "str",
        "x": 110,
        "y": 640,
        "wires": [
            [
                "171c332682955427"
            ]
        ]
    },
    {
        "id": "7b1923ed394e7f6a",
        "type": "change",
        "z": "3fd7d9d5831b7682",
        "g": "22855aff951286e8",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "element",
                "pt": "msg",
                "to": "fire",
                "tot": "str"
            },
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "turbo",
                "tot": "str"
            },
            {
                "t": "move",
                "p": "payload",
                "pt": "msg",
                "to": "saved",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 780,
        "y": 640,
        "wires": [
            []
        ]
    },
    {
        "id": "340a742cc6423377",
        "type": "template",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "range node generator",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "Respond only with valid JSON syntax for a single Node-RED \"range\" node that can be imported into the Node-RED editor. Do not add any comments or explanations. The node should be configured to map the input range {{{input}}} to the output range of {{{output}}}, round: {{{round}}}",
        "output": "str",
        "x": 460,
        "y": 680,
        "wires": [
            [
                "949469fbfcf72750"
            ]
        ]
    },
    {
        "id": "0412e5ed23135e45",
        "type": "inject",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "range",
        "props": [
            {
                "p": "input",
                "v": "0-20",
                "vt": "str"
            },
            {
                "p": "output",
                "v": "0-100",
                "vt": "str"
            },
            {
                "p": "round",
                "v": "true",
                "vt": "bool"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "x": 110,
        "y": 680,
        "wires": [
            [
                "340a742cc6423377"
            ]
        ]
    },
    {
        "id": "40c90963b3b03ab7",
        "type": "range",
        "z": "3fd7d9d5831b7682",
        "g": "22855aff951286e8",
        "minin": "0",
        "maxin": "20",
        "minout": "0",
        "maxout": "100",
        "action": "scale",
        "round": true,
        "property": "payload",
        "name": "",
        "x": 760,
        "y": 680,
        "wires": [
            []
        ]
    },
    {
        "id": "8a4b91b9acc48071",
        "type": "template",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "template node generator",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "Respond only with valid JSON syntax for a single Node-RED \"template\" node that can be imported into the Node-RED editor. Do not add any comments or explanations. The node should be configured to format: {{format}}, output as {{output}}, with the payload: {{{payload}}}",
        "output": "str",
        "x": 450,
        "y": 720,
        "wires": [
            [
                "949469fbfcf72750"
            ]
        ]
    },
    {
        "id": "e2f27f4f97bb4683",
        "type": "inject",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "template",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "format",
                "v": "Mustache template",
                "vt": "str"
            },
            {
                "p": "output",
                "v": "plain text",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "Node {{name}} created successfully",
        "payloadType": "str",
        "x": 120,
        "y": 720,
        "wires": [
            [
                "8a4b91b9acc48071"
            ]
        ]
    },
    {
        "id": "41fc6e6c55b22d15",
        "type": "template",
        "z": "3fd7d9d5831b7682",
        "g": "22855aff951286e8",
        "name": "Success Message",
        "field": "payload",
        "fieldType": "msg",
        "format": "mustache",
        "syntax": "plain",
        "template": "Node {{name}} created successfully",
        "x": 790,
        "y": 720,
        "wires": [
            []
        ]
    },
    {
        "id": "a19628a95e7bba2e",
        "type": "debug",
        "z": "3fd7d9d5831b7682",
        "g": "c8e37a3d9111f98a",
        "name": "debug clipboard",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 1220,
        "y": 100,
        "wires": []
    },
    {
        "id": "3af9a4ecd33dbe63",
        "type": "debug",
        "z": "3fd7d9d5831b7682",
        "g": "c8e37a3d9111f98a",
        "name": "debug import",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 1210,
        "y": 180,
        "wires": []
    },
    {
        "id": "5bb12c197c742e48",
        "type": "switch",
        "z": "3fd7d9d5831b7682",
        "g": "c8e37a3d9111f98a",
        "name": "gate",
        "property": "gate",
        "propertyType": "flow",
        "rules": [
            {
                "t": "true"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 1030,
        "y": 140,
        "wires": [
            [
                "bf9933a02c587876"
            ]
        ]
    },
    {
        "id": "4d271e7267c69360",
        "type": "change",
        "z": "3fd7d9d5831b7682",
        "g": "c8e37a3d9111f98a",
        "name": "close gates",
        "rules": [
            {
                "t": "set",
                "p": "gate",
                "pt": "flow",
                "to": "false",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1010,
        "y": 60,
        "wires": [
            [
                "b79eca37abc5fc99"
            ]
        ]
    },
    {
        "id": "b79eca37abc5fc99",
        "type": "debug",
        "z": "3fd7d9d5831b7682",
        "g": "c8e37a3d9111f98a",
        "name": "debug errors",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 1210,
        "y": 60,
        "wires": []
    },
    {
        "id": "bf9933a02c587876",
        "type": "function",
        "z": "3fd7d9d5831b7682",
        "g": "c8e37a3d9111f98a",
        "name": "auto-import-from-clipboard",
        "func": "switch (os.platform()){\n    case \"win32\":\n    return {\n        payload: `cmd.exe /c echo set WshShell = WScript.CreateObject(\"WScript.Shell\") > %temp%\\\\temp.vbs && echo WshShell.SendKeys \"^i\" >> %temp%\\\\temp.vbs && echo WScript.Sleep 250 >> %temp%\\\\temp.vbs && echo WshShell.SendKeys \"^v\" >> %temp%\\\\temp.vbs && echo WScript.Sleep 250 >> %temp%\\\\temp.vbs && echo WshShell.SendKeys \"{TAB}{TAB}{TAB}{TAB}{ENTER}\" >> %temp%\\\\temp.vbs && cscript //nologo %temp%\\\\temp.vbs && del %temp%\\\\temp.vbs`\n    };\n    case \"darwin\":\n    return {\n        payload: `osascript -e 'tell application \"System Events\" to keystroke \"i\" using {command down}' -e 'delay 0.25' -e 'tell application \"System Events\" to keystroke \"v\" using {command down}' -e 'delay 0.25' -e 'tell application \"System Events\" to keystroke tab' -e 'delay 0.25' -e 'tell application \"System Events\" to keystroke tab' -e 'delay 0.25' -e 'tell application \"System Events\" to keystroke tab' -e 'delay 0.25' -e 'tell application \"System Events\" to keystroke tab' -e 'delay 0.25' -e 'tell application \"System Events\" to keystroke return'`\n    };\n    default:\n        throw new Error(`unsupported platform ${os.platform()}. Consider porting with gpt and submitting a PR!`)   \n}",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [
            {
                "var": "os",
                "module": "os"
            }
        ],
        "x": 960,
        "y": 180,
        "wires": [
            [
                "3af9a4ecd33dbe63",
                "dd94b3a222b6b0e8"
            ]
        ]
    },
    {
        "id": "dd94b3a222b6b0e8",
        "type": "exec",
        "z": "3fd7d9d5831b7682",
        "g": "c8e37a3d9111f98a",
        "command": "",
        "addpay": "payload",
        "append": "",
        "useSpawn": "false",
        "timer": "",
        "winHide": false,
        "oldrc": false,
        "name": "",
        "x": 1250,
        "y": 140,
        "wires": [
            [
                "c76174fde7299813"
            ],
            [
                "4b47a2580b7dbb19"
            ],
            [
                "771075e9ec4a6a87"
            ]
        ]
    },
    {
        "id": "15be7bea90f95a9c",
        "type": "function",
        "z": "3fd7d9d5831b7682",
        "g": "c8e37a3d9111f98a",
        "name": "ctrl-c",
        "func": "let clipboard = msg.payload;\n\nswitch (os.platform()) {\n    case \"win32\":\n        return {\n            payload: `echo ${clipboard} | clip`\n        };\n    case \"darwin\":\n        return {\n            payload: `echo '${clipboard}' | pbcopy`\n        };\n    default:\n        throw new Error(`unsupported platform ${os.platform()}. Consider porting with gpt and submitting a PR!`)\n}",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [
            {
                "var": "os",
                "module": "os"
            }
        ],
        "x": 1030,
        "y": 100,
        "wires": [
            [
                "a19628a95e7bba2e",
                "dd94b3a222b6b0e8",
                "cccf2076d83038fb"
            ]
        ]
    },
    {
        "id": "4b47a2580b7dbb19",
        "type": "debug",
        "z": "3fd7d9d5831b7682",
        "g": "c8e37a3d9111f98a",
        "name": "stderr",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 1410,
        "y": 140,
        "wires": []
    },
    {
        "id": "c76174fde7299813",
        "type": "debug",
        "z": "3fd7d9d5831b7682",
        "g": "c8e37a3d9111f98a",
        "name": "stdout",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 1410,
        "y": 100,
        "wires": []
    },
    {
        "id": "771075e9ec4a6a87",
        "type": "debug",
        "z": "3fd7d9d5831b7682",
        "g": "c8e37a3d9111f98a",
        "name": "return code",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 1430,
        "y": 180,
        "wires": []
    },
    {
        "id": "04a9124c208fd84d",
        "type": "function",
        "z": "3fd7d9d5831b7682",
        "g": "c8e37a3d9111f98a",
        "name": "response sanitizer and formatter",
        "func": "msg.payload = msg.payload.trim();\n\nif (msg.payload.startsWith(\"```\") === true) {\n    msg.payload = msg.payload.replace(/```/g, \"\").trim();\n}\n\nif (msg.payload.startsWith(\"json\") === true) {\n    msg.payload = msg.payload.replace(\"json\", \"\").trim();\n}\n\nif (msg.payload.endsWith(\"```\") === true) {\n    msg.payload = msg.payload.replace(/```/g, \"\").trim();\n}\n\nif (msg.payload.startsWith(\"[\") === false) {\n    msg.payload = `[${msg.payload}`;\n}\n\nif (msg.payload.endsWith(\"]\") === false) {\n    msg.payload = `${msg.payload}]`;\n}\nmsg.payload = msg.payload.replace(/[\\n]/g, '');\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 830,
        "y": 100,
        "wires": [
            [
                "15be7bea90f95a9c"
            ]
        ]
    },
    {
        "id": "0edc6e7bb2ccad3f",
        "type": "catch",
        "z": "3fd7d9d5831b7682",
        "g": "c8e37a3d9111f98a",
        "name": "",
        "scope": [
            "4bf10c243e6a6319",
            "dd94b3a222b6b0e8",
            "15be7bea90f95a9c",
            "bf9933a02c587876"
        ],
        "uncaught": false,
        "x": 750,
        "y": 60,
        "wires": [
            [
                "4d271e7267c69360"
            ]
        ]
    },
    {
        "id": "cccf2076d83038fb",
        "type": "delay",
        "z": "3fd7d9d5831b7682",
        "g": "c8e37a3d9111f98a",
        "name": "",
        "pauseType": "delay",
        "timeout": "500",
        "timeoutUnits": "milliseconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "allowrate": false,
        "outputs": 1,
        "x": 890,
        "y": 140,
        "wires": [
            [
                "5bb12c197c742e48"
            ]
        ]
    },
    {
        "id": "b775e23209198fad",
        "type": "chatgpt",
        "z": "3fd7d9d5831b7682",
        "name": "",
        "API_KEY": "",
        "Organization": "",
        "topic": "turbo",
        "BaseUrl": "https://api.openai.com",
        "x": 360,
        "y": 100,
        "wires": [
            [
                "590312af5ccdc305"
            ]
        ]
    },
    {
        "id": "9e12fe8c808b34d0",
        "type": "string",
        "z": "3fd7d9d5831b7682",
        "g": "0f5454cfef59c42d",
        "name": "sanitize",
        "methods": [
            {
                "name": "replaceAll",
                "params": [
                    {
                        "type": "str",
                        "value": "otherwise"
                    },
                    {
                        "type": "str",
                        "value": "else"
                    }
                ]
            }
        ],
        "prop": "payload",
        "propout": "payload",
        "object": "msg",
        "objectout": "msg",
        "x": 280,
        "y": 500,
        "wires": [
            [
                "3255e27c1d746456"
            ]
        ]
    }
]