query Plugins {
  plugins {
    id
    name
    enabled
    description
    url
    version

    tasks {
      name
      description
    }

    hooks {
      name
      description
      hooks
    }

    settings {
      name
      display_name
      description
      type
    }

    requires

    paths {
      css
      javascript
    }
  }
}

query PluginTasks {
  pluginTasks {
    name
    description
    plugin {
      id
      name
      enabled
    }
  }
}

query InstalledPluginPackages {
  installedPackages(type: Plugin) {
    ...PackageData
  }
}

query InstalledPluginPackagesStatus {
  installedPackages(type: Plugin) {
    ...PackageData
    source_package {
      ...PackageData
    }
  }
}

query AvailablePluginPackages($source: String!) {
  availablePackages(source: $source, type: Plugin) {
    ...PackageData
    requires {
      package_id
    }
  }
}
