{
  "protocol": "install",
  "imports": [
    {
      "path": "common.avdl",
      "type": "idl"
    }
  ],
  "types": [
    {
      "type": "enum",
      "name": "InstallStatus",
      "symbols": [
        "UNKNOWN_0",
        "ERROR_1",
        "NOT_INSTALLED_2",
        "INSTALLED_4"
      ],
      "doc": "Install status describes state of install for a component or service."
    },
    {
      "type": "enum",
      "name": "InstallAction",
      "symbols": [
        "UNKNOWN_0",
        "NONE_1",
        "UPGRADE_2",
        "REINSTALL_3",
        "INSTALL_4"
      ]
    },
    {
      "type": "record",
      "name": "ServiceStatus",
      "fields": [
        {
          "type": "string",
          "name": "version"
        },
        {
          "type": "string",
          "name": "label"
        },
        {
          "type": "string",
          "name": "pid"
        },
        {
          "type": "string",
          "name": "lastExitStatus"
        },
        {
          "type": "string",
          "name": "bundleVersion"
        },
        {
          "type": "InstallStatus",
          "name": "installStatus"
        },
        {
          "type": "InstallAction",
          "name": "installAction"
        },
        {
          "type": "Status",
          "name": "status"
        }
      ]
    },
    {
      "type": "record",
      "name": "ServicesStatus",
      "fields": [
        {
          "type": {
            "type": "array",
            "items": "ServiceStatus"
          },
          "name": "service"
        },
        {
          "type": {
            "type": "array",
            "items": "ServiceStatus"
          },
          "name": "kbfs"
        },
        {
          "type": {
            "type": "array",
            "items": "ServiceStatus"
          },
          "name": "updater"
        }
      ]
    },
    {
      "type": "record",
      "name": "FuseMountInfo",
      "fields": [
        {
          "type": "string",
          "name": "path"
        },
        {
          "type": "string",
          "name": "fstype"
        },
        {
          "type": "string",
          "name": "output"
        }
      ]
    },
    {
      "type": "record",
      "name": "FuseStatus",
      "fields": [
        {
          "type": "string",
          "name": "version"
        },
        {
          "type": "string",
          "name": "bundleVersion"
        },
        {
          "type": "string",
          "name": "kextID"
        },
        {
          "type": "string",
          "name": "path"
        },
        {
          "type": "boolean",
          "name": "kextStarted"
        },
        {
          "type": "InstallStatus",
          "name": "installStatus"
        },
        {
          "type": "InstallAction",
          "name": "installAction"
        },
        {
          "type": {
            "type": "array",
            "items": "FuseMountInfo"
          },
          "name": "mountInfos"
        },
        {
          "type": "Status",
          "name": "status"
        }
      ]
    },
    {
      "type": "record",
      "name": "ComponentResult",
      "fields": [
        {
          "type": "string",
          "name": "name"
        },
        {
          "type": "Status",
          "name": "status"
        }
      ]
    },
    {
      "type": "record",
      "name": "InstallResult",
      "fields": [
        {
          "type": {
            "type": "array",
            "items": "ComponentResult"
          },
          "name": "componentResults"
        },
        {
          "type": "Status",
          "name": "status"
        },
        {
          "type": "boolean",
          "name": "fatal"
        }
      ]
    },
    {
      "type": "record",
      "name": "UninstallResult",
      "fields": [
        {
          "type": {
            "type": "array",
            "items": "ComponentResult"
          },
          "name": "componentResults"
        },
        {
          "type": "Status",
          "name": "status"
        }
      ]
    }
  ],
  "messages": {},
  "namespace": "keybase.1"
}