{
  "version": "0.3.13",
  "commands": {
    "microvisor:about": {
      "id": "microvisor:about",
      "description": "About Microvisor...",
      "strict": true,
      "pluginName": "@twilio/plugin-microvisor",
      "pluginAlias": "@twilio/plugin-microvisor",
      "pluginType": "core",
      "aliases": [],
      "flags": {
        "cli-log-level": {
          "name": "cli-log-level",
          "type": "option",
          "char": "l",
          "description": "Level of logging messages.",
          "helpLabel": "-l",
          "helpValue": "(debug|info|warn|error|none)",
          "multiple": false,
          "options": [
            "debug",
            "info",
            "warn",
            "error",
            "none"
          ],
          "default": "info"
        }
      },
      "args": {}
    },
    "microvisor:debug": {
      "id": "microvisor:debug",
      "strict": true,
      "pluginName": "@twilio/plugin-microvisor",
      "pluginAlias": "@twilio/plugin-microvisor",
      "pluginType": "core",
      "aliases": [],
      "flags": {
        "cli-log-level": {
          "name": "cli-log-level",
          "type": "option",
          "char": "l",
          "description": "Level of logging messages.",
          "helpLabel": "-l",
          "helpValue": "(debug|info|warn|error|none)",
          "multiple": false,
          "options": [
            "debug",
            "info",
            "warn",
            "error",
            "none"
          ],
          "default": "info"
        },
        "profile": {
          "name": "profile",
          "type": "option",
          "char": "p",
          "description": "Shorthand identifier for your profile.",
          "multiple": false
        },
        "listen-port": {
          "name": "listen-port",
          "type": "option",
          "description": "The port on which the debug tunnel should listen",
          "multiple": false,
          "default": 8001
        },
        "microvisor-debug-url": {
          "name": "microvisor-debug-url",
          "type": "option",
          "description": "First part of the url for the microvisor-debug endpoint",
          "hidden": true,
          "multiple": false,
          "default": "wss://microvisor-debug.us1.twilio.com"
        },
        "microvisor-api-url": {
          "name": "microvisor-api-url",
          "type": "option",
          "description": "First part of the url for microvisor api",
          "hidden": true,
          "multiple": false,
          "default": "https://microvisor.twilio.com/"
        },
        "microvisor-api-token-url": {
          "name": "microvisor-api-token-url",
          "type": "option",
          "description": "Full url to request an auth token",
          "hidden": true,
          "multiple": false
        }
      },
      "args": {
        "deviceSid": {
          "name": "deviceSid",
          "description": "The Sid of the device you wish to debug",
          "required": true
        },
        "debugKey": {
          "name": "debugKey",
          "description": "Filename containing debug authentication private key",
          "required": true
        }
      }
    },
    "microvisor:deploy": {
      "id": "microvisor:deploy",
      "description": "Build and/or deploy a Microvisor application using the standard Microvisor CMake-based workflow",
      "strict": true,
      "pluginName": "@twilio/plugin-microvisor",
      "pluginAlias": "@twilio/plugin-microvisor",
      "pluginType": "core",
      "aliases": [],
      "flags": {
        "cli-log-level": {
          "name": "cli-log-level",
          "type": "option",
          "char": "l",
          "description": "Level of logging messages.",
          "helpLabel": "-l",
          "helpValue": "(debug|info|warn|error|none)",
          "multiple": false,
          "options": [
            "debug",
            "info",
            "warn",
            "error",
            "none"
          ],
          "default": "info"
        },
        "privatekey": {
          "name": "privatekey",
          "type": "option",
          "description": "Path to your private key",
          "multiple": false,
          "default": "NONE"
        },
        "publickey": {
          "name": "publickey",
          "type": "option",
          "description": "Path to your public key",
          "multiple": false,
          "default": "NONE"
        },
        "devicesid": {
          "name": "devicesid",
          "type": "option",
          "description": "The SID of the device to which you will upload the build",
          "multiple": false,
          "default": "NONE"
        },
        "clean": {
          "name": "clean",
          "type": "boolean",
          "char": "c",
          "description": "Clean the build folder first",
          "allowNo": false
        },
        "build": {
          "name": "build",
          "type": "boolean",
          "char": "b",
          "description": "Build without deploying",
          "allowNo": false
        },
        "deploy": {
          "name": "deploy",
          "type": "boolean",
          "char": "d",
          "description": "Deploy the most recent build without rebuilding",
          "allowNo": false
        },
        "log": {
          "name": "log",
          "type": "boolean",
          "description": "Start logging after a deploy and/or build",
          "allowNo": false
        },
        "logonly": {
          "name": "logonly",
          "type": "boolean",
          "description": "Start logging immediately without building or deploying",
          "allowNo": false
        },
        "genkeys": {
          "name": "genkeys",
          "type": "boolean",
          "description": "Generate remote debugging keys",
          "allowNo": false
        },
        "development-keying": {
          "name": "development-keying",
          "type": "boolean",
          "hidden": true,
          "allowNo": false
        }
      },
      "args": {
        "projectPath": {
          "name": "projectPath",
          "description": "The path to the project directory",
          "required": true
        }
      }
    },
    "microvisor:apps:bundle": {
      "id": "microvisor:apps:bundle",
      "description": "Manage app bundles",
      "strict": true,
      "pluginName": "@twilio/plugin-microvisor",
      "pluginAlias": "@twilio/plugin-microvisor",
      "pluginType": "core",
      "aliases": [],
      "flags": {
        "cli-log-level": {
          "name": "cli-log-level",
          "type": "option",
          "char": "l",
          "description": "Level of logging messages.",
          "helpLabel": "-l",
          "helpValue": "(debug|info|warn|error|none)",
          "multiple": false,
          "options": [
            "debug",
            "info",
            "warn",
            "error",
            "none"
          ],
          "default": "info"
        },
        "debug-auth-pubkey": {
          "name": "debug-auth-pubkey",
          "type": "option",
          "char": "k",
          "description": "Public key to be used for authentication while debugging",
          "required": false,
          "multiple": false
        },
        "connection-grace-time": {
          "name": "connection-grace-time",
          "type": "option",
          "description": "Connection grace time (in seconds) for the Device running this bundle as an App.",
          "multiple": false,
          "default": 0
        },
        "minimum-check-in-time": {
          "name": "minimum-check-in-time",
          "type": "option",
          "description": "Time (in seconds) after which the Device running this bundle autonomously reconnects to check for updates.",
          "multiple": false,
          "default": 0
        },
        "development-keying": {
          "name": "development-keying",
          "type": "boolean",
          "description": "Use development keying for application encryption.",
          "hidden": true,
          "allowNo": false
        }
      },
      "args": {
        "rom-file": {
          "name": "rom-file",
          "description": "Input ROM file.",
          "required": true
        },
        "out": {
          "name": "out",
          "description": "Output file for bundle zip.",
          "required": true
        }
      }
    },
    "microvisor:apps:create": {
      "id": "microvisor:apps:create",
      "description": "Create an App on the account",
      "strict": true,
      "pluginName": "@twilio/plugin-microvisor",
      "pluginAlias": "@twilio/plugin-microvisor",
      "pluginType": "core",
      "aliases": [],
      "flags": {
        "cli-log-level": {
          "name": "cli-log-level",
          "type": "option",
          "char": "l",
          "description": "Level of logging messages.",
          "helpLabel": "-l",
          "helpValue": "(debug|info|warn|error|none)",
          "multiple": false,
          "options": [
            "debug",
            "info",
            "warn",
            "error",
            "none"
          ],
          "default": "info"
        },
        "cli-output-format": {
          "name": "cli-output-format",
          "type": "option",
          "char": "o",
          "description": "Format of command output.",
          "helpLabel": "-o",
          "helpValue": "(columns|json|tsv|none)",
          "multiple": false,
          "options": [
            "columns",
            "json",
            "tsv",
            "none"
          ],
          "default": "columns"
        },
        "silent": {
          "name": "silent",
          "type": "boolean",
          "description": "Suppress  output and logs. This is a shorthand for \"-l none -o none\".",
          "allowNo": false
        },
        "profile": {
          "name": "profile",
          "type": "option",
          "char": "p",
          "description": "Shorthand identifier for your profile.",
          "multiple": false
        },
        "properties": {
          "name": "properties",
          "type": "option",
          "description": "The app properties you would like to display (JSON output always shows all properties).",
          "multiple": false,
          "default": "sid, unique_name, hash"
        },
        "microvisor-upload-url": {
          "name": "microvisor-upload-url",
          "type": "option",
          "description": "First part of the url for microvisor api uploads",
          "hidden": true,
          "multiple": false,
          "default": "https://microvisor-upload.twilio.com/"
        },
        "microvisor-request-url": {
          "name": "microvisor-request-url",
          "type": "option",
          "description": "First part of the url of general microvisor api",
          "hidden": true,
          "multiple": false,
          "default": "https://microvisor.twilio.com/"
        },
        "bundle-out": {
          "name": "bundle-out",
          "type": "option",
          "char": "b",
          "description": "Path to store the signed bundle to",
          "required": false,
          "multiple": false
        }
      },
      "args": {
        "File": {
          "name": "File",
          "description": "The App Bundle file",
          "required": true
        },
        "UniqueName": {
          "name": "UniqueName",
          "description": "Unique name for the App",
          "required": false
        }
      }
    },
    "microvisor:debug:generate_keypair": {
      "id": "microvisor:debug:generate_keypair",
      "strict": true,
      "pluginName": "@twilio/plugin-microvisor",
      "pluginAlias": "@twilio/plugin-microvisor",
      "pluginType": "core",
      "aliases": [],
      "flags": {
        "cli-log-level": {
          "name": "cli-log-level",
          "type": "option",
          "char": "l",
          "description": "Level of logging messages.",
          "helpLabel": "-l",
          "helpValue": "(debug|info|warn|error|none)",
          "multiple": false,
          "options": [
            "debug",
            "info",
            "warn",
            "error",
            "none"
          ],
          "default": "info"
        },
        "profile": {
          "name": "profile",
          "type": "option",
          "char": "p",
          "description": "Shorthand identifier for your profile.",
          "multiple": false
        },
        "debug-auth-privkey": {
          "name": "debug-auth-privkey",
          "type": "option",
          "description": "Private key output filename",
          "multiple": false,
          "default": "debug-private-key.pem"
        },
        "debug-auth-pubkey": {
          "name": "debug-auth-pubkey",
          "type": "option",
          "description": "Public key output filename",
          "multiple": false,
          "default": "debug-public-key.pem"
        },
        "force": {
          "name": "force",
          "type": "boolean",
          "char": "f",
          "allowNo": false
        }
      },
      "args": {}
    },
    "microvisor:factory:image": {
      "id": "microvisor:factory:image",
      "description": "Create SPI flash image for Microvisor factory process",
      "strict": true,
      "pluginName": "@twilio/plugin-microvisor",
      "pluginAlias": "@twilio/plugin-microvisor",
      "pluginType": "core",
      "aliases": [],
      "flags": {
        "cli-log-level": {
          "name": "cli-log-level",
          "type": "option",
          "char": "l",
          "description": "Level of logging messages.",
          "helpLabel": "-l",
          "helpValue": "(debug|info|warn|error|none)",
          "multiple": false,
          "options": [
            "debug",
            "info",
            "warn",
            "error",
            "none"
          ],
          "default": "info"
        },
        "purpose": {
          "name": "purpose",
          "type": "option",
          "description": "What the image is for: factory process, application sideloading, kernel sideloading or a custom image",
          "multiple": false,
          "options": [
            "factory",
            "application",
            "kernel",
            "custom"
          ],
          "default": "factory"
        },
        "application": {
          "name": "application",
          "type": "option",
          "description": "Path to application bundle",
          "required": false,
          "multiple": false
        },
        "application-test": {
          "name": "application-test",
          "type": "option",
          "description": "Path to test application bundle.",
          "required": false,
          "multiple": false
        },
        "microvisor-test": {
          "name": "microvisor-test",
          "type": "option",
          "description": "Path to microvisor test bundle.",
          "required": false,
          "multiple": false
        },
        "microvisor": {
          "name": "microvisor",
          "type": "option",
          "description": "Path to microvisor kernel bundle.",
          "required": false,
          "multiple": false
        },
        "file-system-size": {
          "name": "file-system-size",
          "type": "option",
          "description": "Size of the file system to create",
          "hidden": true,
          "multiple": false,
          "default": 6291456
        }
      },
      "args": {
        "out": {
          "name": "out",
          "description": "Output file for file system image.",
          "required": true
        }
      }
    },
    "microvisor:info:sid": {
      "id": "microvisor:info:sid",
      "description": "Get a device's SID",
      "strict": true,
      "pluginName": "@twilio/plugin-microvisor",
      "pluginAlias": "@twilio/plugin-microvisor",
      "pluginType": "core",
      "aliases": [],
      "flags": {
        "cli-log-level": {
          "name": "cli-log-level",
          "type": "option",
          "char": "l",
          "description": "Level of logging messages.",
          "helpLabel": "-l",
          "helpValue": "(debug|info|warn|error|none)",
          "multiple": false,
          "options": [
            "debug",
            "info",
            "warn",
            "error",
            "none"
          ],
          "default": "info"
        }
      },
      "args": {
        "devicePath": {
          "name": "devicePath",
          "description": "The path to the device file or COM port",
          "required": true
        }
      }
    },
    "microvisor:info:version": {
      "id": "microvisor:info:version",
      "description": "Get a device's Microvisor version",
      "strict": true,
      "pluginName": "@twilio/plugin-microvisor",
      "pluginAlias": "@twilio/plugin-microvisor",
      "pluginType": "core",
      "aliases": [],
      "flags": {
        "cli-log-level": {
          "name": "cli-log-level",
          "type": "option",
          "char": "l",
          "description": "Level of logging messages.",
          "helpLabel": "-l",
          "helpValue": "(debug|info|warn|error|none)",
          "multiple": false,
          "options": [
            "debug",
            "info",
            "warn",
            "error",
            "none"
          ],
          "default": "info"
        }
      },
      "args": {
        "devicePath": {
          "name": "devicePath",
          "description": "The path to the device file or COM port",
          "required": true
        }
      }
    },
    "microvisor:logs:stream": {
      "id": "microvisor:logs:stream",
      "strict": true,
      "pluginName": "@twilio/plugin-microvisor",
      "pluginAlias": "@twilio/plugin-microvisor",
      "pluginType": "core",
      "aliases": [],
      "flags": {
        "cli-log-level": {
          "name": "cli-log-level",
          "type": "option",
          "char": "l",
          "description": "Level of logging messages.",
          "helpLabel": "-l",
          "helpValue": "(debug|info|warn|error|none)",
          "multiple": false,
          "options": [
            "debug",
            "info",
            "warn",
            "error",
            "none"
          ],
          "default": "info"
        },
        "profile": {
          "name": "profile",
          "type": "option",
          "char": "p",
          "description": "Shorthand identifier for your profile.",
          "multiple": false
        },
        "cli-output-format": {
          "name": "cli-output-format",
          "type": "option",
          "char": "o",
          "description": "Format of command output.",
          "helpLabel": "-o",
          "multiple": false,
          "options": [
            "json",
            "text"
          ],
          "default": "text"
        },
        "microvisor-debug-url": {
          "name": "microvisor-debug-url",
          "type": "option",
          "description": "First part of the url for the microvisor-debug endpoint",
          "hidden": true,
          "multiple": false,
          "default": "wss://microvisor-debug.us1.twilio.com"
        },
        "microvisor-api-url": {
          "name": "microvisor-api-url",
          "type": "option",
          "description": "First part of the url for microvisor api",
          "hidden": true,
          "multiple": false,
          "default": "https://microvisor.twilio.com/"
        }
      },
      "args": {
        "deviceSid": {
          "name": "deviceSid",
          "description": "The Sid of the device you wish to stream logging from",
          "required": true
        }
      }
    },
    "microvisor:wificonfig:clear": {
      "id": "microvisor:wificonfig:clear",
      "description": "Clear a Microvisor device's WiFi credentials, if set",
      "strict": true,
      "pluginName": "@twilio/plugin-microvisor",
      "pluginAlias": "@twilio/plugin-microvisor",
      "pluginType": "core",
      "aliases": [],
      "flags": {
        "cli-log-level": {
          "name": "cli-log-level",
          "type": "option",
          "char": "l",
          "description": "Level of logging messages.",
          "helpLabel": "-l",
          "helpValue": "(debug|info|warn|error|none)",
          "multiple": false,
          "options": [
            "debug",
            "info",
            "warn",
            "error",
            "none"
          ],
          "default": "info"
        }
      },
      "args": {
        "devicePath": {
          "name": "devicePath",
          "description": "The path to the device file or COM port",
          "required": true
        }
      }
    },
    "microvisor:wificonfig:get": {
      "id": "microvisor:wificonfig:get",
      "description": "Get a Microvisor device's WiFi credentials, if set",
      "strict": true,
      "pluginName": "@twilio/plugin-microvisor",
      "pluginAlias": "@twilio/plugin-microvisor",
      "pluginType": "core",
      "aliases": [],
      "flags": {
        "cli-log-level": {
          "name": "cli-log-level",
          "type": "option",
          "char": "l",
          "description": "Level of logging messages.",
          "helpLabel": "-l",
          "helpValue": "(debug|info|warn|error|none)",
          "multiple": false,
          "options": [
            "debug",
            "info",
            "warn",
            "error",
            "none"
          ],
          "default": "info"
        }
      },
      "args": {
        "devicePath": {
          "name": "devicePath",
          "description": "The path to the device file or COM port",
          "required": true
        }
      }
    },
    "microvisor:wificonfig:ports": {
      "id": "microvisor:wificonfig:ports",
      "description": "List possible connected Microvisor devices' Unix paths",
      "strict": true,
      "pluginName": "@twilio/plugin-microvisor",
      "pluginAlias": "@twilio/plugin-microvisor",
      "pluginType": "core",
      "aliases": [],
      "flags": {
        "cli-log-level": {
          "name": "cli-log-level",
          "type": "option",
          "char": "l",
          "description": "Level of logging messages.",
          "helpLabel": "-l",
          "helpValue": "(debug|info|warn|error|none)",
          "multiple": false,
          "options": [
            "debug",
            "info",
            "warn",
            "error",
            "none"
          ],
          "default": "info"
        }
      },
      "args": {}
    },
    "microvisor:wificonfig:set": {
      "id": "microvisor:wificonfig:set",
      "description": "Set a Microvisor device's WiFi credentials",
      "strict": true,
      "pluginName": "@twilio/plugin-microvisor",
      "pluginAlias": "@twilio/plugin-microvisor",
      "pluginType": "core",
      "aliases": [],
      "flags": {
        "cli-log-level": {
          "name": "cli-log-level",
          "type": "option",
          "char": "l",
          "description": "Level of logging messages.",
          "helpLabel": "-l",
          "helpValue": "(debug|info|warn|error|none)",
          "multiple": false,
          "options": [
            "debug",
            "info",
            "warn",
            "error",
            "none"
          ],
          "default": "info"
        }
      },
      "args": {
        "wifissid": {
          "name": "wifissid",
          "description": "The WiFi network name",
          "required": true
        },
        "wifipwd": {
          "name": "wifipwd",
          "description": "The WiFI password",
          "required": true
        },
        "devicePath": {
          "name": "devicePath",
          "description": "The path to the device file or COM port",
          "required": true
        }
      }
    }
  }
}