{
    "magicString": "uC/Flo01",
    "commandSize": 8,
    "commands": {
        "ClearNodes": {"id": 10},
        "CreateComponent": {"id": 11},
        "ConnectNodes": {"id": 12},
        "SendPacket": {"id": 13},
        "End": {"id": 14},
        "ConfigureDebug": {"id": 15},
        "SubscribeToPort": {"id": 16},
        "ConnectSubgraphPort": {"id": 17},
        "Ping": {"id": 18},
        "CommunicationOpen": {"id": 19, "type": "response"},
        "StartNetwork": {"id": 20},
        "SetIoValue": {"id": 21},
        "StopNetwork": {"id": 22},
        "DisconnectNodes": {"id": 23},
        "RemoveNode": {"id": 24},
        "GetNetworkStatus": {"id": 25},

        "NetworkStopped": {"id": 100},
        "NodeAdded": {"id": 101},
        "NodesConnected": {"id": 102},
        "PacketSent": {"id": 103},
        "NetworkStarted": {"id": 104},
        "DebugChanged": {"id": 105},
        "DebugMessage": {"id": 106},
        "PortSubscriptionChanged": {"id": 107},
        "SubgraphPortConnected": {"id": 108},
        "Pong": {"id": 109},

        "TransmissionEnded": {"id": 111},
        "SetIoValueCompleted":  {"id": 112},
        "IoValueChanged":  {"id": 113},
        "SendPacketDone":  {"id": 114},
        "NodesCleared": {"id": 115},
        "NodesDisconnected": {"id": 116},
        "NodeRemoved": {"id": 117},
        "NetworkStatus": {"id": 118},

        "Invalid": { },
        "Max": { "id": 255 }
    },
    "packetTypes": {
        "Invalid": { "id": 0 },
        "_Setup_Removed": { "id": 1 },
        "Tick": { "id": 2 },

        "Void": { "id": 3,
            "description": "No data payload, can be used like a 'bang' in other flow-based systems" },
        "Byte": { "id": 4 },
        "Boolean": { "id": 6 },
        "Integer": { "id": 7 },
        "Float": { "id": 8 },
        "BracketStart": { "id": 9 },
        "BracketEnd": { "id": 10 },
        "Error": { "id": 11 },

        "PointerFirst": { "id": 12 },
        "PointerMax": { "id": 100 },

        "MaxDefined": { },
        "Max": { "id": 255 }
    },
    "debugPoints": {
        "Invalid": { "id": 0 },

        "ProgramStart": {"id":1 },
        "ComponentCreateStart": {"id":2},
        "ComponentCreateEnd": {"id":3},
        "ParserInvalidState": {"id":4},
        "ParserUnknownState": {"id":5},
        "ParseHeader": {"id":6},
        "ParseCommand": {"id":7},
        "ParseByte": {"id":8},
        "ParserUnknownCommand": {"id":9},
        "ParserInvalidCommand": {"id":10},
        "ParserUnknownPacketType": {"id":11},
        "NetworkConnectInvalidNodes": {"id":12},
        "ConnectNodesStart": {"id": 13},
        "ReadByte": {"id": 14},
        "AddNodeInvalidInstance": {"id": 15},
        "ComponentSendInvalidPort": {"id": 16},
        "ParseLookForHeader": {"id":17},
        "MagicMismatch": {"id": 18},
        "NotImplemented": {"id": 19},
        "SubGraphConnectNotASubgraph": {"id": 20},
        "SubGraphConnectInvalidNodes": {"id": 21},
        "SubGraphReceivedNormalMessage": {"id": 22},
        "SendMessageInvalidNode": {"id": 23},
        "AddNodeInvalidParent": {"id": 24},
        "SubscribePortInvalidNode": {"id": 25},
        "IoOperationNotImplemented": {"id": 26},
        "InvalidComponentUsed": {"id": 27},
        "IoFailure": {"id": 28},
        "DeliverMessagesInvalidMessageId": {"id": 29},
        "NotSupported": {"id": 30},
        "MagicMatched": {"id": 31},
        "EndOfTransmission": {"id": 32},
        "IoInvalidValueSet": {"id": 33},
        "UnknownIoType": {"id": 34},
        "SubscribePortInvalidPort": {"id": 35},
        "RemoveNodeInvalidInstance": {"id": 36},
        "RemoveNodeInvalidParent": {"id": 37},

        "User1": {"id": 100},
        "User2": {"id": 101},
        "User3": {"id": 102},
        "User4": {"id": 103},
        "User5": {"id": 104},
        "User6": {"id": 105},

        "Max": { "id": 255 }
    },
    "debugLevels": {
        "Invalid": {"id": 0},

        "Error": {"id": 1},
        "Info": {"id": 2},
        "Detailed": {"id": 3},
        "VeryDetailed": {"id": 4},

        "Max": {"id": 255}
    },
    "ioTypes": {
        "Invalid": {"id": 0},

        "Analog": {"id": 1},
        "Digital": {"id": 2},
        "TimeMs": {"id": 3},
        "PinMode": {"id": 4},

        "Max": {"id": 255}
    },
    "errors": {
        "Other": { "id": 0, "description": "An unspecified error occurred" },
        "ComponentBug": { "id": 1, "description": "Component caused a bug", "kind": "component-error" },
        "UnsupportedType": { "id": 2, "description": "Type is not supported", "kind": "usage-error" },
        "UnsupportedValue": { "id": 3, "description": "Value is not supported", "kind": "usage-error" },
        "InvalidInput": { "id": 4, "description": "The input or combination of inputs is invalid", "kind": "usage-error" },
        "OperationFailed": { "id": 5, "description": "The operation failed", "kind": "external-error" },
        "OperationTimeout": { "id": 6, "description": "The operation timed out", "kind": "external-error" },
        "Unknown": { "id": 7, "description": "An unknown error ocurred" }
    }
}
